Newsgroup: it.hobby.scacchi
Titolo: [OT] Alcuni miei programmini di utilita'

La specifica [OT] era necessaria, perche' queste utilties non hanno nulla a
che vedere con gli scacchi. Ciononostante possono essere utili anche agli
scacchisti, essendo pure loro (tranne rare eccezioni ;-) persone di tipo
"umano".
Dopo il grande successo di pubblico e di critica per la mia utility di
conversione della guida di Blade (l'altro giorno ho ricevuto piu' lettere
da lui che non dalla mia morosa :), ho pensato di frugare nel mio hard disk
per tirare fuori alcuni programmini che avevo fatto in passato, per
sottoporli alla vostra attenzione.
In realta' si tratta di utilities veramente minime, tanto piccole e
insignificanti che non mi sono mai preso la briga di inserirle nel circuito
freeware dei vari siti ftp.
In ogni caso, adesso che ho un mio sito dove ospitarle, ho pensato di
metterle in circolazione, caso mai servissero a qualcuno.
Questa e' una breve descrizione dei programmini in oggetto:
UNIX2DOS.ZIP
------------
I testi registrati in ambiente unix hanno una formattazione leggermente
diversa da quelli in ambito ms-dos.
In unix si utilizza solo il carattere line-feed 0x0a ('\n') come segnale di
fine riga. Mentre in ms-dos si utilizza la coppia di valori: 13, 10 (0x0d
0x0a).
Quando si caricano dei testi da server di tipo unix (e quasi tutti lo
sono), questi testi vengano visualizzati in modo anomalo.
In realta' non e' sempre vero, dipende dal programma utilizzato. 
In ogni caso per chi come me, usa editor antidiluviani, l'utility unix2dos
risolve il problema alla fonte.
E' sufficiente passare al programma il nome del file di testo (formato
unix) per vedersi restituito lo stesso testo formattato per ms-dos.
ACCORCIA.ZIP
------------
Anche questa e' utile per editor di vecchio tipo. 
Questi editor non hanno il ritorno a capo riga automatico e per questo le
linee piu' lunghe di 80 caratteri finiscono per scomparire alla prorpria
vista.
Il programma accorcia.exe permette di forzare la lunghezza massima (a
scelta) delle righe in un testo, avendo l'accortezza di "spezzare" le righe
solo nei limiti di parola intera.
ACCENTA.ZIP
-----------
Questa utility e' il mio grande orgoglio. E' in corsa, con sette
nominations, come utility piu' stupida del 1999! :-{
Alcuni di voi si saranno forse stupiti nel vedere che molti sul NG (fra cui
il sottoscritto) usano l'apostrofo invece delle vocali accentate.
Il motivo di questa scelta e' ovvio: le nostre tastiere non hanno le vocali
accentate, poiche' sono tastiere americane.
C'e' una ragione per usare una tastiera americana invece che italiana.
Quando si programma (soprattutto in linguaggio C) si fa un uso intensivo
dei caratteri: [ ] { } 
Ebbene questi caratteri sulle tastiere italiane non si trovano. In realta'
si puo' anche riuscire a trovarli ma ci vogliono i cani da valanga e gli
elicotteri! :-}
Il fatto di usare la tastiera americana comporta pero' un problema: le
lettere che vengono fuori sono una vera schifezza, perche' gli apostrofi
sono una cosa e gli accenti un'altra.
Accenta.exe permette di trasformare un testo con vocali "apostrofate", in
un testo con vocali accentate. 
In pratica quando il programma incontra la coppia di caratteri  [e'] la
trasforma nella vocale e accentata (che non vi posso far vedere perche' non
ho la tastiera italiana! :)
MOSTRA.ZIP
----------
Questo programmino permette di visualizzare il contenuto binario di un
qualsiasi file. Mostrando sia i codici esadecimali (sulla sinistra) che
l'eventuale testo ascii (sulla destra).
In realta' in tutti i sistemi operativi esiste un comando che fa qualcosa
di simile, ma io ho sempre trovato molto scomodi questi comandi, anche
perche' dimenticavo sempre le particolari opzioni da impartire per usarli
come desideravo.
Mostra.exe ha un funzionamento molto intuitivo. Non c'e' bisogno di
impartire con un opzione la visione di una pagina alla volta. Lo capisce da
solo (!?) che preferiamo vedere solo le righe che  stanno nel monitor
piuttosto che 3000 righe in un secondo.
Ogni volta che compare una pagina, si puo' decidere se stamparla o se
avanzare di un'altra pagina.
Si puo' anche far partire la scansione da un offset (posizione dall'inizio
del file) a scelta, o di mostrare solo la parte finale del file.
PRINTPRO.ZIP
------------
Printpro e' utile solo ai programmatori. Piu' esattamente ai programmatori 
incasinati che tentato di capirci qualcosa dei programmi che loro stessi
hanno scritto, magari qualche mese o anno prima.
Quello che segue e' l'estratto originale del file help allegato al
programma.
Questo programma permette di creare dei riassunti informativi sulle
funzioni
o procedure usate in uno o piu' file sorgenti.
Printpro lavora sia con sorgenti in linguaggio C che in linguaggio
assembler.
Per poter fruire dei vantaggi di printpro e' necessario che i sorgenti
siano
documentati con linee di commento, prima di ogni  funzione/procedura, che 
seguano la seguente struttura:
// NOME: NomeFunzione
// INPUT: char NomeBuffer[]   {parametri di input}
// SCOPO: Questa funzione permette di trasformare la stringa NomeBuffer[]
..
// OUTPUT: int N    {risultato restituito dalla funzione}
// GLOBALI: {descrizione variabili globali usate o impostate dalla
funzione}
// ALTERA: {descrizione delle variabili globali modificate dalla funzione}
// NOTE: {note particolari sull'uso della funzione}
Al posto della coppia '//' usata nel C++, si puo' anche usare il ';' usato
nel linguaggio assembler.
Ovviamente non e' necessario che tutti questi elementi informativi siano
presenti. L'unico necessario, e che deve apparire sempre per primo, e' il
campo "NOME:". Gli altri campi sono facoltativi e possono apparire in 
quasiasi ordine.
Possono esserci anche due campi uguali consecutivi per consentire una
descrizione piu' lunga, per esempio:
// SCOPO: Questa funzione effettua il riordino degli indice del vettore
VetPunt 
// SCOPO: sulla base del valore NFix abbinato ad ogni valore della
rispettiva
// SCOPO: struttura struct StrCasino VetStrCasini[]
INFO_DIR.ZIP
------------
Questo e' stato il mio piu' grande fiasco.
L'avevo preparata per i tipi di ftp freechess ma non mi hanno mai nemmeno
risposto! :-(
Questo programma permette di creare automaticamente uno di quei file
index.readme che avrete gia' visto in questa o quella directory di siti
FTP.
In questi file index si leggono cose del tipo:
cra4.0.tar.gz
         Versione 4.0 di crafty. Solo sorgenti
timeseal.zip
	Utility anti lag per FICS. Eseguibile per windows95/NT
mailpgn.zip
	Utility per estrarre dalla posta partite in formato PGN
Eccetera, eccetera.
Come fa info_dir.exe ha realizzare automaticamente questo file!? Non lo fa!
Nel senso che non puo' garantire di riuscire a descrivere tutti i file di
una directory. Semplicemente ci prova, partendo dal presupposto che molti
file binari (.exe, .z, .zip ecc.) sono accompaganti da un file del tipo
(nome.txt, nome.doc readme-nome, nome-readme) dove "nome" e' ovviamente il
nome del file binario.
A questo punto info_dir.exe cerca di creare delle accoppiate [Nome file
eseguibile] - [nome file descrizione] e crea il file index scrivendo prima
il nome del file eseguibile, seguito poi dalle prime N righe (a scelta) del
file descrizione.
Credevo che potesse essere utile all'amministratore di un server ftp, ma mi
sbagliavo! :-{
INDIRIZZI DELLE UTILITIES
------------------------
http://www.FratelliDiItalia.org/misc/info_dir.zip
http://www.FratelliDiitalia.org/misc/accorcia.zip
http://www.FratelliDiItalia.org/misc/accenta.zip
http://www.FratelliDiItalia.org/misc/mostra.zip
http://www.FratelliDiItalia.org/misc/unix2dos.zip
http://www.FratelliDiItalia.org/misc/printpro.zip
Ah quasi dimenticavo! Nei file zip c'e' anche il sorgente ansi C (oltre
all'eseguibile per ms-dos). L'unica eccezione riguarda printpro, poiche'
questo e' stato sviluppato interamente in assembler (vecchi tempi! :)
Ciao
Paolo B.
-- 
----------------------------------------------
Piu di 9000 siti, programmi, utility e informazioni. 
Motore di ricerca in italiano per trovare 
risorse scacchistiche in rete: ICSE 
(International Chess Search Engine) 
http://www.FratelliDiItalia.org/motore.cgi?ISRC
------------------------------------------------------

bella Paolo, leggendo la tua mail mi sono sentito proprio a casa mia!!!
ehh... i vecchi tempi!!
ciao,
Julian//

 -----------


 Saluti
Questo significa che nessuno puo' spedire email con le vocali accentate!?
Mi sembra strano, anche perche' mi pare di averne ricevute in passato.
Forse pero' era il tempo in cui spedivo e e ricevevo i messaggi in html,
dove venivano usate strane schifezze "&ea"  (o qualcosa di simile) per
farle comparire.
A pensarci bene a volte sul NG compaiono messaggi in cui sembra che molte
vocali siano letteralemte esplose! Sara' per il discorso che fai fatto?
(Probabile ...)
Ciao
Paolo B.

 
Sei anche tu un vecchiaccio "in la con gli anni..", eh! :-{
Io ancora uso un editor auto-costruito, che mi serve per compilare e
assemblare i miei sorgenti. Ovviamente il compilatore non fa parte del mio
programma, quello viene solo chiamato come sottoprocesso.
Comunque non abbandonerei mai quel mio rudere ms-dossiano, per i super mega
integrati, programmi WSYWYING (o come diavolo...) sotto windows95. Perderi
settimane solo per scoprire a che cacchio servono tutte quelle figurelle,
sparpagliate in ogni angolo della finestra.
Fuori tema (come sempre).
Ho avuto proprio adesso la luttuosa notizia. Il TIO della settimana e'
stato annullato! :-(
E pensare che avevo training-autogeno per tutta la settimana (" non sono
una schiappa - non sono una schiappa - non sono una schiappa") In reala'
mentre lo dicevo mi veniva da ridere ("si che sono una schiappa, pensavo")
pero' l'ho ripetuto dodici volte al giorno, per cinque giorni consecutivi.
Sicuramente il mio gioco ne avrebbe tratto gran giovamento! :-)
Ciao al prossimo lontanissimo TIO
Paolo B.

(Probabile ...)
Anche per il famigerato UTF-8 (Per+AOF- c'+AEF- ancora qualcuno che lo
usa... :-PPP)
Un Gabry che tutti i giorni prega Sant'Unicode che ci liberi... :-)
-- 
*************************************************************************
LightKnight's Home Page:  
http://www-studenti.dm.unipi.it/~stilli/
Inizio del 3^ Millennio/3rd Millennium Start: 1st January 2001 (NOT2000!)
Millennium Info:          
http://www.rog.nmm.ac.uk/leaflets/new_mill.html
*************************************************************************

se la codifica e' a 7 bit in effetti e' cosi' (...mi secca controllare!)...
pero' la codifica cosi' e' accessibile virtualmente a tutti i computer del
mondo e non solo ai Pc.

 destinatario (cio' vale sia per mail che per NG).
Io per esempio quando vi leggo vedo un ? al posto di ogni lettera  
accentata (sono in Unix) ma siccome sono solo 5...sopravvivo :-)
Maurizio (ex Guest at Ino)

 Paolo B.