none
Aufrufen einer Funktion in einer Klasse RRS feed

  • 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
    Freitag, 25. Mai 2012 11:19

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);
            }


    Freitag, 25. Mai 2012 12:04
  • 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
    Freitag, 25. Mai 2012 13:22

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);
            }


    Freitag, 25. Mai 2012 12:04
  • 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.

    Freitag, 25. Mai 2012 12:58
  • 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
    Freitag, 25. Mai 2012 13:22
  • 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.

    Freitag, 25. Mai 2012 13:37