Newsgroup: it.comp.lang.vo-clipper
Titolo: ricerca su file stampato

avendo un file stampato come posso estrarre dei dati eseguendo delle
ricerche specifiche nome e prendere il relativo dato cognome ecc.
 grazie
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Per stampanto intendi un file testo ASCII?

In quale linguaggio ?

 Per stampanto intendi un file testo ASCII?
certo il file di un elenco clienti ecc


 In quale linguaggio ?
in clipper 5.2 ancora ho problemi con v.o. grazie


 certo il file di un elenco clienti ecc
Se non č piů lungo di 64 Kb potresti caricarlo in una variabile con
MEMOREAD() e poi utilizzare l'operatore $. Altrimenti sii piů preciso su
cosa vorresti fare.
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg

 in clipper 5.2 ancora ho problemi con v.o. grazie
Dovresti essere un pò più chiaro !
il file da leggere è ascii?
e devi importarlo in un dbf?


Allora, probabilmente hai un file SDF...
    Ogni riga un record, ogni record separato dal successivo con un CRLF
    Campi a dimensione fissa.
Crea un DB temporaneo con i campi della dimensione esatta, usa la funzione
CopySDF ( qualcosa relativo a SDF che in Clipper esisteva, ne sono sicuro )
per trasferire i campi nel tuo DB. Accedi al DB regolarmente.
In alternativa,
con le primitive per i file devi aprire il file in modo binario, leggere
sequenzialmente a blocchi dentro un buffer di tipo stringa per la
"dimensione leggibile del record" + due caratteri CRLF.
Utilizzando le funzioni stringa devi deggere le sottostringhe relative ad
ogni campo.

"pimpa" <xxx@xx.x> wrote in message
news:Pqr78.16397$nI1.5...@twister1.libero.it...

ti ringrazio ma si tratta di un tabulato stampato su file il con delle
costanti fisse
tipo cod.cliente posizionato in es. 1020 del file nome cliente
posizionato su 1032 ecc.
ho aperto il file in modo binario ricercando ciň che mi interessa per
inserirlo in un dbf
ma mi capita che generando un altri file su alcuni non trovo piů la
corrispondenza con le posizioni
dei dati da estrapolare.comunque ti ringrazio vivamente e se hai altri
consigli scrivimi ciao.


mandami un file di esempio in posta elettronica e provo a capire cosa
puoi
fare:
comunque io in genere opero in questo modo:
se le posizioni nel file sono colonnari creo una struttura dbf uguale
esempio 
FILE PIPPO.DAT ASCII  CON CR E LF A OGNI RIGA
NNNNNNNNNNCCCCCCCCCCTTTTTTTTTTTTTTTTFFFFF
Galati    Francesco LECCE           73030
Rizzo     Angelo    BARI            99999 
creo una struttura con 
NOME     C 10
COGNOME  C 10
CITTA    C 16
CAP      C 5
POI USO IL COMANDO :
APPE FROM PIPPO.DAT SDF
SE INVECE I CAMPI NON SONO STANDARD COME COLONNE CREO UN UNICO CAMPO CON
LA
DIMENSIONE MASSIMA DELLA RIGA DI STAMPA E USO LO STESSO COMANDO 
POI CON SUBSTR(STRINGA,X,Y) TESTO EVENTUALI STRINGHE FISSE DELLA STAMPA
TIPO INTESTAZIONI O DESCRIZIONI PER SAPERE SU QUALE RIGA STO E QUALI
CAMPI PRENDERE!
SPERO DI ESSERTI STATO UTILE !
TI LASCIO LA MIA E-MAIL
porta...@liero.it
saluti! 


 ha scritto nel messaggio
news:3f171fa2662f95d768c...@mygate.mailgate.org...


 corrispondenza con le posizioni
Se il file non ha una struttura regolare, se stampato con altri modi risulta
essere diverso allora si spera che il tuo tabulato abbia un nome univoco a
precedere il campo.
Esempio:
Partita IVA: "
12345678901
"
Allora puoi procedere con delle funzioni di ricerca stringa che ti danno
l'esatta posizione del nome del campo e, se usi quelle del "C" esiste una
vecchia strtoc che esegue la successiva ricerca partendo dall'ultima
posizione nel buffer stringa.
Se non hai neppure questa strutturazione allora affidati ad un impiegato.

 posizione nel buffer stringa.
Forse intendi la strtok()?


 Forse intendi la strtok()?
Si, il suggerimento era quello.