Wo ist der Fehler in meinem Code?

1 Antwort

Lazarus ist eine Entwicklungsumgebung. Die Programmiersprache heißt Object Pascal. Aber das nur am Rande.

Der Fehler ist ja völlig klar. Du hast zwei Real-Werte (die Variablennamen beginnen ja schon mit "real") und willst das Ergebnis einer Caption zuweisen. Eine Caption ist aber ein String und kein Real. Du musst also das Ergebnis der Subtraktion zunächst in einen String umwandeln (FloatToStr-Funktion):

LBLSparen.Caption := FloatToStr(realEvu1GeskMitTBonus-realEvu2GeskMitTBonus);




VBScript: Was ist falsch?

PI = InputBox("Wie viele Punkte konnte man insgesamt erreichen?" & vbLf & "" & vbLf & "" & vbLf & "" & vbLf & "" & vbLf & "	Bitte schreibe Dezimalzahlen mit Komma: ,")
If PI="" then
wscript.quit
End If
P1 = InputBox("Ab wie viel Prozent gibt es eine 1?")
If P1="" then
wscript.quit
End If
P2 = InputBox("Ab wie viel Prozent gibt es eine 2?")
If P2="" then
wscript.quit
End If
P3 = InputBox("Ab wie viel Prozent gibt es eine 3?")
If P3="" then
wscript.quit
End If
P4 = InputBox("Ab wie viel Prozent gibt es eine 4?")
If P4="" then
wscript.quit
End If
P5 = InputBox("Ab wie viel Prozent gibt es eine 5?")
If P5="" then
wscript.quit
End If
P6 = 0
PM1=P1-1
PM2=P2-1
PM3=P3-1
PM4=P4-1
PM5=P5-1
PP1=""& P1 &"% "+"- 100%"
PP2=""& P2 &"% "+"- "& PM1 &"%"
PP3=""& P3 &"% "+"- "& PM2 &"%"
PP4=""& P4 &"% "+"- "& PM3 &"%"
PP5=""& P5 &"% "+"- "& PM4 &"%"
PP6="0%"+" - "& PM5 &"%"
PK="0"
do
PK = InputBox("Wie viele Punkte hat das Kind erreicht?" & vbLf & "" & vbLf & "1 = "& PP1 &"" & vbLf & "2 = "& PP2 &"" & vbLf & "3 = "& PP3 &"" & vbLf & "4 = "& PP4 &"" & vbLf & "5 = "& PP5 &"" & vbLf & "6 = "& PP6 &"")
If PK="" then
wscript.quit
End If
eg=PK/PI
eg=eg100
msgbox ""& eg &""
If eg >= P1 And eg <= "100" Then
msgbox ""& eg &"% hat das Kind und die Note:" & vbLf & "" & vbLf & "sehr gut"
ElseIf eg >= P2 And eg <= PM1 Then msgbox ""& eg &"% hat das Kind und die Note:" & vbLf & "" & vbLf & "gut"
ElseIf eg >= P3 And eg <= PM2 Then msgbox ""& eg &"% hat das Kind und die Note:" & vbLf & "" & vbLf & "befriedigend"
ElseIf eg >= P4 And eg <= PM3 Then msgbox ""& eg &"% hat das Kind und die Note:" & vbLf & "" & vbLf & "ausreichend"
ElseIf eg >= P5 And eg <= PM4 Then msgbox ""& eg &"% hat das Kind und die Note:" & vbLf & "" & vbLf & "mangelhaft"
ElseIf eg >= "0" And eg <= PM5 Then msgbox ""& eg &"% hat das Kind und die Note:" & vbLf & "" & vbLf & "üngenügend"
End If
loop 

Das ist mein Code un in der letzten loop schleife wird keine msgbox angezeigt. Die Prozente liegen im bereich einer 1 und trozdem passiert nichts. Woran liegt das?

eg ist übrings die Prozentzahl des Kindes. Bis zu

msgbox ""& eg &""

hat alles auch geklappt

...zur Frage

Kann ich in Excel-VBA zwei Wenn-Werte eingeben?

Mein Code sieht derzeit so aus:

 If Target.Address = "$A$20" Then

    If Target.Value = "Ja" Then

        Rows("21:27").Hidden = True

    End If

Ich möchte aber Groß und Kleinschreibung abdecken, also als IfTaget "Ja" und "ja" haben. Geht das? Wie sieht der Code dann aus? Danke für die Hilfe

...zur Frage

Spinedit, Vokabel fehler? Andere Vokabel nötig!

Guten Tag... ERNEUT :)

Ich hab natürlich auch heute wieder eine Frage an euch, die Community. Ich programmiere mit dem Programm: Delphi (Lazarus ist das gleiche). Ich hab gerade angefangen mit einem Wecker. Die Uhrzeit läuft schon super. Jetzt brauche ich aber noch die Einstellung für den Timer. Jagut... sollte ja nicht so schwer sein. Ich möchte aber die SpinEdit's benutzen, weil die am wenigstens Platz verbrauchen und übersichtlich bleiben. Jetzt hab ich aber mit dem Befehl: " x : integer x := strtoint (spinedit1); " die Zahl aus dem spinedit heraus zu lesen. Leider hat dies nur einen Fehler rausgehauen: Error: Incompatible type for arg no. 1: Got "TSpinEdit", expected "AnsiString". Auch inttoint funktioniert nicht. Gibt es dafür eine besondere Vokabel? Oder hab ich nur einen Fehler ? Hier noch mal den GANZEN Abschnitt.

procedure TForm1.SpinEdit1Change(Sender: TObject); begin wecker := strtoint (spinedit1); label1.caption := inttostr (Wecker); end;

...zur Frage

Wie kann ich Variablen übergeben (Excel, VisualBasic)?

Hallo zusammen,

ich habe eine UserForm in der folgendes steht:

    ...
    Spalte = 3
    Zeile = 6
    
    Unload UserForm1
    
    If OptionButton2 = True Then
        UserForm2.Show
    End If
...

In der zweiten UserForm steht dann:

Sub CommandButton1_Click()

If OptionButton1 = True Then
    Spalte = 6
ElseIf OptionButton2 = True Then
    Spalte = 9
ElseIf OptionButton3 = True Then
    Spalte = 12
ElseIf OptionButton4 = True Then
    Spalte = 15
End If

Unload UserForm2

End Sub

Leider funktioniert es nicht und "Spalte" bleibt immer 6.. Kann mir jemand weiterhelfen und sagen wie ich es hin bekomme, dass Spalte geändert wird?

...zur Frage

VBA Makros - if Anweisung

Hi,

ich will mit makros etwas abfragen...

ich habe eine hauptabfrage und wenn diese zutrifft, nur dann, soll es noch andere abfragen geben.

also diesen aufbau

if .......... then if .....then if......then

End IF

Nach jedem If muss aber ein END-IF kommen....

weiße von euch jmd wie man das machen könnte?

Danke schon mal

...zur Frage

VB.NET einfache schleife funktioniert nicht...wieso?

Hallo und guten Abend,

ich programmiere grade in VB und irgendwie bin ich zu blöd um ne einfache Schleife hinzubekommen :O

Es ist eigentlich ganz einfach.

Wenn Index größer 5 ist soll sich die Anwendung komplett beenden.

Quellcode:

If UsernameTextBox.Text = "Test" And PasswordTextBox.Text = "Passwort" Then
            Form1.Show()
        Else
            MessageBox.Show("Benutzername oder Passwort Falsch!")
            If Index > 5 Then
                MessageBox.Show("Beeeeeenden")
                Application.Exit()
                Index = Index + 1
            End If
        End If
...zur Frage

Was möchtest Du wissen?