AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Was passiert mit der INI-File beim beschreiben ?

Was passiert mit der INI-File beim beschreiben ?

Ein Thema von Darty · begonnen am 23. Feb 2005 · letzter Beitrag vom 24. Feb 2005
Antwort Antwort
Seite 2 von 3     12 3   
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#11

Re: Was passiert mit der INI-File beim beschreiben ?

  Alt 23. Feb 2005, 21:34
Zitat von roderich:
@Hansa:

eine Inidatei hat mit einer .pas-Datei aber nun wirklich gar nix zu tun.....
Von wegen. Das ist ja das Problem ! Es ist genau dasselbe. Nichts anderes als eine stinknormale Textdatei. Ob die .TXT .INI .PAS oder .ROD heißt ist egal.
Gruß
Hansa
  Mit Zitat antworten Zitat
roderich
(Gast)

n/a Beiträge
 
#12

Re: Was passiert mit der INI-File beim beschreiben ?

  Alt 23. Feb 2005, 22:53
@Hansa:

No

Eine Inidatei ist nicht eine stinknormale Textdatei. Eine Inidatei ist nach einem festen Schema aufgebaut, und zwar in Sections (oder Gruppen) organisiert, deren Namen in eckigen Klammern eingefaßt sind. Innerhalb dieser Sections stehen Einträge im Format <Identifier> = <Value>. Der Zugriff erfolgt mit den Methoden von TIniFile, wobei Einträge nur mit Angabe des Sections-Namen manipuliert werden können.

Z.B.

  Inifile.WriteString(Section, Identifier, Value);
Die Datei-Extension ist allerdings wurscht, da stimm ich dir zu. Es hat sich aber .ini etabliert.


Roderich
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#13

Re: Was passiert mit der INI-File beim beschreiben ?

  Alt 24. Feb 2005, 00:30
Zitat von roderich:
@Hansa:

No
Nene, nix Warn ! Das ist und bleibt eine Textdatei. Ob die jetzt *.ROD heißt, oder mehrere []]}}{] usw. enthält, vielleicht auch nur ääääääää s oder xyz ist völlig egal.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#14

Re: Was passiert mit der INI-File beim beschreiben ?

  Alt 24. Feb 2005, 07:11
Zitat von Hansa:
Zitat von roderich:
@Hansa:

No
Nene, nix Warn ! Das ist und bleibt eine Textdatei. Ob die jetzt *.ROD heißt, oder mehrere []]}}{] usw. enthält, vielleicht auch nur ääääääää s oder xyz ist völlig egal.
Ich frage mich gerade, was das mit dem Thema zu tuen hat. Technisch gesehen sind alles, Binär-Dateien. Und Technisch ist es nicht möglich ein Byte physikalisch aus einer Datei so zu löschen, dass die anderen nachrücken. Sollen Daten gelöscht werden, muss die Datei komplett neu geschrieben werden. Aber das hat überhaupt nichts mit dem Thema zu tuen.

Diese *.~Pas dateien sind einfach nur Backupfiles die von Delphi angelegt werden.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

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

Re: Was passiert mit der INI-File beim beschreiben ?

  Alt 24. Feb 2005, 07:36
INI-Files werden nicht gelöscht und neu geschrieben. Wers nich glauben will, darfs gerne ausprobieren. Wenn man vorher 2 sections hatte, diese läd, und dann im Inifile mit writesection nur eine am ende wieder schreibt, is die 2te trotzdem noch drin. Deswegen das INI vor dem beschreiben mit DeleteFile() löschen.
"Dunkel die andere Seite ist"
"Yoda! Halts Maul und iss deinen Toast!"
  Mit Zitat antworten Zitat
Benutzerbild von Darty
Darty

Registriert seit: 8. Jun 2002
Ort: Kronau
731 Beiträge
 
#16

Re: Was passiert mit der INI-File beim beschreiben ?

  Alt 24. Feb 2005, 10:27
Danke Leute, nun habe ich Gewissheit weil es mich zunächst verwirrt hatte als ich es in ein Text Editor angeschaut habe. Also werde ich wohl die Ini löschen bevor ich es neu schreibe.
Oder wenn man auf der sichere Seite will das die Speicherfunktion unterbrochen wird sollte man doch lieber die Ini zunächst Temporär speichern, dieses dann die Ini überschreiben und dann die Temporäre Datei wieder löschen.

Übrigens INI ist zwar anders eingeteilt mit Section u.s.w. aber so oder so sie ist trotzdem eine Text Datei. Man könnte auch eine BlaBla.XYZ als Ini File benutzen anstatt BlaBla.Ini .
Matthias Knebel
Mfg M. Knebel [-Darty-]
- Gehörlose Delphianer gibt es selten -
www.team-knebel.de
  Mit Zitat antworten Zitat
roderich
(Gast)

n/a Beiträge
 
#17

Re: Was passiert mit der INI-File beim beschreiben ?

  Alt 24. Feb 2005, 11:37
also, um das ganze leidige Thema mal abzuschließen.....

Inidateien sind (natürlich) Textdateien, genau wie *.pas, *.c, *.bat, ... und 1000 andere -> sie sind also z.B. mit einem Texteditor lesbar.
Sie sind aber nach ihrer Definition nicht "ganz normale" Textdateien, sondern in einem festen Format aufgebaut. Dieses Format sieht Gruppen (Sections) vor, innerhalb derer die Einträge (Identifier) stehen. Gruppen sind in eckigen Klammern [] eingefaßt. Einträge werden immer von einem "=" Zeichen gefolgt, nach dem der Wert (Value) steht.


Beispiel:

[System]
GUI=1
Bootlogo=Splash.bmp

[Printer]
Default=HP Deskjet


So, falls jetzt mit Inifile.WriteString('Printer', 'Default', 'Epson Stylus') der Default-Eintrag in der Printer-Gruppe geändert wird, bleibt NATÜRLICH auch die erste Gruppe "System" bestehen. Wär ja auch schlimm, wenn nicht.
Wenn mit Inifile.DeleteKey('Printer', Default') der Default-Eintrag gelöscht wird, bleibt die Gruppe "Printer" trotzdem bestehen, nur eben leer (d.h. ohne Einträge).

Eine Inidatei löschen zu müssen, bevor sie neu geschrieben wird, deutet zumindest mal auf ein "seltsames" Programmkonzept hin. Oder Inidateien werden dort nicht in ihrem eigentlichen Sinn verwendet.

Die Delphi-Hilfe zu TIniFile erklärt das Konzept übrigens auch recht gut.


Roderich
  Mit Zitat antworten Zitat
IngoD7

Registriert seit: 17. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: Was passiert mit der INI-File beim beschreiben ?

  Alt 24. Feb 2005, 11:43
//EDIT: Dieses Posting hat sich mit dem von roderich zuvor überschnitten.
--------------------------------------------------------------------------

Oh man, ihr habt aber auch alles in den Thread reingeschmissen, was es zum Thema Datei gibt, wie?

Zitat von Darty:
Also werde ich wohl die Ini löschen bevor ich es neu schreibe.
Wieso das denn?

Wenn du eine Ini als das benutzt, wofür sie da ist, was gibt es dann für Probleme? Wenn du eine Ini bearbeiten wilst, dann tue das über TIniFile. Damit stehen dir genügend Methoden zur Verfügung, die Bestandteile einer Ini (Sektionen, Schlüssel und Werte) zu lesen, zu schreiben oder zu löschen.

Diese Bestandteile einer Ini sind separat zu betrachten und zu bearbeiten. Dabei ist es völlig egal, in welchem Fileformat eine Ini auf die Platte geschrieben wird. Und ja, das Fileformat ist Textfile.
Es ist ein Textfile mit vorgegebener inhaltlicher Struktur (Sektionen, Schlüssel, Werte). Eben der Struktur einer gemeinhin als Ini bezeichneten Datei.

Wenn du die Sektion A bearbeitest, bleibt Sektion B natürlich unberührt. Das ist doch gerade der Witz an TIniFile, dass du die Bestandteile einer Ini separat bearbeiten kannst und nicht die ganze Datei lesen, bearbeiten und zurückschreiben musst.

Änderungen (schreiben, löschen) sind bei NT (und in der Familie aufwärts) sofort in die Ini-Datei auf der Platte eingepflegt. Bei Windows95 (und spätere Verwandte) wird der Plattenzugriff möglicherweise noch gepuffert. Da kann man dann aber das Schreiben auf Platte mit TIniFile.UpdateFile erzwingen.
  Mit Zitat antworten Zitat
Benutzerbild von Darty
Darty

Registriert seit: 8. Jun 2002
Ort: Kronau
731 Beiträge
 
#19

Re: Was passiert mit der INI-File beim beschreiben ?

  Alt 24. Feb 2005, 11:51
Damit keine Missverständnisse gibt.

Ich verwende die Ini Datei (eine einzige Datei) um die Einstellungen u.s.w. im Programm zu speichern. Klar die braucht man dann nicht zu löschen u.s.w. ABER ich verwende diese Datei auch um die Daten aus einer ListView zu speichern (darüber kann man streiten da andere Möglichkeiten gibt). Und gerade wenn ich die Daten speicehre wird es in Section Data1 Data2 u.s.w. erstellt. Sobald ich aber mal 100 Data gespeichert habe. Und irgendwann dann die 50 Datas lösche dann stehen die "alten" 50 Datas immer noch drin. Also wird die Datei nur unötig aufgebläht obwohl nicht mehr benötigt wird. Deswegen das löschen.
Matthias Knebel
Mfg M. Knebel [-Darty-]
- Gehörlose Delphianer gibt es selten -
www.team-knebel.de
  Mit Zitat antworten Zitat
IngoD7

Registriert seit: 17. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#20

Re: Was passiert mit der INI-File beim beschreiben ?

  Alt 24. Feb 2005, 12:08
Zitat von Darty:
ABER ich verwende diese Datei auch um die Daten aus einer ListView zu speichern (darüber kann man streiten da andere Möglichkeiten gibt)
Wenn es denn so sein soll ...

Zitat von Darty:
Sobald ich aber mal 100 Data gespeichert habe. Und irgendwann dann die 50 Datas lösche dann stehen die "alten" 50 Datas immer noch drin.
Wovon ist denn abhängig, ob du 50, 20, 76 oder alle 100 löscht? Lösche doch einfach immer dann ein Data raus, sobald du es nicht mehr brauchst.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +2. Es ist jetzt 01:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf