AGB  ·  Datenschutz  ·  Impressum  







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

Ini-Datei wird nicht mehr gelesen

Ein Thema von Ginko · begonnen am 24. Jul 2010 · letzter Beitrag vom 24. Jul 2010
Antwort Antwort
Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#1

Ini-Datei wird nicht mehr gelesen

  Alt 24. Jul 2010, 19:33
Delphi-Version: 2005
Hallo,
ich habe ein Problem, dass ich mir nicht erklären kann.
Ich öffne in einen Porgramm über ein OpenDialog eine Textdatei und lese diese in ein Memofeld ein, daraufhin ist es nicht mehr möglich über einen anderen Button einen Wert aus einer Ini-Datei zu lesen.
Wird der OpenDialog nicht benutzt, ist das Arbeiten mit der Ini-Datei problemlos möglich.
Hier der Quelltext:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Settings: TIniFile;
  tmp1: String;
begin
  Settings := TIniFile.Create(GetCurrentDir + '\set.ini');
  try
    tmp1 := Settings.ReadString('Set1','name','nix');
    Edit1.Text := tmp1;
  finally
    Settings.Free;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  F: TextFile;
  Dateiname,tmp1: String;
begin
  OpenDialog1.Filter := 'Textdatei(*.txt)|*.txt';

  if not OpenDialog1.Execute then exit;
  Dateiname := OpenDialog1.FileName;
  AssignFile(F, Dateiname);
  Reset(F);
  while not Eof(F) do
  begin
    Readln(F, tmp1);
    Memo1.Lines.Add(tmp1);
  end;
  CloseFile(F);
end;
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

AW: Ini-Datei wird nicht mehr gelesen

  Alt 24. Jul 2010, 19:36
  Settings := TIniFile.Create(GetCurrentDir + '\set.ini') ;
Ja neee, ist schon komisch bei so nem "absoluten" Pfad

GetCurrentDir liefert das aktuelle Arbeitsverzeichnis. Das wird durch den OpenDialog verändert. Bist du sicher dass die ini Datei dort liegt?
Nein? Dann solltest du richtige absolute Pfade benutzen

Geändert von jfheins (24. Jul 2010 um 19:42 Uhr)
  Mit Zitat antworten Zitat
Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Ini-Datei wird nicht mehr gelesen

  Alt 24. Jul 2010, 20:19
Danke für die schnelle Antwort, das hier scheint zu gehen.
 Settings := TIniFile.Create( extractfiledir(paramstr(0)) + '\set.ini') ;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Ini-Datei wird nicht mehr gelesen

  Alt 24. Jul 2010, 20:22
Ermittelt auch das Verzeichnis, in dem die Exe liegt und nicht das aktuelle Arbeitsverzeichnis
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

AW: Ini-Datei wird nicht mehr gelesen

  Alt 24. Jul 2010, 20:25
Ermittelt auch das Verzeichnis, in dem die Exe liegt und nicht das aktuelle Arbeitsverzeichnis
Meinst du nicht, dass er genau das möchte? So habe ich es verstanden, also

Settings := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'set.ini'); Damit das Verzeichnis (= Verzeichnis, in dem die Exe liegt) gleich bleibt, auch wenn der OpenDialog verwendet wird.

Wo liegt denn die Ini-Datei? Im Verzeichnis deiner Exe?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Ini-Datei wird nicht mehr gelesen

  Alt 24. Jul 2010, 20:27
Ja, das will er. Ich wollte ihn damit ja sagen, warum das richtig ist und der ursprüngliche Code nicht
Markus Kinzler
  Mit Zitat antworten Zitat
Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Ini-Datei wird nicht mehr gelesen

  Alt 24. Jul 2010, 20:33
Stimmt alles einwandfrei, danke euch, so schnell hat man wieder was gelernt, ich dachte schon jetzt habe ich endlich einen Compilerfehler gefunden....

Geändert von Ginko (24. Jul 2010 um 20:37 Uhr)
  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 09:54 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