| Autor |
Beitrag |
patrick dee
      
Beiträge: 311
Win 98SE, WinXP
D3,D6
|
Verfasst: Do 02.01.03 11:53
hallo reader,
Problem:
habe eine ListBox mit div einträgen. Wenn ich nun auf einen klicke soll eine Datei erzeugt werden die IMMER Naps.cc1 heissen soll. in dieser soll dann immer der eintrag aus der listbox stehen. hast du ein beispiel für mich wie so etwas geht ?????
danke
patrick
_________________ Glauben heißt nichts wissen ...
|
|
Jack Falworth
      
Beiträge: 222
Win XP Pro, Slackware 10.0
D5 Enterprise, C++, ABAP
|
Verfasst: Do 02.01.03 12:53
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure Speichern; var datei: Textfile; begin assignfile (datei, NapsCC1); try rewrite (datei); writeln (datei, Listbox1.ItemIndex); finally closefile (datei); end; end; |
Ich habs nicht geprüft, sollte aber funktionieren. Das ist eine einfache Variante mit einer Textfile.
MfG
Jack Falworth
_________________ Andere zu kritisieren ist mitunter eine Möglichkeit, sich selbst ins bessere Licht zu setzen.
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 02.01.03 15:54
| Jack Falworth hat folgendes geschrieben: | Ich habs nicht geprüft, sollte aber funktionieren.
Quelltext 1: 2:
| ... writeln (datei, Listbox1.ItemIndex); | |
Kleine Korrektur: mit der Zeile speicherst du die Index-Nr. des ausgewählten Eintrags in der Datei, aber nicht den String, der dadurch repräsentiert wird. Richtig wäre IMHO
Quelltext 1:
| writeln (datei, Listbox1.Items[Listbox1.ItemIndex]); |
Außerdem würde ich vor dem Speichern prüfen, ob überhaupt ein Eintrag gewählt wurde. Wenn nicht, ist der ItemIndex -1!
|
|
S - tefano
      
Beiträge: 28
|
Verfasst: Do 02.01.03 16:04
Hi,
Wenn er die Speichern-Prozedur innerhalb des OnClickEvents aufruft, muss er das nicht machen. Dann hat er nämlich auf jeden Fall einen "gültigen" ItemIndex (der Event wird ja nur ausgelöst, wenn man auf ein Item klickt).
Bis denn,
S - tefano
_________________ Es gibt Tage, an denen verliert man, und es gibt Tage, an denen gewinnen die anderen.
Walk on
|
|
Jack Falworth
      
Beiträge: 222
Win XP Pro, Slackware 10.0
D5 Enterprise, C++, ABAP
|
Verfasst: Do 02.01.03 17:32
Mein Fehler, war in Eile.
MfG
Jack Falworth
_________________ Andere zu kritisieren ist mitunter eine Möglichkeit, sich selbst ins bessere Licht zu setzen.
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 02.01.03 18:17
| S - tefano hat folgendes geschrieben: | | Wenn er die Speichern-Prozedur innerhalb des OnClickEvents aufruft, muss er das nicht machen. Dann hat er nämlich auf jeden Fall einen "gültigen" ItemIndex (der Event wird ja nur ausgelöst, wenn man auf ein Item klickt). |
Richtig! Aber ich hab´s mir mittlerweile angewöhnt, auf Nummer Sicher zu gehen und lieber eine Prüfung zuviel einzubauen.  Aber recht hast du trotzdem!
| Jack Falworth hat folgendes geschrieben: | | Mein Fehler, war in Eile. |
Null Problemo. Passiert schon mal ...
|
|
S - tefano
      
Beiträge: 28
|
Verfasst: Do 02.01.03 18:53
Am besten gratulieren wir uns einfach zu unserer "Tolligkeit" und das wars dann. 
_________________ Es gibt Tage, an denen verliert man, und es gibt Tage, an denen gewinnen die anderen.
Walk on
|
|
patrick dee 
      
Beiträge: 311
Win 98SE, WinXP
D3,D6
|
Verfasst: Fr 03.01.03 17:14
hi leute
danke für die vielen antworten. aber wie muß ich das ganze bei mir einbauen ??? in der listbox1 dblclick ???
den ich muß ja noch sagen wohin er die datei legen soll. dies will ich mit edit2.text machen. also wie geht das mit dblclick das in den order zu legen desen pfad ich in edit 2 habe
arbeite mit delphi 6
danke
gruß
patti
_________________ Glauben heißt nichts wissen ...
|
|
Jack Falworth
      
Beiträge: 222
Win XP Pro, Slackware 10.0
D5 Enterprise, C++, ABAP
|
Verfasst: Fr 03.01.03 19:15
jep baust das in das Doppelclick Ereignis der Listbox ein.
Für den Dateinamen musst du nur die Procedure etwas erweitern.
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure Speichern; var datei: Textfile; begin datei:= Edit2.Text; try assignfile (datei, NapsCC1); try rewrite (datei); writeln (datei, Listbox1.Items[Listbox1.ItemIndex]); finally closefile (datei); end; except Showmessage ('Ungueltiger Dateiname!'); end; end; |
Müsste eigentlich funktionieren,
MfG
Jack Falworth
_________________ Andere zu kritisieren ist mitunter eine Möglichkeit, sich selbst ins bessere Licht zu setzen.
|
|
patrick dee 
      
Beiträge: 311
Win 98SE, WinXP
D3,D6
|
Verfasst: Sa 04.01.03 14:10
hi,
ok habe es so gemacht bekomme aber noch die Fehler:
| Zitat: | undefinierter bezeichner NapsCC1.
'.' erwartet aber ';' gefunden.
Ungenügend Forward oder External deklaration TForm1.Speichern. |
so habe ich es
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| public { Public-Deklarationen } procedure Speichern;
procedure TForm1.ListBox1DblClick(Sender: TObject); var datei: Textfile; begin datei:= Edit2.Text; try assignfile (datei, rc1); try rewrite (datei); writeln (datei, Listbox1.Items[Listbox1.ItemIndex]); finally closefile (datei); end; except Showmessage ('Ungueltiger Dateiname!'); end; end;
end; |
gruß
patti
(04.01. 23:25 Tino) Code-Tag hinzugefügt.
_________________ Glauben heißt nichts wissen ...
|
|
Jack Falworth
      
Beiträge: 222
Win XP Pro, Slackware 10.0
D5 Enterprise, C++, ABAP
|
Verfasst: Sa 04.01.03 15:02
ups sorry mein fehler, kann ja so nicht klappen.
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure Speichern; var datei: Textfile; dateiname: string; begin dateiname:= Edit2.Text; try assignfile (datei, dateiname); try rewrite (datei); writeln (datei, Listbox1.Items[Listbox1.ItemIndex]); finally closefile (datei); end; except Showmessage ('Ungueltiger Dateiname!'); end; end; |
jetzt nur noch in das Edit Naps.cc1 oder sonstwas eintragen, dann sollte es klappen.
_________________ Andere zu kritisieren ist mitunter eine Möglichkeit, sich selbst ins bessere Licht zu setzen.
|
|
patrick dee 
      
Beiträge: 311
Win 98SE, WinXP
D3,D6
|
Verfasst: Sa 04.01.03 15:34
hi
programm startet aber nix passiert wollte eigendlich in edit 2 den pfad eingeben wo das ganze abgelegt wird zb F:\Eintrag\
wenn ich jetzt klicke passiert nix auch mit der suchfunktion finde ich im computer nix
gruß
patti
_________________ Glauben heißt nichts wissen ...
|
|
Jack Falworth
      
Beiträge: 222
Win XP Pro, Slackware 10.0
D5 Enterprise, C++, ABAP
|
Verfasst: Sa 04.01.03 17:29
Ich hab das bei mir jetzt ausprobiert und es funktioniert!!
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure Speichern; var datei: Textfile; dateiname: string; begin dateiname:= Form1.Edit1.Text; try assignfile (datei, dateiname); try rewrite (datei); writeln (datei, Form1.Listbox1.Items[Form1.Listbox1.ItemIndex]); finally closefile (datei); end; except Showmessage ('Ungueltiger Dateiname!'); end; end;
procedure TForm1.ListBox1DblClick(Sender: TObject); begin Speichern; end; |
und als Pfad nimmst du z.b. " ./hallo.cc1 " dann wird die Datei in das aktuelle Verzeichnis gespeichert. Du kannst aber auch jedes x-beliebige Verzeichist benutzen.
Wenn du nur das Verzeichnis reinschreiben willst, dann musst du halt noch eine Procedure schreiben, die an den pfad den dateinamen anhängt.
MfG
Jack Falworth
_________________ Andere zu kritisieren ist mitunter eine Möglichkeit, sich selbst ins bessere Licht zu setzen.
|
|
patrick dee 
      
Beiträge: 311
Win 98SE, WinXP
D3,D6
|
Verfasst: So 05.01.03 07:14
danke jack
jetzt geht es auch bei mir
gruß
patti 
_________________ Glauben heißt nichts wissen ...
|
|