![]() |
Turbo Pascal vs. 64bit
Ein Kollege nutzt einige TP-Programme, die weitestgehend bestimmte Dateien umwandeln. Über die Jahre wurden immer wieder kleine Anpassungen vorgenommen und die Projekte so weiter geführt.
Nun wird Win7 64bit eingeführt und die Programme laufen nicht mehr. Was würdet Ihr empfehlen, um die Projekte weiter zu nutzen? Ich habe mal versucht, unter D7 eine Konsolenanwendung zu kompilieren. Erst kannte Delphi eine Unit nicht (weiß nicht, ob die bei dem Kollegen zu suchen ist, oder zu TP gehörte) und nach dem Ausklammern derselben akzeptiert D7 den Typ "File of RecordMitStrings" nicht. Es existieren etwa 30 solche Projekte. Keine Ahnung, wieviel Probleme auftauchen, wenn man die auf Delphi portieren will. Genauere Infos habe ich nicht. Habt Ihr grundsätzliche Meinungen?
Delphi-Quellcode:
program Konve20;
//uses crt; // <-- D7 ERST MAL NICHT BEKANNT type pv_typ = record art : string[2]; zeile : string; end; pv_datei = file of pv_typ; { <-- [Fehler] Konve20.dpr(10): Typ 'pv_typ' benötigt Finalization - nicht im Dateityp erlaubt} const rho=200/pi; var einfile : text; ausfile : pv_datei; ..... {ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Hauptprogramm ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ} begin flag:=''; flag2:=''; farbe(15,0); clrscr; rahmen; bildschirm; clrscr; writeln(' *** Programm zur Umwandlung verschiedener Datenformate ***'); { delay(500); fenster; gotoxy(27,3); write('Bitte beachten !!!'); gotoxy(10,6); write('Die umzuwandelnde Datei muss folgendes Format besitzen:'); gotoxy(9,9); write('-> siehe K:\Transfer\Vermess\Hilfsprogramme\Konvertierung\'); writeln; writeln; gotoxy(20,11); write('Datei: Konvertierungsmglichkeiten '); gotoxy(26,14); write('[ESC-Taste drcken]'); waitforesc; } bildschirm; gotoxy(27,21); write('- Datenstze einlesen -'); fenster; { menue: } clrscr; writeln; textcolor(15); write(' '); writeln('*** Datenstze einlesen ***'); writeln; writeln; write(' '); textcolor(14); write('N'); textcolor(15); writeln('eues internes Format einlesen'); writeln; write(' '); textcolor(14); write('A'); textcolor(15); writeln('ltes internes Format einlesen'); writeln; write(' '); textcolor(14); write('W'); textcolor(15); writeln('ildformat (16-stellig) einlesen'); writeln; write(' '); textcolor(14); write('R'); textcolor(15); writeln('eduziertes Wildformat (8-stellig) einlesen'); writeln; write(' '); textcolor(14); write(' '); write('K'); textcolor(15); write('oordinatenliste einlesen'); textcolor(14); { write('G'); textcolor(15); writeln('PS-Koordinatenliste einlesen'); } writeln; writeln; write(' Auswahl: '); repeat until keypressed;t:=readkey; write(t); case t of 'a','A' : begin info:='alt'; konvertieren; end; 'n','N' : begin info:='neu'; konvertieren; end; 'r','R' : begin info:='wild8'; konvertieren; end; 'w','W' : begin info:='wild16'; konvertieren; end; 'k','K' : begin info:='tab1'; konvertieren; end; { 'g','G' : begin info:='tab2'; konvertieren; end; } { 'z','Z' : goto start; } end;{of case} { goto menue; } if (dateia<>'ende') and (dateia<>'') then begin bildschirm; gotoxy(20,21); write('- Konvertieren in Ausgabe-Format -'); rueckkonvertieren; end; bildschirm; gotoxy(20,21); write('Das Programm wird beendet ! '); delay(9000); end. |
AW: Turbo Pascal vs. 64bit
Die crt-Unit gibt es hier für Delphi:
![]() Die habe ich übrigens ohne Probleme per Google mit "Delphi Crt" gefunden. Ich kann mir einfach nicht vorstellen, wie man an sowas scheitern kann. Ernsthaft, soviel Abstraktions- und Transfer-Fähigkeit sollte man nun wirklich mitbringen. Dein Problem mit dem Record ist, dass er "String" nutzt. String is ein von Delphi verwalteter Typ, bei dem Referenzzählung entscheidet wann er freigegeben wird. Bei einem "File of " weiß Delphi nicht wie und ob es den freigeben kann. Schaue mal wie ein "String" in TP definiert war. Kann gut sein, dass der jetzt unter ShortString oder sowas läuft. |
AW: Turbo Pascal vs. 64bit
Hi,
ich habe vor kurzem ein TurboPascal-Programm unter Delphi XE erfolgreich compiliert. War ein TEstlauf nach dessen erfolgreichen Bestehen der Programmierer sich XE zugelegt hat. Ich kann mich nicht mehr erinnern, was er mir alles zur Verfügung gestellt aht, aber ich glaube mich zu erinnern, dass er die notwendigen Turbo-Pascal Units auch beigelegt hat. Also grundsätzlich sollte das gehen... Grüße |
AW: Turbo Pascal vs. 64bit
@Elvis
Ich habe mich aus Zeitgründen ja noch nicht genauer mit den Problemlösungen beschäftigt und wollte nur eine GRUNDSÄTZLICHE Einschätzung zur Portierung. Ich weiß auch nicht, wie die anderen 30 Projekte ungefähr aussehen. @Lemmy Ok, danke. Mal sehen, wie wir dann verfahren... |
AW: Turbo Pascal vs. 64bit
Bedenke das die Float Werte andere Bereiche in Delphi haben vor allem in D2009+ (Strings Unicode).
Also ich habe mal in D7 ein Altes Pacal Prog 1 zu 1 umgestellt da kam nur noch Müll raus. |
AW: Turbo Pascal vs. 64bit
Wahrscheinlich ist es einfacher und schneller das ganze neu zu schreiben. Und wenn man das ordentlich macht, dürfte es auch zukunftssicherer sein.
|
AW: Turbo Pascal vs. 64bit
Zitat:
Wie komplex die Funktionen sind weiß ich noch nicht. Aber wenn schon basteln, könnte man auch eine ordentliche Formularanwendung draus machen. Mal sehen, was die Kollegen nun sagen... (Die Projekte sind halt von den Kollegen so nebenher erstellt worden.) |
AW: Turbo Pascal vs. 64bit
Mit free pascal ist es wohl kompilierbar + lauffähig.
Das reicht ihnen dann so erst mal. |
AW: Turbo Pascal vs. 64bit
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:54 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