FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
ayuda con array
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. |
#2
|
||||
|
||||
Hola amigos
Eso si es una manera de presentarse. Aquí tienes un pequeño ejemplo. Código:
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;
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
||||
|
||||
Sencillo...
Declaras el arreglo del tipo, y lo recorres, tal y como lo planteas. Tan sencillo como: Código:
var Arreglo : array[1..100] of TdetalleRecibo; m : integer; begin for m := 1 to 100 do begin Arreglo[m].vrec_numero := 15; ... ... end;
__________________
Héctor Geraldino Software Engineer |
#4
|
|||
|
|||
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...
Código:
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; |
#5
|
|||
|
|||
Ok amigos muchas gracias, me funcionó perfectamente.
|
#6
|
|||
|
|||
Seria duda
Veamos.
Me ha entrado una seria duda. Es Virtual quien inicia el hilo, y es Apolo18 quien da las gracias por la resolución. ¿¿¿¿???? ¿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 ..... |
|
|
|