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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2016, 08:55   #1
cw82
Пользователь
 
Аватар для cw82
 
Регистрация: 14.10.2010
Сообщений: 52
По умолчанию Определить конец цикла while do

Добрый день. Мне нужно, после того как цикл выполнится весь - нажать Button6 . Если записать код так как сейчас у меня, то Кнопка нажимается каждый проход цикла (В файле 3000 строк). Догадываюсь что решение на поверхности, но что то не догоняю. Прошу помощи. Вот код
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
 s: String;
 cr: TextFile;
begin

  AssignFile(cr,'11.txt');
   reset(cr);
     while not eof(cr) do
     begin
   readln(cr, s);
       begin

        ADODataSet1.Active:= True;
        ADODataSet1.DisableControls;
      ADODataSet1.Insert;
      ADODataSet1.Fields[1].AsString:=Copy(s,6,2);
      ADODataSet1.Fields[2].AsString:=Copy(s,24,15);
      ADODataSet1.Fields[3].AsString:=Copy(s,39,1);
      ADODataSet1.Fields[4].AsString:=Copy(s,40,15);
      ADODataSet1.Fields[5].AsString:=Copy(s,70,15);
      ADODataSet1.Fields[6].AsString:=Copy(s,85,1);
      ADODataSet1.Fields[7].AsString:=Copy(s,89,12);
      ADODataSet1.Fields[8].AsString:=Copy(s,101,14);
      ADODataSet1.Fields[9].AsString:=Copy(s,115,14);
      ADODataSet1.Fields[10].AsString:=Copy(s,129,17);
      ADODataSet1.Fields[11].AsString:=Copy(s,154,20);
      ADODataSet1.Fields[12].AsString:=Copy(s,253,7);
      ADODataSet1.Post;
      ADODataSet1.EnableControls;
      begin
      Button6Click(Self);
          end;

          end;

          end;
cw82 вне форума Ответить с цитированием
Старый 07.11.2016, 09:15   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
AdoDataset.DisableControls; 
try
while not(EOF) do begin
  ADODataSet.Insert;
  ........
  ADODataSet.Post;
end;
finally //мы же не хотим чтобы при возможных сбоях в загрузке ВСЕ(ADODataSet) осталось заблокированным
ADODataset.EnableControls;
end;
Button6Click(self);
Button6.click; //имитация
А если быть правильным, то надо ВСЕ то что записано в Button6click вынести в отдельную процедуру и вызывать ЭТУ процедуру
и в Button6click
и после цикла записи файла.
http://programmersforum.ru/showthrea...E%E2%E0&page=2
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 07.11.2016 в 09:25.
evg_m вне форума Ответить с цитированием
Старый 07.11.2016, 10:17   #3
cw82
Пользователь
 
Аватар для cw82
 
Регистрация: 14.10.2010
Сообщений: 52
По умолчанию

[QUOTE=evg_m;1642864]
Код:
AdoDataset.DisableControls; 
try
while not(EOF) do begin
  ADODataSet.Insert;
  ........
  ADODataSet.Post;
end;
finally //мы же не хотим чтобы при возможных сбоях в загрузке ВСЕ(ADODataSet) осталось заблокированным
ADODataset.EnableControls;
end;
Button6Click(self);
Button6.click; //имитация
Спасибо Вам огромное.
cw82 вне форума Ответить с цитированием
Старый 07.11.2016, 10:18   #4
cw82
Пользователь
 
Аватар для cw82
 
Регистрация: 14.10.2010
Сообщений: 52
По умолчанию

А если быть правильным, то надо ВСЕ то что записано в Button6click вынести в отдельную процедуру и вызывать ЭТУ процедуру
и в Button6click
и после цикла записи файла.

Это я знаю, баттонклик просто для примера вставил. Спасибо.!!
cw82 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
с++ Вводится последовательность ненулевых чисел,0-конец последовательности, определить наибольшее число в последовательности ЮськаЮськовна Помощь студентам 3 10.11.2015 15:20
Вводится последовательность символов, конец ввода -ESC(код#27). Определить количество букв "b". помогите сделать через string. kolbaskin Паскаль, Turbo Pascal, PascalABC.NET 2 30.12.2013 09:12
алгоритмы нахождения эйлерова цикла и гамильтонова цикла в графе. Necare Помощь студентам 0 15.11.2011 18:26
Как определить какая ошибка вылетела для продолжения цикла webber9989 Общие вопросы Delphi 3 27.06.2011 12:27
Переход от цикла к циклу не выходя из цикла (без multithreading) Qousio Общие вопросы C/C++ 2 16.05.2009 09:27