Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi LoadDialog mit TMainMenu funktioniert nicht korrekt. (https://www.delphipraxis.net/115632-loaddialog-mit-tmainmenu-funktioniert-nicht-korrekt.html)

Subsidenz 15. Jun 2008 13:43


LoadDialog mit TMainMenu funktioniert nicht korrekt.
 
Hallo,

Ich habe mal wieder eine Frage :oops: .

Es geht um folgendes:
Ich möchte mit dem Klicken des Elements "Open" in einer TMainMenu (also der Leiste oben) alle Einträge in einer ini-Datei auslesen. Dabei habe ich schon eine Lösung nur lädt der nur (bzw. zeigt nur) die erste Zeile in meiner Tabelle an. Nur die Tabellenüberschriften werden geladen sonst nichts. Irgendetwas stimmt mit meiner Prozedur nicht. Vielleicht könnt ihr mir helfen.

Delphi-Quellcode:
var
   name,t    : String;
[...]

procedure TForm1.oeffnenClick(Sender: TObject);
begin
open.execute;
t:=open.Filename;
try
ini := TIniFile.Create(ExtractFilePath( ParamStr(0))+name);
begin
a:=1;
n:=0;
t:='t';
 begin
  sl := TStringList.Create;
  try
    Ini.ReadSectionValues(t+IntToStr(0),sl);
    b := sl.Count;
    finally
    FreeAndNil(sl);
  end;
grid.RowCount:=b+1;
 for a:=1 to b do
  for n:=0 to 4 do
   grid.Cells[n,a]:=ini.ReadString(t+IntToStr(n), IntToStr(a), '');
end;
ShowMessage('Ladevorgang war erfolgreich!'); end;
finally
ini.free;
end; end;
Mit freundlichen Grüßen Subsidenz

Luckie 15. Jun 2008 14:10

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.
 
Jetzt wäre es ziemlich hilfreich die Ini-Datei zu kenne.

Und warum mamchst du das:
Delphi-Quellcode:
Ini.ReadSectionValues(t+IntToStr(0),sl);
Warum schreibst du nicht 't0', wenn sich doch nichts ändert?

Subsidenz 15. Jun 2008 14:14

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.
 
Zitat:

Zitat von Luckie
Jetzt wäre es ziemlich hilfreich die Ini-Datei zu kenne.

Und warum mamchst du das:
Delphi-Quellcode:
Ini.ReadSectionValues(t+IntToStr(0),sl);
Warum schreibst du nicht 't0', wenn sich doch nichts ändert?

Die Sektionen in der ini heißen ja t0 oder t1 oder t2 .. usw.
Deswegen:

Delphi-Quellcode:
Ini.ReadSectionValues(t+IntToStr(0),sl);
Ich merk grad dass ich t 2mal belegt habe muss das schnell mal korrigieren.
t soll der Name der datei sein, und in dieser Datei (immer eine ini) soll er Werte auslesen.

Luckie 15. Jun 2008 14:17

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.
 
Zitat:

Zitat von Subsidenz
Die Sektionen in der ini heißen ja t0 oder t1 oder t2 .. usw.

Äh ja. Aber dein IntToStr(0) ist doch statisch, da ändert sich doch nie was. Also kannst du gleich 't0' schreiben. Mach mal
Delphi-Quellcode:
s := t + IntToStr(0);
und lass dir s mal ausgeben.

So würde dein Code mit dem IntToStr(0) mehr Sinn ergeben:
Delphi-Quellcode:
for i := t0 9 do
begin
  Ini.ReadSectionValues(t+IntToStr(i),sl);
  //...;
end;

Subsidenz 15. Jun 2008 14:19

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.
 
Es sollte so funktionieren:

1. Ich wähle eine ini-Datei aus.
2. Er soll sich den Namen der ini-Datei merken.
3. Er soll die Werte aus der ausgewählten ini-Datei auslesen und in die Tabelle eintragen.

So ungefähr sollte es funktionieren. :lol:

Die Muhkuh 15. Jun 2008 14:21

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.
 
Ich hab das Gefühl, dass Du ReadSections und nicht ReadSectionValues brauchst.

Subsidenz 15. Jun 2008 14:35

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.
 
Der meckert an folgender Stelle:

Delphi-Quellcode:
ini := TIniFile.Create(ExtractFilePath( ParamStr(0))+name);

Die Muhkuh 15. Jun 2008 14:38

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.
 
Sorry, Glaskugel kaputt...

Könnte aber an Name liegen

Subsidenz 15. Jun 2008 14:41

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.
 
Zitat:

Zitat von Die Muhkuh
Sorry, Glaskugel kaputt...

Könnte aber an Name liegen

Jo hab mal name in die Varieble 'u' geändert jetzt kommt zwar ein anderer Fehler, aber ein Stück weiter sind wir dennoch. XD

Subsidenz 15. Jun 2008 14:49

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.
 
Delphi-Quellcode:
procedure TForm1.oeffnenClick(Sender: TObject);
begin
open.execute;
u:=open.Filename;
a:=1;
n:=0;
t:='t';
 begin
  sl := TStringList.Create;
  ini := TIniFile.Create(ExtractFilePath( ParamStr(0))+u);
  try
    Ini.ReadSectionValues(t+IntToStr(0),sl);
    b := sl.Count;
    finally
    FreeAndNil(sl);
  end;
grid.RowCount:=b+1;
 for a:=1 to b do
  for n:=0 to 4 do
   grid.Cells[n,a]:=ini.ReadString(t+IntToStr(n), IntToStr(a), '');
end;
ShowMessage('Ladevorgang war erfolgreich!');
ini.free;
end;
Soweit funktioniert das aber er lädt nur eine Zeile. Bin ratlos :?: . In der Tabelle erscheinen nur die fixierten Zellenüberschriften.

MFG Subsidenz


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:35 Uhr.
Seite 1 von 2  1 2      

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