home *** CD-ROM | disk | FTP | other *** search
- program demo;
-
- type
- tsrec = record
- xs:integer;
- ys: integer;
- xe:integer;
- ye:integer;
- car:array[1..8] of char;
- linv:byte;
- lover:byte
- end;
-
-
- nstr=record
- xw:integer;
- yw:integer;
- xq:integer;
- yq:integer;
- wt:integer;
- sinv:byte;
- sover:byte
- end;
-
- feld=array [1..4096] of byte;
-
- ttextrec = record
- inv:integer;
- offs:integer;
- zeile:integer;
- spalte:integer;
- addr:integer
- end;
-
- xrec = record
- kx:integer;
- ky:integer
- end;
-
- xyz = array [1..8] of char;
-
- var ndd:nstr;
- speicher:feld;
- lrec:xrec;
- textrec:ttextrec;
- s,e:integer;
- srec,erec:tsrec;
- x,y:integer;
- mytext:array [1..11] of char;
-
- procedure GrFOn;
- begin
- bdos (153);
- end;
-
- procedure GrSOn;
- begin
- bdos (154);
- end;
-
- procedure GrFOff;
- begin
- bdos (155);
- end;
-
- procedure SetPix(xp,yp:integer);
- begin
- lrec.kx:=xp;lrec.ky:=yp;
- bdos(156,addr(lrec))
- end;
-
- procedure EraPix (xp,yp:integer);
- begin
- lrec.kx:=xp;lrec.ky:=yp;
- bdos(157,addr(lrec))
- end;
-
-
- procedure ClrGr;
- begin
- bdos (158)
- end;
-
- procedure SaveWi(x1,y1,x2,y2:integer);
- begin
- ndd.xw:=x1;
- ndd.yw:=y1;
- ndd.xq:=x2;
- ndd.yq:=y2;
- ndd.wt:=addr(speicher);
- bdos(159,addr(ndd))
- end;
-
-
- procedure LoadWi(x1,y1,x2,y2:integer;inv:byte;over:byte);
- begin
- ndd.xw:=x1;
- ndd.yw:=y1;
- ndd.xq:=x2;
- ndd.yq:=y2;
- ndd.wt:=addr(speicher);
- ndd.sinv:=inv;
- ndd.sover:=over;
- bdos(160,addr(ndd))
- end;
-
- procedure SaveFW (x1,y1,x2,y2:integer;xk:xyz);
- begin
- srec.xs:=x1;
- srec.ys:=y1;
- srec.xe:=x2;
- srec.ye:=y2;
- srec.car[1]:=xk[1];srec.car[2]:=xk[2];
- srec.car[3]:=xk[3];srec.car[4]:=xk[4];
- srec.car[5]:=xk[5];srec.car[6]:=xk[6];
- srec.car[7]:=xk[7];srec.car[8]:=xk[8];
- bdos(161,addr(srec))
- end;
-
- procedure LoadFW (x1,y1,x2,y2:integer;xk:xyz;inv:byte;over:byte);
- begin
- srec.xs:=x1;
- srec.ys:=y1;
- srec.xe:=x2;
- srec.ye:=y2;
- srec.car[1]:=xk[1];srec.car[2]:=xk[2];
- srec.car[3]:=xk[3];srec.car[4]:=xk[4];
- srec.car[5]:=xk[5];srec.car[6]:=xk[6];
- srec.car[7]:=xk[7];srec.car[8]:=xk[8];
- srec.linv:=inv;srec.lover:=over;
- bdos(162,addr(srec))
- end;
-
- procedure GFtext (i,o,z,s,a :integer);
- begin
- textrec.inv:=i;
- textrec.offs:=o;
- textrec.spalte:=s;
- textrec.zeile:=z;
- textrec.addr:=a;
- bdos(163,addr(textrec))
- end;
-
- procedure scrdump (i:integer);
- begin
- bdos (164,i)
- end;
-
- begin
-
- GrSOn;
-
- mytext[1]:=CHR(10);
- mytext[2]:='s';
- mytext[3]:='m';
- mytext[4]:='a';
- mytext[5]:='l';
- mytext[6]:='l';
- mytext[7]:=' ';
- mytext[8]:='d';
- mytext[9]:='e';
- mytext[10]:='m';
- mytext[11]:='o';
-
- GFtext(0,0,0,0,addr(mytext));
- GFtext(1,0,0,15,addr(mytext));
- GFtext(0,1,2,0,addr(mytext));
- GFtext(0,0,2,15,addr(mytext));
- GFtext(1,0,4,0,addr(mytext));
- GFtext(0,1,4,15,addr(mytext));
- GFtext(0,0,6,0,addr(mytext));
- GFtext(1,0,6,15,addr(mytext));
- GFtext(0,1,8,0,addr(mytext));
- GFtext(0,0,8,15,addr(mytext));
- Gftext(1,0,10,0,addr(mytext));
- GFtext(0,1,10,15,addr(mytext));
- GFtext(0,0,12,0,addr(mytext));
- Gftext(1,0,12,15,addr(mytext));
- GFtext(0,1,14,0,addr(mytext));
- GFtext(0,0,14,15,addr(mytext));
- (*
- scrdump(0);
- scrdump(1);
- scrdump(2);
- scrdump(3);
- scrdump(4);
- scrdump(5);
- scrdump(6);
- scrdump(7);
- *)
- y:=1;
- while (y<=150) do
- begin
- for x:=1 to 500 do
- SetPix(x,y);
- y:=y+10
- end;
-
-
- SaveWi(0,0,100,50);
- ClrGr;
- LoadWi(0,0,100,50,1,1);
- SaveFW(0,0,100,50,'NEWFILE ');
- ClrGr;
- LoadFW(50,100,150,150,'NEWFILE ',0,0);
- LoadFW(70,120,170,170,'NEWFILE ',1,1);
- LoadFW(90,140,190,190,'NEWFILE ',0,0);
- LoadFW(300,149,400,199,'NEWFILE ',1,1);
-
- y:=1;
- while (y<=150) do
- begin
- x:=1;
- while (x<=500) do
- begin
- SetPix(x,y);
- x:=x+2
- end;
- y:=y+10
- end;
-
-
- y:=1;
- while (y<=150) do
- begin
- x:=1;
- while (x<=500) do
- begin
- EraPix(x,y);
- x:=x+2
- end;
- y:=y+10
- end;
-
-
- GrFOff
- end.
-
-
-
-