Guten Abend miteinander.
Ich habe nun schon den ganzen Tag damit verbracht auf Google nach lösungen zu suchen nur habe ich nichts entsprechendes gefunden. Evtl. Weiss ich auch nicht wirklich nach welchen Begriffen ich suchen sollte Daher sind auch Links zu entsprechenden Tutorials sehr willkommen.
Ich stelle mal kurz mein Projekt vor damit ihr inetwa eine Übersicht habt was ich geplant habe.
Ich erstelle einen Rechner der speziell für das Umrechnen von Einheiten von Gramm pro Liter zu Mol pro Liter und umgekehrt gedacht ist.
Ich habe die Auswahl aus der Kombination folgender Einheiten:
EingabeEinheiten1:
g, mg, mcg, ng, pg, mol, mmol, mcmol, nmol, pmol
EingabeEinheiten2:
l, ml, mcl, nl, pl
Daraus ergeben sich verschiedene Möglichkeiten wie "ng/ml", "mmol/l" usw... Die selbe Auswahl findet sich auch für die gewünschte Ausgabeeinheit.
Soweit so gut. Ich habe es geschafft, dass er zwischen den gleichen Einheitsystemen (also solange nicht von Gramm nach Mol gerechnet wird) das Korrekte Resultat ausspuckt mithilfe eines anhand der Auswahl getroffenen Faktors berechnet wird. (Siehe Bilder&Quellcode)
Jedoch habe ich wie ihr im QUelltext sieht noch keine Überprüfung der Eingaben. Also ob sich nur Zahlen in der Eingabe befinden.
Der Rechner ist noch in einem sehr rohen Zustand. Anordnung und Aufteilung können sich noch ändern. Aber die Funktion stimmt soweit fehlt nur noch die DB.
Ich denke ich habe diesen Code unnötg kompliziert geschrieben habe aber ich habe VB 2010 Express erst gestern installiert und hatte vorhier nie was damit zu tun. Die einzigen kentnisse die ich im Programme schreiben habe sind Stapelverarbeitungsprogramme (Kleine Batch programme).
Was mir noch Fehlt ist eine implementierung einer einfachen Datenbank zur Berechnung vom Mol-System zum metrischen System.. Meine Anforderungen sind wie folgt (Meine Vorstellungen ich kenne mich ja nicht aus und weis nicht wirklich was möglich ist mit vb):
Beispiel: Erhalten Resultat 44.53 mg/l und müssen es für den Kunden auf mcmol/l umrechnen. Das Material ist Kohlenstoff mit einer molaren Masse von 12.01g/mol. Falls vorhanden würde ich dies in der Datenbank/Liste auswählen falls nicht einen neuen Eintrag für Kohlenstoff erstellen.
Dies ergibt folgende Rechnung: Resultat = 44.53 / 12.01 * 1000
Danke für eure Hilfe
Glg Apop85
Ich habe nun schon den ganzen Tag damit verbracht auf Google nach lösungen zu suchen nur habe ich nichts entsprechendes gefunden. Evtl. Weiss ich auch nicht wirklich nach welchen Begriffen ich suchen sollte Daher sind auch Links zu entsprechenden Tutorials sehr willkommen.
Ich stelle mal kurz mein Projekt vor damit ihr inetwa eine Übersicht habt was ich geplant habe.
Ich erstelle einen Rechner der speziell für das Umrechnen von Einheiten von Gramm pro Liter zu Mol pro Liter und umgekehrt gedacht ist.
Ich habe die Auswahl aus der Kombination folgender Einheiten:
EingabeEinheiten1:
g, mg, mcg, ng, pg, mol, mmol, mcmol, nmol, pmol
EingabeEinheiten2:
l, ml, mcl, nl, pl
Daraus ergeben sich verschiedene Möglichkeiten wie "ng/ml", "mmol/l" usw... Die selbe Auswahl findet sich auch für die gewünschte Ausgabeeinheit.
Soweit so gut. Ich habe es geschafft, dass er zwischen den gleichen Einheitsystemen (also solange nicht von Gramm nach Mol gerechnet wird) das Korrekte Resultat ausspuckt mithilfe eines anhand der Auswahl getroffenen Faktors berechnet wird. (Siehe Bilder&Quellcode)
Jedoch habe ich wie ihr im QUelltext sieht noch keine Überprüfung der Eingaben. Also ob sich nur Zahlen in der Eingabe befinden.
Der Rechner ist noch in einem sehr rohen Zustand. Anordnung und Aufteilung können sich noch ändern. Aber die Funktion stimmt soweit fehlt nur noch die DB.
Ich denke ich habe diesen Code unnötg kompliziert geschrieben habe aber ich habe VB 2010 Express erst gestern installiert und hatte vorhier nie was damit zu tun. Die einzigen kentnisse die ich im Programme schreiben habe sind Stapelverarbeitungsprogramme (Kleine Batch programme).
Was mir noch Fehlt ist eine implementierung einer einfachen Datenbank zur Berechnung vom Mol-System zum metrischen System.. Meine Anforderungen sind wie folgt (Meine Vorstellungen ich kenne mich ja nicht aus und weis nicht wirklich was möglich ist mit vb):
- Muss Lokal gespeichert sein und keine Dienste benötigen / Sind Firmen PC's und ich arbeite weder in der IT noch sind sie gewillt zusätzliche Software auf ihre Rechner zu packen.
- Keine zusätzlichen Installationen notwendig
- Macht nichts wenn sie absolut Unsicher ist da keine wirklich wichtigen Daten darin abgelegt werden.
- Wenn möglich mit manueller quellenangabe da die DB-Datei auf einem SMB-Server abgelegt sein wird, und sich z.t. die Laufwerksbuchstaben ändern können an anderen PC's. Jedoch sicherlich mit einer Defaulteinstellung (Source = Z:\Programme\RLC\database.???)
- Beim vorgänger für dieses Programm welches ich als Batch programmiert habe nutzte ich eine TXT-Basierte Datenbank. Wenn irgendwie möglich würde ich gerne diese Datei weiterverwenden um so die Einträge nicht neu tätigen zu müssen.
- Wäre super wenn ich einen Eintrag der DB auswählen könnte und anhand der Auswahl die entsprechende molare Masse (z.b. Kohlenstoff: 12.01g/mol --> Auslesen: 12.01) als Variable (Masse) verarbeitet wird.
- Auch Super wäre wenn ich Einträge im Rechnerprogramm bearbeiten, Erstellen und löschen könnte.
- z.B. mittels zwei Textfeldern für Name und Masse, daneben ein Speichern-Button welches den Eintrag in die DB übernimmt
- Löschen eines Eintrags durch anwählen und Löschen-Button
- Editieren durch ändern im Textfeld direkt?
Beispiel: Erhalten Resultat 44.53 mg/l und müssen es für den Kunden auf mcmol/l umrechnen. Das Material ist Kohlenstoff mit einer molaren Masse von 12.01g/mol. Falls vorhanden würde ich dies in der Datenbank/Liste auswählen falls nicht einen neuen Eintrag für Kohlenstoff erstellen.
Dies ergibt folgende Rechnung: Resultat = 44.53 / 12.01 * 1000
Danke für eure Hilfe
Glg Apop85
Visual Basic-Quellcode
- Public Class Form1
- Dim Input As Decimal
- Dim Masse As Decimal
- Dim Multiplikator As Decimal
- Dim Answer As Decimal
- Dim Faktor As Decimal
- Dim Out2 As String
- Private Sub ButtonSubmit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSubmit.Click
- Multiplikator = 1
- Input = TextBoxInput.Text
- If ComboBox1.Text = "g" Then
- Faktor = Multiplikator * 1
- ElseIf ComboBox1.Text = "mg" Then
- Faktor = Multiplikator / 1000
- ElseIf ComboBox1.Text = "mcg" Then
- Faktor = Multiplikator / 1000000
- ElseIf ComboBox1.Text = "ng" Then
- Faktor = Multiplikator / 1000000000
- ElseIf ComboBox1.Text = "pg" Then
- Faktor = Multiplikator / 1000000000000
- ElseIf ComboBox1.Text = "mol" Then
- Faktor = Multiplikator * 1
- ElseIf ComboBox1.Text = "mmol" Then
- Faktor = Multiplikator / 1000
- ElseIf ComboBox1.Text = "mcmol" Then
- Faktor = Multiplikator / 1000000
- ElseIf ComboBox1.Text = "nmol" Then
- Faktor = Multiplikator / 1000000000
- ElseIf ComboBox1.Text = "pmol" Then
- Faktor = Multiplikator / 1000000000000
- End If
- Multiplikator = Faktor
- If ComboBox2.Text = "l" Then
- Faktor = Multiplikator * 1
- ElseIf ComboBox2.Text = "ml" Then
- Faktor = Multiplikator * 1000
- ElseIf ComboBox2.Text = "mcl" Then
- Faktor = Multiplikator * 1000000
- ElseIf ComboBox2.Text = "nl" Then
- Faktor = Multiplikator * 1000000000
- ElseIf ComboBox2.Text = "pl" Then
- Faktor = Multiplikator * 1000000000000
- End If
- Multiplikator = Faktor
- If ComboBox3.Text = "g" Then
- Faktor = Multiplikator * 1
- ElseIf ComboBox3.Text = "mg" Then
- Faktor = Multiplikator * 1000
- ElseIf ComboBox3.Text = "mcg" Then
- Faktor = Multiplikator * 1000000
- ElseIf ComboBox3.Text = "ng" Then
- Faktor = Multiplikator * 1000000000
- ElseIf ComboBox3.Text = "pg" Then
- Faktor = Multiplikator * 1000000000000
- ElseIf ComboBox3.Text = "mol" Then
- Faktor = Multiplikator * 1
- ElseIf ComboBox3.Text = "mmol" Then
- Faktor = Multiplikator * 1000
- ElseIf ComboBox3.Text = "mcmol" Then
- Faktor = Multiplikator * 1000000
- ElseIf ComboBox3.Text = "nmol" Then
- Faktor = Multiplikator * 1000000000
- ElseIf ComboBox3.Text = "pmol" Then
- Faktor = Multiplikator * 1000000000000
- End If
- Multiplikator = Faktor
- If ComboBox4.Text = "l" Then
- Faktor = Multiplikator * 1
- ElseIf ComboBox4.Text = "ml" Then
- Faktor = Multiplikator * 1000
- ElseIf ComboBox4.Text = "mcl" Then
- Faktor = Multiplikator * 1000000
- ElseIf ComboBox4.Text = "nl" Then
- Faktor = Multiplikator * 1000000000
- ElseIf ComboBox4.Text = "pl" Then
- Faktor = Multiplikator * 1000000000000
- End If
- Multiplikator = Faktor
- LabelMasse.Text = Masse
- Masse = 12
- If ComboBox1.Text = "mol" Or ComboBox1.Text = "mmol" Or ComboBox1.Text = "mcmol" Or ComboBox1.Text = "nmol" Or ComboBox1.Text = "pmol" Then
- If ComboBox3.Text = "mol" Or ComboBox3.Text = "mmol" Or ComboBox3.Text = "mcmol" Or ComboBox3.Text = "nmol" Or ComboBox3.Text = "pmol" Then
- Answer = Input * Multiplikator
- End If
- End If
- If ComboBox1.Text = "mol" Or ComboBox1.Text = "mmol" Or ComboBox1.Text = "mcmol" Or ComboBox1.Text = "nmol" Or ComboBox1.Text = "pmol" Then
- If ComboBox3.Text = "g" Or ComboBox3.Text = "mg" Or ComboBox3.Text = "mcg" Or ComboBox3.Text = "ng" Or ComboBox3.Text = "pg" Then
- Answer = Input * Masse * Multiplikator
- End If
- End If
- If ComboBox1.Text = "g" Or ComboBox1.Text = "mg" Or ComboBox1.Text = "mcg" Or ComboBox1.Text = "ng" Or ComboBox1.Text = "pg" Then
- If ComboBox3.Text = "g" Or ComboBox3.Text = "mg" Or ComboBox3.Text = "mcg" Or ComboBox3.Text = "ng" Or ComboBox3.Text = "pg" Then
- Answer = Input * Multiplikator
- End If
- End If
- If ComboBox1.Text = "g" Or ComboBox1.Text = "mg" Or ComboBox1.Text = "mcg" Or ComboBox1.Text = "ng" Or ComboBox1.Text = "pg" Then
- If ComboBox3.Text = "mol" Or ComboBox3.Text = "mmol" Or ComboBox3.Text = "mcmol" Or ComboBox3.Text = "nmol" Or ComboBox3.Text = "pmol" Then
- Answer = Input / Masse * Multiplikator
- End If
- End If
- LabelAnswer.Text = Answer & ComboBox3.Text & "/" & ComboBox4.Text
- End Sub
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „Apop85“ ()