Sourcefilerne fra et Turbo Pascal er blot .PAS (Tekst) filer som du uden problemer bør kunne læse ind i Delphi 2005, men det er så ikke ensbetydende med at det virker.
Turbo Pascal arbejdede med Tekst-mode og ofte skrev man direkte i "skærmhukommelsen"(det hukommelsesområder der indehold de tegn - og deres farver - for det der blev vist på skærmen) for at opnå hurtigere skærm opdateringer. Ligeledes hvis det er udviklet med en af de senere versioner af Turbo Pascal har man måske gjort brug af Turbo Vision eller lign. (Turbo Power havde et konkureende produkt - husker ikke lige navnet) som var opbject orienterede bibliotekter der indeholder classer som gav muligheder for at bygget et program op med Vinduer, Menuer og support for mus (men altså stadig tekst-baseret/ikke grafisk).
For uden af du således ikke kan bruge ind-/udlæsning fra den gamle source så er der også sket meget i selve Pascal-sproget siden den gangæ. F.eks. i dag definnre du aldrig lægden på en streng variablel (man kan, men det er ikke tilrådeligt), den gang læste man som regel altid strengen længde ved at kigge på StringVar[0], i dag skriver du i en funktion "Result := xxx;" hvor man den gang (hvis jeg husker korrekt) brugte "Return xxx;" osv. osv.
Der for vil jeg umiddelbart gætte på at det nemmeste nok bliver at skrive det om i stedet for at få det gamle til at virke!?
enig - men afhængig af de problemer, du løser kan der jo godt være en heldel logik som med små ændringer kan genbruges i "moderne" pascal. Hvis dit gamle program er ren spagetti er det tvivlsomt, men hvis det er opbygget fornuftigt modulært kan du sikker have glæde af den gamle kode.
Du kan i sagens natur ikke bruge de gamle skærmdialoger. Anden kode kan briges til at fungere, evt med ikke helt ubetydelige omskrivninger.
For at konvertere noget der gemmer records i filer skal man bruge følgende Gl.Pascal: Integer -> Delphi: SmallInt Bruges der Real skal $REALCOMPATIBILITY ON benyttes. Evt. i projectfilen. Sørg for at der IKKE foregår alignment Compilerdirective: {$A1} Er der String erklæringer skal direktivet {H-} anvendes. Ellers er AnsiString default.
Ovenstående er erfaring med Borland-Pascal kode til Delphi 7 konvertering.
Du slipper nok ikke for at skulle lave en hel del konverteringer/rettelser. F.eks er st[0] en gammel måde at få/sætte længden på en streng. Den kan Delphi ikke lide. Der er mange af den slags ting.
Bruger dit TP-program klasser? 3'die parts pakker? BASM? Hvor meget er der i opgaven?
I øvrigt skulle du tage at skifte din D2005 ud med en nyere. Det er en skodversion!
Det er korrekt. Det var sikkert helt forkert af mig lukke opgaven uden at give point. Det skulle bare gå stærkt lige på det tidspunkt. Hvordan er det muligt at give de point nu?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.