Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Pascal 1.5 Linie zeichnen? (https://www.delphipraxis.net/21155-pascal-1-5-linie-zeichnen.html)

Sofa5000 28. Apr 2004 15:30


Pascal 1.5 Linie zeichnen?
 
Mal ne Frage wie kann ich in Pascal eine einfache Linie zeichnen??

Danke

Skiron 28. Apr 2004 15:42

Re: Pascal 1.5 Linie zeichnen?
 
pascal für DOS oder windows?

Sofa5000 28. Apr 2004 15:49

Re: Pascal 1.5 Linie zeichnen?
 
Ich habe Pascal 1.5 für Windows!

Skiron 28. Apr 2004 15:52

Re: Pascal 1.5 Linie zeichnen?
 
soweit ich weiß braucht das ziemlich einiges an code.
wenn mich nicht alles täuscht, dürft ein sample dabei sein, bei dem gezeichnet wird (weiß nicht obs bei der version schon dabei is)
wenn ja kannste mal da schauen, ob du dir die mühe für 1 linie antun willst ;)

Sofa5000 29. Apr 2004 20:18

Re: Pascal 1.5 Linie zeichnen?
 
Kann mir jemand ein Beispiel geben??

glkgereon 30. Apr 2004 23:49

Re: Pascal 1.5 Linie zeichnen?
 
ähm, musst du mit dem compiler/editor arbeiten?

in dem gnu-pascal (ich mein www.freepascal.org ) gibts den (logischen) befehl

line(x1,y1,x2,y2)

sowie weitere wie

rectangle(x1,y1,x2,y2)
cicle(x,y,radius)

und nochn paar weitere

alcaeus 1. Mai 2004 03:19

Re: Pascal 1.5 Linie zeichnen?
 
Zuerst muss einmal der Grafikmodus initialisiert werden, bevor etwas gezeichnet werden kann. Das geschah in TP7 so:
Delphi-Quellcode:
uses Graph, ...;
var
  Grd, Grm: Integer;
begin
  InitGraph(Grd, Grm, ''); //Initialisieren, 16 Farben, 640x480 Pixel
  SetFillStyle(1,White); //Füllfarbe und -stil setzen, 1 ist voll ausgefüllt
  FillRect(0,0,640,480); //Gefülltes Rechteck zeichnen
  SetColor(Black); //Linienfarbe setzen
  Line(0,0,640,480); //Linie zeichnen
  Readln;
  CloseGraph; //Grafikmodus beenden
end;
Ich hab das schon oft in TPW versucht, hat aber nie funktioniert. Am besten ist wirklich du suchst dir irgendwo ein altes 5.5 Pascal oder kaufst jemandem ein TP7 um 1 Euro ab, mehr wird es heute eh nicht mehr wert sein.

Alexander 1. Mai 2004 09:44

Re: Pascal 1.5 Linie zeichnen?
 
Im Borland-Museum gibt es auch eine Version zum kostenlosen Download ;-)

glkgereon 2. Mai 2004 14:41

Re: Pascal 1.5 Linie zeichnen?
 
ja klar, du musst den ganzen ***** noch initialisieren, aber die linie selber geht dann mit line .....

devnull 2. Mai 2004 15:32

Re: Pascal 1.5 Linie zeichnen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz