Newsgroup: it.comp.lang.visual-basic
Titolo: floppy schermo blu

Devo copiare un file su floppy e non posso permettermi errori non
gestiti.
Leggo il file a blocchi e li passo sul floppy.
Ho blindato tutto con gli On Error ... eccetera.
Sembra tutto a posto.
Faccio i vari becero-test (disco assente, pieno, protetto in scrittura)
sembra tutto ok, poi ...
Orrore: se tolgo il floppy durante la scrittura, schermo blu.
Qualcuno sà se e come si possa evitare (escludendo il taglio delle mani
a chi si avvicina al floppy drive durante la copia)?
Grazie mille.
pinco_pallo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 a chi si avvicina al floppy drive durante la copia)?
guarda metti un "messaggione" a video durante la copia che riporta :
"Se tocchi il floppy ti casca il pisello"
e uno a fine copia che dice :
"Ora con molta cautela estraete il floppy, ATTENZIONE PUO' ESPLODERE"
^_^
Credo che l'uso dei messaggi sia l'unica via tranquilla !


Scusa, eh, ma tu ti aspetti forse che il prgramma continui a lavorare
normalmente se qualcuno strappa via il processore? Naturamente no.
E allora, perche' mai dovresti gestire un errore hardware come l'improvviso
guasto di un disco?
Stiamo parlando di un utonto che STRAPPA via il disco di lavoro al sistema,
mentre questo ci sta SCRIVENDO sopra! Mi vengono in mente pochi errori piu'
gravi di questo, e' ovvio che il sistema si imbufalisca...
Ciaotutti,
*

 Orrore: se tolgo il floppy durante la scrittura, schermo blu.
Sicuro di aver messo un On Error anche prima dell'istruzione di scrittura
(che non rimandi a una routine di gestione dell'errore che presuma un
accesso al floppy)?

 normalmente se qualcuno strappa via il processore? Naturamente no.
Beh, non č sullo stesso livello.
In questa operazione l'utente deve mettere e togliere il floppy, non la
cpu. E se proprio non č cosě becero da estrarlo intenzionalmente durante
l'operazione, gli puň sempre 'scappare' il dito pronto sul pulsante
eject in attesa del termine dell'operazione.
Comunque se rendere l'errore trappabile o meno dipende solo dal Sistema
Operativo e/o dal BIOS, che non dovrebbero 'continuare a lavorare
normalmente' ma abortire la richiesta e riportare l'errore al livello
superiore, stante che la cpu č ancora al suo posto :-).
Ciao.


 accesso al floppy)?
Subito prima della Put.
Secondo schema quasi ventennale:
On Error Resume Next
 Put ....
 lerr = err.number
On Error Goto 0
If (lerr <> 0) then
 ' gestione errore
End If
Ciao.


 Credo che l'uso dei messaggi sia l'unica via tranquilla !
Unica forse sì, tranquilla purtroppo, almeno nel mio caso, no!
Lavorando in ambiente real-time lo schermo blu comporta anche perdita di
dati raccolti.
Ciao.


Mi viene un dubbio.
Hai provato su diversi sistemi operativi.
Mi sembra di ricardare che W98 facesse così. Con W2000 invece ti chiede il
floppy.
Mi sa che la soluzione migliore sia una bella oretta (Pagata!) di
evengelizzazione degli utenti.
Ciao Gab


Ahem, ribadisco il concetto: il sistema si e' appena perso il disco di
lavoro!!!
Ci sono solo due gradi di errore sopra questo: la perdita della memoria e la
perdita della CPU, e c'e' un grado al di sotto (perdita della scheda video)
che in varie circostanze di impedisce perfino di avviare il pc.
Peraltro, se l'utente rimuove il dischetto mentre il drive e' operativo,
c'e' un concreto rischio di danneggiamento del drive.
L'unico modo sicuro di operare e' mantenere i dati bufferizzati in RAM,
scrivere sul disco a blocchi da 512 byte (che e' la piu' piccola unita'
scrivibile su un dischetto, per mantenere almeno una parvenza di atomicita'
delle operazioni) e avvertire attivamente l'utente (con un Beep) quando e'
possibile rimuovere il dischetto.
Piu' di cosi' non si puo' fare.
Ciaotutti,
*


W2000 e' piu' flessibile relativamente alla perdita di periferiche di
sistema (e non sono sicuro che sia un bene), ma l'hardware e' lo stesso: se
levi il floppy durante una scrittura rischi di spaccare il drive.
Ciaotutti,
*

 di dati raccolti.
scusa ma se l'untente ti spegne il pc o ci versa caffe' o ci fa qualsiasi
altra cosa tu cosa centri ? ^_^
A sto punto compra un po di ferraglia e costruisci un componente da mettere
davanti al floppy che funzioni da saracinesca , inserisco il floppy , clicco
su salva e la saracinesca si abbassa coprendo anche il tastino di eject ,
poi con un rele' e una resistenza scoperta farei passare la 220 sulla
superficie della saracinesca , vedi che dopo un paio di volte sara'
difficile con le mani fasciate togliere il floppy !!!
-- 
<Gigio2K>
Sito Comune
Nokia -> I.T.H.N. -> 
http://www.ithn.it/
VB -> I.C.L.VB -> 
http://www.it-lang-vb.net/

 drive.
Imho no: la prima cosa che succede alla pressione del tasto eject in un fdd
da 3"1/2 è l'allontanamento della testina dalla superfice del disco (te lo
dice uno che in più occasioni ha per errore sputato fuori un fdd sul quale
erano in corso operazioni di I/O).

 mani a chi si avvicina al floppy drive durante la copia)?
Magari salta fuori che all'Apple non sono poi così minchioni.
Quando ancora c'era il floppy, sui Mac per espu.. espel.. ejectare un floppy
dovevi trascinare l'icona del dischetto nel cestino. Ci mettevi qualche
settimana a imparare, premendo più volte il pulsante del power sadicamente
piazzato sotto la fessura del floppy, però evitavi i problemi in questione.
--
Silv:o)