Autor Beitrag
Dang1001
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 30.04.10 19:49 
Hallo zusammen

ich bin neu hier und erlerne auch gerade erst die Programmier-Sprache.

nun habe ich da ein kleiner Projekt wo eine zufällige Anzahl von Zufalls-Daten in eine Datei schreibe muss.
Aber irgendwie will das nicht wirklich gehen. Wenn ich anstatt der Zahlen einen String von Hand eingebe dann schreib er mir diesen String in die Datei jedoch keine Zufallsdaten.
Wahrscheinlich ist es echt simple, jedoch komme ich gerade nicht weiter:
Anbei den bisherigen Code.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
            FileStream fs = new FileStream("D:\\tests\\Test.txt", FileMode.Create);
            StreamWriter sw = new StreamWriter(fs);
 
             Random b = new Random();
            int min = 100;
            int max = 1000;
            int a = b.Next(min, max);


            for (int i = 0; i < a; i++)
            {
                Random Daten = new Random();
                int c = Daten.Next(min, max);
                sw.WriteLine(c);
                //sw.WriteLine("Hallo du da"); das funktioniert wenn ich es teste!               
            }
          
            sw.Close();




Vielen Dank schonmal

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4807
Erhaltene Danke: 1061

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Fr 30.04.10 20:07 
Dein Code müßte auch Zahlen in die Datei schreiben.
Du solltest jedoch 'Random Daten = new Random();' aus der Schleife löschen und davor schreiben, da du sonst immer gleiche Zahlen erzeugst (weil der Zufallszahlengenerator immer wieder mit der selben Zeit (in Sekunden) initialisiert wird).
Dang1001 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 30.04.10 20:16 
Hallo

Das mit der Random Daten = new Random(); habe ich gemacht und nun schreib er mir verschieden Zahlen in die Datei aber nur wenn ich etwas dazuschreibe wie " Test" Oder So.
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Fr 30.04.10 20:25 
Hallo und :welcome:

Bei mir funktioniert es direkt. Nach der Hilfe ist das auch klar: Es gibt eine Variante von StreamWriter.WriteLine, die eine int speichert.

Oder hast du noch einen anderen Code benutzt, den du hier nicht angibst?

Jürgen
Dang1001 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 30.04.10 20:26 
Anbei noch
wenn ich das so mache dann schreib er mir mir in die Datei "Za198" also das "Za" und die Zufallszahl.
wenn ich aber die Zeile mit dem "Za" rauslösche oder auch nur "Z" schreibe, dann schreib er garnichts in die Datei.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
         for (int i = 0; i < a; i++)
            {
                int c = Daten.Next(min, max);
                sw.Write("Za");
                sw.WriteLine( c);
                
            }



Gruß Dany

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Sa 01.05.10 08:58 
Genau so funktioniert es bei mir, wie schon gesagt:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
static void Main()
{
  FileStream fs = new FileStream(
    Path.Combine( Environment.CurrentDirectory, "Test.txt"), FileMode.Create);
  StreamWriter sw = new StreamWriter(fs);
 
  Random Daten = new Random();
  int min = 100;
  int max = 1000;
  int a = Daten.Next(min, max);

  for (int i = 0; i < a; i++)
  {
    int c = Daten.Next(min, max);
    sw.WriteLine(c);
  }
  sw.Close();    
}

Ich habe lediglich die Random-Instanz und den Dateipfad geändert. Es funktioniert wirklich! Jürgen

PS. Bitte achte künftig selbst darauf, den Code als solchen zu markieren: "Bereiche" öffnen, C# wählen, Plus-Button.