Avatar billede pz Nybegynder
16. februar 2014 - 19:34 Der er 8 kommentarer og
1 løsning

Læse Pascal datafiler med Delphi, datatyper?

Hej,

Jeg har nogle gamle programmer skrevet i Borland Pascal 7.0 hvor jeg skal læse filerne fra Delphi XE5.

Skal læse en fil med et større antal records som består af String 80 og en Integer, lavet i Pascal.
Dette fylder 83 bytes i Pascal og 84 bytes i Delphi hvis jeg benytter et Word som Integer i Delphi.



????

/Peter
Avatar billede arne_v Ekspert
16. februar 2014 - 20:07 #1
Er du sikker paa at det ikker er 82 og 84?
Avatar billede arne_v Ekspert
16. februar 2014 - 20:07 #2
Hvis det er 82 skal du bare have fortalt Delphi at den record er packed eller byte aligned.
Avatar billede arne_v Ekspert
16. februar 2014 - 20:08 #3
Hvis det er 83 og 84, saa er det nok 1 byte versis 2 byte length prefix paa string.
Avatar billede arne_v Ekspert
16. februar 2014 - 20:10 #4
I det tilfaelde kan du definere record ikke med en string af laengde 80 men som en byte og et array af char med 80 elementer. Og saa konvertere det til string.
Avatar billede pz Nybegynder
16. februar 2014 - 21:30 #5
Hej Arne,

Det er 83 bytes for Pascal og 84 bytes for Delphi.

Forstår dog ikke hvordan Integer fra Pascal kan læses af delphi som byte.

Jeg prøver i morgen som du foreslår, kan ikke nu.

/Peter Z
Avatar billede arne_v Ekspert
16. februar 2014 - 21:42 #6
integer skal laeses som integer (word)

string skal laeses som byte (indeholdende faktisk laengde) og array af char med 80 elementer
Avatar billede arne_v Ekspert
17. februar 2014 - 16:30 #7
Nu laesete jeg lige lidt docs.

Proev med integer (word) og shortstring!
Avatar billede pz Nybegynder
20. marts 2014 - 21:53 #8
Hej arne_v,

Beklager mit sene svar, jeg arbejdede videre med programmet og tager data til sidst.
Jeg konverterer de gamle filer til strings, dem kan jeg let overføre til nyt datafilformat i Delphi programmet når jeg læser det som bytes, har forsøgt.
Opgiver at begge programmer kan køre samme datafiler da jeg alligevel bliver nødt til at forøge størrelsen ud over hvad er mulig med det gamle DOS program.

Læg et svar så giver jeg point.

/Peter Z
Avatar billede arne_v Ekspert
21. marts 2014 - 00:46 #9
ok
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester