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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2013, 20:17   #1
SolovejK
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 52
По умолчанию Ускорить поиск Excel

Можно как нибудь ускорить следующий код?
Если файлов много, то поиск очень долгий.

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  addr1 : OleVariant;
  str, result: string;
  sr : TSearchRec;
  FindRes, p: Integer;

begin
  FindRes := FindFirst(ExtractFilePath(Application.ExeName) + '*.xml',faAnyFile,sr); // задание условий поиска и начало поиска
  While FindRes = 0 do // пока мы находим файлы, выполняем цикл
    begin
      str:=sr.Name;       //из xml файлов вида ABCDFE5_123456.XML оставляю только цифры, которые есть в Excel файле
      p:=pos('_',str);
      delete(str,1,p);
      Delete(Str,Pos('.',Str),Length(Str));

      r := WorkSheet1.UsedRange[0].Find
     (str,
      EmptyParam,
      xlValues,
      xlPart,
      xlByRows,
      xlNext,
      False,
      False,
      EmptyParam);

      r.Activate;

      addr1 := R.Address[False, False, xlA1, EmptyParam, EmptyParam];
      result:=addr1;
      delete(result,1,1);

      ListBox1.Items.Add(sr.Name);      //вывожу список найденных файлов
      ListBox3.Items.Add(Worksheet1.Cells.item[strtoint(result),12].Value2); // вывожу названия, которые соответствуют цифрам

      FindRes:=FindNext(sr);
    end;
  FindClose(SR);
end;
SolovejK вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ускорить поиск суммы простых чисел С++ Izobara Помощь студентам 9 11.01.2013 21:15
SQL Ускорить Поиск Uniskull Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 5 20.07.2012 00:19
Ускорить обновление связи Word и Excel Foxx Microsoft Office Word 1 06.03.2012 00:26
Как ускорить макрос в Excel 2003 polomus Microsoft Office Excel 4 04.12.2009 16:25