AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Grafikausgabe mit FreePascal (DOS)

Ein Thema von Glocke89 · begonnen am 30. Mär 2007 · letzter Beitrag vom 31. Mär 2007
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Glocke89
Glocke89

Registriert seit: 2. Mär 2007
Ort: Thüringen
80 Beiträge
 
Lazarus
 
#1

Grafikausgabe mit FreePascal (DOS)

  Alt 30. Mär 2007, 16:49
Hallo Leutz

ich bin ein kleiner DOS-Freak und habe mir FreePascal für DOS heruntergeladen.
Das ganze sieht ganz gut aus und ich habe auch schon meine erstes "Programm" damit geschrieben....

Code:
program Zahlenraten;

var zufall,eingabe:integer;

{Unterprogramm Zahl_bestimmen}
procedure Zahl_bestimmen(var z:integer);
begin
  randomize;
  z:=random(10)+1
end;

{Unterprogramm Zahl_eingeben}
procedure Zahl_eingeben(var e:integer);
begin
  ReadLn(e)
end;

{Unterprogramm Zahl_pruefen}
function Zahl_pruefen(z,e:integer):boolean;
begin
  if z=e
    then
      Zahl_pruefen:=true
    else
      Zahl_pruefen:=false
end;

{Aufruf Hauptprogramm}
begin
  Zahl_bestimmen(zufall);
  WriteLn('Bitte eine beliebige Zahl zwischen 1 und 10 eingeben!');
  Zahl_eingeben(eingabe);
  if (1<=eingabe) and (eingabe<=10)
    then
      if Zahl_pruefen(zufall,eingabe)=true
        then
          WriteLn('Richtig geraten! Die Zahl war ',zufall,'.')
        else
          WriteLn('Falsch geraten! Die Zahl war ',zufall,'.')
    else
      WriteLn('Ungueltige Zahl!')
end.
(EXE-Datei siehe Anhang)

Auf jeden Fall wollte ich fragen, ob bei Pascal für DOS Grafikausgaben möglich sind und wenn ja, wie diese (erstmal ganz einfach) zu realisieren sind.

EDIT:
Titel auf Wunsch angepasst.
Angehängte Dateien
Dateityp: exe zahlen_308.exe (194,9 KB, 6x aufgerufen)
Christian
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: FreePascal

  Alt 30. Mär 2007, 20:52
Da gab es früher mal die Unit "graph" dazu (weis nicht, wie das bei freePascal ist) und darin waren die ganzen Grafikroutinen. Zuerst musste man mit initgraph in den grafikmodus schalten (dabei auch angeben, welcher grafikmodus) und mit "closegraph" kam man dann wieder zurück.
und dann gab es solche rountinen wie:
PutPixel
Line
LineTo
MoveTo
TextOut
TextoutXY
GetPixel
PutImage
GetImage
-- es gab auch sowas für Rechtecke, Kreise,...


So in etwa. Ist schon lange her.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: FreePascal

  Alt 30. Mär 2007, 23:57
Zitat von Shadowraider:
Auf jeden Fall wollte ich fragen, ob bei Pascal für DOS Grafikausgaben möglich sind und wenn ja, wie diese (erstmal ganz einfach) zu realisieren sind.
FreePascal ist weit mehr als Pascal für DOS, es ist ebenso für eine Menge anderer Betriebssysteme und Prozessoren geeignet
€dit: Ach ja, ändere bitte deinen Titel in "Grafikausgabe unter FreePascal" oder etwas ähnlich sinniges
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von Glocke89
Glocke89

Registriert seit: 2. Mär 2007
Ort: Thüringen
80 Beiträge
 
Lazarus
 
#4

Re: FreePascal

  Alt 31. Mär 2007, 11:21
Zitat von sirius:
Da gab es früher mal die Unit "graph" dazu (weis nicht, wie das bei freePascal ist) und darin waren die ganzen Grafikroutinen. Zuerst musste man mit initgraph in den grafikmodus schalten (dabei auch angeben, welcher grafikmodus) und mit "closegraph" kam man dann wieder zurück.
und dann gab es solche rountinen wie:
PutPixel
Line
LineTo
MoveTo
TextOut
TextoutXY
GetPixel
PutImage
GetImage
-- es gab auch sowas für Rechtecke, Kreise,...


So in etwa. Ist schon lange her.
Ok, danke für die Info.

Noch eine (etwas dumm klingende) Frage:
Wie binde ich die Unit "graph" ein?
Bei Delphi 7 ging das ja glaube über

uses graph; Geht das in meinem Fall auch?
Christian
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: FreePascal

  Alt 31. Mär 2007, 11:32
Zitat von Shadowraider:
Geht das in meinem Fall auch?
Klar, warum nicht?
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von Glocke89
Glocke89

Registriert seit: 2. Mär 2007
Ort: Thüringen
80 Beiträge
 
Lazarus
 
#6

Re: Grafikausgabe mit FreePascal (DOS)

  Alt 31. Mär 2007, 13:41
Das mit Graph funktioniert bei mir (DOS-Variante) nicht.
Bei Delphi 7 kann man ja einzelne Pixel einfärben. Das geht hier doch sicher auch, oder?
Christian
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Grafikausgabe mit FreePascal (DOS)

  Alt 31. Mär 2007, 13:57
Oh wunder! Die alten Disketten sind noch lesbar....

Also, ich habe mal gekramt. Im Anhang hängt ein Grafikprogramm, was unter TP 6.0 programmiert wurde. Das Programm ist alt und ohne OOP geschrieben, also etwas undurchsichtig. Prinzipiell ist es: "Türme von Hanoi".

Da befindet sich eine procedure "init" gleich am Anfang. Die initialisiert nicht nur die Grafik, sondern sucht auch noch den Grafiktreiber (hier die egavga.bgi) unter ausgesuchten Pfaden (siehe unter "const").



Hinweis (falls du das Programm starten willst): Da du die Unit packen nicht hast, fehlen dir die Routinen unpackstring und packstring. Die kannst du weglassen (Ergebnis der Routinen = erster Parameter)
Angehängte Dateien
Dateityp: pas hanoi_947.pas (15,5 KB, 3x aufgerufen)
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Glocke89
Glocke89

Registriert seit: 2. Mär 2007
Ort: Thüringen
80 Beiträge
 
Lazarus
 
#8

Re: Grafikausgabe mit FreePascal (DOS)

  Alt 31. Mär 2007, 14:13
Thx, aber ich check da leider nicht durch

Haste 'ne Idee, wie ich einzelne Pixel einfärben kann? Das würde mir schon helfen
Christian
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Grafikausgabe mit FreePascal (DOS)

  Alt 31. Mär 2007, 14:26
Also, wenn du direkt in DOS programmierst, geht das nicht. DOS ist im Textmodus. Da kannst du nur Text ausgeben und keine einzelnen Pixel färben. Du musst erst in den Grafimodus schalten:
Delphi-Quellcode:
var graphicdriver, graphicmode : integer;
    bgipfad:string;
begin
  //ich glaube, du kannst hier auch jeweils 0 einsetzen
  graphicdriver:=vga;
  graphicmode:=vgahi;
  
  //hier musst du das entspr. Verzeichnis bei dir suchen, oder im Netz nach dieser Datei
  bgipfad:='C:\ ... \egavga.bgi';
  //es gibt auch andere BGIs für cga und svga
  
  
  //Treiber initialisieren
  initgraph(graphicdriver,graphicmode,bgipfad);

  
  //so, und hier kannst du zeichnen
  pupixel(10,10,white);
  
  //...

  
  //Grafimkoeus beenden
  closegraph;
end;
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Glocke89
Glocke89

Registriert seit: 2. Mär 2007
Ort: Thüringen
80 Beiträge
 
Lazarus
 
#10

Re: Grafikausgabe mit FreePascal (DOS)

  Alt 31. Mär 2007, 14:56
Ich hab noch 2 Probleme:

(1) Wo finde ich die Datei egavga.bgi? Kannst du mir die evtl. als Dateianhang geben

(2) Mein FreePascal findet die Unit graph nicht.
unit graph; Folgende Meldungen gibt der Compiler aus:
Code:
Fatal: Can't find unit graph
Fatal: Compilation aborted
Hat jmd. ne Idee, was da nicht hinhaut?
Christian
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz