Καλημέρα,
στο παράδειγμα που ανέβασα εν μέρη γίνεται το ζητούμενο που ζητούσα.
Όταν έχω το ίδιο κείμενο και στα δύο και σκιάσω ένα μέρος κειμένου στο πρώτο textbox1 τότε με ένα κουμπί εντολής γίνεται σκίαση στο ίδιο μέρος κειμένου στο δεύτερο textbox2.
Επειδή πρόκειτε όμως για μεταγλώττιση και τα κείμενα είναι διαφορετικά αλλά με ισοτιμία γραμμάτων δεν υπάρχει θέμα με τους χαρακτήρες.Υπάρχει αντιστοιχία χαρακτήρων.(Δηλαδή η μεταγλώττιση γίνεται γραμμα-γράμμα)
Οπότε για να λυθεί το θέμα πρέπει να γίνεται επιλογή χαρακτήρων και όχι λέξεων.
Το πρόβλημα είναι ότι όταν έχω διαφορετικά κείμενα στα Textbox δεν γίνεται επιλογή στο δεύτερο textbox.
Υπάρχει καμιά λύση στο θέμα αυτό;
Κώδικας:
Private seltxt As String
Private Sub TextBox1_LostFocus()
seltxt = TextBox1.SelText
End Sub
Private Sub btnFind_Click()
i = InStr(1, TextBox2, seltxt, vbTextCompare)
If i Then
TextBox2.SetFocus
TextBox2.SelStart = i-1
TextBox2.SelLength = Len(seltxt)
End If
End Sub
Προσπάθησα με τις συναρτήσεις παρακάτω αλλά δεν το κατάφερα
SelLength - επιστροφές ή ορίζει τον αριθμό των χαρακτήρων που επιλέγονται.
SelStart - επιστρέφει ή ορίζει το σημείο εκκίνησης του κειμένου που επιλέγονται? υποδεικνύει
τη θέση του σημείου εισαγωγής αν δεν έχει επιλεγεί κείμενο.
SelText - επιστρέφει ή ορίζει το string που περιέχει το επιλεγμένο κείμενο? αποτελείται από μια συμβολοσειρά μηδενικού μήκους ( ""), εάν δεν έχουν επιλεγεί χαρακτήρες.
Υ/Γ; Στο παράδειγμα που επισυνάπτω έχει 2 εγγραφές στην πρώτη τα κείμενα είναι διαφορετικά και είναι αυτό που θέλω να πετύχω .
Στη δεύτερη εγγραφή τα κείμενα είναι ίδια έτσι δουλεύει εάν κάνεις μιά επιλογή κειμένου και με κουμπί εντολής επιλέγεται ακριβώς το αντίστοιχο ίδιο κείμενο που εάν γίνει και με μια παλέτα χρωμάτων μπορείς να εντοπίζεις ένα απόσπασμα κειμένου και να αλλάζει χρώμα το επιλεγμένο κείμενο .