Ich hab noch Units für 256 Farben-Modus (SVGA).
Einfach die beiden Dateien (siehe Anhang) in einen Ordner kopieren
Dann in SetVideo() den Pfad eingeben und fertig.
Die Funktionen Setvideo() und die Funktionen des Mauszeigers sind nicht von mir und ich
weis im Moment auch nicht, wer diese erstellt hat!
Linie zeichnen:
moveto (10,10); // Gehe zu Koordinaten x=10, y=10
lineto (50,50); // Zeichne Linie bis x=50, y=50
Delphi-Quellcode:
program test;
uses Dos, Crt, Graph;
var GraphMode, GraphDriver, i,j : integer;
AutoDetect : pointer;
taste : char;
satz : string;
Size:word;
procedure Setvideo (scherm :byte);
var GraphMode, GraphDriver, i, j : integer;
satz : string;
AutoDetect : pointer;
taste : char;
{$F+}
function DetectVGA0 : Integer;
begin detectvga0 :=0;end;
function DetectVGA1 : Integer;
begin detectvga1 :=1;end;
function DetectVGA2 : Integer;
begin detectvga2 :=2;end;
function DetectVGA3 : Integer;
begin detectvga3 :=3;end;
function DetectVGA4 : Integer;
begin detectvga4 :=4;end;
{$F-}
begin
AutoDetect := @DetectVGA2;
case scherm of
0:AutoDetect := @DetectVGA0;
1:AutoDetect := @DetectVGA1;
2:AutoDetect := @DetectVGA2;
3:AutoDetect := @DetectVGA3;
4:AutoDetect := @DetectVGA4;
end;
GraphDriver := InstallUserDriver('SVGA256',AutoDetect);
GraphDriver := Detect;
InitGraph(GraphDriver,GraphMode,'H:\BP\BGI');
end;
begin { Main }
clrscr;
setvideo (2);
for i := 0 to 255 do begin
setcolor (i);
str (i, satz);
outtextxy (10 + (i div 60)*60,(i*8) mod 480,'**'+' '+satz);
moveto (310+i*1,0);
lineto (310+i*10,500);
end;
repeat
until keypressed;
CloseGraph
end.
mfg
devnull