Newsgroup: it.hobby.lotto
Titolo: Formato Std: ultimo thread (si spera!)

Ripropongo la questione del formato standard...
Mi sono arrivati 3 archivi aggiornati, in teoria privi di errori.
Ebbene, ho utilizzato quello di MagoPeppe (non per fare favoritismi,
ma perche' ne conoscevo gia' la struttura...), ed ho fatto un programmino
(3 righe) di conversione.
Come lo vogliamo, 'sto formato??
Guai a chi ne dice di nuove!! :-))
Allora, si era giunti alla conclusione di utilizzare il seguente formato:
gg/mm/aaaa | a1 a2 a3 a4 a5 | b1 b2 b3 b4 b5 | ... | l1 l2 l3 l4 l5 |
il tutto su una riga.
Va bene, cosi'?? L'ultimo '|' lo lasciamo, oppure lo si leva??
Ultima cosa, la piu' importante.
Alcune ruote, agli albori, non esistevano: Bari, Cagliari, e la quarta! :-)
Che si fa?? Mettiamo tutti e 5 gli estratti a 99 (come ha fatto MagoPeppe)??
Spero si giunga presto alla conclusione... :-)
Cia' ;-)
-- 
"La fortuna bussa sempre alla porta al momento sbagliato", precetto di
Ducharme
-- 
Emanuele Cesena
em...@iol.it
          occhio all'antispam NOSPAM!
http://www.geocities.com/SiliconValley/Grid/8879

E' vero che ciascun formato si trasforma tranquilamente in uno diverso,
tuttavia, perche' non optare per una soluzione diversa, tipo quella che
propongo a seguito
Data estrazione SSAAMMGG
Estrazione = 5numerix10ruote=100byte
CR
LF
Le estrazioni mancanti, in parte o per intero, vengano indicate con una
serie di 00 (pertanto si indichino cosi' anche le estrazioni mancanti causa
scioperi)

guarda il formato di Lotto 99
č cosě:
gg-mm-aaaan1n2n3n4n5n1n2n3n4n5.. fino a ve
gli estratti sono sempre a 2 cifre (01)
gli spazi rompono, perché poi devi toglierli
la data puň essere convertita in formato date senza ulteriori manipolazioni
le ruote inesistenti usano la genialata di MagoPeppe (99); grazie per l'idea
se crei una array con le ruote, con questo formato per leggere una estrazione ti
basta una istruzione...
--
;) G. Chiappori (ICQ 30904878)
http://www.chiappori.net
webm...@chiappori.net

 Che si fa?? Mettiamo tutti e 5 gli estratti a 99 (come ha fatto MagoPeppe)??
Puo' andare... magari due cifre numeriche che non corrispondono a un
numero da 1 a 90 possono andare...
A proposito, sempre due cifre, spero (2->"02").
Volendo risparmiare caratteri, si potrebbe convertire la sequenza
" | " tra una ruota e l'altra in "|".
ciao
					Michele
--
Dalla Silvestra Michele
Key fingerprint = 68 02 A9 C7 FB 05 9E 9C  C7 B6 4A 13 61 25 5B 43

Spero si giunga presto alla conclusione... :-)
il Lottovelox II Pro mette a 00 le estrazioni che non sono avvenute!
Ciao
--
Alessandro Pulvirenti
ale...@cedss.it



Un bel di' GbC scrisse:
G> guarda il formato di Lotto 99
G> 
G> č cosě:
G> 
G> gg-mm-aaaan1n2n3n4n5n1n2n3n4n5.. fino a ve
G> 
non va bene: e' scomodo da leggere!
Si voleva che il formato standard fosse aggiornabile a mano...
quello e' una follia!
G> gli estratti sono sempre a 2 cifre (01)
G> gli spazi rompono, perché poi devi toglierli
non rompono assolutamente!!
Servono per leggere... ed e' fondamentale!
Allora rompono anche i numeri scritti con 2 cifre, perche' poi il PC
li converte in bit per elaborarli...
G> la data puň essere convertita in formato date senza ulteriori manipolazioni
non faccio fatica a manipolare: lo fa il mio PC :-)
G> le ruote inesistenti usano la genialata di MagoPeppe (99); grazie per l'idea
ottimo!
G> se crei una array con le ruote, con questo formato per leggere una estrazione ti
G> basta una istruzione...
G> 
a me basta un'istruzione per leggere tutto l'archivio in un colpo solo:
	fread (&estrazioni, sizeof(estrazioni), n_estrazioni, file);
dove &estrazioni e' un vettore di struct:
	int data;
	char n[50];
di n_estrazioni elementi, ed n_estrazioni e' il numero delle estrazioni.
Con questa istruzione leggo l'archivio di MagoPeppe :-)
Ciao!
-- 
"Un uomo con un orologio sa che ore sono. Un uomo con 2 orologi non e mai
sicuro", legge di Segal


> L'ultimo '|' lo lasciamo, oppure lo si leva??
MDS> 
MDS> Serve? Se non serve lo si puo' levare...
MDS> 
Potrebbe servire: dopo quello ci puoi mettere i tuoi commenti personali :-)
MDS> Puo' andare... magari due cifre numeriche che non corrispondono a un
MDS> numero da 1 a 90 possono andare...
MDS> 
ok, allora 99. Sempre che MagoPeppe non abbia da ridire... :-))
MDS> A proposito, sempre due cifre, spero (2->"02").
MDS> 
ovvio! :)
MDS> Volendo risparmiare caratteri, si potrebbe convertire la sequenza
MDS> " | " tra una ruota e l'altra in "|".
MDS> 
se vuoi risparmiare, usi un altro formato.
Non si risparmia certo in questo modo... :-)
Io credo che aumentino la leggibilita' :-)
-- 
"Fai un programma che anche un idiota puo' usare, e soltanto un idiota
vorra' usarlo", principio di Shaw


Un bel di' denis scrisse:
d> E' vero che ciascun formato si trasforma tranquilamente in uno diverso,
d> tuttavia, perche' non optare per una soluzione diversa, tipo quella che
d> propongo a seguito
d> Data estrazione SSAAMMGG
d> Estrazione = 5numerix10ruote=100byte
d> CR
d> LF
d> 
no: se ne era gia' parlato: gli esperti dicono tutto su una riga!
-- 
"Se c'e'una possibilita' che varie cose vadano male, quella che causa il
danno maggiore sara' la prima a farlo", corollario 1 alla legge di Murphy


Anch'io avevo proposto cosi'; pero' invertirei la data, cioe':
aaaammgg,
per le ruote mancanti preferibilmente 00 e non 99; ma non
non e' importane.
Ciao, Pasquale Fusco

>
AP> il Lottovelox II Pro mette a 00 le estrazioni che non sono avvenute!
AP> 
Non mi sembra tanto diverso dal metodo di Giuseppe... :-)
-- 
"4. Non entrare mai in discussioni; se ci sei dentro poni una domanda
irrilevante, appoggiati allo schienale della poltrona con un ghigno
soddisfatto e, mentre gli altri cercano di capire cosa sta succedendo,
cambia argomento", dal decalogo di Spark per il giovane manager


danno maggiore sara' la prima a farlo", corollario 1 alla legge di Murphy


guarda, la mia era una esposizione per comodita'
CR LF mi pareva fosse piu' che sufficiente per indicarlo :))))))
Un saluto agli esperti :)))))))
denis


Pasquale Fusco ha scritto:
PF>  Anch'io avevo proposto cosi'; pero' invertirei la data, cioe':
PF>  aaaammgg,
anche io concordo su aaaammgg
PF>  per le ruote mancanti preferibilmente 00 e non 99; ma non
PF>  non e' importane.
Credo che non sia importante il valore in sč, basta decidere un valore
convenzionale (il classico NULL): in quest'ottica mi sembra perň piů
'standardě e convenzionale lo 0 che non qualsiasi altro numero.
Ciao
Marco
-- 
La lunghezza di un minuto dipende dal lato della porta del bagno da cui ti
trovi. (Legge della relativita' di Ballance)

>> L'ultimo '|' lo lasciamo, oppure lo si leva??
..
EdT>  Potrebbe servire: dopo quello ci puoi mettere i tuoi commenti personali :-)
EdT>  
giusto, allora lasciamolo.
EdT>  ok, allora 99. Sempre che MagoPeppe non abbia da ridire... :-))
EdT>  
meglio 0: ricorda meglio il valore NULL usato in tanti altri casi.
è più standard :-)
MDS>> Volendo risparmiare caratteri, si potrebbe convertire la sequenza
MDS>> " | " tra una ruota e l'altra in "|".
MDS>> 
EdT>  se vuoi risparmiare, usi un altro formato.
EdT>  Non si risparmia certo in questo modo... :-)
EdT>  
EdT>  Io credo che aumentino la leggibilita' :-)
concordo.
Visto che ci siamo vi allego qui sotto un piccolissimo script che ho fatto per
interpretare la pagina televideo, ricavarne i dati dell'estrazione e
aggiornare l'archivio.
E' molto grezzo, magari se qualcuno conosce il perl può fare qualcosa di molto
migliore, per ora questo funziona, ma il grosso svantaggio di essere
fortemente sensibile all'impaginazione grafica: se quelli di televideo
cambiano qualcosa lo script non funziona più e occorre metterci mano. Magari
con perl o similari si può fare una cosa più intelligente, a voi il compito.
----------- seguono script che girano sotto linux ----------------
--------- INIZIO: get-estraz --------------------------
#!/bin/sh
lynx -dump "
http://www.televideo.rai.it/cgi-bin/txgi.dll?srch=661&e=rai&typ=t
" > t661
lynx -dump "
http://www.televideo.rai.it/cgi-bin/txgi.dll?srch=662&e=rai&typ=t
" > t662
/parse t661
/parse t662
--------- FINE: get-estraz --------------------------
questo script prende tutte e due le pagine di televideo con le ultime 2
estrazioni, per 2 motivi:
- se lo script viene lanciato da un PC non connesso in modo permanente (magari
da un cron job) potrebbe aver saltato lo scheduling, perchè non ci siamo
connessi per qualche giorno. 
- se l'estrazione precedente fosse stata presa ad un orario in cui non era
ancora ufficiale (e magari era sbagliata), anche se con un ritardo di 3
giorni, otteniamo la versione ufficiale.
i due file vengono passati allo script parse che effettua l'aggiornamento vero
e proprio.
--------- INIZIO: parse --------------------------
#!/bin/sh
#$1 è il nome del file di testo della pagina televideo
grep "ESTRAZIONE DEL" $1 | cut -d'L' -f2 | tr -d ' ' > t1
cut -d'/' -f3 t1 > t11
cut -d'/' -f2 t1 >> t11
cut -d'/' -f1 t1 >> t11
paste -d'/' -s t11 > t2
grep BARI $1 | cut -b17- >> t2
grep CAGLIARI $1 | cut -b17- >> t2
grep FIRENZE $1 | cut -b17- >> t2
grep GENOVA $1 | cut -b17- >> t2
grep MILANO $1 | cut -b17- >> t2
grep NAPOLI $1 | cut -b17- >> t2
grep PALERMO $1 | cut -b17- >> t2
grep ROMA $1 | cut -b17- >> t2
grep TORINO $1 | cut -b17- >> t2
grep VENEZIA $1 | cut -b17- >> t2
paste -s -d'@' t2 | sed 's/@/ \| /g' >> arch1999.txt
sort arch1999.txt | uniq > arch.tmp
mv arch.tmp arch1999.txt
--------- FINE:   parse --------------------------
Solo un ultimo commento su parse: estrae i vari dati e li accoda nel formato
giusto al file arch1999.txt
Per evitare possibili doppioni o inconsistenze, si passa l'archivio nel 'sort'
e infine dentro 'uniq'.
A questo punto, l'archivio è aggiornato!
oh yè!
Volendo, con un altro semplice scriptino, lo si può sparare in ftp sulla home
page, piuttosto che in email alla lista degli interessati.
Tutto questo può essere messo in scheduling con anacron. Detto in parole
povere: tutti i mercoledì e sabato sera, alle 23, il PC (ovviamente linux, ma
era scontato :-)) preleva i dati, aggiorna l'archivio e l'home-page e spara
l'e-mail agli interessati. Se il PC era spento a quell'ora, il tutto viene
effettuato alla prima accensione/connessione.
Ciao
Marco
-- 
Una qualsiasi autorizzazione sarà concessa solo quando nessuno di coloro che
la concedono potrà essere incolpato in caso di fallimento, e tutti coloro che
la concedono potranno vantarsi in caso di successo. (Regola di Roger)

Un bel di' denis scrisse:
d> guarda, la mia era una esposizione per comodita'
d> CR LF mi pareva fosse piu' che sufficiente per indicarlo :))))))
d> Un saluto agli esperti :)))))))
d> 
ok!, comunque era troppo appiccicato lo stesso :-))
-- 
"Per pulire una cosa, bisogna sporcarne un'altra", legge di Imbesi sulla
conservazione dello sporco
"...ma si puo' sporcare tutto senza pulire niente", estensione di Freeman


Un bel di' denis scrisse:
d> Senza voler dire nulla contro gli esperti, tanto esperti non sembrano
d> esserlo visto che propongono formati di data ggmmssaa oppure santificano
d> idee per le quali al posto delle estrazioni mancate va bene 99 :)))))))
d> 
Miii... denis, denis... lasciamo sta' :-))
-- 
"La classe dei motociclisti si divide in 2: quelli che sono caduti... e
quelli che cadranno"


Allora, dopo aver letto le vostre repliche, dichiaro, se non ci sono
ulteriori contestazioni, che il formato standard sia il seguente:
gg/mm/aaaa| a1 a2 a3 a4 a5| b1 b2 b3 b4 b5|... | l1 l2 l3 l4 l5
Riporto di seguito la prima estrazione, a titolo di esempio:
07/01/1871| 99 99 99 99 99| 99 99 99 99 99| 15 71 18 64 81| 99 99 99 99 99| 63 69 56 09 55| 36 22 73 24 31| 72 58 86 77 14| 42 33 20 18 79| 02 09 63 27 04| 29 52 31 80 07
(mi scuso per la lunghezza della riga, che supera le 78 colonne!) :-)
Attendo ancora la risposta Michele Dalla Silvestra, per avere notizie
*certe* su qualse sia il miglior formato per la data.
Di seguito posto il super-mega-programmone [:)] che ho usato per creare l'archivio
std, estraendo i dati dall'archivio di MagoPeppe, ritenuto "quello con meno
errori" :-)
Su un P100 con 24Mb RAM, o.s. Linux RedHat 5.2, impiega ben 6 secondi, a 
creare l'archivio (6792 estrazioni, aggiornate all'ultima di febbraio) :-))
#include <stdio.h>
struct estrazione {
        int data;
        char n[50];
} estr[7000];
void printn (char* s, int n) {
        printf ("%s", s);
        if (n < 10) printf ("0");
        printf ("%d", n);
}
main() {
        FILE* fp;
        int i, j, k, max = 0;
        char gg, mm, aa1, aa2;
        fp = fopen ("dati", "r+");
        while (fread (&estr[max], 54, 1, fp)) ++max;
        fclose (fp);
        fprintf (stderr, "Numero estrazioni: %d\n", max);
        for (i = 0; i < max; i++) {
                aa1 = estr[i].data;
                aa2 = estr[i].data >> 8;
                mm = estr[i].data >> 16;
                gg = estr[i].data >> 24;
                printn ("",  gg);
                printn ("/", mm);
                printn ("/", aa1);
                printn ("",  aa2);
                for (j = 0; j < 10; j++) {
                        printf ("|");
                        for (k = 0; k < 5; k++)
                                printn (" ", estr[i].n[j * 5 + k]);
                }
                printf ("\n");
        }
}
-- 
"Un uomo con un orologio sa che ore sono. Un uomo con 2 orologi non e mai
sicuro", legge di Segal


 prima l'anno non mi piace, ma se mi confermi che si e' piu' comodi... :-)
Prova ad usare il comando "sort" con le date in aaaammgg e gg/mm/aaaa,
poi mi sai dire... :-)
Con aaaammgg sort funziona perfettamente, ordina in un verso o
nell'altro, e' piu' facile estrarre periodi con grep e in genere
qualsiasi confronto testuale (ovvero senza conversione in formato
data) funziona perfettamente.
Con mm/gg/aaaa sort non funziona piu' (ovvero bisogna complicarsi la
vita specificando le chiavi di ordinamento) e senza una conversione in
formato data non si puo' fare nessuna elaborazione. 


Un bel di' Michele Dalla Silvestra scrisse:
MDS> Prova ad usare il comando "sort" con le date in aaaammgg e gg/mm/aaaa,
MDS> poi mi sai dire... :-)
MDS> 
a che serve sort?? L'archivio e', per definizione, gia' ordinato :-)
MDS> Con aaaammgg sort funziona perfettamente, ordina in un verso o
MDS> nell'altro, e' piu' facile estrarre periodi con grep e in genere
MDS> qualsiasi confronto testuale (ovvero senza conversione in formato
MDS> data) funziona perfettamente.
MDS> 
Mmm... sono molto dubbioso per il formato, comunque va bene. Pero'
rimangono i '/'. Il formato std, sara' dunque:
	aaaa/mm/gg| a1 a2 a3 a4 a5| b1 b2 b3 b4 b5|... | l1 l2 l3 l4 l5
La parola, se ancora ce n'e' bisogno, alla difesa :-)
Ciao ciao!
-- 
"6. Se un subordinato ti rivolge una domanda pertinente, guardalo come se
avesse perso il senno. Quando lui ha preso un'aria mortificata, fagli la
stessa domanda con altre parole", dal decalogo di Spark per il giovane manager


.. alla faccia della sistesi !..
4 su 6 concordano per la data aaaammgg,
- qualcuno motivandolo pure - , e tu insisti con gg/mm/aaaa;
quasi tutti vedrebbero bene 00 al posto di 99 e tu
riproponi 99;
non mi sembra che ci sia stato un grande entusiasmo
neanche per il separatore, e
se non vengono fuori almeno 3 o 4 persone che ritengono
indispensabile "I", toglierei anche queste, specialmente
se vogliamo tenere le estrazioni dal 1971.
Scusa Emanuele.
Con un po' di calma vorrei riprendere il discorso con
Marco Pozzato per lo scarico all'accensione.
Devo dire comunque che ho fatto la stessa cosa
con un programmino in  Cobol, usato sia per
l'aggiornamento dell' estrazioni per la Sfida in formato .txt,
che per il mio archivio ad indici.
Non parte in automatico, ma devo salvare preventivamante
a mano, in formato .txt, la pagina 661.
Ciao, Pasquale Fusco

Pasquale Fusco ha scritto:
PF>  Con un po' di calma vorrei riprendere il discorso con
PF>  Marco Pozzato per lo scarico all'accensione.
eccom'accà!
PF>  Non parte in automatico, ma devo salvare preventivamante
PF>  a mano, in formato .txt, la pagina 661.
sicuramente è possibile anche sotto WinDos, purtroppo temo che non sia
altrettanto immediato, ma penso che occorra un po' di complicazione in più.
Quindi, se vuoi la potenza alla stato 'bbrado, installa linux su un vecchio
486, collega in rete locale i 2 PC (va bene anche un cavo null-modem) e usa il
tuo PC in tecnologia 'avanzata' per fare lo scaricamento automatico.
Ciao
Marco
-- 
Non e' affatto necessario essere ricchi e famosi per essere felici. Basta
essere ricchi (Alan Alda)

>>> L'ultimo '|' lo lasciamo, oppure lo si leva??
MP> ..
EdT>>  Potrebbe servire: dopo quello ci puoi mettere i tuoi commenti personali :-)
EdT>>  
MP> giusto, allora lasciamolo.
MP> 
che strexx :((
EdT>>  ok, allora 99. Sempre che MagoPeppe non abbia da ridire... :-))
EdT>>  
MP> meglio 0: ricorda meglio il valore NULL usato in tanti altri casi.
MP> è più standard :-)
MP> 
uff :-(
Vabbe: 00...
MDS>>> " | " tra una ruota e l'altra in "|".
MDS>>> 
EdT>>  se vuoi risparmiare, usi un altro formato.
EdT>>  Non si risparmia certo in questo modo... :-)
EdT>>  
EdT>>  Io credo che aumentino la leggibilita' :-)
MP> concordo.
MP> 
Allora, ho optato per una mezza via:
	n5| m1
alla fine dei 5 numeri, niente spazio, dopo si' :-)
MP> Visto che ci siamo vi allego qui sotto un piccolissimo script che ho fatto per
MP> interpretare la pagina televideo, ricavarne i dati dell'estrazione e
MP> aggiornare l'archivio.
MP> 
Wow! Vediamo! :)
MP> E' molto grezzo, magari se qualcuno conosce il perl può fare qualcosa di molto
MP> migliore, per ora questo funziona, ma il grosso svantaggio di essere
MP> fortemente sensibile all'impaginazione grafica: se quelli di televideo
MP> cambiano qualcosa lo script non funziona più e occorre metterci mano. Magari
MP> con perl o similari si può fare una cosa più intelligente, a voi il compito.
MP> 
ok...
MP> --------- INIZIO: get-estraz --------------------------
MP> #!/bin/sh
MP> lynx -dump "
http://www.televideo.rai.it/cgi-bin/txgi.dll?srch=661&e=rai&typ=t
" > t661
MP> lynx -dump "
http://www.televideo.rai.it/cgi-bin/txgi.dll?srch=662&e=rai&typ=t
" > t662
MP> 
MP> /parse t661
MP> /parse t662
MP> --------- FINE: get-estraz --------------------------
MP> 
Ah... si puo' usare lynx... io usavo wget, e tiravo giu' il
sorgente html del file :-)
Comunque, io gestirei la cosa in un altro modo:
in /etc/ppp/ip-up.local lanci get-estraz.
questo era il mio script:
#!/bin/bash
if [ $(date "+%w") = 0 ] || [ $(date "+%w") = 4 ]
then
        wget 
http://193.70.224.60/cgi-bin/txgi.dll?rai/T661
fi
vabbe', lynx o wget non cambia molto... :-)
Comunque, la cosa diversa, e' che scarica solo il giovedi' e la domenica.
:-)
MP> --------- INIZIO: parse --------------------------
MP> #!/bin/sh
io lo stavo facendo con awk :-)
Non so se lo conosci, comunque e' piu' comodo per gestire
queste cose, senza chiamare 100'000 grep :-)
Se riusciro' a finirlo, postero' la soluzione.
MP> grep "ESTRAZIONE DEL" $1 | cut -d'L' -f2 | tr -d ' ' > t1
MP> cut -d'/' -f3 t1 > t11
MP> cut -d'/' -f2 t1 >> t11
MP> cut -d'/' -f1 t1 >> t11
MP> paste -d'/' -s t11 > t2
MP> 
Mmm... questo punto: si potrebbe dar in pasto la data al programma 
	date
con un 
	date -d $DATA +FORMATO
puoi impostare il formato come vuoi... e' molto piu' comodo!
Unico baco: date sembra interpretare la data male: inverte (secondo lo
stile inglese) giorni e mesi:
	3/6/99
lo interpreta come il 6 marzo :-(
Se mi risolvete questo, sarebbe un gran bel passo avanti :-))
MP> grep BARI $1 | cut -b17- >> t2
c'e' un problem... e non piccolo:
i numeri minori di 10, su televideo, non sono nella forma 0n,
ma n e basta... che si fa?? :-)
Si potrebbe, in alternativa, scaricare da qualcun altro... :-))
Ho provato, senno', con sed, ma non ci riesco:
	sed -e "s/\ [0-9]\ /\ 0X\ /g'
il problema e' nella X: bisognerebbe inserire la cifra che ha cancellato...
fare 10 sed non mi sembra il caso :-)
MP> Solo un ultimo commento su parse: estrae i vari dati e li accoda nel formato
MP> giusto al file arch1999.txt
MP> 
MP> Per evitare possibili doppioni o inconsistenze, si passa l'archivio nel 'sort'
MP> e infine dentro 'uniq'.
MP> 
ottima questa: cosi' possiamo scaricare entrambe le estrazioni...
pero' supponiamo che ci sia stato un errore, e che l'estrazione dell'1/1/00
sia stata scritta male su televideo... scarichi la seconda volta e la prendi corretta.
Fai un 'uniq', ma ti rimangono lo stesso 2 estrazioni per l'1/1/00 :-))
MP> Volendo, con un altro semplice scriptino, lo si può sparare in ftp sulla home
MP> page, piuttosto che in email alla lista degli interessati.
MP> 
ok... eventualmente anche a loro... :-)
MP> Tutto questo può essere messo in scheduling con anacron. Detto in parole
MP> 
io lo preferisco su ip-up.local :-)
Ciao!
-- 
"1. Se hai dubbi, bofonchia
 2. Se hai problemi, delega", leggi di Boren


 il Lottovelox II Pro mette a 00 le estrazioni che non sono avvenute!
senza motivare minimamente, non capivo il motivo del cambiamento...
PF> non mi sembra che ci sia stato un grande entusiasmo
PF> neanche per il separatore, e
!? ho tolto gli spazi...
PF> se non vengono fuori almeno 3 o 4 persone che ritengono
PF> indispensabile "I", toglierei anche queste, specialmente
PF> se vogliamo tenere le estrazioni dal 1971.
allora, prima di tutto non erano 'I' (i), ma '|' (pipe).
Seconda cosa, il separatore serve per ritrovare la ruota...
se ne e' parlato tempo fa.
Le estrazioni saranno dal 1871, non dal 1971.
Il file finale (fino a febbraio) occupa 1158525 bytes, compresso
tiene circa 300kb, esattamente come gli altri.
PF> Scusa Emanuele.
PF> Con un po' di calma vorrei riprendere il discorso con
PF> Marco Pozzato per lo scarico all'accensione.
ok.
PF> Devo dire comunque che ho fatto la stessa cosa
PF> con un programmino in  Cobol, usato sia per
PF> l'aggiornamento dell' estrazioni per la Sfida in formato .txt,
PF> che per il mio archivio ad indici.
per quale piattaforma?? Linux anche tu?? :-)
Personalmente, non conoscendo il Cobol, lo avrei fatto in C++,
perche' e' semplice prendere stringhe da un file.
Pero' usare uno script mi sembra piu' sensato... io rimango
per lo script... il che non significa che tu debba buttare il 
tuo prog, anzi!! :-)
PF> Non parte in automatico, ma devo salvare preventivamante
PF> a mano, in formato .txt, la pagina 661.
PF> 
beh... si puo automatizzare anche quello... :-)
Ciao ciao!
-- 
"L'ultima porzione del piatto che avevate deciso di prendere, sara' scelta
dalla persona che vi sta davanti", legge del self-service


Ema da TIN ha scritto:
EdT>  Allora, ho optato per una mezza via:
EdT>  	n5| m1
EdT>  alla fine dei 5 numeri, niente spazio, dopo si' :-)
EdT>  
io penso che _non_ dovrebbe essere rilevante: se stiamo parlando di un formato
con separatori, basta il '|' a separare i campi, non deve essere rilevante che
ci siano 1, 2 o 10 spazi tra un numero e l'altro. Fare un programma che legge
l'archivio sfruttando la posizione dei byte vuol dire scvalcare a piedi pari
la formattazione coi separatori. Sarebbe un errore. Inizialmente si era detto
che lo spazio doveva essere il separatore tra i numeri di una ruota, niente
più.
MP>> lynx -dump "
http://www.televideo.rai.it/cgi-bin/txgi.dll?srch=661&e=rai&typ=t
" > t661
EdT>  Ah... si puo' usare lynx... io usavo wget, e tiravo giu' il
EdT>  sorgente html del file :-)
con l'opzione -dump lynx fornisce il testo già completamente ripulito
dall'html, così come appare a schermo.
EdT>  Comunque, io gestirei la cosa in un altro modo:
EdT>  in /etc/ppp/ip-up.local lanci get-estraz.
[...]
EdT>  Comunque, la cosa diversa, e' che scarica solo il giovedi' e la domenica.
EdT>  :-)
il problema è che così, se il giovedì non ti colleghi, per un motivo qualsiasi
(compreso il fatto che ti colleghi alla sera dopo la mezzanotte) non avviene
lo scaricamento.
EdT>  io lo stavo facendo con awk :-)
EdT>  Non so se lo conosci, comunque e' piu' comodo per gestire
EdT>  queste cose, senza chiamare 100'000 grep :-)
infatti converrà passare ad awk, perchè ho già trovato un primo bug.
Nella versione che avevo inviato, non veniva aggiunto lo zero iniziale, sicchè
il sort sballerebbe l'ordinamento. In più, mi sono accorto poi che si era cmq
deciso di usare lo zero iniziale anche per i numeri.
Con awk, o perl se c'è qualcuno, possiamo sfruttare il padding con gli zeri
iniziali, senza fare troppi giri.
EdT>  Se riusciro' a finirlo, postero' la soluzione.
ok, allora aspetto la tua.
MP>> grep "ESTRAZIONE DEL" $1 | cut -d'L' -f2 | tr -d ' ' > t1
[...]
EdT>  Mmm... questo punto: si potrebbe dar in pasto la data al programma 
EdT>  	date
EdT>  con un 
EdT>  	date -d $DATA +FORMATO
EdT>  puoi impostare il formato come vuoi... e' molto piu' comodo!
ottimo, grazie per il suggerimento, no sapevo di questa cosa.
EdT>  Unico baco: date sembra interpretare la data male: inverte (secondo lo
EdT>  stile inglese) giorni e mesi:
EdT>  	3/6/99
EdT>  lo interpreta come il 6 marzo :-(
EdT>  
EdT>  Se mi risolvete questo, sarebbe un gran bel passo avanti :-))
ecco l'uovo di Colombo.
date crede che 3 sia il mese, quindi se dai il campo %m lo interpreta come "il
primo campo numerico". Noi lo si frega e gli si fa scrivere la data inglese
invertita.
#date -d datestr +%Y/%d/%m
è proprio quello che serve a noi e oltretutto viene fuori con gli zeri
iniziali se occorrono.
EdT>  c'e' un problem... e non piccolo:
EdT>  i numeri minori di 10, su televideo, non sono nella forma 0n,
EdT>  ma n e basta... che si fa?? :-)
problema risolto nella nuova versione dello script, qui di seguito:
------------------------ INIZIO: parse -----------------------------------
#!/bin/sh
#$1 è il nome del file di testo della pagina televideo
grep "ESTRAZIONE DEL" $1 | cut -d'L' -f2 | tr -d ' ' | xargs -n1 date +%Y/%d/%m -d > t2
grep BARI $1 | cut -b17- >> t2
grep CAGLIARI $1 | cut -b17- >> t2
grep FIRENZE $1 | cut -b17- >> t2
grep GENOVA $1 | cut -b17- >> t2
grep MILANO $1 | cut -b17- >> t2
grep NAPOLI $1 | cut -b17- >> t2
grep PALERMO $1 | cut -b17- >> t2
grep ROMA $1 | cut -b17- >> t2
grep TORINO $1 | cut -b17- >> t2
grep VENEZIA $1 | cut -b17- >> t2
paste -s -d'@' t2 | sed 's/@/ \| /g' | sed 's/   /  0/g' | tr -s ' ' >> arch1999.txt
sort arch1999.txt | uniq > arch.tmp
mv arch.tmp arch1999.txt
----------------------- FINE: parse --------------------------------------
Cambiamenti:
- è cambiata la riga per il parsing della data, usando il comando date.
- è cambiata la tabulazione: il triplo spazio (2 spazi canonici + un se il
numero è inferiore alla decina) viene sostituito dalla stringa "  0", poi si
rimuovono gli spazi consecutivi col comando tr.
EdT>  ottima questa: cosi' possiamo scaricare entrambe le estrazioni...
EdT>  pero' supponiamo che ci sia stato un errore, e che l'estrazione dell'1/1/00
EdT>  sia stata scritta male su televideo... scarichi la seconda volta e la prendi corretta.
EdT>  Fai un 'uniq', ma ti rimangono lo stesso 2 estrazioni per l'1/1/00 :-))
se sbagliano pure a scrivere la data....
se sbagliano a scrivere i numeri delle estrazioni...
E' chiaro che un programma vero di controllo della consistenza non si può fare
in 10 righe, ma ci vuole un impegno ben maggiore. Anche chi aggiorna a mano le
estrazioni sbaglia (ed era proprio uno degli scopi del formato il fatto che
fosse aggiornabile/modificale a mano)
Sicuramente si tratta di un limite di questo script, ma io non ho il tempo nè
la voglia di fare una cosa più sofisticata, sicchè dò per scontato che i dati
televideo siano corretti.
Invece, leggendo le tue osservazioni, mi accorgo di un errore più subdolo.
Ipotizzo di prelevare solo l'ultima estrazione e non tutte le ultime due. Se
prelevo una versione errata (ad esempio hanno digitato male i numeri delle
estrazioni), poi prelevo la versione corretta, mi trovo le due estrazioni
consecutivamente (prima quella sbagliata e poi quella giusta). Uniq le
considera uguali solo se invocato con "uniq -w 10" (confronta solo i primi 10
caratteri). Nel nostro caso le date coincidono, così uniq prende solo la prima
delle due righe, cioè la sbagliata. Quindi dovremmo modificare uniq per fargli
prendere l'ultima copia, oppure, più semplicemente, stampare in senso inverso
(senza usare il sort), passare dentro uniq e invertire nuovamente.
#tac arch1999.txt | uniq -w 10 | tac > tmp
Però abbiamo dovuto rinunciare alla possibilità di scaricare le ultime 2
estrazioni. 
Per correggere automaticamente possibili errori nella data, invece, dovremmo
fare giochi più complessi, ma non mi sembra il caso.
MP>> Tutto questo può essere messo in scheduling con anacron. Detto in parole
MP>> 
EdT>  io lo preferisco su ip-up.local :-)
rischi di perdere l'aggiornamento se non ti colleghi. Cmq, visto che
l'operazione occupa pochissima banda e tempo di CPU, si potrebbe anche cmq
fare ad ogni connessione :-)
Ciao
Marco
-- 
Se si cambia coda, quella che si e' appena lasciata diventera' immediatamente
la piu' veloce. (Osservazione di Zenone) 
Continuare a cambiar coda le rallenta entrambe e fa infuriare tutti.
(Corollario di Kenton)

ok.
scusate... ma se avessi dovuto fare il Lottovelox II Pro, con la stessa
velocità con cui si sta decidendo come realizzare questo archivio
standard delle estrazioni... ci avrei impiegato minimo una Trentina di
Secoli! :-)))
Ciao
Più si è... e più è difficile trovare una soluzione comune :-(
--
Alessandro Pulvirenti
ale...@cedss.it

Perfetto: finalmente giunti ad una conclusione, trovate l'archivio
in formato std dal 1871 al 1998 compresi al mio sito.
Mi scuso fin d'ora: il nome del file, una volta scompattato, e'
	dati.std
Sorry, ma mi son dimenticato... comunque lo aggiornero' al piu'
presto :-)
 
Si parla anche dell'archivio aggiornato, ma questo non c'e' ancora :)
Fra l'altro il sito necessita di una bella revisione, ma non centra.
Veniamo al formato:
aaaa/mm/gg| a1 a2 a3 a4 a5| b1 b2 b3 b4 b5| ... | l1 l2 l3 l4 l5|
11 campi, separati da "| " (pipe attaccato, piu' uno spazio)
Data: 	formato anno-mese-giorno
	separatore '/'
Numeri:	formato con 2 cifre
	00 per le estrazioni non avvenute
Commenti: liberi, dopo l'ultimo "| ", purche' non comprendano "a capo"
Riporto la prima estrazione, a titolo di esempio:
1871/01/07| 00 00 00 00 00| 00 00 00 00 00| 15 71 18 64 81| 00 00 00 00 00| 63 69 56 09 55| 36 22 73 24 31| 72 58 86 77 14| 42 33 20 18 79| 02 09 63 27 04| 29 52 31 80 07|
A questo punto (dovrebbe andar bene tutto, no?), propongo di:
- modificare l'archivio con eventuali commenti ritenuti significativi
  (poi aggiorno il sito!)
- domandare ai vari possessori di programmi, di contemplare il nostro formato
Ciao ciao!
-- 
"Un gramma di applicazione val piu' di una tonnellata di astrazione", legge
di Booker


Insomma a questo punto, ce lo dai sto archivio o no :)))))
come e' e', basta ci sia.
Denis

Alessandro Pulvirenti ha scritto:
AP>  scusate... ma se avessi dovuto fare il Lottovelox II Pro, con la stessa
AP>  velocità con cui si sta decidendo come realizzare questo archivio
AP>  standard delle estrazioni... ci avrei impiegato minimo una Trentina di
AP>  Secoli! :-)))
se lo facevi in 20 persone, con tanti e tali obiettivi diversi, magari
contrastanti...penso che ce l'avresti fatta in metà del tempo che hai
impiegato e con un risultato migliore!
No, non è una battuta, ma proprio l'effetto del modello di sviluppo seguito in
tutto il mondo per sviluppare linux e tutto quello che gli gira attorno. Trovi
i dettagli in un articolo (non saprei dove, forse su 
www.opensource.org
) dal
titolo "The cathedral and the baazar".
AP>  Più si è... e più è difficile trovare una soluzione comune :-(
dipende dall'organizzaione: qui è mancata completamente, così pure come un
coordinatore e una lista ben precisa di obiettivi da perseguire.
Cmq, ormai siamo in porto e quasi pronti a veleggiare :-)



Ok, mi piace.
Sistemato il tracciato, riapriamo un Post
per le modalita' di archiviazione;
partendo, se volete, da questa domanda:
- avere un unico file progressivo, oppure 3 o 4 :
1) "Progressivo", dal 1871 al 1998
2) "Annuale", 1999
3) "Mensile", mese corrente
[4) ultime 2 estrazioni];
in questo caso, forse, il programma che legge Televideo,
oltre ad accodare al mese corrente, dovrebbe, a fine
mese, accodare al 1999, e cosi' a fine anno, al "Progressivo".
Ciao, Pasquale

Un bel di' denis scrisse:
d> Insomma a questo punto, ce lo dai sto archivio o no :)))))
d> 
d> come e' e', basta ci sia.
d> 
sul mio sito! :-)
-- 
"La classe dei motociclisti si divide in 2: quelli che sono caduti... e
quelli che cadranno"
-- 
Emanuele Cesena
mi e' saltata la mail!! Per favore, scrivete per ora a
 
su...@geocities.com
(occhio sempre all'antispam NOSPAM)
http://www.geocities.com/SiliconValley/Grid/8879

Un bel di' Alessandro Pulvirenti scrisse:
AP> 
AP> scusate... ma se avessi dovuto fare il Lottovelox II Pro, con la stessa
AP> velocità con cui si sta decidendo come realizzare questo archivio
AP> standard delle estrazioni... ci avrei impiegato minimo una Trentina di
AP> Secoli! :-)))
AP> 
Mi pare ci sia una bella differenza tra il *tuo* programma ed un formato
*comune*... :)
AP> Più si è... e più è difficile trovare una soluzione comune :-(
AP> 
dovremmo esserci... :-)
-- 
"La fortuna bussa sempre alla porta al momento sbagliato", precetto di
Ducharme


Un bel di' Marco Pozzato scrisse:
MP> io penso che _non_ dovrebbe essere rilevante: se stiamo parlando di un formato
MP> con separatori, basta il '|' a separare i campi, non deve essere rilevante che
MP> ci siano 1, 2 o 10 spazi tra un numero e l'altro. Fare un programma che legge
MP> l'archivio sfruttando la posizione dei byte vuol dire scvalcare a piedi pari
MP> la formattazione coi separatori. Sarebbe un errore. Inizialmente si era detto
MP> che lo spazio doveva essere il separatore tra i numeri di una ruota, niente
MP> più.
MP> 
ok, pero' metticiti tu in C o in Pascal a cavare fuori dei dati non formattati
alla perfezione... suvvia: facciamo uno sforzo anche verso i programmatori...
Senno' tanto vale anche tenere i numeri a 2 cifre... sempre un numero e', anche
con una cifra sola...
EdT>>  Ah... si puo' usare lynx... io usavo wget, e tiravo giu' il
EdT>>  sorgente html del file :-)
MP> con l'opzione -dump lynx fornisce il testo già completamente ripulito
MP> dall'html, così come appare a schermo.
MP> 
vabbe' :-)
EdT>>  Comunque, la cosa diversa, e' che scarica solo il giovedi' e la domenica.
EdT>>  :-)
MP> 
MP> il problema è che così, se il giovedì non ti colleghi, per un motivo qualsiasi
MP> (compreso il fatto che ti colleghi alla sera dopo la mezzanotte) non avviene
MP> lo scaricamento.
MP> 
gia'... ci pensero' in futuro... :-)
MP> infatti converrà passare ad awk, perchè ho già trovato un primo bug.
MP> 
eh eh eh...
MP> Nella versione che avevo inviato, non veniva aggiunto lo zero iniziale, sicchè
MP> il sort sballerebbe l'ordinamento. In più, mi sono accorto poi che si era cmq
MP> deciso di usare lo zero iniziale anche per i numeri.
MP> 
certo!
MP> Con awk, o perl se c'è qualcuno, possiamo sfruttare il padding con gli zeri
MP> iniziali, senza fare troppi giri.
MP> 
certo!
EdT>>  Se riusciro' a finirlo, postero' la soluzione.
MP> ok, allora aspetto la tua.
MP> 
aspetta pure... :-)
EdT>>  Se mi risolvete questo, sarebbe un gran bel passo avanti :-))
MP> ecco l'uovo di Colombo.
MP> 
MP> date crede che 3 sia il mese, quindi se dai il campo %m lo interpreta come "il
MP> primo campo numerico". Noi lo si frega e gli si fa scrivere la data inglese
MP> invertita.
MP> 
MP> #date -d datestr +%Y/%d/%m
MP> 
MP> è proprio quello che serve a noi e oltretutto viene fuori con gli zeri
MP> iniziali se occorrono.
MP> 
il cuculo!! Ci avevo gia' provato, ma date e' piu' furbo... vedi cosa ti succede
il 31 di un mese... :-)))
MP> - è cambiata la riga per il parsing della data, usando il comando date.
falla!! :))
MP> se sbagliano pure a scrivere la data....
MP> se sbagliano a scrivere i numeri delle estrazioni...
MP> 
se muoiono!?!? :-)
MP> E' chiaro che un programma vero di controllo della consistenza non si può fare
MP> in 10 righe, ma ci vuole un impegno ben maggiore. Anche chi aggiorna a mano le
MP> estrazioni sbaglia (ed era proprio uno degli scopi del formato il fatto che
MP> fosse aggiornabile/modificale a mano)
MP> 
certo!
MP> Sicuramente si tratta di un limite di questo script, ma io non ho il tempo nè
MP> la voglia di fare una cosa più sofisticata, sicchè dò per scontato che i dati
MP> televideo siano corretti.
MP> 
nemmeno io... per questo ho verificato se e' giov o dome :-))
MP> Invece, leggendo le tue osservazioni, mi accorgo di un errore più subdolo.
MP> Ipotizzo di prelevare solo l'ultima estrazione e non tutte le ultime due. Se
MP> prelevo una versione errata (ad esempio hanno digitato male i numeri delle
MP> estrazioni), poi prelevo la versione corretta, mi trovo le due estrazioni
MP> consecutivamente (prima quella sbagliata e poi quella giusta). Uniq le
Tié! :-DD
MP> considera uguali solo se invocato con "uniq -w 10" (confronta solo i primi 10
MP> caratteri). Nel nostro caso le date coincidono, così uniq prende solo la prima
MP> delle due righe, cioè la sbagliata. Quindi dovremmo modificare uniq per fargli
MP> prendere l'ultima copia, oppure, più semplicemente, stampare in senso inverso
MP> (senza usare il sort), passare dentro uniq e invertire nuovamente.
MP> 
mah... che casinasso... :-(
fingiamo, ad esempio, che non sbaglino... :-))
MP> #tac arch1999.txt | uniq -w 10 | tac > tmp
MP> 
MP> Però abbiamo dovuto rinunciare alla possibilità di scaricare le ultime 2
MP> estrazioni. 
MP> 
MP> Per correggere automaticamente possibili errori nella data, invece, dovremmo
MP> fare giochi più complessi, ma non mi sembra il caso.
MP> 
nemmeno a me :)
MP> rischi di perdere l'aggiornamento se non ti colleghi. Cmq, visto che
MP> l'operazione occupa pochissima banda e tempo di CPU, si potrebbe anche cmq
MP> fare ad ogni connessione :-)
MP> 
certo!
bye bye! :-)
-- 
"Il lavoro d'equipe e' essenziale. Ti permette di dare la colpa a qualcun
altro", ottava regola di Finagle


- domandare ai vari possessori di programmi, di contemplare il nostro
formato
tra Lunedì e Martedì devo presentare la Patch 2.00.03 del Lottovelox II
Pro con molte aggiunte e alcune correzioni, posso aggiungere anche
questo formato di esportazione per le estrazioni, ma sei poi qualcuno si
azzarda a fare ancora cambiamenti, come minimo lo Fulmino!! :-))
Ciao
P.S. Martedi 16 Marzo 1999 si porta scaricare il Lottovelox II Pro PAtch
2.00.03 dal sito: 
http://www.cedss.it/lottovelox/
   con anche queste
novità del "Formato Stardard delle estrazioni"
--
Alessandro Pulvirenti
ale...@cedss.it

Il link agli archivi a me non funziona. lo ricontrolli per favore

Ho finalmente completato l'inserimento del Formato Standard nel
Lottovelox II Pro, ma il formato l'ho lasciato personalizzabile... nel
senso che se qualcuno vorrà cambiare il tipo di separatore o
delimitatore lo potrà fare, anche se per Default ho messo quelli
previsti dal formato standard.
Ciao
--
Alessandro Pulvirenti
ale...@cedss.it

Ema da TIN ha scritto:
EdT>  Perfetto: finalmente giunti ad una conclusione, trovate l'archivio
EdT>  in formato std dal 1871 al 1998 compresi al mio sito.
ottimo.
Tempo fa si era parlato anche di una sorta di autentificazione, a mo' di
controllo: checksum e affini.
Io direi di usare md5sum: sarebbe buona cosa metterlo sul sito in versione
DOS.
A questo punto (a parte l'aggiornamento automatico) direi che si potrebbe
cominciare a preparare qualche piccolo tool in forma di script .BAT per fare
qualche operazione semplice (estrarre solo una ruota, solo un certo range di
estrazioni, ecc...)
Ciao
Marco
-- 
L'ottimista proclama che viviamo nel migliore dei mondi possibili.
Il pessimista teme che sia vero.
(Teorema del Cardinale)

Un bel di' Alessandro Pulvirenti scrisse:
AP> tra Lunedì e Martedì devo presentare la Patch 2.00.03 del Lottovelox II
AP> Pro con molte aggiunte e alcune correzioni, posso aggiungere anche
AP> questo formato di esportazione per le estrazioni, ma sei poi qualcuno si
AP> azzarda a fare ancora cambiamenti, come minimo lo Fulmino!! :-))
AP> 
Mi associo!
Se non crea grossi problemi, magari, inserisci anche il formato come 
importazione... :-))
AP> P.S. Martedi 16 Marzo 1999 si porta scaricare il Lottovelox II Pro PAtch
AP> 2.00.03 dal sito: 
http://www.cedss.it/lottovelox/
   con anche queste
AP> novità del "Formato Stardard delle estrazioni"
AP> 
eh eh eh... :-)
-- 
"Esistono solo errori", assioma di Robert
"L'errore di un uomo e' la certezza di un altro uomo", corollario di Berman


Un bel di' Pasquale Fusco scrisse:
PF> Sistemato il tracciato, riapriamo un Post
PF> per le modalita' di archiviazione;
ok.
PF> partendo, se volete, da questa domanda:
PF> - avere un unico file progressivo, oppure 3 o 4 :
PF> 1) "Progressivo", dal 1871 al 1998
PF> 2) "Annuale", 1999
PF> 
io direi: uno grosso dal 1871 al 1998 (300kb), da scaricare
una volta sola.
Uno annuale, o al max semestrale, con il resto delle estrazioni
sempre aggiornate.
Ciao!
-- 
"Tutto capita a tutti prima o poi, se c'e' abbastanza tempo", Shaw


OK: ho parzialmente finito i miei script... ve li posto... cercate
eventuali BUG (tanto non ci sono!! :) )
--------------- AGGIORNA ---------------
#!/bin/bash
if [ $(date "+%w") = 0 ] || [ $(date "+%w") = 4 ]
then
        lynx -dump 
http://193.70.224.60/cgi-bin/txgi.dll?rai/T661
 | ./txt_stdlot >> std1999.lot
fi
------------- fine AGGIORNA -------------
Allora, lo script e' ancora nella versione che scarica solo il giovedi' e 
la domenica, ma per me va bene cosi' :-)
Richiama lynx con l'opzione -dump, che stampa sullo stdout la pagina.
L'output di lynx viene utilizzato come input da txt_stdlot, che e'
il file che si occupa della conversione da txt a stdlot :-)
Il suo output viene accodato all'archivio.
-------------- TXT_STDLOT --------------
#!/usr/bin/awk -f
BEGIN {
        HEADER    = "ESTRAZIONE"
        RUOTA[1]  = "BARI"
        RUOTA[2]  = "CAGLIARI"
        RUOTA[3]  = "FIRENZE"
        RUOTA[4]  = "GENOVA"
        RUOTA[5]  = "MILANO"
        RUOTA[6]  = "NAPOLI"
        RUOTA[7]  = "PALERMO"
        RUOTA[8]  = "ROMA"
        RUOTA[9]  = "TORINO"
        RUOTA[10] = "VENEZIA"
}
($0 ~ HEADER) {
        if ($3 ~ "/") {
                MM = substr ($3, match ($3, "/") + 1)
                AAAA = substr (MM, match (MM, "/") + 1)
                printf "%d/%02d/%02d|", AAAA, MM, $3
        }
}
($0 ~ //) {
        for (i = 1; i <= 10; i++)
                if ($0 ~ RUOTA[i]) {
                        for (j = 2; j <= 6; j++)
                                printf " %02d", $j
                        printf "|"
                }
}
END {
        printf "\n"
}
------------ fine TXT_STDLOT ------------
Questo script funziona anche con il sorgente html delle pagine che
lynx visualizza.
L'importante, perche' txt_stdlot funzioni correttamente, e' che:
- il campo estrazione, sia
	ESTRAZIONE <sep> DEL <sep> data
- le ruote siano ordinate
- le estrazioni siano nel formato
	RUOTA <sep> N1 <sep>... N5
dove <sep> sta per un numero qualsiasi di spazi o TAB (non ritorni a capo!!) :-)
Qualsiasi altra cosa, tipo schifezze varie tra una ruota e l'altra,
viene ignorato :)
Ciao ciao!
-- 
"In ogni impresa umana, il lavoro cerca sempre il livello gerarchico piu'
basso", assioma di Vail


Alessandro Pulvirenti ha scritto:
AP>  Ho finalmente completato l'inserimento del Formato Standard nel
AP>  Lottovelox II Pro, ma il formato l'ho lasciato personalizzabile... 
O T T I M O!
Lottovelox II Pro è il PRIMO programma lotto ad implementare il formato
standard.
Molto bene, Alessandro, complimenti vivissimi.
Ciao
Marco
-- 
I problemi piu' complessi hanno soluzioni semplici, facili da comprendere
e sbagliate. (Legge di Grossman)

Ema da TIN ha scritto:
EdT>  ok, pero' metticiti tu in C o in Pascal a cavare fuori dei dati non formattati
EdT>  alla perfezione... suvvia: facciamo uno sforzo anche verso i programmatori...
ma si tratta di un banalissimo esercizio di programmazione.
se poi danno così fastidio i separatori, allora bastano 2 colpi di tr per
riportare il tutto in forma semplice.
EdT>  il cuculo!! Ci avevo gia' provato, ma date e' piu' furbo... vedi cosa ti succede
EdT>  il 31 di un mese... :-)))
giusto, non me ne ero accorto.
allora riusiamo il mio primo script, senza date.
Ciao
Marco
-- 
Non attribuire mai alla sottigliezza quello che è sufficientemente spiegato
dalla stupidità. (Legge di Hanlon)

Un bel di' Marco Pozzato scrisse:
MP> Tempo fa si era parlato anche di una sorta di autentificazione, a mo' di
MP> controllo: checksum e affini.
MP> 
MP> Io direi di usare md5sum: sarebbe buona cosa metterlo sul sito in versione
MP> DOS.
MP> 
Mah... io direi che non ne vale la pena...
voglio dire: se io aggiorno il mio sito, e ci trovi l'archivio aggiornato
all'ultima estrazione, i numeri sono giusti.
Se fossero sbagliati, sarebbe errato anche il codice di verifica, perche'
sono sempre io che glielo metto dentro... tanto vale...
MP> A questo punto (a parte l'aggiornamento automatico) direi che si potrebbe
MP> cominciare a preparare qualche piccolo tool in forma di script .BAT per fare
MP> qualche operazione semplice (estrarre solo una ruota, solo un certo range di
MP> estrazioni, ecc...)
MP> 
divertiti :-DD
-- 
"Bellezza moltiplicata per intelligenza e' uguale a una costante", legge di
Beckhap


Un bel di' Alessandro Pulvirenti scrisse:
AP> Ho finalmente completato l'inserimento del Formato Standard nel
AP> Lottovelox II Pro, ma il formato l'ho lasciato personalizzabile... nel
AP> senso che se qualcuno vorrà cambiare il tipo di separatore o
AP> delimitatore lo potrà fare, anche se per Default ho messo quelli
AP> previsti dal formato standard.
AP> 
ok... che dire: grazie!
Ciao ciao!
-- 
"Esistono solo errori", assioma di Robert
"L'errore di un uomo e' la certezza di un altro uomo", corollario di Berman


Ema da TIN ha scritto:
EdT>  io direi: uno grosso dal 1871 al 1998 (300kb), da scaricare
EdT>  una volta sola.
EdT>  Uno annuale, o al max semestrale, con il resto delle estrazioni
EdT>  sempre aggiornate.
completamente d'accordo, tanto quest'ultimo occupa pochissimi kbyte.
Ciao
Marco
-- 
Il lavoro di equipe e' essenziale: ti permette di dare la colpa a qualcun
altro. (Ottava regola di Finangle)

Un bel di' Marco Pozzato scrisse:
EdT>>  ok, pero' metticiti tu in C o in Pascal a cavare fuori dei dati non formattati
EdT>>  alla perfezione... suvvia: facciamo uno sforzo anche verso i programmatori...
MP> ma si tratta di un banalissimo esercizio di programmazione.
MP> 
MP> se poi danno cosě fastidio i separatori, allora bastano 2 colpi di tr per
MP> riportare il tutto in forma semplice.
MP> 
mi da fastidio pure tr :-))
EdT>>  il cuculo!! Ci avevo gia' provato, ma date e' piu' furbo... vedi cosa ti succede
EdT>>  il 31 di un mese... :-)))
MP> giusto, non me ne ero accorto.
MP> allora riusiamo il mio primo script, senza date.
MP> 
no! Io uso il MIO :-DD
Ciao!
-- 
"In un qualsiasi insieme di dati, la cifra cosi' evidentemente corretta da
non richiedere un controllo e' l'errore", terza legge di Finagle
