Ver Mensaje Individual
  #18  
Antiguo 09-10-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Reputación: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
cesarsoftware,

Cita:
Empezado por cesarsoftware
...Implemente la función ChangeCodePage...en la aplicación que me hacia falta funciono...
Excelente

Cita:
Empezado por cesarsoftware
...¿Se puede especificar un codepage para toda la aplicación?...
Si, es posible especificar un CodePage para toda la aplicación, revisa esta información:
Cita:
Empezado por ms-help://embarcadero.rs2010/rad/Compiling.html

Option : Proyect -> Options -> Delphi Compiler -> Compiling - Code Page


Enter the code page for your application's language, such as 1252. Code page is a decimal number representing a specific character encoding table, and there are standard values for various languages, Default = 0.
Revisa esta imagen:



Revisa este código relacionado a la imagen anterior:
Código Delphi [-]
// Definiendo un String con un CodePage determinado (28591) y CodePage de la Aplicación en 437
procedure TForm1.Button1Click(Sender: TObject);
type

  // CodePage 28591 ISO 8859-1 Latin I
  LatinIString = type AnsiString(28591);

var
   StrUSA : AnsiString;
   StrLatinI : LatinIString;
   i : Integer;
   S1, S2 : String;

begin

   Memo1.Clear;

   StrUSA := 'César';
   S1 := EmptyStr;
   S2 := EmptyStr;

   for i := 1 to Length(StrUSA) do
      S1 := S1 + IntToStr(Ord(StrUSA[i])) + ',';

   S2 := 'Value StrUSA = ' + StrUSA + ',' + ' CodePage = ' + IntToStr(StringCodePage(StrUSA)) +
         ',' + ' Ordinal StrUSA= ' + S1;

   Memo1.Lines.Add(S2);

   StrLatinI := 'César';
   S1 := EmptyStr;
   S2 := EmptyStr;

   for i := 1 to Length(StrLatinI) do
      S1 := S1 + IntToStr(Ord(StrLatinI[i])) + ',';

   S2 := 'Value StrLatinI = ' + StrLatinI + ',' + ' CodePage = ' + IntToStr(StringCodePage(StrLatinI)) +
         ',' + ' Ordinal StrLatinI = ' + S1;

   Memo1.Lines.Add(S2);

end;
El código anterior utiliza el Codepage 437 definido a nivel de la aplicación por medio del tipo AnsiString, como se puede ver en la siguiente imagen:



Te sugiero usar el CodePage 437 a nivel de la aplicación por medio del tipo AnsiString, el cual reflejara el CodePage definido a nivel de la aplicación, como se indica en las imágenes y en el código del ejemplo y permitirá enviar la información del Servidor al Cliente Remoto en función del formato requerido en el Msg #1.

Nota: El CodePage a nivel de la aplicación solo aplica por medio del tipo AnsiString.

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 09-10-2013 a las 19:26:45.
Responder Con Cita