Τρίτη, 5 Σεπτεμβρίου 2017

Χρήση αντικειμένων Com (εδώ Dictionary)

Πώς βρίσκουμε τα αντικείμενα τύπου Com
Στη γραμμή εντολών γράφουμε
Λίστα Com Στο AAAA
Θα ανοίξει ένα μενού και θα επιλέξουμε το αντικείμενο που θέλουμε
Στο τμήμα ΑΑΑΑ θα έχουν γραφτεί όλα τα αντικείμενα του αντικειμένου που διαλέξαμε.
Έστω διαλέγουμε το Scripting RunTime
με Λιστα ΑΑΑΑ θα δούμε τα παρακάτω
Όρισε Dictionary "{EE09B103-97E0-11CF-978F-00A02463E06F}"
Όρισε FileSystemObject "{0D43FE01-F093-11CF-8940-00A0C9054228}"
Όρισε Drive "{C7C3F5B1-88A3-11D0-ABCB-00A0C90FFFC0}"
Όρισε Drives "{C7C3F5B2-88A3-11D0-ABCB-00A0C90FFFC0}"
Όρισε Folder "{C7C3F5B3-88A3-11D0-ABCB-00A0C90FFFC0}"
Όρισε Folders "{C7C3F5B4-88A3-11D0-ABCB-00A0C90FFFC0}"
Όρισε File "{C7C3F5B5-88A3-11D0-ABCB-00A0C90FFFC0}"
Όρισε Files "{C7C3F5B6-88A3-11D0-ABCB-00A0C90FFFC0}"
Όρισε TextStream "{0BB02EC0-EF49-11CF-8940-00A0C9054228}"
Όρισε Encoder "{32DA2B15-CFED-11D1-B747-00C04FC2B085}"

Τώρα μας ενδιαφέρει να βρούμε στο Dictionary τι μεθόδους και ιδιότητες έχει, και σε ένα τμήμα γράφουμε τα παρακάτω (έχουμε βρει τον αριθμό του Dicitonary). Μπορούμε να διαβάσουμε το τι έχει ένα αντικείμενο αν μπορούμε να το φορτώσουμε, δηλαδή να το ορίσουμε ουσιαστικά σε ένα όνομα!


Όρισε Dictionary "{EE09B103-97E0-11CF-978F-00A02463E06F}"
α=Παραμ(Dictionary)
Τύπωσε Μήκος(α)
Ν=Κάθε(α)
Έγγραφο Ολα$
Ενώ Ν {
      Όλα$=Εκφρ$(Ν)+{
      }
}
Πρόχειρο Όλα$

Τώρα έχουμε βάλει στο πρόχειρα το έγγραφο Όλα$
Μπορούμε να δούμε τι έχει σε ένα τμήμα που ανοίγουμε και κάνουμε επικόλληση. Τα πρώτα 7 δεν τα χρησιμοποιούμε. Στην ουσία με αυτά βρήκαμε τα ονόματα και το τι παραμέτρους ζητάει το καθένα. Εδώ ξεκινάμε με το Property Item (Get σημαίνει ότι διαβάζεται, ενώ Let σημαίνει ότι γράφεται, αν λείπει κάποιο σημαίνει ότι δεν μπορούμε να κάνουμε αυτή την λειτουργία). To _NewEnum είναι interface Που δεν μπορούμε να το χειριστούμε (αν υπήρχε διπλή κάτω παύλα __ τότε θα ήταν γεγονός και θα μπορούσαμε να το πάρουμε με την Όρισε ΜεΓεγονότα.... και μετά με συναρτήσεις με _όνομα_γεγονότος - μια κάτω παύλα)



Function QueryInterface(riid, ppvObj)
Function AddRef
Function Release
Function GetTypeInfoCount(pctinfo)
Function GetTypeInfo(itinfo, lcid, pptinfo)
Function GetIDsOfNames(riid, rgszNames, cNames, lcid, rgdispid)
Function Invoke(dispidMember, riid, lcid, wFlags, pdispparams, pvarResult, pexcepinfo, puArgErr)
Property Get Item(Key)
Function Add(Key, Item)
Property Get Count
Function Exists(Key)
Function Items
Property Let Key(Key, )
Function Keys
Function Remove(Key)
Function RemoveAll
Property Get CompareMode
Function _NewEnum
Property Get HashVal(Key)


Τώρα κάνουμε την δοκιμή μας! Σε ένα τμήμα γράφουμε τα παρακάτω:

Όρισε Dictionary "{EE09B103-97E0-11CF-978F-00A02463E06F}"
Μέθοδος Dictionary, "Add", "12345","κάτι1"
Μέθοδος Dictionary, "Add", "12345423","κάτι2"
Μέθοδος Dictionary, "Add", "12345231","κάτι3"
Με Dictionary,"Count" ως Πόσα, "Item" ως Κάτι$()
Τύπωσε Πόσα
Μέθοδος Dictionary, "Exists", "12345423" ως Υπάρχει
Τύπωσε Υπάρχει
Τύπωσε Κάτι$("12345")
Τύπωσε Κάτι$("12345231")