Ciao a tutti!
Ho la necessità di importare dei dati (anagrafica clienti) da un file in formato esadecimale .DAT (provengono da un vecchissimo gestionale che girava in DOS) su un foglio di Excel, oppure su un database Access (ma mi andrebbe bene anche un semplice file di testo separato da virgole, CSV).
Ho aperto il file (clienti.dat) con un editor esadecimale (in questo caso PSPad, fantastico), per studiarmi la struttura di questo piccolo "database".
Allora, in pratica ogni scheda cliente occupa 256 caratteri (una matrice 16x16 di caratteri), di cui:
- i primi 8 sono il codice cliente
- i seguenti 32 sono la ragione sociale
- i seguenti 32 sono l'indirizzo (via e numero)
- i seguenti 5 sono il CAP
- i seguenti 29 sono la citta
- i seguenti 2 sono la provincia
- i seguenti 11 sono la partita iva
- i seguenti 137 non servono a una cippa (ovvero, non mi interessano quei dati, quelli che mi interessano sono questi sopra).
Questo ripetuto per non so quanti clienti, a occhio circa 300, ma forse di più.
Ora, le ho un po' provate tutte ad importare i dati con Excel, ma siccome i campi non hanno separazione (nessun carattere li separa, sono scritti uno dietro l'altro) nessuna procedura di importazione ha sortito buon effetto.
Access invece manco lo legge il file DAT, ma Access è l'ultima spiaggia, i dati fondamentalmente mi servono in Excel.
Io pensavo ad un qualche scriptino, batch, vbs o roba del genere, che mi trasformi il dat esadecimale in un file di testo separato da virgole, dopodichè di darlo in pasto ad Excel.
Il problema è che non so assolutamente come far interagire un batch od un vbs con un file dat...inoltre non conosco bene questi linguaggi, quindi proprio non so come mettere in pratica...qualche ideuzza sul trattare i dati come una matrice 16x16 ce le ho, il problema è scriverle nel linguaggio giusto...
confido in voi, esperti scriptari di batch.![]()
Grazie a chi mi aiuterà.![]()