01
του 07
Τι είναι αυτοματοποίηση (OLE); Τι είναι ο διακομιστής αυτοματισμού; Τι είναι ο πελάτης αυτοματισμού;
Ας υποθέσουμε ότι αναπτύσσετε έναν επεξεργαστή HTML όπως HTML Kit. Όπως και κάθε άλλος επεξεργαστής κειμένων, η αίτησή σας θα πρέπει να περιέχει κάποιο είδος συστήματος ορθογραφικού ελέγχου. Γιατί να αγοράσετε εξαρτήματα ελέγχου ορθογραφίας ή να τα γράψετε από το μηδέν όταν μπορείτε εύκολα να χρησιμοποιήσετε το MS Word;
Αυτοματοποίηση OLE
μια εφαρμογή μπορεί να ελέγξει ένα άλλο
πελάτη αυτοματισμού
διακομιστή αυτοματισμού
Η αυτοματοποίηση (γνωστή και ως αυτοματοποίηση OLE) είναι μια λειτουργία που τα προγράμματα χρησιμοποιούν για να εκθέσουν τα αντικείμενα τους σε εργαλεία ανάπτυξης, μακροεντολές και άλλα προγράμματα που υποστηρίζουν τον αυτοματισμό. Για παράδειγμα, το Microsoft Outlook ενδέχεται να εκθέσει αντικείμενα για αποστολή και λήψη μηνυμάτων ηλεκτρονικού ταχυδρομείου, προγραμματισμό και διαχείριση επαφών και εργασιών.
Χρησιμοποιώντας το Word Automation (server), μπορούμε να χρησιμοποιήσουμε τον Delphi (client) για να δημιουργήσουμε δυναμικά ένα νέο έγγραφο, να προσθέσουμε κάποιο κείμενο που θέλουμε να ελέγξουμε ορθογραφικά και στη συνέχεια το Word να ελέγξει την ορθογραφία. Εάν διατηρήσουμε το Microsoft Word ελαχιστοποιημένο, οι χρήστες μας μπορεί να μην ξέρουν ποτέ! Χάρη στη διασύνδεση OLE του Microsoft Word, μπορούμε να κάνουμε ένα παράλληλο ταξίδι από τους Δελφούς και να δούμε τους τρόπους να εξαπατήσουμε κατά την ανάπτυξη της έκδοσης του προγράμματος επεξεργασίας του Notepad :)
Υπάρχει μόνο μία σφάλμα.) Οι χρήστες της εφαρμογής πρέπει να έχουν εγκατεστημένο το Word. Αλλά μην αφήστε αυτό να σας σταματήσει.
Φυσικά, για να ελέγξετε πλήρως τη χρήση του Automation στις εφαρμογές σας, πρέπει να έχετε λεπτομερείς εργασιακές γνώσεις των εφαρμογών που ενσωματώνετε - στην περίπτωση αυτή το MS Word.
Προκειμένου να λειτουργούν τα προγράμματά σας "Office", ο χρήστης πρέπει να είναι κύριος της εφαρμογής που λειτουργεί ως διακομιστής αυτοματισμού. Στην περίπτωσή μας το MS Word πρέπει να εγκατασταθεί στο μηχάνημα του χρήστη.
02
του 07
Σύνδεση με το Word: "Hello Word" Early Binding vs. Καθυστερημένη σύνδεση
Υπάρχουν διάφορα κύρια βήματα και τρεις βασικοί τρόποι αυτοματοποίησης του Word από τους Δελφούς.
Delphi> = 5 - Στοιχεία διακομιστή XX του Office
TWordApplication
TWordDocument
Delphi 3,4 - Early Binding
Δημιουργία βιβλιοθηκών τύπου
Για να χρησιμοποιήσετε τη βιβλιοθήκη τύπων του Word στους Delphi (έκδοση 3 ή 4), επιλέξτε το Project | Εισαγωγή τύπου Βιβλιοθήκη... και επιλέξτε το αρχείο msword8.olb που βρίσκεται στον κατάλογο "Office" του Microsoft Office. Αυτό θα δημιουργήσει το αρχείο "Word_TLB.pas" που είναι η μετάφραση pascal αντικειμένων της βιβλιοθήκης τύπων. Περιλαμβάνω Word_TLB στη λίστα χρηστών οποιασδήποτε μονάδας που θα έχει πρόσβαση σε ιδιότητες ή μεθόδους του Word. Αναφέρονται οι μέθοδοι αναφοράς του Word χρησιμοποιώντας τη βιβλιοθήκη τύπων πρώιμη δέσμευση.
Δελφοί 2 - Τελευταία Δεσμευτική
Τελευταία δέσμευση
θα πρέπει να αποφεύγεται, αν είναι δυνατόν, αφού είναι πολύ πιο εύκολη και ταχύτερη η χρήση βιβλιοθηκών τύπου - ο μεταγλωττιστής βοηθάει στην αλίευση σφαλμάτων στην πηγή. Όταν χρησιμοποιείτε καθυστερημένη δέσμευση, το Word δηλώνεται ως μεταβλητή τύπου Variant. Αυτό συγκεκριμένα σημαίνει από το να καλέσετε μεθόδους και ιδιότητες πρόσβασης πρέπει να ξέρετε τι είναι.
04
του 07
Το πρόγραμμα ελέγχου ορθογραφίας - TWordApplication, TWordDocument

Για να δημιουργήσετε ένα πρόγραμμα ελέγχου ορθογραφίας θα χρειαστούμε δύο μορφές: μία για την επεξεργασία του κειμένου και η άλλη για να δείτε τις προτάσεις ορθογραφίας... αλλά, ας πάμε από την αρχή.
Ξεκινήστε τους Δελφούς. Δημιουργήστε ένα νέο έργο με μία κενή φόρμα (μορφή1, από προεπιλογή). Αυτή θα είναι η κύρια μορφή του ορθογραφικού ελέγχου με το πρόγραμμα MS Word. Προσθέστε ένα TMemo (Καρτέλα Standard) και δύο TButtons στη φόρμα. Προσθέστε κάποιο κείμενο στην ιδιότητα "Υποσημείωση" που συμπληρώνει την ιδιότητα Γραμμές. Φυσικά, με κάποια λάθη τυπογραφίας. Επιλέξτε την καρτέλα Servers και προσθέστε TWordApplication και TWordDocument στη φόρμα. Αλλάξτε το όνομα του στοιχείου TWordApplication από WordApplication1 σε WordApp, WordDocument1 στο WordDoc.
TWordApplication, TWordDocument
Το δημοσιευμένο ακίνητο ConnectKind χρησιμοποιείται για να ελέγξει εάν συνδέεται με μια νεοϊδρυθείσα παρουσία του Word ή με μια υπάρχουσα παρουσία που εκτελείται ήδη. Ορίστε το ConnectKind στην ckRunningInstance.
Όταν ανοίγουμε ή δημιουργούμε ένα αρχείο στο Word, δημιουργούμε ένα αντικείμενο εγγράφου. Μια κοινή εργασία όταν χρησιμοποιείτε την αυτοματοποίηση του Word είναι να καθορίσετε μια περιοχή σε ένα έγγραφο και στη συνέχεια να κάνετε κάτι μαζί του, όπως να εισαγάγετε κείμενο και να το ελέγξετε ορθογραφικά. Ένα αντικείμενο που αντιπροσωπεύει μια παρακείμενη περιοχή σε ένα έγγραφο ονομάζεται Εύρος.
05
του 07
Το πρόγραμμα ελέγχου ορθογραφίας - Ορθογραφικός έλεγχος / Αντικατάσταση

Η ιδέα είναι να βρούμε το κείμενο στο Σημείωμα και να το αναλύουμε σε λέξεις με διαστήματα χωριστά. Για κάθε λέξη, ονομάζουμε MS Word για ορθογραφικό έλεγχο. Το μοντέλο αυτοματισμού του Word περιέχει τη μέθοδο SpellingErrors που σας επιτρέπει να ελέγξετε την ορθογραφία του κειμένου που περιέχεται σε κάποια περιοχή.
Η εμβέλεια ορίζεται για να περιέχει μόνο τη λέξη που μόλις αναλύθηκε. Η μέθοδος SpellingErrors επιστρέφει μια συλλογή εσφαλμένων λέξεων. Εάν αυτή η συλλογή περιέχει περισσότερα από μηδενικά λόγια, προχωράμε. Μια κλήση στη μέθοδο GetSpellingSuggestions, μεταβιβάζοντας στην εσφαλμένη λέξη λέξη, γεμίζει μια συλλογή SpellingSuggestions προτεινόμενες λέξεις αντικατάστασης.
Περνάμε αυτή τη συλλογή στη φόρμα ορθογραφικού ελέγχου. Αυτή είναι η δεύτερη μορφή του σχεδίου μας.
Για να προσθέσετε μια νέα φόρμα σε ένα έργο, χρησιμοποιήστε το File | Νέα φόρμα. Αφήστε το να έχει το όνομα 'frSpellCheck'. Προσθέστε τρία στοιχεία TBitBtn σε αυτήν τη φόρμα. Δύο EditBox-es και ένα ListBox. Σημειώστε τις τρεις επιπλέον ετικέτες. Η ετικέτα "Δεν υπάρχει λεξικό" είναι "συνδεδεμένη" με το πλαίσιο επεξεργασίας edNID. Το edNID εμφανίζει απλώς τη λέξη που έχει διαγραφεί εσφαλμένα. Στο πλαίσιο λίστας lbSuggestions θα εμφανιστούν τα στοιχεία της συλλογής SpellingSuggestions. Η επιλεγμένη πρόταση ορθογραφίας τοποθετείται στο πλαίσιο επεξεργασίας edReplaceWith.
Τα τρία BitButtons χρησιμοποιούνται για την ακύρωση του ορθογραφικού ελέγχου, την παράβλεψη της τρέχουσας λέξης και την αλλαγή της ορθογραφικής λέξης με εκείνη στο πλαίσιο επεξεργασίας edReplaceWith. Η ιδιότητα ModalResult των συνιστωσών BitBtn χρησιμοποιείται όταν αναφερόμαστε σε αυτά που έχει κάνει ο χρήστης. Το κουμπί "Ignore" έχει την ιδιότητα ModalResult που έχει οριστεί ως mrIgnore, "Αλλαγή" σε mrOk και "Ακύρωση" στο mrAbort.
Το frSpellCheck έχει μια Δημόσια μεταβλητή συμβολοσειράς που ονομάζεται sReplacedWord. Αυτή η μεταβλητή επιστρέφει το κείμενο στο edReplaceWith όταν ο χρήστης πιέσει το πλήκτρο "Αλλαγή".
07
του 07
Θησαυρός? Θησαυρός!

Ως μπόνους το έργο έχει τον κώδικα που θα χρησιμοποιήσει Ο Θησαυρός του Λόγου. Η χρήση του θησαυρού είναι πολύ πιο εύκολη. Δεν αναλύουμε το κείμενο, για την επιλεγμένη λέξη ονομάζεται η μέθοδος CheckSynonyms. Αυτή η μέθοδος εμφανίζει το δικό της παράθυρο επιλογής. Μόλις επιλεγεί μια νέα λέξη, τα περιεχόμενα του Word Documents Range χρησιμοποιούνται για να αντικαταστήσουν την αρχική λέξη.