Einzelnen Beitrag anzeigen

Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#10

Re: Pascal 1.5 Linie zeichnen?

  Alt 2. Mai 2004, 16:32
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
Angehängte Dateien
Dateityp: zip bgi.zip (9,6 KB, 5x aufgerufen)
-- Never change a running system --
  Mit Zitat antworten Zitat