/ 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
Alternativ til "typed files" - findes der ~
Fra : Mathias


Dato : 25-10-05 18:17

Hej allesammen.
Jeg søger et alternativ til "typed files". Typed files er Delphis
indbyggede database system, fungerer sådan her:
type
PhoneEntry = record
FirstName, LastName: string[20];
PhoneNumber: string[15];
Listed: Boolean;
end;
PhoneList = file of PhoneEntry;
(taget fra Delphi Help)
Dette system er dog ikke brugbart for databaser med længere tekster -
for det første kan et tekst felt højst være på 255 karakterer, for
det andet bliver plads spildt når ikke al tekst pladsen bliver brugt
(f.eks. spilder man 10 bytes hvis man kun har skrevet "Hej med dig" i
et String[19] felt).
Er der et database format der f.eks. bruger null-terminated Strings til
tekst felter, så de kan være så lange som de vil, uden noget spild
plads ved korte strenge?
Gerne som *.pas (Delphi unit files).

// Mathias.


 
 
Henning Mogensen (25-10-2005)
Kommentar
Fra : Henning Mogensen


Dato : 25-10-05 18:30

Hej Mathias

Jeg har forsøgt nogle gange at bruge databaser. Jeg er gået over til at
bruge liste i stedet for (dur selvfølgelig kun til små databaser og den
bliver ikke relativ)
Jeg bruger LMDtools (http://www.lmd.de/). de har en liste hvor man laver
kolonner og linier (og de har en gratis version, ca 100 objecter). Og
dataene er nemme at tilgå:
setitempart(linienummer,kolonnenr,'Henning');
navn:=itempart(linienr,FirstName);

Henning M

"Mathias" <mathiasrav@gmail.com> skrev i en meddelelse
news:1130260603.343271.232340@g14g2000cwa.googlegroups.com...
Hej allesammen.
Jeg søger et alternativ til "typed files". Typed files er Delphis
indbyggede database system, fungerer sådan her:
type
PhoneEntry = record
FirstName, LastName: string[20];
PhoneNumber: string[15];
Listed: Boolean;
end;
PhoneList = file of PhoneEntry;
(taget fra Delphi Help)
Dette system er dog ikke brugbart for databaser med længere tekster -
for det første kan et tekst felt højst være på 255 karakterer, for
det andet bliver plads spildt når ikke al tekst pladsen bliver brugt
(f.eks. spilder man 10 bytes hvis man kun har skrevet "Hej med dig" i
et String[19] felt).
Er der et database format der f.eks. bruger null-terminated Strings til
tekst felter, så de kan være så lange som de vil, uden noget spild
plads ved korte strenge?
Gerne som *.pas (Delphi unit files).

// Mathias.



Mathias (25-10-2005)
Kommentar
Fra : Mathias


Dato : 25-10-05 20:30

Hej Henning.
Tak for dit hurtige svar.

Henning Mogensen wrote:
> Jeg har forsøgt nogle gange at bruge databaser. Jeg er gået over til at
> bruge liste i stedet for (dur selvfølgelig kun til små databaser og den
> bliver ikke relativ).
> Jeg bruger LMDtools (http://www.lmd.de/). de har en liste hvor man laver
> kolonner og linier (og de har en gratis version, ca 100 objecter). Og
> dataene er nemme at tilgå:
> setitempart(linienummer,kolonnenr,'Henning');
> navn:=itempart(linienr,FirstName);

Ser godt ud - men det skal helst være freeware uden begrænsninger, og
skal gerne du med mange data... Jeg ved godt, det er store krav, men
ellers tak! :)
Jeg leder dog efter 1) freeware 2) økonomisk mht. hukommelse.
// Mathias.


Uffe Kousgaard (26-10-2005)
Kommentar
Fra : Uffe Kousgaard


Dato : 26-10-05 06:21

"Mathias" <mathiasrav@gmail.com> wrote in message
news:1130260603.343271.232340@g14g2000cwa.googlegroups.com...

> Jeg søger et alternativ til "typed files". Typed files er Delphis
> indbyggede database system

Jeg har ikke før set "typed files" omtalt som en database, men med lidt god
vilje, så ja da.

Hvis du ikke har behov for at gemme dine records i en fil, så kan du bare
udskifte string[20] med string, så opnår du den ønskede effekt. Ellers
anvend en rigtig fil-baseret database, evt. kbmmemtable som er en database,
som gemmes i RAM.

Du kan også vælge at gemme et felt ad gangen i en TStringList, som er en
slags "array of string" med indbyggede metoder til at gemme til en "stream"
(f.eks. en fil).

Hvorfor er du bange for at spilde plads på for meget plads afsat til lange
strenge? Skal du arbejde med mange records?

hilsen
Uffe



Mathias (26-10-2005)
Kommentar
Fra : Mathias


Dato : 26-10-05 15:37


Uffe Kousgaard wrote:
> "Mathias" <mathiasrav@gmail.com> wrote in message
> news:1130260603.343271.232340@g14g2000cwa.googlegroups.com...
>
> > Jeg søger et alternativ til "typed files". Typed files er Delphis
> > indbyggede database system
>
> Jeg har ikke før set "typed files" omtalt som en database, men med lidt god
> vilje, så ja da.

Tja, i min go'e gamle Delphi bog er det altså databaser, sådan er min
opdragelse ô_o :).

> Hvorfor er du bange for at spilde plads på for meget plads afsat til lange
> strenge? Skal du arbejde med mange records?

Tja. Jeg er stadig ved at lære at programmere, og selvom jeg ved en
del, følger min database viden ikke ved. Jeg skal ikke bruge det til
noget stort program, jeg er bare træt af ting der sluger disk plads og
memory. Jeg kører altid mindst 60 processer af gangen, allesammen
bruger jeg, og jeg gør hvad jeg kan for at rydde op i det.
Jeg er økologisk når det kommer til hukommelse og harddisk plads. Så
jeg vil gerne vide alt hvad vides kan om at spare på hukommelsen.
Jeg vil gerne lave en slags database der skal kunne holde mange data
på samme tid,
- jeg søger et _simpelt system_ der er bedre end Delphi's fixede
"typed files".

Mvh. Mathias.


Uffe Kousgaard (27-10-2005)
Kommentar
Fra : Uffe Kousgaard


Dato : 27-10-05 10:53

"Mathias" <mathiasrav@gmail.com> wrote in message
news:1130337391.607381.148280@g47g2000cwa.googlegroups.com...

> Jeg er økologisk når det kommer til hukommelse og harddisk plads. Så
> jeg vil gerne vide alt hvad vides kan om at spare på hukommelsen.

Din økologiske holdning går til gengæld ud over CPU'en som kommer på ekstra
arbejde, da fast feltbredde er det nemmeste og hurtigste at arbejde med.

Hverken hukommelse, harddisk eller CPU lader til at være en begrænset
resource, så i dit tilfælde, så det kan egentlig være ligegyldigt. Men hvis
du har strenge af meget varierende længde, så kig på TStringList.

hilsen
Uffe



Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste