لدي مشكلة اردت طرحها على اخواني بعدما استشرت اصدقائي المقربين زكيري و علي علوي المهم باختصار شديد اردت معرفة ما هي الطريقة السليمة والسريعة لمشروع يستخدم قاعدة بيانات ضخمة هل هي threads اوtemp (عمل ملف يقوم بالبحث و المقارنة مع القاعدة ) علما انه في الحالة العادية( بدون هذه الطرق) البرنامج يتوقف( ذاكرة غير كافية) سلام
procedure TForm1.Button3Click(Sender: TObject);
var
VNmae,VFname,VNA,NF:String;
fileData : TStringList;
lines,i : Integer;
z,y:String;
begin
Query1.SQL.Clear;
Query1.SQL.Text:='select NOM,PRENOM,NO FROM CLIENTS';
Query1.Open;
Query1.First;
while not Query1.Eof do
begin
try
VNmae:= Query1.FieldByName('NOM').AsString;
VFname:= Query1.FieldByName('PRENOM').AsString;
VNA:= Query1.FieldByName('NO').AsString;
NF:=(VNmae+VFname);
VNmae:=copy(NF,0,pos(' ',NF));
VFname:= copy (NF,pos(' ',NF)+1,length(NF));
//ShowMessage(VNmae );
begin
fileData := TStringList.Create;
fileData.LoadFromFile('Test.txt');
lines := fileData.Count;
for i := 0 to lines-1 do
begin
y:=fileData;
z:=copy(y,12,pos(' ',y));
SetLength(y, 99);
// ShowMessage(Y);
if ((( SearchAll(z,VNmae,1)) >0) AND ( SearchAll(y,VFname,1)>0))then
begin
Memo2.Lines.Add(Z+y);
Label3.Caption:= IntToStr(Memo2.Lines.Count) + ' lignes trouvées';
Memo1.Lines.Add(y[65]);
end;
end;
end;
Except
end;
Query1.Next;
end;
end;