Category Archives: vb

Listbox MultiSelection

Αφορμή για το συγκεκριμένο post ήταν ένα ερώτημα για τη χρήση των listboxes στο freestuff.gr. Αν και το list box στο αρχικό ερώτημα δεν χρειαζόταν παρά single selection, οπότε μπορούσε ο προγραμματιστής να πάρει την τιμή από το property Value, δίνοντας μια απλή λύση, τέθηκε ένα δεύτερο πολύ πιο ενδιαφέρον ερώτημα σχετικά με το πως θα μπορούσε να χρησιμοποιηθεί muti-selection και με πως θα μπορούσαν να αποθηκεύονται/φορτώνονται οι επιλογές. Continue reading

Ευρώ Ολογράφως – VB Use

Είχα ξεκινήσει πριν από λίγο καιρό να μεταφράζω κώδικα σε C# με σκοπό να γίνει C++ για μετατροπή ενός ποσού σε Ευρώ Ολογράφως. Αφού έφτασε σε ένα σημείο που δούλευε ικανοποιητικά μαζεύτηκε αυτό και μερικές άλλες λειτουργίες στο DVAUtils.dll.  Αυτό το dll εξάγει μερικές functions που κάνουν αυτή τη μετατροπή του ποσού σε λεκτικό, αλλά και ενός COM object που κάνει το ίδιο πράγμα. Υπάρχουν και μερικές ακόμα functions και επιπλέον com objects αλλά είναι άσχετα με το συγκεκριμένο. Continue reading

VB Declare Function Part 2

Το πρόβλημα με το να παίρνεις δεδομένα των οποίων το μέγεθος δεν το γνωρίζεις εξ’ αρχής μετατίθεται στο ποιός θα κάνει το allocation της μνήμης. Η VB ή το DLL; Αν το κάνει η VB θα μπορεί να το ελευθερώσει το DLL (γιατί κάποιος πρέπει να το ελευθερώσει).

Η πιο απλή και σίγουρη λύση είναι αυτός που δεσμεύει τη μνήμη, αυτός και να την ελευθερώνει. Αυτή η τακτική όμως δεν μπορεί να εφαρμοστεί – εύκολα – σε όλες τις περιπτώσεις.

Το άλλο πρόβλημα με τα strings είναι ότι κάποιοι μπορεί να χρησιμοποιούν ansi strings και άλλοι unicode. Στα windows dlls αυτά ξεχωρίζουν από την ονομασία της function που εξάγει το dll. Συνήθως είναι της μορφής functionA (για την ansi version) ή functionW (για την unicode version). Στη δεύτερη περίπτωση μπορεί να χρησιμοποιηθεί το string από την vb όπως είναι, ενώ στην πρώτη περίπτωση πρέπει να γίνει μετατροπή από ansi σε unicode (ή το αντίστοφο). Continue reading

VB Declare Function Part 1

Πολλές φορές προσπαθούμε να κάνουμε πραγματάκια σε VB / VBA κώδικα που βλέπουμε να κάνουν οι άλλες γλώσσες πανεύκολα και εμείς με την VB / VBA δυσκολευόμαστε. Ψάχνουμε να βρούμε στο internet έτοιμα ActiveX controls που να μας δίνουν δυνατότητες που παρέχει (σχεδόν) έτοιμες το λειτουργικό σύστημα. Τα windows έχουν από μόνα τους χιλιάδες dll που δίνουν έτοιμη λειτουργικότητα από τις συναρτήσεις που εξάγουν.

Γιατί λοιπόν να μην χρησιμοποιήσουμε από την VB / VBA όλες αυτές τις functions που η C παίρνει τσάμπα, και να μην κοιτάξουμε και τα παραδείγματα που υπάρχουν έτοιμα ώστε να έχουμε κάποιο σημείο να ξεκινήσουμε; Continue reading