Software: Orario Grafico

Pagina per utenti esperti. Aggiornata ad agosto 2019.

L'uso dell'Orario Grafico è tanto più facile e proficuo, quanto più si sa che cosa è un database relazionale e si conosce abbastanza bene Access. Nella sezione sulle dispense è disponibile un "manuale di sopravvivenza" su Access, vivamente raccomandato. Una conoscenza almeno elementare di Access credo sia comunque indispensabile (soprattutto per disegnare orari diversi da quelli predefiniti).


Orario Grafico - Istruzioni per l'uso

Il software è scritto con Visual Basic 4, una versione ormai preistorica, del 1995. Tuttavia dovrebbe funzionare ancora oggi senza alcun problema: di sicuro su Windows 7 (anche a 64 bit), e molto probabilmente anche sulle versioni seguenti. Al più, facendo clic con il tasto destro sul file .exe, si può selezionare Proprietà, quindi la linguetta Compatibilità, e poi l'opzione "Esegui il programma in modalità compatibilità", ad esempio, per Windows XP.

Il grafico vero e proprio è disegnato con un ocx di nome Metadraw, della Bennet. Anche questo è in una versione preistorica, ma dovrebbe andare anche lui (cfr. anche più in basso il punto "Se qualcosa non funziona").

E' probabile che sia necessario eseguire il programma come amministratore, oppure aver rimosso i vari controlli di sicurezza di Windows (che al tempo di Visual Basic 4 erano semplicemente di là da venire).

In ogni caso, ho ricompilato il programma anche con VB5 e VB6 e a me funzionano tutti quanti, fino appunto (almeno) a Win7. Questi sono i setup. Ovviamente non serve installarli tutti, cambia la versione ma uno vale l'altro (a meno che per qualche motivo sul vostro pc una data versione non voglia funzionare):

Tutti gli zip installano l'ultima versione dell'exe dell'Orario Grafico, che ancora oggi (2019) è la 1.30 del novembre 2011.

Dopo aver installato il programma, è indispensabile scaricare gli MDB di appoggio: OG.zip.

Exe ed MDB che finiscono con 360 sono previsti per Access 2000 (o versione successiva) e sono pertanto quelli che presumibilmente utilizzerà la maggior parte degli utenti. Il numero 360, come spero qualcuno abbia intuito, fa riferimento alla versione del DAO. Eventuali file omonimi senza 360 sono previsti per Access 97 (DAO 351), che utilizzavo anni fa.

Ovviamente, avendo più MDB, occorre stare attenti alle posizioni reciproche (dico "ovviamente" per chi sa che cosa sono le tabelle collegate di Access...). Per come è impostato il setup, l'exe e OrarioGrafico_360.mdb vanno in c:\applicaz\orariografico, anche se questo non è strettamente indispensabile, perché questi vedono tabelle altrui ma nessuno vede le loro. Invece dbOrari.mdb, che contiene le "Linee" e gli orari personali (tabelle P*) si suppone in D:\dati

Se si dispone di un disco D:, è consigliabile metterli proprio lì. Se invece D: è il lettore CD, occorre necessariamente metterli da qualche altra parte e poi far puntare le tabelle collegate alla posizione che si è scelta, o con le funzioni standard di Access, o con la mia maschera "Util gestione tabelle allegate", che si trova nel database OrarioGrafico*.mdb.

Ricordo che è anche possibile definire dischi virtuali (es. K:) con l'istruzione DOS subst K: C:\directory_a_piacere. A volte può essere utile.

normal.dot è il modello di Word per fare il copia e incolla dell'orario grafico (per poterlo stampare) e va a sostituire il modello originale di Word, dove questo sta (si vede dove sta, ad esempio da Strumenti, Opzioni, linguetta Directory predefinite, voce Modelli utente. Infatti il controllo che uso per i grafici (metadraw ) è una vecchia versione che non riesce a stampare direttamente, perché nel frattempo l'handle di stampa di Windows è stato trasformato da integer a long. Il passaggio attraverso Word è descritto nel manuale.


Utilizzo

Il tutto suppone che si disponga di un Access funzionante. Se sul proprio PC non è installato neanche un Access, pensavo non funzionasse, invece ho scoperto di recente che va comunque, perché il setup installa automaticamente anche Jet e Dao! Però per modificare le query o gestire i dati è vivamente consigliabile avere anche un Access funzionante.

Attenzione: da questa pagina non si scaricano orari già pronti, per cui per disegnare un grafico occorre armarsi di santa pazienza e capire come utilizzare la maschera "Orario corse". Anche molte query non funzioneranno affatto, perché presuppongono di avere dei dati (per esempio quelli di frequentazione, per fare i flussogrammi) che per ora non sono inclusi in questa pagina. Se qualcuno ha esigenze specifiche, provi a chiedere. Il tutto vale in questa versione resa pubblica per la primissima volta ad agosto 2019. Se la cosa dovesse interessare a molti, vedrò se riesco a fare qualcosa un po' più user-friendly...

Buon lavoro!


Sorgenti

Quello che segue è utile solo per chi ha una conoscenza non superficiale di Visual Basic.

I sorgenti VB sono qui:

Nota bene: i sorgenti 5 e 6 sono del tutto identici al 4, ma semplicemente risalvati aggiornandoli alle nuove versioni. Se avete ad es. VB5 e aprite i sorgenti del 4, vi chiederà conferma di aggiornarli: è esattamente quello che ho fatto io.

Gli zip contengono anche la licenza del metadraw che dovrebbe andare in WinNT\System32 (o equivalente: se sapete che cosa è un ocx, sapete sicuramente anche come si chiamano le cartelle di sistema di Windows!)

Il .vbp con 360 fa riferimento al DAO 360 e quindi compila per Access 2000 o seguenti. L'altro fa riferimento al DAO 351 e quindi compila per Access 97, ma non dovrebbe servire più.


Test e malfunzionamenti

Tutto il codice ha la gestione degli errori (On Error Goto...), che personalmente considero un requisito fondamentale e un discriminante tra la buona e la cattiva programmazione.

Ogni messaggio di errore specifica anche la sub o function in cui è avvenuto. Es. 6 Overflow (in ApriDatabase) significa che l'errore n. 6 che vuol dire Overflow è accaduto nella funzione ApriDatabase.

Se qualcosa non funziona, provare i due exe contenuti in proveVB.zip. ProvaHello verifica che funzioni un generico exe in Visual Basic 4. O_Vuoto verifica che funzioni il Metadraw (se esce la scritta Hello World!).


Tutto quanto, come di consueto, è CC-BY-SA a vostro rischio e divertimento.


[Indice della sezione / This Section]

[Home page]