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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2009, 13:05   #21
bosston
Пользователь
 
Регистрация: 16.04.2009
Сообщений: 32
По умолчанию

а пример кода можно?
bosston вне форума Ответить с цитированием
Старый 26.06.2009, 14:43   #22
ArtInt
Форумчанин
 
Аватар для ArtInt
 
Регистрация: 06.03.2009
Сообщений: 583
По умолчанию

Для начала например, сделай файл с потоком File->New-Thread
Потом в нем прописываем необходимые нам функции
Код:
unit Potok;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,ComObj,Dialogs,DB,DbCtrls;

type
  Tpotok = class(TThread)
  private

    procedure ProcSynch;
    procedure Poisk;
    { Private declarations }
  protected
    procedure Execute; override;
  end;
var
implementation
uses  UinfoDobav;
{ Important: Methods and properties of objects in visual components can only be
  used in a method called using Synchronize, for example,

      Synchronize(UpdateCaption);

  and UpdateCaption could look like,

    procedure Tpotok.UpdateCaption;
    begin
      Form1.Caption := 'Updated in a thread';
    end; }

{ Tpotok }
//показываем наш промежуточный результат на модальной форме
procedure TPotok.ProcSynch;
begin
//по инфе FinfoDobav
  FInfoDobav.RxLbNameFiles.Caption:='Добавлен файл: '+Unit1.NameforInfoDobav;

end;

procedure TPotok.Poisk;
begin
// тут делаешь поиск который надо внутри каждый раз делаешь для показа //промежуточных значений 
Synchronize(ProcSynch);

end;

//что делать при запуске потока
procedure Tpotok.Execute;
begin
  Poisk;
end;
Потом при актвации формы FinfoDobav делаешь запуск потока
Код:
  public
    potokosnov: TPotok;

procedure TFInfoDobav.FormActivate(Sender: TObject);
begin
//запускаем поток
   potokosnov:=Tpotok.Create( True );
    potokosnov.FreeOnTerminate:=True;
    potokosnov.Priority:=tpNormal;
    potokosnov.Resume;
end;
Потом прописываешь модалньный вызов FInfoDobav, и закрываешь когда надо.
Вкратце где то такой шаблон для решения задачи.
Кстати для того лучше было понятно, почитайте про потоки.
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
ArtInt вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск по базе данных ERASERROR БД в Delphi 4 14.03.2008 16:34
Поиск по базе Антон Шестаков БД в Delphi 1 22.01.2008 20:32
Последовательный поиск в БД Nowichok БД в Delphi 7 10.02.2007 21:55
Поиск по базе Таня84 БД в Delphi 3 09.02.2007 10:53