Me acabo de dar cuenta que el problema está en las comparaciones....
Uf... esto es lo peor... Solo son cadenas de texto qeu se comparan, además 4 cadenas con otras 4 por cada item que añado y tarda..... UF COMO TARDA!!! no entiendo qeu peude estar pasando, incluso dejando un simple if de las length se demora el additem un segundo por cada item... lo cual no es normal T________T....
Tiene alguna explicación? Pego el codigo...
Código Delphi
[-]function TfP.TraduceSMtoDB(Tipo:string;TextoA:string;TextoB:string):bool;
var
TempI : integer;
UCAa, UCAb:string;
begin
TextoA := UpperCase(TextoA);
TextoB := UpperCase(TextoB);
Result := False;
if ReplaceText(TextoA,' ','_') = ReplaceText(TextoB,' ','_') then begin
Result := True;
Exit;
end;
for TempI := 0 to ruleslist.Items.Count-1 do begin
UCAa := UpperCase(ruleslist.Items.Item[TempI].SubItems.Strings[0]);
UCAb := UpperCase(ruleslist.Items.Item[TempI].SubItems.Strings[1]);
if ((TextoA = UCAa) or (TextoA = UCAb)) and ((TextoB = UCAa) or (TextoB = UCAb)) then begin
if ((Tipo = 'n') and (ruleslist.Items.Item[TempI].Caption = 'Nombre')) or ((Tipo = 'i') and (ruleslist.Items.Item[TempI].Caption = 'IP')) or ((Tipo = 'd') and (ruleslist.Items.Item[TempI].Caption = 'Display Name')) or ((Tipo = 'm') and (ruleslist.Items.Item[TempI].Caption = 'Modelo')) then begin
Result := true;
Exit;
end;
end;
end;
end;
Alguna idea? T_T muchas gracias...