AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ini Datei wird nicht erstellt...

Ein Thema von Codix32 · begonnen am 20. Feb 2014 · letzter Beitrag vom 21. Feb 2014
Antwort Antwort
Seite 1 von 2  1 2      
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: Ini Datei wird nicht erstellt...

  Alt 20. Feb 2014, 16:58
Warum wird die INI nicht im richtigen Pfad angelegt?
In dem auch schreib und generelle Zugriffsrechte vorhanden sind?

Das ist sicherlich nicht Paramstr(0).
Siehe CSIDL_APPDATA

Zitat:
P.S.
Du mußt nicht so laut um Hilfe rufen.
Ah jo wäre bei Laut eher HILFE anstelle von Hiiilfe.

gruss

Geändert von EWeiss (20. Feb 2014 um 17:08 Uhr)
  Mit Zitat antworten Zitat
Codix32

Registriert seit: 23. Apr 2009
137 Beiträge
 
Delphi 2005 Personal
 
#2

AW: Ini Datei wird nicht erstellt...

  Alt 20. Feb 2014, 17:03
Die Ini Datei liegt im selben Ordner wie die dpr, pas, ectra.

[QUOTE]Ja, die Inifile ist vorhanden die Werte sind korrekt drin, die Variablen enthalten nichts, es wird also nichts eingelesen.
Sie enthält die mit WriteInteger geschriebenen Werte:

Zitat:
[Sektion1]
Name=Zähne
[Sektion2]
Gesamtkreditsumme=11000.00
Ratenhoehe=123,45
Ratenanzahl=60
[Sektion3]
Restsumme= .
Sonderrate= .
  Mit Zitat antworten Zitat
Codix32

Registriert seit: 23. Apr 2009
137 Beiträge
 
Delphi 2005 Personal
 
#3

AW: Ini Datei wird nicht erstellt...

  Alt 20. Feb 2014, 17:18
Warum wird die INI nicht im richtigen Pfad angelegt?
In dem auch schreib und generelle Zugriffsrechte vorhanden sind?

Das ist sicherlich nicht Paramstr(0).
Siehe CSIDL_APPDATA

Zitat:
P.S.
Du mußt nicht so laut um Hilfe rufen.
Ah jo wäre bei Laut eher HILFE anstelle von Hiiilfe.

gruss
Hm, also der Schreibzugriff hat ja funktioniert, aber das Auslesen geht nicht

Das hier geht:
Delphi-Quellcode:
procedure TForm1.erzeugeIni(IniName:string);
var
  ini:TIniFile;
begin
ini := TIniFile.Create(extractfilepath(paramstr(0))+IniName + '.ini');
// INI-Datei erstellen (falls nicht vorhanden) und initialisieren
 try
  ini.WriteString('Sektion1', 'Name', form2.Edit1.text);
  // String in Sektion1 unter Eigenschaft1 abspeichern
  ini.WriteString('Sektion2', 'Gesamtkreditsumme', Gesamtkreditsum);
  ini.WriteString('Sektion2', 'Ratenhoehe', Ratenhöhe);
  ini.WriteString('Sektion2', 'Ratenanzahl', Ratenanzhl);
  ini.WriteString('Sektion3', 'Restsumme', Restsum);
  ini.WriteString('Sektion3', 'Sonderrate', Sonderrat);
 finally
ini.Free;
// Variable ini wieder freigeben
end;
end;
Die Ini Datei wird angelegt, mit den Werten, aber das Auslesen geht nicht:
Delphi-Quellcode:
procedure TForm1.leseIni(IniName:string);
var
  ini:TIniFile;
  filename: String;

begin
filename := extractfilepath(paramstr(0))+IniName + '.ini';
Label5.Caption:=filename;
ini := TIniFile.Create(filename);
// INI-Datei erstellen (falls nicht vorhanden) und initialisieren
 try
  Form1.Caption:=ini.ReadString('Sektion1', 'Name','');
  Gesamtkreditsum:=ini.ReadString('Sektion2', 'Gesamtkreditsumme','');
  Ratenhöhe:=ini.ReadString('Sektion2', 'Ratenhoehe', '');
  Ratenanzhl:=ini.ReadString('Sektion2', 'Ratenanzahl', '');
  Restsum:=ini.ReadString('Sektion3', 'Restsumme', '');
  Sonderrat:=ini.ReadString('Sektion3', 'Sonderrate','');
  //
 finally
  ini.Free;
// Variable ini wieder freigeben
end;
end;
und was nun bedeutet 'CSIDL_APPDATA'
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Ini Datei wird nicht erstellt...

  Alt 20. Feb 2014, 17:20
UAC eingeschaltet?
Mach mal aus und teste noch mal dann verstehst du vielleicht was ich meine

gruss
  Mit Zitat antworten Zitat
Codix32

Registriert seit: 23. Apr 2009
137 Beiträge
 
Delphi 2005 Personal
 
#5

AW: Ini Datei wird nicht erstellt...

  Alt 20. Feb 2014, 17:26
UAC eingeschaltet?
Mach mal aus und teste noch mal dann verstehst du vielleicht was ich meine

gruss
Was meinst Du damit?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Ini Datei wird nicht erstellt...

  Alt 20. Feb 2014, 17:28
UAC eingeschaltet?
Mach mal aus und teste noch mal dann verstehst du vielleicht was ich meine

gruss
Was meinst Du damit?
Sorry wenn du das nicht weist kann ich dir nicht helfen das sind grundlegende Computer Kenntnisse.
Na Ok.. Hier

Dateien mit schreib und lese zugriffe sollten in einem Ordner abgelegt werden
Wo die Zugriffsrechte auch vorhanden sind.

Zitat:
Hm, also der Schreibzugriff hat ja funktioniert, aber das Auslesen geht nicht
Nur weil es Mal funktioniert hat muss es noch lange nicht richtig sein


gruss

Geändert von EWeiss (20. Feb 2014 um 17:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.929 Beiträge
 
Delphi 12 Athens
 
#7

AW: Ini Datei wird nicht erstellt...

  Alt 20. Feb 2014, 17:55
Hier habe ich zu den Schreibrechten auf den eigenen Ordner mal einen kleinen Artikel geschrieben:
http://www.entwickler-ecke.de/viewtopic.php?p=548600
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Codix32

Registriert seit: 23. Apr 2009
137 Beiträge
 
Delphi 2005 Personal
 
#8

AW: Ini Datei wird nicht erstellt...

  Alt 20. Feb 2014, 20:55
Hier habe ich zu den Schreibrechten auf den eigenen Ordner mal einen kleinen Artikel geschrieben:
http://www.entwickler-ecke.de/viewtopic.php?p=548600
Danke jaenicke,

die UAC habe ich ganz runtergefahren. Da gibt's nichts zu bestätigen.

Dann:

Delphi-Quellcode:
filename := extractfilepath(paramstr(0))+IniName + '.ini';
Label5.Caption:= filename;
Da wird dann der komplette Pfad angezeigt:
c:\users\XXXX\Dokuments\Borland Studio-Projekte\My_proggis\Raten-mit-IniFile\MyKreditInif.ini

Die Funktion 'GetSpecialFolder' habe ich mal so getestet:

 MessageDlg (GetSpecialFolder (CSIDL_APPDATA), mtInformation, [mbOK], 0); Da kriege ich den Pfad: C:\users\XXXX\Favorites

Und in der LeseIni:
Delphi-Quellcode:
procedure TForm1.leseIni(IniName:string);
var
  ini:TIniFile;
  filename: String;
begin
filename:=GetSpecialFolder(CSIDL_APPDATA)+'\'+Ininame+ '.ini';
Label5.Caption:=filename;
ini := TIniFile.Create(filename);
...
kriege ich den Pfad: C:\Users\XXXX\AppData\Roaming\MyKreditInif.ini
Aber die Variablen bleiben leer, es wird nichts eingelesen.
Also was mache ich da noch falsch?

Geändert von Codix32 (20. Feb 2014 um 21:21 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Ini Datei wird nicht erstellt...

  Alt 20. Feb 2014, 17:21
Zitat:
und was nun bedeutet 'CSIDL_APPDATA'
Frag doch mal Tante google ...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
730 Beiträge
 
Delphi 12 Athens
 
#10

AW: Ini Datei wird nicht erstellt...

  Alt 21. Feb 2014, 07:16
Warum wird die INI nicht im richtigen Pfad angelegt?
In dem auch schreib und generelle Zugriffsrechte vorhanden sind?

Das ist sicherlich nicht Paramstr(0).
In diesem Fall sind auf Paramstr(0) anscheinend doch ausreichen Rechte vorhanden, denn:

Die Ini Datei liegt im selben Ordner wie die dpr, pas, ectra.
Der Fehler muss also woanders liegen. Vergiss erstmal das CSIDL_APPDATA und UAC. Schau dir mal im Debugger an, was wo genau eingelesen wird.
Ist der Übergebene Dateiname bei erzeugeIni(IniName:string); und leseIni(IniName:string); identisch (Tipfehler?)

Wenn das Programm später mal unter C:\Programme... installiert werden soll, musst du natürlich unbedingt den Speicherort der Ini nach CSIDL_APPDATA legen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz