URE foro pequeñas
Programar ADIF EDI ...
 
Notificaciones
Limpiar todo

Programar ADIF EDI CABRILLO con Visual Basic, etc

EA7HV
Mensajes: 527
#610  - 30 junio, 2008 17:30 

Hola a los lectores..

..envío éste post por si alguien de vosotros le gusta la programación. Estoy buscando alguna subrutina en Visual C, Visual Basic u otro semejante que sea capaz de procesar un fichero ADIF y extraer los datos de los registros, para posteriormente implementarlo en alguna aplicación personalizada (una vez puesto lo mismo da ADIF, CABRILLO o EDI).

Saludos J.Rivero

J.Rivero EA7HV-IM77HL
Solo MAF 50, 144, 432 Mhz, proximamente 70 y 1200 Mhz.

ResponderCitar
Inició el tema
EA1CQ
Mensajes: 84
#42715  - 1 julio, 2008 14:40 

Buenas tardes.

Si por lo que sea tienes la posibilidad de conseguirlo, me interesaría también tenerlo. Me esplico, estoy barajando la posibilidad de preparar una base de datos a medida para el libro de guardia (Ya se que hay libros de guardia, pero uno está así de colgado) y claro para pasar los concursos necesitaría alguna rutina, como tú comentas. Es que eso de teclear a pelo, todos los QSO´s, no tiene gracia.

Un saludo de David

ResponderCitar
EA7DFH
Mensajes: 118
#42716  - 1 julio, 2008 19:04 

Hola

Básicamente consiste en leer un fichero línea a línea, y en cada iteración extraer cada campo ADIF ( http://www.hosenose.com/adif/adif.html ) y guardarlo en variables. Hay muchos métodos para trabajar con cadenas, pero yo personalmente uso Expresiones regulares ó Regex.
En el caso de Cabrillo o EDI es más sencillo porque siempre siguen el mismo patrón (posiciones de campos fijas en el fichero de texto)

Tengo algo hecho en VB.NET, si te interesa te lo mando a tu email.

Comenta también cómo quieres manejar los resultados, por ejemplo llenar una bd, etc...

Saludos
Jesús, EA7DFH

73 de Jesús
https://vhfchat.eu

ResponderCitar
EA7HV
Mensajes: 527
#42806  - 1 julio, 2008 19:17 

Gracias David por tu interés, 'estate' atento a éste post e iremos viendo si evoluciona el tema.

J.Rivero EA7HV-IM77HL
Solo MAF 50, 144, 432 Mhz, proximamente 70 y 1200 Mhz.

ResponderCitar
Inició el tema
EA7HV
Mensajes: 527
#42832  - 1 julio, 2008 19:36 

Hola Jesús, gracias por tu respuesta..
-envíame eso que tienes echo en VB.NET y veré si puedo sacar provecho (me refiero al código), seguro que sí.

Como tu bien sabes a los que nos gusta la programación no nos conformamos con ciertos programas ya existentes, sino que creemos nuestra propia aplicación, en mi caso estoy creando mi propio Log de Radio ( he echado un vistazo a los actuales y a todos les encuentro defectos, -no digo que no sean muy completos, pero eso les hace algo complicados, otros la interfaz es poco gráfica, etc.) yo prefiero algo sencillo, rápido de entender y adaptado a mis modos de radio, algo como de andar por casa, mejorando el aspecto gráfico al menos al actual Windows XP, debido a que la mayoría aún presenta la interfaz grafica de Windows 95. Quizás y con el paso del tiempo y mucha dedicación pueda implementarle algo más complejo si veo que merezca de utilidad.

Saludos J.Rivero

J.Rivero EA7HV-IM77HL
Solo MAF 50, 144, 432 Mhz, proximamente 70 y 1200 Mhz.

ResponderCitar
Inició el tema
EA7DFH
Mensajes: 118
#42834  - 1 julio, 2008 21:27 

Hola

Te paso un enlace donde podrás revisar el código. Si hay algo que no entiendes, dímelo:

http://ea7dfh.es/codigo.html

Espero que te sirva, pertenece a una aplicación mía "MapLoc"

73 de Jesus

73 de Jesús
https://vhfchat.eu

ResponderCitar
EA5ELF
Mensajes: 494
#42717  - 13 julio, 2008 11:45 

Si te sirve de ayuda esto es lo contrario, exportar mi log personal a ADIF en visual basic.

Private Sub exportar_Click()
Open "C:EA5ELFLOGlog.adi" For Output As #1
Dim Estacion As String
Dim Fecha As String
Dim Fechabuena As String
Dim Hora As String
Dim Frecuencia As Integer
Dim Banda As String
Dim RST As String
Dim Modo As String
Dim Registro As String
Dim Consulta As String
Dim I
Consulta = "select * from log order by fecha"
Data3.RecordSource = Consulta
Data3.Refresh
For I = 1 To Data3.Recordset.RecordCount
Estacion = Data3.Recordset.Estacion
Fecha = Data3.Recordset.Fecha
Hora = Data3.Recordset.Hora
Frecuencia = Data3.Recordset.Frecuencia
Modo = Data3.Recordset.Modo
Fechabuena = Mid(Fecha, 7, 4) + Mid(Fecha, 4, 2) + Mid(Fecha, 1, 2)
RST = Data3.Recordset.mi_rst
Select Case Frecuencia
Case 1 To 2
Banda = "160M"
Case 3 To 4
Banda = "80M"
Case 7 To 8
Banda = "40M"
Case 10 To 11
Banda = "30M"
Case 14 To 15
Banda = "20M"
Case 18 To 19
Banda = "17M"
Case 21 To 22
Banda = "15M"
Case 24 To 25
Banda = "12M"
Case 28 To 30
Banda = "10M"
Case 50 To 54
Banda = "6M"
Case 144 To 146
Banda = "2M"
Case 430 To 440
Banda = "70CM"
End Select
Registro = "" + Estacion + "<qso_date:" + Str(Len(Fechabuena)) + ":D>" + Fechabuena + "" + Hora + "" + Banda + "" + Modo + "" + RST + ""
Print #1, Registro
Data3.Recordset.MoveNext
Next I
Close
End Sub

ResponderCitar
EA7HV
Mensajes: 527
#42718  - 13 julio, 2008 18:29 

Gracias Salvador por la molestia..

Aún no me he puesto a trabajar en el código para exportar mi Log, pero tarde o temprano he de hacerlo, he supuesto que sería más fácil una vez tenga aclarado todo lo referente a ADIF y trabajar sus campos. Como prioridad para mi aplicación era la de importar; logs antiguos de otras aplicaciones, logs de concursos, etc..
Entre todos estoy recopilando la idea más acertada y cómoda para realizar mi aplicación, tendré en cuenta tu código y la forma en que lo haces, con un fichero de texto simple supongo que es lo más fácil y rápido. Gracias.

J.Rivero EA7HV-IM77HL
Solo MAF 50, 144, 432 Mhz, proximamente 70 y 1200 Mhz.

ResponderCitar
Inició el tema
EA5ELF
Mensajes: 494
#42719  - 13 julio, 2008 18:42 

No recuerdo donde, pero encontre un pdf explicando la sintaxis de las cadenas que debe llevar el formato adif, de ahí tambien puedes sacar información.

ResponderCitar
EA7P
 EA7P
Mensajes: 1021
#42720  - 13 julio, 2008 21:16 

Hola Juan, saludos desde El Gastor, jeje ;) Te adjunto el archivo que dice Salvador pues está muy bien: [file name=el_formato_ADIF.pdf size=64738] https://www.ure.es/wp-content/uploads/wpforo/default_attachments/media/kunena/attachments/legacy/files/el_formato_ADIF.pdf [/file]

Visita mi Radio-Web: https://EA7P.ure.es

ResponderCitar

QDURE - https://qsl.ure.es


Imprime y confirma tus QSL en tan solo tres click.

Nunca fue tan fácil y cómodo
el confirmar tus contactos.

TIENDA ONLINE URE


Publicaciones, mapas, polos, camisetas, gorras, tazas, forros polares y mucho más...

WEBCLUSTER EA4URE


Conoce el nuevo WebCluster de URE, ahora con nuevos filtros e información y compatible con GDURE