Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ayuda con array (https://www.clubdelphi.com/foros/showthread.php?t=6848)

virtual 24-01-2004 22:27:59

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.

marcoszorrilla 24-01-2004 23:25:12

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;

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:

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;


__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...

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;


apolo18 26-01-2004 20:53:29

Ok amigos muchas gracias, me funcionó perfectamente.

obiwuan 27-01-2004 20:06:47

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. ¿¿¿¿???? :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 .....


La franja horaria es GMT +2. Ahora son las 08:48:19.

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