Ver Mensaje Individual
  #13  
Antiguo 14-10-2015
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 escafandra Ver Mensaje
Otra opcion, esta vez en asm:
Código Delphi [-]
function BorraMultiespacios(S: String): String;
var
  Cadena: PCHAR;
begin
  Cadena:= @S[1];
  asm
  mov       edi, Cadena
  mov       esi, edi
@loop1:
  cmp       word ptr [esi], 2020h
  jne       @sigue
  inc       esi
  jmp       @loop1
@sigue:
  movsb
  cmp       byte ptr [esi], 0
  jne       @loop1
  mov       word ptr [edi], 0h
  end;
  Result:= Cadena;
end;

Saludos.
¡Joder! Sí que rizamos el rizo Seguro que así es lo más eficiente.

// Saludos
Responder Con Cita