![]() |
Manipulacion de Ficheros en Pascal
Hola Foristas!!!
A ver si me pueden dar una mano, necesito si o si y no tengo otra alternativa, que acceder a un archivo/fichero del tipo .DAT, de los que cuando estudiabamos utilizabamos en nuestros primeror programillas de "Agenda". Uso Delphi 7, el agrabante que tengo con este fichero, es que pertenece a una aplicacion hecha en C, al estructura de este archivo es la siguiente: Cita:
Al comienzo del fichero hay 2048 bytes de cabecera reservada en los que actualmente se guarda la versión del fichero y luego vienen los registros uno tras otro con esa estructura. El problema que tengo no es que no sepa trabajar con ficheros y estructuras de registros en Delphi, el problema lo tengo en que no tengo ni idea de C (Fui un negado toda la vida) :-( Por eso es que acudo a vosotros, a ver si me pueden traducir esta estructura en registros o sea, traducir el Struct en Record... Muchas gracias por vuestra ayuda |
Es muy facil. Tienes que cambiar el typedef struct {...} CLI por record ... end y dentro substituir los char cod[DCL_COD]... por cod: array[1..DCL_COD] of char.
Los #define DCL_COD 10 ... los sustituyes por const DCL_COD=19; .... short dpm[3] --> dpm: array[1..3] of shortint char ajupa --> ajupa: char; double riemax --> riemax: double; float rport --> rport: single; char diren[5][DCL_DIR] --> diren: array[1..5,1..DCL_DIR] of char; etc, |
Sebastian Gracias...
:eek: Me has abierto los ojos jejeje, a veces cuando uno no sabe algo, parece que se ha metido en un laberinto sin salida y le parecen las cosas muy dificiles.... Pues nada, nuevamente gracias y una cosa mas que se aprende... |
Sebastian tengo un problema parecido a ver mque me aconsejas, los ficheros que poseo son binario y estan hechos en el viejo lenguaje GWBASIC, donde laboro me han preguntado si puedo transformar esos ficheros a CVS. ¿se pueden leer esos ficheros realizados bajo ese lenguaje y conociendo la longitud de los campos?, si es asi como????
|
Tienes que conocer muy bien la estructura del fichero y la extension de sus campos en bytes para poder aplicar el mismo tipo de variables en delphi. Por lo demas no creo que haya ningun problema a la hora de leer el fichero pues la escritura del fichero es independiente del lenguaje siempre y cuando se empleen los mismos tipos de datos. Otra cosa seria la codificacion de los numeros en coma flotante que si es IEEE no hay problema pero si no habria que descodificarlos al convenio de delphi. De todos modos se puede leer la informacion byte a byte abriendo el fichero como file of byte...
|
La franja horaria es GMT +2. Ahora son las 10:08:41. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi