![]() 3D 3D Photo Gallery (Part 1) 3D Photo Gallery (Part 2) Audio Poor Man's MIDI Make A Metronome iPod Tricks (Part 1) iPod Tricks (Part 2) iPod Tricks (Part 3) Laugh Track Machine Audio Player with Reverb Shepard Melody RB Phone Home Build a Drum Machine Custom Controls and Windows Double Click Listbox Draggable Metal Window Double Click Canvas Custom Buttons Custom Buttons Part II iTunes-style Listboxes Custom Controls General RB Scrolling Windows Using Mesage Dialogs Case-Sensitive Word Finder Introduction to Stacks Wiggle Window JPEG in PDF Listbox Checkboxes Background Applications Listbox Auto-Find Virtual Volumes Time Tracker Software Distribution (Part 1) Software Distribution (Part 2) Software Distribution (Part 3) Software Distribution (Part 4) Exceptions Tips and Tricks Text Clippings Made Easy Graphics Drawing a Simple Gradient The SpriteSurface: Space Game Image Spinner Cropping Graphics (Part 1) Cropping Graphics (Part 2) Cropping Graphics (Part 3) Cropping Graphics (Part 4) Shimmer Graphics Lissajous Figures Simple Screen Capture Vector Graphics Kaleidoscope Images Stegonography Spirals! Image Table RB Magnifying Lens Screen Capture Color Picker Tutorial Hacks Ghost Grab Speedy Mouse Extension iTunes Plugins iTunes Skinner Mac OS X Global Hot Key Event (Carbon Events) Login Welcomer (Carbon Events) Add/Remove Buttons Resizable Sheets Mac OS X Preferences Window Using Sheets in REALbasic Build a Bundle (Part 1) Build a Bundle (Part 2) Dock Your Passwords Mac OS X Debugging REALbasic Mac OS X Icon Tutorial Animate Your Dock RB and the Command Line Menus Window Menu Templates Menu Listbox Menu Novelty Guessing Game Calendar Trivia Tile Mixer Zip Code Finder Happy Valentine's Day Merlin Simulator (Part 1) Merlin Simulator (Part 2) Merlin Simulator (Part 3) Buzzword Machine AppleSoft BASIC Printing Print to PDF Registration Registration Code Validation Network Registration Codes Resources Picture Extractor (Part 1) Picture Extractor (Part 2) Serial Caller ID (Part 1) Caller ID (Part 2) Caller ID (Part 3) Speech Speech Recognition Socket Communication Easy Peer-to-Peer File Sharing MacPAD Version Checking Display Web Image In Canvas HTML IMG Tags Version Tracking Even Smarter Instant Messaging Web Tiler JavaScript and REALbasic Stock Ticker (Part I) Stock Ticker (Part 2) AIM Mate XML Manipulation Simple XML Introduction Video Big Brother Video Capture Note: All articles without a byline were written by Erick Tejkowski. When cleaning the site I removed them because the code differed from page to page, and I have yet to put them back in.
Tell us about a bad link. |
Word Finding
Design
That's all there is to it. Create a module named "WordMatching" or whatever you want, and create a method inside of it: MatchWord(source as string, find as string, start as integer, sensitive as boolean) As integer After that, just create a window with two fields and a button labeled "Find". (The example project has this all done for you.) The EFBody EditField will be our "source" field and the EFSearch EditField will containt the word we're looking for. Obviously, the Find button initiates the search.
The MatchWord Function After that we're going to enter a loop which keeps executing while possible matches are found. If no match is made or no possible matches are found, the loop will exit. The first line of the loop checks for any possible matches. The next three lines then check to see if the case of the find string and the match are the same. StrComp is a built-in function in REALbasic which does case-sensitive string comparision. If StrComp returns 0, then the strings are equivalent. If the case does not match and case-sensitivity is on, the offset value is set to 0 signalling that it is not a match, and that the loop should iterate once more to see if a new match can be found. After that, we check the characters immediately to the left and right of the match to see whether or not they are allowable word separators. If they are, then we've got a match and the loop exits since offset does not equal zero. Note that we check for offset to be > 1 when checking left and offset > 0 and offset <= theEnd when checking right. This not only checks to see if the word is at the edges of the field (because if it is, it is automatically a match for that respective side), but it also makes sure there's a possible match since offset must not be 0 for either testing to occur. Function MatchWord(source as string, find as string, start as integer, sensitive as boolean) As integer
The Find Button Sub Action() The Finished Product
|
|||||
|
Please support ResExcellence by Visiting our Sponsors. One click makes a difference. |
||||||
|
|