--------------- FIDO MESSAGE AREA==> TOPIC: 178 VISUAL BASIC Ref: E1200013 Date: 12/14/96 From: GERRY QUACH Time: 02:45pm \/To: KEN GILLAM (Read 5 times) Subj: Re: VB 5! Quoting Ken Gillam to Francois Roy KG> I saw a copy of it on a cover CD on a Magazine in the UK today! KG> I haven't even gone to Version 4 yet ( Not impressed with Win95 ) Hehe... don't blame you there. I'm less than impressed with VB 4.0's 4+ megs of run-time files :) For my 20K metric conversion utility :) utterly insane and ridiculous if you ask me... cheers, ͵RAG ... If it wasn't for C, we would be using BASI, PASAL and OBOL! ___ Blue Wave/DOS v2.21 --- TSX-Online (Multi-line 32-bit BBS) * Origin: HotLine BBS (3:712/941) --------------- FIDO MESSAGE AREA==> TOPIC: 178 VISUAL BASIC Ref: E1200014 Date: 12/14/96 From: GERRY QUACH Time: 02:45pm \/To: ALL (Read 5 times) Subj: VB4-32bit 1 run-time file Hmm this is really weird... I just found a proggie which says it was compiled using VB4 32-bit, yet it only uses 1 run-time file, VB40032.DLL!! How'd they get it to work without the other 4+ megs of run-time files? When I try to do that with my VB proggies they simply won't run, "file missing" etc.... can anybody clue me in? cheers, ͵RAG ... Press <-> now to speed up your computer. ___ Blue Wave/DOS v2.21 --- TSX-Online (Multi-line 32-bit BBS) * Origin: HotLine BBS (3:712/941) --------------- FIDO MESSAGE AREA==> TOPIC: 178 VISUAL BASIC Ref: E1200015 Date: 12/16/96 From: GERRY QUACH Time: 12:52am \/To: ALL (Read 5 times) Subj: timer problem I have a rather annoying with the a Timer event in my Quiz program... when the user's time limit runs out the Timer event is called and that in turn pops up a dialog box that says "Sorry your time has run out". Now the problem is that I can't disable the timer! So the "time out" event keeps getting called repeatedly (and the "Your time has run out" dialog pops up)... in fact it is called even after I've exited the main program!! How do I tell the Timer control to reset or disable itself? Any help is greatly appreciated... cheers, ͵RAG ... NEW!! Pest exterminator: US Navy Mk19 40mm automatic grenade launcher ___ Blue Wave/DOS v2.21 --- TSX-Online (Multi-line 32-bit BBS) * Origin: HotLine BBS (3:712/941) --------------- FIDO MESSAGE AREA==> TOPIC: 178 VISUAL BASIC Ref: E1200016 Date: 12/18/96 From: GERRY QUACH Time: 06:10pm \/To: ALL (Read 5 times) Subj: freeware help/install prg Does anybody know of any decent FREEWARE help-file authoring programs or any FREEWARE installation-disk makers? I know this sounds lame but the registration fees for such quality programs like VBAHA are simply out of my reach... not everyone out there is a professional programmer you know!! My programs have always been free, surely there must be *some* free help-file maker programs out there... (outrageous how some people want to make money from help makers that use WinWord macros!!) take care, ͵RAG ... If you choke a smurf, what color does it turn? ___ Blue Wave/DOS v2.21 --- TSX-Online (Multi-line 32-bit BBS) * Origin: HotLine BBS (3:712/941) --------------- FIDO MESSAGE AREA==> TOPIC: 178 VISUAL BASIC Ref: E1200017 Date: 12/28/96 From: DIK COATES Time: 03:46pm \/To: ANDREA CAMPAGNOLO (Read 5 times) Subj: INP/OUT Help Needed * Reply to msg originally in Quik_Bas Hoping this might help a tad... >>>> QUOTING Rick Pedley to Dik Coates <<<< DC> Should be the same for VBDOS as for QuickBASIC. Little light on the DC> description of how the control works... I assume it's via the Parallel DC> or Serial port... DC> * Reply to msg originally in Visual_Basic >>>> QUOTING Andrea Campagnolo to All <<<< AC> Hi All! AC> Is there anybody who know a method to make a hardware input/outup to a AC> port ? The Visual Basic for DOS have the INP and OUT instruction, but AC> VB4 for Win doesn't have it. Could you help me ? I must make a project AC> to control a robot at school. I'am a student of the last year of AC> secondary school. Excuse for my mistake, I don't know english very very AC> well :-( RP> She needs the INPOUT.DLL, a free DLL widely available. RP> coffeerp@adan.kingston.net [COFFEE MUG SOFTWARE] RP> -!- Blue Wave/DOS v2.20 RP> ! Origin: ...the vented spleen - kingston on (613) 544-9332 RP> (1:249/139) Regards Dik ... "Only one person has pulled it off... Elvis." - Fox Mulder on faking d ___ Blue Wave/QWK v2.12 --- Maximus 2.02 * Origin: The KAWARTHA Connection, Omemee ON, Can. 705-799-1160 (1:253/2) --------------- FIDO MESSAGE AREA==> TOPIC: 178 VISUAL BASIC Ref: E1200018 Date: 12/19/96 From: RONALD SCHLEGEL Time: 05:37pm \/To: ANDREW DAVISON (Read 5 times) Subj: CD DRIVES AD> Is there any way in Visual Basic to determine which are CD Drives AD> and Which are Hard Disks ? Just an idea, but maybe... 1. If there aren't "Read Only" attributes, then it's a Hard DIsk. 2. Try to write a semaphor, if you get an error (not sure which one), then it's a CD. -Ron * RM 1.3 03129 * "To love her was a liberal education." Steele --- WILDMAIL!/WC v4.12 * Origin: Scott's Place BBS - (513)236-9777 (1:110/615.0) --------------- FIDO MESSAGE AREA==> TOPIC: 178 VISUAL BASIC Ref: E1200019 Date: 12/25/96 From: CHRIS ROACH Time: 01:27am \/To: PAUL JOHNSTON (Read 5 times) Subj: EVENTS Paul, very interesting stuff about win classes. Now that I am thouroughly confused again, let me ask this: How does a class come to exist? I.e. I thought the WinMain initialized all windows, using createwindow api? Thereby creating instances of class objects? I'm not talking MFC, just simple C-EXE. I am still pretty stuck on the idea that everything win-kernel sends to an app passes thru the main loop? Every C style prog code I've ssen has the classic Case: Some Message in the main loop for all callable message routines not handled by win itself.(?) I obviously need a refresher on Win System/kernel. BTW, when I mentioned Vb being c-style exe, I assumed a lot about the knowledge of the person asking the question...and was trying to simplify my explaination considerably..I presume all executables end up as assembly /ML in the end. My point was that Vb existed as a program typically does..with a WinMain...something not ever seen or whathaveyou by a VB proger. This 'stub' (if I can call it that) sets up a prototype winmain that passes things thru to the VB progers app code. Of course this could be absolutely wrong. As an amateur C proger what do I know about this jazz? My little DLL helper libs for VB stuff is really the extend of my tinkering 'under the hood'. Anyways.. I guess I've got lots to read up on. Thanks for the FB. --- PCBoard 15.2 * Origin: 32 lines 40 Gig BBS, Realtime InterNet SLIP (403)247-7900 (1:134/10) --------------- FIDO MESSAGE AREA==> TOPIC: 178 VISUAL BASIC Ref: E1200020 Date: 12/25/96 From: CHRIS ROACH Time: 02:26am \/To: BUCKY CARR (Read 5 times) Subj: EVENT DRIVEN VB Bucky, you don't want to 'force' your users around too much! My basic approach is two tiered. First, when possible, screen/check user input as it comes in...key for key, ..allowing inputs that meet criterion. For example, ascii code has a range of alpha (starting around chr$(65) for a" I think. Anyway, if keycode or keyasci is 'out of this range' it can be tossed. Keeping a copy of the last_good_contents of any object is an idea, cuz upon an error you simply replace the new with the last_good_item. So, as long as text1.text is building a valid string/value you let the user continue, but if bad characters are enetered you wipe the text and insert the last good text. As you can imagine, such screens & such can be tedious/meticulous/nightmares! You can't always know/or set up for the wild inputs a user might make. That's where my second tier comes in. Just before calling a process,etc, you can check all paramters. I.E. scenerio check. 'Is everything OK to do this?" Of course, there's always ON ERROR GOTO ERRORHANDLER... As a rule I enclose ALL user and disk i/o in ON ERROR checks. Virtually any visible object CAN cause an i/o error or other error. Here's a simple example: nXW = int(rnd(1)*20000) if nXW > screen.width then nXW = screen.width if nXW < 1 then nXW =1 On Error Resume NExt Form1.width = nXW if err <> 0 then BEEP err is automatically known after an error and you can check what the number indicates by looking up TRAPPABLE ERRORs . This example shows how data is first range checked and ultimately still protected from error fault by ON ERROR RESUME NEXT. Even when all seems well, it might not be. resizing a form that is minimized results in an error, even if the numbers seem ok. This is a case of a BAD STATE...something you should look for. If an objects behavior is conditional, upon some given state, then you best check it's status before a call. Many of my Form_resize subs have this header: If windowstate = 1 then exit sub This says, hey, if minimized..don't adjust! Ultimately ..error handling is like any code..it's as deep and sophisticated as the programmer! Simple IS better and thats why 'blackbox' objects/code are so desireable...they can be easily debugged, esp for STATE related functions. In a system..which is ultimately what any program becomes..the parts interact and the entity 'becomes' something. Take a car for example, if you picked the best parts from all the cars in the world, and put em together...you'd have a terrible car! It's the interaction thats critical in any system! Keep a mind on the system' aspect at all times! It's the greatest source of bottlenecks, spagetti code, etc when not given due respect. That;s why I mentioned precode planning so vehemently. You'd never build a house without a plan...including doors, windows, and passages. Same for good code...there's room to move. Now, you can't tweak every tool/object to the nth degree..so what do you do? Learn the important stuff about specific objects...the essense of them, textbox, listbox, etc...and make note of their weaknesses. As I mentioned before, a listbox can cause a stack overflow if the user mouses it around really fast. That's the first thing I'd protect against when coding one. It's something akin to trial by fire learning...you discover..hey this thing is messing up..then you put your mind to the solution..discovering, eventually, some silly thing about Windows/objects you need to know...like not resizing minimized forms. Lot's of books get published about proging Win/VB and yet only the experienced progers sell really well..because they have 'been there..done that' and often discovered what you need to know ~for you. Reading up a few good books will help a lot. Keeping good notes helps too. I have a serious collection of e-docs about every topic imaginable. I use cut & paste in the CD-ROM Dev libraries constantly..building my own 'Great Book Of Windows Programming'..chapter by chapter. It's busy work..but it pays off! For a long time I just 'kept it in my head'..but the rich VB environment put an end to that..just in time for win 32 api (900->5000) api defs! This business requires some serious 'cataloging' else land mines and deep pits await. Yes, VB, like Windows, is pretty deep water. Skimming the surface is easy enough with VB and you can do so much so fast it's amazing. Once you get some good standard code blocks, objects,classes, etc you can put together great apps with serious functionality in quick time. Developing a universal error handler routine is a VERY good idea. This can grow with you and your expertise. You'll need error handling in virtually every serious app..so a good stock sub routine is worth it's virtual weight in e-cash. My error routines have STATE awareness..they can report an error without stopping, or be told to stop and post a message. This works great because I can handle errors visibly or not..and code can do things to 'test for errors' before doing them in the code flow of the prog. I.E> Pretest for error . File Does Not Exist is a classic. One time you want to know that, another time you want to ignore it..it is expected in some cases. I've got a c-dll tie in for file ops, which allows me to turn off error handling in the system..so a fetch to empty drive a: doesn't beep. In C you get more control to do stuff..I'm not sure if Vb has API to do this stuff I do in my DLL..but it's worth investigating I expect. My standard File DLL routines have error-shut off for most floppy disk stuff. I let my programs handle these things rather than win dialogs. (And beeps;( ) I hope this helps some. I realize it's kinda overkill for most progers. I've made a pseudo-science out of it all, since it's essential to robust code. Just remember..a program is a system of components that interact! It's precisely the interaction that determines the usefulness. Good black box code means leggo block assembly and good interaction (synergy). A system is basically input--processes-outputs..so you keep that in mind as a developer. I think of code like a factory/processing plant. Most operations require the usual boilerplates..fire extinquishers, etc. Common things and 'black boxes' that most processes/progs share. Perfecting them..and their interaction is the key to healthy, reuasble event driven code. Best of luck with this..and remember to have fun! ... .. PS. scenerio or script testing is an excellent practice. Try to imagine users busily messing with your app. I even use a 'kiddy test' munching down many keys and mousing like crazy. You'd be surprised how many vb apps go down. Try to visualize a user working with your app..perhaps not knowing how to use it and doing some things way wrong now and then. You'll soon discover some of the classic bugs/etc. (Not to write a book again... :) Seasons Greetings! --- PCBoard 15.2 * Origin: 32 lines 40 Gig BBS, Realtime InterNet SLIP (403)247-7900 (1:134/10) --------------- FIDO MESSAGE AREA==> TOPIC: 178 VISUAL BASIC Ref: E1200021 Date: 12/25/96 From: CHRIS ROACH Time: 02:28am \/To: JOE SHAY (Read 5 times) Subj: VBDOS..NOT ME Joe, I'm sorry to say I don't use VBDOS at all. Strictly Windows 3.1, 3.11 WFWG, Win 95, NT, NT server...;) --- PCBoard 15.2 * Origin: 32 lines 40 Gig BBS, Realtime InterNet SLIP (403)247-7900 (1:134/10) --------------- FIDO MESSAGE AREA==> TOPIC: 178 VISUAL BASIC Ref: E1200022 Date: 12/25/96 From: CHRIS ROACH Time: 02:40am \/To: JOE SHAY (Read 5 times) Subj: 2 APPS Joe, are these two apps of VB construction or things like WORD, EXCEL, etc.? I assume the later. You can find a window in the task queue a couple of ways so 'how' you accomplish your task could be diverse. If you know the handle up front you just use api to set the size & postion. SetWindowPos(hwnd,hwndInsertAfter,x,y,cx,cy,fuFlags) This tweaks size, position, zorder. The hidden app sounds like it needs a hook to capture system keyboard i/o. That means having a c-DLL that can do callbacks. Can you write a dll? I don't think you can capture global keyboard without it, or a tool that does it for you. MessageBlaster.VBX is one that comes to mind. This routine would call an number of routines to send a wake-up (getfocus) plus some keycode(?) I can't help you much from here, this is deep stuff..capturing key input, switching and sizing via api... --- PCBoard 15.2 * Origin: 32 lines 40 Gig BBS, Realtime InterNet SLIP (403)247-7900 (1:134/10)