Suche im Forum:
Suchen


Autor Nachricht
Beitrag09.07.2010 um 20:06 (UTC)    
Titel: visual basic problem

Hallo,

ich schreibe gerade ein Programm. Bin eigentlich Anfänger.

Mein Problem:
Ich möchte, das einer Zahlenreihe 1 - 10 der Wert 2 zugeordnet wird
von 11 - 20 der Wert 3
von 21 - 30 der Wert 4

Wie lautet der Befehl?
If TextBox2.Text < 10 Then TextBox17.Text = 3
If TextBox2.Text > 10 and < 20 Then TextBox17.Text = 4

usw
Beitrag09.07.2010 um 20:39 (UTC)    
Titel:

Code:
   Public Class Form1
    Dim zahl As Integer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If TextBox1.Text < 11 Then
            zahl = 2
            TextBox2.Text = zahl
        End If
        If TextBox1.Text < 21 Then
            zahl = 3
            TextBox2.Text = zahl
        End If
        If TextBox1.Text < 31 Then
            zahl = 4
            TextBox2.Text = zahl
        End If
    End Sub
End Class


So könnte man es machen.
Ich hoffe es ist so, wie du es meinst.

Natürlich kann man die If Abfragen noch verschachteln, aber so hast du einen leichteren Überblick.
______________

Beitrag11.07.2010 um 04:32 (UTC)    
Titel:

aber 10 ist kleiner als 11 und 21 und 31.

gibt er mir trotzdem die richtige Zahl?
oder muß ich zB
kleiner 21 und größer 11
usw?
Beitrag11.07.2010 um 08:33 (UTC)    
Titel:

Wenn

Code:
If Textbox1.text > 10 then
zahl = 2
Textbox2.text = zahl
End If


Dann wird nur bis 9 geprüft.
Die Bedingung ist ja Wenn Textbox1 ist kleiner als 10 dann tue dies.
Wäre Textbox1 = 10, käme hier der Else Teil zum Einsatz, der ist aber nicht vorhanden, daher wird die Überprüfung abgebrochen.


Daher ist mein Code schon richtig Wink

Zitat:
gibt er mir trotzdem die richtige Zahl?

ja.

Zitat:
oder muß ich zB
kleiner 21 und größer 11
usw?


Gib doch irgendeine Zahl ein und sieh was passiert (1-30).
1-10 = 2
11-20 = 3
21-30 = 4

Edit:
So, ich hab meinen Code mal getestet.
Die If Abfragen müssen geschachtelt werden.
Code:
Public Class Form1
    Dim zahl As Integer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


        If TextBox1.Text < 11 Then
            zahl = 2
            TextBox2.Text = zahl
        Else
            If TextBox1.Text < 21 Then
                zahl = 3
                TextBox2.Text = zahl
            Else
                If TextBox1.Text < 31 Then
                    zahl = 4
                    TextBox2.Text = zahl
                End If
            End If
        End If

    End Sub


So jetzt funktionierts.
Du brauchst nur noch den Code für dich anpassen.
______________



Zuletzt bearbeitet von freewebbuttons am 11.07.2010, 09:39, insgesamt einmal bearbeitet
Beitrag11.07.2010 um 08:35 (UTC)    
Titel:

Ich kenn mich jetzt nciht sehr mit VB aus, aber normalerweise wird bei einer if, elseif... Abfrage das ganze von oben bis unten durchgearbeitet bis eine richtige AUsage kommt und dann wird der Rest übersprungen.
ICh weiß jetzt nciht ob das einzelne if Abfragen sind (Dann werden zb für 10 alle Anweisungsblöcke durchgearbeitet), wenn es aber if, elseif Abfragen sind dann wird für 10 nur das erste Ausgeführt und der Rest übersprungen.

Hoffe das war erständlich erklärt und das es ach für VB zutrifft.

mfg

Edit: Da war wohl eh ein Visual Basicler schneller Wink
______________
Forenregeln, FAQ, Suchfunktion


Zuletzt bearbeitet von philipp7 am 11.07.2010, 09:35, insgesamt einmal bearbeitet
Beitrag11.07.2010 um 08:41 (UTC)    
Titel:

philipp7 hat Folgendes geschrieben:
Ich kenn mich jetzt nciht sehr mit VB aus, aber normalerweise wird bei einer if, elseif... Abfrage das ganze von oben bis unten durchgearbeitet bis eine richtige AUsage kommt und dann wird der Rest übersprungen.
ICh weiß jetzt nciht ob das einzelne if Abfragen sind (Dann werden zb für 10 alle Anweisungsblöcke durchgearbeitet), wenn es aber if, elseif Abfragen sind dann wird für 10 nur das erste Ausgeführt und der Rest übersprungen.

Hoffe das war erständlich erklärt und das es ach für VB zutrifft.

mfg

Edit: Da war wohl eh ein Visual Basicler schneller Wink


Das war genau mein Denkfehler^^.
Naja der richtige Code steht oben.

Elseif würde auch gehen.
Besser wäre es mit einem Case-Block.
______________

Beitrag11.07.2010 um 17:55 (UTC)    
Titel:

Public Class Form1
Dim zahl As Integer

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


If TextBox1.Text < 11 Then
zahl = 2
TextBox2.Text = zahl
Else
If TextBox1.Text < 21 Then
zahl = 3
TextBox2.Text = zahl
Else
If TextBox1.Text < 31 Then
zahl = 4
TextBox2.Text = zahl
End If
End If
End If

End Sub


Das scheint zu funktionieren.
Das erste läuft bei mir nicht.

Besten Dank
Beitrag14.07.2010 um 17:29 (UTC)    
Titel: tut nich

warum geht das nich?
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click

Dim zahl As Integer

If TextBox2.Text / TextBox1.Text < 1 Then zahl = 0.43
TextBox17.Text = zahl

ElseIf TextBox2.Text / TextBox1.Text < 1.1 Then zahl = 0.49
TextBox17.Text = zahl

ElseIf TextBox2.Text / TextBox1.Text < 1.2 Then zahl = 0.54
TextBox17.Text = zahl

ElseIf TextBox2.Text / TextBox1.Text < 1.3 Then zahl = 0.59
TextBox17.Text = zahl

ElseIf TextBox2.Text / TextBox1.Text < 1.4 Then zahl = 0.64
TextBox17.Text = zahl
End If
endif
endif
endif
endif
end sub
Beitrag14.07.2010 um 17:33 (UTC)    
Titel:

Zitat:
endif


das kann von der syntax eigentlich nicht stimmen oder?
______________
Video Portal Unplugged
Neues Gewinnspiel #1
Neues Gewinnspiel #2
Beitrag14.07.2010 um 17:40 (UTC)    
Titel:

Ich kenn mich schon wie gesagt mit VB nicht aus, aber das hier irritiert:
Code:
End If
endif
endif
endif
endif


mfg

Edit:

Kuck mal hier:
http://www.vbtutor.net/lesson7.html

Heißt eindeutig end if und nciht endif
______________
Forenregeln, FAQ, Suchfunktion


Zuletzt bearbeitet von philipp7 am 14.07.2010, 19:22, insgesamt einmal bearbeitet
Beitrag27.07.2010 um 16:20 (UTC)    
Titel: was ist da falsch ???

Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click

Dim zahl As Integer

If TextBox2.Text / TextBox1.Text < 1 Then zahl = 0.43
TextBox17.Text = zahl

ElseIf TextBox2.Text / TextBox1.Text < 1.1 Then zahl = 0.49 TextBox17.Text = zahl

ElseIf TextBox2.Text / TextBox1.Text < 1.2 Then zahl = 0.54
TextBox17.Text = zahl

ElseIf TextBox2.Text / TextBox1.Text < 1.3 Then zahl = 0.59
TextBox17.Text = zahl

ElseIf TextBox2.Text / TextBox1.Text < 1.4 Then zahl = 0.64
TextBox17.Text = zahl
End If

End Sub
Beitrag30.07.2010 um 17:52 (UTC)    
Titel: HILFE

wie kann ich ddas Problem am beste lösen?

Das Programm soll folgendes machen:

Wenn zB eine Zahl kleiner als 100 ist, soll in einer anderen Textbox die Zahl 1 stehen.
Wenn die Zahl kleiner als 200 ist, soll in einer anderen Textbox die Zahl 2 stehen.
Wenn die Zahl kleiner als 300ist, soll in einer anderen Textbox die Zahl 3 stehen.
Ich bin mir nicht sicher ob der if then else der richtige Befehl ist.
Beitrag31.07.2010 um 13:58 (UTC)    
Titel:

Zitat:
Wenn zB eine Zahl kleiner als 100 ist, soll in einer anderen Textbox die Zahl 1 stehen.
Wenn die Zahl kleiner als 200 ist, soll in einer anderen Textbox die Zahl 2 stehen.
Wenn die Zahl kleiner als 300ist, soll in einer anderen Textbox die Zahl 3 stehen.
Ich bin mir nicht sicher ob der if then else der richtige Befehl ist.


Das ist jetzt nicht gut geschildert. Du könntest mehrere verschiedene "andere Textboxen" meinen oder eine gleiche.

Deshalb hier beides:

TextBox1 .... die Textbox in der die Zahl steht
TextBox2 .... die andere TextBox

If TextBox1.Text < 100 Then TextBox2.Text = "1"
If TextBox1.Text < 200 Then TextBox2.Text = "2"
If TextBox1.Text < 300 Then TextBox2.Text = "3"

Wenn du mehrere Textboxen meinst:

If TextBox1.Text < 100 Then TextBox2.Text = "1"
If TextBox1.Text < 200 Then TextBox3.Text = "2"
If TextBox1.Text < 300 Then TextBox4.Text = "3"

Wenn du meinst es soll 1 wie bei 100 die erste Ziffer stehen dann:
TextBox2.Text = (TextBox1.Text / 100)
______________
Every Problem has a solution! => www.saveyourpc.tk

The legend and the hope lives on ...

I am back!
Beitrag31.07.2010 um 14:39 (UTC)    
Titel:

If TextBox1.Text < 100 Then TextBox2.Text = "1"
If TextBox1.Text < 200 Then TextBox2.Text = "2"
If TextBox1.Text < 300 Then TextBox2.Text = "3"

ich habs getestet.
Textbox2 zeigt aber immer 3 an.
Wahrscheinlich weil alle Werte die ich eingebe kleiner als 300 sind

Was kann ich machen?
If Textbox1.Text > 100 and < 200 Then Textbox2.Text = "2"

Das geht aber auch nicht. Vielleicht so ähnlich?
Beitrag31.07.2010 um 15:16 (UTC)    
Titel:

If TextBox1.Text < 101 Then TextBox2.Text = "1"
If TextBox1.Text >100 and Textbox1.Text < 201 Then TextBox2.Text = "2"
If TextBox1.Text > 200 and Textbox1.Text < 301 Then TextBox2.Text = "3"


So gehts
Danke !
Beiträge der letzten Zeit anzeigen:   


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de