Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   array of char en delphi xe (https://www.clubdelphi.com/foros/showthread.php?t=85598)

look 06-04-2014 00:45:36

array of char en delphi xe
 
hola amigos , tengo lo siguiente:

Código Delphi [-]
ClockTime:Array[0..19] of Char;

este array funciona bien en delphi 7 , pero en delphi xe5 me devuelve caracteres extranios.

como puedo solucionar esto?

ecfisa 06-04-2014 07:46:20

Hola look.

No tengo experiencia con Delphi XE pero recuerdo haber leído por ahí que en este, Char es por defecto de tipo WideChar, a diferencia de Delphi 7 que por defecto es de tipo AnsiChar. Esto me anima a sugerirte que intentes especificando el tipo en la declaración del arreglo:
Código Delphi [-]
ClockTime:Array[0..19] of AnsiChar;
Lamento no tener modo de probar mi presunción.:(

Saludos :)

nlsgarcia 09-04-2014 01:55:31

look,

Cita:

Empezado por look
...este array (ClockTime : Array[0..19] of Char) funciona bien en Delphi 7, pero en Delphi XE5 me devuelve caracteres extraños, ¿como puedo solucionar esto?...

Lo que se indica en el Msg #2 es correcto, por defecto a partir de Delphi 2009 cualquier variable de tipo String, Char o Pchar es de tipo Unicode, si se requiere que sea de tipo Ascii debe ser definida como AnsiString, AnsiChar o PAnsichar.

Revisa este código
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
   ClockTime : Array[0..19] of AnsiChar;
begin
   FillChar(ClockTime, Sizeof(ClockTime), ' ');
   ClockTime := '1234567890123456789';
   ShowMessage(ClockTime);
end;
El código anterior en Delphi XE4 bajo Windows 7 Professional x32, define y procesa un arreglo de tipo AnsiChar.

Espero sea útil :)

Nelson.


La franja horaria es GMT +2. Ahora son las 15:08:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi