Ver Mensaje Individual
  #1  
Antiguo 16-02-2007
Avatar de armadillo
armadillo armadillo is offline
Miembro
 
Registrado: abr 2005
Posts: 35
Reputación: 0
armadillo Va por buen camino
Question 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:
/*---- LONGITUDES CAMPOS -------------------------------------------------*/
#define DLC_COD 10 // Códigos
#define DLC_CAR 16 // Código artículo
#define DLC_SCA 40 // Subcódigo almacén
#define DLC_COS 20 // Centro de coste
#define DLC_CLA 10 // Clasificaciones
#define DLC_NOM 60 // Nombre
#define DLC_NRE 35 // Nombre reducido
#define DLC_DIR 60 // Dirección
#define DLC_CPO 10 // Cóigo postal
#define DLC_POB 40 // Població
#define DLC_PRV 30 // Provincia
#define DLC_CPA 2 // Cóigo país
#define DLC_PAI 30 // Paí
#define DLC_CIF 14 // CIF
#define DLC_TFN 18 // Teléfono
#define DLC_EMA 50 // E-Mail
#define DLC_IBA 30 // IBAN


/*---- CLIENTES ----------------------------------------------------------*/
typedef struct {
/*---- Datos registro */
MDR dr;
/*---- Datos personales */
char cod[DLC_COD],nom[DLC_NOM];
char dir[DLC_DIR],cpos[DLC_CPO],pob[DLC_POB];
char prov[DLC_PRV],cpais[DLC_CPA],pais[DLC_PAI];
char nomc[DLC_NOM],cif[DLC_CIF];
char tfn[2][DLC_TFN],fax[DLC_TFN],email[DLC_EMA];
/*---- Enlaces */
char rep[DLC_COD],fcli[DLC_COD];
char web[60];
/*---- Clasificaciones */
char cla[2][DLC_CLA];
char nomabr[20];
/*---- Datos cobro */
char forpa[DLC_COD];
char domico[24],dirco[24],iban[DLC_IBA];
short dpm[3],dps[2],dfac[3];
FEC dpv1[3],dpv2[3];
char ajupa;
double riemax;
/*---- Datos retenciones */
char rcta[DLC_COD];
float rpor;
char fRetBas;
/*---- Datos especiales */
char blo,riva,tipexe,afac,aval;
short cfac;
char prcco[10];
/*---- Datos varios */
char obs[2][60],obsdoc[60],libuso[3][40];
/*---- Datos envio */
char diren[5][DLC_DIR];
char cposen[5][DLC_CPO],poben[5][DLC_POB];
char proven[5][DLC_PRV],cpaisen[5][DLC_CPA],paisen[5][DLC_PAI];
char foren[5][20],porpd[5];
char tfne[5][2][DLC_TFN],faxe[5][DLC_TFN];
char emaile[5][DLC_EMA];
/*---- Datos contactos */
char perc[4][60],carc[4][30],tfnc[4][DLC_TFN],emailc[4][DLC_EMA];
/*---- Reserva */
char reserva[26];
} CLI;
Aclaro una cosa el dato MDR es otra estructura declarada anteriormente, con que solo me digan como pasar esto a Delphi me sirve.

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
Responder Con Cita