Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

convert letters

Îåêßíçóå áðü ôï ìÝëïò PsySpooky. Τελευταία δημοσίευση από το μέλος Dimitris Papadimitriou στις 07-11-2007, 23:25. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  14-08-2007, 20:35 34317

    convert letters

    Καλησπέρα,

    στην εφαρμογή μου έχω 2 textboxes,
    στο πρώτο ο χρήστης δείνει μια φράση.. π.χ "ΓΕΦ" στα ελληνικά κ στο δεύτερο textbox βλέπει την φράση του αλαγμένει σε greeklish ή ξέρω γώ σε αριθμούς...
    μια ερωτησούλα πώς θα δώσω στο πρόγραμμα να καταλάβει ότι π.χ Γ = G , Ε= 3, Φ = 9 κλπ?
    κ στο result textbox να δείνει "G39" , το οποίο θα συμένει "ΓΕΦ"

    ένα παραδηγματάκι θα ήθελα αν είναι δυνατόν...
    ενοήτε ότι υπάρχει convert btn.

    ευχαριστώ

    CC Calculator -newest version: 1.6-

    Επισκευθήτε το blog μου :)

  •  14-08-2007, 20:56 34319 σε απάντηση της 34317

    Απ: convert letters

    Μια γενική ιδεά με την προυπόθεση ότι ένα γράμμα αντιστοιχεί σε ένα άλλο ακριβώς.( Δηλαδή να μην εννοείς ότι το Θ αντιστοιχεί σε th)

    Φτιάξε δυο char arrays όπου τοποθέτησε τα γράμματα αντιστοίχως. πχ στο char[] english το Α θα είναι στο english[0], και στο char[] greek το Α θα είναι στο greek[0]. Έτσι όταν βρεις τη θέση του αγγλικού Α θα ξέρεις σε ποια θέση είναι το ελληνικό.

     


    Γιώργος Σακαλής
  •  06-09-2007, 12:11 34776 σε απάντηση της 34319

    Απ: convert letters

    μια λυση για το προβλημα σου ειναι το [[string].replace(old char as string , new char as string]
    για παραδειγμα :
    TextBox2.Text = TextBox1.Text.Replace("Γ", "G")
    κλπ κλπ κλπ... καπως προχειρο, αλλα θα δουλεψει!
  •  07-11-2007, 22:40 37040 σε απάντηση της 34776

    Απ: convert letters

    Συμφωνώ με την απάντηση του Γιώργου και παραθέτω ένα παράδειγμα σε αυτό που είπε

    Private OriginalArray As Char() = {"Γ", "Ε", "Φ"}
    Private ConvertArray As Char() = {"G", "3", "9"}

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim Pos As Integer
    For Each ch As Char In InputString.Text.ToCharArray
    Pos = Array.IndexOf(OriginalArray, ch)
    If Pos > -1 Then
    Converted.Text += ConvertArray(Pos).ToString
    Else
    Converted.Text += ch.ToString
    End If
    Next
    End Sub

     

    Wink


    Παναγιώτης Λαβίδας
    Software Developer
  •  07-11-2007, 23:20 37046 σε απάντηση της 37040

    Απ: convert letters

    Μια λεπτομέρεια: Το .ToCharArray μπορεί να παραληφθεί

    Κάτι πολύ σημαντικό: Χρήση StringBuilder αντί για απευθείας χτίσιμο επάνω στο Converted που υποθέτω ότι είναι το textbox.

    Άλλο πολύ σημαντικό (φαίνεται και στον κώδικα παραπάνω): Τα arrays αρχικοποιούνται εκτός του button_click. 

    Επίσης δεν ξέρω αν το SortedList θα είναι πιο γρήγορο από το απλό array. Λίγο benchmarking θα έκανε καλό! Ορίστε ο κώδικας:

        Private Shared chars As SortedList(Of Char, Char)

        Public Shared Function ReplaceChars(ByVal input As String) As String
            If String.IsNullOrEmpty(input) Then Return Nothing

            If chars Is Nothing Then
                chars = New SortedList(Of Char, Char)()
                chars.Add("Γ", "G")
                chars.Add("Δ", "D")
            End If

            Dim output As New System.Text.StringBuilder
            For Each letter As Char In input
                If chars.ContainsKey(letter) Then
                    output.Append(chars(letter))
                Else
                    output.Append(letter)
                End If
            Next
            Return output.ToString

        End Function

    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  07-11-2007, 23:25 37047 σε απάντηση της 37046

    Απ: convert letters

    Φυσικά, είτε με array είτε με sorted list, δεν σε εμποδίζει τίποτα να κάνεις replace ένα χαραχτήρα με δυο π.χ. το θ με th. Απλά το 2ο array ή το 2o element του sorted list θα είναι string αντί για char.

    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems