Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Νέος σε Visual Basic.

Έχω ένα μικρό πρότζεκτ και θα ήθελα την βοήθειά σας. Πώς μπορώ να κάνω όταν γράφω είτε κεφαλαία είτε μικρά σε πλαίσιο να εμφανίζεται το ίδιο αποτέλεσμα; 

Π.χ. όταν γραφώ Αθήνα το αποτέλεσμα είναι Ελλάδα αν γραφώ αθήνα να εμφανίζεται το ίδιο. 

Ευχαριστώ για το χρόνο σας.

Δημοσ.

Πωω μου θύμησες τα χρόνια μου στο γυμνάσιο! 🤩 Εννοείς vb.net να υποθέσω;

Αυτό που ζητάς δεν είναι να εμφανίζεται το ίδιο αποτέλεσμα....αλλά να μετατρέψεις ό,τι γράφεις στην ίδια μορφή για να μπορεί να σου εμφανίσει το ίδιο αποτέλεσμα. Δηλαδή ο στόχος σου πρέπει να είναι πως όταν γράφεις Αθήνα ή αθήνα ή ΑθΉνα ή οποιοδήποτε άλλο συνδυασμό, να σου μετατρέψει την λέξη έτσι ώστε να είναι όλα πεζά (ή όλα κεφαλαία). Και μετά μπορείς να το χρησιμοποιήσεις την λέξη σε ό,τι ελέγχους θέλεις!

Με ένα μικρό ψάξιμο στο διαδίκτυο λέει πως αυτή η συνάρτηση πιο κάτω (ToLower) είναι αυτό που ψάχνεις).

Dim value As String = "ABC123"
value = value.ToLower()

 

  • Thanks 1
Δημοσ.
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 "α"

 

Δημοσ. (επεξεργασμένο)

Μια λύση είναι να τα κάνεις όλα κεφαλαία ή μικρά 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

Επεξ/σία από masteripper
  • Thanks 1
Δημοσ.
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()
	...

 

  • Thanks 1
Δημοσ.

Πρέπει μέσω ενός 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

  • Thanks 1
Δημοσ.
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()
			

 

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...