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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2010, 16:56   #1
alex_-87
Пользователь
 
Регистрация: 29.12.2009
Сообщений: 23
Восклицание медленно работает код(СУБД Paradox)

Код:
begin
    f.LoadFromFile('nazva');
    if Pos('Q', nazva) > 0 then
    begin
      c2 := f.Count; //vuzna4aemo kil-st ryadkiv
      //go
      for i2 := 1 to c2 - 1 do
      begin //zcutyemo po ryadkah
        b := f.Strings[i2]; //
        c := length(f.Strings[i2]); //dovguna ryadka
        for i := 0 to 3 do
          mas[i] := '';
        i := 0;
        for k := 1 to c do
        begin
          if b[k] <> #39 then
          begin
              mas[i] := mas[i] + b[k];            
          end
          else
            i := i + 1;
        end;
        {vstavka zapusiv}
        try
          with Table1 do
          begin
            Table1.TableName := 'qwert.db';
            Table1.Active := true;
            Table1.First;
            begin
              begin
                Table1.Insert;
                if mas[0] <> '' then
                  Table1.Fields[0].AsInteger := strtoint(mas[0]);
                if mas[1] <> '' then
                  Table1.Fields[1].AsString := mas[1];
                if mas[2] <> '' then
                  Table1.Fields[2].AsDateTime := strtodate(mas[2]);
                if mas[3] <> '' then
                  Table1.Fields[3].AsFloat := StrToFloat(mas[3]);   
                Table1.Post;
              end;
              Table1.Next;
            end;
            Table1.Close;
          end;
        except
          ShowMessage('Ошибка' + mas[0]);
        end;
      end;
end;

Последний раз редактировалось Stilet; 18.06.2010 в 17:04.
alex_-87 вне форума Ответить с цитированием
Старый 18.06.2010, 17:05   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А делать то оно что должно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.06.2010, 17:09   #3
alex_-87
Пользователь
 
Регистрация: 29.12.2009
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А делать то оно что должно?
перелив с csv в paradox
alex_-87 вне форума Ответить с цитированием
Старый 18.06.2010, 18:14   #4
alex_-87
Пользователь
 
Регистрация: 29.12.2009
Сообщений: 23
По умолчанию

спасибо, я нашел уже решение...
нужно вынести из цикла Table1.Active := true, Table1.Close...
alex_-87 вне форума Ответить с цитированием
Старый 19.06.2010, 00:39   #5
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Если большой объём может помочь
до переноса
Table1.DisableControls
после включить
Table1.EnableControls
vovk вне форума Ответить с цитированием
Старый 19.06.2010, 13:12   #6
alex_-87
Пользователь
 
Регистрация: 29.12.2009
Сообщений: 23
По умолчанию

Цитата:
Сообщение от vovk Посмотреть сообщение
Если большой объём может помочь
до переноса
Table1.DisableControls
после включить
Table1.EnableControls
да, Вы правы, это было только на этапе прогона программы... а его вообще убрал...
alex_-87 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает код. Messer Общие вопросы Delphi 0 15.05.2010 21:11
Медленно работает excel-файл с макросами philipz Microsoft Office Excel 1 15.01.2009 13:10
Почему запрос работает медленно _SERGEYX_ БД в Delphi 1 24.10.2008 17:30
Почему ХОR работает медленно? Иллидан Помощь студентам 5 01.05.2008 14:51