kinhthra Δημοσ. 27 Ιανουαρίου 2022 Δημοσ. 27 Ιανουαρίου 2022 Νέος σε Visual Basic. Έχω ένα μικρό πρότζεκτ και θα ήθελα την βοήθειά σας. Πώς μπορώ να κάνω όταν γράφω είτε κεφαλαία είτε μικρά σε πλαίσιο να εμφανίζεται το ίδιο αποτέλεσμα; Π.χ. όταν γραφώ Αθήνα το αποτέλεσμα είναι Ελλάδα αν γραφώ αθήνα να εμφανίζεται το ίδιο. Ευχαριστώ για το χρόνο σας.
Ponous Δημοσ. 27 Ιανουαρίου 2022 Δημοσ. 27 Ιανουαρίου 2022 Πωω μου θύμησες τα χρόνια μου στο γυμνάσιο! 🤩 Εννοείς vb.net να υποθέσω; Αυτό που ζητάς δεν είναι να εμφανίζεται το ίδιο αποτέλεσμα....αλλά να μετατρέψεις ό,τι γράφεις στην ίδια μορφή για να μπορεί να σου εμφανίσει το ίδιο αποτέλεσμα. Δηλαδή ο στόχος σου πρέπει να είναι πως όταν γράφεις Αθήνα ή αθήνα ή ΑθΉνα ή οποιοδήποτε άλλο συνδυασμό, να σου μετατρέψει την λέξη έτσι ώστε να είναι όλα πεζά (ή όλα κεφαλαία). Και μετά μπορείς να το χρησιμοποιήσεις την λέξη σε ό,τι ελέγχους θέλεις! Με ένα μικρό ψάξιμο στο διαδίκτυο λέει πως αυτή η συνάρτηση πιο κάτω (ToLower) είναι αυτό που ψάχνεις). Dim value As String = "ABC123" value = value.ToLower() 1
kinhthra Δημοσ. 27 Ιανουαρίου 2022 Μέλος Δημοσ. 27 Ιανουαρίου 2022 30 λεπτά πριν, Ponous είπε Πωω μου θύμησες τα χρόνια μου στο γυμνάσιο! 🤩 Εννοείς vb.net να υποθέσω; Αυτό που ζητάς δεν είναι να εμφανίζεται το ίδιο αποτέλεσμα....αλλά να μετατρέψεις ό,τι γράφεις στην ίδια μορφή για να μπορεί να σου εμφανίσει το ίδιο αποτέλεσμα. Δηλαδή ο στόχος σου πρέπει να είναι πως όταν γράφεις Αθήνα ή αθήνα ή ΑθΉνα ή οποιοδήποτε άλλο συνδυασμό, να σου μετατρέψει την λέξη έτσι ώστε να είναι όλα πεζά (ή όλα κεφαλαία). Και μετά μπορείς να το χρησιμοποιήσεις την λέξη σε ό,τι ελέγχους θέλεις! Με ένα μικρό ψάξιμο στο διαδίκτυο λέει πως αυτή η συνάρτηση πιο κάτω (ToLower) είναι αυτό που ψάχνεις). Dim value As String = "ABC123" value = value.ToLower() Ευχαριστώ αλλά δυστυχώς δεν μου κάνει. τι πρέπει να κάνω εδώ; Dim item As String = Tbx1.Text.ToString() Dim index As Integer = Lbx1.FindString(item) If index = -1 Then Lbx1.SelectedIndex = Lbx1.SelectedIndex Else Lbx1.SetSelected(index, True) End If Select Case Tbx1.Text Case "α"
masteripper Δημοσ. 28 Ιανουαρίου 2022 Δημοσ. 28 Ιανουαρίου 2022 (επεξεργασμένο) Μια λύση είναι να τα κάνεις όλα κεφαλαία ή μικρά on the fly (για το ListBox) και μετά να κάνεις την αναζήτηση...(μια προσοχή μόνο να κάνεις τις αντικαταστήσεις στα φωνήεντα) For Each item As ListItem In listbox.Items item.Text = item.Text.ToUpper() Next Κάπως έτσι το σκέφτηκαν και στο SO : https://stackoverflow.com/questions/21706214/searching-items-in-listbox-using-uppercase-and-lowercase Επεξ/σία 28 Ιανουαρίου 2022 από masteripper 1
n3a Δημοσ. 28 Ιανουαρίου 2022 Δημοσ. 28 Ιανουαρίου 2022 13 ώρες πριν, kinhthra είπε Ευχαριστώ αλλά δυστυχώς δεν μου κάνει. τι πρέπει να κάνω εδώ; Dim item As String = Tbx1.Text.ToString() Dim index As Integer = Lbx1.FindString(item) If index = -1 Then Lbx1.SelectedIndex = Lbx1.SelectedIndex Else Lbx1.SetSelected(index, True) End If Select Case Tbx1.Text Case "α" Δυστυχώς δεν έχω ασχοληθεί με VB.net, οπότε μπορεί να λέω ανοησίες. To Lbx1 και Τbx1 φαντάζομαι είναι "Listbox" και "Textbox", σωστά; Αν επιτρέπει η VB.net method chaining, ενδεχομένως να μπορείς να κάνεις στην αρχή το εξής: Dim item As String = Tbx1.Text.ToString().ToLower() (ή .ToUpper()) και έτσι να μετατρέψεις σε lower ή upper case οτιδήποτε πληκτρολογήσει ο χρήστης. Στη συνέχεια θα κάνεις cross check με ο,τι έχεις αποθηκευμένο στο listbox, που πρέπει προφανώς να είναι όλα lower ή upper case αντίστοιχα. Αν το παραπάνω δεν λειτουργεί, μπορείς να το κάνεις σε ξεχωριστό στάδιο κάπως έτσι: Dim item As String = Tbx1.Text.ToString() item.Text = item.ToLower() ... 1
virxen75 Δημοσ. 28 Ιανουαρίου 2022 Δημοσ. 28 Ιανουαρίου 2022 Πρέπει μέσω ενός for να διατρέξεις όλα τα στοιχεία.Έλεγχος κάνοντας και τα 2 πεζά.π.χ. Dim item As String = Tbx1.Text.ToString() For index As Integer = 0 To Lbx1.Items.Count - 1 If Lbx1.Items(index).ToString.ToLower.Contains(item.ToLower) Then Lbx1.SetSelected(index, True) End If Next 1
kinhthra Δημοσ. 28 Ιανουαρίου 2022 Μέλος Δημοσ. 28 Ιανουαρίου 2022 8 ώρες πριν, n3a είπε Δυστυχώς δεν έχω ασχοληθεί με VB.net, οπότε μπορεί να λέω ανοησίες. To Lbx1 και Τbx1 φαντάζομαι είναι "Listbox" και "Textbox", σωστά; Αν επιτρέπει η VB.net method chaining, ενδεχομένως να μπορείς να κάνεις στην αρχή το εξής: Dim item As String = Tbx1.Text.ToString().ToLower() (ή .ToUpper()) και έτσι να μετατρέψεις σε lower ή upper case οτιδήποτε πληκτρολογήσει ο χρήστης. Στη συνέχεια θα κάνεις cross check με ο,τι έχεις αποθηκευμένο στο listbox, που πρέπει προφανώς να είναι όλα lower ή upper case αντίστοιχα. Αν το παραπάνω δεν λειτουργεί, μπορείς να το κάνεις σε ξεχωριστό στάδιο κάπως έτσι: Dim item As String = Tbx1.Text.ToString() item.Text = item.ToLower() ... Καταρχάς σας ευχαριστώ όλους. τελικά το κατάφερα με αυτό το τρόπο: Select Case Tbx1.Text.ToLower()
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα