Autor Beitrag
Toastbrotbaby
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 98



BeitragVerfasst: Mo 18.07.05 16:28 
hmmm irgendwie klappt da was noch nicht so ganz so wie das wohl soll ...

Habe ein TEdit wo etwas eingegeben werden kann und einen button der das was in TEdit steht direkt in eine .ini datei speichern soll. aber aus irgendeinem grund klappt dit net so ... hier ma mein code


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
begin
ini := TIniFile.create ('G:\Progs\Test.ini');
  if (Input.Text <> '') then
    try
ini.WriteString ('Sektion1', 'Eigenschaft1', a);
finally
ini.free
  else
    ShowMessage('Fehler!');
end;


Ich hoffe das mir jemand helfen kann ...

Moderiert von user profile iconKlabautermann: Code- durch Delphi-Tags ersetzt.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 18.07.05 16:36 
Wie kommt denn der String in die Variable 'a' rein? Du solltest vorher wohl noch irgendwo 'a' den Inhalt deines Edits zu weisen.
Tilman
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1405
Erhaltene Danke: 51

Win 7, Android
Turbo Delphi, Eclipse
BeitragVerfasst: Mo 18.07.05 16:37 
try..except..end oder
try..finally..end

except führt alles aus wenn es einen fehler in try gab.
finally führt befehle er aus, ob try erfolg hatte oder nicht.

else gibts nicht in dem kontext, wenn ich mich nicht völlig täusche.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 18.07.05 16:42 
Das else gehört wohl hier if (Input.Text <> '') then zu.

Aber so wäre es wohl sinnvoller:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
uses
  IniFiles;

procedure TForm1.Button1Click(Sender: TObject);
var
  ini                    : TIniFile;
begin
  ini := TIniFile.create('G:\Progs\Test.ini');
  if (Edit1.Text <> '') then
  begin
    try
      ini.WriteString('Sektion1', 'Eigenschaft1', Edit1.Text);
    finally
      ini.free;
    end;
  end
  else
    ShowMessage('Fehler!');
end;

Hätte man den Quellcode gleich ordentlich formatiert, wäre der Fehler mit dem else aber auch schon so aufgefallen. ;)
Desweiteren wäre eine gescheite Fehlerbeschreibung, und 'klappt nicht' ist für mich keine, auch schon hilfreich gewesen. :roll:
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mo 18.07.05 16:45 
Hi,

ich schätze das soll so aussehen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
begin
ini := TIniFile.create ('G:\Progs\Test.ini');
  if (Input.Text <> '') then begin
    try
      ini.WriteString ('Sektion1', 'Eigenschaft1', a);
    finally
      ini.free
    end;
  end
 
  else
    ShowMessage('Fehler!');
end;


Wenn du deinen Quelltext vernünftig einrückst fallen solche Fehler leichter auf.

//Edit: Luckie war schneller.

Gruß
Klabuatermann


Zuletzt bearbeitet von Klabautermann am Mo 18.07.05 16:46, insgesamt 1-mal bearbeitet
Tilman
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1405
Erhaltene Danke: 51

Win 7, Android
Turbo Delphi, Eclipse
BeitragVerfasst: Mo 18.07.05 16:45 
Zitat:
Das else gehört wohl hier if (Input.Text <> '') then zu.


Stimmt, hatte ich überlesen :? war aber schon ein wenig unübersichtlich der code.
Toastbrotbaby Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 98



BeitragVerfasst: Mo 18.07.05 18:17 
hmmm jo sry ... passiert manchmal in der eile ...
wollts eigentlich noch ein wenig übersichtlicher gestalten und auch noch genauer beschreiben was der fehler war ... dann musst ich kurz weg und als ich wieder da war hab ich erstmal dezent nur noch auf absenden geklickt und schwupp wars hier ... naja ... kommt vor ...
aber thx für die hilfe ...