Salta al contenuto principale

Prima di realizzare una funzione in Winguido

di Guido Ruggeri
su mondo winguido, 16\09\2008, h. 20.38.

d.
(omissis)

Ed ora, un po' di pubblicità

:

ho notato che c'è, tra le tante cose
> utilissime, la possibilità di fruire al meglio di skype,
> ad esempio con il modulo di ricerca degli altri contatti.
> stavo pensando, sarebbe interessante poter gestire con
> winguido anche il messenger, visto che lavorando con
> winguido non è possibile interlocuire con i contatti msn
> ma occorre chiudere il programma e gestire il messenger
> con jaws.

r.

prima parte della guida di guido per realizzare una funzione in WinGuido.
Come nuovo arrivato, suppongo che sarai interessato ad
imparare molte cose che per te rappresentano una novità.
Allora colgo l'occasione per parlarti di come avviene la
nascita di una nuova funzionalità in WinGuido.
Innanzi tutto si deve distinguere tra 3 tipi di
funzionalità:
primo tipo: quelle che sono da realizzarsi interamente
all'interno di WinGuido.
secondo tipo: quelle che implicano l'interazione tra
WinGuido ed altri programmi, commerciali o comunque scritti
da altri.
terzo tipo: quelle che interagiscono con siti o servizi
esistenti su Internet.
Ora, dato che sei interessato a Messenger, vuol dire che
stiamo parlando del secondo tipo, cioè interazione tra
WinGuido e un altro programma.
Innanzi tutto bisogna cominciare svolgendo le opportune
ricerche sul programma in questione, finalizzate a scoprire
se quel programma sia in qualche modo tecnicamente
predisposto per l'interazione con gli altri.
Quando il programma è ad ampia diffusione e proveniente
dalla Microsoft, come è appunto il caso di Messenger, è
piuttosto probabile che lo sia. Negli altri casi, invece,
spesso non c'è niente da fare, perché il più delle
volte si tratta di programmi chiusi che non sono mai stati
pensati, da chi li ha realizzati, secondo questa logica.
Per capire se un programma fa al caso nostro, bisogna
cercare innanzi tutto una certa parola magica che è: SDK,
che significa: Software Development Kit. Che spesso di dice,
più brevemente, kit di sviluppo.
Se non si trova nulla relativamente alla parola SDK, si
può provare a cercarne altre del tipo: ActiveX, OCX, DLL,
insomma tutto ciò che possa essere utilizato da un
programmatore per interagire col programma in questione.
Se quel programma è dotato di un kit di sviluppo, il passo
successivo è accertarsi se quel kit è utilizzabile con
il linguaggio che usiamo per sviluppare WinGuido, vale a
dire Microsoft Visual Basic versione 5, che spesso si trova
abbreviato in VB5.
Da notare che è più probabile che si trovi indicato che
il kit di sviluppo è per la versione 6 di Visual Basic,
quindi per VB6. Ma questo non è un problema, perché
nella quasi totalità dei casi quello che va bene per VB6
va bene anche per VB5, grandi differenze tra le due versioni
non ce ne sono.
Una volta scoperto che il kit di sviluppo esiste, e che è
adatto per Visual Basic, bisogna accertare: come si può
fare per averlo, e a quali condizioni.
In diversi casi, il kit di sviluppo è automaticamente
già presente insieme al programma stesso: è il caso, ad
esempio, di Microsoft Word, Excel, Outlook, Powepoint. E
quindi questo è il migliore dei casi, perché basta
installare il programma e poi non serve altro.
In altri casi, il kit di sviluppo consiste in alcuni file
aggiuntivi che, dopo aver intallato il programma, si possono
trovare facilmente, talvolta anche semplicemente
scaricandoli da Internet, e usare senza problemi.
Nei casi più difficili, invece, il kit di sviluppo
consiste in un vero e proprio programma a parte, che deve
essere regolarmente acquistato con tanto di licenza distinta
da quella del programma a cui si riferisce. E questo è il
caso, ad esempio, di FineReader, il noto programma per il
riconoscimento dei testi acquisiti con lo scaner, di cui da
anni sappiamo che il kit di sviluppo esiste, ma che non
siamo mai riusciti ad avere e ad usare perché ogni utente
dovrebbe procurarsene una licenza.
Nel caso nostro, quindi, la prima cosa da fare è cercare
se esiste un kit di sviluppo per Messenger, utilizzabile con
Visual Basic 5.
Se non esiste, il discorso si chiude perché non c'è
niente da fare: c'è solo da ricorrere a un programma
screen reader, cosa che WinGuido non è.
Se esiste, bisogna accertare se è libero oppure soggetto a
vincoli di licenza.
Se non ci sono vincoli, bisogna ottenere il kit di sviluppo
insieme a tutte le spiegazioni ed esempi su come deve essere
usato.
A questo punto, e solo a questo punto e non prima, si scrive
qui alla lista di discussione dicendo: ho fatto le tali
ricerche a proposito di Messenger, ho accertato che esiste
un kit di sviluppo con le tali taratteristiche, che si può
avere alle tali condizioni e usare nei tali modi. Sono
inoltre in possesso di tutta la documentazione necessaria.
Perciò propongo di realizzare, in WinGuido, la
possibilità di interagire con Messenger.
Spero che la mia spiegazione, per quanto sommaria, sia stata
abbastanza chiara. Rimango comunque disponibile per
qualsiasi chiarimento e spiegazione.
Per una cosa, invece, personalmente non sono disponibile: a
fare io stesso quelle ricerche.
Io attendo che arrivino da voi i risultati sufficientemente
dettagliati, e a quel punto potrò subentrare io e fare la
mia parte, cioè il lavoro di programazione.
Quindi, caro Vincenzo, a proposito di Messenger non mi
rimane che augurarti buon lavoro e rimanere in attesa dei
risultati da parte tua o da chi per primo arriverà a
presentarli.
Guido Ruggeri.

***
Guida di guido parte II

Avevo detto che ci sono 3 tipi di funzionalità:
primo tipo: quelle che sono da realizzarsi interamente
all'interno di WinGuido.
secondo tipo: quelle che implicano l'interazione tra
WinGuido ed altri programmi, commerciali o comunque scritti
da altri.
terzo tipo: quelle che interagiscono con siti o servizi
esistenti su Internet.
Del secondo tipo abbiamo parlato. Parliamo adesso del primo,
dato che abbiamo invertito l'ordine.
Nel primo tipo rientrano funzioni che si realizzano
semplicemente scrivendo codice di programmazione, o
ideandolo completamente ex novo, oppure inserendo parti di
codice che si sia trovato scritto da altri.
Ad esempio, in WinGuido ci sono già funzionalità di
agenda, rubrica, contabilità, catalogo dischi e
inventario: queste sono tutte funzioni completamente
interne, realizzate senza nessuna interazione con altri
programmi.
Se si volesse aggiungere un'altra funzionalità simile a
quelle, non si tratterebbe quindi di cercare informazioni,
ma piuttosto di pensare a come dovrebbe essere concepita e
quindi a mettere le idee per iscritto, sotto forma di
progetto.
Quando il progetto sarà sufficientemente preciso e
dettagliato, allora io potrò lavorarci sopra e tradurlo in
codice di programmazione.
Se però la funzionalità necessita di formule e algoritmi
di calcolo particolari, allora quelle bisogna prima
cercarle.
E' il caso, ad esempio, della funzione di cui si è parlato
anche recentemente qui in lista, che dovrebbe servire a far
annunciare a WinGuido, per ogni giorno dell'anno, gli orari
in cui il sole sorge e tramonta.
Questa è una funzione che si potrà benissimo relizzare
senza bisogno di agganciarci ad altri programmi, né a siti
Internet, sebbene ce ne siano molti che la forniscono.
Basta conoscere le formule matematiche che servono a fare il
calcolo di quegli orari, e quindi programmarle all'interno
di WinGuido.
Però le formule bisogna conoscerle. E per conoscerle
bisogna: o consultare libri che trattano quell'argomento, o
cercarle su Intenet, oppure consultare persone che se ne
intendano.
Un altra soluzione può essere quella di venire in possesso
di parti del codice sorgente di altri programmi che hanno la
funzione desiderata. E spesso queste si riescono a trovare,
cercandole sempre su Internet o nei libri, oppure
chiedendole a chi ha scritto quei programmi.
Esistono vari linguaggi di programmazione. Se si trova del
codice sorgente scritto già nel linguaggio che usiamo noi,
cioè Visual Basic 5, allora incorporarlo dentro WinGuido
diventa piuttosto facile.
Se invece si trova del codice scritto in altri linguaggi,
prima di riuscire ad utilizzarlo dovrò fare un paziente
lavoro di traduzione per riscriverlo in Visual Basic.
Nel caso degli orari del sole, io le formule le ho già
trovate, ma sono scritte nel linguaggio Java. Per poterle
utilizzare, dovrò riscriverle in Visual Basic.
Tecnicamente, ci sarebbe anche un'altra soluzione:
compliarle così come sono, in Java, e realizzarci un
componente programmabile di tipo ActiveX a cui io poi possa,
a mia volta, agganciarmi con Visual Basic.
E' però questa una soluzione a cui cerco di evitare di
ricorrere, se posso.
Rimarrebbe da parlare delle funzionalità di terzo tipo,
quelle che interagiscono con siti o servizi esistenti su
Internet.
Questo però è il discorso più difficile di tutti, e lo
affronteremo un'altra volta.
Guido Ruggeri.