Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-02-2020
compuin compuin is offline
Miembro
 
Registrado: oct 2010
Posts: 210
Poder: 14
compuin Va por buen camino
Llenar array

Hola amigos, estoy tratando de crear un array de la siguiente forma



Código Delphi [-]
planet    : array[1..12] of double;

Código Delphi [-]
{ Calculo de los Planetas }
      for i := SE_SUN to SE_MEAN_NODE do
        begin
          swe_calc_ut(Date.JulDay, i, iflag, xx[0], serr);

          { Coordenadas Eclipticas }
          lg:= xx[0];    //Longitud
          lt:= xx[1];    //Latitud

          for i:= 1 to 12 do
               planet[i]:= xx[0];

Lo cieeto es que no funciona

Alguna sugerencia ?
Responder Con Cita
  #2  
Antiguo 17-02-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Qué es se_sun?
¿Qué es se_mean_node?
¿Qué es swe_calc_ut?
¿Qué es iflag?
¿Qué es xx?
¿Qué es serr?
¿Qué es lg?
¿Qué es lt?
Y aparte de eso, ¿qué es lo que no funciona?
Y pon todo tu código involucrado.

Cita:
Empezado por compuin
Lo cieeto es que no funciona
Alguna sugerencia ?
Responder Con Cita
  #3  
Antiguo 17-02-2020
compuin compuin is offline
Miembro
 
Registrado: oct 2010
Posts: 210
Poder: 14
compuin Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Qué es se_sun?
¿Qué es se_mean_node?
¿Qué es swe_calc_ut?
¿Qué es iflag?
¿Qué es xx?
¿Qué es serr?
¿Qué es lg?
¿Qué es lt?
Y aparte de eso, ¿qué es lo que no funciona?
Y pon todo tu código involucrado.
Código Delphi [-]
var
  i, iflag  : integer;
  xx     : Array[0..5] of double;
  serr   : Array[0..255] of Char;
  hcusps : array[0..12] of double;
  lg, lt : double;

Esta es la funcion

Código Delphi [-]
function swe_calc_ut(tjd         : double;    {Julian day, Universal Time}
                     ipl         : Integer;   {planet number}
                     iflag       : Longint;   {flag bits}
                     var xx      : double;    {first of 6 doubles}
                     sErr        : PChar      {Error-String}
): Longint; stdcall; far; external 'swedll32.dll' name '_swe_calc_ut@24';

Código Delphi [-]
var xx
devuelve lo siguiente

xx =array of 6 doubles for longitude, latitude, distance, speed in long., speed in lat., and speed in dist.

Necesito que me devuelva xx=0;
Responder Con Cita
  #4  
Antiguo 17-02-2020
compuin compuin is offline
Miembro
 
Registrado: oct 2010
Posts: 210
Poder: 14
compuin Va por buen camino
Necesito es

Código Delphi [-]
result := planet[i];
Responder Con Cita
  #5  
Antiguo 17-02-2020
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 22
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Yo necesito tantas cosas....
Responder Con Cita
  #6  
Antiguo 17-02-2020
compuin compuin is offline
Miembro
 
Registrado: oct 2010
Posts: 210
Poder: 14
compuin Va por buen camino
Cita:
Empezado por cloayza Ver Mensaje
Yo necesito tantas cosas....
Que te puedo decir....
Responder Con Cita
  #7  
Antiguo 17-02-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por compuin Ver Mensaje
Necesito que me devuelva xx=0;
No se entiende nada, y de todas formas, si quieres que devuelva xx=0, entonces ¿para qué quieres la función?
Responder Con Cita
  #8  
Antiguo 17-02-2020
compuin compuin is offline
Miembro
 
Registrado: oct 2010
Posts: 210
Poder: 14
compuin Va por buen camino
Que no entiendes? Te puse toda la informacion que me pedistes
Responder Con Cita
  #9  
Antiguo 17-02-2020
compuin compuin is offline
Miembro
 
Registrado: oct 2010
Posts: 210
Poder: 14
compuin Va por buen camino
Lo que requiero es que el resultado de lg:= xx[0]; lo pueda agregar a un array que llamo planet[i]
Responder Con Cita
  #10  
Antiguo 18-02-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por compuin Ver Mensaje
Lo que requiero es que el resultado de lg:= xx[0]; lo pueda agregar a un array que llamo planet[i]

Código Delphi [-]
planet[i] := lg;
planet[i] := xx[0];
Eso es correcto.


Cita:
Empezado por compuin Ver Mensaje
Lo cierto es que no funciona. Alguna sugerencia ?
No se entiende si no funciona porque no compila o porque el valor esperado no es el correcto. En el segundo caso es imposible saber porqué, ya que no podemos ejecutarlo.

Cita:
Empezado por compuin Ver Mensaje
devuelve lo siguiente
Necesito que me devuelva xx=0;
No se entiende.
Difiere de la pregunta origional.

Cita:
Empezado por compuin Ver Mensaje
Necesito es
result := planet[i];
Pues lo mismo, esto es otra cosa y lo que pones es correcto.

Código Delphi [-]
result := planet[i];
Esto es iuna asignación y es correcta. Otra cosa es que te devuelva un valor que no esperas, pero eso para nosotros en IMPOSIBLE saber porqué pasa.

Cita:
Empezado por compuin Ver Mensaje
Que no entiendes? Te puse toda la informacion que me pedistes
Si te das cuenta, y es lo que creo que te intentan explicar de una forma más o menos clara, es que has puestos mucha información, pero sin orden y sin una explicación clara.
Has puesto información inconexa, desordenada y todavía no queda claro cual es la pregunta.

Te recomiendo que reformulaes la pregunta y la releas antes de publicarla.
Des los datos relevantes y preguntes algo concreto.
__________________
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.

Última edición por Neftali [Germán.Estévez] fecha: 18-02-2020 a las 12:11:34.
Responder Con Cita
  #11  
Antiguo 18-02-2020
engranaje engranaje is offline
Miembro
 
Registrado: may 2011
Posts: 163
Poder: 13
engranaje Va por buen camino
Después de lo que te han explicado para que tus preguntas sean lo suficientemente claras. Hago un apunte sobre el código que has pegado. Tienes un For dentro de otro fFor y la variable que se utiliza en ambos es "i".

En la primera iteración sobre "for i := SE_SUN to SE_MEAN_NODE do" el valor de "i" será SE_SUN.

Ahora adivinando el resto del código que no has puesto, deduzco que en la siguiente iteración sobre "for i := SE_SUN to SE_MEAN_NODE do" "i" valdrá 12.

En ese momento puede suceder que SE_MEAN_NODE sea menor que 12 en cuyo caso se saldrá del For tras solo una iteración, pero si SE_MEAN_NODE es mayor que 12 entonces lo más probable es que nunca jamás puedas salir del primer For.

Deberías reformular la pregunta cómo te han dicho. De todas formas, yo me aseguraría de que realmente necesitas que los dos For utilicen la misma variable. Es más diría que mi Delphi al menos cuando intenta compilar algo así muestra un error del tipo "Assignment to FOR-Loop variable 'i'"

Última edición por engranaje fecha: 18-02-2020 a las 16:13:12.
Responder Con Cita
  #12  
Antiguo 19-02-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Otra opción que no se utiliza mucho, pero que es muy útil es subir un pequeño proyecto (código) sólo con la parte del código a examinar y en ese caso el muy fácil descargarlo, abrirlo y revisar el comportamiento.

NOTA: Es importante crear un proyecto dummy sólo con el código que da problemas, no como algunos de nuestros clientes, que les pides un ejemplo de código que reproduzca un error y te envían la aplicación completa con 15.000 líneas de código...
__________________
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.
Responder Con Cita
  #13  
Antiguo 19-02-2020
compuin compuin is offline
Miembro
 
Registrado: oct 2010
Posts: 210
Poder: 14
compuin Va por buen camino
Neftali, saludos y muchas gracias por tu respuesta, es muy educado de tu parte.

Reconozco que no tengo mucha experiencia en programación pero eso no justifica que ciertos foristas respondan un post mío en forma grosera o peyorativa. Si no les gusta lo que pregunto, simplemente no participen ni respondan.

Respeto ante todo.
Responder Con Cita
  #14  
Antiguo 19-02-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por compuin Ver Mensaje
...eso no justifica que ciertos foristas respondan un post mío en forma grosera o peyorativa.

Personalmente creo que nadie ha sido grosero. Tal vez un poco de ironía y de humor.
Es una forma de pedirte que hagas las preguntas dedicándoles un poco de tiempo. Al final la gente intenta ayudarte, sino piensa que nadie hubiera respondido.
__________________
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.
Responder Con Cita
  #15  
Antiguo 19-02-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Dónde está la grosería? Solamente son muchas dudas.

Cita:
¿Qué es se_sun?
¿Qué es se_mean_node?
¿Qué es swe_calc_ut?
¿Qué es iflag?
¿Qué es xx?
¿Qué es serr?
¿Qué es lg?
¿Qué es lt?
Y aparte de eso, ¿qué es lo que no funciona?
Y pon todo tu código involucrado.

No se entiende nada, y de todas formas, si quieres que devuelva xx=0, entonces ¿para qué quieres la función?
Responder Con Cita
  #16  
Antiguo 19-02-2020
compuin compuin is offline
Miembro
 
Registrado: oct 2010
Posts: 210
Poder: 14
compuin Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Personalmente creo que nadie ha sido grosero. Tal vez un poco de ironía y de humor.
Es una forma de pedirte que hagas las preguntas dedicándoles un poco de tiempo. Al final la gente intenta ayudarte, sino piensa que nadie hubiera respondido.
Respeto antes que nada, las ironias creo estan de mas
Responder Con Cita
  #17  
Antiguo 19-02-2020
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola compuin.

Leí todos tus mensajes y no entiendo el problema. Sincenramente creo que es por que la información que nos das es escasa o inconéxa.

En esto de comunicarnos es fundamental que nos pongamos de acuerdo, tanto el emisor como el receptor.
No me cabe duda alguna que tu intención era explicar el problema lo mejor posible así como también, que los que participaron en las respuestas tuvieron la firme intención de ayudarte desinteresadamente como siempre lo hacen.

Lo importante aquí, creo yo, es que soluciones tu problema y no seguir en discuciones inconducentes. Rebobinemos y por favor plantea el problema de otro modo ya que del anterior no logramos entenderlo.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #18  
Antiguo 19-02-2020
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Yo tampoco entiendo bien el asunto, faltan cosas. Creo que lo que pretende compuin es algo como esto:

Código Delphi [-]
var
  i, iflag: integer;
  xx:       array[0..5] of double;
  planet:   array [1..12] of double;
  serr:     PChar;
begin
  for i:= 1 to 12 do
  begin
    swe_calc_ut(Date.JulDay, i, iflag, xx[0], serr);
    planet[i]:= xx[0];
  end;
end;

Asumiendo que:
1.- Los indices de planeta van de 1 a 12 (pueden ser 0-11) según la función no documentada swe_calc_ut
2.- La fecha se sabrá y se inicializará.
3.- iflag se conocerá y se inicializará.

Saludos.
Responder Con Cita
  #19  
Antiguo 19-02-2020
compuin compuin is offline
Miembro
 
Registrado: oct 2010
Posts: 210
Poder: 14
compuin Va por buen camino
Hola escafandra

Efectivamente, tanto la fecha como iflag estan inicializados

Esta es la funcion como tal

Código Delphi [-]
function swe_calc_ut(tjd         : double;    {Julian day, Universal Time}
                     ipl         : Integer;   {planet number}
                     iflag       : Longint;   {flag bits}
                     var xx      : double;    {first of 6 doubles}
                     sErr        : PChar      {Error-String}
): Longint; stdcall; far; external 'swedll32.dll' name '_swe_calc_ut@24';
Responder Con Cita
  #20  
Antiguo 19-02-2020
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Cita:
Empezado por compuin Ver Mensaje
Respeto antes que nada, las ironias creo estan de mas
Tienes razón, no faltaba mas que alguien vaya y se mofe de tu falta de conocimientos técnicos para exponer el problema, de los problemas de redacción, y mucho menos de la falta de claridad. O hasta de pronto de la falta de comprensión lectora, Porque ya leíste la guia de estilo cierto?

En fin, tienes razón.

Cita:
Empezado por ecfisa Ver Mensaje
Hola compuin.

Leí todos tus mensajes y no entiendo el problema. Sincenramente creo que es por que la información que nos das es escasa o inconéxa.
¡Vaya, vaya! Que ecfisa no te halla comprendido muestra lo mal explicado que está.

Cita:
Empezado por compuin Ver Mensaje
Hola escafandra

Efectivamente, tanto la fecha como iflag estan inicializados

Esta es la funcion como tal

Código Delphi [-]
function swe_calc_ut(tjd         : double;    {Julian day, Universal Time}
                     ipl         : Integer;   {planet number}
                     iflag       : Longint;   {flag bits}
                     var xx      : double;    {first of 6 doubles}
                     sErr        : PChar      {Error-String}
): Longint; stdcall; far; external 'swedll32.dll' name '_swe_calc_ut@24';
Y... me quedo sin saber aún cual es el problema, porque no funciona, como quieres que funcione, si van a sacar una segunda película de The Joker.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
LLenar Array con Query RaulA Conexión con bases de datos 2 22-11-2012 16:53:58
Array dentro de un Array Holger PHP 4 03-01-2012 17:27:44
Llenar un array donpedro Varios 5 12-08-2011 16:29:07
llenar array con consulta JULIOCTORRESG Varios 11 02-03-2007 15:13:04
Como Asignar Variable Tipo Array de Tform a otro Array del Mismo tipo morfeo21 Varios 5 17-08-2004 17:39:51


La franja horaria es GMT +2. Ahora son las 10:32:25.


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
Copyright 1996-2007 Club Delphi