fortman1987
Messages postés2Date d'inscriptionmercredi 13 décembre 2000StatutMembreDernière intervention 7 mars 2013
-
17 févr. 2010 à 16:09
cs_kaboum
Messages postés31Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention 8 juillet 2010
-
30 mars 2010 à 12:03
salut everybody
je suis un etudiant en informatique ,le professeur de s.e nous a demander d'ecrire un code delphi qui permet de lire et afficher les informations de la piste 0 d'une disquette(fat...),
utilisant les interruptions dos .
svp quelles interruption ,procedures quand peut travailler avec ....
merci a tous ...........
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 20 févr. 2010 à 11:57
Salut,
Heu... La programmation avec les interruptions DOS/BIOS, ça date. Tu travailles avec quelle version de Delphi ?
Je sais même pas si une Delphi 1 suffirait. Un Turbo Pascal ou un TASM (Ou même debug) seraient probablement plus approprié.
Mais bon, je parle d'outils qui ont mon âge...
Sur une Delphi récente, tu ne peux pas appeler directement ces interruptions avec l'instruction assembleur int. Tu dois par contre pouvoir passer par DeviceIoControl en passant un wControlCode de VWIN32_DIOC_DOS_INT25 par exemple. Dans ce genre là. Mais je ne pense pas que ce soit ce que ton prof attende...
cs_kaboum
Messages postés31Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention 8 juillet 2010 30 mars 2010 à 11:54
sous quel systeme d exploitation ce code doit il marcher ?
je te conseil d utiliser turbo pascal 7.01
il est libre
pour les interruptions du dos il te suffit de :
faire une recherche sur les fonctions de l interruption 21 du dos
pour le reste voici un exemple de "haypo" l'auteur du code ci dessous
(uses Dos;)
const MasqueFlagsCF = 1; { Masque pour isoler le bit CF des flags } (1)
function TouchPresse : Boolean;
var Regs: Registers; (2)
begin with Regs do begin
AH := $01; { Fonction 01h: Vérification de la présence d'une touche }
Intr ($16,Regs); (3)
TouchPresse :(Flags and MasqueFlagsCF MasqueFlagsCF); (1)
end end;
function LitTouche : Char;
var Regs: Registers;
begin with Regs do begin
AH := $00; { Fonction 00h : Lecture d'une touche }
Intr ($16,Regs);
if AL=0 then (4)
LitTouche := Char(AH or 128) (5)
else
LitTouche := Char(AL);
end end;