Ver la Versión Completa : ayuda con array
virtual
24-01-2004, 22:27:59
Hola amigos
Necesito crear un array de record
el record es el siguiente:
TdetalleRecibo = record
vrec_numero : integer;
vrec_tipo : string;
vcon_codigo : string;
vdet_valor : currency;
end;
Que debo hacer para crear un array de ese tipo y recorrerlo mediante un bucle(ciclo) para poder insetarle información.
marcoszorrilla
24-01-2004, 23:25:12
Hola amigos
Eso si es una manera de presentarse.
Aquí tienes un pequeño ejemplo.
procedure TForm1.Button1Click(Sender: TObject);
Type
TdetalleRecibo = record
vrec_numero : integer;
vrec_tipo : string;
vcon_codigo : string;
vdet_valor : currency;
end;
var
MisRecibos: array[1..10] of TdetalleRecibo;
nCont:Integer;
Cr_lf:String;
begin
Cr_lf:=Chr(10)+Chr(13);
for nCont:=1 to 10 do
begin
MisRecibos[nCont].vrec_numero:=nCont;
Misrecibos[nCont].vrec_tipo:='Ejemplo'+IntToStr(nCont);
MisRecibos[nCont].vcon_codigo:=IntToStr(ncont);
MisRecibos[nCont].vdet_valor:=nCont;
end;
for nCont:=1 to 10 do
begin
ShowMessage(IntToStr( MisRecibos[nCont].vrec_numero)+ Cr_lf
+ Misrecibos[nCont].vrec_tipo+Cr_lf
+MisRecibos[nCont].vcon_codigo+Cr_lf
+FloatToStr(MisRecibos[nCont].vdet_valor));
end;
end;
Un Saludo.
__hector
24-01-2004, 23:30:34
Sencillo...
Declaras el arreglo del tipo, y lo recorres, tal y como lo planteas. Tan sencillo como:
var
Arreglo : array[1..100] of TdetalleRecibo;
m : integer;
begin
for m := 1 to 100 do
begin
Arreglo[m].vrec_numero := 15;
...
...
end;
__cadetill
25-01-2004, 04:35:30
Sólo añadir a las 2 respuestas de Marcos y Héctor que, el array puedes declararlo dinámico si en tiempo de diseño no sabes que longuitud va a tener. Sería algo como...
type
TdetalleRecibo = record
vrec_numero : integer;
vrec_tipo : string;
vcon_codigo : string;
vdet_valor : currency;
end;
var
Arreglo : array of TdetalleRecibo;
m : integer;
begin
SetLength(Arreglo, 100)
for m := 1 to High(Arreglo) do
begin
Arreglo[m].vrec_numero := 15;
...
...
end;
....
end;
apolo18
26-01-2004, 20:53:29
Ok amigos muchas gracias, me funcionó perfectamente.
obiwuan
27-01-2004, 20:06:47
Veamos.
Me ha entrado una seria duda.
Es Virtual quien inicia el hilo, y es Apolo18 quien da las gracias por la resolución. ¿¿¿¿???? :confused: :confused:
¿Hay alguna explicación plausible a esto?
¿Se nos ha colado algún E.T. por aquí?
¿Apolo18 ha podido sacar provecho de una consulta iniciada por otro usuario?
Bueno, si alguien tiene alguna otra teoría .....
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.