Ich schreibe grade für mein Studium eine Projektarbeit. Diese handelt von einen Berechnungsprogramm. Eigentlich studiere ich Maschinenbau und habe mir das Programmieren so nebenbei selbst angelernt.
Nun ist mein Problem, dass ich in der Projektarbeit angeben muss, warum ich grade C# als Programmiersprache gewählt habe.
Der wahre Grund ist eigentlich Zufall, was man aber schlecht in einer Projektarbeit reinschreiben kann.
Deswegen benötige ich ein paar Vorteile von C# gegenüber anderen Programmiersprachen. Hat da jemand ein paar ideen?
foreach (string strText in StringArray)
Combobox.Items.Add(strText);
Ich würde dir das openbook empfehlen. Habs hier als Hardware liegen, und benötige fast nix anderes. Wenn das Buch mal doch nicht weiterhilft, dann tut es die msdn.
@Edit: Hmm... Ich glaube ich hab die frage etwas falsch verstanden. Sorry :/
Die Tabelle erstellt er nur um das ganze besser visuell darstellen zu können. Ansonsten hat das keinen sinn. Du musst keine virtuelle Tabelle erstellen weil virtuell = gibts eh nich! Du musst einfach nur die 2 Beziehungen auf eine tabelle setzen!
Wirklich schwere Kost die ich da erstmal verdauen muss :D
Muss mich da nochmal reindenken! Wo hast du sowas gelernt?
Deine Variante schaut recht gut aus, sodass ich endlich sagen kann, dass ich eine Lösung habe. Vielen Dank. Fühl dich umarmt und denk dir ein Dankbarkeitsbier :):):)
@Viper: Klar will ich nicht viel machen... Aber das macht doch die programmiererei aus... Mit kleinsten Aufwand den größten Nutzen erreichen.
Das Projekt lässt sich aber auch schwer beschreiben. Es handelt sich hierbei um ein Prog zur Berechnung von Kühlanlagen. Die Kühler lassen sich einzeln, paralell, oder in Reihe betreiben. Die Beziehungen werden zur Berechnung benötigt.
Die DB Software wechseln ist nicht möglich, da eine AccessDB gefordert wurde. Aber kannst du mir etwas empfehlen?
@VizOne: Ich glaube auch, dass ich sowas ähnliches machen werde. Hatte ich mir auch überlegt. Dachte aber es gibt vlt eleganter Lösungen.
Aber da muss ich ja jede regel vorher definieren. dass wären dann bei 1.000.000 Elementen so grob geschätzt 1,23342E9976 mögliche regeln, die ich vorher definieren muss.
KLar funkktioniert das auch für 1.000.000! Aber diese Lösung ist ziemlich unbequem :( Außerdem will ich ja nicht den String "(E1 + E2 + E3) || E4)" speichern, sondern die physische anordnung der Elemetne! Mit dem String an sich kann ich nichts anfangen! Der war nur zur darstellung meines Problems.
Danke für den vorschlag. Leider würde das, eingebaut in mein Projekt, den Rahmen gewaltig sprengen. Außerdem habe ich eine beliebige Anzahl von Elementen. Also die Lösung die ich brauche müsste für 1 aber auch für 1.000.000 elemente gehen.
In meinen Programm hat der User eine beliebige Anzahl von Elementen, die er beliebig paralell oder in Reihe anordnen kann.
Also zum 4 Elemente (E1, E2, E3, E4)
möglche anordnung: (E1 + E2) || (E3 + E4)
oder: (E1 + E2 + E3) || E4)
Dass ganze wird in einer MSAccessDB gespeichert.
Mein Problem ist, dass ich ziemlich ideenlos bin wie ich diese Anordnung speichern soll. Die einzelnen Elemente an sich sind kein Problem.
In einem Berechnungsprogramm habe ich eine virtuelle Console drin. Bisher funktioniert alles super. Ich möchte die Console um eine Funktion ergänzen, die mir von einer beliebigen Variable aus meinen Prog den Wert ausgibt.
Also:
Konsoleneingabe:
get string1
Ausgabe:
is "blablabla"
Leider habe ich keine Ahnung wie ich das machen kann. wäre für einige Tipps dankbar.
ich habe ein etwas komisches Problem, und weiß nimmer weiter.
Und zwar will ich mittels OleDb-Adapter nen Wert aus ner AccessDB haben.
An und für sich kein problem, hab ich schon geschätzte 1M-mal geemacht. Nur diesmal bekomme ich so nen s***** Fehler!
OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + strDB);
string strSQL1 = "SELECT * FROM tblName WHERE ID = " + SearchID.ToString();
OleDbCommand cmd1 = new OleDbCommand(strSQL1, connection);
connection.Open();
OleDbDataReader reader1 = cmd1.ExecuteReader();
double dblWert = Convert.ToDouble(reader1["Spaltenname"]); //Fehler tritt hier auf!
connection.Close();
Fehlermeldung:
Zitat
No data exists for the row/column.
Kann nicht sein. Hab den SQL string auch direkt in meine AccessDB reingehauen klappt alles Prima!
Achso.. ich hab es mal testweise geändert:
OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + strDB);
string strSQL1 = "SELECT Spaltenname FROM tblName WHERE ID = " + SearchID.ToString();
OleDbCommand cmd1 = new OleDbCommand(strSQL1, connection);
connection.Open();
double dblWert= Convert.ToDouble(cmd1.ExecuteScalar());
connection.Close();
Das funktioniert auch. (Ist aber nicht das was ich brauch!)
Wie gesagt, ich habe so was schon einige Male gemacht. Aber dieses Mal bin ich am Ende :/ Kann mir wer helfen?
1. zu teuer
2. Ich habe einen zu hohen Handy-Verschleiß (so ein iPhone würde nicht lange bei mir überleben
3. Ich mag kein Apple (ok... ich hatte früher mal nen Macintosh... aber das is was anderes
4. iPhone ist mir viel zu Mainstream!
5. Touch-Screen??? Ich hab dicke Finger :/
public string cbSelect
{
get
{
return this.ComboBox.SelectedItem.ToString();
}
set
{
this.Combobox.SelectedItem = value;
}
}
Leider bleibt das ganze immer beim ersten Eintrag stehen.
Habe auch schon Werte im Debug überprüft.
this.Combobox.SelectedItem --> hat den Wert des ersten Eintrags
value --> hat den string von den Eintrag, den ich haben will.
Warum wird dann nicht der Richtige Eintrag gewählt?
Hatte vorher die Combobox nicht in einer UserControl, sondern direkt auf meiner Form und da funktionierte es!
Schreibt stattdessen Properties und Methoden, die die eigentlich gewünschte Funktionalität bieten, z.B. einen Text oder andere Werte zu setzen und auszulesen.
Wie gesagt... hab ich gemacht
Zitat
Habe schon verschiedene getter/setter gebaut
Der vollständigkeit halber: (um alles für die Nachwelt zu dokumentieren)
public string Text
{
get
{
return this.TextBox.Text;
}
set
{
this.TextBox.Text= value;
}
}
In meinen derzeitigen Projekt möchte ich eine UserControl verwenden.
Bisher auch alles schön und gut, habe die UserControl erstellt, zu meiner Projektmappe hinzugefügt und kann sie auch auf meiner Form anzeigen
UserControl UC1 = new myUC();
tabControl1.TabPages[0].Controls.Add(UC1);
soweit klappt alles.
Die UC beinhaltet 4 TextBoxen und eine ComboBox.
Nun habe ich das Problem, dass ich keinen zugriff auf die jeweiligen Controls in der UC hinbekomme. Habe schon verschiedene getter/setter gebaut die ich gefunden habe, aber irgendwie kann ich darauf nicht zugreifen. Hab hier das Galileo Handbuch aufn Tisch liegen, doch leide komme ich damit nicht so wirklich weiter.