Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi INI-Probleme! (https://www.delphipraxis.net/68880-ini-probleme.html)

sonic2000 7. Mai 2006 13:43


INI-Probleme!
 
Hallo allerseits!

Ich habe ein TeamSpeak 2 Tool entworfen und benötige Ini Hilfe!
Wird Button1 gedrückt Speicher er die Login Daten aus Edit1,2,3 usw...
Und wenn Button2 gedrückt wird, wird die Ini wieder geöffnet und alles ist da wo es hin soll!

Z.B.: Wird der Text aus Edit1 gespeichert wird der Text da auch wieder beim öffnen hinversetzt.
Ich hoffe ihr wiesst was ich meine!

THX, MFG: Sonic!

Matze 7. Mai 2006 13:47

Re: INI!
 
Hi,

was ist nun deine Frage? Im Forum steht alles:

Delphi-Quellcode:
Ini.SaveString('Section', 'Name', Edit1.Text);
Delphi-Quellcode:
Edit1.Text := Ini.ReadString('Section', 'Name', 'Standard-Text');

Flare 7. Mai 2006 14:13

Re: INI!
 
Zitat:

Zitat von Matze
Delphi-Quellcode:
Ini.SaveString('Section', 'Name', Edit1.Text);

Heißt es nicht
Delphi-Quellcode:
Ini.WriteString('Section', 'Name', Edit1.Text);
?


Flare

Matze 7. Mai 2006 14:24

Re: INI!
 
Zitat:

Zitat von Flare
Heißt es nicht
Delphi-Quellcode:
Ini.WriteString('Section', 'Name', Edit1.Text);

:wall: Natürlich heißt es so, du hast recht. :oops:

sonic2000 7. Mai 2006 14:32

Re: INI!
 
OK! Ich hab jetzt nochmal die Tutorials von www.dsdt.info durch gelesen,
und das Speicher Funktioniert zu 100%, aber das auslesen der INI-Datei Funktioniert nicht!

MFG: Sonic

pacman1986 7. Mai 2006 14:36

Re: INI!
 
Zitat:

Zitat von Matze
Delphi-Quellcode:
Edit1.Text := Ini.ReadString('Section', 'Name', 'Standard-Text');

muss gehen zeig ma a bisse code

HuxXx 7. Mai 2006 15:38

Re: INI!
 
Zitat:

Zitat von sonic2000
OK! Ich hab jetzt nochmal die Tutorials von www.dsdt.info durch gelesen,
und das Speicher Funktioniert zu 100%, aber das auslesen der INI-Datei Funktioniert nicht!

MFG: Sonic

Wenn du dir die Tuts durchgelesen hast müsste es eigentlich keine Probleme mehr geben...
Wo hängst du?
Warum funktioniert es nicht?
Formulier deine Frage mal genauer... (am besten wäre es, wenn du deinen Code hier reinpostest, dann können wir dir die Fehler korrigieren)

Daniel 7. Mai 2006 15:41

Re: INI!
 
Hallo Sonic2000,

bitte gebe diesem Thema einen aussagekräftigen Titel.

sonic2000 7. Mai 2006 18:21

Re: INI-Probleme!
 
Also, ich habe in diesem Forum verstanden wie man eine INI-Datei erstellt und
denn Inhalt von Edit1 usw... speichert, nur verstehe ich nicht wie er genau das abruft was er speichert!

MFG: Sonic

leddl 7. Mai 2006 18:36

Re: INI-Probleme!
 
:gruebel: Wieso nich? Funktioniert doch eigentlich genauso, wie das Schreiben:
Delphi-Quellcode:
Edit1.Text := Ini.ReadString('Section', 'Name', 'Standard-Text');
Hier rufst du allerdings anstatt einer Prozedur eben eine Funktion auf (du möchtest ja schließlich etwas zurückbekommen ;)).
Der 3. Parameter bezeichnet hier einfach nur das, was zurückgegeben werden soll, falls kein entsprechender Eintrag gefunden wurde.

Was genau klappt denn bei dir nicht, bzw. was verstehst du daran nicht? Dein letzter Post hat da nicht wirklich Licht ins Dunkel gebracht. ;)

PS: Und der neue Thread-Titel ist auch nicht wirklich viel aussagekräftiger :zwinker:

sonic2000 7. Mai 2006 18:57

Re: INI-Probleme!
 
Bei mir anscheinend nicht!
Mache ich das genau so wie du das beschreibst,
kann er das nicht in das Edit1 Feld rein machen!

Ich versuche es nochmal!

MFG: Sonic

ManuMF 7. Mai 2006 19:11

Re: INI-Probleme!
 
Hallo,

gib doch bitte mal den Fehler an!

Meckert der Compiler, oder gibt es eine Meldung beim Ausführen?

Gruß,
ManuMF

sonic2000 7. Mai 2006 19:28

Re: INI-Probleme!
 
Es konnte nicht Compilieren ohne Error und nichts, ich hab noch mal einen anderen Code genommen!
Und jetzt geht das!
1. Fehler gibt es noch!

Wenn ich "LOL" im Edit1 Feld eingebe und speichere, und Lade nochmal die Ini dann steht im Edit1 Feld "Standart-Text",
er soll aber dann das LOL abrufen!

--- HILFE :D ---

MFG: Sonic

nat 7. Mai 2006 19:34

Re: INI-Probleme!
 
poste ma deinen ganzen source.
ich tippe ma auf n tippfehler beim namen des schlüssels.
denn, da er den default-wert zurückgibt, scheint er
den schlüssel nicht zu finden. da du aber vorher ja was
reingeschrieben hast, muß er den aber finden
(außer halt wenn du dich bei den namen vertippt hast *g*)

sonic2000 7. Mai 2006 22:43

Re: INI-Probleme!
 
So hier:

Delphi-Quellcode:
unit _MAINFORM;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdTelnet, XPMan, Menus, INIFiles;

.
..
...
.
..
...

procedure TMAINFORM.SaveLoginData1Click(Sender: TObject);
var ini: TIniFile;
begin
  INI := TINIFile.Create(ExtractFilePath(ParamStr(0))+
  'TTC.ini');
  INI.WriteString('CONNECTION_INFO','IP-Address',Edit1.Text);
  INI.WriteString('CONNECTION_INFO','TCP-Port',Edit2.Text);
  INI.WriteString('CONNECTION_INFO','UDP-Port',Edit3.Text);
  INI.WriteString('LOGIN_INFO','Login Name',Edit4.Text);
  INI.WriteString('LOGIN_INFO','Password',Edit5.Text);
  INI.Free;
end;

procedure TMAINFORM.LoadLoginData1Click(Sender: TObject);
var ini: TIniFile;
begin
  ini:=TIniFile.Create('TTC.ini');
  try
   Edit1.Text := Ini.ReadString('CONNECTION_INFO', 'IP-Address','Standart-Text');
  finally
    ini.free;
  end;
end;

end.

leddl 7. Mai 2006 22:45

Re: INI-Probleme!
 
Vergleich mal die Pfade der 2 INI-Dateien :zwinker:

Matze 7. Mai 2006 22:46

Re: INI-Probleme!
 
Ich weiß nicht, ob's daran liegt, aber verwende generell den gleichen (ersteren) Pfad:

Delphi-Quellcode:
INI := TINIFile.Create(ExtractFilePath(ParamStr(0)) + 'TTC.ini');
  ...

  INI := TIniFile.Create('TTC.ini');

Edit: Och Axel, musst du mir zuvrkommen *grml* ^^

nat 7. Mai 2006 23:33

Re: INI-Probleme!
 
gibst du keinen pfad an sucht er das ini-file im windir.
da du es aber beim erstellen explizit im prog-dir erstellt
hast, wird er im windir wohl nichts finden ;)

entweder beim laden auch
Delphi-Quellcode:
INI := TINIFile.Create(ExtractFilePath(ParamStr(0))+'TTC.ini');
verwenden oder so
Delphi-Quellcode:
INI := TINIFile.Create('.\TTC.ini');

fkerber 7. Mai 2006 23:35

Re: INI-Probleme!
 
Hi!

Vom zweiten würde ich abraten. Wenn ich nicht irre, dann bezieht sich das sozusagen auf den "letzten genutzen" Pfad und nicht auf das Programmverzeichnis - könnte also böse Folgen haben.


Ciao Frederic

Matze 7. Mai 2006 23:38

Re: INI-Probleme!
 
Zitat:

Zitat von fkerber
dann bezieht sich das sozusagen auf den "letzten genutzen" Pfad und nicht auf das Programmverzeichnis - könnte also böse Folgen haben.

IMHO auf's Arbeitsverzeichnis und das kann beispielsweise durch einen OpenDIalog oder durch Delphi-Referenz durchsuchenChDir gewechselt werden. Nimm also immer den absoluten Pfad und keine relativen.

nat 8. Mai 2006 00:15

Re: INI-Probleme!
 
naja, man könnte es auch als feature sehen.
wenn ich in ner verknüpfung das arbeitsverzeichnis verändere
kann ich mein prog mehrmals mit verschiedenen configs laufen lassen
ohne, dass sich die in die quere kommen. :-D
aber vom prinzip her stimmts schon was ihr sagt! :)

fkerber 8. Mai 2006 07:32

Re: INI-Probleme!
 
Hi!

Wie Matze aber schon sagte, ändert es sich aber eben z.B. auch bei einem (in ganz anderem Zusammenhang verwendeten) OpenDialog und hat dann ungewünschte Nebeneffekte.


Ciao Frederic

Hawkeye219 8. Mai 2006 07:57

Re: INI-Probleme!
 
Anwender mit eingeschränkten Rechten haben im Programmverzeichnis normalerweise keine Schreibrechte. Aus diesem Grund sollte man die INI-Datei vielleicht nicht dort anlegen sondern im Benutzerverzeichnis (HOMEDIR). Luckie hat zu diesem Thema ein Tutorial verfaßt.

Gruß Hawkeye

HuxXx 8. Mai 2006 12:08

Re: INI-Probleme!
 
Zitat:

Zitat von sonic2000
Delphi-Quellcode:
  INI.WriteString('LOGIN_INFO','Password',Edit5.Text);
  INI.Free;

DAs INI.Free würde ich vielleicht erst bei OnCloseQuery hinmachen.
Weil wenn du während des ganzen Programmablaufs nur auf diese zugreifst, brauchst du sie nicht immer wieder freigeben und dann das Objekt wieder createn...




P.S: Hab Hunger...


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:19 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