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.