Yahoo Clever wird am 4. Mai 2021 (Eastern Time, Zeitzone US-Ostküste) eingestellt. Ab dem 20. April 2021 (Eastern Time) ist die Website von Yahoo Clever nur noch im reinen Lesemodus verfügbar. Andere Yahoo Produkte oder Dienste oder Ihr Yahoo Account sind von diesen Änderungen nicht betroffen. Auf dieser Hilfeseite finden Sie weitere Informationen zur Einstellung von Yahoo Clever und dazu, wie Sie Ihre Daten herunterladen.
Programm zum berechnen?
Hallo, ich möchte mir ein kleines programm zum berechnen der heizleistung in Visual Basic schreiben das formular hab ich schon erstellt (siehe link unten) ich weiß nur noch nicht was ich in die zeile des Berechnen Buttons schreiben muss damit bei klick das die 4 felder miteinander und mit 1/3600 multipliziert werden und das ergebniss in dem großen feld unten angezeigt wird
das ganze soll wenn es fertig ist so aussehen die werte habe ich einfach mal so eingetragen und extern berechnet
in dem Feld Leistung in Watt steht im bild die leistung in kW
ich habe auch die möglichkeit das programm in C# oder C++ zu schreiben aber ich müste dann wissen wo was hin gehört
ich arbeite mit Visual Studio Express
Leider wird wenn ich das mit diesem code mache also das sieht dann bei mir so aus:
Ergebniss.Text = Val(D.Text) * Val(T.Text) * Val(W.Text) * Val(M.Text) * (1 / 3600) / 1000
das wort ergebniss unterstrichen und es wird angezeigt "Name "Ergebniss" wurde nicht deklariert."
was muss ich machen
so jetzt läuft das programm aber beim berechnen sollte in etwa 39767 rauskommen es kommt aber 38000 raus kann ich das iwie ändern
wie kann ich es machen dammit das programm in ein Feld (habe jetzt noch mehrere Felder hinzugefügt) automatisch ein % hinter die zahl setzt
und wie kann ich es machen dass ein feld auf eine bestimmte "," Zahl gerundet wird
wie kann ich es machen damit in einem feld automatisch in einem feld nach dem wert ein % zeichen eingefügt wird und zahlen auf eine bestimmte anzahl an stellen gerundet werden
2 Antworten
- vor 1 JahrzehntBeste Antwort
Der Code ist richtig. Diese Fehlermeldung bedeutet, dass VB das Objekt "Ergebniss" nicht kennt. Prüfe ob deine ErgebnisTextbox wirklich "Ergebniss" heißt, das ist der Fehler. Vielleicht heißt sie ja "Ergebnis"?. Guck einfach mal in deinem Form-Designer.
LG Benny
Edit:
Hier die Antwort auf die weiteren Fragen:
Also erstmal das mit der Genauigkeit (38000).
Ich würde alle Textboxen nochmal als Variable deklarieren.
Also
Dim a,b,c,d,erg as Double 'Double ist genauer als Integer
a=textbox1.text
b=textbox2.text
etc.
Dann erstmal in Variablen rechnen also:
erg=a*b*c*d*(1/3600)
und dann ausgeben:
ergebnis.text=erg
Nun zum runden:
Geht ganz einfach:
Math.Round(Wert,anz d. stln.)
also z.B. Math.Round(21.362,2) = 21.36
Nun zum %-Zeichen:
Wieso willst du ein % hinter die Zahl setzen, in der Textbox? Setz doch einfach ein Label hinter die Textbox und schreib % hin.
Hoffe das hilft.
- vor 1 Jahrzehnt
"die 4 felder miteinander und mit 1/3600 multipliziert werden und das ergebniss in dem groÃen feld unten angezeigt wird"
die 4 eingabefelder, denke ich mir mal als text1 bis text4 (textboxen)
und das ausgabefeld als text5 (textbox)
wenn ich dich richtig verstenden habe, würde ich das so machen.
text5.text = val(text1.text) * val(text2.text) * val(text3.text) * val(text4.text) * (1/3600)
EDIT
so wie deine 4 oberen textboxen nicht den originalen namen textbox1, textbox2 usw. haben sondern T,W,D usw. muÃt auch die 5.textbox dann ergebnis heiÃen !
EDIT
hänge einfach ein % hinten rann
Ergebniss.Text = Val(D.Text) * Val(T.Text) * Val(W.Text) * Val(M.Text) * (1 / 3600) / 1000 & "%"
EDIT
wenn das ergebnis aufgrund von rundungen abweicht, dann mach es so wie benny unten geschrieben hat:
Dim a,b,c,d,erg as Double 'Double ist genauer als Integer
a=textbox1.text
b=textbox2.text
etc.
Dann erstmal in Variablen rechnen also:
erg=a*b*c*d*(1/3600)
EDIT
zum runden von zahlen verwende ich die function round
w1=5,362435
w2=round(w1,2)
w2 = 5,36
Quelle(n): erfahrung (VB6)