Newsgroup: it.comp.lang.pascal
Titolo: Domande...

Ciao a tutti, sono abbastanza nuovo del NG, ma un po' meno del Pascal.
Ho una serie (pressoché infinita) di domande da farvi, e ve le posto tutte
insieme per non fare 20'000 messaggi.
1) Esiste la faq?? Se sì come faccio a vederla??
2) C'è qualche buon'anima che mi darebbe delucidazioni sulla grafica (non la
solita, ma quella con minimo 256 colori), magari con simpatiche risoluzioni tipo
800x600 ecc. Io sono rimasto un po' indietro sotto questo punto di vista, ma sui
manuali non ho trovato granché, e non avendo altre fonti a cui attingere... Se
possibile inviatemi materiale. Inoltre, sono riuscito a far andare la VGA
320x200x256 (non era molto difficile, avete scritto tutto...), è possibile
modificare i colori, tipo il comando SetRGBPalette?? Insomma, poi avrei bisogno
di ricostruire (almeno le funzioni più utili) la Graph.TPU
3) Mi piacerebbe molto sapere come funziona la tastiera, per poter costruire una
specie di READKEY (che mi fa schifo), per migliorare alcune cosette, per esempio
è possibile andare a vedere se un tasto è premuto??
4) C'è qualche metodo efficace per riscrivere la funzione DELAY, in modo da
renderla un po' più precisa (cioè che se devo aspettare un secondo sia 1 secondo
su un 286 come su un Pentium II). L'unico che mi viene in mente è usare le
funzioni della libreria DOS, ma preferirei qualcosa che non la sfrutti.
5) Che mi dite del suono?? Intendo SB, non PC Speaker. Io so farla funzionare,
cioè far saltare fuori un suono, ma non sono capace di fare cosettine un po'
belle, tipo musiche a 2 voci ecc. Mi funziona esattamente come il PC Speaker,
solo che devo impostare 10'000 campi.
6) Mi piacerebbe molto poter importare files di qualsiasi tipo: Immagini JPG,
BMP, GIF (magari anche animati), Suoni WAV, MDI, Filmati MPG, AVI, FLI (con e/o
senza sonoro)... e chi più ne ha più ne metta, magari anche cose "utili" tipo
DXF (Autocad), DOC(Word), MDB(Access), TPU(Unit Pascal), EXE... Insomma, se
avete qualsiasi cosa, potete e volete, fatemi sapere (anche via posta)
7) Naturalmente se c'è qualche altra stupenda cosetta che non ho scritto, ma che
sapete fare e non vedete l'ora di raccontarmela, è molto ben accetta (se non mi
riempite di cose inutili tipo il programma che trova l'area del quadrato è
comunque meglio)
P.S: Vanno bene anche spiegazioni (anzi sono meglio accette rispetto a  funzioni
o procedure); se possibile non mandatemi unit (perché non le so leggere in
formato TPU) e preferirei capire.
Emanuele Cesena
d.a.m...@iol.it

avete qualsiasi cosa, potete e volete, fatemi sapere (anche via posta)
Caspita ! e che tipo di programma dovrebbe essere ?
Comunque su internet trovi tutti i tutorial su gran parte dei diversi
formati.
Ciao
--------------------------------------------------------
Andrea      
mica uno qualunque...
--------------------------------------------------------

formati.
Dove??
Ciao e grazie tante.
Emanuele Cesena
d.a.m...@iol.it

Dove??
Ti basta andare su un qualsiasi motore di ricerca (vedi 
www3.infoseek.com
) e
ricercare "file formats".
--------------------------------------------------------
Andrea      
===========================================================================
Altro che sconti Telecom ! fatevi un bel panino con la Nutella...
---------------------------------------------------------------------------
Ti ho messo la maionese ! ti ho messo il chectch ? che vuoi di piu' ?
---------------------------------------------------------------------------
per le risposte via e-mail togli CHITIHACHIESTONIENTE!!!! dal mio indirizzo
---------------------------------------------------------------------------
ICQ# 8143647
---------------------------------------------------------------------------

ricercare "file formats".
Thank you
Emanuele Cesena
d.a.m...@iol.it

chiedevo se si puň controllare qualche porta, che ne so??
Devi controllare la Port[$60] e la Port[$20] e devi pero' sapere quali sono gli
scan code dei caratteri in questione.
Ad esempio, per la "e" minuscola e la "w" minuscola sono 18 e 17.
Da' un'occhiata al programma :
uses crt, dos;
var BufferPressione : array [0..127] of boolean;
      VecchioInterrupt09h : procedure;
      Premuta_e : boolean;
      Premuta_w : boolean;
{$F+}
procedure NuovoInterrupt09h;
begin
   BufferPressione[Port[$60] and 127] := (Port[$60] and 128) = 0;
   Port[$20] := $20;
end;
{$F-}
begin
  fillchar(BufferPressione, sizeof(BufferPressione), 0);
  getintvec($09, @VecchioInterrupt09h);
  setintvec($09, @NuovoInterrupt09h);
  repeat
    Premuta_e := keydown[18];
    Premuta_w := keydown[17];
    if (Premuta_e) and (not Premuta_w) then writeln(' Solo la e ');
    if (Premuta_w) and (not Premuta_e) then writeln(' Solo la w ');
    if (Premuta_e) and (Premuta_w) then writeln(' Sia la e che la w');
  until keydown[1];
  Setintvec($09, @OldKbInt);
end.
Andrea      
(per le risposte via e-mail togli CHITIHACHIESTONIENTE!!!! dal mio indirizzo)
ICQ# 8328956

(ho sbagliato il listato nell'altro messaggio, era in inglese)
uses crt, dos;
var BufferPressione : array [0..127] of boolean;
      VecchioInterrupt09h : procedure;
      Premuta_e : boolean;
      Premuta_w : boolean;
{$F+}
procedure NuovoInterrupt09h;
begin
   BufferPressione[Port[$60] and 127] := (Port[$60] and 128) = 0;
   Port[$20] := $20;
end;
{$F-}
begin
  fillchar(BufferPressione, sizeof(BufferPressione), 0);
  getintvec($09, @VecchioInterrupt09h);
  setintvec($09, @NuovoInterrupt09h);
  repeat
    Premuta_e := BufferPressione[18];
    Premuta_w := BufferPressione[17];
    if (Premuta_e) and (not Premuta_w) then writeln(' Solo la e ');
    if (Premuta_w) and (not Premuta_e) then writeln(' Solo la w ');
    if (Premuta_e) and (Premuta_w) then writeln(' Sia la e che la w');
  until BufferPressione[1];
  setintvec($09, @VecchioInterrupt09h);


Ad esempio, per la "e" minuscola e la "w" minuscola sono 18 e 17.
Grazie mille, era proprio quello che cercavo.
Non sai dove si possono trovare tutti i codici di tutti i tasti? O come
ricavarli?
Emanuele Cesena
d.a.m...@iol.it

Un bel giorno, tutt'a un tratto Emanuele Cesena si mise a scrivere :

Ecco quello che ti serve 
{$X+}
uses crt;
begin
  repeat
    writeln(Port[$60]:3);
  until (readkey = #27);


end.
Astuto il ragazzo... :-)
No scherzo, grazie mille
Emanuele Cesena
d.a.m...@iol.it