Αντικείμενο MemBuffer

Με το αντικείμενο MemBuffer μπορείτε να δεσμεύσετε τμήμα μνήμης που μπορεί να περιέχει τιμές binary. Η χρήση του έχει άμεση σχέση με τις εξωτερικές βιβλιοθήκες DLL. Μπορείτε να ορίσετε μία δομή με διάφορες τιμές και να την εισάγετε/εξάγετε από/προς μία συνάρτηση DLL. Η δημιουργία του αντικειμένου γίνεται με την παρακάτω σύνταξη:

var Buffer = new MemBuffer(256); // δέσμευση τμήματος μνήμης μεγέθους 256 bytes


Δημιουργοί

MemBuffer Δημιουργεί ένα νέο αντικείμενο MemBuffer με το δοσμένο μέγεθος.

Μέθοδοι

Λειτουργίες
SetSize Αλλάζει το μέγεθος του MemBuffer στο δοσμένο μέγεθος.
Ανάγνωση τιμών
GetBool Διαβάζει μία τιμή boolean (1 byte) από τη δεσμευμένη μνήμη.
GetByte Διαβάζει μία τιμή 8-bit integer από τη δεσμευμένη μνήμη.
GetShort Διαβάζει μία τιμή 16-bit integer από τη δεσμευμένη μνήμη.
GetInt Διαβάζει μία τιμή 32-bit integer από τη δεσμευμένη μνήμη.
GetFloat Διαβάζει μία τιμή 16-bit floating point από τη δεσμευμένη μνήμη.
GetDouble Διαβάζει μία τιμή 32-bit floating point από τη δεσμευμένη μνήμη.
GetString Διαβάζει μία τιμή string από τη δεσμευμένη μνήμη.
GetPointer Διαβάζει μία τιμή 32-bit memory-pointer από τη δεσμευμένη μνήμη.
Αποθήκευση τιμών
SetBool Γράφει μία τιμή boolean (1 byte) στη δεσμευμένη μνήμη.
SetByte Γράφει μία τιμή 8-bit integer στη δεσμευμένη μνήμη.
SetShort Γράφει μία τιμή 16-bit integer στη δεσμευμένη μνήμη.
SetInt Γράφει μία τιμή 32-bit integer στη δεσμευμένη μνήμη.
SetFloat Γράφει μία τιμή 16-bit floating point στη δεσμευμένη μνήμη.
SetDouble Γράφει μία τιμή 32-bit floating point στη δεσμευμένη μνήμη.
SetString Γράφει μία τιμή string στη δεσμευμένη μνήμη.
SetPointer Γράφει ένα 32-bit memory pointer στη δεσμευμένη μνήμη.

Ιδιότητες

Type (μόνο για ανάγνωση) Επιστρέφει πάντα "membuffer".
Length (μόνο για ανάγνωση) Επιστρέφει το μέγεθος της δεσμευμένης μνήμης.

MemBuffer(Μέγεθος)

Δημιουργεί ένα νέο αντικείμενο MemBuffer με το δοσμένο μέγεθος.

Παράμετροι

Μέγεθος
Το μέγεθος της μνήμης, σε bytes, που θα δεσμευτεί.

SetSize(Μέγεθος)

Αλλάζει το μέγεθος του MemBuffer στο δοσμένο μέγεθος.

Παράμετροι

Μέγεθος
Το νέο μέγεθος σε bytes

Επιστρεφόμενη τιμή

Αν η μέθοδος είναι επιτυχής επιστρέφει true.

Παρατηρήσεις

Αν αλλάξετε το μέγεθος σε μηδέν θα ελευθερωθεί όλη η μνήμη που καταλάμβανε το αντικείμενο.


GetBool(Θέση)

Διαβάζει μία τιμή boolean (1 byte) από τη δεσμευμένη μνήμη.

Παράμετροι

Θέση
Η θέση στη δεσμευμένη μνήμη από την οποία θα διαβαστεί η τιμή

Επιστρεφόμενη τιμή

Επιστρέφει την τιμή ή null αν η Θέση είναι έξω από τη δεσμευμένη μνήμη.


GetByte(Θέση)

Διαβάζει μία τιμή 8-bit integer από τη δεσμευμένη μνήμη.

Παράμετροι

Θέση
Η θέση στη δεσμευμένη μνήμη από την οποία θα διαβαστεί η τιμή

Επιστρεφόμενη τιμή

Επιστρέφει την τιμή ή null αν η Θέση είναι έξω από τη δεσμευμένη μνήμη.


GetShort(Θέση)

Διαβάζει μία τιμή 16-bit integer από τη δεσμευμένη μνήμη.

Παράμετροι

Θέση
Η θέση στη δεσμευμένη μνήμη από την οποία θα διαβαστεί η τιμή

Επιστρεφόμενη τιμή

Επιστρέφει την τιμή ή null αν η Θέση είναι έξω από τη δεσμευμένη μνήμη.


GetInt(Θέση)
GetLong(Θέση)

Διαβάζει μία τιμή 32-bit integer από τη δεσμευμένη μνήμη.

Παράμετροι

Θέση
Η θέση στη δεσμευμένη μνήμη από την οποία θα διαβαστεί η τιμή

Επιστρεφόμενη τιμή

Επιστρέφει την τιμή ή null αν η Θέση είναι έξω από τη δεσμευμένη μνήμη.


GetFloat(Θέση)

Διαβάζει μία τιμή 16-bit floating point από τη δεσμευμένη μνήμη.

Παράμετροι

Θέση
Η θέση στη δεσμευμένη μνήμη από την οποία θα διαβαστεί η τιμή

Επιστρεφόμενη τιμή

Επιστρέφει την τιμή ή null αν η Θέση είναι έξω από τη δεσμευμένη μνήμη.


GetDouble(Θέση)

Διαβάζει μία τιμή 32-bit floating point από τη δεσμευμένη μνήμη.

Παράμετροι

Θέση
Η θέση στη δεσμευμένη μνήμη από την οποία θα διαβαστεί η τιμή

Επιστρεφόμενη τιμή

Επιστρέφει την τιμή ή null αν η Θέση είναι έξω από τη δεσμευμένη μνήμη.


GetString(Θέση, Μέγεθος)

Διαβάζει μία τιμή string από τη δεσμευμένη μνήμη.

Παράμετροι

Θέση
Η θέση στη δεσμευμένη μνήμη από την οποία θα διαβαστεί η τιμή
Μέγεθος
Ο αριθμός των χαρακτήρων που θα διαβαστούν (προαιρετικό)

Επιστρεφόμενη τιμή

Επιστρέφει την τιμή ή null αν η Θέση είναι έξω από τη δεσμευμένη μνήμη.

Παρατηρήσεις

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


GetPointer(Θέση)

Διαβάζει μία τιμή 32-bit memory-pointer από τη δεσμευμένη μνήμη.

Παράμετροι

Θέση
Η θέση στη δεσμευμένη μνήμη από την οποία θα διαβάσει την τιμή

Επιστρεφόμενη τιμή

Επιστρέφει ένα νέο αντικείμενο MemBuffer που περικλείει τη δοσμένη θέση μνήμης ή null αν η Θέση είναι έξω από τη δεσμευμένη μνήμη.

Παρατηρήσεις

Στα αντικείμενα MemBuffer που δημιουργούνται με αυτή τη μέθοδο δεν μπορούν να ελεγχθούν τα περιθώρια τους, να αλλαχθούν τα μεγέθη τους και να αποθηκευτούν. Για αυτό το λόγο να είστε πολύ προσεκτικοί όταν δουλεύετε με αυτά.


SetBool(Θέση, Τιμή)

Γράφει μία τιμή boolean (1 byte) στη δεσμευμένη μνήμη.

Παράμετροι

Θέση
Η θέση στη δεσμευμένη μνήμη στην οποία θα γραφεί η τιμή
Τιμή
Η τιμή που θα γραφεί στη δεσμευμένη μνήμη

Επιστρεφόμενη τιμή

Αν η τιμή γραφεί επιτυχώς επιστρέφει true.


SetByte(Θέση, Τιμή)

Γράφει μία τιμή 8-bit integer στη δεσμευμένη μνήμη.

Παράμετροι

Θέση
Η θέση στη δεσμευμένη μνήμη στην οποία θα γραφεί η τιμή
Τιμή
Η τιμή που θα γραφεί στη δεσμευμένη μνήμη

Επιστρεφόμενη τιμή

Αν η τιμή γραφεί επιτυχώς επιστρέφει true.


SetShort(Θέση, Τιμή)

Γράφει μία τιμή 16-bit integer στη δεσμευμένη μνήμη.

Παράμετροι

Θέση
Η θέση στη δεσμευμένη μνήμη στην οποία θα γραφεί η τιμή
Τιμή
Η τιμή που θα γραφεί στη δεσμευμένη μνήμη

Επιστρεφόμενη τιμή

Αν η τιμή γραφεί επιτυχώς επιστρέφει true.


SetInt(Θέση, Τιμή)
SetLong(Θέση, Τιμή)

Γράφει μία τιμή 32-bit integer στη δεσμευμένη μνήμη.

Παράμετροι

Θέση
Η θέση στη δεσμευμένη μνήμη στην οποία θα γραφεί η τιμή
Τιμή
Η τιμή που θα γραφεί στη δεσμευμένη μνήμη

Επιστρεφόμενη τιμή

Αν η τιμή γραφεί επιτυχώς επιστρέφει true.


SetFloat(Θέση, Τιμή)

Γράφει μία τιμή 16-bit floating point στη δεσμευμένη μνήμη.

Παράμετροι

Θέση
Η θέση στη δεσμευμένη μνήμη στην οποία θα γραφεί η τιμή
Τιμή
Η τιμή που θα γραφεί στη δεσμευμένη μνήμη

Επιστρεφόμενη τιμή

Αν η τιμή γραφεί επιτυχώς επιστρέφει true.


SetDouble(Θέση, Τιμή)

Γράφει μία τιμή 32-bit floating point στη δεσμευμένη μνήμη.

Παράμετροι

Θέση
Η θέση στη δεσμευμένη μνήμη στην οποία θα γραφεί η τιμή
Τιμή
Η τιμή που θα γραφεί στη δεσμευμένη μνήμη

Επιστρεφόμενη τιμή

Αν η τιμή γραφεί επιτυχώς επιστρέφει true.


SetString(Θέση, Τιμή)

Γράφει μία τιμή string στη δεσμευμένη μνήμη.

Παράμετροι

Θέση
Η θέση στη δεσμευμένη μνήμη στην οποία θα γραφεί η τιμή
Τιμή
Η τιμή που θα γραφεί στη δεσμευμένη μνήμη

Επιστρεφόμενη τιμή

Αν η τιμή γραφεί επιτυχώς επιστρέφει true.

Παρατηρήσεις

Η string γράφεται στη δεσμευμένη μνήμη συμπεριλαμβανομένου του χαρακτήρα τερματισμού μηδέν.


SetPointer(Θέση, Τιμή)

Γράφει ένα 32-bit memory pointer στη δεσμευμένη μνήμη.

Παράμετροι

Θέση
Η θέση στη δεσμευμένη μνήμη στην οποία θα γραφεί η τιμή
Τιμή
Ένα αντικείμενο MemBuffer του οποίου η διεύθυνση θα γραφεί στη δεσμευμένη μνήμη

Επιστρεφόμενη τιμή

Αν η τιμή γραφεί επιτυχώς επιστρέφει true.