Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-05-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Investigando un poco mas encontré esta pagina donde te puedes descargar un pdf con la estructura de cada uno de esos bloques de los que hablaba.

http://www.boe.es/g/es/bases_datos/d.../81422&codmap=

Son mas de 200 paginas, así que me parece que yo lo dejo aquí.
Responder Con Cita
  #2  
Antiguo 18-05-2007
socger socger is offline
Miembro
 
Registrado: jun 2004
Posts: 89
Poder: 23
socger Va por buen camino
Gracias seoane ... pero tengo esta duda

No he usado nunca este tipo de ficheros, lo cual es un problema para mí. Podrías documentarme ... alguna ayuda o link ... donde pueda ver como se trabajan con los ficheros de este tipo

---
cita tuya:

type
TCabecera = packed record
FID: Word;
Tipo: Byte;
Longitud: Word;
end;

---

Y aún documentándome he visto que estos ficheros elementales que vienen ahora dependen o se crean con la longitud que se consiga en el campo Longitud de tipo Word que creastes, es decir que cambian su longitud debido al campo Longitud.

¿Serías tan amable de por lo menos decirme como crearlo en TCabecera?

No se como ayudarte, en la medida que yo pudiera, pero te garantizo que esta ayuda que me prestas me va a hechar un buen cable. De todos modos me presto para lo que hiciera falta.

Saludos

Última edición por socger fecha: 18-05-2007 a las 09:56:45.
Responder Con Cita
  #3  
Antiguo 18-05-2007
socger socger is offline
Miembro
 
Registrado: jun 2004
Posts: 89
Poder: 23
socger Va por buen camino
Perdón. Es un fallo

Perdón es un fallo.

Gracias a todos por la ayuda. No se por donde habría tirado sin vuestra ayuda, la de todos.

Ya voy encontrando cielos abiertos gracias a vosotros.

Pero como he comentado en la anterior consulta sigo con problemas. No conozco los ficheros de este tipo. Podríais ver la nota anterior y comentarme que hacer.

Gracias
Responder Con Cita
  #4  
Antiguo 18-05-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Cita:
Empezado por socger
Pero como he comentado en la anterior consulta sigo con problemas. No conozco los ficheros de este tipo. Podríais ver la nota anterior y comentarme que hacer.
No entiendo tu pregunta. En mi código no utilizo ficheros con tipo, no tendría mucho sentido, ya que los registros tienen un tamaño variable. Lo que si sabemos es que cada "elemento" del fichero tiene el mismo encabezado, y si que tenemos el tamaño de ese encabezado.

Así que lo que hago es leer el encabezado, determinar el tamaño de los datos y leerlos. Si te fijas en la siguiente instrucción:
Código Delphi [-]
  ReadBuffer(Datos^,Cabecera.Longitud);
Leemos en el buffer "Datos", el contenido de ese bloque. Una vez en memoria, ya veras tu lo que tienes que hacer con el. En el enlace que te di, parece que explican la estructura de cada uno de estos bloques, pero sus mas de 200 paginas me desaniman bastante a leerlo.

Si me permites un consejo, creo que, si no estas familiarizado con el tratamiento de ficheros y el de estructuras en memoria, el proyecto puede que te resulte demasiado complicado. La parte que yo puse es lo mas básico, luego viene interpretar cada bloque, y ya no hablemos de la parte de cifrado ....
Responder Con Cita
  #5  
Antiguo 18-05-2007
socger socger is offline
Miembro
 
Registrado: jun 2004
Posts: 89
Poder: 23
socger Va por buen camino
Gracias SEONAME

Sobre tu cita:

--------------------------------------------------------------------
Si me permites un consejo, creo que, si no estas familiarizado con el tratamiento de ficheros y el de estructuras en memoria, el proyecto puede que te resulte demasiado complicado. La parte que yo puse es lo mas básico, luego viene interpretar cada bloque, y ya no hablemos de la parte de cifrado ....
---------------------------------------------------------------------

Si es cierto no estoy familiarizado con esta estructura de ficheros que usas fileStream ni con estructuras en memoria (aunque aprendo rápido), por eso te pedí algun link o documento que me familiarizase sobre esta estructura de datos. Y bueno por eso te seguiría pidiendo que me documentases el paso a seguir para aprender más sobre todo esto.

En cuanto al cifrado de datos este boe que me pasastes, a poco que estoy viendo, es bastante extenso y poco documentativo. Pero espero que superando la primera parte que te comenté antes me pase rápidamente a la siguiente.

Chaval, muchas gracias de todos modos y lo dicho me teneis para lo que os haga falta en este foro. De momento voy a seguir subiendo todo lo que vaya descubriendo sobre este tema.

Saludos, pero antes agradezco toda ayuda suministrada.
Responder Con Cita
  #6  
Antiguo 18-05-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Cita:
Empezado por socger
Si es cierto no estoy familiarizado con esta estructura de ficheros que usas fileStream
Ahora ya voy entendiendo. Te referías al uso de streams. Los streams se utilizan para escribir y leer datos de forma sencilla. Hay diferentes tipos de stream que permiten leer y escribir en diferentes medios: archivos, memoria, sockets, campos BLOB, etc ... pero todos ellos descienden de la clase TStream y disponen de los métodos Read y Write para leer y escribir.

Yo me he acostumbrado a utilizarlos a la hora de tratar ficheros, son bastante cómodos. Pero hubiera sido lo mismo, si utilizáramos un fichero sin tipo, los de toda la vida, y las funciones Blockread y Blockwrite para leer y escribir. Si quieres saber como funcionan los Stream, revisa la ayuda sobre la clase TFileStream.

Una explicación rápida, para empezar:
Código Delphi [-]
// Método Read de la clase TFileStream. Lee en una variable tantos bytes como
// se le indique. En este caso lee en la variable "Cabecera" tantos bytes como 
// mide la propia variable. La función devuelve el número de bytes leídos.
Read(Cabecera,Sizeof(Cabecera))

Código Delphi [-]
// La función ReadBuffer es similar a Read, solo que si no se consiguen leer
// todos los bytes que se ordenaron, se provoca una excepción.
// En este caso queremos almacenar los datos en la porción de memoria apuntada
// por el puntero "Datos". Por eso utilizamos ^ después del nombre del puntero.
ReadBuffer(Datos^,Cabecera.Longitud);

En cuanto a como analizar las diferentes estructuras, ya depende de como sean. Si tienen un tamaño fijo, a lo mejor podemos utilizar punteros. Si no, deberemos de estudiar en cada caso como hacerlo.

Como ya dije no es nada fácil, pero no quería desanimarte con mi anterior mensaje, aunque leyéndolo ahora veo que me salio un poco pesimista . Yo empezaría por familiarizarme con los ficheros (leer, escribir, etc ...) para luego entrar a interpretar los datos. En cualquier caso tienes por delante muchas horas de lectura
Responder Con Cita
  #7  
Antiguo 22-05-2007
socger socger is offline
Miembro
 
Registrado: jun 2004
Posts: 89
Poder: 23
socger Va por buen camino
Llevo este ejemplo realizado

He realizado de momento este código. (lector tacografos.zip)

Os agradecería que le hecharais un vistazo pues tengo dudas. He implementado en el código partes del BOE para aclarar los campos, el BOE es por ejemplo el que se encuentra en uno de los links de seoane

DUDAS:
Por ejemplo, no se que tipo de variables son las que me he topado en el BOE como por ejemplo OCTET STRING, en concreto me he topado con OCTET STRING (SIZE(5)) que lhe usado un ShortString pero no se si está bien (Ver. Card_Approval_Number)

Tampoco se que tipo de variable son IA5String(size(8)) así que también he usado un ShortString, pero creo que también está mal

Otros OCTET STRING como los he asignado a byte y a word dependiendo de que su parte SIZE tuviera 1 o 2. Y he capturado bien los datos. En el ejemplo proyecto podeis verlo con el fichero TGD que pasé en una consulta anterior de este hilo.

Pero en concreto con los campos Card_Approval_Number y Embedder_Ic_Assembler_Id no me displaya bien los datos (en blanco)

Os agradecería que le hecharais un vistazo al código y me pudieseis decir en que fallo y si veis algún fallo en la programación o mejora también os lo agradecería.

Gracias a todos por la ayuda.

PD. En el fichero 'ficheros TGD.zip' os paso más ficheros TGD para que podais hacer pruebas.
Archivos Adjuntos
Tipo de Archivo: zip Lector tacógrafos.zip (10,9 KB, 154 visitas)
Tipo de Archivo: zip ficheros TGD.zip (15,5 KB, 137 visitas)

Última edición por socger fecha: 22-05-2007 a las 13:04:51.
Responder Con Cita
  #8  
Antiguo 25-03-2008
josejm josejm is offline
Miembro
 
Registrado: abr 2006
Posts: 21
Poder: 0
josejm Va por buen camino
Enhorabuena por este gran foro.

Estoy alucinando, cada dia mas con www.clubdelphi.com, aqui he resuleto el 80% de mis dudas en casi todos los temas. Estoy desarrollando en delphi desde hace ya 6 años y es alucinante, como crecemos entre todos.

Última edición por josejm fecha: 25-03-2008 a las 15:01:37.
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
Huellas Digitales Viky Varios 6 17-01-2007 18:38:18
Atacar el ToolBarWindows32 mangi API de Windows 0 28-04-2006 13:07:58
Atacar cartografías tipo Map Point o NafTec socger Varios 3 23-12-2005 10:04:09
¿Con .Net que bases de datos puedo atacar y como??? burasu .NET 4 17-09-2005 12:16:05
Atacar tablas Paradox con ADO. Chojj Conexión con bases de datos 2 02-07-2003 20:50:12


La franja horaria es GMT +2. Ahora son las 23:02:18.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi