AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Turbo Pascal vs. 64bit

Ein Thema von stahli · begonnen am 30. Aug 2011 · letzter Beitrag vom 30. Aug 2011
Antwort Antwort
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#1

Turbo Pascal vs. 64bit

  Alt 30. Aug 2011, 11:26
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:  Konvertierungsm”glichkeiten ');
                          gotoxy(26,14);
                          write('[ESC-Taste drcken]');
                           waitforesc;   }

            
               
                        bildschirm;
                        gotoxy(27,21);
                        write('- Datens„tze einlesen -');
                           fenster;
                         {  menue:       }
                           clrscr;
                         
                           writeln;
                           textcolor(15);
                           write(' ');
                           writeln('*** Datens„tze 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.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#2

AW: Turbo Pascal vs. 64bit

  Alt 30. Aug 2011, 11:36
Die crt-Unit gibt es hier für Delphi: http://delphicrt.sourceforge.net/
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.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Turbo Pascal vs. 64bit

  Alt 30. Aug 2011, 11:37
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
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Turbo Pascal vs. 64bit

  Alt 30. Aug 2011, 11:55
@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...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: Turbo Pascal vs. 64bit

  Alt 30. Aug 2011, 12:00
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.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Turbo Pascal vs. 64bit

  Alt 30. Aug 2011, 12:22
Wahrscheinlich ist es einfacher und schneller das ganze neu zu schreiben. Und wenn man das ordentlich macht, dürfte es auch zukunftssicherer sein.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Turbo Pascal vs. 64bit

  Alt 30. Aug 2011, 12:34
Wahrscheinlich ist es einfacher und schneller das ganze neu zu schreiben. Und wenn man das ordentlich macht, dürfte es auch zukunftssicherer sein.
War auch meine grundsätzliche Überlegung - zumindest wenn eine Kompilierung nicht 1:1 durchläuft.
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.)
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Turbo Pascal vs. 64bit

  Alt 30. Aug 2011, 14:29
Mit free pascal ist es wohl kompilierbar + lauffähig.
Das reicht ihnen dann so erst mal.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#9

AW: Turbo Pascal vs. 64bit

  Alt 30. Aug 2011, 15:41
Ansonsten als Übergangslösung gibt es hier eine Anleitung für TP unter Win7.

Grüße in die Runde
Martin Schaefer
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:10 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