Ver Mensaje Individual
  #14  
Antiguo 02-12-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por fjcg02 Ver Mensaje
En definitiva, si puedo escribir una línea de código, mejor que dos, siempre y cuando el rendimiento no penalice al usuario. Es que cuando uno es vago, es vago .... sin más... y eso, para mi vale más que cualquier cosa.
Entiendo tu punto y hasta podría decir que lo apoyo. Pero en este caso sigo dándole la razón a Delphius. Vamos a ver si realmente tenemos menos líneas de código.

Asumamos, por lo que han comentado antes, que debemos usar un StringList separado para no alterar la lista original. Podríamos hacer algo así:

Código Delphi [-]
var
  List: TStringList;

begin
  List := TStringList.Create;

  try
    with ListBox1 do
    begin
      List.AddStrings(Items);
      List.Sort;

      ShowMessage(Format('Min: %s, Max: %s',[List[0], List[Count - 1]]));
    end;
  finally
    List.Free;
  end;
end;

Que no es tan cortito. Pero aún hay más. No sirve. De hecho, tampoco el código que puse originalmente con Sorted := true sirve (punto extra al que diga por qué no sirve ) Hay que usar el método CustomSort del StringList y proveer una función de comparación, con lo cual yo creo que hasta rebasamos las líneas de código del recorrido simple.

// Saludos
Responder Con Cita