1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Frage zu Turbo Pascal

Discussion in 'Programmieren' started by schwarzm, Jul 31, 2005.

Thread Status:
Not open for further replies.
  1. schwarzm

    schwarzm Viertel Gigabyte

    Hallo Leute!

    Ich hoffe ihr könnt mir nochmal helfen! Ich habe mal schnell ein Programm in Turbo Pascal geschrieben wo ich eine *Verschönerung* einbauen will.

    Quellcode:
    program Testprogramm;
    uses crt, dos;
    begin
    clrscr;
    textbackground (blue);
    textcolor (yellow);
    clrscr;
    writeln ('Hier kommt der Programmtitel hin.');
    writeln ('');
    writeln ('');
    writeln ('bitte warten . . .'); //Hatte keine Zeit für großen Schnickschnack!^^
    delay (4500); //Somit eine Wartezeit von 4,5 Sekunden.
    clrscr;
    end.


    Im Anhang seht ihr was dabei rauskommt. Ihr seht ja oben in der Titelleiste den Ort wo das Programm gespeichert ist. Wie kann ich da einen eigenen Titel einfügen? Wie muss der Quellcode dafür aussehen?

    Danke schonmal im Vorraus!

    Gruß
    schwarzm
     

    Attached Files:

  2. schwarzm

    schwarzm Viertel Gigabyte

    Wenn wir schonmal bei Turbo Pascal sind, dann ergibt sich mir noch eine andere Frage:
    Ist es mit TP möglich Kreise, Rechtecke, oder sonstige Figuren zu zeichnen. Also jetzt im Quellcode, sodass ich das mit compilieren kann.

    Wäre echt toll wenn mir da jemand helfen könnte.

    Gruß
    schwarzm
     
  3. kalweit

    kalweit Hüter der Glaskugel

    Es geht nicht, da TP in einem Konsolenfenster läuft.

    Das geht mit der Unit "graph". Danach muss der Anzeigenmodus mit InitGraph(); umgeschaltet werden - d.h. die Grafikdarstellung läuft nicht zusammenen mit der "crt".

    Gruss, Matthias
     
  4. schwarzm

    schwarzm Viertel Gigabyte

    Da habe ich doch wieder was falsch geschrieben. :aua:

    Ich schreibe nicht mehr in Turbo Pascal sondern in DevPascal. Geht das damit?

    Das andere werde ich jetzt mal testen, danke!
     
  5. schwarzm

    schwarzm Viertel Gigabyte

    So also erstmal habe ich das folgendermaßen gemacht:

    program NamedesProgramms;
    uses crt,graph;
    begin


    Wie muss es denn jetzt weitergehen. Kannst du mir vielleicht mal einen Quellcode den ich compilieren muss und wo dann ein Kreis auf dem Bildschirm erscheint?!
     
  6. TheD0CT0R

    TheD0CT0R Dr. h.c. Mod

  7. schwarzm

    schwarzm Viertel Gigabyte

    @TheD0CT0R

    Dort habe ich folgendes gefunden:

    Procedure Circle (X,Y : Integer; Radius : Word);

    Genau das habe ich vorher schon in den Compiler eingegeben. Das hat er nicht anerkannt. Es kam eine Fehlermeldung.

    uses crt, graph;

    Was muss ich sonst denn noch machen und wo einfügen?

    Gruß
    schwarzm
     
  8. TheD0CT0R

    TheD0CT0R Dr. h.c. Mod

    Wo hast du das eingegeben? Der Compiler macht aus dem Quellcode eine ausführbare Datei, da kann man nix eingeben.


    Du weißt dass du das in der Klammer durch die Werte ersetzen musst die du haben willst?


    Behalt die nur für dich... :rolleyes:


    Hat kalweit doch schon geschrieben, InitGraph();
     
  9. schwarzm

    schwarzm Viertel Gigabyte

    procedure circle (200,300,100);

    Wo muss ich das denn einsetzen im Quellcode???

    Fehlermeldung findest du im Anhang!

    Gruß
    schwarzm
     

    Attached Files:

  10. kalweit

    kalweit Hüter der Glaskugel

    Oh man! Du bist also über den Status des Kopierens von Quellcode noch nicht drüber weg. Als erstes solltest du dich mit den Konventionen für technische Dokumentationen befassen. Wenn da steht "procedure ..." dann heißt das nicht, dass du eine "procedure" schreiben sollst, sondern das der Befehl eine selbige ist - schließlich könnte es auch eine "function" sein... (das macht dann schon mal die ersten 2 Fehler). Der dritte Fehler ist das Fehlen der InitGraph();
     
  11. schwarzm

    schwarzm Viertel Gigabyte

    Oh Mist! Jetzt weis ich auch was da schief läuft. Mit Kreisen und sonstigem Zeugs in TP kenn ich mich zu 0% aus, also bitte entschuldigt.

    Nochmal meine Frage:
    Wo muss ich das mit InitGraph (); einfügen, an welcher Stelle?

    Gruß
    schwarzm
     
  12. kalweit

    kalweit Hüter der Glaskugel

    Das hat damit überhaupt nichts zu tun - am Ende nicht mal mit TP...

    Bevor du die erste Bildschirmausgabe machen willst... (äh - natürlich im Quellcode)
     
  13. schwarzm

    schwarzm Viertel Gigabyte

    Sowas in der Art?

    program Untitled;
    uses crt,graph;
    begin
    initgraph ();
    circle (200,300,100);
    CloseGraph();
    end.


    Das stimmt. Ich habe lange nichts mehr damit gemacht. Die Grundkentnisse sind klar. Aber der Rest ist halt fort. Ich habe ja auch nie gesagt das ich TP Experte bin ;)
     
  14. kalweit

    kalweit Hüter der Glaskugel

    Jo - jetzt fehlen nur noch die 3 Parameter für initgraph. Die hast du aber schneller ergooglet, als ich mein Handbuch gesucht...


    Da standest du halt unglücklich im Weg ;) Mir sind in den letzten Tagen hier nur einige Kapazitäten untergekommen, die den großen "Programmierguru" haben raus hängen lassen (zumindest bei mir den Eindruck erweckt haben, da sie andere mit Überzeugung belehren wollten), was sich am Ende aber als heiße Luft heraus stellte. Wenn sich so was häuft, werde ich schlicht sauer und dann trifft es halt einen...
     
  15. TheD0CT0R

    TheD0CT0R Dr. h.c. Mod

    @ kalweit
    Da hätt ich noch eine Frage. Ich würde kurz vor dem abschließenden end. noch ein CloseGraph(); setzen.

    Muss man das eigentlich noch machen oder is das heute nicht mehr nötig? Wir haben das damals (486er mit DOS) noch so gelernt. Kam mir bei DOS auch sinnvoll vor dass man vor Programmende wieder in den Textmodus schaltet. Aber ist das unter Windows noch nötig?
     
  16. schwarzm

    schwarzm Viertel Gigabyte

    Wird gemacht. Habe hier ein paar Beispielprogrgs gerade gefunden.

    Das einzige was ich kann sind Javascripts, wobei ich da nicht von einer Programmiersprache sprechen will. Aber Pascal oder noch schlimmer Delphi das kann ich nicht so super.

    Danke für deine Hilfe!

    Gruß
    schwarzm
     
  17. schwarzm

    schwarzm Viertel Gigabyte

    Kein Risiko eingehen. Habs verbessert.
     
  18. kalweit

    kalweit Hüter der Glaskugel

    Solange das Programm nur in der Konsole unter Windows läuft, kann man drauf verzichten (im Zweifel macht man halt das Fenster zu). Ich würde es aber hinzufügen, da man nie weiss, ob das Programm nicht doch mal in einer anderen Umgebung laufen soll (und an den vergessenen Befehl, kann man sich in der Situation mit Sicherheit nicht mehr erinnern).
     
  19. schwarzm

    schwarzm Viertel Gigabyte

    Ich habe da übrigens eine ganz interessante Seite gefunden:
    http://www.webplain.de
    Dort sind auch alle Befehle mit kleiner Erklärung aufgelistet.
     
  20. schwarzm

    schwarzm Viertel Gigabyte

    Ich habe was ganz simples jetzt geschrieben und wieder ist für mich was unerklärliches passiert! Erstmal der Code:

    Code:
    uses crt;
    begin
     TextMode(Co80);
     window (1,1,80,24);
     textcolor (white);
     textbackground (lightblue);
     clrscr;
     writeln ('');                         //1
     writeln (' ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»');   //2
     writeln (' º                   º°');  //3
     writeln (' ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ°');  //4
     writeln ('  °°°°°°°°°°°°°°°°°°°°°');  //5
     writeln ('');                         //7
     writeln ('');                         //8
     writeln ('');                         //9
     writeln ('');                         //10
     writeln ('');                         //11
     writeln ('');                         //12
     writeln ('');                         //13
     writeln ('');                         //14
     writeln ('');                         //15
     writeln ('');                         //16
     writeln ('');                         //17
     writeln ('');                         //18
     writeln ('');                         //19
     writeln ('');                         //20
     writeln ('');                         //21
     writeln ('');                         //22
     writeln ('');                         //23
     writeln ('');                         //24
     window (1, 25, 80, 25);
     TextColor(white);
     TextBackGround(green);
     writeln ('test...');
     readln;
    end.
    
    So in der grünen Spalte unten sollte jetzt der Text "test..." stehen. Tut er aber nicht!!! Wo liegt nun der Fehler?

    Gruß
    schwarzm
     
Thread Status:
Not open for further replies.

Share This Page