Ver Mensaje Individual
  #5  
Antiguo 01-10-2005
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
Como bien dice vtdeleon, la razón del Trim es para eliminar los espacios en blanco ya que ' ' no tiene longitud cero.

Lo que dices de la mayor efectividad de Length, en efecto, no sé dónde lo habrás leído ; la llamada a una función siempre será un poco más lenta (unos cuantos nano segundos) por el paso de parámetros al stack y la devolución del valor. Compara el código ensamblado que genera Delphi:

Código:
if Length(S) = 0 then

mov eax, [ebp-$04]
call @LStrLen
    ; código de LStrLen
    test eax, eax
    jz +$03
    mov eax, [eax-$04]
    ret

test eax, eax
jnz +$0a


if S = '' then

cmp dword ptr [ebp-$04]
jnz +$0a
Aún descontando el código de LStrLen, está el paso del parámetro para llamar a la función y luego de cualquier manera requires una comparación.

// Saludos
Responder Con Cita