AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi LoadDialog mit TMainMenu funktioniert nicht korrekt.
Thema durchsuchen
Ansicht
Themen-Optionen

LoadDialog mit TMainMenu funktioniert nicht korrekt.

Ein Thema von Subsidenz · begonnen am 15. Jun 2008 · letzter Beitrag vom 18. Jun 2008
Antwort Antwort
Seite 1 von 2  1 2      
Subsidenz

Registriert seit: 24. Mai 2008
Ort: Dresden
34 Beiträge
 
#1

LoadDialog mit TMainMenu funktioniert nicht korrekt.

  Alt 15. Jun 2008, 13:43
Hallo,

Ich habe mal wieder eine Frage .

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
Ich würde mich ja gerne mit dir geistig duellieren,
aber wie ich sehe bist du unbewaffnet.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.

  Alt 15. Jun 2008, 14:10
Jetzt wäre es ziemlich hilfreich die Ini-Datei zu kenne.

Und warum mamchst du das:
Ini.ReadSectionValues(t+IntToStr(0),sl); Warum schreibst du nicht 't0', wenn sich doch nichts ändert?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Subsidenz

Registriert seit: 24. Mai 2008
Ort: Dresden
34 Beiträge
 
#3

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.

  Alt 15. Jun 2008, 14:14
Zitat von Luckie:
Jetzt wäre es ziemlich hilfreich die Ini-Datei zu kenne.

Und warum mamchst du das:
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:

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.
Ich würde mich ja gerne mit dir geistig duellieren,
aber wie ich sehe bist du unbewaffnet.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.

  Alt 15. Jun 2008, 14:17
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
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;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Subsidenz

Registriert seit: 24. Mai 2008
Ort: Dresden
34 Beiträge
 
#5

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.

  Alt 15. Jun 2008, 14:19
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.
Ich würde mich ja gerne mit dir geistig duellieren,
aber wie ich sehe bist du unbewaffnet.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#6

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.

  Alt 15. Jun 2008, 14:21
Ich hab das Gefühl, dass Du ReadSections und nicht ReadSectionValues brauchst.
  Mit Zitat antworten Zitat
Subsidenz

Registriert seit: 24. Mai 2008
Ort: Dresden
34 Beiträge
 
#7

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.

  Alt 15. Jun 2008, 14:35
Der meckert an folgender Stelle:

ini := TIniFile.Create(ExtractFilePath( ParamStr(0))+name);
Ich würde mich ja gerne mit dir geistig duellieren,
aber wie ich sehe bist du unbewaffnet.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#8

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.

  Alt 15. Jun 2008, 14:38
Sorry, Glaskugel kaputt...

Könnte aber an Name liegen
  Mit Zitat antworten Zitat
Subsidenz

Registriert seit: 24. Mai 2008
Ort: Dresden
34 Beiträge
 
#9

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.

  Alt 15. Jun 2008, 14:41
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
Ich würde mich ja gerne mit dir geistig duellieren,
aber wie ich sehe bist du unbewaffnet.
  Mit Zitat antworten Zitat
Subsidenz

Registriert seit: 24. Mai 2008
Ort: Dresden
34 Beiträge
 
#10

Re: LoadDialog mit TMainMenu funktioniert nicht korrekt.

  Alt 15. Jun 2008, 14:49
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
Ich würde mich ja gerne mit dir geistig duellieren,
aber wie ich sehe bist du unbewaffnet.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 Uhr.
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