Newsgroup: it.comp.os.dos
Titolo: Qbasic aiuto!

Forse non mi sono spiegato correttamente, ma volevo sapere come fare in
qbasic per aprire la porta del mouse e poterlo usare durante i programmi che
creo.
           Grazie

 creo.
La risposta è sempre quella. Prima di qbasic devi far partire in 
memoria il driver per il mouse, poi per usare il mouse devi 
utilizzare le chiamate all'int33 utilizzando per passare e ricevere i
parametri i registri assembler (Type regs).

            Grazie
Prova a cercare su VolFTP o su Simtel (o altri ftp) un file zip
tipo ALTQBxxx.zip (l'ultima versione di cui sono a conoscenza è la 558)
Sono delle librerie Shareware (o forse freeware) che permetto al QB (nota
bene Quick Basic non il Qbasic fornito con il DOS!!!) di fare tante cose,
come gestire il mouse, avere delle finestre (BOX) che quando le chiudi
ripristinano il testo che hanno coperto, menu a tendina, elenco dei file
etc etc... cioé tutto quello che avresti voluto avere sul QB e che la
M$ non ha mai osato mettere ^______^
--
Ciao!
----------------------------------------------------------
* NUOVA versione per AutoQuote! (1.08.0001), il
* programma FREEWARE per permette di quotare VELOCEMENTE
* i messaggi che Outlook Express non quota in automatico!!!
* lo trovi nel mio sito, sezione "I Miei Programmi")
===========================================================
Daniele Pinna  Email: 
dap...@lycosmail.com
Nell'indirizzo Email eliminare la parola "OOPS."
Sito Web: Il DoCFa in Pillole: 
http://dapinna.freeweb.org
ICQ UIN: 24567484


Perché aprire la porta? è possibile gestirlo direttamente con una
piccola routine in L.M. e richiamarla con alcuni parametri in modo da
rilevare posizione, pulsanti, nasconderlo, limitarne l'area di
movimento, ecc.  Il tutto con estrema semplicità.
Se ti interessa il listato scrivimi.
Ciao
Marco

 creo.
   A suo tempo mi ero fatto alcune routine per gestire il mouse. Pero`
usavo il quick basic, che ha la funzione call interruptx, e tutto era molto
piu` semplice.
   Con il qbasic, la cosa e` cmq possibile, ma bisogna lavorare di def seg,
peek, poke e call Absolute... madonna, mi sembra di tornare ai tempi del
c64! :)))
   Praticamente, si tratta di costruire una stringa che contenga al suo
interno il codice in linguaggio macchina necessario, poi lanciarne
l'esecuzione da basic, e poi leggerne l'eventuale risultato.
Ti faccio un esempio: la seguente routine effettua il reboot 'a caldo' del
computer, da qbasic. Ovviamente non restituisce nulla, visto che se la
chiami ti resetta il pc...
SUB Reboot STATIC
DIM Reb AS STRING * 5
    MID$(Reb, 1, 1) = CHR$(&HEA)
    MID$(Reb, 2, 1) = CHR$(&H0)
    MID$(Reb, 3, 1) = CHR$(&H0)
    MID$(Reb, 4, 1) = CHR$(&HFF)
    MID$(Reb, 5, 1) = CHR$(&HFF)
    DEF SEG = VARSEG(Reb)
    CALL Absolute(VARPTR(Reb))
END SUB
   In sostanza, scrivi in una stringa il codice assembler per il reboot,
calcoli l'indirizzo della stringa, e poi passi l'esecuzione al codice in
essa contenuto.
   La stessa cosa e` possibile anche per pilotare il mouse. Ma ci vuole del
tempo. Se ti interessa, fammi sapere in e-mail. Vediamo quel che si puo`
fare. In particolare, che conoscenze hai, di basic e di assembler?
N.B.: Ho postato questa risposta nel newsgroup perche' la tecnica potrebbe
interessare anche ad altri...
P.S.: t'interessi di fotografia? :)
-- 
Un Saluto. A Presto.
Fakkino DisKre Panza

 c64! :)))
Ma non č poi cosě tremendo! Il nucleo della SUB č solo questo:
   DEF SEG = VARSEG(Mouse$)     ' Determina il segmento (64K) di
memoria di Mouse$
   Mouse% = SADD(Mouse$)        ' Puntatore all'inizio di Mouse$
   CALL Absolute(moAX%, moBX%, moCX%, moDX%, Mouse%)
La routine in LM, caricata in Mouse$, occupa solo 38 byte.
Una volta attivata perň, si puň gestire il mouse con chiamate tipo:
  CALL MouseMostra
  CALL MousePosiziona
  ecc. ecc.
Il tutto č piuttosto veloce, facile e molto flessibile.
Ciao
Marco