Diskuze: [VB] pomoc

C# .NET .NET (C# a Visual Basic) [VB] pomoc American English version English version

Avatar
khoudy54
Člen
Avatar
khoudy54:

Ahoj tvořím program ale mám tu problém a vůbec nevím jak ho vyřešit. Zde je kód:

Dim delka As Integer = TextBox1.Text.Length
If TextBox1.Text = "" = True Or TextBox2.Text = "" = True Then
    Label5.Text = "Políčka nejsou vyplněna."
    Label5.ForeColor = Color.Red
    Label5.Visible = True
ElseIf TextBox1.Text.Contains(" ") = True Then
    Label5.Text = "Heslo nemuže obsahovat mezeru."
    Label5.ForeColor = Color.Red
    Label5.Visible = True
ElseIf delka <= 4 Then
    Label5.Text = "Heslo musí být min. 5 znaků dlouhé."
    Label5.ForeColor = Color.Red
    Label5.Visible = True
ElseIf TextBox1.Text = TextBox2.Text = False And TextBox1.Text = "" = False And TextBox1.Text.Contains(" ") = False And delka >= 4 = False Then
    Label5.Text = "Hesla se neshodují."
    Label5.ForeColor = Color.Red
    Label5.Visible = True
ElseIf TextBox1.Text = TextBox2.Text = True And TextBox1.Text = "" = False And TextBox1.Text.Contains(" ") = False And delka >= 4 = False Then


End If

O co mi jde. Prostě ať dělám co dělám tak se to nedostane k té poslední ELSEIF.

Děkuju za odpovědi.

Editováno 20.5.2014 19:52
 
Odpovědět 20.5.2014 19:52
Avatar
Odpovídá na khoudy54
Michal Štěpánek:

Nějak nechápu toto:

If TextBox1.Text = "" = True Or TextBox2.Text = "" = True

Proč je ta podmínka takto?
podle mě by to mělo být jen:

If TextBox1.Text = "" Or TextBox2.Text = ""
Nahoru Odpovědět 21.5.2014 8:02
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Honza
Člen
Avatar
Odpovídá na khoudy54
Honza:

Ahoj, trošku se v tom tvém kódu ztrácím. Stejně jako Michal nechápu tu konstrukci s True po vyhodnocení textu.

Provedl jsem drobnou úpravu toho tvého kódu a vypadá to že to funguje. Zkontroluj si zda jsem nepřehlédl nějakou validaci, popř. si dopiš nějaké další. Jen je potřeba dávat pozor na jejich pořadí.

Zde je upravený kód:

If TextBox1.Text.Trim.Length = 0 Or TextBox2.Text.Trim.Length = 0 Then

    Label5.Text = "Políčka nejsou vyplněna."
    Label5.ForeColor = Color.Red
    Label5.Visible = True

ElseIf TextBox1.Text.Contains(" ") Then

    Label5.Text = "Heslo nemuže obsahovat mezeru."
    Label5.ForeColor = Color.Red
    Label5.Visible = True

ElseIf TextBox1.Text.Length < 5 Then

    Label5.Text = "Heslo musí být min. 5 znaků dlouhé."
    Label5.ForeColor = Color.Red
    Label5.Visible = True

ElseIf TextBox1.Text.Equals(TextBox2.Text) = False Then

    Label5.Text = "Hesla se neshodují."
    Label5.ForeColor = Color.Red
    Label5.Visible = True

Else

    Label5.Text = "OK"
    Label5.ForeColor = Color.Green
    Label5.Visible = True

End If
Editováno 21.5.2014 11:07
Nahoru Odpovědět 21.5.2014 11:05
Snadnou cestou se daleko nedostanete, je tam velká tlačenice...
Avatar
Michal Žůrek (misaz):

To True tam byt nemusí, ale vadit by tam nemělo.

Nahoru Odpovědět 21.5.2014 11:32
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na khoudy54
Michal Štěpánek:

zkoušel jsem si to a evidentně ta konstrukce s tím True/False špatně není, ale co se má stát při splnění té poslední podmínky?

Nahoru Odpovědět 21.5.2014 16:29
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na khoudy54
Michal Štěpánek:

Poslední podmínka je splněna, když v prvním a druhém textboxu bude to samé a bude to o velikosti max. 3 znaky a nebude tam mezera...

Nahoru Odpovědět 21.5.2014 16:37
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
khoudy54
Člen
Avatar
Odpovídá na Michal Štěpánek
khoudy54:

Omlouvám se a dekuju za pomoc já sem to napsal špatně nemelo to byt ze to musí byt delší já tři znaky já si nevšiml teto chyby a to způsobilo ze sem nevěděl co dělat. To třídě si tam dávám abych v tom mne lepší přehled jinak to nemá vůbec žádného smysl. Dekuju ze jste se na to podívali. Omlouvám se ze sem neodepisoval byl jsem mimo město.

 
Nahoru Odpovědět 24.5.2014 16:52
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.