Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2009, 17:07   #1
Gypsy
Пользователь
 
Регистрация: 16.10.2009
Сообщений: 42
По умолчанию Чудеса на виражах! Как такое может быть?

Господа, товарищи, люди в конце концов! Помогите. Или я в конец запарился, или это действительно чудеса.
Вот код. До этого кода значение Paper[l].Name равно 'GZZ9', после кода оно НИЧЕМУ НЕ РАВНО, т.е. ''. Не пойму, как это происходит.

for l:=1 to MaxCountStak do
begin
if Paper[l].Name = s1 then
begin
For i := Cells.Top to Cells.Bottom do
For j := Cells.Left to Cells.Right do
If (Data.Cells[i-Cells.Top, j-Cells.Left] <> '0') and (Data.Cells[i-Cells.Top, j-Cells.Left] <> '0,00') then
a.a[j, i] := Data.Cells[i-Cells.Top, j-Cells.Left];
FormateStakan(a, l);
ShowMessage('Paper.Name='+Paper[l].Name+' s1='+s1);
end;
end;

единственная процедура, которая используется в коде:

procedure FormateStakan(a: TArray; n: integer);
var i, j, k: integer; f: textfile; s: string;
begin
Assignfile(f, 'c:\stakan.txt');
rewrite(f);

i:=1;
while (a.a[2, i] <> '') and (a.a[2, i+1] <> '') do inc(i);
i:=i-1; k:=1;
for j:=i downto (i-(MaxOchered div 2)) do
begin
try
Paper[n].BidCount[k]:=strtoint(a.a[2, j]);
except
ShowMessage('a.a[2,j]='+a.a[2, j]);
end;
try
Paper[n].BidPrice[k]:=strtofloat(a.a[1, j]);
except
ShowMessage('a.a[1,j]='+a.a[1, j]);
end;
try
Paper[n].AskCount[k]:=strtoint(a.a[0, i+1+k]);
except
ShowMessage('a.a[0,i+1+k]='+a.a[0, i+1+k]);
end;
try
Paper[n].AskPrice[k]:=strtofloat(a.a[1, i+1+k]);
except
ShowMessage('a.a[1,i+1+k]='+a.a[1, i+1+k]);
end;

inc(k);
end;

Вот и все!)
Gypsy вне форума Ответить с цитированием
Старый 16.10.2009, 17:53   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Используй пошаговую отладку (F7), после каждого шага наводи мышь на переменные, значение которых хочешь узнать. Там и увидишь, кто её обнуляет.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 16.10.2009, 18:00   #3
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Где и как объявлена переменая Paper?
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 16.10.2009, 18:05   #4
Gypsy
Пользователь
 
Регистрация: 16.10.2009
Сообщений: 42
По умолчанию

Цитата:
Сообщение от Вавел из ГМТУ Посмотреть сообщение
Где и как объявлена переменая Paper?
В текущем модуле после VAR до IMPLEMENTATION.
Gypsy вне форума Ответить с цитированием
Старый 16.10.2009, 18:06   #5
Gypsy
Пользователь
 
Регистрация: 16.10.2009
Сообщений: 42
По умолчанию

Цитата:
Сообщение от Alex Cones Посмотреть сообщение
Используй пошаговую отладку (F7), после каждого шага наводи мышь на переменные, значение которых хочешь узнать. Там и увидишь, кто её обнуляет.
Спасибо, щас попробуем.
Gypsy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Может быть так, что в мамку может попасть вирус и не загружать жесткий диск Berzhan Операционные системы общие вопросы 6 27.07.2009 21:40
Что такое может быть? vasek123 Свободное общение 3 14.04.2009 19:13
Ищем програмиста (PHP может быть) geraz Фриланс 3 10.04.2009 19:38
то такое мастерство в программировании, что такое мастер программист и что он может? Cezar Свободное общение 29 02.06.2007 23:48