| Autor |
Beitrag |
chris85s
      
Beiträge: 35
|
Verfasst: Fr 09.04.10 14:07
Hallo,
ich habe folgendes Problem:
Ich habe ein Projekt in dem ich sehr viele Parameter aufrufen und registrieren muss.
Nun möchte ich ein kleines Programm mit Windows Forms schreiben in dem ich lediglich den Signalnamen sowie deren Werte eingeben muss.
Das Programm soll dann die nötigen Codezeilen erstellen und ein .cs file generieren (z.B. Parameters.cs).
z.B. folgende Codezeilen:
C#-Quelltext 1: 2:
| double signal1 = new double("Signalname", "Value", "Unit"); double signal2 = new double("Signalname", "Value", "Unit"); |
Der Benutzer sollte danach im Programm nur noch den Signalnamen, Value und Unit eingeben müssen.
Die oben erwähnte und andere Codezeilen sollen dann automatisch ertellt werden.
Nach erstellen aller Codezeilen soll daraus ein .cs file erzeugt werden und in meinem eigentlichen Programm eingebunden werden.
Da ich noch sehr wenig Erfahrung mit programmieren habe, würde ich mich sehr über eure Hilfe freuen.
Wenn also jemand weiß, wie man die Codezeilen erstellen und ein .cs file erzeugen kann, soll einfach antworten.
mfg christian
Moderiert von Christian S.: C#-Tags hinzugefügt
|
|
danielf
      
Beiträge: 1012
Erhaltene Danke: 24
Windows XP
C#, Visual Studio
|
Verfasst: Fr 09.04.10 14:21
Hallo und
ich verstehe nicht was du willst  Ich sehe nur, dass du ein double so nicht verwenden kannst.
Ich denke es ist total unnötig eine solchen Code zu generieren und ich bin davon überzeugt, wenn du uns erklärst, was du mit den Parametern vor hast, dass es eine bessere Lösung gibt.
Gruß
|
|
chris85s 
      
Beiträge: 35
|
Verfasst: Fr 09.04.10 14:31
danke für deine schnelle antwort.
das mit dem double ist schon klar.
ok ich versuchs anders zu erklären.
ich habe folgende Zeilen:
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| public static TypeSutFloat EngSpdD_Gain = new TypeSutFloat("EngspdD_Gain", "EngSpdD_Gain", "", 0.0, -1.0, 1.0, ""); public static TypeSutFloat deltaFreq_Value = new TypeSutFloat("deltaFreq_Value", "deltaFreq_Value", "", 0.0, -100.0, 100.0, ""); public static TypeSutFloat initialFreq_IgAg = new TypeSutFloat("initialFreq_IgAg", "initialFreq_IgAg", "", 0.0, -100.0, 100.0, "");
myTestCase.Factory.GetParameterManager().Register(EngSpdD_Gain); myTestCase.Factory.GetParameterManager().Register(deltaFreq_Value); myTestCase.Factory.GetParameterManager().Register(initialFreq_IgAg);
EngSpdD_Gain = (TypeSutFloat)myTestCase.Factory.GetParameterManager().Parameterise(EngSpdD_Gain); deltaFreq_Value = (TypeSutFloat)myTestCase.Factory.GetParameterManager().Parameterise(deltaFreq_Value); initialFreq_IgAg=(TypeSutFloat)myTestCase.Factory.GetParameterManager().Parameterise(initialFreq_IgAg);
Ports.ModelAccess.SetModelValue(Parameters.EngSpdD_Gain); Ports.ModelAccess.SetModelValue(Parameters.deltaFreq_Value); Ports.ModelAccess.SetModelValue(Parameters.initialFreq_IgAg); |
Also für alle Parameter jeweils diese 4 Zeilen.
Nun möchte ich diese 4 Zeilen nicht für alle meine hundert und mehr Parameter selbst eingeben.
Ich möchte ein Programm, in dem ich den Parameternamen und deren Werte eingeben kann und das Programm dann den Parameternamen nimmt und jeweils diese 4 Zeilen erzeugt.
All diese Zeilen sollen dann in einem .cs-file gespeichert werden, damit ich es in meinem Projekt einbinden kann.
Vielleicht könnt ihr mir weiterhelfen.
mfg christian
Moderiert von Christian S.: C#-Tags hinzugefügt
|
|
danielf
      
Beiträge: 1012
Erhaltene Danke: 24
Windows XP
C#, Visual Studio
|
Verfasst: Fr 09.04.10 15:27
Verstehe immer noch nicht, warum du es fest in ein Programm schreiben willst?
Du kannst auch einfach eine Konfigurationsdatei machen die dann die entsprechende Werte ausließt ...
Config.ini Quelltext 1: 2: 3:
| EngspdD_Gain;EngSpdD_Gain;;0.0;-1.0;1.0;; deltaFreq_Value;deltaFreq_Value;;0.0;-100.0;100.0;; initialFreq_IgAg;initialFreq_IgAg;;0.0;-100.0;100.0;; |
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| string[] lines = Files.ReadAllLines("Config.ini");
foreach(string line in lines) { string args = line.Split(';'); myTestCase.Factory.GetParameterManager().Register(new TypeSutFloat( args[0], args[1], args[2], double.Parse(args[3]), double.Parse(args[4]), double.Parse(args[5]), args[6])); } |
|
|
chris85s 
      
Beiträge: 35
|
Verfasst: Mo 12.04.10 09:57
Ich habe nun einige Zeilen in einer ArrayList gespeichert.
Nun möchte ich als nächstes all diese Zeilen in einer .cs datei speichern.
Hat jemand eine Ahnung wie sowas geht?
|
|
danielf
      
Beiträge: 1012
Erhaltene Danke: 24
Windows XP
C#, Visual Studio
|
Verfasst: Mo 12.04.10 10:02
Wenn du Hilfestellung willst, warm gehst du dann nicht auf sie ein?
C#-Quelltext 1:
| File.WriteAllLines(path, lines); |
|
|
chris85s 
      
Beiträge: 35
|
Verfasst: Mo 12.04.10 14:04
ich möchte eine Variable i durch das klicken eines buttons hochzählen.
also am anfang ist i = 0.
drückt man einmal auf den button erhöht sich der wert von i auf 1
usw.
hat jemand ne idee?
|
|
danielf
      
Beiträge: 1012
Erhaltene Danke: 24
Windows XP
C#, Visual Studio
|
Verfasst: Mo 12.04.10 14:07
NumericUpDown UserControl
|
|
chris85s 
      
Beiträge: 35
|
Verfasst: Mo 12.04.10 14:16
danke,
bin dir wirklich dankbar das du mir hilfst und immer so schnell antwortest.
jedoch wäre es hilfreich wenn die antworten ein wenig ausführlicher wären.
ich bin noch sehr unerfahren mit programmieren.
bin erst seit 1 - 2 wochen dabei es zu lernen.
also nochmal zurück zu meinem problem.
wie muss ich "NumericUpDown UserControl" einsetzen um die gewünschte funktion zu erreichen?
|
|
danielf
      
Beiträge: 1012
Erhaltene Danke: 24
Windows XP
C#, Visual Studio
|
Verfasst: Mo 12.04.10 14:21
Ich antworte so, wie die Fragen gestellt werden.
Ein Control kannst du entweder über den Designer von VS auf ein Form "ziehen" oder per Code hinzufügen. Ich empfehle dir die Verwendung des Designers. Hierfür öffnest du in VS ein Form. Standard gemäß befindet sich auf der linken Seite der Reiter Toolbox. In diesem findest du sämtliche UserControls die von den default eingebunden Assemblies zur Verfügung gestellt werden. Dazu gehört auch das NumericUpDown-UC. Dieses kannst du nun per Drag&Drop auf deine Form ziehen. Zu beginn heißt dieser Control nun numericUpDown1. Die beschriebenen Funktionalitäten hat das Control von sich aus. AUf den aktuellen Wert greifst du über numericUpDown1.Value zu.Beachte, dass du meistens den Minimum (default= 0) und Maximum-Wert(default=100) anpassen musst um die gewünschte Gültigkeit zu bekommen.
|
|
chris85s 
      
Beiträge: 35
|
Verfasst: Mo 12.04.10 14:27
sorry ich glaub ich hab die frage falsch gestellt.
so hilft mir das nicht weiter.
ich habe in meinem programm eine variable i.
diese soll sich immer dann um 1 erhöhen, wenn man einen bestimmten, schon vorhandenen Button klickt.
|
|
chris85s 
      
Beiträge: 35
|
Verfasst: Mo 12.04.10 15:56
|
|
chris85s 
      
Beiträge: 35
|
Verfasst: Mi 14.04.10 13:47
hallo,
ich möchte mit einem button-click einen saveFileDialog öffnen, dort einen Dateinamen eintragen
und danach soll folgender Zeile dieser Dateiname angefügt werden.
File.WriteAllLines(@"C:\Documents and Settings\Desktop\DATEINAME", lines);
hat jemand eine idee?
mfg christian
|
|
danielf
      
Beiträge: 1012
Erhaltene Danke: 24
Windows XP
C#, Visual Studio
|
Verfasst: Mi 14.04.10 13:55
Den SaveFileDialog hast du ja schon gefunden... das war die IDee..
Anwendungsbeispiele findest du im Internet genug.
|
|
chris85s 
      
Beiträge: 35
|
Verfasst: Mi 14.04.10 15:55
hat jemand eine ahnung wie sich der inhalt eines fensters automatisch verändert, wenn man das fenster größer oder kleiner zieht?
bei der ausführung meiner windows form anwendung bleiben alle button und label gleich groß auch wenn ich die größe des fensters verändere.
ich möchte aber das sich die größe der button und label an die größe des fensters anpassen.
mfg
|
|
JüTho
      
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
|
Verfasst: Mi 14.04.10 16:12
Das hat endgültig nichts mehr mit dem Ausgangsproblem "automatisch Quellcode generieren" zu tun. Neues Problem => neue Diskussion Und zwar im richtigen Unterforum). Jürgen
|
|