[PASCAL] Unit crt und system



  • Hi !

    In Info muss jeder aus unserem Kurs ein kleines Referat über einen Teil von TurboPascal halten, ich soll was über die Units crt und system erzählen.

    Was ist eurer Meinung das wichtigste aus diesen beiden Units ?

    Und wie würdet ihr das rüberbringen ? Ich meine, soll ich sagen : clrscr löscht den Bildschirm, getTime liefert die Zeit zurück ..... ?

    Danke schonmal 🕶



  • Ich würde schon die Funktionen beschreiben. Was willst du auch sonst darüber sagen? Vielleicht, dass so gut wie alle Funktionen eine schlichte Pascalumsetzung von typischen DOS und BIOS Interruptfunktionen sind? Dass man die Unit CRT für Rechner ab ca. 200 Mhz patchen muss, weil sonst ein Runtime Fehler (division durch 0) Auftritt?



  • Aber nur für Pentium, da diese den Div Zero Bug haben. Mein alter K6 ist davon verschont geblieben 😉

    Ich würde mich mit den einzelnen Funcs etwas zurückhalten, und mehr das wofür was steht erzählen. Z.b. was ist eine Unit? Oder wie heißt der Nachfolger von Pascal? ( Object Pascal / Von Borland währs Delphi oder Kylix )
    ...



  • Hi !

    Danke für eure Antworten schonmal 🙂

    Bisher haben wir in Pascal nur streng modular programmiert, und die Einführung von Units kommt erst vieeel später. Wir sollen wirklich nur über *einen* Themenkomplex reden, das ist in meinem Fall halt Unit crt & system.
    Das Referat soll auch nur sehr kurz sein, aber ich weiß halt nicht was ich dort erzählen soll.

    Eine Auflistung aller Funktionen ist doch langweilig ? Aber darauf wirds wohl hinauslaufen 🙄



  • @Headhunter: Seit wann programmierst du in Pascal? Wird die Sprache am Ende noch modern LOL.

    Das interessante: Der "Division by zero"-Fehler kommt aber schon beim Compilieren (Fix dazu auf meiner Homepage 🙄;).

    Also in TP würde ich die Unit system als eine Kombi von <math>, <fstream>, <iostream> sehen, crt eher als eine Ersatz-<conio.h>.

    Ich würde von den wichtigsten Funktionen und Prozeduren in diesen Units erzählen, allerdings nicht so ins Detail, mehr so übersichtlich ala "Es gibt u.a. auch Funktionen zum Abrufen der Zeit, die wichtigste ist davon wahrscheinlich getTime".

    Ich würde allerdings aufpassen zuviele aufzuzählen (ein Referat ist eben kein Vorlesen aus der Hilfe).

    Also mehr erzählen was man mit diesen Units anstellen kann.

    MfG SideWinder



  • [Offtopic]
    Was soll denn dein erster Kommentar, Side 🙂 ?
    In Pascal programmiere ich nicht freiwillig, da wir es in Info grad machen hab ich keine Möglichkeit mich davor zu entziehen. Ich finde das Konzept von Pascal einfach nur schrecklich !
    Variablen : Entweder global oder am Prozedurkopf deklarieren ? Pfui
    End : End mal mit ; mal mit . mal ohne alles ? Pfui !
    clrscr ? Pfui ! Man sollte clrscr () schreiben dürfen !
    ....

    😉

    Wer noch mit dem Orginalen TP programmier ist selbst schuld. Auf http://www.freepascal.org/ gibts nen kostenlosen Pascal Compiler für viele OSes. Der Vorteil ist, dass man sich nicht mehr auf die "IDE" verlassen muss, und einen Editor seiner Wahl verwenden kann. Der Div/0 Fehler ist dort übrigens auch weg 🙂
    [/Offtopic]

    Danke für deinen Tipp, so ähnlich werd ichs wohl machen (müssen) ^^



  • [OFFTOPIC]
    TP ist aber einfach, und gerade deswegen wird es als Einsteigersprache hergenommen. Ein Einsteiger hat nichts gegen globale Variablen ;).

    Aber zum Thema END, da gibts eine klare Regelung, also da verstehe ich nicht warum du dich darüber aufregst 😕

    Aber zwei Sachen stören mich auch gewaltig:

    PROCUEDURE xxx;
    BEGIN
    END;
    
    //Als C++-Programmierer, fällt es schwer, dass man xxx() nicht schreiben darf
    //sondern nur:
    xxx;
    

    Und dann noch folgendes:

    FUNCTION xxx : boolean; //Funktion die einen boolschen Wert zurück gibt
    BEGIN
        xxx := TRUE; // ':=' ist der ZuweisungsOP (da kommt man als C++'ler auch
                     // ins trudeln: '=' ist nämlich der VergleichsOP
    END;
    
    // und dann das:
    xxx; // das ist kein korrekter PASCAL-CODE!!!
    
    da muss zuerst:
    
    VAR yyy : boolean;
    
    ...
    
    yyy := xxx; // Ich muss, auch wenn ich den Wert nicht benötige, den Returnwert
                // abfangen!!!
    

    [/OFFTOPIC]

    BTW: Ich programmiere noch mit Borland TP 7.0 unter DOS - da geht glaub ich gar kein anderer ;).

    MfG SideWinder

    [ Dieser Beitrag wurde am 25.01.2003 um 11:21 Uhr von SideWinder editiert. ]



  • freepascal gibt es auch für DOS



  • Mal ne andere Frage :
    Klappt bei euch die Freepascal Seite ? Bei mir klappt sie net....



  • Also nochmal kurz zu diesem Div/0 Bug.

    @SnorreDev: Dieses Problem ist definitiv nicht Prozessorspezifisch. Du verwechselst da was. Wäre mir neu, das der Pascalcompiler so fähig ist auf verschiedene Prozessoren zu optimieren. Was du meinst ist der Bug, der bei den ersten Pentium I mit 60 Mhz (und 75/90 Mhz?) aufgetreten ist. Ich glaube das war aber ein Fehler in der FPU.

    @SideWinder: Bei mir kam der Fehler NICHT beim Kompilieren. Es ist eigentlich auch ein Runtime Fehler (Runtime Error 200, glaube ich). Es gibt nicht nur den Patch von Borland für den Compiler selbst, sondern auch einen Patcher für mit TP 7.0 compilierte Programme!

    Wir hatten (damals ;)) in der 11. Klasse auch Pascal. Da war die CRT Unit ungepatcht. Nun, ich habe mir selbst mit ein paar Inline ASM Funktionen geholfen (das hat den Lehrer ziemlich beeindruckt 😃 ).

    Nochmal @SideWinder: Wenn du schon Borland TP 7 benutzt, dann kannst du definitiv die "extended syntax" aktivieren, die dir auch ermöglicht eine Funktion ohne Zuweisung bzw. Ausnutzung des Rückgabewertes aufzurufen.

    Im Prinzip ist Pascal gar nicht mal so schlecht. Eine für einen blutigen Programmieranfänger leicht zu erlernende Sprache mit der man auch ein wenig Real Mode asm lernen kann (inline asm hat den Vorteil dass man auf Ein-/Ausgaberoutinen zurückgreifen kann, in reinem ASM sonst sehr mühselig). Mich stört nur, das Turbo Pascal scheinbar nur 286 Instruktionen kennt. Und selbst die muss man vorher in den Optionen noch erlauben.



  • Original erstellt von Headhunter:
    Mal ne andere Frage :
    Klappt bei euch die Freepascal Seite ? Bei mir klappt sie net....

    ist wohl zZ. down 😞



  • gestern abend klappte sie noch...

    jetzt häng ich hier und komme seit heut morgen nciht an die docs der unit inet ran argh.


Anmelden zum Antworten