Autor Beitrag
Raffa1989
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Mo 26.01.09 16:13 
Hallo an alle!
ich habe die aufgabe bekommen ein programm zu schreiben welches Konsolenprogramme starten soll
ich hab die oberfläche gecodet und muss nun aus einer externen Datei daten einlesen und verarbeiten meine externe Datei sieht wie folgt aus
[Gruppe SIMUL]
Simex;D:/test/simex.exe;pipeline
ich habe 2 Comboboxen in dem die Daten aus der datei eingelesen werden müssen einma der Paketname in diesem fall die Gruppe
und dann noch die einzelnen unterprogramme im Paket
indiesem fall sollte jetz in paketname SIMUL
und in unterprogramme Simex in die Combobox gesetzt werden
das hat den vorteil natürlich das das programm nicht pc abhängig ist jeder benutzer kann seine eigenen programmpakete etc eintragen.
So nun Zu mein Problem :
Ich weis wie ich die Datei einlese aber habe ka wie ich gucken kann wo Gruppe steht und so das ich dann weis aha ok die Gruppe ist einma "mustergruppe" und die hat folgenden unterprogramme "1","2"
ich weis auch nich wie ich die eingelesene datei dann aufsplite und in die Combobox verarbetie.....
Ich bitte um Eure Hilfe !
mfg Raffa
Einloggen, um Attachments anzusehen!
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 26.01.09 16:39 
Hallo und :welcome:

Zunächst wundere ich mich, wozu die Anlage da ist; in Deiner Problembeschreibung hast Du nichts dazu gesagt. Außerdem finde ich solche Anlagen meistens unpraktisch, da ich dann in ein anderes Fenster wechseln müsste und den Inhalt nicht sehe, während ich hier eine Antwort schreibe. Aber das ist vermutlich Geschmackssache...

Zum Inhalt verstehe ich den Aufbau der Datei nicht richitg. Deshalb bekommst Du zunächst ein paar allgemeine Hinweise: File.ReadAllLines liest eine ganze Textdatei und liefert jede Zeile einzeln als Element eines String-Array. Mit Array.IndexOf (Achtung, viele Varianten!) kannst Du eine bestimmte Zeile finden. String.Split teilt einen einzelnen String an einer oder mehreren Stellen (z.b. ';') und liefert für jeden String ein neues String-Array. Mit ComboBox.Items.Add wird eine einzelne Zeile hinzugefügt, mit AddRange kannst Du ein ganzes Array "am Stück" hinzufügen.

Ich hoffe, Du kannst damit etwas anfangen. Sonst bitte ich um genauere Angaben. Jürgen
Raffa1989 Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Mo 26.01.09 17:36 
Hallo jürgen Thomas !
ja ich kann mit deiner Hilfe was anfangen ^^
aber weis noch nich genau wie ich das dann in der Combobox ausgebe also den einzelnen String jeweils
vil könntest mir das noch bisschen genauer beschreiben
mfg
Raffa
Raffa1989 Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Di 27.01.09 10:15 
die Datei die ich einlesen will sieht so aus
[Gruppe AZB]
AZB;D:/test/azb.exe
TABLEV;D:/test/tablev.exe
AZBPLO_P;D:/azbplo_p.exe
AZBNMG;D:/test/azbnmg.exe
[Gruppe SIMUL]
SIMEX;D:/test/simex.exe
SIMPS;D:/test/simps.exe
SIMIO;D:/test/simio.exe
SIMNMG;D:/test/simnmg.exe

ich möchte jeden string der mit ein ; getrennt ist ausgeben lassen und in der Combobox einsetzen

ich hab es ma versucht mit dem einelesen und spliten aber iwie geht gar nix :D

class reader
{
string pfad = "D:/test/cfg.txt";
string[] readText = File.ReadAllLines(pfad);
string[] split = pfad.Split(new Char[] { ';' });

}
viele Fehler meldungen wie z.B. Fehler 1 Ein Feldinitialisierer kann nicht auf das nicht statische Feld bzw. die nicht statische Methode oder Eigenschaft "raphael.reader.pfad" verweisen. D:\Dokumente und Einstellungen\AS-TS-FLP\Eigene Dateien\Visual Studio 2005\Projects\wwm\wwm\CodeFile2.cs 14 48 Konsolenprogrammen



vil kann mir ja einer noch behilflich sein :)
mfg Raffa
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4805
Erhaltene Danke: 1061

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 27.01.09 12:14 
Du mußt jede einzelne Zeile 'splitten' (nicht das ganze Array):
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
string pfad = "D:/test/cfg.txt"
string[] readText = File.ReadAllLines(pfad); 

foreach(string row in readText)
{
   string[] split = row.Split(new Char[] { ';' });
   // ...
}

Überleg dir bei jeder Methode genau, welche Parameter (Datentypen) sie benötigt und wie du notfalls noch weitere Methoden vorschalten mußt.
So wirst du dann auch das Problem mit der ComboBox lösen können...