unit import_thread_rtf;
interface
uses
Classes,SysUtils,Graphics;
type
Import_RTF = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
end;
implementation
uses main,dialog_open;
{ 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 Import_RTF.UpdateCaption;
begin
Form1.Caption := 'Updated in a thread';
end; }
{ Import_RTF }
procedure Import_RTF.Execute;
var temp : string;
temp2: string;
i,j : integer;
begin
{ Place thread code here }
j:=0;
if Form2.OpenDialog1.Execute then
begin
bolt_valaszt:=form2.combobox1.text;
if Form1.ADOQuery1.Active then Form1.AdoQuery1.Close;
Form1.AdoQuery1.SQL.Clear;
Form1.AdoQuery1.SQL.Add('SELECT * FROM '+bolt_valaszt);
Form2.Close;
Form2.RichEdit1.Lines.LoadFromFile(form2.OpenDialog1.FileName);
Form1.JvXPProgressBar1.Position:=0;
Form1.JvXPProgressBar1.Max:=form2.RichEdit1.Lines.Count-3;
Form1.Status.Color:=clRed;
Form1.Status.Text:='BUSY';
if Form1.ADOQuery1.Filtered then Form1.ADOQuery1.Filtered:=false;
Form1.AdoQuery1.Open;
for i:= 8 to form2.RichEdit1.Lines.Count-3 do
begin
temp:=form2.RichEdit1.Lines[i];
Form1.AdoQuery1.Append;
Form1.AdoQuery1.FieldByName('Esemeny').AsString:=trim(copy(temp,1,7)); // Column 1 !! masodik szam nem az END hanem az hogy HANGY KARAKTERT OLVASSON BE
temp2:=trim(copy(temp,10,4)+'.'+copy(temp,17,2)+'.'+copy(temp,22,2)); //hogy jo legyen a datum
Form1.AdoQuery1.FieldByName('Datum').AsString:=temp2 {copy(s,8,16)}; // Column 2
Form1.AdoQuery1.FieldByName('Ido').AsString:=trim(copy(temp,27,5)); // Column 3
Form1.AdoQuery1.FieldByName('Particio').AsString:=trim(copy(temp,37,1)); // Column 4
Form1.AdoQuery1.FieldByName('Leiras').AsString:=trim(copy(temp,48,50)); // Column 5
Form1.AdoQuery1.FieldByName('Zona').AsString:=trim(copy(temp,100,2)); // Column 6
Form1.AdoQuery1.FieldByName('Zona_Osztaly').AsString:=trim(copy(temp,115,20)); // Column 7
Form1.AdoQuery1.FieldByName('Felhasznalo').AsString:=trim(copy(temp,140,2)); // Column 8
Form1.AdoQuery1.FieldByName('Felhasznalo_Osztaly').AsString:=trim(copy(temp,155,7)); // Column 9
Form1.AdoQuery1.Post;
j:=j+1;
Form1.JvXPProgressBar1.Position:=Form1.JvXPProgressBar1.Position+1;
Form1.INFO_Lines.Text:=inttostr(j);
Form1.Repaint;
end;
if Form1.AdoQuery1.Active then Form1.AdoQuery1.Close;
Form1.AdoQuery1.SQL.Clear;
Form1.AdoQuery1.SQL.Add('SELECT * FROM '+bolt_valaszt+' ORDER BY Esemeny');
Form1.AdoQuery1.Open;
Form1.ComboBox1.Text:=bolt_valaszt;
Form1.Status.Color:=clGreen;
Form1.Status.Text:='READY';
end;
end;
end.