Ver Mensaje Individual
  #4  
Antiguo 07-09-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Sigo dándole vueltas al asunto, en el edit ¿estas introduciendo la cadena de texto '#27+#105'?, es decir la cadena de texto tal cual. Porque así el resultado es una cadena de 8 caracteres y no los 2 que tu necesitas para hacer el corte. Se me ocurre lo siguiente para que puedas introducir los caracteres especiales como el 27:

Código Delphi [-]
function Decode(Str: string): string;
var
  i: integer;
begin
  Result:= '';
  while Length(Str) > 0 do
  begin
    if Copy(Str, 1, 1) = '%' then
    begin
      if not TryStrToInt('$' + Copy(Str, 2, 2),i) then
      begin
        Result:= '';
        Exit;
      end;
      Result:= Result + Char(i);
      Delete(Str, 1, 2);
    end else Result:= Result + Copy(Str, 1, 1);
    Delete(Str,1,1);
  end;
end;


var
  s: string;
begin
  s:= Decode(Edit1.text);
  PWrite(s);
end;

De este modo, por ejemplo, si queremos imprimir esto:
Código:
Hola mundo
(Cortar)
Escribiriamos en el edit

Código:
Hola mundo%0A%0D%1B%69
Es decir sustituimos los caracteres problematicos por un '%' seguido del codigo correspondiente en hexadecimal. Espero que te sirva.
Responder Con Cita