Advertisement

Results for "Author: roger gilchrist"

5_2007-2008 #187712
Extended Find Ver 2.2.1

This is a VB6 only Add-In that is a substitute for VB's own Find & Replace tool. It allows you to search your code and to see at a glance all occurrences of a search phrase in a list. You can also do pattern searching (including an ASCII Search Macro to find high ASCII characters like copyright). You can search and replace at 3 levels (all code, current code or current routine). You can also limit searching to just comments or strings or block comments and strings from searches. The Tool docks with VB's IDE and can be set to display during VB's start up sequence. There is a simple Help window (or read the rtf file in the Zip.) and a Properties window that gives you greater control of how the tool looks and behaves. To use: Compile the code, placing the dll in VB's own folder or whereever you keep your Add-Ins. Close VB and reopen it (WARNING VB may crash on exit; this is a problem with compiling Add-Ins, it should not happen later). Select the Add-in Manager and find the add-in called 'ExFind_D' check the 'Loaded/UnLoaded' and 'Load on Startup' checkboxes. This will add the Extended Find to the Add-ins menu. Click the menu item and read the help window for further settings. Because this tool uses a UserDocument it automatically remembers its size and location between runs. Please inform me if you wish to create VB5 (should be easy) or even VB4 (may not be so easy) versions and include acknowlegment in code/help/comments. If you wonder about the F> button on my toolbar in the screenshot use the 'Other Submissions' link and find my article on 'Full Compile' Thanks to users of earlier versions especially Dream and Sub-Zero for all their help in debugging. Comments, votes and bug reports welcome. -----------------------------------------Version 2.2.1 Pattern Search button disables Whole Word and Case Sensitivity buttons(If you could turn them on Pattern search would fail) To remove a single item from the Search History make sure the whole text is selected then press BackSpace. Fixed bug that caused eternal loop if search phrase occurred in last line of code. Removed Punctuation Aware; it is not needed for the program to opeate. Cancel button displays properly. Added macros to allow you to insert a NewLine or Tab character to the Replace combo. Added Auto Pattern search Off if Search phrase does not contain any Pattern search characters. Fixed Selected Range test can now cope with selection starting/ending properly. (was ignoring start/end of all lines in selection if Start/End were not at minimium/maximum values for whole range.) Changed Filter Warning message to make it easier to read at a glance. ver 2.2 Added Component and Procedure Line columns to Found Grid. Added Selected Text Range; don't know that anyone ever uses this but it is part of VB's Find and Replace so here it is. Rearranged Properties window Ver 2.1 See Additional Notes in help: Not fixes but stuff that's in the code but not previously explained. Added User selection of colours for Combos and Grid. History is now saved in correct order. Whole Word Filter automatically sets Punctuation Filter. Fixed bug Found List working properly Improved the way Found Grid copes with editing changing the hidden line number that Extended Find uses to speed finding. --------------------------------------------

5_2007-2008 #187713
Optimising (Pause)

Optimisation is not always about speed. The no-API Pause routine many people use is an example of this. Obviously a Pause should not be longer than you ask for so the more accurately the routine can detect the pause is complete the better it is. The routine gains accuracy because it spends less time working and more detecting. This is a very minor optimisation but the approach will help you in other optimisation work. ------------------------------------------------ See the PauseTutorial.txt file in the zip for more detailed explanations and check out the comments in the demo code for Command4_Click and Sub PauseLong for an interesting possibility for over optimising.

5_2007-2008 #187714
Ghost typing 2

Here are 2 routines that create the illusion of human input to the Text or Caption property of a control. Inspired by zebba's "A Ghost typer ( useing timers )" txtCodeId=63737. No screenshot as its the movement/change that counts.

5_2007-2008 #187715
Control Array Grids

What do you do if you need a grid of controls? You can painstakingly draw them one by one in the IDE carefully sizing and placing each one OR use a computer to do it for you! This demo uses a form with 3 controls on it and a simple procedure (GenerateGrid) to create a program with 3456 (even more if you maximize the form; 16415 dots + the 26 other controls on my system) controls. To use this code simply create one control with the properties you wish to share (size, colour and shape are the usually ones) and set its Index to 0. This becomes the root control for the array. Place it on the form at the Top-Left position of your grid. Call the routine. I recommend this for creating tile based games where the positon and contents of the tile are not likely to change most of the time. While I use it as a graphics display in this demo I do not recommend it because control-based 'pixels' are very slow to create and manipulate as you can see in the demo if you maximize the form (and wait.. and wait... while it creates the controls) .

5_2007-2008 #187716
PC Speaker Piano Keyboard

PC SPEAKER MUSIC KEYBOARD ClsKeyBoardPicture.cls OOPS! small upgrade. There was an error which meant a mouse move could change the duration value if there was too long between playing and outputing text. Also small change to the 'skins'. The speaker I mean the thing that goes beep to give POST messages during bootup,not built-in's multimedia stuff. This is a keyboard in a picture box class. It is part of a larger project but just to show that it is really free standing here is a small demo. The keyboard in this demo plays the PC internal speaker, and also outputs simplifed Basica and Nokia note codes. The keyboard has 3 built in 'skins'. Basica was a DOS ancestor of VB when the internal PC speaker was THE sound system, 16 colours was fantastic and 1 MB drives were a dream. This is a sub-component of a more complex notation writer with error checking and auto-correction that I am working on. Comments and votes welcome.

5_2007-2008 #187717
PC SPEAKER MUSIC KEYBOARD Version 3a

Version 3a: Update in response to reported error. FIXED: Translation of sharps between codes, first note dotted error. NEW:The New Basica Trick called BasicaRealTranspose is misnamed; at present it creates rather interesting changes to a tune but does not Transpose. This is a keyboard in a picture box class. The keyboard now supports almost all of the Basica Play command code (excepting those bits that can't be, or don't need to be, reproduced inside Windows). Basica and Nokia Composer and RTTTL code now allow dotted notes. Many examples in each supported code. There is a player piano mode when playing back code strings. There is a Nokia ringtone safe mode. The keyboard has 4 built-in 'skins' and a safety routine which keeps the colours safe. You can generate random skins and save them to a file for adding new 'skins' to the code. I have incorperated the code necessary to use the class in pre NT systems (thanks to Bob Richards for this code ('Quick Search' for "PC Speaker" to see original) but you will need to download the free .Dll file WIN95IO.DLL which is available from http://www.softcircuits.com (For Win9xMe systems ONLY, the file WIN95IO.DLL may be copied to the Windows/System folder or just drop it in folder with my code) The PC Speaker is not a multimedia add-on it is part of most computers' bootup system, the thing that goes beep (just once if all is well). If you don't hear it, check that you have not disabled it from SetUp or disconnected it while tinkering inside your machine. One day you will want to hear it as it signals that something fundemental has gone wrong (over the years; hard drive cables disconnected, unplugged keyboard and loose memory chips in my case). Also includes a work in progress clsVirtualScoreSheet. View code as traditional score. As you will see this is not fully developed and assumes 4/4 time for all pieces but does not quite achieive it. Useful for inputting from score sheets as you can check that you got the right note and duration. It does not scroll (yet) but it is resizable (just maximize the form). Hope to develop it to allow direct mouse editing of score as another input system. Comments, suggestions and votes welcome.

5_2007-2008 #187718
ClsExtendedRTF Ver 2a for RichTextBox

ClsExtendedRTF Version 2a OOPS SMALL UPGRADE FORGOT ABOUT LOW RESOLUTION SCREENS sort of fixed that and there's a small animation demo added as an apology. This code manipulates the underlying Rich Text format string in RichTextBoxes in several ways. Highlight text, add interesting, strange and weird formats to RTF text. Resize mixed sizes of fonts with one call. Add a Zooming ComboBox to any RichTextBox. CommonDialog is encapsulated to give File New / Open / Save / SaveAs / SafeSave and Reload functionality. ShowColor is also encapsulated. This is a more stable version of this code. Insertion point is preserved after changes to text. More of the work is done at string manipulation level. New details added see * below for version 2's new elements. Minimum Requirments Riched20.dll (version 3) Riched32.dll (5.00.2008.1) probably the Richx32.ocx control Highlight now comes in two flavours RTF and API there are advantages and disadvatages to each. Menu and Toolbar use API; Text Colour Panel (in Font Looks menu) uses RTF Incorperated my ClsManifestation (see help) It is behind the spanner button on the tool bar only useful in WindowsXP to choose between XP and Classic look for compiled demo. Does not work in IDE. Font Looks menu contains to Forms which can be added to other programs to give maximum freedom of using the Font format and colour options. Added new font colour choices. Improved Demo performance. Corrected many minor bugs(extra spaces, spaces being deleted) Added Zoom ability Broke up the original ClsExtendedRTF into a couple of separate classes. Rewrote, simplified and often renamed routines for speed and comprehension Please comment, vote and send me interesting formats you develop and I'll included them with acknowlegments. Feel free to take just the parts you want (leave copyrights etc) this class is still 'Under Construction' if you like check back for updates. Demo Program is also a test bed for experimenting with RTF. 'ExtendedRTF Code for VB6.rtf'is both the help file and the demonstation file and was created interactivly with the code. NOTE uses VB6 only routines but if you have work-rounds for them should work with VB5, VB4. Needs more recent versions of RichText control. ExtendedRTF provides: 1. Highlight (NOT the same as select) *more ways of accessing this facility. 2.Other Underlines wave,dot,dash, dashdot, dashdotdot, hairline, and thick. (word and double are partially supported; you can set them but they appear as single in RichTextBox, in Word they look fine) 3. Hidden text/images 4. Weird font formats. Ripple, HeightRipple, Ransom 5.Font colour schemes *Rainbow, *Spectrum and *Materials. 6.subscript, superscript,up and down RTF codes. RichTextBox recognises '\up' and '\dn' with as superscript but not '\sub' and '\super' ???? 7. Get current insertion point as percentage of total document 8. Remove excess spaces in selection or whole document. 9. File handling: routines to simplify standard New/Open/Save/SaveAs. *Reload routine reload last saved document without opening CommonDialog *Document loaded in IDE is automatically reloaded from disk. SafeSave routine place this in your exit program and file procedures and you'll never lose your edits again.

5_2007-2008 #187719
clsExtendeRTF ver 3 for RichTextBox

ClsExtendedRTF.Cls version 3 for RichTextBox extensive rewrite, recode and rename. Mostly about manipulating RTF code to change text and background colours. Now includes API and RTF based higlighting(Not selection, this is the RichTextBox equivalant of highlihter pens). Highlighting with: API advantage it can detect highlighting; disadvantage single colour at a time RTF advantage multicolour highlighting. disadvantage can't detect itself. ClsAPIZoom for RichTtextBox, a few lines of code and your RTBox is zoomable. cLsManifestation (incorperated from my other upload) Gives compiled program user's choice of Classic or WindowsXP(if they have XP) added panels(form) which give you greater control over highlight, text colour and text format. *New* Materials interface you can create your own materials colour schemes. *New* Styles; if you create a text and background colour scheme you want to reuse save it with a name and access through the RTF Font Painter tool and class. fixed small bug in RemoveFormatting which added a space to start;(if selection was at start of doc) see earlier versions for mor details.

5_2007-2008 #187720
clsStackCollection

Cls StackCollection Use VB's Collections to build stacks and queues. Also included a safety wrapper for collections. To operate as a stack/queue you do not need a separate key, everything is done using the index This class adds new Methods and Properties to VB collections. ArrayFromCollection Put contents of stack into an array ArrayToCollection Load members of an array into the stack Bottom: Returns first value added to stack Clear: Empty stack in one call Exists: Tests if index/Key is in stack. Uses error trap to test Optionally runs silent if error occurs Extract: Remove any member from stack Invert: Reverse order of stack Max: Returns the highest alphanumeric member of stack Middle: Returns Middle member of stack Min: Returns the lowest alphanumeric member of stack. Pop: Use collection as a LIFO (Last In First Out) stack, removes member from stack. Pull: Use collection as a FIFO (First In First Out) stack, removes member from stack. Push: Wrapper for VB standard Add. Push is used by both LIFO & FIFO stacks. QuickSort: Sort stack into alphanumeric order RandomMember: Extract a random member of the stack(Optional RemoveIt as Boolean = False); if True remove from stack Replace: Change the Item for an Index/Key Shuffle: Randomise the contents of the stack Top: Returns last value added to array I have also included a class ClsSafeCollection which wraps the standard collection in a safety net Add: Modified to allow you to cope with the various error conditions that can occur Count: VB standard Collection.Count Item: Modified to allow you to cope with the 'Index/Key does not exist' error Remove: Modified to allow you to cope with the 'Index/Key does not exist' error Please comment and vote. May just have reinvented the wheel for many of you but hope you find some use for it. Feel free to use all or parts of this but leave copyrights in place and let me know about it at rojagilkrist@hotmail.com

5_2007-2008 #187721
Font Properties with AddressOf

This is a demo of how to use AddressOf to obtain information about font families. Unfortunately AddressOf cannot work from classes so it isn't exactly what I needed but it is useful. You can quickly fill a listbox or collection with font names meeting specific conditions. Some FontTypes are not on my system so while I built a detector for them I cannot be sure they work. Comments and votes welcome. Feel free to use all or parts of this but leave copyrights in place and let me know about it at rojagilkrist@hotmail.com

6_2008-2009 #209722
VB binary file embedded graphics extractor(update)

The VB binary files (frx, ctx, dox, drx & pax) are where VB stores the image data for graphics you load into the objects from the IDE Properties window (or a Property page). If you forget to include it in an upload then people get log files complaining about missing graphics. It doesn't matter if you supply the original graphic files, VB doesn't know what they are. When you include the VB binary files in a zip there is no need to supply the graphics saving bandwidth and disk space. ---------------------------------------------------- However end-users have a problem; they are stuck with your graphics. With this program you can extract graphics (bmp, gif, ico, jpg, wmf (some loadable image classes extract as a different (legitimate) type; cur as ico, dib as bmp, jpeg & Tiff as jpg) from the binary files. The image may need editing or you might just want it to use in your own purposes (Ask first;)). Perhaps you want to reuse an image you included in your own code but can't remember where you stored the original? Another use is to extract large Bitmap graphics, convert them to Jpg (or other small files types) in almost any modern (that rules out MSPaint then;)) paint program and reloading them into the project. This will shrink the code considerably and often improve performance as the memory impact is lowered (there is some debate about this; VB has to do more work to display non-BMP images but the data is much smaller so may process more quickly). To assist with this the program names the files it produces with the format 'Form_Control_Property' making reloading them much easier. This code can also extract from ImageLists. NOTE ToolBar's images are stored in an ImageList so the filename will be for the Imagelist not the toolbar. ---------------------------------------------------- This is a major modification of Tony's 'Extract images from a VB project files' at . A great program I've used for ages. Thanks also to 'Light Templer' whose 'JES - JPEG EXPLOIT SCANNER' at while not directly used allowed me to understand and include a simple test for that threat. If the program can't find a valid file extention for the graphic it assumes that it is the exploit and warns of the risk (you can still save the file if you want but have to work past a couple of MsgBoxes). This may not be an accurate test, if you find an image type that VB allows you to load but this program doesn't extract let me know. Also inlcudes a modified version of my ClsScrollPicture.cls to display selected images. ---------------------------------------------------- Bug reports/suggestions very welcome. This project is an experiment prior to incorparating the functionality into Code Fixer. I hope I have included all the Image holding Properties and all the usable Image types but let me know if I missed any. ---------------------------------------------------- BTW does anyone know of code that can extract List/ComboBox data and large Label/TextBox data from binary files? I'll probably work it out but would be happy to 'borrow' ;) ---------------------------------------------------- What's New? Resized to fit on a 800X600 screen, improved image scroller. ----------------------------------------------------

6_2008-2009 #209723
Extract VB Binary data 4

VB Binary files are where VB stores any data added to a form/designer/usecontrol/property page in the IDE (either through wizards or the Property window). These are the .frx, .ctx, .dsx, .pax etc files that vb generates. THe advantage is that you don't need to provide the original graphics, the disadvantage is that it can be hard to access/edit stored this way. This program allows you to extract that data for easier manipulation. ----------------------WHATS NEW------------ This version can extract Text and List/Combo data as well as graphics. At present the data is just dumped to text files. To reincorperate it in your code you will have to added the necessary code. --------------------WHAT'S FIXED----------- FIXED error in code meant that dsr(dsx) files were ignored. IMPROVED Speed up in file scanning. ------------------WHAT'S MISSING----------- Not yet able to extract TextRTF from RichTextBoxes. Any suggestions?

6_2008-2009 #209724
Create AVI 2b

Convert ordered collections of bmp, jpg or gif files into AVI files. This program is based on 'Ron Hoebe's 'Create AVI' txtCodeId=29517. Also includes some file searching code base on 'NeO78's 'PDF Printer Class' txtCodeId=61936. And 'merlin's 'ProgressBar2Class (8 DrawDirections, XOR Caption,Time2End Display)' txtCodeId=23431 -------------------------------------------------------------------- See comments at top of frmAVI for details of use and limitations. There are 2 pictures in a Sub-Folder to give you a small start (Note the progressbar and bounce don't work for 2 picture sources) Use them to test FPS values. -------------------------------------------------------------------- 'WHAT'S NEW Added 'Fast Auto Name' button. Uses FolderBrowser for simpler folder selection and automatically generates an AVI file name based on foldername (numbers them if there is already an AVI file). Modified the FPS to allow fractions. At 0.1 each picture will last about 3 seconds. Improved button activation and deactivation. Once you have created an AVI you need to reselect the folder to make a new one (required to trigger the automatic naming routine for next AVI) Reduced size of sample images

6_2008-2009 #209725
VB Safety Net (1.4)

This Add-in combines 2 services. ------------------------------------------------- 1. VPB FilePath correction: For all those uploads that have the files but give you file missing messages when you load them. This fix searchs for missing files in the vbp file's folder, sub-folders and immediate neighbour folders (Sub folders of one folder above the vbp folder) and if it finds them rewrites the vbp path. If it can't find the file it loads the vbp into NotePad and suggests what to do. For your own projects it warns you if any of the files are unnecessarily distant from the rest of the project. ------------------------------------------------- 2. Malicious Automatic Code detection/blocking: Searchs the automatic launch procedures (those that VB can fire before you can even look at them) for code that may be able to attack your computer. This code is commented out before it can load. Also searches for hard-coded paths that may be used to attack EG "C\Windows\Systetm32\...". If suspicious code is detected it is commented out and VB will jup to the relevant position once the code has loaded. ------------------------------------------------- How it works: using FileControlEvents you can create a sub 'BeforeLoadFile' that intercepts filenames, while you cannot stop it loading you can open the file, inspect and modify it before it appears in the IDE. ------------------------------------------------- NOTE the add-in has no interface, it is designed to run silent unless you load code that triggers any of the messageboxs shown below. -------------------------------------------------------------------------------------------------- IMPROVED: 1.2 Sub-Menu added to allow you to turn off the more intense search that bugs so many. Added a USING SAFETY NET.txt to the zip with more details of how to use Safety Net. ------------------------------------------------ 1.1 You can now mark suspicious code as safe. On the Add-in menu you will find an entry 'VB Safety Net OK Stamp' simply place the cursor above the line you wish to protect and click the menu entry. 'SAFETY NET OK by <RegisteredName> <Date> <Time> This safety mark depends on your windows registered name so only works on your machine, on other machines the protective comment has no value. This prevents someone creating an attack that will be passed by Safety Net by protecting their nasty. (Well, if they know your registered name they could build a one-off attack) ------------------------------------------------- apologies for the path bug that reported vbp fiolder files as being in thewrong place (fixed) UPDATE 1.3 1 The Ignore Threat message has been changed so that its meaning is clearer: SAFETY NET Ignore Threat OK by <Windows_Registered_User_Name> <Date> <Time> 2 The Ignore Threat message is now inserted when Safety Net disables suspicous code. You can mark the code as safe simply by uncommenting the code and leaving the Ignore Threat comment in place. 3 removed some unnecessary code. 4 do'h forgot about the VBP Parent folder 1.4 Tightened up some of the code for path detection.

6_2008-2009 #210183
Polygon Screen Saver IV

Added a few new properties and tightened up the code. Inspired by 'Bouncing Polygon screensaver' by Brian Adriance at txtCodeId=52063. Converted to allow more variety of shapes. Collision detection and all basic ideas are thanks to Brian Adriance. I rebuilt some of his routines to allow faster or more various values to be used easily. Sub DrawPoly is mine designed to allow a random number of points to be drawn. The polygons change shape in an orderly way cycling for min to max points then reversing direction. While you can use it as a screen saver (with random setting of number, speed, points and fatness) you can also experiment with the appearance by Left-clicking on the screen to show a form which allows you to play with the settings or by Right-clicking you can randomize the settings again. To stop the screensaver hold down a mouse button and drag it or press any key. NOTE Small bug causes initial bad redraws when timer fires but the clear up on next collision.

6_2008-2009 #210184
Binary Finger Counting (User Control version)

Teach yourself to count in binary on your fingers. Includes a couple of simple finger games, let me know if you develop others and I'll add them. Converted earlier program to use a tidier UserControl. Fixed a logic error one of the games.

6_2008-2009 #210185
CODE FIXER 2.9.9

NEW VERSION 3 NOW AT http://www.pscode.com/vb/scripts/ShowCode.asp?txtCodeId=59247&lngWId=1 Will leave this here as a safety for a couple of weeks. This is a VB6 ( SP5 or SP6 required for ListView to work properly , Thanks Ariel) Add-In which allows you to indent code, find and repair/improve code for greater efficiency and readability and includes a user friendly replacement for VB's Find And Replace Tool. ------v2.9.9 several small tweaks mostly rare conditions or recent stuffups (See history.txt for details). --------------------------------------------- Quick search for 'CODE FIXER HELP FILE' to get the help file (You will need it!) The Find Tool component is designed to be permanently docked with the VB IDE(See Launch on Startup button on Settings screen). While this takes screen real estate, unlike VB's own find tool, it doesn't hide the code. I find it easiest to use if docked at top of the IDE under the VB toolbars. --------------------------------------------- WARNING All care; No responsibility. Some of the fixes the Add-In performs are capable of damaging code. Please use on copies of your code or use the built-in backup systems. --------------------------------------------- See readmeCodeFixer.txt in zip for installation instructions. -------------------------------------------- All bug reports gratefully recieved. If you have sent me one previously please check if I have patched it and let me know if not. -------------------------------------------- Thanks to Ulli for original inspiration and to the many who have assisted me with bug reports (you should find your name somewhere in the code, the thanks.rtf has been removed to keep the zip size down). --------------------- NEW NEW NEW NEW New item on CF menu 'Fix & Format (Ctrl Def Prop)': Because of the way it works the Default Property fix can be very slow, is unlikely to be needed more than once per project but it requires data gathered during the normal fix cycle. I know its an ugly menu item but until I think of a different, way to present this will do.

6_2008-2009 #210186
cls_TextAnalysis(updated)

a class that performs basic text analysis using the Split command. Count characters, words, punctuation and layout characters. Thanks to merlin who found a bug in the basic countChar routine (answered 1 if there was no text in serch string) and 'Word counter *Excellent' who inspired me to attempt it. ----------------------------Thanks to Min Thant Sin for finding two bugs. Fixed the bug for blank text. Corrected the word count to give correct count. Also extended the class by adding the ability to set acceptable punctuation to allow hyphanated or underscore connected words to be counted as one. Included a bas module that contains the same concepts but designed to be used without the full class being impelmented, just take the bits you want, this bas module uses Paramaters rather than Properties to operate. (NOTE the bas file is not used by the demo).

6_2008-2009 #210187
Cls_FormMarquee

Inspired by 'An old-fashioned Billboard Marquee' txtCodeId=51571 which is good looking but not very portable I built this class. I have always felt that if you need a large number of controls you should use the 'Load' command not painstakingly apply over a hundred controls. If you change resolution this can be very painful to upgrade. This class simple creates (and deletes) controls on the fly using just one indexed Image control as a seed. If you make a large change in the size of the marquee there is a slight delay. The screenshot doesn't really tell you much (no movement) just imagine all the little disks (yellow dots) moving

6_2008-2009 #210188
Transparent Tiler 4

Back again. Draws coloured tiles over any picture, looks better than it sounds (see screenshot). Ambiant light problem solved brilliantly by redbird77. API working thanks to Carle PV and Robert Rayment who both spotted my dumb mistake in passing the wrong values into the colour setting (took a while to notice it even with their help, some times your brain just won't work, eh). redbird77's code allowed me to activate the Ambiant colour parameter and add another one (Intensity). Aslo increased the number of bevels the demo allows to 200 (there is no real limit other than time) This allows you to create a single tile on a reasonably large picture giving a nice frame or curved (Hard edge Off) effect. If the bevel number is high enough the whole picture will be tinted, play with transparency and Intensity controls for best effect. --------------------------------------------------- I have also cleaned up the code a bit (removed some unnecessary Optional parameters) and created 2 modules; one using pure VB, the other API. I recommend that if you want to use this you use the API version it is about 40 -50% faster especially with large numbers of tiles. There is a simple (and not very good) timer message so you can compare the two versions. --------------------------------------------------- This demo takes advantage of a weakness in VB; it doesn't notice if you have Private routines with the same name in different modules, so both modules contain the some of the basic support functions. This is a potential source of bugs in code, if the 2 routines are not exact copies of each other. In this demo they are exactly the same, I could also have renamed them by adding 'VB' or 'API' to end of names as i did with other routines (which are not identical). Alternatively a single copy of the routines declared Public (in a 3rd module or either of the exiting modules) would work but would make the modules less portable.

Languages
Top Categories
Global Discovery