PDA

Ver la Versión Completa : duda sobre tipos de datos en delphi


javier20
23-06-2007, 04:44:42
hola de nuevo, andube estudiando un poco mas y me vino la confusion de nuevo:D

ShortString: esta no la probe
String: me deja declarar solo hasta 255 caracteres y no mas.
AnsiString: segun unos articulos que andube leyendo esta me deberia dejar mas de 255 pero no es asi!:confused:

estaba programando con Length y ShowMessage para ver los valores y me gustaria saber como puedo hacer para usar una cadena de mas de los 255 sin cortarla(es decir agregandole ' ' + ' ' + ' ').?


por otro lado vi unas convenciones(esto es una preguntita nomas)

DWORD = LongWord = Cardinal

LongWord = ocupa 4 bytes y el maximo es de 4294967295
y
Cardinal = ocupa 4 bytes y el maximo es de 4294967295

bueno lo de DWORD es tipico de C, por eso en delphi es mas conveniente declarla como LongWord o Cardinal.?

Saludos.

droguerman
23-06-2007, 05:28:49
has probado widestring?

Lepe
23-06-2007, 14:04:01
En la ayuda de delphi viene bien especificado cada tipo de "String", la versión de delphi que uses es fundamental.

En cuanto a Dword = Longword = Cardinal, creo que está por compatibilidad con C, la api de windows y el tipo original de Pascal respectivamente.

Saludos

Mick
23-06-2007, 22:23:57
Un tipo "String" en cualquier version moderna de delphi (por lo menos de delphi2 para arriba) permite guardar una cadena de caracteres de cualquier tamaño.

Me da la impresion de que estas indicando un tamaño al definirla, con algo como:

var s:string[200];

Y asi el limite es de 255, ya que esta forma esta solo por compatilibdad con las primeras versiones de pascal.

Los strings se definen simplemente asi:

var s:string;

Y despues ya puedes guardar y concatenar todas las cadenas que quieras, la variable ya crece o disminuye de tamaño de forma automatica.

Saludos

courtois
23-06-2007, 23:04:34
no don, a lo que se refiere es que no se soportan strings literales superiores a 255, se entiende por literal

x:='abcd...hasta 255 caracteres';
//y si necesito un string literal mas grande??
x:='abcd...hasta 255 caracteres'+ //este es un string literal
'abcd...hasta 255 caracteres'+ //este es otro string literal
'abcd...hasta 255 caracteres'; //y este es otro string literal
//claro x puede contener, en teoría, hasta 4Gb

adfa
28-06-2007, 15:06:51
Yo he usado variables string de más de 255, el tema es que no podes cargarla con un literal, tenes que usar el "+" o usar variables auxiliares.
Saludos

javier20
29-06-2007, 03:15:00
me ha quedado bastante claro muchachos, gracias a todos!!