![]() |
hab gerade gemerkt das die ini nicht vorhanden war, muss irgendwie gelöscht worden sein, ka hatte pc heut nacht ohne herunterzufahren ausgemacht...
also vielen danke für die hilfe leute :) gruss mario |
Klar bleibt es leer, wenn die Sektion oder Schlüssel nicht existiert wird der default-String genommen und den hast du mit '' angegeben.
Reicht nicht. Legt dich noch mal hin. |
jo hehe sorry, hab halt noch nicht so nen grossen plan davon :(
btw nochmal was...
Delphi-Quellcode:
wie man da sieht sind da ca 5 mal
procedure TForm3.FormActivate(Sender: TObject);
var settings: TIniFile; begin settings := TIniFile.create(ExtractFilePath(ParamStr(0)) + 'settings.ini'); Try edit1.Text := settings.ReadString('nick', 'nickname', ''); edit2.Text := settings.ReadString('nick', 'passwort', ''); if settings.ReadString('server', 'servernr', '') = '1' then begin listbox1.Selected[1-1] := true; end; if settings.ReadString('server', 'servernr', '') = '2' then begin listbox1.Selected[2-1] := true; end; if settings.ReadString('server', 'servernr', '') = '3' then begin listbox1.Selected[3-1] := true; end; if settings.ReadString('server', 'servernr', '') = '4' then begin listbox1.Selected[4-1] := true; end; if settings.ReadString('server', 'servernr', '') = '5' then begin listbox1.Selected[5-1] := true; end; finally settings.Free; end; end;
Delphi-Quellcode:
solche sachen (nur mit anderen werten)
if settings.ReadString('server', 'servernr', '') = '4' then
begin listbox1.Selected[4-1] := true; end; könnte man das nicht irgendwie kürzer machen? also nicht für jeden wert nochmal das ganze schreiben? mit ner prozedur(?) oder so?? gruss mario btw: schlafen geht nimmer muss noch pc kaufen :( |
Moin Mario,
sollte so gehen:
Delphi-Quellcode:
procedure TForm3.FormActivate(Sender: TObject);
var settings: TIniFile; i : integer; begin settings := TIniFile.create(ExtractFilePath(ParamStr(0)) + 'settings.ini'); Try edit1.Text := settings.ReadString('nick', 'nickname', ''); edit2.Text := settings.ReadString('nick', 'passwort', ''); for i := 0 to 4 do begin ListBox1.Selected[i] := Settings.ReadString('server','servernr','') = IntToStr(i+1); end; finally settings.Free; end; end; |
moin christian, danke für den code, das funktioniert bei mir nur nicht :(
also ich hab ne ini datei da steht ca: [server] servernr=2 Servernummer kann zwischen 1-5 schwanken deswegen soll beim oncreate meines form3's aus der ini gelesen werden welche zahl da ist also 1,2,3,4 oder 5 und dann dementsprechen z.b wenn da 4 steht soll die 4. Zeile meiner listbox markiert anzeigezeigt werden hoffe das du mir das sagen kannst :) gruss mario |
Moin Mario,
mir ist zwar im Moment nicht so recht klar, warum das nicht funktioniert (auch wenn's nicht schön ist die Servernummer fünfmal zu lesen, gehen sollte es so), aber ich hätte da noch eine Idee:
Delphi-Quellcode:
Da die ServerNummer ja numerisch ist, kannst Du sie auch gleich als Integer lesen.
var
settings : TIniFile; iServerNr : integer; begin settings := TIniFile.create(ExtractFilePath(ParamStr(0)) + 'settings.ini'); Try edit1.Text := settings.ReadString('nick', 'nickname', ''); edit2.Text := settings.ReadString('nick', 'passwort', ''); iServerNr := Settings.ReadInteger('server','servernr',-1); if iServerNr <> -1 then begin ListBox1.Selected[iServerNr-1] := true; end; finally settings.Free; end; end; |
genau so meinte ich das, danke :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:06 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