za dvou jeden   otázka

C#, WinForms, Databáze

Zdravím,

potřeboval bych poradit s jednou trivialitou.

potřebuji ze 2 textboxů dostat část textu do 3 textboxu

textbox1 2

textbox2 3

vím že se to řeší přes length ale funkce to nechce spustit i když to mám sepsané dobře

jednoduše potřebuji ze jména a příjmení vytáhnout data na přihlašovací username s autoaktualizací

děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Část textu vrátí funkce Substring, když to máš dobře, tak je to musí fungovat.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Předpokládaje, že máme Form1 s prvky TextBox1 a TextBox1 a Button1.

Událost TextBoxes_TextChanged společnou pro oba textboxy, kde se čeká,

zda je vyplněn potřebný počet znaků, pak zpřístupní ve výchozím stavu

nepřístupný button, který pomocí události Click spojí text dle zadání.

Nepřístupný button postačí případně nastavit v návrháři, události textboxů

mohou být samostatně se stejným řádkem kódu prostě dle potřeby a chuti.

Je to ve vb.Net, ale snad to napoví, případně použít nějaký converter.

Public Class Form1

    Private Sub TextBoxes_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged
        Button1.Enabled = TextBox1.TextLength >= 2 And TextBox2.TextLength >= 3
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim jmeno_prijmeni As String = String.Format("{0} {1}", TextBox1.Text, TextBox2.Text)
        Dim jmeno2chars_prijmeni3chars As String = TextBox1.Text.Substring(0, 2) & TextBox2.Text.Substring(0, 3)
        MessageBox.Show(jmeno_prijmeni & vbNewLine & jmeno2chars_prijmeni3chars, "Zapsat si to ...")
    End Sub

    Public Sub New()
        ' This call is required by the designer.
        InitializeComponent()
        ' Add any initialization after the InitializeComponent() call.
        Button1.Enabled = False
    End Sub
End Class
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Preveril by som prioritu operácii v tretiom riadku. Prípadne použil IF.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Možeš, prosím, trošku podrobnejšie. Nerozumiem otázke.

Ide o to?

txtB1 ... "bla bla bla: Janko"

txtB1 ... "bla bla bla: Hruška"

txtB3 ... "Janko Hruška"

nahlásit spamnahlásit spam 0 odpovědětodpovědět

z textboxu1 potřčebuji poze 2 znaky a z textboxu2 potřebuji 3 znaky a následně se to vše zapíše do textboxu3 který ze následně uloží do db jako username

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Aj tak si to napisal vseobecne.

Ake 2 znaky? Prve 2 znaky slova, alebo posledne 2 znaky slova, alebo posledne dva znaky retazca v textboxe ?

Ked nenapises presne co potrebujes, tak necakaj spravnu odpoved.

Preco chces najst znaky , spojit ich a potom vlozit do textboxu3 aby si to z textboxu3 ulozil do DB?

Nemozes to priamo zobrat z textboxu1 + textboxu2 a vlozit do DB?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ne, potrebuji prvni znaky a vyuzivam vsechny 3 textboxy kazdy se zapisuje do jine bunky v db pokud se textbox3 nebude zobrazovat nic se nestane ale rozhodne potrebuji aby se textboxu1 vypsali prvni 2 znaky a textboxu2 prvni 3 znaky, vyuziji ze jmena a primeni vyuzit jako uzivatelske jmeno

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Abys to pochopil, bylo by lepší si o tom něco přečíst...

https://www.itnetwork.cz/csharp/zaklady/...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Toto ti vybere první dva znaky z TextBox1

string text = TextBox1.Text;
string vyber = text.Substring(0,2);

podobně to uděláš s dalšími textboxy a spojovat řetězce snad umíš, ne?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Alebo tak ako si to písal Ty. System sa rozhoduje pre svoju prioritu operácii, ak ju nezadáš jednoznačne zatvorkami.


    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged
        Button1.Enabled = (TextBox1.TextLength >= 2) And (TextBox2.TextLength >= 3)
    End Sub
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Napríklad takto?

   Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged
        If (TextBox1.Text.Length >= 2) And (TextBox2.Text.Length >= 3) Then
            TextBox3.Text = TextBox1.Text.Substring(0, 2) + TextBox2.Text.Substring(0, 3)
            'Urob niečo napr.:
            MsgBox(TextBox3.Text)
        End If
    End Sub
nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback