Y solo por fastidiar

, te dejo este otro mas largo, pero creo que mas rápido:
Código Delphi
[-]
function Quitar0(Source: PChar; Dest: PChar): Integer;
asm
MOV Result,0
DEC EAX
@@SIG1:
INC EAX
CMP BYTE PTR [EAX],0
JE @@SALIR
MOV CL,[EAX]
CMP CL,'/'
JE @@SIG2
MOV BYTE PTR [EDX],CL
INC EDX
INC Result
JMP @@SIG1
@@SIG2:
MOV BYTE PTR [EDX],CL
INC EDX
INC Result
@@SIG3:
INC EAX
CMP BYTE PTR [EAX],0
JE @@SALIR
MOV CL,[EAX]
CMP CL,'0'
JE @@SIG3
MOV BYTE PTR [EDX],CL
INC EDX
INC Result
@@SIG4:
INC EAX
CMP BYTE PTR [EAX],0
JE @@SALIR
MOV CL,[EAX]
MOV BYTE PTR [EDX],CL
INC EDX
INC Result
JMP @@SIG4
@@SALIR:
MOV BYTE PTR [EDX],0
end;
Por ejemplo:
Código Delphi
[-]
var
Str: String;
begin
Str:= Copy('SLS_F/000105',1,MAXINT);
Quitar0(PChar(Str),PChar(Str));
ShowMessage(Str);
end;

que forma de perder el tiempo ...