- presentazione del sito
- Registrazione
- Eventi, mostre, convegni ed iniziative segnalate dalle aziende
- Recensioni ed articoli
- Le Mailing Lists
- La rivista Pc Ciechi
- Wiki
- Chi siamo
- Donazioni
- Un progetto degno di nota: Wintalbra
- Come navigare in questo sito
- rss
- Bancomat Accessibili sul territorio nazionale
- Contattaci
- I sostenitori di SpazioAusili
Prima di programmare cerchiamo di ragionare
Ragionamento a piu' voci su Winguidotecnica,
a decorrere dal 08\04\2008, h.00.22
Nei giorni dall' otto all'undici aprile scorsi sulla rifondata lista integralmente tecnica wingjuidotecnica si è svolto un fittissimo e coinvolgente scambio epistolare tra l'"allenatore di cervelli" ing. Guido Ruggeri e gli iscritti alla lista a partire dalla necessità di risolvere un problema pratico in vista dei nuovi servizi in cantiere per l'associazione guidiamoci.
Consiglio vivamente di leggere il lunghissimo documento che si rivela una sorta di indispensabile corso preliminare al ragionamento per chi desidera darsi da fare in campo informatico.
(mp)
Ed ora, un po' di pubblicità
:*Guido Ruggeri solleva il problema e succintamente espone la sua filosofia di fondo.
Allora, quello che voglio realizzare è un sistema per
acquisire le immagini direttamente con lo scanner, e quindi
trasmetterle via Internet al server di Guidiamoci. Questo in
previsione di realizzare un sistema di iscrizione ai servizi
riservati, se mai ce ne saranno, che consenta di trasmettere
i certificati che attestano la disabilità visiva senza
bisogno del fax, ma acquisendoli direttamente con lo scanner
e inviandoli via Internet.
Per l'acquisizione con lo scanner sto sperimentando il
codice sotto riportato, basato sulla libreria EZTW32.
Funziona, ma ottengo l'immagine in formato BMP, e quindi di
file di grandi dimensioni, troppo scomodo per essere
maneggiato in Internet.
Cerco quindi un sistema per ottenere l'immagine in un
formato compatto, tipo GIF o JPG. Il che significa: o
trovare un modo per ottenerlo direttamente dalla libreria
EZTW32, oppure un modo per convertire il risultato, dopo
averlo ottenuto, dal formato BMP ad uno dei formati
compatti.
(omissis)
Perciò, servono programmatori! NOn è
vero che la conoscenza 0 va bene lo stesso.
Risposta:
Non sono d'accordo. Qui siamo a WinGuido.
Per l'appunto, un programma nato da me, che non sono
programmatore, che partivo da conoscenza 0, che non avevo
mai messo le mani su un computer fino all'età di
trent'anni, che non ho mai frequentato un corso di
programmazione, e che tuttora di tante cose non so niente di
niente.
Servono e bastano voglia di fare, di apprendere, di
ragionare. Tutto il resto
sono sovrastrutture di secondaria importanza.
*ecco ora un estratto del lunghissimo dibattito.
Mi auguro che le "sforbiciate" siano state inferte nei punti giustie non a detrimento di un onesto resoconto. Perciò invito chi avrà la pazienza di leggere a inviarmi suggerimenti e critiche per migliorare in futurol'esposizione essenziale dei dibattiti.
(mp)
***
antonio de angelis
io senza ne leggere ne scrivere come posto piu ovvio dove andare a cercare una soluzione e il componente che usa l'applicazione paint di microsoft per
la visualizzazione di immagini.
agganciare la scansione in bmp a quell'applicazione o componente che gestisce la conversione di formato potrebbe essere praticata visto che tutti i sistemi
operativi attuali hanno questa applicazione istallata?
***
Sarabi_8
da quel poco che ho capito dai suoi passi di programmazione, mi corregga se sbaglio, lei ha scelto la via della conversione del file acquisito da bmp in
altro formato, es. jpeg.
a tal prposito ho trovato girelando qua e la una routine che credo lo permetta. Dico credo, perché non conoscendo la programmazione non posso valutare
la riuscita.
il link da dove l'ho scaricato è
http://www.vbcorner.net/ita/projects.htm
al 14 esimo link.
***
Guido Ruggeri.
Molto bene, Sarabi_8.
Anche se io l'avevo trovata in un altro sito, la soluzione
che hai individuato è la stessa.
Io l'avevo trovata in quello che avevo definito "il posto
più ovvio in cui cercare", che è il sito
www.visual-basic.it da cui, come si sa, provengono la
maggior parte degli spunti che mi hanno permesso di
realizzare WinGuido.
Adesso andiamo avanti.
Ammesso che quella sia la soluzione migliore, che cosa
bisognerà fare?
Consiglio a tutti di scaricarla, di guardare quali file
contiene, e di ragionarci sopra.
Naturalmente non bisogna nemmeno abbandonare le ricerche,
perché non è detto che non possa esserci una soluzione
migliore.
Quelle ideale, lo ricordo, sarebbe poter configurare la
libreria EZTW32 in modo che fornisca direttamente il
risultato in JPG o GIF. Ma su questo, effettivamente, non ho
trovato niente.
***
Bene, la soluzione giusta è arrivata da Sarabi_8 che forse
è il primo caso, dopo anni di liste di discussione e di
inutili chiacchiere inconcludenti, di persona che ha fatto
l'unica cosa intelligente da fare, cioè andare su Internet
e cercare quello che serve.
Non si capisce perché ci siano voluti tutti questi anni,
quando si tratta di una cosa talmente banale per cui non ci
vuole certo chissà quale scienza: ormai queste cose le
fanno anche i bambini dell'asilo.
Eppure, così stanno le cose.
Tuttavia è da apprezzare anche il ragionamento di Maria,
che è andata a guardare cosa si può fare con FineReader.
Fare ricorso a FineReader non è la soluzione migliore, per
i seguenti motivi:
1. non è detto che tutti lo abbiano.
2. non abbiamo la possibilità di programmarlo, se non con
sistemi grossolani, in quanto, per motivi più commerciali
che tecnici, non possiamo usare il relativo kit di sviluppo.
3. la funzione specifica di FineReader è quella di
riconoscere il testo presente nelle immagini acquisite, ma
in questo caso a noi non serve: ci basta acquisire
l'immagine.
Anche FineReader, quando acquisice le immagini con lo
scanner, non fa null'altro che richiamare altre procedure,
esterne a FineReader, che gestiscono il processo di
scansione e acquisizione. FineReader entra davvero in gioco,
col le sue precedure interne, soltanto dopo, quando si
tratta di riconoscere il contenuto delle immagini acquisite.
Per cui, conviene anche a noi cercare di acquisire le
imagini passando direttamente per quelle altre procedure,
evitando quindi di chiamare in causa FineReader.
***
fabio de dominicis
> Tornando ora a noi, se o capito bene, dopo
> aver ottenuto il file .jpg, bisogna inviarlo ad un server
guido ruggeri
No, non abbiamo ancora ottenuto il file .jpg
E' stato soltanto segnalato, da Sarabi_8, un link su
Internet, dove è riportato un esempio di programma.
Adesso, qual è il passo successivo?
***
(omissis)
E' stata suggerita la soluzione di convertire il file BMP in
JPG usando un progetto che si trova in
www.vbcorner.net/ita/projects.htm che peraltro coincide con
uno che anch'io avevo trovato in www.visual-basic.it
Soluzione che sembra l'unica praticabile, perché
possibilità di ottenere il formato JPG direttamente dalla
libreria EZTW32 io non le ho trovate.
Allora, il passo successivo, volendo scegliere questa
soluzione, è quello di andare a scaricarsi quel progetto,
ed esaminarlo per capire se davvero fa al caso nostro e come
potremo utilizzarlo.
Si ottiene il file compresso gbBmp2Jpg.zip
Quindi la successiva cosa che viene in mente di fare è:
decomprimerlo, e guardare cosa c'è dentro.
Si trova che ci sono 5 file:
ConvertBMP2JPG.vbp
converter.dll
frmConverter.frm
frmConvert.frx
Leggimi.txt
Una persona inesperta potrebbe non capire a cosa servono i
primi 4 file, ma l'ultimo, Leggimi.txt, si capisce benissimo
a che cosa serve: è un file di testo fatto apposta per
essere letto.
E allora, non sapendo che altro fare, si potrebbe cominciare
con il leggerlo.
Leggendolo, si troverà che c'è scritto qualcosa: forse
non riusciremo a comprendere bene quello che significa, ma
certamente ci si troveranno degli spunti su cui continuare a
ragionare.
Perché è così che si va avanti con il lavoro:
documentandosi e ragionando. Non serve niente, nè
particolari conoscenze, nè studi pregressi, nè lauree:
niente! Nemmeno conoscere i linguaggi di programmazione.
Basta cercare, leggere, riflettere e ragionare.
antonio de angelis
su quel file c'e' scritto che la libreria converter.dll va copiata in system
ma piu interessante a mio avviso e che esistono i sorgenti di quella libreria su:
www.planetsourcecode.com.
mi sono fatto un giro ed in effetti ho trovato qualcosa ma per me incomprensibile.
Ma a questo punto mi viene da farti una domanda.
il sorgente puo' fare al caso nostro per esser modificato direttamente come aquisitore di formato jpeg per lo scanner?
***
pier anna viscaro
ma con WinGuido l'acquisizione dell'immagine in BMP e la
conversione in JPG verrebbe fatta in un solo passaggio?
Bisogna fare in modo che le 2 procedure comunichino fra di
loro; forse per far questo serve qualcosa?
guido ruggeriDal punto di vista logico, sarebbe stato meglio risuscire a
fare tutto in un unico passaggio.
Ma il modo non si è trovato.
Allo stesso modo sarebbe stato meglio riuscire, come dici
tu, a mettere in comunicazione le 2 procedure: la prima
avrebbe cioè acquisito l'immagine BMP lasciandola in
memoria, la seconda l'avrebbe convertita in JPG prendendola
direttamente dalla memoria, e quindi generando il file.
Ma anche questo non c'è un modo per farlo, le due librerie
non lo prevedono.
Così non rimarrà che fare il doppio passaggio: con la
libreria EZTW32 si acquisirà, dallo scanner, l'immagine e
sarà salvata nel disco rigido, in un file BMP tamporaneo.
Quindi, con la funzione BMPToJPG della libreria converter,
si ricaverà, dal file temporaneo, il file JPG definitivo.
E, a quel punto, si potrà cancellare il file temporaneo,
per recuperare spazio nel disco rigido.
La procedura col doppio passaggio, dal punto di vista
logico, è poco elegante.
Ma in realtà, in termini di velocità del risultato, la
differenza sarà impercettibile.
Ben altra cosa sarebbe stata con i computer di vent'anni fa,
quando effettivamente le operazioni di salvare un primo file
temporaneo nella memoria di massa, per poi riaprirlo e
infine cancellarlo, avrebbero rallentato molto l'esecuzione,
e creato problemi di spazio. E allora veramente riuscire a
risparmiare il doppio passaggio avrebbe fatto una bella
differenza.
Ma adesso, con i computer di oggi, e con gli enormi dischi
rigidi che ormai siamo soliti usare, tutte queste operazioni
avvengono in un istante e senza problemi.
***
fabio de dominicis
e includere converter.dll nel programma di installazione di
winguido.
guido ruggeri
In questa frase scritta da Fabio c'è uno spunto
interessante per andare avanti nel nostro ragionamento.
Sicuramente dovremo preoccuparci del programma di
installazione di WinGuido. Ma prima di arrivare a questo, ci
saranno altri problemi che dovremo porci, considerando che
WinGuido è già installato e usato in un numero di
computer che attualmente presumo essere intorno ai 2000.
Quali saranno questi problemi?
antonio de angelis
vabbe' la prima cosa che mi viene in mente e quella di creare una procedura che permetti di scaricare un aggiornamento di winguido e che reindirizzi la
libreria direttamente nella cartella system .
comunque questa procedura dovrebbe anche prevedere nel caso in cui esista gia' la libreria converte.dll di sovrascriverla nel caso in cui fosse stata istallata
da qualche altra applicazione.
guido ruggeri
Risposta azzeccatissima.
Aggiungiamoci qualche considerazione e pensiamo a come
realizzare tutto questo.
Intanto mi viene in mente una cosa: non mi piace il nome
converte.dll.
Non mi piace perché è un nome troppo comune, e c'è il
rischio che possa confondersi con altre librerie
eventualmente già presenti nel computer con lo stesso
nome, e che invece non c'entrano niente.
Quindi, ciò premesso, cosa dobbiamo fare?
Ovvero: come realizziamo ciò che dice Antonio?
antonio de angelis
una rinomina della libreria da converter.dll ad altro nome.
ma c'e anche da fare una considerazione.
se questa libreria converter.dll effettua una determinata operazione e cioè convertire da bmp a jpg cio' vuol dire che se anche la libreria per intuizione
spartana la chiamiamo wg_converte.dll nel caso in cui un giorno abbiamo da inserire un'altra libreria di convertitore di altra funzione ci troviamo dinanzi
alllo stesso problema.
quindi dargli un nome inequivocabile come bmpjpg.dll ovviamente poi cambiare lo stesso nome anche nella stringa di linguaggio che scriverai in winguido.
che se gli lasci converter.dll col cavolo che funziona
giuseppina manzi
In effetti credo si possa rinominare il file da inviare alla cartella system in modo che non vada a collimare con nessun altro. Ma sul come non ho la più
pallida idea.
***
varo landi
Molto bene, Varo. Noto che sei talmente più a zero di
tutti che stai entrando nel ragionamento molto meglio di
tanti altri.
Meriti quindi qualche precisazione.
Messaggio originale:
Ora passiamo a quanto ho inteso io :vogliamo far
funzionare uno scanner in winguido :problema :trovare un
programma di scansione che possa essere ridotto di
dimensione in modo che possa essere usato ,agevolmente
via internet .
Risposta:
I termini esatti del problema sono: il programma di
scansione l'abbiamo già trovato, perché faremo uso della
libreria EZTW32.
Qui, Varo, non mi sto riferendo ad una sigla, ma al nome di
un file. Si chiama così perché qualcuno, che l'ha
realizzato, gli ha dato quel nome, ma poteva chiamarsi anche
Guido o Antonio o Varo. L'importante quindi non sta nel
nome, ma nel comprendere a cosa serve e come si deve usare.
Capire esattamente la differenza tra libreria e programma
potrebbe essere importante, ma di questo sarà meglio
parlare nel dettaglio un altra volta. Per adesso fai conto
che libreria e programma siano la stessa cosa. Anzi, più
esattamente: la libreria è un sottoprogramma, destinato
cioè non ad essere usato autonomamente, ma ad essere a sua
volta chiamato da altri programmi.
Quella libreria funziona ed ho già imparato come usarla,
ma produce, come risultato di una scansione, un file di tipo
BMP.
BMP significa: bit map.
Si, forse questo chiarisce ben poco, ma l'importante è
capire che un bit map rappresenta un'immagine grafica, nel
modo più elementare possibile. E quindi in un modo che
richiede file di grandi dimensioni.
File di grandi dimensioni, che poi dobbiamo mandare, via
Internet, nel server di Guidiamoci, in modo che Andrea possa
vederli.
Fare questo con i file di tipo BMP è lento, ingombrante e
scomodo.
Per questo sono stati inventati dei formati di file grafici
più compatti e più adatti, e sono i formati GIF e JPG.
Si tratta di file che, pur essendo molto più piccoli come
dimensioni, fino a oltre 10 volte di meno, ottengono il
medesimo risultato di rappresentare un'immagine grafica.
Magari al prezzo di perderci un poco sulla qualità
dell'immagine: più si vuole il file piccolo, più si deve
accettare di rinunciare a qualcosa nella qualità.
Quindi, Varo, per essere precisi, il nostro problema non è
nel programma di scansione da usare, che ormai abbiamo
individuato, ma nel come manipolare il risultato di quel
programma di scansione.
Cioè: come trasformarlo dal formato BMP al formato JPG.
JPG è la contrazione di JPEG, che a sua volta è la sigla
di Joint Photographic Expert Group, il nome del gruppo di
lavoro che mise a punto quella tecnica di compressione di
immagini.
Messaggio originale:
Guido ipotizza che una qualità media possa essere
sufficiente ,pensa che la
qualità possa variare da 1 a 100 e,quindi opta per 50 .A
questo punto la mia riflessione è la seguente :uno scanner
dovrebbe poter fornire una immagine di buona qualità.
Risposta:
Ripeto che non stiamo parlando dello scanner: quello sarà
gestito a monte, con la libreria EZTW32, e sarà semmai con
quella che si potrà giocare sui parametri della scansione.
Adesso però stiamo parlando di ciò che dallo scanner è
già uscito, cioè di un BMP, che dobbiamo trasformare in
JPG, cioè ridurre di dimensioni, per poterlo mandare su
Internet.
Il fattore di qualità può variare da 0 a 100. Maggiore
è la qualità, maggiori sono le dimensioni dal file JPG,
e quindi una qualità troppo alta potrebbe persino
vanificare l'aver trasformato il BMP in JPG perché il file
che si otterrebbe sarebbe comunque di dimensioni troppo
grandi.
Per individuare il valore ottimale di qualità non
rimarrà che fare varie prove con valori diversi.
Quelle dovrò necessariamente farle io. Anche perché
c'è un piccolo ma non trascurabile problema: per valutare
se la qualità dell'immagine che si ottiene è
sufficiente, bisogna vederci.
pier anna viscaro
questa procedura deve risultare presente solo nei pc dove viene rilevato uno
scanner,
sarabi_8
Ciao,
io nel rimnominare il file terrei presente della limitazione che imponeva il vecchio Dos cioè quella di dare al file un nome con non più di 8 caratteri
prima dell'estenzione.
***
guido ruggeri
In accordo con quanto dice Sarabi_8, potrebbe andare bene il
nome che aveva proposto Antonio, cioè: bmpjpg.dll
Ma, meglio ancora, sarebbe lo stesso nome della funzione che
ci sta dentro, cioè: bmp2jpg, con il simbolo 2 in mezzo.
Questo perché rispetterebbe una convenzione usata da
sempre in informatica: l'uso del simbolo 2 per significare:
convertire a.
Quindi bmp2jpg, in informatichese, sta proprio a intendere:
da bmp convertire a jpg.
Si usa il simbolo 2 perché in Inglese è "two", che suona
allo stesso modo della preposizione "to", che è
l'equivalente inglese della preposizione: a.
Quindi, per rispettare questa convenzione, io la chiamerei:
bmp2jpg.dll.
Quindi io prendo il mio file converter.dll che ho già
scaricato da Internet, e lo rinomino in bmp2jpg.dll.
E poi cosa dovrò fare?
Invito anche a riflettere su altre interessanti osservazioni
che sono arrivate:
Antonio faceva notare che sarebbe opportuno, in fase di
aggiornamento di WinGuido, rilevare se quella libreria non
sia già presente nel computer;
Pieranna osservava che bisognerebbe rilevare se nel computer
è installato uno scanner.
giuseppina manzi
Si potrebbe anche attivare la possibilità di rendere attiva questa libreria, o questo programma con una opzone simile a quella fatta per i giochi condivisi.
Se non ricordo male, bisognava attivarla dopo un aggiornamento sul proprio pc. Si potrebbe fare la stessa cosa in modo che chi ne è interessato la attiva.
Chi l'attiva, ovviamente ha uno scanner installato no?
***
sergio
Si potrebbe fare tramite un aggiornamento di Winguido? mettendo il fail converter.
Lo possiamo chiamare, winguidoconverter.
***
antonio de angelis
> e si guido ma comunque se ci andiamo a rinominare in
> questo modo la libreria non ci saranno altre librerie con
> questo nome o sbaglio?
guido ruggeri
Ottimo, era proprio qui che vi volevo!
E, naturalmente mi ero già premunito facendo una ricerca
in Internet sul nome bmp2jpg.dll
Il risultato è che di file con questo nome se ne trovano
tanti.
Qualcuno, forse, è già lo stesso file che noi abbiamo
trovato col nome converter.dll, altri potranno essere file
diversi che fanno la stessa cosa.
Comunque stiano le cose, non si può fare troppo
affidamento su quel nome: perché in un computer una
libreria con quel nome potrebbe esserci già, e non è
detto che sia la stessa che vogliamo usare noi: potrebbe
essere una simile che fa la stessa cosa, ma che va usata in
modo diverso, e quindi col sistema che realizzeremo non
funzionerebbe.
Ci sono due scappatoie.
La prima è dargli un altro nome più complesso, del tipo
wgbmpjpg, dopo esserci assicurati che non si trovi su
Internet nulla con quel nome.
La seconda è quella che più probabilmente useremo.
Qui però ci vuole qualche spiegazione.
In quel file Leggimi.txt avevamo letto che la libreria
converter.dll deve essere copiata nella cartella di sistema
che, normalmente, è: C:\Windows\System32.
Questo è quanto ci hanno detto di fare, ma non è l'unico
modo.
La libreria può anche trovarsi, anziché nella cartella
di sistema, in qualsiasi altra cartella, purché il
programma che la chiama, prima di chiamarla, sia già
puntato in quella cartella.
Voglio dire: quando da WinGuido io chiamo una funzione che
il programma è stato istruito a cercare in una libreria
che si chiama bmp2jpg.dll, WinGuido cerca la libreria
innanzi tutto in quella che gli risulta essere, in quel
momento, la cartella corrente. E poi, non trovandola lì,
la cercherà nella cartella di sistema.
La cartella corrente, per un programma, normalmente è la
stessa da cui il programma è iniziato che, nel nostro
caso, dovrebbe essere c:\WinGuido.
Quindi la nostra seconda possibilità è quella di mettere
la libreria, anziché nella cartella di sistema, nella
stessa cartella in cui si trova WinGuido.
Così non ci saranno equivoci: il programma cercherà la
libreria nella sua stessa cartella e, se la troverà, non
avrà dubbi che è quella che abbiamo voluto metterci noi.
Se poi ne esiste un'altra nella libreria di sistema che ha
lo stesso nome, sarà ignorata.
Perché questo funzioni, pero, dobbiamo essere sicuri che
quando WinGuido fa la sua prima chiamata alla libreria la
sua cartella corrente coincida con quella del programma.
Sappiamo che quando il programma inizia è così, ma nel
corso della sua esecuzione tante cose possono essere
successe e la cartella corrente potrebbe essere cambiata.
Così dovremo mettere, prima della chiamata alla libreria,
un comando per reimpostare la cartella corrente.
Quel comando è:
ChDir "C:\WinGuido"
ChDir significa Change Directory, cioè: cambio cartella.
Però, attenzione. Se scriviamo ChDir "C:\WinGuido",
significa che stiamo dando per scontato che la cartella di
WinGuido sia propro quella.
Sappiamo che in gran parte dei casi lo è, ma noi dobbiamo
prevedere anche l'eventualità che non lo sia, cioè che
WinGuido sia in un'altra cartella diversa da C:\WinGuido.
Per cui dovremo invece scrivere:
ChDir App.Path
e adesso, cosa sarebbe questo "App.Path"?
Qui potremmo andare sul difficile, e dire che stiamo
ottenendo la proprietà Path dell'oggetto App. Ma credo che
introdurre concetti di programmazione ad oggetti sia
prematuro, e quindi diciamo semplicemente che, in Visual
Basic, scrivendo App.Path mi ricavo il nome della cartella
in cui si trova il programma stesso che si sta eseguendo.
Ora che stiamo cominciando a mettere a fuoco meglio la cosa,
torno a chiedere: io, Guido Ruggeri, ho il mio file
converter.dll nel mio computer.
Adesso cosa dovrò fare?
Abbiamo già detto che gli cambierò nome e lo chiamerò
bmp2jpg.dll. E poi?
***
giuseppina manzi
Si potrebbe anche attivare la possibilità di rendere
attiva questa libreria, o questo programma con una opzone
simile a quella fatta per i giochi condivisi. Se non
ricordo male, bisognava attivarla dopo un aggiornamento
sul proprio pc. Si potrebbe fare la stessa cosa in modo
che chi ne è interessato la attiva. Chi l'attiva,
ovviamente ha uno scanner installato no?
guido ruggeri
Questo non è possibile, una libreria è una raccolta di
sottoprogrammi che servono per essere chiamati da altri
programmi, ma rimane comunque esterna al programma che la
sta usando.
Pensa ad esempio, nella vita di tutti i giorni, a dei
servizi che trovi a disposizione del pubblico.
Ad esempio: le poste. Prendo lo spunto dal fatto che nei
giorni scorsi si era parlato di poste e di postini.
Supponiamo che le poste siano una libreria. Proprio così:
immagina che tutto il servizio postale, gli uffici, i centri
meccanografici e i vari impianti, sia concentrato in un file
che chiameremo: poste.dll
Perché ormai abbiamo capito che le librerie hanno
l'estenzione dll, che vuol dire: Dynamic Linking Library.
Allora, in questa libreria ci troviamo le varie funzioni che
chiameremo quando ci servono: la funzione per la spedizione
di lettere, quella per la spedizione di pacchi, quella per
il pagamento su conto corrente, eccetera.
Quando spediamo una lettera, cosa facciamo? Ci scriviamo
sopra il nome e l'indirizzo del destinatario, la
affranchiamo e la imbuchiamo.
Cioè: comunichiamo alla libreria i parametri che le
occorrono. E poi, con l'atto di imbucare la lettera,
effettuiamo la chiamata alla funzione spedizione lettera
presente nella libreria. Facciamo cioè la "Call".
Da questo momento in poi, ci disinteressiamo di quello che
succederà perché non dipende più da noi: sappiamo
soltanto che il risultato finale sarà che, dopo un po' di
tempo, quella lettera sarà recapitata al destinatario che
abbiamo indicato, cioè al parametro che abbiamo passato
alla funzione nel momento in cui chiamavamo la libreria.
Tutto quello che è successo nel frattempo non lo sappiamo
e non ci riguarda, perché non abbiamo dovuto organizzarlo
noi ma lo ha fatto chi ha organizzato il servizio postale.
Noi dobbiamo solo sapere come si usa, e quindi, ad esempio,
sapere che se non specfichiamo correttamente l'indirizzo e
il codice di avviamento postale la lettera potrà essere
respinta.
La necessità di spedire quella lettera però è maturata
nell'ambito di qualche cosa: ad esempio, stiamo organizzando
una festa e stiamo spedendo gli inviti.
Allora vuol dire che abbiamo attivato un programma per
organizzare una festa, che prevede tutta una serie di
incombenze: individuare dove e quando farla, scegliere chi
invitare, e spedire gli inviti.
Nell'ambito di questo programma, quando arriva il momento di
spedire gli inviti, si fa una chiamata alla funzione
spedizione lettera che è presente nella libreria poste.
Quindi una libreria è qualcosa che metti nel tuo computer,
e che un qualsiasi programma può usare quando gli serve di
usarla, facendo la chiamata ad una della funzioni che
contiene. Ma rimane qualcosa di esterno e di diverso
rispetto al programma che stiamo eseguendo.
Così come tutto l'insieme del servizio postale rimane
esterno rispetto alla festa che stiamo organizzando.
Nel caso dei giochi condivisi di WinGuido, quello è un
altro concetto: quella è una funzionalità che fa parte
dello stesso programma, non è una libreria esterna.
Per questo è una cosa che il programma può scegliere di
attivare o di disattivare a suo piacimento.
Noi, nell'organizzazione della nostra festa, possiamo
decidere di attivare o disattivare quello che vogliamo:
possiamo attivare i pasticcini, se sappiamo che piacciono, e
disattivare le tartine, se sappiamo che non piacciono a
nessuno. Ma non possiamo certo decidere di disattivare il
servizio postale nazionale.
Tutt'al più, non lo usiamo se decidiamo che gli inviti è
meglio farli per telefono o per email. Ma il servizio
postale resta sempre lì funzionante.
antonio de angelis
> di questa eventualita' avevo gia' scritto chiedendoti
> nel caso di creare una sottocartella in system32 ma tu mi
> hai risposto dicendo che il programma che chiama
> l'applicazione puo' scegliersi anche il percorso che non
> e detto che debba essere c:/windows/system32/. ok capito
> poi tu dici che il comando da dare nel caso di cartella
> diversa da c:/winguido/ e chdir app.patch
> in pratica app sta per applicazione e patcch per percorso
> dove trovare il file. quindi io senza leggere ne scrivere
> penserei che il comando da inserire in winguido per
> chiamare questa applicazione è: chdir
> bmp2jpg.dll./winguido/ in pratica la prima e la dll da
> cercare la seconda e il percorso senza indicare la radice
> del disco inserendo direttamente la barra e poi la
> cartella winguido dove cercare l'applicazione. in questo
> modo non si rischia di trovare l'errore qualora la
> destinazione dellla cartella winguido non si trova sul
> disco c: ho sballato?
guido ruggeri
Il primo comando da eseguire è:
ChDir App.Path
Dopo di questo seguirà un'altra riga con la chiamata alla
funzione, che sarà del tipo:
BMP2JPG NomeFileBMP, NomeFileJPG, Quality
Poi noi sappiamo che in gran parte dei casi App.Path
restituisce "C:\WinGuido", quindi dire ChDir "C:\WinGuido" e
ChDir App.Path è la stessa cosa.
Ma ChDir App.Path è più sicuro perché copre anche quei
casi in cui la cartella potrebbe essere un'altra.
E come tu mi dicessi: vai da tuo fratello.
Se sai che mio fratello si chiama Roberto, per fare prima
puoi dirmi: vai da Roberto.
Cioè: tuo fratello, applicato a me, restituisce il valore:
Roberto.
Ma se io dico a te: vai da Roberto, non ha significato, se
tuo fratello non si chiama Roberto.
Se però ti dico: vai da tuo fratello, allora tu sai da chi
devi andare. E io posso anche non sapere come si chiama tuo
fratello: l'importante è che lo sappia tu.
Per ChDir vale quanto detto per "Vai da".
E per App.Path vale quanto detto per "tuo fratello".
Poi, dopo che sei andato da tuo fratello, potrai fare
un'altra cosa che puoi fare solo da lui perché solo da lui
trovi il necessario. Se prima non ci vai, non sei sicuro di
poterlo fare.
(omissis)
sergio
> Lo possiamo chiamare, winguidoconverter.
guido ruggeriNon mi piace.
E' un nome che risulterebbe ambiguo e confondersi con altre
librerie di conversione che possono servire a WinGuido.
Ma avete provato o no a guardare quali libererie, cioè
quali file dll, ci sono nella cartella di WinGuido?
Vi siete accorti che c'è una libreria che si chiama:
gifbmp32.dll?
A cosa pensate che serva?
varo landi
:cosa vieta di usare un nome latino anziché inglese ? Ovvero conversion anziché converter ?
guido ruggeri
: Latino o inglese che sia, rimarrebbe
sempre un nome generico che non si capisce che cosa vorrebbe convertire in quale altra cosa. E pertanto rischia di confondersi con tante altre librerie
che potrebbero chiamarsi così. Non altrettanto si può dire per l'altra libreria che gestisce lo scanner, la EZTW32.dll. Quello infatti si sa che è il nome
specifico convenzionalmente riservato a quella libreria, e quindi non c'è pericolo di confonderla con altre. Guido Ruggeri.
antonio de angelis
ma una domanda,
come nel caso che ti ho presentato cioè di radice del disco non verificabile in quanto variata che vuol dire che indipendentemente da
c:/winguido/
oppure
d:/winguido/
chdir app.path
porta sempre e indifferentemente alla cartella wwinguido senza verificare la radice c oppure d?
o in questa eventualita chdir app.path si deve tradurre in /winguido/? senza radice?
guido ruggeri
La funzione App.Path resituisce il percorso dell'applicazione, completo di unità disco. Quindi in quasi tutti i computer dove c'è WinGuido restituisce C:\WinGuido,
ma nei rari casi in cui l'utente ha spostato WinGuido da qualche altra parte potrà restituire, ad esempio, D:\WinGuido, oppure C:\Programmi\WinGuido. Ma
colgo l'occasione per aggiungere un altro particolare, che prima avevo omesso per non confondere le idee. Io la chiamata ChDir App.Path la faccio sempre
precedere da una chiamata simile, ChDrive App.Path. ChDrive imposta l'unità disco corrente, mentre ChDir imposta la cartella corrente. Anche l'unità disco
corrente potrebbe essere stata cambiata nel corso del programma, così per stare tranquillo la faccio reimpostare a quella corrispondente ad App.Path, che
di solito è C: Guido Ruggeri.
pier anna viscaro
nelle cartelle di WinGuido ci sono immagini GIF e BMP forse questa libreria
fa supportare questi formati a WinGuido e se è giusto questo ragionamento ci
dovrebbe essere anche una libreria che supporti i file JPG.
guido ruggeri
Anche se il ragionamento è ottimo, il convertitore da JPG a BMP non c'è, finora non mi è servito.
Ma c'è il convertitore da GIF a BMP.
Serve per quando, con la gestione file, si seleziona un file con estensione GIF, che sappiamo essere un file grafico compresso, simile quindi ai file JPG
ma realizzato con algoritmi di compressione diversi.
Sul menù di uso del file GIF appare la voce: "Riconoscere e leggere".
Con quella si fa aprire il file GIF da FineReader, che cercherà di riconoscere se il file contiene dei testi scritti, e se ci sono li estrarrà per poi
permettere di leggerli. Allora a cosa serve la libreria GifBmp32? A convertire il file GIF in BMP, per poterlo passare a FineReader. Questo perché FineReader
non supporta i file GIF, e quindi non è capace di aprirli per fare il riconoscimento. E allora come mai non ci vuole anche un convertitore da JPG a BMP?
Semplice: perché i JPG, invece, FineReader li supporta direttamente. Quindi, senza bisogno che qualcuno glieli converta, li apre e li riconosce. Perché
i file JPG si e i file GIF no, non lo so. Dipenderà da scelte fatte dai realizzatori di FineReader. Credo che sia connesso al fatto che la tecnica di compressione
dei file GIF sia sottoposta ad alcuni limiti di licenza d'uso.
anna
Forse dovremmo anche occuparci di verificare che l'immagine. di qualunque tipo sia, sia comprensibile. Sarebbe assurdo che a Andrea arrivassero file illegibili
o quasi.
Trattandosi di non vedenti, non so come potrebbe essere possibile. Se in casa c'è presente anche un vedente, si potrà fare in modo che l'immagine acquisita
appaia nello schermo del computer, prima di essere trasmessa via Internet. Ma se il non vedente è da solo, questo sarà inutile: non gli rimarrà che inviarla
comunque. D'altronde lo scopo di tutto questo è proprio di rendere autonome quelle persone. Quindi dovrà essere Andrea a verificare l'immagine che gli
arriverà e, in caso non fosse leggibile oppure non corrispondesse ad un certificato di invalidità, potrà provvedere a respingerla, mandando al mittente
i dovuti avvertimenti ed inviti a mandarla di nuovo. Sempre che riusciremo, tutti insieme, a realizzare tutto ciò.
guido ruggeri
Ripeto la domanda, dato che non c'è stata nessuna risposta
valida.
Io ho la mia copia del file converter.dll, che nei giorni
scorsi ci siamo scaricati da Internet.
Ce l'ho nel mio computer.
L'ho rinominata, e adesso si chiama: bmp2jpg.dll
E adesso cosa devo fare?
Per aiutare le risposte, preciso che chi si era avvicinato
verso la strada giusta è stato Sergio, quando aveva
scritto: bisogna fare un aggiornamento di WinGuido.
Inoltre, preciso che la cosa che vorrei che mi diceste di
fare in realtà l'ho già fatta ieri sera.
giuseppina manzi
> Se il ragionamento che sto facendo è giusto, e potrebbe
> anche non esserlo, si dovrebbe trovare il modo di renderlo
> operativo nei pc con scanner. A questo punto
> l'aggiornamento serve a questo?
guido ruggeri
Bene, ti stai avvicinando. Adesso cerca di esser più
precisa, e di dire cosa ho fatto ieri sera.
Badate bene che, se aggiornate WinGuido oggi, non vi
accorgete di nulla di diverso. Ma qualcosa ho fatto.
antonio de angelis
> una cosa che non hai fatto è stata quella di caricare la
> dll su i nostri computer . quindi credo che la soluzione
> alla tua domanda sta in un altra direzione. sergio parla
> di aggiornamento di winguido e tu in effetti ieri sera hai
> fatto un aggiornamento del programma se hai caricato la
> dll in winguido non capisco in che modo tu lo abbia fatto
> e comunque non credo tu abbia aggiunto funzioni a winguido
> in tal senso. non posso verificare qui in ufficio se
> cambia la situazione non ho uno scanner istallato . saluti
guido ruggeri
No, no, la direzione invece è proprio quella.
Però, come hai fatto notare, la dll nei vostri computer
non c'è. E infatti non avrebbe potuto esserci.
Dai, su, non mi fate parlare per enigmi.
Cerco di aiutarvi.
Ho detto: avevo la dll, ormai rinominata bmp2jpg.dll, nel
mio computer. E continuo ad insistere su questa frase: nel
mio computer.
Quindi ho dovuto fare due cose: una certa operazione, che
vorrei mi diceste, e quindi una modifica a WinGuido. Poi ho
pubblicato un aggiornamento.
Su, che adesso vi ho detto praticamente tutto.
giuseppina manzi
In pratica, mettere in condizione i nostri pc di riconoscere quella dll per poterla inserire nella cartella wingudo o cose simili. In pratica preparare
il programma a ricevere la dll?
pier anna viscaro
si è resa disponibile la DLL e si è preparato il terreno per poterla
ospitare nei nostri PC.
guido ruggeri
Direi che Giusi e Pieranna ci sono andate vicine, in
particolare Pieranna che ha praticamente dato la risposta
giusta.
Quindi è inutile continuare a tirare la corda, perciò
vuoto il sacco.
Allora: cosa ho fatto ieri sera?
Avevo nel mio computer il file bmp2jpg.dll, giusto?
E allora, l'ho copiato nel server di WinGuido.
Per copiarlo, ho fatto ricorso a quel sistema chiamato
F.T.P., che vuol dire: File Transfer Protocol, cioè
protocollo di trasferimento dei file.
Il protocollo F.T.P. consente di copiare file tra due
computer distanti, collegati attraverso Internet.
Il server di WinGuido, che cos'è? è un computer, che io
non ho mai visto e che non so nemmeno dove sia, ma che
probabilmente sta a Soci, in provincia di Arezzo, dove c'è
la sede di Aruba, la società che me l'ha fornito.
Dove stia fisicamente quel computer, però, non ci
interessa: ci basta sapere che a quel computer corrispondono
gli indirizzi http:\\www.winguido.it e ftp:\\ftp.winguido.it
Da quel server vi arrivano gli aggiornamenti di WinGuido, le
schede farmaco di Domenico, le informazioni sui cibi e sui
vini di Anna, i cruciverba, e tutto il resto.
Vi arrivano vuol dire che ogni volta che fate una di queste
cose, c'è almeno un file che viene copiato da quel
computer fino al vostro.
Però in quel caso la copia avviene facendo uso non del
protocollo F.T.P., ma del protocollo H.T.T.P. ma questo è
un dettaglio che al momento non ci interessa.
Ora in quel server c'è anche il file bmp2jpg.dll, perché
ce l'ho messo io ieri sera.
(omissis)