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

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

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

Сообщение sqrt314 » 01.09.2015 10:18:24

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

цикл не выполняется, пробовал for таже проблема в Edit не попадают значения из таблицы gl_id, если же использовать без цикла то все корректно работает,
подскажите в чем может быть причина и как исправить ?
sqrt314
незнакомец
 
Сообщения: 4
Зарегистрирован: 01.09.2015 10:13:54

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

Сообщение serg_iv » 01.09.2015 10:37:59

последнее поле из таблицы будет в едите после выполнения цикла. А оно возможно просто пустое.
serg_iv
постоялец
 
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

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

Сообщение sts » 01.09.2015 10:38:34

перед while not Dbf1.EOF do

Dbf1.First стоит?
sts
постоялец
 
Сообщения: 431
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

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

Сообщение sqrt314 » 01.09.2015 10:46:34

Да Dbf1/First стоит, точно если подождать то он выведет последнее значение в edit, но как сделать, что бы он визуализировал свои действия ?? т.е. что бы выполнял данное действие, а затем делал dbf1.next, что бы оно отображалось в BDgrid ?
sqrt314
незнакомец
 
Сообщения: 4
Зарегистрирован: 01.09.2015 10:13:54

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

Сообщение serg_iv » 01.09.2015 11:11:11

попробуйте Мемо использовать заместо едита
Код: Выделить всё
Memo1.Lines.Add(Dbf1.FieldByName('GL_ID').AsString);

по крайней мере увидите значения
serg_iv
постоялец
 
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

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

Сообщение alexs » 01.09.2015 12:29:30

sqrt314
Может быть вы имели ввиду:
while not Dbf1.EOF do
begin
Edit1.text:=Edit1.text + Dbf1.FieldByName('GL_ID').AsString;
Dbf1.Next;
end;
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

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

Сообщение serg_iv » 01.09.2015 12:49:34

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
Откуда: Миасс

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

Сообщение sts » 01.09.2015 12:51:45

я понял, автор ожидал что по мере прохода по датасету будут меняться значения в Edit1, а вот хрен, отрисовка не будет проходить, в итоге Edit1 покажет последнее значение.
Application.ProcessMessages (или как там) надо в цикл засунуть (для винды, как в линухах qt\gtk работают не знаю)
sts
постоялец
 
Сообщения: 431
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

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

Сообщение sqrt314 » 01.09.2015 13:02:45

точно Application.ProcessMessages помогло, я просто не хотел нагружать вас лишним кодом поэтому просто в цикле прописал edit, без Application.ProcessMessages в memo так же цикл не писал записей, а сейчас все гуд, спасибо вам форумчане =)
sqrt314
незнакомец
 
Сообщения: 4
Зарегистрирован: 01.09.2015 10:13:54

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

Сообщение alexs » 01.09.2015 16:24:34

Ну тогда просто DBGrid подключить - и не морочить голову.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru