Benutzer mit den meisten Antworten
Aufrufen einer Funktion in einer Klasse

Frage
-
Also ich bin jetzt langsam mit meinem Projekt in der Endphase,
nur funktioniert noch nicht alles so wie ich mir das vorstelle.
Ich benutze Visual Studio 2008 und ein SmartDeviceProject mit NET Framework 2.0 .
Hier habe ich einen Button, der auf klick die Funktion "Speichern"
aufrufen soll
public void Form1_Load(object sender, EventArgs e) { WriteTextFile Werte = new WriteTextFile(); Werte.Speichern(); }
Diese hier ("public void Speichern()" ist drin um das Problem zu lösen : "No overload for method 'Speichern' takes '0' arguments ")
class WriteTextFile { public void Speichern() { } public void Speichern(Form1 Quelle) { string datum = DateTime.Now.ToString("M_d_yyyy") + ".txt"; String Pfad = Path.Combine(@"\My Documents\Barcodes\", datum); string text = Quelle.comboBox1.Text; if (File.Exists(Pfad)) { using (System.IO.StreamWriter file = new System.IO.StreamWriter(Pfad, true)) { string Versuchstyp = Quelle.comboBox1.Text; string Einlegeposition = Quelle.comboBox2.Text; string Barcode = Quelle.textBox1.Text; file.Write(DateTime.Now.ToString()); file.Write(" "); file.Write(Versuchstyp); file.Write(" "); file.Write(Einlegeposition); file.Write(" "); file.WriteLine(Barcode); file.Close(); } } else { StreamWriter myWriter = File.CreateText(Pfad); string Versuchstyp = Quelle.comboBox1.Text; string Einlegeposition = Quelle.comboBox2.Text; string Barcode = Quelle.textBox1.Text; myWriter.Write(DateTime.Now.ToString()); myWriter.Write(""); myWriter.Write(Versuchstyp); myWriter.Write(""); myWriter.Write(Einlegeposition); myWriter.Write(""); myWriter.Write(Barcode); myWriter.Close(); } } }
Aber seit ich das so habe funktioniert es eher schlechter.
Ich möchte die aktuellen Werte die in den ComboBoxen und der Textbox stehen
inklusive dem Datum in eine Textdatei schreiben, die erstellt werden soll, falls sie
nicht existiert und erweitert werden soll falls sie existiert.
Wäre echt super wenn jemand mir dabei helfen könnte.
- Bearbeitet Wallertown Freitag, 25. Mai 2012 11:23
Antworten
-
Speichern braucht einen Form1. Du kannst ihm "this" geben.
public void Form1_Load(object sender, EventArgs e) { WriteTextFile Werte = new WriteTextFile(); Werte.Speichern(this); }
- Bearbeitet Ante Meridian Freitag, 25. Mai 2012 12:12
- Als Antwort markiert Wallertown Freitag, 25. Mai 2012 13:35
-
Hallo,
wie wäre es wenn Du die Ereignisbehandlung des Buttons anstatt die der Form nützt. Denn bisher speicherst Du nur bei Formload, d.h. nur beim Starten des Programms, sonst nirgends. Und beim Starten des Programms hat der Benutzer noch keine Chance irgendwas einzugeben, daher wird selbstverständlich nur die Defaults gespeichert.
Grüße
Tu
- Als Antwort markiert Wallertown Freitag, 25. Mai 2012 13:35
Alle Antworten
-
Speichern braucht einen Form1. Du kannst ihm "this" geben.
public void Form1_Load(object sender, EventArgs e) { WriteTextFile Werte = new WriteTextFile(); Werte.Speichern(this); }
- Bearbeitet Ante Meridian Freitag, 25. Mai 2012 12:12
- Als Antwort markiert Wallertown Freitag, 25. Mai 2012 13:35
-
Wunderbar ,also der Teil funktioniert schonmal wieder.
Es sollte aber auch jedesmal ein Eintrag hinzugefügt werden
wenn der Benutzer den Button für speichern drückt.
Ich muss nur jedes mal nach dem ein Speicherprozess ausgeführt wurde
das Programm neu starten,damit es funktioniert und das ist nicht in meinem Sinne.
Und die Auswahlen aus ComboBox und Textbox werden auch nicht
eingefügt sondern die default-Werte.
Wenn mir da noch jemand weiterhelfen könnte warum das nicht klappt wäre ich restlos glücklich.
-
Hallo,
wie wäre es wenn Du die Ereignisbehandlung des Buttons anstatt die der Form nützt. Denn bisher speicherst Du nur bei Formload, d.h. nur beim Starten des Programms, sonst nirgends. Und beim Starten des Programms hat der Benutzer noch keine Chance irgendwas einzugeben, daher wird selbstverständlich nur die Defaults gespeichert.
Grüße
Tu
- Als Antwort markiert Wallertown Freitag, 25. Mai 2012 13:35
-
Oh Mann!
Das Brett vorm Kopf muss riesig gewesen sein, danke!
Ich war der festen Überzeugung, dass das schon die ganze Zeit unter
dem Button-Ereignis steht.
Nun funktioniert alles wie es soll, die aktuellen Daten werden auf Knopfdruck gespeichert.
Danke und schönes Wochenende noch.