![]() |
Ένωση συναρτήσεων σε ερωτημα 1 Συνημμένο(α) Καλησπέρα στη παρέα! Προσπαθώ να κάνω ένα ερώτημα και θέλω να συνδέσω τα παρακάτω. Δεν ξέρω που κάνω λάθος.Από την φόρμα καλώ τις δύο συναρτήσεις που η φόρμα συνδέεται με το ερώτημα. NewText: (SmallToCapital([textbox2])) & (ReplaceEndSigma([textbox2])) Πως μπορώ να συνδέσω το SmallToCapital([textbox2]) με το ReplaceEndSigma([textbox2]) στο ερώτημα; Μέσα απο το Module μπορώ να τις βάλω μαζί και να δουλεύει υπάρχει ένας τρόπος αλλά μέσα στο ερώτημα πιθανόν κάποια αγκύλη κάνω λάθος δεν ξέρω. |
1 Συνημμένο(α) Καλησπέρα Θα πρέπει να αποσαφηνίσουμε το ζητούμενο: 1) Αν τελικός μας στόχος είναι η μετατροπή του κειμένου σε κεφαλαία, δεν απαιτείται να δημιουργήσουμε κάποια συνάρτηση χρήστη. Μπορούμε να χρησιμοποιήσουμε τον τύπο: Replace(UCase([Textbox2]);"ς";"Σ"). 2) Αν όμως θέλουμε, διατηρώντας την πεζή γραφή, να αλλάξουμε το τελικό «σ» σε «ς», χρειάζεται συνάρτηση χρήστη. Μια τέτοια είναι η παρακάτω. Κώδικας: Public Function ReplaceEndSigma(str As Variant) As Variant |
1 Συνημμένο(α) Καλησπέρα Γιώργο! Θέλω να βάλω τις συναρτήσεις που έχω στο module σε ένα νέο NewTextBox: στο ερώτημα που να διορθώνει το (σ) σε (ς) όταν είναι μετά από κάποιες συνθήκες πχ ακολουθεί κενό κλπ αλλά ταυτόχρονα να διορθώνει σε κεφαλαίο μετά από τελεία και κενό αν βρίσκει το πρώτο γραμμα μικρό να το διορθώνει και να το κάνει κεφαλαίο. Έχω την συνάρτηση.Κοίταξε το ερώτημα σε προβολή σχεδίασης δεν έχω καλή την σύνταξη να βάλω και τις δύο συναρτήσεις μαζί να διορθώνει ένα κείμενο και όχι ξεχωριστά Γιώργο μέχρι πόσους χαρακτήρες χωράει "Το μεγάλο κείμενο σε ένα πίνακα; Στο παρακάτω κώδικα ενσωμάτωσα τις δύο ρουτίνες σε μία για να μου δώσει το επιθυμητό αποτέλεσμα στο κείμενο αλλά υπάρχει πρόβλημα στη σειρά με το κόκκινο.Αν είχα τα δύο fuctions ξεχωριστά σε ένα module τότε στο ερώτημα τί τύπο θα χρησιμοποιήσω για να έχω τις διορθώσεις στο ίδιο κείμενο; Κώδικας: Public Function ReplaceEndSigmaSmallToCapital(str As Variant) As Variant |
1 Συνημμένο(α) Καλημέρα Αφού έχεις έτοιμες δοκιμασμένες συναρτήσεις, δε χρειάζεται να τις ενσωματώσεις σε μία. Για την επίτευξη του ζητούμενου απαιτείται ένθεση. Για παράδειγμα: SmallToCapital(ReplaceEndSigma(txt)). Η εσωτερική συνάρτηση μετατρέπει στο κείμενο txt το τελικό «σ» σε «ς» και η εξωτερική, ενεργώντας στο τροποποιημένο txt, μετατρέπει στο επιθυμητό κεφαλαίο. Δες το συνημμένο. Σύμφωνα με τη Microsoft Το πεδίο «Long Text» παλιό «Memo» αποθηκεύει μέχρι 1 GB, αλλά τα σχετικά χειριστήρια μπορούν να εμφανίσουν μόνο τους 64.000 πρώτους χαρακτήρες. |
Ευχαριστώ πολύ Γιώργο, μια τελευταία διόρθωση αν μπορείς στη διατύπωση του κώδικα στην ενσωμάτωση στο κώδικα(εντελώς πληροφοριακά πως πρέπει να ενσωματωθεί η ρουτίνα;) στη κόκκινη γραμμή κώδικα πώς πρέπει να γραφεί ο κώδικας για να λειτουργεί σωστά; Κώδικας: Public Function ReplaceEndSigmaSmallToCapital(str As Variant) As Variant |
Αλέξανδρε δοκίμασε τη συνάρτηση: Κώδικας: Public Function ReplaceEndSigmaSmallToCapital(str As Variant) As Variant |
Ο παραπάνω κώδικας θα μπορούσε να συντομευτεί στον: Κώδικας: Public Function ReplaceEndSigmaSmallToCapital(str As Variant) As Variant |
1 Συνημμένο(α) Γιώργο δεν δουλεύει ουτε με την πρώτη ούτε με την δεύτερη ρουτίνα. Εκτός και αν εχω λαθος το ερώτημα Routina: ReplaceEndSigmaSmallToCapital([textbox2])ανεβάζω την βάση. |
Στη συνάρτηση που ανέβασες έχεις τις γραμμές κώδικα: Κώδικας: sF = Array("s ", "s.", "s,", "s:", "s;") '<--p??pe? ?a a?t??atasta????Έχουν καμιά σχέση με τις: Κώδικας: sF = Array("σ ", "σ.", "σ,", "σ:", "σ;") '<--πρέπει να αντικατασταθούν |
Ωχ συγνώμη Γιώργο δεν το πρόσεξα από ταχύτητα. Σε ευχαριστώ πάντως για όλα και για τις δύο εναλλαγές της ρουτίνας. Πολύτιμη η βοήθειά σου και τα χρειάζομαι για μια εργασία που κάνω σε ένα μεταπτυχιακό. Χίλια ευχαριστώ!! |
Αλέξανδρε ουδείς αλάνθαστος. Να είσαι καλά και καλή συνέχεια. |
Καλησπέρα Γιώργο!! Κώδικας: Private Sub Text2_AfterUpdate() |
Καλημέρα. Δε μπορώ να καταλάβω τη λογική της ενσωμάτωσης. Αν επιδιώκουμε τη μετατροπή σε κεφαλαία ενός κειμένου, αυτό μπορεί να γίνει με μία γραμμή κώδικα. Γιατί να προηγηθούν άλλες άχρηστες μετατροπές; |
Σωστά έχεις δίκαιο γιατί να κάνει αυτά τα προηγούμενα.Οπότε για τα κεφαλαία τι κώδικα θα χρησιμοποιήσω;Ο λόγος που θέλω να κάνω αυτό είναι ότι σε μια μετατροπή κειμένου να κάνει αντικατάσταση το πρώτο γράμμα μετά από τελεία και κενό που χρησιμοποιώ σε μεταγλώττιση braille με τον προηγούμενο κώδικα το κάνει αλλά όταν υπάρχουν ονόματα ενδιάμεσα δεν θα το αντικαταστήσει.ΠΧ Αγγέλης Αλέξανδρος του Κωνσταντίνου. Το Α του Αλέξανδρος δεν το μεταφράζει ούτε το Κωνσταντίνος. Οπότε καταφεύγω όλα σε κεφαλαία και λύνεται το ζητούμενο. Επίσης στο κ.λ.π όπως μου είχες πει παλιά το πρώτο θα είναι κ.Λ.Π πάλι θα υπάρχει πρόβλημα.Μόνο εάν υπάρχει συνθήκη που αρχικά εξετάζει την περίπτωση που βρει το (κ.λ.π) να το κάνει Κ.Λ.Π. |
Στον κώδικά σου άφησα μόνο μία γραμμή: Κώδικας: Private Sub Text2_AfterUpdate() |
Οπότε μένει η ίδια συνάρτηση. Ευχαριστώ και πολύ Γιώργο. |
Καλησπέρα σε όλους! Αν δεν επηρεάζονται κάποιες δυνατότητες του έργου μπορεί κανείς με απλή μορφοποίηση του πεδίου να αλλάξει τη μορφή του πεδίου ώστε να εμφανίζει κεφαλαία. Πως; Στις ιδιότητες του πεδίου και στην καρτέλα "μορφή" επιλέγουμε "μορφή" και δίνουμε την τιμή ">" χωρίς εισαγωγικά. Καλή συνέχεια! Τάσος |
Ευχαριστώ Τάσο, δεν επηρεάζεται το έργο είτε με τη συνάρτηση είτε με τις ιδιότητες του πεδίου.Δουλεύει άψογα. Να είσαι καλά με τις παράξενες λύσεις σου.Αλλά και ο Γιώργος για τις γνώσεις και τις λύσεις που δίνει. Χαιρτετίσματα Τάσο!! |
Να είσαι καλά Αλέξανδρε και καλή συνέχεια. Τάσο μας έλειψες. |
Γεια σου Γιώργο μου , γεια σου Αλέξη μου, καλημέρα σε όλους! Να είστε καλά! Θα προσπαθήσω να επανενταχτώ στην ομάδα μας και να προσφέρω κι εγώ με τη σειρά μου όσο μπορώ. Καλή συνέχεια σε όλους! Με εκτίμηση Τάσος |
| Η ώρα είναι 10:09. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.