Autor Beitrag
grisu2611
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28


C/C++; C# (neu)
BeitragVerfasst: Sa 03.11.07 00:06 
Hallo ich bins wieder....

ich hab da mal wieder ein problem....

möchte das aktuelle Datum mit Uhrzeit in meinem Dateinamen abspeichern und hab da mal zum probieren das hier gemacht aber es will nicht! Muss dabei sagen in einem Beispiel Programm läuft es!

ausblenden volle Höhe C#-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:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace TestMesskarte
{
    public partial class Form1 : Form
    {
        string dateiNameTxtBox = "hilfe";
        string spannungSpeichernInDatei = "13,5";
        string rechtsLinksLaufMotor = "Linkslauf";
        public DateTime date;

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            StreamWriter schreibenInDatei = File.CreateText(@"c:\\temp\" + dateiNameTxtBox + "_" + date.ToString("T") + ".txt");

            schreibenInDatei.WriteLine("\r\n%Prüfspannung:          " + spannungSpeichernInDatei + " V \r\n");
            schreibenInDatei.WriteLine("%Laufrichtung des Motors: " + rechtsLinksLaufMotor + "\r\n");
            schreibenInDatei.WriteLine("%Zeit[s] Spannung[V] Strom[A] Drehmoment[Nm]");
            schreibenInDatei.WriteLine("%===========================================");
            schreibenInDatei.WriteLine();
            schreibenInDatei.Close();
            
        }
    }
}


bekomme dann die aussage: das angegebene Dateiformat wird nicht unterstützt!

Hilfe!

Danke Frank
grisu2611 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28


C/C++; C# (neu)
BeitragVerfasst: Sa 03.11.07 01:14 
hab mal weiter geforscht....

bin jetzt schon so weit:

ausblenden volle Höhe C#-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:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Globalization;

namespace TestMesskarte
{
    public partial class Form1 : Form
    {
        string dateiNameTxtBox = "hilfe";
        string spannungSpeichernInDatei = "13,5";
        string rechtsLinksLaufMotor = "Linkslauf";
        public DateTime dt = DateTime.Now;

        string date = dt.ToString("s", DateTimeFormatInfo.InvariantInfo);

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            StreamWriter schreibenInDatei = File.CreateText(@"c:\\temp\" + dateiNameTxtBox + "_" + date + ".txt");

            schreibenInDatei.WriteLine("\r\n%Prüfspannung:          " + spannungSpeichernInDatei + " V \r\n");
            schreibenInDatei.WriteLine("%Laufrichtung des Motors: " + rechtsLinksLaufMotor + "\r\n");
            schreibenInDatei.WriteLine("%Zeit[s] Spannung[V] Strom[A] Drehmoment[Nm]");
            schreibenInDatei.WriteLine("%===========================================");
            schreibenInDatei.WriteLine();
            schreibenInDatei.Close();
            
        }
    }
}


bekomme aber immer noch fehler:
Fehler 1 Ein Feldinitialisierer kann nicht auf das nicht statische Feld bzw. die nicht statische Methode oder Eigenschaft "TestMesskarte.Form1.dt" verweisen.

und

Warnung 2 Das Zugreifen auf einen Member auf "TestMesskarte.Form1.dt" kann zu einer Laufzeitausnahme führen, da es sich hierbei um ein Feld einer Marshal-by-reference-Klasse handelt.

Hilfe?!

Benutze ich jetzt überhaupt das richtige?
Danke Frank
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 03.11.07 13:57 
Der erste Fehler ist doch eigentlich selbsterklärend. Du initialisierst das Feld "date", indem Du auf das Feld "dt" zugreifst. Das ist verboten. Wenn Du das beim Erstellen der Klasse machen willst, mach es im Konstruktor. Allerdings brauchst Du für das Datum eigentlich gar kein Feld, eine lokale Variable in der Methode sollte reichen.

Die Warnung habe ich noch nie gesehen, aber ich würde wetten, dass die verschwindet, wenn Du den Fehler behebst ;-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
grisu2611 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28


C/C++; C# (neu)
BeitragVerfasst: Sa 03.11.07 14:18 
Danke....aber....

habe es jetzt so geändert und komme trotzdem nicht weiter...

ausblenden C#-Quelltext
1:
StreamWriter schreibenInDatei = File.CreateText(@"c:\\temp\" + dateiNameTxtBox + "_" + vorKommaZahl + "_" + dt.ToString("s", DateTimeFormatInfo.InvariantInfo) + ".txt");					


bekomme jetzt den Fehler:

Das angegebene Pfadformat wird nicht unterstützt!
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 03.11.07 14:20 
Du escapest den ersten Backslash, was Du aber IIRC nicht brauchst, wenn ein @ vorm String steht.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
grisu2611 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28


C/C++; C# (neu)
BeitragVerfasst: Sa 03.11.07 20:52 
alles klar wer lesen kann ist klar im vorteil!!!

hier jetzt so wie ich es haben wollte und wie es auch funktioniert!

ausblenden C#-Quelltext
1:
2:
3:
string dateTime = DateTime.Now.ToString("ddMMMyyyyHHmmss");

 StreamWriter schreibenInDatei = File.CreateText(@"c:\temp\" + dateiNameTxtBox + "_" + vorKommaZahl + "k" + nachKommaZahl + "_" + dateTime + ".txt");


so schönen abend noch!