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.

Flo fragte in Computer & InternetSoftware · vor 1 Jahrzehnt

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

http://farm5.static.flickr.com/4008/4490471000_640...

Update:

in dem Feld Leistung in Watt steht im bild die leistung in kW

Update 2:

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

Update 3:

ich arbeite mit Visual Studio Express

Update 4:

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

Update 5:

so jetzt läuft das programm aber beim berechnen sollte in etwa 39767 rauskommen es kommt aber 38000 raus kann ich das iwie ändern

Update 6:

wie kann ich es machen dammit das programm in ein Feld (habe jetzt noch mehrere Felder hinzugefügt) automatisch ein % hinter die zahl setzt

Update 7:

und wie kann ich es machen dass ein feld auf eine bestimmte "," Zahl gerundet wird

Update 8:

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

Bewertung
  • vor 1 Jahrzehnt
    Beste 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)
Haben Sie noch Fragen? Jetzt beantworten lassen.