makaveli Δημοσ. 25 Απριλίου 2004 Δημοσ. 25 Απριλίου 2004 Xairetai!! Mhpws kapoios apo sas mporei na mou dwsei lush sto parakatw provlhma! Exw ena string se ena Textbox ths Visual Basic Pws mporw na prospelasw afto to string? Gia paradeigma pws mporw na kanw elegxo an afto to string perilamvanei arithmous h shmeia stikshs! Yparxei mhpws kapoios tropos na metatrepsw to string se array? Efxaristw prokatavolika gia thn vohtheia!
V-Piojo Δημοσ. 25 Απριλίου 2004 Δημοσ. 25 Απριλίου 2004 Den ksero polla apo VB alla i synaritisi IsNumeric einai ayti pou elegxei an exei to string arithmitiko xaraktira .
HaPagan Δημοσ. 26 Απριλίου 2004 Δημοσ. 26 Απριλίου 2004 Μετά ένας άλλος τρόπος είναι να φτιάξεις 2 πίνακες : έναν με τους αριθμούς 0-9 και έναν με τα σημεία στίξης που θές . Στη συνέχεια θα ελέγχεις το string για το αν περιέχει αυτά τα στοιχεία των πινάκων . Για να μπορέσεις να πάρεις έναν-έναν τους χαρακτήρες από το string χρησιμοποίησε τις συναρτήσεις left,right !
Επισκέπτης Δημοσ. 26 Απριλίου 2004 Δημοσ. 26 Απριλίου 2004 Μάλλον με την mid πρέπει να κάνει τους ελέγχους... Γενικά όμως προσοχή με τις προσπελάσεις string γιατί ρουφάνε πολλούς πόρους και συνήθως μέχρι να τελειώσει η εύρεση η εφαρμογή κολλάει. Θέλει έξυπνη εύρεση (for...next) και αν γίνεται με τον αριθμό CHR() των χαρακτήρων που θέλεις. (65 = Α 90=Ζ , 97 = a 122 = z, 48=0 57=9 ...)
agrippas Δημοσ. 26 Απριλίου 2004 Δημοσ. 26 Απριλίου 2004 Χρησιμοποίησε επίσης την InStr(). >InStr(πρώτος χαρακτήρας, κείμενο, χαρακτήρας/ες που ζητάς, μορφή αναζήτησης) πχ αν υπάρχει τελεία στη θέση 4, η γραμμή >position = InStr(1, strKeimenoTextbox, ".", 1) θα γυρίσει 4. Αν δεν τη βρει θα γυρίσει μηδέν.
makaveli Δημοσ. 27 Απριλίου 2004 Μέλος Δημοσ. 27 Απριλίου 2004 Ok paidia efxaristw gia thn vohtheia! Telika vrhk thn lush me thn vohtheia ths Keypress elegxontas ton kwdiko Ascii twn xarakthrwn poy patiountai sto txtbox! thanx!!
GothicCrusader Δημοσ. 30 Απριλίου 2004 Δημοσ. 30 Απριλίου 2004 υπάρχει και ένας psycho τρόπος αντί της mid: > Dim b() As Byte Dim s As String Dim i As Integer s = "koupepe123fullingarround" ' || s = txtMyBox.text b() = s For i = 0 To UBound(b()) Step 2 If Chr(b(i)) Like "[0-9]" Or Chr(b(i)) Like Format$(0.1, ".") Then Debug.Print "The " & CInt(i / 2) + 1 & "th is " & Chr(b(i)) & " and is Valid" Else Debug.Print "The " & CInt(i / 2) + 1 & "th is " & Chr(b(i)) & " and is Invalid" End If ' αλλάζεις ό,τι θες Next ' και επαναφέρεις: s = b() Φυσικά αν θες να μην εμφανίζονται καν στο textbox invalid χαρακτήρες θα πρέπει να γράψεις προσεκτικά στην keypress. Όμως το SOS μέρος της λογικής αυτήν είναι ότι πρέπει να χρησιμοποιήσεις την Format$(0.1, ".") για να πάρεις τον χαρακτήρα της υποδιαστολής γιατί σε κάθε σύστημα μπορεί να είναι διαφορετική.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.