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

Turbo Pascal Compiler

Discussion in 'Programmieren' started by Felidae1, Oct 31, 2008.

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

    Felidae1 Kbyte

    Hallo,

    ich benutze öffters Turbo Pascal um etwas für den Informatikunterricht in der Schule oder sonstige kleine Dinge zu erledigen.

    Dazu habe ich das normale, offizielle Turbo Pascal 7.0.
    Dieses hat aber den ein oder anderen Nachteil:
    1) der Editor ist uralt und unkompfortabel
    2) die mit dem Compiler erstellten Programme sind DOS basiert
    das heißt ich kann z.B. nicht mit Dateinamen arbeiten die länger als 8 Zeichen sind usw. weil DOS dort sehr eingeschränkt ist. Es soll aber Compiler geben die die Console der Programme auch Windows gestützt compilieren.

    Ferner benutze ich für die ganzen Scriptsprachen den Editor Notepad++ mit dem ich auch sehr sehr zufrieden bin.
    Dort kann man auch Programme ins Ausführen Menü einbinden, wie z.B. Compiler.
    So bin ich auf die Idee gekommen einen guten Compiler in Notepad++ einzubinden. Das wäre einfach perfekt.

    Problem: Welchen Compiler nehme ich da am besten, welche Dateien außer sich selbst benötigt er noch um zu funktionieren usw.

    Am wichtigsten ist erstmal aus welchem Paket ich den Compiler verwenden sollte.

    Kann mich da jemand schrittweise (oder ansatzweise) beraten?
    wäre super. ^^

    THX
    mfg.
     
  2. Fettbemme

    Fettbemme Halbes Megabyte

    zu 1: Also ich finde den Turbo Pascal 7.0 Editor nicht unkomfortabel. Der kann alles was z.B. der Editor von Visual Studio 2008 auch kann. Der TP Editor war damals schon seiner Zeit voraus...

    zu 2: Nun was erwartest Du von einem DOS Compiler? Er ist kompatibel zu DOS. DOS kenn nun einmal keine langen Dateinamen...

    Vielleicht ist ja Free Pascal was für Dich:

    http://www.freepascal.org
     
  3. kazhar

    kazhar Viertel Gigabyte

    tp7.0 erzeugt maximal 16bit windows programme. das ist nicht unbedingt das was ich von "er kann alles" erwarte...

    @to..
    wenn du bei pascal bleiben willst kannst du ja mal freepascal anschauen. das look&feel ist tp recht ähnlich, produziert aber (leider auch nicht mehr 100% zeitgemäße) 32bit windows programme.
     
  4. Fettbemme

    Fettbemme Halbes Megabyte

    TP 7.0 erzeugt definitiv keine Windows Executables (16 Bit für Win 3.1 / WfW 3.11).

    Der letzte Pascal Compiler der auch für Windows geeignet war, war Borland Pascal 7.0. Dieses Paket beinhaltete einen DOS/DOS DPMI und Windows Compiler.
    Es gab von Turbo Pascal spezielle Varianten die 16 Bit Windows Anwendungen erzeugt haben (Turbo Pascal for Windows). Da gab es aber meines wissens nur 2 Versionen, 1.0 und 1.5.
     
  5. kazhar

    kazhar Viertel Gigabyte

    kann sein. der pascal compiler (tp7.0?), den ich vor ewigen zeiten von der schule gekl... geborgt hatte konnte win16 erzeugen. der hatte allerdings auch das windows-ide tpw.exe...

    nur mal zur info: sprichst du nur vom editor oder vom compiler bzw der ide?
     
  6. Felidae1

    Felidae1 Kbyte

    Hi, danke für eure Antworten =)
    Hätte nicht gedacht dass so schnell schon einer auf die Fragen antwortet..

    Ok, also die Turbo Pascal 7.0 Version die ich nutze erzeugt *.exe Dateien die anscheinend schon einem älteren System folgen. Jedenfalls haben sie die von mir angesprochenen Probleme mit den Dateinamen. Das möchte ich gerne vermeiden indem ich einen Compiler nutze der die Programme so erstellt, dass sie auf einer etwas neueren Windows Version beruhen.
    Nochmal zu TP7.0: Meine Version wurde mir von Borland auf E-Mail Anfrage hin zugesendet. Bestand aus 3 *.zip Dateien. 7.0.zip, Turbo Pascal Patches.zip und TPPatch für schnelle Rechner.zip. Da die Patch Dateien alles andere als übersichtlich sind sondern sich in den Archiven einfach jede Menge Dateien befinden von denen ich nicht weiß wohin damit, habe ich nur das Programm aus 7.0.zip am Laufen. Keine Ahnung ob die Patches etwas an der aktuellen Situation ändern würden. Wäre interessant, weiß da jemand etwas?

    Zu FreePascal: Ja das habe ich mir auch schon angesehen und runtergeladen. Der Editor ist mir ja wie gesagt egal. Ich möchte das ja gerne in Notepad++ einbinden. Dazu müsste ich allerdings wissen welche der Dateien aus dem 134MB großen Ordner der Compiler ist und welche Dateien ich noch rauskopieren muss, weil der Compiler eventuell drauf zugreifen muss.

    mfg.
     
  7. Fettbemme

    Fettbemme Halbes Megabyte

    Eigentlich von beidem. Es ist natürlich unfair eine Entwicklungsumgebung von Anfang - Mitte der 90er mit einer Entwicklungsumgebung von 2008 zu vergleichen. Wenn man das macht ist die VS2008 Umgebung natürlich weit weit voraus.

    Die Borland Compiler und die IDE waren zu der damaligen Zeit von der Funktionalität und der Benutzerführung mehr als Marktführend. Die waren eindeutig besser als die MS Tools für die Entwicklung zu der damaligen Zeit.
    Klar heutige IDEs unter Windows sind grafisch, die alte Borland DOS IDE nur Text, aber trotz dem kann diese IDE und der Editor das was heutige Editoren und IDEs können.
    Der gute alte Borland Pascal 7.0 Compiler war damals schnell und hat kompakten Ressourcensparenden Code erzeugt.

    Mal eine kleine Anekdote nebenbei. Borland C++ 5.0 war der erste Compiler der incrementell Compiliert und gelinkt hat, was während der Entwicklung die Buildzeiten dramatisch minimierte. Nun und dieser Compiler war letztlich auch MS um längen voraus. Nur meinte damals Philippe Kahn (der Gründer von Borland) sich mit MS anzulegen, was nicht unbedingt eine gute Entscheidung war. Es gab da wohl auh einige Prozesse... und MS hat dann letztlich die mehr oder weniger die komplette Mannschaft die den Borland C++ 5.0 Compiler abgeworben.... ein Grund wieso es keinen reinen C++ Compiler mehr gab, da das Know How weg war... Und genau aus dem Grund ist die Nutzerführung heutiger MS Entwicklertools so gut. Ich weis nicht ob Du vielleicht frühe MS Tools für Entwickler kennst... ich schon, und da kann man echt Taschentücher vollweinen...
     
  8. Fettbemme

    Fettbemme Halbes Megabyte

    Also die Patches ändern an Deiner Situation in der Art nichts, dass Du weiterhin 8+3 Dateinamen hast. Das liegt halt daran, dass es ein DOS Compiler ist. DOS hat nun einmal nur die 8+3 Dateinamens Konvention.
    Der eine Patch ist für neuere (schnellere) PCs nötig, da Du sonst den Runtime Error 200 (Division by zero) bekommst. Der kommt durch einen "Bug" in der CRT Unit, genauer gesagt im delay Befehl. Zu den anderen Patches kann ich nicht so viel sagen, aber Dein Datei Problem ist halt kein Bug sondern eine Einschränkung basierend auf dem Betriebssystem DOS.

    Da wirst Du wohl die Wikis oder die passenden Foren befragen müssen. Ich habe mein Pascal Wissen mit Borland Pascal 7.0 und einer Kurzvisite in Delphi beendet.
     
  9. Felidae1

    Felidae1 Kbyte

    Ja ich weiß, aber das ist halt das was mich stört und was ich mit nem anderen Compiler zu beheben versuche. ^^

    Schade, weil in deren Forum muss man sich auch noch extra registrieren und alles....

    mfg.
     
  10. kazhar

    kazhar Viertel Gigabyte

    @Fettbemme
    ich gebe dir bei der ide grundesätzlich recht. die ist und war gut (das sieht man z.b. daran, dass sie immer wieder mehr oder weniger 1:1 nachgebaut wurde und immer noch wird)
    der compiler allerdings war mal gut. das liegt daran, dass er - wie du schon geschrieben hast - nicht mehr gepflegt wird. klingt schade, ist es auch...
    mit 16-bit proggies springt man heute nicht mehr weit, ob dos oder windows.

    @Felidae1
    ich denke nicht dass jemand aus dem ärmel schütteln kann welche dateien minimal benötigt werden, damit der fp compiler funktioniert - mit ausnahme der leute die fp entwickeln und pflegen.
    ich kann dir nur sagen, dass ich mal testweise in den ordner /bin/i386.win32 reingeschaut habe; mir ist da eine datei fpc.exe aufgefallen. testweises eingeben von fpc -? bestätigt den verdacht: es handelt sich um den compiler...
     
  11. Felidae1

    Felidae1 Kbyte

    Ok danke, dann werde ich da mal was probieren und vllt. die Leute von FreePascal fragen. ^^

    mfg.
     
  12. Felidae1

    Felidae1 Kbyte

    Ok ich bin fündig geworden und es funktioniert jetzt fast alles.
    Aber eine Frage habe ich noch.. Der Free Pascal Compiler erstellt beim Compilieren neben der *.exe Datei noch eine *.o Datei. Was bitte ist das und wie stelle ich ein, dass diese nicht erstellt werden?

    mfg.
     
  13. kazhar

    kazhar Viertel Gigabyte

    die .o bzw .ppu files enthalten den kompilierten code von units (.o ist implementation, .ppu ist der interface teil). die braucht der compiler. du kannst sie maximal nach dem kompilieren löschen; warum stören die dich eigentlich?
     
  14. Felidae1

    Felidae1 Kbyte

    Hi, danke für die Antwort. ^^

    ppu Dateien habe ich bisher noch nicht festgestellt. Es wird immer nur eine *.o Datei erstellt.

    Sie stören mich weil sie alles zumüllen, ich keine Verwendung für die habe und sie daher manuell löschen muss.

    Bei anderen Compilern habe ich dieses Verhalten noch nicht beobachtet. Habe mir nur gedacht vielleicht lässt sich das irgendwie deaktivieren.

    mfg,

    EDIT:
    Aber abgesehen davon gibt es noch ein letztes Problem:
    Wenn ich über Notepad++ den Compiler aufrufe startet er, verrichtet seine Arbeit und verschwindet wieder. Leider auch wenn ein Compilierfehler auftritt. Das ist natürlich eher suboptimal, schließlich sehe ich dann nicht in welcher Zeile der Fehler liegt. Nun bräuchte ich noch eine Möglichkeit um den Compiler so zu starten, dass er nicht wieder verschwindet. Wenn ich ihn unter Windows über cmd starte bleibt er sichtbar, da er innerhalb der Eingabeaufforderung läuft. Aber wie kann ich das in einem einzigen Aufruf verpacken?.....

    mfg.
     
    Last edited: Nov 7, 2008
  15. kazhar

    kazhar Viertel Gigabyte

    schreib halt eine .bat die den kompiler anwirft, überprüft ob eine .exe raus gekommen ist, wenn ja die .o's löscht sich und das fenster beendet und wenn nicht stehen bleibt damit du die meldungen lesen kannst...
     
  16. Felidae1

    Felidae1 Kbyte

    Das ist eine gute Idee. ^^ Nur dazu müsste man dem Batch Script ja eine Variable (die zu compilierende Datei) mitgeben. Hoffe das ist bei dieser Scriptsprache möglich. Kenne die Systax und Strukturen der Sprache aber auch noch gar nicht. Werde mich da mal in einem Tutorial einlesen. Wie das mit der Parameterübergabe funktioniert könntest du mir aber gerade noch sagen. ^^

    THX
    mfg.
     
    Last edited: Nov 8, 2008
  17. kazhar

    kazhar Viertel Gigabyte

    naja...
    irgendwie musst du dem comiler ja auch sagen wie die datei heist...

    irgendwas in der art wird es wohl sein
    im editor: compilerscript.bat <dateiname>

    in der .bat
    fpc <diverse schalterchens> %1
    if exists %~n1.exe goto ok
    echo und wieder ein fehler: %~n1.exe existiert nicht!
    pause
    :ok
    del *.o
    exit
     
  18. Felidae1

    Felidae1 Kbyte

    Ok danke, hab jetzt folgendes Scipt geschrieben und damit funktioniert es super.
    Code:
    @echo off
    set datei=%1
    fpc.exe -mtp %datei%
    if exist %datei:~0,-3%o del %datei:~0,-3%o
    pause > nul
    Jetzt wäre ja fast schon alles perfekt aber ich muss feststellen dass es immernoch nicht geht. Weil die kopierte Datei fpc.exe anscheinend doch noch auf ihr altes Installationsverzeichnis zugreift. Wenn ich FPC deinstalliere oder mit der USB-Stick Version von Notepad++ das Compilieren an nem anderen Rechner versuche klappt es nicht. Dachte eigentlich mit dem Kopieren der fpc.exe hätte ich alles Notwendige. Aber anscheinend nicht =( Nur da wirst du mir sicher nicht helfen können.. Muss bei FreePascal fragen wie es weiter geht und ob überhaupt..

    mfg.
     
  19. Felidae1

    Felidae1 Kbyte

    Ok, definitiv letzte Sache: ^^

    Hab es jetzt fast doch geschafft, allerdings befindet sich die fpc.exe jetzt in einem anderen Verzeichnis und ich kann sie nicht mehr über das Batch-Script starten. Ich komme mir gerade ein bisschen blöde vor, weil es einfach nur ein Pfad Problem ist und ich das aus welchem Grund auch immer nicht hinbekomme.

    Der Editor Notepad++ ist im Verzeichnis D:\Notepad++ installiert.
    In seinem Ausführen Menü kann ich neue Pfade mit Variablen eintragen.
    $(NPP_DIRECTORY)\FPC\start.bat $(FULL_CURRENT_PATH)
    Das soll im N++ Verzeichnis in den Ordner FPC gehen wo die Datei start.bat liegt. Diese bekommt als Parameter den Pfad der Datei die aktuell bearbeitet wird, also compiliert werden soll.
    Die start.bat Datei hat dann folgenden Inhalt:
    Code:
    @echo off
    set datei=%1
    bin\i386-win32\fpc.exe -mtp %datei%
    pause > nul
    Soll also innerhalb des FPC Verzeichnisses in den Ordner bin und anschließend in den Ordner i386-win32 gehen. Dort soll die fpc.exe mit den Parametern -mtp und der Datei aufgerufen werden.

    Leider öffnet sich jetzt einfach die Console und es steht dort: "Das System kann den angegebenen Pfad nicht finden."

    Was habe ich denn da falsch gemacht? Bin schon lange am rätseln.

    mfg.
     
  20. Felidae1

    Felidae1 Kbyte

    Hat sich alles erledigt, Thema nun entgültig beendet. =)

    mfg.
     
Thread Status:
Not open for further replies.

Share This Page