![]() |
Re: INI auslesen
in der ini kann der benutzer den servernamen eingeben, das, was dann die caption beim radiobutton ist. Ebendso kann der benutzer eine serveradresse in die ini schreiben. mein programm soll dann per knopfdruck die serveradresse in eine txt-datei schreiben. also man kann ja dann zwischen 4 servern wechslen, je nach dem, welcher radiobutton gewählt ist.
die serveradresse soll dan hiermit ausgegeben werden:
Delphi-Quellcode:
if RadioButton1.Checked = true then
begin assignfile(datei, 'test.txt'); rewrite(datei); writeln(datei, server1path); closefile(datei); end; edit: ![]() |
Re: INI auslesen
Und was ist das Problem?
|
Re: INI auslesen
erstmal entschuldigung, dass ich die antwort in einen neues thread gemacht habe, war keine absicht.
mein problem: es geht leider nicht |
Re: INI auslesen
gehen wir mal davon aus, dass alle radiobuttons unsichtbar sind:
Delphi-Quellcode:
Ist jetzt nicht schön programmiert, ich weis... aber ist es das, was dir Kopferbrechen :wink: bereitet???
if ini.readstring('server1','name','') <> '' then
begin radiobutton1.show; radiobutton1.caption:=ini.readstring('server1','name',''); end; |
Re: INI auslesen
öhm, ich bin ein neuling.
Frage 1: <> was ist das? aussage: mein problem ist, dass is der erstellen ettxsatei nix drin steht. auch die caption klappt nichts |
Re: INI auslesen
Zitat:
"<>" kleiner als, größer als... also nicht gleich :wink: Wenn in der Inidatei unter der gleichen Rubrik, die du zum auslesen nimmst etwas drin steht, dann muss mit meinen Code im vorherigen post etwas in dem Radiobutton stehen!!! Wegen der Textdatei: Prüfe erst mal, ob in der Variable die du in die Txt schreibst, überhaupt was drin steht! z.B. mit
Delphi-Quellcode:
showmessage(serverpath);
|
Re: INI auslesen
Wozu überhaupt die Textdatei, schreibs doch in die Ini.
|
Re: INI auslesen
in der textdatei steht dann nichts drin <----- so soll das heisen //bin etwas müde^^
im radiobutton muss ja vorhernichts drin stehen. dort soll was reingeschrieben werden. das, was in der ini unter name steht, soll in die caption von radiobutton. das wa sin der ini unter path steht soll dann per kopfdruck in eine textdatei geschrieben werden. liegt mein fehler bei dem
Delphi-Quellcode:
?
procedure TForm1.INI_Read;
was vll auch sein könnte ist, dass ih di variablen an der falschen stelle definiert habe, alsi die variable server1path is im vereinbarungsteil im hauptformular. die variable Ini in der procedure TForm1.INI_Read; stimmt das so? die textdatei is für ein anderes programm. diesi programm liest dort den server heraus, wo es sich anmelden soll. edit: entweder mach ichs mir viel zu kompliziert, oder ich bin noch zu unerfahren dafür.... wohl eher das zweite |
Re: INI auslesen
mit deinen Fetzen von Quelltext und deinen uneinleuchtenden Erläuterungen komm ich im Moment gar nich klar (sorry für die Ausdrucksweise... :oops: )
Was soll z.B. das???
Delphi-Quellcode:
Wenn ich das kapieren soll, dann musst du mal deinen ganzen Code posten...
procedure TForm1.INI_Read;
|
Re: INI auslesen
Viel spaß damit^^
Delphi-Quellcode:
unit mainform;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls; type TForm1 = class(TForm) RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; RadioButton4: TRadioButton; Btn_setrealmlist: TButton; Image1: TImage; btn_srartwowundenderlc: TButton; procedure INI_Read; procedure Btn_setrealmlistClick(Sender: TObject); procedure btn_srartwowundenderlcClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; server1path: string; implementation uses Math, IniFiles; {$R *.dfm} procedure TForm1.INI_Read; var Ini: TIniFile; begin Ini:=TIniFile.Create('serverlist.ini'); RadioButton1.Caption:=Ini.ReadString('Server1','name','keine Angabe'); server1path:=Ini.ReadString('Server1','path','keine Angabe'); RadioButton1.Visible:=Ini.ReadBool('Server1','show',True); Ini.Free; end; procedure TForm1.Btn_setrealmlistClick(Sender: TObject); var datei: Textfile; begin if (RadioButton1.Checked = false)and (RadioButton2.Checked = false)and (RadioButton3.Checked = false)and (RadioButton4.Checked = false) then showmessage('Bitte wähle einen Server') else begin if RadioButton1.Checked = true then begin assignfile(datei, 'realmlist.wtf'); rewrite(datei); writeln(datei, server1path); closefile(datei); end; if RadioButton2.Checked = true then begin assignfile(datei, 'realmlist.wtf'); rewrite(datei); writeln(datei, 'set realmlist jeff2.no-ip.info'); closefile(datei); end; If RadioButton3.Checked = true then begin assignfile(datei, 'realmlist.wtf'); rewrite(datei); writeln(datei, 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); closefile(datei); end; if RadioButton4.Checked = true then begin assignfile(datei, 'realmlist.wtf'); rewrite(datei); writeln(datei, 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'); closefile(datei); end; end; end; procedure TForm1.btn_srartwowundenderlcClick(Sender: TObject); begin if FileExists('wow.exe')= true then begin WinExec('wow.exe',sw_show); end else ShowMessage('World of Warcraft konnte nicht gestarted werden! Bitte überprüfen sie, ob sich RealmlistChooser in ihrem World of Warcraft Installations-Ordner befindet.') end; end. |
Re: INI auslesen
Wo wird denn deine procedure Ini.Read aufgerufen ?
|
Re: INI auslesen
weis nich!?
|
Re: INI auslesen
war da nich wa smit oncreate? wi ein blitz schießt es durch mein kopf
wie ging das gleich? solche klein fehler.... schlimm, oder? geht das auch erfahren programmierern so? |
Re: INI auslesen
Doppelklicken aufs Form => jetzt müsste eigentlich das OnCreate zu sehen sein... und dort die proc aufrufen!
Tut mir leid, dass ich das sagen muss, aber ich glaub es wäre besser wenn dumal bei ![]() |
Re: INI auslesen
ich hab ha da schon bissl drin rumgestöbert. ich bineben merh der typ "learning by doing". Nur auf kosten der nerven aderer menschen, tut mir leid.
|
Re: INI auslesen
Dann ersetze diese Zeile Ini:=TIniFile.Create('serverlist.ini'); mal
durch diese Ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'serverlist.ini'); Die Ini wird dann in das Verzeichnis geschrieben wo deine Exe liegt. |
Re: INI auslesen
eins noch
Delphi-Quellcode:
Ini:=TIniFile.Create('serverlist.ini');
RadioButton1.Caption:=Ini.ReadString('Server1','name','keine Angabe'); server1path:=Ini.ReadString('Server1','path','keine Angabe'); RadioButton1.Visible:=Ini.ReadBool('Server1','show',True); Ini.Free; nu steht bei der Caption "keine Agabe". wenn ich nichts hinschreibe, steht nichts da, wie amch ichs nun, dass das aus der INI dassteht? INI: [server1] name=Blizzard path=set realmlist eu.logon.worldofwarcraft.com show=1 [server2] name=Hyrule path=set realmlist jeff2.no-ip.info show=1 [server4] name= path= show=0 [server5] name= path= show=0 |
Re: INI auslesen
Delphi-Quellcode:
unit mainform;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls; type TForm1 = class(TForm) RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; RadioButton4: TRadioButton; Btn_setrealmlist: TButton; Image1: TImage; btn_srartwowundenderlc: TButton; procedure INI_Read; procedure Btn_setrealmlistClick(Sender: TObject); procedure btn_srartwowundenderlcClick(Sender: TObject); procedure formcreate(sender:tobject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; server1path,server2path,server3path,server4path: string; implementation uses Math, IniFiles; {$R *.dfm} procedure TForm1.INI_Read; var Ini: TIniFile; begin Ini:=TIniFile.Create((ExtractFilePath(paramstr(0))+'\serverlist.ini'); RadioButton1.Caption:=Ini.ReadString('Server1','name',''); RadioButton2.Caption:=Ini.ReadString('Server2','name',''); RadioButton3.Caption:=Ini.ReadString('Server3','name',''); RadioButton4.Caption:=Ini.ReadString('Server4','name',''); server1path:=Ini.ReadString('Server1','path',''); server2path:=Ini.ReadString('Server2','path',''); server3path:=Ini.ReadString('Server3','path',''); server4path:=Ini.ReadString('Server4','path',''); if server1path<>'' then radiobutton1.show; if server2path<>'' then radiobutton2.show; if server3path<>'' then radiobutton3.show; if server4path<>'' then radiobutton4.show; Ini.Free; end; procedure TForm1.Btn_setrealmlistClick(Sender: TObject); var datei: Textfile; begin if (RadioButton1.Checked = false)and (RadioButton2.Checked = false)and (RadioButton3.Checked = false)and (RadioButton4.Checked = false) then showmessage('Bitte wähle einen Server') else begin if RadioButton1.Checked = true then begin assignfile(datei, 'realmlist.wtf'); rewrite(datei); writeln(datei, server1path); closefile(datei); end; if RadioButton2.Checked = true then begin assignfile(datei, 'realmlist.wtf'); rewrite(datei); writeln(datei, server2path); closefile(datei); end; If RadioButton3.Checked = true then begin assignfile(datei, 'realmlist.wtf'); rewrite(datei); writeln(datei, server3path); closefile(datei); end; if RadioButton4.Checked = true then begin assignfile(datei, 'realmlist.wtf'); rewrite(datei); writeln(datei, server4path); closefile(datei); end; end; end; procedure TForm1.btn_srartwowundenderlcClick(Sender: TObject); begin if FileExists('wow.exe')= true then begin WinExec('wow.exe',sw_show); end else ShowMessage('World of Warcraft konnte nicht gestarted werden! Bitte überprüfen sie, ob sich RealmlistChooser in ihrem World of Warcraft Installations-Ordner befindet.'); end; procedure Tform1.formcreate(sender:Tobject); begin ini_read; end; end. |
Re: INI auslesen
guck mal ob das nun so funkt, wenn nicht dann sag, an welcher stelle es nicht geht!
|
Re: INI auslesen
@Blackheart
es geht, danke @TonyR auch danke, danke für die gedult mit mir ;) |
Re: INI auslesen
gern geschehen... wozu gibt's dieses Forum denn...
Aber bitte versuch dir noch ein paar Tutorials durchzulesen :wink: !!!! |
Re: INI auslesen
grob geht alles.
ich hab ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'serverlist.ini'); von blackheart genommen, deine,TonyR, ging nicht. das mit dem verstekcne der Radiobuttins geht auich nich. da dachte ich, nehm ich meins
Delphi-Quellcode:
aber an der dick markierten stelle meckert der compiler
RadioButton1.Visible:=Ini.ReadBool('Server1','show',[b]''[/b]);
RadioButton2.Visible:=Ini.ReadBool('Server2','show',''); RadioButton3.Visible:=Ini.ReadBool('Server3','show',''); RadioButton4.Visible:=Ini.ReadBool('Server4','show',''); edit: [Fehler] mainform.pas(57): Inkompatible Typen: 'Boolean' und 'String' [Fehler] mainform.pas(58): Inkompatible Typen: 'Boolean' und 'String' [Fehler] mainform.pas(59): Inkompatible Typen: 'Boolean' und 'String' [Fehler] mainform.pas(60): Inkompatible Typen: 'Boolean' und 'String' [Fataler Fehler] Realmlistchooser.dpr(5): Verwendete Unit 'mainform.pas' kann nicht compiliert werden |
Re: INI auslesen
Zitat:
Delphi-Quellcode:
RadioButton1.Visible:=Ini.ReadBool('Server1','show',false);
RadioButton2.Visible:=Ini.ReadBool('Server2','show',false); RadioButton3.Visible:=Ini.ReadBool('Server3','show',false); RadioButton4.Visible:=Ini.ReadBool('Server4','show',false); |
Re: INI auslesen
so danke, nun geht alles. danke danke danke
ich werd demnächsz bissl belesen, versprochen! |
Re: INI auslesen
Tutorial lesen!!!!
Dann hättest du auch mitbekommen, dass Boolean nur 0 und 1 bzw. nur true und false als wert erhalten können!!! '' ist ja ein string!!!! |
Re: INI auslesen
[OT]
Ähm, berichtige mich falls ich mich irre, aber darüber: Zitat:
[/OT] |
Re: INI auslesen
@ sko:
das ist wirklich extrem OT! Und gleube ich sollte hier auch nicht ausdiskutiert werden! :wink: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:39 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