/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Læse fil skrevet af Turbo 5.5 med Delphi 6~
Fra : skafte


Dato : 15-10-02 18:52

Jeg har en del filer (de består af records fra en hægtet liste, skrevet
til disken med write(filnavn,recordnavn)) skrevet med turbo 5.5 Efter at
have læst tippet på denne side omkring en unit der gør det muligt at
køre mine gamle programmer i delphi (med udnyttelse af hele hukommelsen)
mangler jeg nu kun løsningen på at læse de gamle filer med Delphi 6.0
Det ser ud som om den samme record fylder 4 byte mere i Delphi, er det
rigtigt ? Jeg kan naturligvis i turbo5.5 konvertere alle filerne til txt
filer og så læse dem ind med Delphi også skrive dem derfra igen. Men er
der ikke en lidt lettere måde, det drejer sig om mange hundrede filer.
Programmet bruges til lagerstyring i et firma der handler med fadøl og
sodavand.

Venlig hilsen

Peter Skafte

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


 
 
Harald (15-10-2002)
Kommentar
Fra : Harald


Dato : 15-10-02 18:56

"skafte" <skafte.news@kandu.dk> skrev i en meddelelse
news:hrYq9.108531$Qk5.4814875@news010.worldonline.dk...
> Jeg har en del filer (de består af records fra en hægtet liste, skrevet
> til disken med write(filnavn,recordnavn)) skrevet med turbo 5.5 Efter at
> have læst tippet på denne side omkring en unit der gør det muligt at
> køre mine gamle programmer i delphi (med udnyttelse af hele hukommelsen)
> mangler jeg nu kun løsningen på at læse de gamle filer med Delphi 6.0
> Det ser ud som om den samme record fylder 4 byte mere i Delphi, er det
> rigtigt ?

Kan det ikke være fordi du har nogle Real typer, en Real i turbo fylder 6
byte i Delphi 6 fylder den 8 byte. Brug real48 i stedet eller brug
{$REALCOMPATIBILITY ON}

Mvh
HK



Carsten Bager (15-10-2002)
Kommentar
Fra : Carsten Bager


Dato : 15-10-02 21:07

Harald wrote:

>"skafte" <skafte.news@kandu.dk> skrev i en meddelelse
>news:hrYq9.108531$Qk5.4814875@news010.worldonline.dk...
>
>
>>Jeg har en del filer (de består af records fra en hægtet liste, skrevet
>>til disken med write(filnavn,recordnavn)) skrevet med turbo 5.5 Efter at
>>have læst tippet på denne side omkring en unit der gør det muligt at
>>køre mine gamle programmer i delphi (med udnyttelse af hele hukommelsen)
>>mangler jeg nu kun løsningen på at læse de gamle filer med Delphi 6.0
>>Det ser ud som om den samme record fylder 4 byte mere i Delphi, er det
>>rigtigt ?
>>
>>
>
>Kan det ikke være fordi du har nogle Real typer, en Real i turbo fylder 6
>byte i Delphi 6 fylder den 8 byte. Brug real48 i stedet eller brug
>{$REALCOMPATIBILITY ON}
>
>Mvh
>HK
>
>
>
>

Du skal også regne med at 8 og 16 bits variabler fylder 32 bit i delphi
(32) ,
dog kan kan man skrive

-------------------------------------------------------------
type
Word16= word; {16 bit word}
Word32= LongWord; {32 bit Word}

Integer8= ShortInt; {8 bit integer}
Integer16= smallInt; {16 bit integer}
Integer32= LongInt; {32 bit Integer}
Int8= ShortInt; {8 bit integer}
Int16= smallInt; {16 bit integer}
Int32= LongInt; {32 bit Integer}

min_type = packed record {Packed betyder at der kun bruges 8 bit
til en byte osv.}
b1:byte;
i1:integer16;
end;

Mvh
Carsten


skafte (16-10-2002)
Kommentar
Fra : skafte


Dato : 16-10-02 06:49

"Carsten Bager" skrev d. 15-10-02 21:07 dette indlæg :
> Harald wrote:
>
> >"skafte" <skafte.news@kandu.dk> skrev i en meddelelse
> >news:hrYq9.108531$Qk5.4814875@news010.worldonline.dk...
> >
> >
> >>Jeg har en del filer (de består af records fra en hægtet liste,
skrevet
> >>til disken med write(filnavn,recordnavn)) skrevet med turbo 5.5
Efter at
> >>have læst tippet på denne side omkring en unit der gør det muligt at
> >>køre mine gamle programmer i delphi (med udnyttelse af hele
hukommelsen)
> >>mangler jeg nu kun løsningen på at læse de gamle filer med Delphi
6.0
> >>Det ser ud som om den samme record fylder 4 byte mere i Delphi, er
det
> >>rigtigt ?
> >>
> >>
> >
> >Kan det ikke være fordi du har nogle Real typer, en Real i turbo
fylder 6
> >byte i Delphi 6 fylder den 8 byte. Brug real48 i stedet eller brug
> >{$REALCOMPATIBILITY ON}
> >
> >Mvh
> >HK
> >
> >
> >
> >
>
> Du skal også regne med at 8 og 16 bits variabler fylder 32 bit i
delphi
> (32) ,
> dog kan kan man skrive
>
> -------------------------------------------------------------
> type
> Word16= word; {16 bit word}
> Word32= LongWord; {32 bit Word}
>
> Integer8= ShortInt; {8 bit integer}
> Integer16= smallInt; {16 bit integer}
> Integer32= LongInt; {32 bit Integer}
> Int8= ShortInt; {8 bit integer}
> Int16= smallInt; {16 bit integer}
> Int32= LongInt; {32 bit Integer}
>
> min_type = packed record {Packed betyder at der kun bruges 8
bit
> til en byte osv.}
> b1:byte;
> i1:integer16;
> end;
>
> Mvh
> Carsten
>
Kære Carsten

Mange tak for et glimrende svar, real48 samt packd record løste
problemet straks.
Enu en gang tak det var meget lættere end at oversætte det hele.

Venlig hilsen

Ølhandler
Peter Skafte

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


Søg
Reklame
Statistik
Spørgsmål : 177495
Tips : 31968
Nyheder : 719565
Indlæg : 6408489
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste