Toon posts:

[Delphi] opslaan als....

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoe slaan jullie jullie je data op? Dan bedoel ik wel als in je eigen
programma (niet in de ide).
Ik doe wel eens wat in txt fiels maar dan als string. Dus de data kan makkelijk worden geedit. Ik zou wel eens wat meer willen weten over het goed en snel oplsaan.

Verwijderd

wat voor taal heb je het over?

Verwijderd

Er specifiek ben je niet nee. Je kan je data natuurlijk op tal van manieren opslaan.
In een database, als plain text files, als geencrypte data, enz. enz.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

xml, eigen binary formaat, database, ini, registry, in de exe zelf, met of zonder compressie en versleuteling

welke taal heb je het over? dan kunnen we een beter advies geven :)

[ Voor 0% gewijzigd door LordLarry op 17-09-2002 21:59 . Reden: typo ]

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

Topicstarter
sorry dat was ik idd ff vergeten, delphi is de taal.
En het liefst zou ik bijv een matrixje of een object oplsaan. En dan neit in plain text.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Je kan een record binair opslaan bijvoorbeeld

We adore chaos because we like to restore order - M.C. Escher


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Ik kijk gewoon wat ik qua toepassing het handigst vind. Op dit moment ben ik bezig met een project waarbij een hele berg data opgelsagen wordt, en daarvoor gebruik ik gewoon een binair bestand (schrijf ik wel byte voor byte weg omdat het programma straks ook op een ander systeem moet gaan draaien wat een andere endian heeft :) ).. Maar als ik tekst weg moet schrijven schrijf ik gewoon tekst weg. Niet moeilijk doen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Ik gebruik over het algemeen XML of een relationele database (hangt uiteraard sterk af van de toepassing welke van de twee).

XML is handig omdat je kunt abstraheren van irrelevante opslag details en je makkelijk allerlei tools en libraries kunt gebruiken (zoals voor een validatie van een formaat of een transformatie naar XHTML). Het zorgt hierdoor over het algemeen door een efficiente en met name zekere manier van werken. Alle voordelen van XML zijn hier al regelmatig besproken, dus zoek maar even als je daar meer over wilt weten :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 31-03 16:47

CyberSnooP

^^^^ schrijft --->

Een eenvoudig formaat zoals een matrix sla je op door alle gegevens over die matrix vast te leggen op een manier die je weer kunt uitlezen.
Je moet (in het geval van een 2 dimensionale) de breedte en de hoogte opslaan. (een van die 2 kun je eventueel concluderen uit het aantal opgeslagen waarden. Vervolgens som je elk van die waarden op.

Hoe je dat wilt doen staat je volkomen vrij, alleen getallen als een string als "12" opslaan is erg inefficient. Je kunt dit beter binair doen, dus het getal 12 opslaan als Karakter 12 in de ASCII tabel. Ook grotere getallen kun je op zo'n manier opslaan, alleen heb je dan meerdere bytes per waarde nodig.

Het is echt onwijs afhankelijk van je toepassing (is dat al gezegd? :)). XML is, in mijn ogen, voor een serie getallen een slechte keuze. XML verteld je bijvoorbeeld per element over welk element we het hebben etc.. terwijl je dat heel goed van te voren weet.

Snel en goed opslaan komt er dus op neer dat je specifiek voor jou gegevens opzoek gaat naar de mogelijkheden. Noem eens wat meer voorbeelden van gegevens die je zou willen opslaan, dan kunnen we daarover misschien meer tips geven.

|_____vakje______|


  • Stephan Oudmaijer
  • Registratie: Oktober 2000
  • Laatst online: 16-08-2023
XML

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 21:01

.oisyn

Moderator Devschuur®

Demotivational Speaker

wat voor data heb je het over? program settings of gewoon een applicatie die bestanden kan openen/wegschrijven?

Voor program settings gebruik ik het win32 registry (wat ook de bedoeling van de registry is ;)), en voor bestanden gebruik ik altijd een binair formaat (dat load/saved makkelijk, vooral als de data niet bestaat uit tekst zoals bijvoorbeeld plaatjes of 3d models)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • whoami
  • Registratie: December 2000
  • Nu online


Als je een antwoord geeft, mag moet je dat wel altijd onderbouwen hoor.

Ikzelf gebruik voor configuratiesettings enzo altijd de registry.
Gegevens sla ik in 99% van de gevallen op in een rdbms. Dit hangt natuurlijk af van het soort gegevens.
Als ik een administratieprogramma ofzo maak, worden de gegevens in een databank opgeslagen.
Loggings schrijf ik naar een txt-bestand.

Kortom, het opslaan van de gegevens hangt gewoon af van de gegevens zelf en van het type applicatie dat je maakt.

https://fgheysels.github.io/


  • Killemov
  • Registratie: Januari 2000
  • Laatst online: 17-08 12:12

Killemov

Ik zoek nog een mooi icooi =)

Ehm, in Delphi kun je nog steeds de goeie ouwe records gebruiken. Druk daarvoor maar eens op F1. Het is echter wel een trend om gegevens in een XML(-achtige)-constructie op te slaan.

Hey ... maar dan heb je ook wat!


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Maar de topic starter vind het, als ik het goed begrijp, vervelend dat zn gegevens dan zo makkelijk leesbaar zijn en makkelijk aan te passen buiten het programma om. XML enzo vallen dan al af. iig zonder compressie/encryptie

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

Ik ben nu bezig met een klein programma, wat een aantal dingen nodig heeft tijdens het runnen. Omdat het op de meest simpelste computers moet draaien, heb ik gekozen om het op de slaan in INI files.

Ik gebruik ook Delphi en die INI file functies (bv ReadString enz.) zijn erg handig en je hoeft er zelf niet veel voor te doen.
ehm..., mag ik misschien vragen hoe je enige data in de programma (exe) kunt opslaan. Of bedoel je het op design-time?

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:12

Creepy

Tactical Espionage Splatterer

* Creepy wil ook nog wel eens "good-old" ini bestanden gebruiken..... met als reden dat dat van "buiten af" of remote een stuk makkelijk is aan te passen.
Maar is inderdaad puur afhankelijk wat je wil opslaan en wat je er mee gaat doen.

Dat "het een trend is" om gegevens in in een bepaald formaat op te slaan.. pff.. ik ben programmeur, geen marketing medewerker die een programma moet gaan promoten met een paar termen die lekker in de oren klinken ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 21:01

.oisyn

Moderator Devschuur®

Demotivational Speaker

Creepy schreef op 18 september 2002 @ 20:17:
Dat "het een trend is" om gegevens in in een bepaald formaat op te slaan.. pff.. ik ben programmeur, geen marketing medewerker die een programma moet gaan promoten met een paar termen die lekker in de oren klinken ;)


maar je hoeft niet van een bestaande standaard gebruik te maken om te marketen... je kunt net zo goed op de verpakking zetten
"Slaat op in het geweldige CREEPY formaat"
geen zak die weet wat dat formaat is, maar het staat wel goed :P

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 21:18

Tomatoman

Fulltime prutser

In de exe gegevens opslaan vind ik een erg slecht idee. Veel virusscanners slaan in zo'n geval alarm, alleen weet je vooraf nooit wanneer. En terecht, want meestal zijn het virussen die een executable modificeren! Er zijn duizenden bestandformaten en dan kies je precies dát bestandsformaat dat absoluut niet bedoeld is voor de opslag van data.

Over het algemeen kun je tijdens het ontwikkelen van een programma het beste in een zeer eenvoudig tekstformaat je gegevens opslaan. Dat vereenvoudigt het debuggen aanzienlijk. Heel geschikt daarvoor zijn .txt, .ini en voor tabellen (via een ClientDataSet) .xml. Tegen de tijd dat je applicatie in de eindfase van de ontwikkeling komt, kun je eventueel een heel ander (binair) bestandsformaat kiezen.

Objecten kun je trouwens heel gemakkelijk wegschrijven en weer teruglezen via de standaard streaming mechanismen van Delphi. Alles wat public of published is, wordt by default gestreamd, alles wat private of protected is niet. Zie de help topics 'RegisterClass procedure', 'streaming utilities' en het voorbeeld bij 'TMemoryStream'.

Een goede grap mag vrienden kosten.


  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 31-03 16:47

CyberSnooP

^^^^ schrijft --->

.oisyn schreef op 18 september 2002 @ 20:36:
geen zak die weet wat dat formaat is, maar het staat wel goed :P
offtopic:
Ik snap dat je post als grapje is bedoeld, maar toch ff serieus:

Ik ben van mening dat XML tegenwoordig in sommige markten wel een overdreven Hype is. Hoewel het natuurlijk aardig is dat de files in een goeie standaard worden opgeslagen die je eventueel met externe tools kunt benaderen / converteren of wat dan ook is dat in veel gevallen totaal niet nodig. Dan nog schijnt het de moeite te lonen om XML als bestandsformaat te kiezen, puur om marketing redenen.

En zie hier een punt wat me niet bevalt aan XML, het zegt namelijk verrekte weinig. Ik kan zo ongeveer elk progsel XML compatibel maken door gewoon om de (waarschijnlijk binaire) file inhoud <myprogdata> en </myprogdata> te plaatsen.

|_____vakje______|


  • whoami
  • Registratie: December 2000
  • Nu online
CyberSnooP schreef op 18 september 2002 @ 21:33:
[...]

offtopic:
Ik snap dat je post als grapje is bedoeld, maar toch ff serieus:

Ik ben van mening dat XML tegenwoordig in sommige markten wel een overdreven Hype is. Hoewel het natuurlijk aardig is dat de files in een goeie standaard worden opgeslagen die je eventueel met externe tools kunt benaderen / converteren of wat dan ook is dat in veel gevallen totaal niet nodig. Dan nog schijnt het de moeite te lonen om XML als bestandsformaat te kiezen, puur om marketing redenen.

En zie hier een punt wat me niet bevalt aan XML, het zegt namelijk verrekte weinig. Ik kan zo ongeveer elk progsel XML compatibel maken door gewoon om de (waarschijnlijk binaire) file inhoud <myprogdata> en </myprogdata> te plaatsen.


Idd, XML is mooi, maar (en dat zie je ook op P&W), veel mensen kiezen dikwijls voor XML of willen hun applicatie XML-enabled maken gewoon omdat XML tegenwoordig in schijnt te zijn.
Ikzelf heb nog maar een of twee apps geschreven die gebruik maakten van xml.

https://fgheysels.github.io/


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:12

Creepy

Tactical Espionage Splatterer

Ik ben bezig met aan app. waarin we XML (gaan) gebruiken omdat de SCORM standaard daar weer gebruik van maakt. En we zijn er over aan het denken om onze opslag ook in XML te doen i.p.v. in een lokale database, zodat we "makkelijker" ons produkt in de toekomst wat minder platform afhankelijk kunnen maken..

En het CREEPY formaat IS geweldig! :Y)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Verwijderd schreef op 18 september 2002 @ 20:14:
ehm..., mag ik misschien vragen hoe je enige data in de programma (exe) kunt opslaan. Of bedoel je het op design-time?
Nee, het kan ook runtime. Maar zoals al gezegt werd is het niet echt verstandig.

We adore chaos because we like to restore order - M.C. Escher

Pagina: 1