Oppure

Loading
20/05/07 16:36
barilla
Salve
sto cercando di estrarre dei dati da 2 file ma dopo vari tentativi riesco solo ad estrarre la prima riga.
Questo è il codice del listato:

---------
CLS
OPEN "elenco1.txt" FOR INPUT AS #1
OPEN "elenco2.TXT" FOR INPUT AS #2
OPEN "finale3.TXT" FOR OUTPUT AS #3
LINE INPUT #1, A$
LEGGI:
IF EOF(2) THEN GOTO FINE
LINE INPUT #2, B$
IF MID$(A$, 1, 13) = MID$(B$, 1, 13) THEN C$ = MID$(B$, 1, 30):PRINT #3, C$:
GOTO LEGGI
FINE:
CLOSE #1
CLOSE #2
CLOSE #3
SYSTEM
----------

Questi sono gli esempi di file:

elenco1.txt (elenco dati totale)

1111111111111;a;b;c;1;2;3
2222222222222;a;b;c;1;2;3
3333333333333;a;b;c;1;2;3
4444444444444;a;b;c;1;2;3
5555555555555;a;b;c;1;2;3
6666666666666;a;b;c;1;2;3
7777777777777;a;b;c;1;2;3
8888888888888;a;b;c;1;2;3

elenco2.txt (elenco dati da estrarre e completare)

2222222222222
6666666666666
8888888888888

finale3.txt (risultato finale)

2222222222222;a;b;c;1;2;3;
6666666666666;a;b;c;1;2;3;
8888888888888;a;b;c;1;2;3;
come devo fare per aver il finale3?
Grazie per l'aiuto
Ultima modifica effettuata da barilla 20/05/07 16:38
aaa
22/05/07 18:13
motoboy
scusami.
non ho capito cosa dovresti fare..
aaa
22/05/07 21:51
barilla
La cosa è molto semplice
L'elenco1 è un listino articoli completo di tutti i dati che sono divisi a campi da ";" ed il primo campo e un codice numerico a 13 cifre
L'elenco2 e un file generato da un terminalino lettore di codice barre dove vengono generati più campi dove il primo campo e sempre un codice numerico a 13 cifre mentre gli altri sono altri dati numerici sempre divisi da ";"
Il finale3 non è altro che il risultato tra la ricerca dei campi dell'elenco2 nell'elenco1 completo di tutti i campi sia del elenco1 che dell'elenco2.
Ancora più semplicemente sparando con il lettore laser su dei prodotti mi genera un codice a barre, una quantità e un suffisso(elenco2).
Questi dati poi scaricati sul pc, in un folder da un terzo programma, vanno elaborati cioè fanno una ricerca nel listino(elenco1) e vengono estratti e completati dei dati nel nuovo file (finale3) in modo da generare una copia d'ordine.
Il mio problema dunque è che con quel listato riesco nell'intento ma solo per quanto riguarda il primo file dell' elenco2 non riuscendo a capire come far fare la ricerca dei successivi record.
Tutto questo è per evitare di usare l'excel con il "cerca.vert"
Mi accontento di un semplice listato in Qbasic.
Spero di essere stato chiaro per qualsiasi cosa scrivete.
Grazie ed a buon rendere.... ciao
Ultima modifica effettuata da barilla 22/05/07 21:54
aaa
23/05/07 12:08
P4p3r0g4
non postare in più sezioni.
e secondo questa è la sezione vb6 non qbasic.
capisco che sono simili ma non saprei quali funzioni potrei utilizzare per aiutarti.
in teoria devi confrontare i rusultati del 2 listato coi primi 13 caratteri di ogni riga primo listato se concidono prendi l'intera riga e la mostri.
esistono gli array (VETTORI) in qbasic?
se si è una cazzata.
basta che all'avvio dividi i vari listati in array poi confronti gli array con i cicli a corrispondenza esatta il valore della variabile contatore è l'array corretto del listato1 da eseere mostrato.
Ultima modifica effettuata da P4p3r0g4 23/05/07 12:13
aaa