Ver Mensaje Individual
  #13  
Antiguo 16-04-2008
Avatar de lag_0
lag_0 lag_0 is offline
Miembro
 
Registrado: jul 2006
Posts: 131
Reputación: 18
lag_0 Va por buen camino
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...

Última edición por lag_0 fecha: 16-04-2008 a las 17:05:13.
Responder Con Cita