![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
Aca dejo un ejemplo del codigo con el que estoy trabajando
Lo que quisiera es que me llene un array que se llame planeta[i], donde planeta es xx[0] y el elemento i es
Atento a sus comentarios |
|
#2
|
||||
|
||||
|
El asunto es que en una "marea" de codigo es facil perderse:
http://www.dreamsongs.com/ObjectsHaveNotFailedNarr.html Cita:
Asi, por ejm:
Nota bien lo interesante. Usando records/clases como si modelaras las "tablas" de una BD vas dandole forma a la estructura conceptual del programa, y al usuarlo en funciones/metodos se vuelve claro cual es el flujo de este: "medir TPlaneta me retorna un TPlanetaMedicion". El programa se AUTO DOCUMENTA cuando usas los nombres/clasificaciones/tipos de datos adecuados. De allí es copiar datos y calcular. Ademas, en Delphi tienes enumeraciones y sets, que son superiores (logicamente) que clavar constantes como ocurre con SE_MERCURY y similares. Aunque pueden haber expeciones, si un metodo/funcione tiene "muchas" lineas *tal vez* es buena idea partirlo en sub rutinas (o agregas marcas con comentario en las secciones). El truco que dice Fred Brooks es que estructurar los datos clarifica el programa mientras el codigo "duro" lo obscurece. Con respecto a copiar arrays, es mejor que aprendas como usar iteraciones y LOW/HIGH para capturar las posiciones del mismo: http://www.delphibasics.co.uk/Article.asp?Name=Arrays
__________________
El malabarista. Última edición por mamcx fecha: 20-02-2020 a las 21:22:27. |
|
#3
|
||||
|
||||
|
De entrada y sin entrar en el funcionamiento del código veo que tienes una unit con las definiciones para usar swedll32.dll desde delphi. Eso implica que debes incluirla en el uses y no repetir de nuevo nada.
Tu código debe quedar mucho más sencillo y resumiendo esto es la parte que interesa:
El código es un galimatías. Debes ir con orden. Primero inicializaciza los ComboBox en funciones de inicio o en el Form.Create. Luego darás funcionalidad a los botones... Debes estudiar el uso de esa dll pues al parecer debes inicializar con una ruta que debe contener previamente algunos archivos y quizás requiera más acciones. Este punto es básico y piensa que probablemente ninguno de nosotros estamos familiarizados con esa dll, ese es tu cometido. Cuando requieras preguntar alguna cosa concreta, trata de aislar en lo posible el código que te preocupa y que sea suficiente para entenderte pero no tán sobrecargado que se pierdan las ganas de leerlo. Saludos. Última edición por escafandra fecha: 20-02-2020 a las 22:19:05. |
|
#4
|
||||
|
||||
|
Ahora fíjate en este código:
El array es asignado correctamente, otra cosa es que los valores sean los experados. Fíjate que arroja un error serr = 'SwissEph file 'seplm48.se1' not found in PATH 'c:\sweph\ephe\'' para todos los valores de i hasta para I=10. Para i= 11 el error es 'SwissEph file 'semom48.se1' not found in PATH 'c:\sweph\ephe\'' y para i=12 no falla Esto quiere decir que en ese path deben existir previamente esos archivos y probablemente alguno más. Entonces la pregunta no es como rellenar un array, sino como manejar swedll32.dll para conseguir el array que esperamos. Saludos. Última edición por escafandra fecha: 20-02-2020 a las 23:55:10. |
|
#5
|
||||
|
||||
|
Pero si lo usamos así:
Entonces no hay errores y los valores son: Cita:
Saludos. |
|
#6
|
|||
|
|||
|
Hola Escafandra
Te anexo el archivo con el projecto completo (Puse el link ya que no me deja ponerlos adjuntos ) https://www.astro.com/ftp/swisseph/sweph.zip La Dll hace los calculos, pero existen unos archivos .se1 que aunque arrojan error no son necesarios (Son para calculo de asteroides) La variable xx[0] se espera que arroje la longitud o posicion planetaria del sol, luna, mercurio, venus, marte, jupiter, saturn, urano, neptuno y pluton Son 10 planetas, asi que seria del 1 al 10 |
|
#7
|
|||
|
|||
|
Para la fecha de hoy esto es lo que se espera
deltat: 69.5103960890 sec jul. day: 2458900.50000000 UT Sun 331.8094127618 Moon 302.2187037435 Mercury 341.5633697228 Venus 15.2722542439 Mars 273.1099711227 Jupiter 287.8282244089 Saturn 297.2549903731 Uranus 33.3602165722 Neptune 347.7743860929 Pluto 294.0205054947 mean Node 95.5387999697 true Node 97.1857573215 Sid. time 10.5957212216 ARMC 158.9358183233 ascendant 230.7646482310 MC 157.2282506635 vertex 92.2206035689 house 1 230.7646482310 house 2 261.2501400084 house 3 298.8634035392 house 4 337.2282506635 house 5 8.4105200249 house 6 32.0604837022 house 7 50.7646482310 house 8 81.2501400084 house 9 118.8634035392 house 10 157.2282506635 house 11 188.4105200249 house 12 212.0604837022 |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|