Generalità |
GENERALITA' [1 di 1] |
La
Gestione del Tempo prevede
7 procedure; per accedere al
dettaglio di ciascuna di esse
selezionare il suo nome nella colonna
interattiva a sinistra o dal seguente elenco:
|
Questa categoria di procedure facilita e organizza la gestione dei ritardi e del tempo, diventata problematica in ambiente Turbo Pascal con l'avvento dei processori veloci e dei nuovi sistemi operativi. |
L'uso della procedura Delay del Turbo Pascal (Libreria Crt) non funziona con Computer basati su processori veloci dell’ultima generazione; è ragionevole pensare che per consumare il tempo ci si affidi all'esecuzione di istruzioni o al decremento di registri, legando il ritardo introdotto alla velocità di esecuzione e rendendo quindi inutilizzabile il programma realizzato (perché non portabile) |
Nella migliore delle ipotesi l'uso della Delay originale semplicemente non funziona (cioè i tempi previsti non sono per nulla rispettati e si riducono pressocché a zero...); ma può succedere di peggio! | |||||
Alcune edizioni del Turbo Pascal 7
possono anche
segnalare errore (Runtime Error 200)
non appena si tenta di mettere in esecuzione un programma appena compilato;
sinteticamente lo spiacevole effetto è frutto di una serie di concause:
| |||||
L'errore viene dunque segnalato semplicemente per il fatto che nel sorgente si è dichiarata la libreria CRT tra quelle possibili, dopo la direttiva USES; per la sua subdola e imprevedibile causa, ha fatto perdere il sonno a più di un programmatore, ma ha al tempo stesso impegnato altrettanti benefattori a ricercarne le cause e a cercare di porre rimedio... | |||||
Poichè il problema è sentito, ho voluto dedicargli scheda, alla quale rimando il lettore toccato dal problema o semplicemente incuriosito... |
Le prime 3 procedure (Delay0, Delay1 e Delay2) sono state create proprio per risolvere questo problema. | |
In particolare Delay0 è l'unica assolutamente funzionante, dato che assume le informazioni direttamente dal Timer di Sistema; ha però il limite di garantire tempi di ritardo multipli del tempo minimo di circa 55 ms, (troppo grande, in certe applicazioni). | |
Le altre 2 (Delay1 e Delay2) assicurano tempi di ritardo rispettivamente multipli del tempo minimo di 1 µs e di 1 ms, ma funzionano solo con sistemi operativi antecedenti a Windows 2000/NT/XP: l'avvento di questi ultimi ha, infatti, vanificato la soddisfazione di aver risolto alla grande il problema. | |
Di fatto Windows 2000/NT/XP non riconoscono più la favolosa funzione 86H di INT 15H, in grado di realizzare ritardi di straordinaria precisione, dal minimo di 976 nanosecondi, fino a quel momento disponibile in BIOS e sulla quale si basa il loro progetto. |
Per generare ritardo in modo affidabile è dunque rimasta solo la Delay0 che, sebbene poco pratica (poiché realizza ritardi multipli di 55 ms) è l'unica riconosciuta da tutti i processori e da tutti i sistemi operativi. Sebbene l'uso delle Delay1/Delay2 garantisca ritardi più precisi (rispettivamente 1 µs e 1 ms) il loro funzionamento è garantito con ogni processore ma non con i nuovi Win 2000/NT/XP! |
Le 4 procedure rimanenti organizzano la messa a video dell’Ora e della Data corrente e la messa a punto dell’Ora e della Data corrente, assumendo (o modificando) le informazioni direttamente dalla (e nella) Ram Tamponata Cmos del Computer Si tratta della memoria presente sulla scheda madre, alimentata da una batteria al litio, necessaria per conservare le informazioni di Setup, senza le quali nessun Computer può funzionare. |
Tempo Data & Ora | Generalità | ||||||
1 di 27 |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|