Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Llenar array (https://www.clubdelphi.com/foros/showthread.php?t=94453)

Casimiro Notevi 21-02-2020 18:56:41

Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi


P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.



ecfisa 21-02-2020 19:57:41

Hola.
Cita:

Empezado por compuin (Mensaje 535853)
...
Los calculos de la posicion de los planetas son mostrados en xx[0]

La pregunta original era como podia llenar un array llamado planeta a partir de este ultimo valor

Entonces, la respuesta a esa pregunta sería algo así:
Código Delphi [-]
...
type
  VPlanet = array[1..12] of Double;

...

procedure LlenarPlaneta(Planet: VPlanet; const xx: Double); // donde: xx = ultimo valor
var
  i: Integer;
begin
  for i := Low(Planet) to High(Planet) do
    Planet[i] := xx;
end;

Saludos :)

escafandra 21-02-2020 22:29:59

Este código es funcional con la dll swedll32.dll. Rellena el array con los datos pedidos y los muestra en un Memo:
Código Delphi [-]
var
  i:      integer;
  xx:     array[0..5]  of double;
  planet: array[1..12] of double;
  pName:  array[0..19] of Char;
  serr:   PChar;
  JulDay: double;
begin
  Memo1.Clear;
  JulDay:= DateTimeToJulianDate(Now);
  for i:= 1 to 10 do
  begin
    swe_calc(JulDay, i, 0, xx[0], serr);
    planet[i]:= xx[0];
    swe_get_planet_name(i, pName);
    Memo1.Lines.Add(Format('%s:   %3.5n', [pName, planet[i]]));
  end;
end;



Saludos.

compuin 21-02-2020 22:33:22

Hola escafandra

Puedes copiar aqui el resulado de la salida en el memo ??

Muchas gracias de antemano por tu disposicion a ayudar

escafandra 21-02-2020 22:37:17

Cita:

Moon: 313,77608
Mercury: 340,89415
Venus: 16,34585
Mars: 273,75778
Jupiter: 288,01284
Saturn: 297,35305
Uranus: 33,39210
Neptune: 347,80907
Pluto: 294,04657
mean Node: 95,48901
...........


Saludos.

compuin 21-02-2020 22:41:28

Muchas gracias

Voy a implementarlo en mi proyecto y te dejare saber. Realmente pienso esto era lo que necesitaba al comienzo

Me disculpo nuevamente por mi falta de claridad al colocar un requerimiento

Muchas gracias a todos los que colaboraron de una u otra forma

escafandra 21-02-2020 22:46:47

Veo que falta el sol, fácil, el bucle debe comenzar en cero:

Código Delphi [-]
var
  i:      integer;
  xx:     array[0..5]  of double;
  planet: array[1..12] of double;
  pName:  array[0..19] of Char;
  serr:   PChar;
  JulDay: double;
begin
  Memo1.Clear;
  JulDay:= DateTimeToJulianDate(Now);
  for i:= 0 to 10 do
  begin
    swe_calc(JulDay, i, 0, xx[0], serr);
    planet[i]:= xx[0];
    swe_get_planet_name(i, pName);
    Memo1.Lines.Add(Format('%10s:   %3.5n', [pName, planet[i]]));
  end;
end;


Código Delphi [-]
       Sun:   332,76175
      Moon:   313,82886
   Mercury:   340,89081
     Venus:   16,35077
      Mars:   273,76076
   Jupiter:   288,01368
    Saturn:   297,35349
    Uranus:   33,39225
   Neptune:   347,80923
     Pluto:   294,04669
 mean Node:   95,48878


Saludos.


La franja horaria es GMT +2. Ahora son las 12:57:59.

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