AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein welches Datei-Speicherformat/Datei-Modus
Thema durchsuchen
Ansicht
Themen-Optionen

welches Datei-Speicherformat/Datei-Modus

Ein Thema von Coder · begonnen am 2. Jun 2004 · letzter Beitrag vom 20. Dez 2004
Antwort Antwort
Benutzerbild von Coder
Coder

Registriert seit: 27. Feb 2004
Ort: Bochum
203 Beiträge
 
Delphi 3 Professional
 
#1

welches Datei-Speicherformat/Datei-Modus

  Alt 2. Jun 2004, 18:20
(Verzeiht, eigentlich ist das ein VB Projekt, aber ich finde, die Lösung des Problems kann in delphi od VB gleich umgesetzt werden. Wenn VBler eine konkrete Idee haben: => gerne)

Ich muß eine kleine, textbasierte Datenbank. (ca. max 500 Rezepte/Datensätze) erstellen.
D.h. man muß sie mit notepad editieren können..

mhh, nun ja, vielleicht ist "Datenbank" nicht das richtige Wort..

eher "Speicherformat".

Rezepte sollen später (bei nächster Verordnung) wieder geladen und abgeändert werden können.

Theoretisch könnte man (wie es vorher war) weiterhin die Rezepte separat in einer Datei speichern.
(für jedes 1 Datei)
Nur dachte ich hat man bei solchen Dateigrößen von ca. 400 BYTE pro Rezept (incl. PatDaten+aller Tees) eine ziemliche Platzverschwendung und ein Durcheinander, weil der der MS OpenDialog ja nicht gerade die Übersicht bietet - mit seinen 6x3(oder weniger je nach Name) angezeigten Dateien.
Und dann ist die Frage: wie unterscheide ich die Rezepte? Anhand des PatNamens, Datums (=> Dateinamenlänge wird unübersichtlich)
Das Problem hätten die gerne gelöst.
und das man dann nicht doppelt speichert (kam vor)

Da dachte ich, ich speichere alles in einer (1) Datei. (max. 200 KB)
Dann kann man in einem Rutsch alles lesen/scannen und dann per append wieder abspeichern (weil Hash und RP-Nummer das jeweilige Rezept identifizieren).

Alte Rezepte "ab einem bestimmten Datum" werden aus der Datei entsorgt (nur die letzten 3 pro Pat) und notfalls extern gesichert.
Somit bleibt die Datei schön klein und bei - ich denke max 500 (in der Praxis pro Jahr 300 Rezepten) (ca 400 Byte * 300 Pat = 120 KB)
Das sollte handhabbar sein.

Nun war eben nur meine Frage, mit welchem Modus ich die zum lesen/schreiben öffne und möglichst schnell lese.
ein direktes Suchen in den Datensätzen nach Einzelheiten wie in einer richtigen Datenbank ist nicht notwendig.
Nur die Rezepte sollten den PatNamen zuordbar sein.
-----------

Mein vorgeschlagenes Format (Reihenfolge) und relevante Daten


Format/Daten: (für zwei aufeinanderfolgende gesp. Datensätze)
Nr 1,RezCRC, PatCRC, Nachname, Vorname, Geschlecht, Adresse, Plz, Ort, Gebdat, RezDatum, Tee1, tee2, tee3..
Nr 2,RezCRC2, PatCRC2, Nachname2, Vorname2, Geschlecht, Adresse2, Plz2, Ort2, Gebdat2, RezDatum2, Tee1a, tee2a, tee3a..


Legende:
-Tee1= TeeNummer(aus Liste)+TeeName+Gramm(verordnete)
-Geschlecht= 1 od. 2; (= m/w) ;für Anrede
-PatCRC - muß nicht, - aber dann kann man die Pat besser auseinander halten
(CRC= CRC32 Summe)
-eigentlich könnte man die Daten der Patienten (Name Addr, Geb) durch eine Nummer (od. Hash) ersetzen - doch mir ist lieber, daß die Daten vollständig zum Rezept zugeordnet werden können.
-----------

Wichtig ist eben die volle Einsehbarkeit und Editierbarkeit mit Notepad (denken wir mal die 64k Grenze weg).

So, -
Was meint Ihr - ist das Format in Ordnung?
- Evtl könnte ich die PatientenDaten zusätzlich in einer ExtraDatei speichern und nachfolgend die neugespeicherten RezeptNummern dort für jeden speichern+ einlesen.
- jmd hatt die Idee, das im XML-Stil zu speichern... doch damit kenne mich mich nicht aus und jmd anders meinte, dies sei auch zu umständlich

Dann die zweite entscheidende Frage:
Wie speichere ich das ganze:
a) "sequentiell" mit:
öfnnen zum Lesen, ob RezCRC/Pat-CRC vorhanden, - dann
Speichern:
Print #1, PatDaten, ... , Datum, Teedaten, "ENDE_Rp": ' (Datei) pro Datensatz

_____
und lese (zum LADEN) das ganze ab einer gefundenen RezCRC/Pat/Datum jeweils bis "ENDE_Rp" (Pro Datensatz wieder aus)

b) im "Pseudo"-Binary/Random Modus:
(erst nach vorh./doppelter CRC in Datei scannen), dann SPEICHERN:
Strg$="?"+PatDaten+ ... + Datum+"?"Teedaten+"?" '(Pro Datensatz)
Print #1, Strg$
____
und dann zum Lesen wieder:
Line input, #1, Zeile$
und dann - entweder:
1) Sign1=instr(1,Zeile,i): Sign2=instr(1,Zeile,i+Sign1): A=MID$(Zeile,Sign,Sign2), :
oder:
2) oder for x.... : A=MID$(Zeile,x,1), If A='(?)' then: extract_Name_wenn_B_auch-so_ermittelt

UND Welche Trennzeichen verwende ich?
z.B. "«®»░▒▓█@ø♀♫"
die müßten eindeutig sein.. (in den Daten kommen eigentlich nur Zahlen und Normale Buchstaben, ok, evtl. mal ein 'á' oder vielleicht ein türk. 'Ç' (SEEEEHR selten)) aber an sonsten nichts außergewöhnliches.
und es wäre gut, wenn man sie mit Notepad/Word und einer SystemSchrift (Terminal/Verdana/TimesNR o.ä. erkennen und mit ALT+64) einsetzen könnte.
- Evlt kann ich auch nach 2 aufeinanderfolgenden Zeichen SUCHEN, sollten sich keine eindeutigen, leichten finden lassen.


Ach ja: ich weiß das VB wunderbare und effizientere Datenbanken mitbringt..
u.a. auch eine textbasierte DAO(?) Verwaltung.
aber die wollen wenig Müll und Veränderungen auf ihrem System.
Daher bitte ich, nur auf die oben genannten Daten einzugehen.


Ich hoffe, Ihr habt verstanden, was ich meine und habt Ideen:
1. Format ok?
2. welches Format Schreiben/Lesen / welcher Datei-Modus (Sequ/String m. Lineinput)
3. Trennzeichen zum Parsen des Strings
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: welches Datei-Speicherformat/Datei-Modus

  Alt 2. Jun 2004, 18:24
Schon mal an Ini-Dateien gedacht? bei geringen Datenmengen, kann man selbige durchaus als DB missbrauchen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#3

Re: welches Datei-Speicherformat/Datei-Modus

  Alt 20. Dez 2004, 18:10
Aber bei INIs kann man keine Indizes zum sortieren verwenden
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#4

Re: welches Datei-Speicherformat/Datei-Modus

  Alt 20. Dez 2004, 18:27
ich würd mir die typisierten dateien von delphi zu nutze machen...
"Dunkel die andere Seite ist"
"Yoda! Halts Maul und iss deinen Toast!"
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz