| Autor |
Beitrag |
ZO_orki
      
Beiträge: 42
|
Verfasst: Mi 15.02.06 19:18
Hallo@ all
eigentlich sagt der Titel schon alles. Gibt es dazu eine Funktion?
Ich habe gefunden, dass es für TMemIniFile wohl die Methode Clear gibt.
Aber wie wende ich diese auf TIniFile an, wenn das überhaupt möglich ist?
Wenn nicht, gibt es eine Funktion, oder muss ich alle Daten einzeln löschen?
MfG ZO_orki
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: Mi 15.02.06 19:32
Hallo,
die Stichworte "EraseSection" und "DeleteKey" und die Delphi-Hilfe sollten helfen.
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
ZO_orki 
      
Beiträge: 42
|
Verfasst: Mi 15.02.06 20:09
danke erstmal, aber diese befehle löschen doch nur eine section. wie kann ich alle löschen?
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mi 15.02.06 20:11
Geh sie einfach in einer Schleife durch. Oder lösch einfach die ganze Datei und erstell Sie neu 
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: Mi 15.02.06 20:39
Hallo,
alle Sectionen bekommst Du mit ReadSections.
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 15.02.06 20:44
|
|
Marco D.
      
Beiträge: 2750
Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
|
Verfasst: Mi 15.02.06 20:46
Luckie hat folgendes geschrieben: | | Lösch die Datei ainfach. |
Delphi-Quelltext 1:
| DeleteFile(dateipfad); |
_________________ Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 15.02.06 21:08
Luckie hat folgendes geschrieben: | | Lösch die Datei einfach. |
|
|
WIng2005
      
Beiträge: 49
|
Verfasst: Mo 20.08.07 08:38
Problematisch ist doch hierbei, dass der Ort der ini Betriebssystemabhängig nicht klar definiert ist, oder liege ich da falsch? Wie kann ich die Datei löschen, ohne den Pfad zu kennen (WinNT\x.ini, Windows\x.ini)? Auch hat nicht jeder Nutzer des Programms das Betriebssystem auf C: .
MFG
Steffen
|
|
uwewo
      
Beiträge: 154
|
Verfasst: Mo 20.08.07 08:45
WIng2005 hat folgendes geschrieben: | Problematisch ist doch hierbei, dass der Ort der ini Betriebssystemabhängig nicht klar definiert ist, oder liege ich da falsch? Wie kann ich die Datei löschen, ohne den Pfad zu kennen (WinNTx.ini, Windowsx.ini)? Auch hat nicht jeder Nutzer des Programms das Betriebssystem auf C: .
MFG
Steffen |
Darum musst Du dich schon selbst kümmern. Wenn eine Section gelöscht wird, musst Du auch wissen wo die Datei sich befindet. Oder nicht?
|
|
WIng2005
      
Beiträge: 49
|
Verfasst: Mo 20.08.07 08:54
Das ist so nicht richtig. Eine ini-Datei wird (meines Wissens nach) im Windows-Stammverzeichnis angelegt.
Die Frage ist also, wie ich den Pfad der Datei ermitteln kann (was im Übrigen nichts mit deinen Sections zu tun hat).
Die Frage ist, wie die Datei am Stück gelöscht werden kann, und nicht, wie ich die Inhalte entferne.
MFG
Steffen
|
|
uwewo
      
Beiträge: 154
|
Verfasst: Mo 20.08.07 09:08
WIng2005 hat folgendes geschrieben: | Das ist so nicht richtig. Eine ini-Datei wird (meines Wissens nach) im Windows-Stammverzeichnis angelegt.
|
Quatsch, je nach Programm bzw. Programmierer wird die Datei dort gespeichert wo man diese haben will.
Ich gehe mal davon aus das die INI nicht von Dir stammt, richtig?
Warum willst Du von eine INI Datei eines fremdem Programms löschen?
|
|
WIng2005
      
Beiträge: 49
|
Verfasst: Mo 20.08.07 09:14
"Quatsch, je nach Programm bzw. Programmierer wird die Datei dort gespeichert wo man diese haben will"
Ach ja? Dann sage mir mal, wo diese Datei gespeichert wird:
temp_db:=TInifile.Create('test.ini');
Da ich bei verschiedenen Installationen auf verschiedene Konfigurationen der Rechner stoße, besteht das Problem,
das die Pfade nicht klar sind. Deshalb habe ich alle MEINE ini's im Windows-Ordner, somit habe ich keine Pfade.
MFG
Steffen
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 480
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 20.08.07 09:22
WIng2005 hat folgendes geschrieben: | Ach ja? Dann sage mir mal, wo diese Datei gespeichert wird:
temp_db:=TInifile.Create('test.ini');
|
Ein guter Programmierer macht sowas nicht, weil man bei sowas nie sagen kann, wo sie hingespeichert wird.
Zu einem Ini-FileName gehört immer auch der Pfad. Sei es nun das Windowssverzeichnis, das Verzeichnis der Anwendung, oder (und das sollte afaik seit Win2000 immer so sein) das Anwendungsdaten-Verzeichnis des aktuellen Users.
Edit: Du speicherst alle deine Inis im Windows-Verzeichnis? Na großartig. 
_________________ We are, we were and will not be.
|
|
uwewo
      
Beiträge: 154
|
Verfasst: Mo 20.08.07 09:24
WIng2005 hat folgendes geschrieben: |
Ach ja? Dann sage mir mal, wo diese Datei gespeichert wird:
temp_db:=TInifile.Create('test.ini');
|
In dem Verzeichnis wo sich das Programm gerade befindet und das legst Du fest!
|
|
WIng2005
      
Beiträge: 49
|
Verfasst: Mo 20.08.07 09:36
@Gausi: es sind genau 2, was also keines falls problematisch ist. Welchen Vorteil soll es denn bringen, wenn ich eine
Konfigurationsdatei mit Pfad speicher? Ich sehe keinen, außer, dass ich den Pfad jedesmal mit anbringen muß.
Die 2. Datei ist eine Temp-Datei, welche (und hier liegt mein Problem) welche wieder gelöscht werden soll. Hier macht es, da gebe ich euch Recht, schon Sinn, den Pfad zu kennen.
@uwewo: Falsch, sie wird im Windows-Verzeichnis abgelegt!
MFG
Steffen
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mo 20.08.07 09:43
WIng2005 hat folgendes geschrieben: | | @uwewo: Falsch, sie wird im Windows-Verzeichnis abgelegt! |
Und auf selbiges hast Du unter Vista z.B. keinen Zugriff mehr! Eine Datei gehört entweder dahin gespeichert, wo das Programm ist oder (noch besser, weil das andere auch unter Vista Schwierigkeiten bereiten könnte) im Benutzerverzeichnis, und sonst nirgends!
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 480
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 20.08.07 09:43
Der Vorteil liegt ganz einfach darin, dass man dein Programm auch benutzen kann, wenn man als normaler Nutzer angemeldet ist. Im Windows-Verzeichnis haben nur Admins Schreibrechte. Und bei Vista dürfte das Programm gar nicht mehr laufen.
Inis und sonstige Programmdateien, die zur Laufzeit generiert werden, gehören nicht ins Windows-Verzeichnis. Und auch nicht ins Programmverzeichnis. Punkt.
Hm. Gleichzeitig gepostet. Aber doppelt hält besser.
_________________ We are, we were and will not be.
|
|
WIng2005
      
Beiträge: 49
|
Verfasst: Mo 20.08.07 09:48
Mmmmmmmmmh,
die Vista-Problematik hatte ich nicht beachtet (Viste wird bei uns wohl nie kommen).
Habe mal verschoben, sonst bekomme ich mein Löschen eh nicht hin.
MFG
Steffen
EDIT: Doberenz-Kowalski..... da habe ich meine Ansätze her....
|
|
uwewo
      
Beiträge: 154
|
Verfasst: Mo 20.08.07 09:53
WIng2005 hat folgendes geschrieben: |
@uwewo: Falsch, sie wird im Windows-Verzeichnis abgelegt!
|
Sie wird dort abgelegt, wo Du in Deinem Programm den Pfad zuletzt eingestellt hast!
|
|