Autor Beitrag
Kleinohr
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20



BeitragVerfasst: Mo 12.04.10 12:45 
Hallo zusammen

wie kann man mit Hilfe eines Arrays eine csv-Datei erzeugen. Habe absolut keine Ahnung befasse mich erst kurz mit programmieren. untenstehend habe ich mal ein wenig quellcode stehen. Der erzeugt mit eine csv-Datei. jedoch will ich mit Hilfe des Arrays die erste Spalte mit den Zahlenwerten von 1-150 füllen. dies klappt mit meiner Programmierung ja nicht weiss das es nicht ganz richtig ist. Habe allerdings bis jetzt noch keine gute Idee wie es lösen kann. Auch eine stundenlange suche im Netz konnte mir leider nicht weiterhelfen. Habt Ihr einen Tipp wie ich das Problem lösen könnte.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
int [] knoten = new int[150];  
            int i, x;
            double j, l, y, z;

            j = double.Parse(tbxbreitegehweglinks.Text)/1000;
            l = double.Parse(tbxfeldgroessex.Text);
            x = int.Parse(tbxanzahlluefterx.Text);
            y = 0;
            z = double.Parse(tbxhoehenkoteplattform.Text) / 1000;

  for (i = 0; i <= knoten.Length; i++)
            {
                
                StreamWriter haupttraegerknotenx = File.CreateText(@"C:\\Testdateien\haupttraegerknotenx.csv");
                haupttraegerknotenx.WriteLine("Knotennummer" + ";" + "X [m]" + ";" + "Y [m]" + ";" + "Z [m]" + ";" + "Kommentar");
                haupttraegerknotenx.WriteLine(i.ToString() + ";" + j.ToString() + ";" + y.ToString() + ";" + z.ToString() + ";" + "kein Kommentar");
                haupttraegerknotenx.Close();  
            }



mfg

Kleinohr

Moderiert von user profile iconKha: C#-Tags hinzugefügt
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Mo 12.04.10 13:11 
Hallo,

bitte kennzeichnen deine Code als solchen. Dies kannst du oben über Bereiche machen oder indem du [ cs]-Tag einfügst ([c s] code [/ cs]).

Ansonsten ist dein Code ziemlich verwirrend. Du schreibst 150 mal in die gleiche Datei? Macht irgendwie kein Sinn... Weiß du eigentlich was eine CSV-Datei ist?

Wenn dann müsste dein Code eher so aussehen:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
double j = double.Parse(tbxbreitegehweglinks.Text)/1000;
double l = double.Parse(tbxfeldgroessex.Text);
double x = int.Parse(tbxanzahlluefterx.Text);
double y = 0;
double z = double.Parse(tbxhoehenkoteplattform.Text) / 1000

using(StreamWriter sw = File.CreateText(@"...") {
sw.WriteLine("Knotennummer" + ";" + "X [m]" + ";" + "Y [m]" + ";" + "Z [m]" + ";" + "Kommentar"); 
for (i = 0; i <= 150; i++) {
   sw.WriteLine(i.ToString() + ";" + j.ToString() + ";" + y.ToString() + ";" + z.ToString() + ";" + "kein Kommentar"); 
}
}


Wobei er ja dann 150 mal wieder den gleiche eintrag schreibt... deshalb denke ich das deine grundlegende Vorgehensweise überarbeitet werden msus.

Mahc dir bitte erstmal gedanken was macht schritt für schritt machen muss. Schreibe dies in Form von knappen Kommentaren hin und mache dich dann erst an die Umsetzung. Ansonsten kommt so was verwirrendes wie in deinem Codestükc raus.

Gruß
Kleinohr Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20



BeitragVerfasst: Mo 12.04.10 13:29 
Hallo danielf

Danke schon mal für deine schnelle Antwort und den Tipp. Werde deinen Rat befolgen. Die Entwicklung geht aber schon mal in die richtige Richtung, da wo ich hin will.
Kleinohr Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20



BeitragVerfasst: Mo 12.04.10 14:35 
Hallo habe nochmal eine Frage

durch den Tipp von danielf habe ich ja jetzt alle spalten gefüllt. und in jeder spalt steht ja jetzt der gleich wert untereinander. wie sieht es denn jetzt aus wenn ich in der zweiten spalte auch eine schleifen laufen lassen will kann man den inhalt in der ersten for schleife ergänzen
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: Mo 12.04.10 16:38 
Was du speichern willst, kannst nur du bestimmen. Wenn du einen Wert in die erste Spalte schreiben kannst, kannst du auf dem gleichen oder einem ähnlichen Weg auch etwas anderes hineinschreiben. Daniel hat nur eine schnelle Arbeitsanleitung geschrieben; die konkreten Überlegungen können nur von dir kommen.

Bedenke auch: Für WriteLine gibt es eine Überladung, die genauso arbeitet wie String.Format; die könnte hier sehr nützlich sein.

Jürgen