Страница 1 из 1
		
			
				не выполняются циклы
				
Добавлено: 
01.09.2015 10:18:24 sqrt314
				Доброго времени суток, возникла проблема при выполнении кода 
while not Dbf1.EOF do
 begin
 Edit1.text:=Dbf1.FieldByName('GL_ID').AsString; 
Dbf1.Next; 
end;
цикл не выполняется, пробовал for таже проблема в Edit не попадают значения из таблицы gl_id, если же использовать без цикла то все корректно работает, 
подскажите в чем может быть причина и как исправить ?
			 
			
		
			
				Re: не выполняются циклы
				
Добавлено: 
01.09.2015 10:37:59 serg_iv
				последнее поле из таблицы будет в едите после выполнения цикла. А оно возможно просто пустое.
			 
			
		
			
				Re: не выполняются циклы
				
Добавлено: 
01.09.2015 10:38:34 sts
				перед while not Dbf1.EOF do
Dbf1.First стоит?
			 
			
		
			
				Re: не выполняются циклы
				
Добавлено: 
01.09.2015 10:46:34 sqrt314
				Да Dbf1/First стоит, точно если подождать то он выведет последнее значение в edit, но как сделать, что бы он визуализировал свои действия ?? т.е. что бы выполнял данное действие, а затем делал dbf1.next, что бы оно отображалось в BDgrid ?
			 
			
		
			
				Re: не выполняются циклы
				
Добавлено: 
01.09.2015 11:11:11 serg_iv
				попробуйте Мемо использовать заместо едита
- Код: Выделить всё
- Memo1.Lines.Add(Dbf1.FieldByName('GL_ID').AsString);
по крайней мере увидите значения
 
			
		
			
				Re: не выполняются циклы
				
Добавлено: 
01.09.2015 12:29:30 alexs
				sqrt314Может быть вы имели ввиду:
while not Dbf1.EOF do
begin
Edit1.text:=Edit1.text + Dbf1.FieldByName('GL_ID').AsString;
Dbf1.Next;
end;
 
			 
			
		
			
				Re: не выполняются циклы
				
Добавлено: 
01.09.2015 12:49:34 serg_iv
				alexs писал(а):sqrt314Может быть вы имели ввиду:
while not Dbf1.EOF do
begin
Edit1.text:=Edit1.text + Dbf1.FieldByName('GL_ID').AsString;
Dbf1.Next;
end;
 
нет не это. Значений может быть много, удобнее их просмотреть именно в мемо. И да я понимаю, что и мемо может не хватить, надеюсь это не тот случай
 
			
		
			
				Re: не выполняются циклы
				
Добавлено: 
01.09.2015 12:51:45 sts
				я понял, автор ожидал что по мере прохода по датасету будут меняться значения в Edit1, а вот хрен, отрисовка не будет проходить, в итоге Edit1 покажет последнее значение.
Application.ProcessMessages (или как там) надо в цикл засунуть (для винды, как в линухах qt\gtk работают не знаю)
			 
			
		
			
				Re: не выполняются циклы
				
Добавлено: 
01.09.2015 13:02:45 sqrt314
				точно Application.ProcessMessages помогло, я просто не хотел нагружать вас лишним кодом поэтому просто в цикле прописал edit, без Application.ProcessMessages в memo так же цикл не писал записей, а сейчас все гуд, спасибо вам форумчане =)
			 
			
		
			
				Re: не выполняются циклы
				
Добавлено: 
01.09.2015 16:24:34 alexs
				Ну тогда просто DBGrid подключить - и не морочить голову.