не выполняются циклы

Модератор: Модераторы

Ответить
sqrt314
незнакомец
Сообщения: 4
Зарегистрирован: 01.09.2015 09:13:54

не выполняются циклы

Сообщение sqrt314 »

Доброго времени суток, возникла проблема при выполнении кода
while not Dbf1.EOF do
begin
Edit1.text:=Dbf1.FieldByName('GL_ID').AsString;
Dbf1.Next;
end;

цикл не выполняется, пробовал for таже проблема в Edit не попадают значения из таблицы gl_id, если же использовать без цикла то все корректно работает,
подскажите в чем может быть причина и как исправить ?
serg_iv
постоялец
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Сообщение serg_iv »

последнее поле из таблицы будет в едите после выполнения цикла. А оно возможно просто пустое.
sts
энтузиаст
Сообщения: 519
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Сообщение sts »

перед while not Dbf1.EOF do

Dbf1.First стоит?
sqrt314
незнакомец
Сообщения: 4
Зарегистрирован: 01.09.2015 09:13:54

Сообщение sqrt314 »

Да Dbf1/First стоит, точно если подождать то он выведет последнее значение в edit, но как сделать, что бы он визуализировал свои действия ?? т.е. что бы выполнял данное действие, а затем делал dbf1.next, что бы оно отображалось в BDgrid ?
serg_iv
постоялец
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Сообщение serg_iv »

попробуйте Мемо использовать заместо едита

Код: Выделить всё

Memo1.Lines.Add(Dbf1.FieldByName('GL_ID').AsString);

по крайней мере увидите значения
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

sqrt314
Может быть вы имели ввиду:
while not Dbf1.EOF do
begin
Edit1.text:=Edit1.text + Dbf1.FieldByName('GL_ID').AsString;
Dbf1.Next;
end;
serg_iv
постоялец
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Сообщение serg_iv »

alexs писал(а):sqrt314
Может быть вы имели ввиду:
while not Dbf1.EOF do
begin
Edit1.text:=Edit1.text + Dbf1.FieldByName('GL_ID').AsString;
Dbf1.Next;
end;

нет не это. Значений может быть много, удобнее их просмотреть именно в мемо. И да я понимаю, что и мемо может не хватить, надеюсь это не тот случай
sts
энтузиаст
Сообщения: 519
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Сообщение sts »

я понял, автор ожидал что по мере прохода по датасету будут меняться значения в Edit1, а вот хрен, отрисовка не будет проходить, в итоге Edit1 покажет последнее значение.
Application.ProcessMessages (или как там) надо в цикл засунуть (для винды, как в линухах qt\gtk работают не знаю)
sqrt314
незнакомец
Сообщения: 4
Зарегистрирован: 01.09.2015 09:13:54

Сообщение sqrt314 »

точно Application.ProcessMessages помогло, я просто не хотел нагружать вас лишним кодом поэтому просто в цикле прописал edit, без Application.ProcessMessages в memo так же цикл не писал записей, а сейчас все гуд, спасибо вам форумчане =)
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Ну тогда просто DBGrid подключить - и не морочить голову.
Ответить