/ 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
Dynamiske arrays og filer
Fra : Simon Hiort-Lorenzen


Dato : 15-04-02 15:18

Hej,

Jeg har den her struktur som jeg gerne vil gemme i en fil (og hente igen
naturligvis):

type
TNewsGroupList = record
MsgLow : array of Cardinal;
MsgHigh : array of Cardinal;
NewsGroups : array of string[255];
NewsGroupType : array of byte;
end;

Men jeg kan ikke bare sige fil : file of TNewsGroupList fordi der er
dynamiske arrays i strukturen. Hvordan gør jeg så? Jeg bruger D5 Std.

Mvh.
Simon



 
 
David A. D. Konrad (15-04-2002)
Kommentar
Fra : David A. D. Konrad


Dato : 15-04-02 15:40

"Simon Hiort-Lorenzen" <bulk@SPAMSOMEONEELSEhilo.dk> skrev i en meddelelse

> type
> TNewsGroupList = record
> MsgLow : array of Cardinal;
> MsgHigh : array of Cardinal;
> NewsGroups : array of string[255];
> NewsGroupType : array of byte;
> end;
>
> Men jeg kan ikke bare sige fil : file of TNewsGroupList fordi der er
> dynamiske arrays i strukturen.

Det siger imho sig selv. Når der er dynamiske arrays er der ingen mulighed
for at allokere plads til de enkelte records, og dermed kan man ikke søge
frem eller tilbage i filen sekventielt.

>Hvordan gør jeg så? Jeg bruger D5 Std.

Istedet for at have *hele* dit newsgroup-hieraki i én record, bør du
naturligvis splitte den op i mindre logiske enheder. Hvorfor ikke blot en
fil der består af records, hvor hver record er lig med een gruppe. Du kan så
gemme, hente eller redigere de enkelte records, og samle dem i en senere i
et dynamisk array, der indenholder samtlige records, eller dem der nu er
valgt...F.eks sådan her :

const
NewsgroupTypeSize = 128;
type
TNewsgroupType = array[1..NewsgroupTypeSize] of byte;

TNewsgroupItem = record
MsgLow : Cardinal;
MsgHigh : Cardinal;
Newsgroup : shortstring;
NewsgroupType : TNewsgroupType;
end;

TNewsGroupItemFile = file of TNewsGroupItem;

TNewsGroupList = array of TNewsgroupItem;





Simon Hiort-Lorenzen (15-04-2002)
Kommentar
Fra : Simon Hiort-Lorenzen


Dato : 15-04-02 18:18

"David A. D. Konrad" <david_konrad@hotmail.com> wrote in message
news:a9eo87$6ot$1@sunsite.dk...
> Istedet for at have *hele* dit newsgroup-hieraki i én record, bør du
> naturligvis splitte den op i mindre logiske enheder. Hvorfor ikke blot en

Tak...

Simon



Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste