Autor |
Beitrag |
majolo
      
Beiträge: 334
Ubuntu 8.04, WinXP Prof.
D1, D6Pers, D7 Prof., D8 Prof., D2005 Pers
|
Verfasst: Sa 14.09.02 18:02
Hi Leute,
ich benutze für mein eigenes Format *.lgd die INI Schreibroutinen.Habe lediglich die Endung geändert.Nun habe ich eine Frage: Kann dann dieses Format, das genauso aufgebaut ist, wie die INI-Datei nur mit eigenem Namen, mehr als 64KB speichern?Oder weiß einer eine andere Lösung wie ich ein eigenes großes Dateiformat realisieren kann?
Danke im vorraus
Gruß
majolo
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Sa 14.09.02 18:24
Wenn du die INI-Routinen verwendest, sind die Dateien auch INI-Dateien. Die Dateierweiterung ist nichts als eine Information für den Benutzer, der aber ncihts über den Inhalt aussagt. Du kannst ja schließlich eine Text-Datei auch .doc nenen, ein Word-Dokument wird sie dadurch noch lange nicht.
Es gelten also die gleichen Einschränkungen und Features, die auch für INI-Dateien gelten.
Wie du ein eigenes großes Dateiformat realisieren kannst, weiß ich auf die schnelle auch nciht. Ich würde aber eine binäre Datei vorschlagen, die meines Wissens auf 2GB begrenzt ist. Darin kannst du dann alle Infos schreiben, die du brauchst. Aber dann musst du alles selbst machen, also auch routinen schreiben, die die Infos sortieren, auslesen, schreiben und verwalten. Ziemlich großer Aufwand, würde ich sagen. Zumindest, wenn sie genauso funktionieren sollen wie INI-Dateien, nämlich mit Sections und kleineren Einträgen.
Sinnvoll wäre es vielleicht die INIs aufzusplitten. Ich weiß nicht, für welchen Zweck du es brauchst, aber wenn du mehrere Übergeordnete Strukturen hast, kannst du für jede eine extra INI-Datei nehmen...
Tschüß
Thomas
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
LCS
      
Beiträge: 1305
Erhaltene Danke: 1
WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
|
Verfasst: Sa 14.09.02 18:30
Hi majolo
wie tommie-lie schon geschrieben, ist da mit INI-Dateien net viel zu machen. Aber für was willst du das eigentlich verwenden? Mit INI-Dateien kannst du ja eigenlich nur einzelne Werte speichern. Wenn du davon so viele hast, dass 64KB nicht mehr ausreichen, gäbs ja noch die Möglichkeit mit Datenbanken zu arbeiten.
Gruss Lothar
_________________ Der BH ist für die Brust, der Plan ist für'n Ar...
|
|
majolo 
      
Beiträge: 334
Ubuntu 8.04, WinXP Prof.
D1, D6Pers, D7 Prof., D8 Prof., D2005 Pers
|
Verfasst: Sa 14.09.02 20:49
Ja, das ganze in Datenbanken zu schreiben habe ich auch schon gedacht.Ich überlege noch.Die Ini soll eigentlich nur zum Zwischenspeichern dienen.Die Ini Schreibroutinen gefallen mir wie gesagt ganz gut und sind leicht zu realisieren.Danke für die Antworten.Ich werde noch mal die Datenbanken überdenken und dann noch mal posten.
Gruß
majolo
|
|
Klabautermann
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: Sa 14.09.02 22:19
Hallo,
ich habe es zwar noch nicht getestet aber soviel ich weis können Dateien bei tMemIniFile wesentlich größer werden.
Gruß
Klabautermann
|
|
majolo 
      
Beiträge: 334
Ubuntu 8.04, WinXP Prof.
D1, D6Pers, D7 Prof., D8 Prof., D2005 Pers
|
Verfasst: So 15.09.02 17:18
@Klabautermann: Kannste mir das mal eventuell genauer erläutern???
majolo
|
|
Klabautermann
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: Mo 16.09.02 12:54
Hallo,
majolo hat folgendes geschrieben: | @Klabautermann: Kannste mir das mal eventuell genauer erläutern??? |
klar. Als neben tIniFile gibt es auch tMemIniFile. Dieses funktioniert änhlich wie tINIFile, nur das nicht jede änderung sofort in die Datei gespeichert wird. Dazu mus man tMemIniFile.UpdateFile aufrufen.
Mit diesem Objekt habe ich grade Experimentell ein INI-File mit über 1 MB erzeugt. Es gibt also keine 64 kB Grenze. Das Beispielprojekt kannst du dir runterladen.
Gruß
Klabautermann
|
|
majolo 
      
Beiträge: 334
Ubuntu 8.04, WinXP Prof.
D1, D6Pers, D7 Prof., D8 Prof., D2005 Pers
|
Verfasst: Mo 16.09.02 18:02
Danke Klabautermann.Werde es gleich mal ausprobieren.
Gruß
majolo
|
|
majolo 
      
Beiträge: 334
Ubuntu 8.04, WinXP Prof.
D1, D6Pers, D7 Prof., D8 Prof., D2005 Pers
|
Verfasst: Mo 16.09.02 19:10
Code funzt wunderbar. Das ist echt genial.Kann die INI so unbegrenzt groß sein?
Gruß
majolo
|
|
Klabautermann
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: Mo 16.09.02 19:15
Hallo,
majolo hat folgendes geschrieben: | Code funzt wunderbar. Das ist echt genial.Kann die INI so unbegrenzt groß sein? |
unbegrenst ist gar nichts. Aber ich schätze sie kann so groß werden, das die Schreibzeit entsätzlich langsamm wird. So das du in dem Falle nach einer Alternative suchst bevor du an die maximale Dateigröße stößt. Ein GB sollten drin sein (genau, ich kenne die Maximale größe auch nicht  ).
Du kannst mit dem Demo Programm ja Experimentieren. Da kanst du die Anzahl der Einträge ja festsetzen.
Gruß
Klabautermann
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Mo 16.09.02 20:18
Hallo,
Die maximalgröße einer einzigen Datei ist durch eine uralte FAT-Beschränkung immer noch drin und beträgt exakt 2GB (2048MB, usw.).
Sie lßt sich meines Wissens auch nicht umgehen. Aber eine Alternative wäre es, die Datei wenn's größer wir din zwei Dateien aufzuteilen. Aber um 2GB mit Text vollzuschreiben, braucht man jede Menge Text... (und vielleicht noch mehr  )
Ob es bei Linux oder Mac auch so ist, weiß ich nicht, aber zumindest MS schleppt dieses Manko seit mindestens 15 Jahren mit sich rum.
Tschüß
Thomas
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
majolo 
      
Beiträge: 334
Ubuntu 8.04, WinXP Prof.
D1, D6Pers, D7 Prof., D8 Prof., D2005 Pers
|
Verfasst: Mo 16.09.02 20:26
Ich glaube 2 GB reichen locker.Tja das Microsoft diesen Sch.... immer noch nicht geändert hat ist wirklich schlimm.Die müssten es doch eigentlich auch mal geschnallt haben,dass das überflüssig ist, es sei denn se gibt tatsache sinvolle Funktionen der Beschränkungen.
Gruß
majolo
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Mo 16.09.02 20:30
Eine sinnvolle Funktion gibt es bei MS wohl in keinster Weise. Zumindest ist mir noch keine über den Weg gelaufen.
Aber die Beschränkung hat irgendwie etwas mit der FAT zu tun (also der Tabelle, die den Standort der Dateien enthält) und wie die Werte darin gespeichert werden. Ich glaube das das die gleiche Beschränkung wie damals bei den 2GB-Festplatten war, die MS ja durch eine zusammengeschusterte Notlösung behoben hat, nämlich eine zweite FAT, die einfach die erste Erweitert (FAT32) und so den Zugriff auch große HDDs erlaubte. Auf jeden Fall ist diese Beschränkung im FAT-FS drin, wie's bei den anderen (NTFS, HPFS, ext, ReiserFS, ...) aussieht, müsste ich nachlesen.
Tschüß
Thomas
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
majolo 
      
Beiträge: 334
Ubuntu 8.04, WinXP Prof.
D1, D6Pers, D7 Prof., D8 Prof., D2005 Pers
|
Verfasst: Mo 16.09.02 21:13
Ja, 2GB Platten.Ich errinere mich. ich hatte mal einen Compaq PC mit ner 2 GB Platte.Schon ein paar Jahre her. Als ich dann ein 15 GB Platte einbauen wollte, das war ein Aufwand.Hat mich viel Zeit und Nerven gekostet
majolo
|
|
Zufall001
Hält's aus hier
Beiträge: 10
Windows, Linux
Delphi 7, C#
|
Verfasst: Di 17.09.02 09:50
Die Verwendung von INI-Dateien - egal welcher Größe - ist nur bedingt anzuraten. Es ist zwar schön einfach zu verwenden, doch wenn es um Geschwindigkeit oder Netzwerkfähigkeit geht überhaupt nicht zu gebrauchen. Spätestens wenn Du eine Sortierung oder Suche auf den Daten machen möchtest ist Schluß mit Lustig. Da ist eine DB doch vergleichbar einfach zu erstellen und alle Funktionen, die ich brauche, sind schon vorhanden.
Gruß
Rainer
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Di 17.09.02 15:07
Da het er zufällig  recht.
Textdateien werden ab bestimmten Größen einfach unbrauchbar, nicht weil man sie nciht mehr lesen oder schreiben kann, sondern weil sie viel zu viel Aufwand beim Suchen, Ordnen, sortieren etc. machen. Und da sind INI-Dateien natürlich keine Ausnahme.
Versuch mal, ob's mit der mylittlebase (url hab ich vergessen, evtl mal googlen, steht aber auch irgendwo im Forum). Ist zwar auch eine Dateibasierte Datenbank, aber die macht sich bestimmt etwas besser wenn es ums Zugreifen und Sortieren geht. Außerdem finde ich sie richtig einfach, weil sie nur simple und verständliche Funktionen enthält und man so gut wie keine Vorkenntnisse braucht.
Tschüß
Thomas
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
Alfons-G
      
Beiträge: 307
Win XP Prof, Linux, Win 7
D5 Prof, D7 Architect, D2005 Architect, D2007 Architect
|
Verfasst: Di 17.09.02 16:32
_________________ Alfons Grünewald
|
|
majolo 
      
Beiträge: 334
Ubuntu 8.04, WinXP Prof.
D1, D6Pers, D7 Prof., D8 Prof., D2005 Pers
|
Verfasst: Di 17.09.02 17:01
Ja,
ich bin noch am Grübeln.DB habe ich schon überlegt.Aber es soll wie gesagt nur eine Art TEMP Datei sein, die nach einer Benutzung eh gekillt wird.Die Datei soll auch höchstens nur 1MB gross sein. Mehr nicht.Aber trotzdem Danke für die Hinweise.
Gruß
majolo
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Di 17.09.02 18:47
Hallo,
Die DB kannst du auch nach der Ausführung löschen
Aber wenn du WÄHREND der Laufzeit öfters und exzessiv drauf zugreifst, wird sich eine DB sicherlich in einer Beschleunigung und höherer Stabilität bermerkbar machen. Gerade im Vergleich zu INI-Files.
Tschüß
Thomas
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
majolo 
      
Beiträge: 334
Ubuntu 8.04, WinXP Prof.
D1, D6Pers, D7 Prof., D8 Prof., D2005 Pers
|
Verfasst: Di 17.09.02 19:54
Eine Überlegung ist es auf jeden Fall wert.Gibt es denn eine Möglichkeit, die beim zur Laufzeit erstellten Datenbank diese Unterdateien mit den Endungen mx usw. zu löschen oder nur in die reine DB einzubinden, denn diese Dateien stören immens.
majolo
|
|
|