Visual Basic

Read All Text From a File

There are a number of ways to read all content from a text file. The function below uses only VB6’s features to do that. Public Function ReadAll(ByVal FilePath As String)

IsPrime Function

Everybody knows how to check if a number is prime: 1) Set a divisor to two; 2) “Mod” the number by the divisor; 3) If the result is zero, then

Passing the Missing Function Value

Ever?needed?to?pass?or?not?pass?a?value?to?a?sub?(or?function)?having?an?optional?argument?depending?on?the?business?rules? I?mean?something?like?this: Function?MyFunction(ByVal?SomeArg?As?Integer)?As?String ????If?SomeArg??0?Then ????????MyFunction?=?NotMyFunction(SomeArg)?’OK,?we?can?pass?SomeArg ????Else ????????MyFunction?=?NotMyFunction?’We?cannot?pass?it.?NotMyFunction?will?got?it?missing. ????End?If End?Function Instead?of?repeating?the?call?to?such?a?function?or?sub,?you?can?pass?it?a?true?missing?value?using?the?function?below: Public?Function?Missing(Optional?PlaceHolder?As?Variant)?As?Variant ????Missing?=?PlaceHolder End?Function Our?example?would?change?to?something?like?this: Function?MyFunction(ByVal?SomeArg?As?Integer)?As?Integer Dim?Arg?As?Variant ????If?SomeArg??0?Then?Arg?=?SomeArg?Else?Arg?=?Missing ????MyFunction?=?NotMyFunction(Arg) End?Function

Adding Longs Without Overflowing

Suppose you are porting a C code, for example, that sums 32 bit integers (Longs) to VB6. In C, when the result of a sum does not fit into an

Runtime Mode

If you ever need to know whether your code running inside the IDE or is compiled, drop these two functions in a module and use the first one to figure it out: Public Function RunTimeMode() As Boolean Dim bool As Boolean     Debug.Assert SetToTrue(bool)     RunTimeMode = Not bool End Function Private Function SetToTrue(ByRef bool As Boolean) As Boolean     bool = True     SetToTrue = True End Function

Validating Dynamic Arrays

When you have a dynamic array that has no dimensions defined yet in VB, trying to get its lower or upper bound raises an error (#9 – Subscript out of

Converting PNG to HICON

Loading any PNG resource as an hIcon. Vista introduced PNG encoding for icons. There is an API that will convert PNGs to valid hIcon handles. API Declaration follows: Private Declare