Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi INI Dateien auslesen (https://www.delphipraxis.net/3206-ini-dateien-auslesen.html)

Pseudemys Nelsoni 1. Mär 2003 06:25

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

Luckie 1. Mär 2003 06:27

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.

Pseudemys Nelsoni 1. Mär 2003 07:42

jo hehe sorry, hab halt noch nicht so nen grossen plan davon :(

btw nochmal was...

Delphi-Quellcode:
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;
wie man da sieht sind da ca 5 mal

Delphi-Quellcode:
if settings.ReadString('server', 'servernr', '') = '4' then
    begin
      listbox1.Selected[4-1] := true;
    end;
solche sachen (nur mit anderen werten)

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 :(

Christian Seehase 1. Mär 2003 13:27

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;

Pseudemys Nelsoni 1. Mär 2003 14:54

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

Christian Seehase 1. Mär 2003 15:39

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:
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;
Da die ServerNummer ja numerisch ist, kannst Du sie auch gleich als Integer lesen.

Pseudemys Nelsoni 2. Mär 2003 18:23

genau so meinte ich das, danke :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:35 Uhr.
Seite 3 von 3     123   

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