Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 01-12-2002, 15:32
black crow king
black crow king is offline
Hoi, ik heb dit programma in Turbo Pascal moeten typen, maar nu is het de bedoeling dat we er een verslagje van maken waarin staat wat alles precies doet. Kan iemand helpen?
Met dit programma kun je printers aansturen via DOS, BIOS en de I/O-poorten.

Alvast bedankt





program ParralelIO;
uses dos;

const DosIntr = $21;
Lptintr = $17;
Lpt1Data = $378;
Lpt1Status = $379;
Lpt1Control = $37A;

var Regel: string;
I: Integer;
Via: char;

procedure PrintViaDos(ch: char);
var regs: registers;
begin
Regs.ah :=5;
Regs.dl :=ord(ch);
Intr(DosIntr, Regs)
end;

procedure PrintViaBios(ch: char);
var regs: registers;
begin
Regs.ah :=0;
Regs.al :=ord(Ch);
Regs.dx :=0;
Intr(LptIntr, Regs)
End;

procedure PrintViaPorts(ch: char);
var control: integer;
begin
repeat
until (port[Lpt1status] and $80) <>0;

Port[Lpt1Data] :=ord(ch);

Control :=port[Lpt1Control];

Port[Lpt1Control] :=Control or $01;

Port[Lpt1Control] :=Control and $FE
{*
* repeat
* until (Port[Lpt1Status] and $40) = 0;
*}
end;

begin
writeln('typ een regel in die op de printer moet worden afgedrukt');
readln(regel);
write('via (D)os, (B)ios, of I/O (P)oorten?');
readln(via);

case Via of
'D','d': begin
for I :=1 to length(regel) do
PrintViaDos(Regel[i]);
PrintViaDos(Chr(13));
PrintViaDos(Chr(10))
end;
'B','b': begin
for I := 1 to length(regel) do
PrintViaBios(regel[i]);
PrintViaBios(Chr(13));
PrintViaBios(Chr(10))
end;
'P','p': begin
for I :=1 to length(regel) do
PrintViaPorts(regel[i]);
PrintViaPorts(Chr(13));
PrintViaPorts(Chr(10))
end;
end;
end.
Met citaat reageren
Advertentie
Oud 01-12-2002, 17:52
McMotion
Avatar van McMotion
McMotion is offline
nou het programma lijkt me niet zodanig ingewikkeld dat je hulp nodig hebt om de opbouw te begrijpen? kijk even naar Ralph Brown's interrupt list ofzo, dan kan je in ieder geval die PrintViaDOS() en PrintViaBIOS() functies verklaren
ik geloof dat daar ook wel zooi instaat over Port IO en anders moet dat toch wel te vinden zijn met google?
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 01-12-2002, 18:08
Koen
Avatar van Koen
Koen is offline
Het is onmogelijk eerst zelf een programma te coden, en vervolgens niet te kunnen verklaren wáárom je het zo gecode hebt. Geef maar toe, je hebt 'm gewoon gejat
Met citaat reageren
Oud 01-12-2002, 18:10
McMotion
Avatar van McMotion
McMotion is offline
Citaat:
Koen schreef:
Het is onmogelijk eerst zelf een programma te coden, en vervolgens niet te kunnen verklaren wáárom je het zo gecode hebt. Geef maar toe, je hebt 'm gewoon gejat
schrijf maar eens een lang programma (bijvoorbeeld NOG langer als dat van hem ) zonder commentaar in je code; kijk er dan een maand niet meer naar om, en verklaar dan wat alles in je code betekent.. je zult versteld staan wat je dat soort dingen snel vergeet
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 01-12-2002, 18:14
Koen
Avatar van Koen
Koen is offline
Citaat:
McMotion schreef:
schrijf maar eens een lang programma (bijvoorbeeld NOG langer als dat van hem ) zonder commentaar in je code; kijk er dan een maand niet meer naar om, en verklaar dan wat alles in je code betekent.. je zult versteld staan wat je dat soort dingen snel vergeet
I know, ik snapte stukken uit m'n Fotoboek op den duur ook niet meer. (Zal me leren zonder commentaar te schrijven)

Maar kom op, zo'n klein stukkie, als je dat zelf schrijft moet je gewoon kunnen weten waar 't voor staat..

Laatst gewijzigd op 01-12-2002 om 18:37.
Met citaat reageren
Oud 01-12-2002, 18:26
strafcorner
Avatar van strafcorner
strafcorner is offline
Citaat:
Koen schreef:
I know, ik snapte stukken uit m'n Fotoboek op den duur ook niet meer. (Zal me leren zonder commentaar te schrijven)

Maar kom op, zo'n klein stukkie, als je dat zelf schrijft moet je gewoon kunnen weten waar 't voor staat..
bedoel je niet zonder schrijven te coden
__________________
A master race mentality of liberty for those with superiority. Your moral civilized society is built on brutality and cruelty.

Laatst gewijzigd op 01-12-2002 om 18:36.
Met citaat reageren
Oud 01-12-2002, 18:37
Koen
Avatar van Koen
Koen is offline
Citaat:
strafcorner schreef:
bedoel je niet zonder schrijven te coden
Dat zeg ik.
Met citaat reageren
Oud 01-12-2002, 19:15
black crow king
black crow king is offline
Citaat:
Koen schreef:
Geef maar toe, je hebt 'm gewoon gejat
Whaha, nee, het was meer van dat leraar ons een boekje gaf met dat programma erin, en daarin stond dus zoiets als "typ dit over in Pascal"
Alleen ja, nu moeten we er dus een verslagje van zien te breien.
Met citaat reageren
Oud 03-12-2002, 09:00
McMotion
Avatar van McMotion
McMotion is offline
gejat uit een boekje dus je hebt toch wel de bronvermelding in commentaar erin gezet he?
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 21:39.