Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
QBasic - Conoscere i drive installati con l'uso di INT
Forum - QBasic - Conoscere i drive installati con l'uso di INT

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
1n4148 (Normal User)
Newbie


Messaggi: 7
Iscritto: 10/06/2011

Segnala al moderatore
Postato alle 16:05
Venerdì, 17/02/2012
Salve
Premetto che sono un testardo perché potrei fare molto più facilmente in VisualB quello che mi ostino a cercare in Quick.
Il problema che vorrei risolvere è il seguente:
Vorrei sapere quanti drive sono disponibili sul PC comprese le porte USB, per avere un elenco di tutti i possibili drive.
Ho cercato di usare i vari Interrupt del DOS ma non ho trovato nessuno che funzionasse come volevo io.
Ho usato la sub rutine che allego ma il risultato non mi piace anche se la risposta è giusta.

GOSUB ListaDrivers
ListaDrivers:
   ListaDrv$ = ""
   FOR i = 1 TO 26
      FILES CHR$(i + 64) + ":*.pip"
      IF E% = 68 THEN
      ELSE
         ListaDrv$ = ListaDrv$ + CHR$(i + 64)
      END IF
   NEXT i
RETURN

Mi ritorna in ListaDrive$ "ACDEFGHIJKL"
C'e modo di avere lo stesso risultato usando gli interrupt del DOS?

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 19:13
Venerdì, 17/02/2012
domanda totalmente inutile, mi chiedo perchè la sezione qbasic sia ancora aperta...

PM Quote
Avatar
1n4148 (Normal User)
Newbie


Messaggi: 7
Iscritto: 10/06/2011

Segnala al moderatore
Postato alle 6:26
Sabato, 18/02/2012
Grazie comunque
Però avevo fatto una premessa e la risposta è comunque utile.

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 9:50
Sabato, 18/02/2012
L'interrupt 21 AX 4408 restituisce info sui device (da A in poi) ma non ti puoi aspettare informazioni particolari dal DOS (o da quello che rimane del DOS) dato che questo non può avere conoscenza di specifici device ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 969
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 10:16
Sabato, 18/02/2012
(doppio)

Ultima modifica effettuata da Poggi Marco il 18/02/2012 alle 10:17
PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 969
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 10:16
Sabato, 18/02/2012
Una possibile soluzione al problema, consiste nel tentativo di scrivere un file su ogni drive possibile?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 10:26
Sabato, 18/02/2012
Questo non ti dice se il drive c'è ... potrebbe essere protetto in scrittura o non avere i permessi.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
1n4148 (Normal User)
Newbie


Messaggi: 7
Iscritto: 10/06/2011

Segnala al moderatore
Postato alle 16:59
Martedì, 21/02/2012
Con questo listato sono riuscito l'unico arzigogolo che ho dovuto fare è stato di inviare  l'output su altro schermo per non avere scritte indesiderate.
Però proverò anche L'INT 21 AX4408 grazie
Codice sorgente - presumibilmente VB.NET

  1. On Error goto Errore
  2. Gosub ListaDriver
  3. ListaDrivers:
  4.    ListaDrv$ = ""
  5.    SCREEN , , 1, 0 'Invia output su altro schermo
  6.    FOR i = 1 TO 26
  7.       FILES CHR$(i + 64) + ":*.pip"  'estensione improbabile
  8.       IF E% = 68 THEN
  9.       ELSE
  10.          ListaDrv$ = ListaDrv$ + CHR$(i + 64)
  11.       END IF
  12.    NEXT i
  13. RETURN
  14. ' ****************    Gestore di errori  **************************
  15. Errore:
  16. IF ERR = 71 THEN E% = ERR: RESUME NEXT
  17. IF ERR = 68 THEN E% = ERR: RESUME NEXT
  18. IF ERR = 53 THEN E% = 53: RESUME NEXT


Ultima modifica effettuata da 1n4148 il 21/02/2012 alle 17:06
PM Quote
Avatar
Atif (Normal User)
Newbie


Messaggi: 1
Iscritto: 28/03/2015

Segnala al moderatore
Postato alle 6:57
Sabato, 28/03/2015
Io houn win7 64bit ed ho creato il programma per funzionare con anyCPU ma preferibilmente a x86.
ora ho sistemato un po il codice ed ora i moduli x86 funzionano...
L'unico problema e che non riesco ad avere il percorso dei processi a 64bit utilizzando il mio programma a 32bit.
Esiste qualche funzione che fa accedere un processo a 32bit alla lettura dei processi a 64bit?









_________________________
Join online    [url=http://www.test-king.com/]ccna book    and testking to pass  exam in first try. Our best quality  and     [url=http://www.test-king.com/cert-PMP.htm]testking pmp certification    guide you well for real exam.    [url=http://www.sciarc.edu/]sciarc.edu    q ....

Ultima modifica effettuata da Atif il 10/04/2015 alle 9:22
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo