---------------------------------------------------------------------- ASIC500.ZIP 336561 ASIC is a "BASIC" programming language compiler for IBM PCs and compatibles. It includes an integrated full screen editor, from which you can edit, compile, and debug your programs. Or, at your option, you can use your own text editor, and compile your programs from the MS DOS command line. Shareware, 1/18/95. ---------------------------------------------------------------------- 336561 bytes in 1 file(s) Total of 336561 bytes in 1 file(s) File Requests welcome at: 1:2320/38 (VEverything) 502-245-6778 ** The following files are archived with RAR ** FREQ PDNINFO for information about the Programmers Distribution Network FREQ FDNINFO for information about getting your FDN on the IFDC FileGate FREQ FILES for all files currently on < TOPIC: 125 QUICK BASIC Ref: F3T00003 Date: 03/24/98 From: BERNARD WILLIS Time: 12:23pm \/To: BILL WHITE (Read 3 times) Subj: Old Folks Tena koe e Bill White, from Auckland, New Zealand. Some years ago as an avid reader of messages about Quick Basic programming I often saw your name and admired how you helped and encouraged the novice. Nowdays I spend much time grappling with Visual Basic in Windows. Your recent contributions to program document discussion of course also applies to VB programmers' efforts. May I add a cent or two worth to the forum. BL> Good for you, Rick! Now I don't feel so guilty about throwing away BL> my nifty plastic flow-chart template ruler thingie as soon as I got BL> my A in college BASIC programming. :) Like you, I find it much BL> easier to sit down and think the program out, then start typing it BL> in. I find that the plastic template comes in useful when nutting out involved Boolean nested if... then ... else conditional choices. Usually after some unsuccessful keyboard attempts I must admit. BW> I program much like I write letters. Business BW>letters are usually short and to the thought-out point. BW>But personal letters I just sit down and start typing BW>and see what comes out. The nice thing about doing BW>them with a word processor vs a typewriter is that I no BW>longer have the phrases like "Oh, yes, when I said such BW>and such, I should have added..." The Notepad available under Windows comes in very useful when programming in Visual Basic. A pencil and paper would also serve, as would REM or apostrophied lines. A program laid aside for a few weeks often involves much time in resuming. Adequate documentation helps one to pick up the threads anew. BW> Much the same with programming. And in BASIC with BW>line numbers (before I had a renumber utility) I would BW>have odd GOSUBs and GOTOs to stick things in - yes, the BW>GOTO police were always after me! Now I'll only use BW>GOTO as a debugging tool. "OK, that section works, BW>let's bypass it for now while I get the next section BW>working", things like that. Easier than REMing out BW>three dozen lines! Given the trouble in transferring variable values from one sub procedure to another I find that the odd GOSUB within a program still has a place. A label on the line prior to an input statement, which in turn is followed by a simple trap containing a 'GOTO label' if the input condition is not met, can be very useful. The program repeats the input request until the conditional statement requirements have been met. No spaghetti involved. BW> I'll usually write the program in a rather simple BW>fashion, getting it working. They I begin to add bells BW>and whistles, a phase that sometimes never ends! Hear, hear. BW> But then again, I write code for pleasure. BW>Structure doesn't seem to fit my definition of fun! A very good outlook. I am currently working on a program that I laid aside eight years ago. I am thankful for the good documentation and reasonable structure put into the original. If ever finished it will have to stand up to close scrutiny from my peers. At times the fun side seems to have receded a bit. Kia ora koe, Bernard. ___ X SLMR 2.0 X Do it well that thou mayest not do it twice. --- Maximus/2 3.01 * Origin: === NZMC Maxie BBS. Ak, NZ +64 9 444-0989 === (3:772/1) --------------- FIDO MESSAGE AREA==> TOPIC: 125 QUICK BASIC Ref: F3T00004 Date: 03/24/98 From: KURT KUZBA Time: 12:59am \/To: DAVID WILLIAMS (Read 3 times) Subj: Old Folks DW> set up some sort of "supervisor" which would watch a DW> program as it is running for a long time, and take note of DW> any bits that are never used. If your code is properly formatted to the modular approach, you should be able to find unused code simply by putting the name of the SUB or FUNCTION in the Find utility and seeking out all instances of its appearance in your code. If it is never called, then you just delete it. You can have a code module with all your favorite routines, and just load it as a module, and then, when you are done, just check for calls to the modules and delete the ones not being used from this copy of your source. In this way, you can have a standard toolkit module and not have to run back to the disk for a special tool to include in your new program. > ] And that's all I have to say about that. [ F. Gump ]........ --- * Origin: *YOPS ]I[* 8.4 GIG * RA/FD/FE * Milwaukee, WI (1:154/750) --------------- FIDO MESSAGE AREA==> TOPIC: 125 QUICK BASIC Ref: F3T00005 Date: 03/22/98 From: DAVID ROTHSCHILD Time: 09:26pm \/To: ALL (Read 3 times) Subj: Using poke Hello everyone... How do I use POKE to draw pixels in screen 12? Or is there something faster? Also: Thanks to everyone who helped me with the individual bits! David --- DB 1.39/004485 * Origin: The Diamond Bar BBS, San Dimas CA, 909-599-2088 (1:218/1001) --------------- FIDO MESSAGE AREA==> TOPIC: 125 QUICK BASIC Ref: F3T00006 Date: 03/23/98 From: MAILER-DAEMON@TOLTBBS.COM Time: 02:20pm \/To: LLUPDATES@AOL.COM (Read 3 times) Subj: FAILED MAIL From MAILER-DAEMON@toltbbs.com Mon Mar 23 14:16:57 1998 Date: Mon, 23 Mar 1998 14:16:57 EST Message-Id: <5000100@toltbbs.com> From: MAILER-DAEMON@toltbbs.com (Mail Delivery Subsystem) To: theo.ruhl@toltbbs.com Subject: Failed mail ===== transcript follows ===== Unknown host address aol ===== Unsent message follows ==== From theo.ruhl Mon, 23 Mar 98 14:16:30 -0500 remote from toltbbs.com Received: by toltbbs.com id 0K1YD00S Mon, 23 Mar 98 14:16:30 -0500 From: truhl@toltbbs.com Message-ID: <9803231416.0K1YD00@toltbbs.com> Organization: Toledo's TBBS [313/854-6001] X-Mailer: TBBS/TIGER v1.0/Alias Assistant v1.99d Date: Mon, 23 Mar 98 14:16:30 -0500 Subject: Greetings To: theo.ruhl@toltbbs.com Very Belated "HAPPY BIRTHDAY"! I really didn!t forget it this ling, but when did remember, Nadine said you were going to Chattanooga, so thought I might s well wait until you got home. I assume you are home now. Nadine said you ould be coming back on Sunday. How did things go. Sounds like you are getting good news from both directions. I suppose spring came in with snow like ours? Since you live in the snowbelt you usually get it if anyone does, but never can tell. We just got about four inches of blowing snow. Very pretty, but yesterday the sun was out all day nd a lot of it melted. Today the sun is trying to shine. I was going shopping, but I shortened four prs. of slacks for David, and now I am out of the mood. Will go tomorrow, hopefully. I have been very busy getting ready for the new carpet. I don!t know when it will come. has to come from Georgia and they only deliver when they have a full load. That gives me more time to get the rooms ready without having to rush. That word and I don!t get along too well any more:). I do have the front bedroom almost ready. When I painted the walls, had the brushes all cleaned p and remembered I forgot to do the inside of the closet. Aside from that (which I may do today) I have it already, including taking the carpet up and putting it in the attic. I do intend to wash the woodwork yet too. All I have to do in the other rooms is, take the molding off and pull the nails out of the carpet. Bob is going to come the night before they come and roll up the arpet and move the furniture out. Give my love to all, and hope all are well, and everything going good. Walt has been sick for almost two weeks now. Keeps working ang going to school but sounds terrible. Grandma --- FLAME v1.1 * Origin: Telnet toltbbs.com or call 313-854-6001, Boardwatch #55 (1:234/2) --------------- FIDO MESSAGE AREA==> TOPIC: 125 QUICK BASIC Ref: F3U00000 Date: 03/24/98 From: JANIS KRACHT Time: 02:41am \/To: KURT KUZBA (Read 3 times) Subj: Freeware BASIC? Hi Kurt, F> Is there a freeware BASIC compiler/interpreter for DOS out KK> up to 16M. You can find them at http://www.powerbasic.com/ KK> Their shareware FirstBasic compiler should also be available KK> there for free downloading. FirstBas.zip (300465) is also on my ftp/www site at jkracht.aye.net or via telnet or file request - the only freeware basic compiler I have been able to find was for win95. The source is written in C. YAB212.EXE 130983 03-09-98 Tiny BASIC compiler/interpreter for WIN95. Executibles only. Free under GNU Copyleft. YABSRC.EXE 98742 03-09-98 Tiny BASIC compiler/interpreter for WIN95. Source Code only. Free under GNU CopyLeft Take care, Janis www: http://jkracht.aye.net ftp: jkracht.aye.net e-mail: jkracht@aye.net --- Maximus/2 3.01 * Origin: PDN HQ 502-245-6778 [206.185.8.38] (1:2320/38) --------------- FIDO MESSAGE AREA==> TOPIC: 125 QUICK BASIC Ref: F3U00001 Date: 03/23/98 From: CHRIS GUNN Time: 07:14pm \/To: JOHN ZORTMAN (Read 3 times) Subj: Re: QBModem DTR Patch JZ> How would I go about installing this patch, do I need to make a JZ> program up to read BCOM45.LIB into a huge string and do an INSTR on JZ> it or what? I'm probably missing something simple here so please JZ> forgive me if I am. Howdy John, It's been a long time since I used DEBUG. I used XTree Gold's hex edit functions and search options to find the chunk to change. I believe Norton also has a hex editor that's much easier than DEBUG. JZ> What I'm assuming here is that this patch will stop QuickBasic's JZ> nasty habit of pulling DTR low when you CLOSE the channel you OPENed JZ> to the COM: device and hanging it up. Thats decent enough, and leads JZ> to the next questions: Right! It's also needed if you use a fossil driver and/or Interrupt 14. JZ> How do I defeat or circumvent QB's 19200 speed limitation in the JZ> OPEN command? Or am I supposed to OPEN @ 0 baud to just go along with JZ> whatever BAUD/Parity/Stop bit settings were already set by the BNU/X00 JZ> FOSSIL previously? The only way to work at the higher speeds is with a fossil driver. Then you use Interrupt 14 to open the appropriate COM port. JZ> DON'T like with QBSerial is that while OpenComm @ 0 Baud is very JZ> stable with X00, it sometimes gets "out of synch" with the modem on JZ> BNU and locks up, so I must use 38400 to keep it stable on BNU, even JZ> though the BBS is @ 57600 with it. ... I've found some computers don't like X00 and BNU works okay. On another computer just like it, it's the other way around. Had four identical computers side by side at one time. One worked fine with both. The other three insisted on either BNU or X00. Specifically why, I don't know. JZ> I'm writing to the guy who wrote QBSerial to see why this is still JZ> limited to the old FOSSIL limit of 38400, when X00 1.50 goes up to JZ> 115200 and BNU allows 57600. ALSO, the reason my sysop is now JZ> running BNU instead of X00 is because X00 doesn't get along with Win95 JZ> at all, so things have conspired, so to speak, against QBSerial here. There is also a winfossil out just for Win95. The internal memory bus, even on a Pentium, may not let you work at 115200 and will vary from computer to computer. 57600 should be fine even with a 56K connect. JZ> So after my stubborn streak I'm now looking at what you sent me very JZ> seriously. The above question about QB's OPEN speed limitation and JZ> how do I determine modem's online status is all that remains. There are Interrupt calls to ask the fossil almost anything you need to know about the modem without needing to get it back into the command mode. One of the handy programs for working a modem is Bannana Comm (BCOM). It knows how to find the modem and tell you what the maximum lock baud rate is. Also knows how to tell if there's a hardware interrupt conflict or problem. It's way ahead of Plug & Play when it comes to modems. Chris --- FMail 0.96 * Origin: BIZynet - Worldwide Business via the E-Ways (1:15/55.1) --------------- FIDO MESSAGE AREA==> TOPIC: 125 QUICK BASIC Ref: F3U00002 Date: 03/23/98 From: CHRIS GUNN Time: 07:45pm \/To: BERT BYFIELD (Read 3 times) Subj: Re: STATIC Procedure Question BB> I read somewhere that procedures should be STATIC, as in: BB> SUB DoIt (s$) STATIC BB> FUNCTION DoItAgain (s$) STATIC BB> Anybody know what this does and why it matters? Howdy Bert, STATIC means memory space needed for the subroutine or function is allocated when you compile your program and all variables used inside the subroutine will remember where they are each time it's called. It means you have to ensure any internal variables are cleared if you want them that way. Subs should normally be declared DYNAMIC (the default) unless you specifically have variables that are not COMMON or passed to the subroutine to retain their contents. It matters a bunch if you are handling a lot of data in memory. STATIC chews up a lot of memory space you might want for dimensioned arrays or other uses. With a DYNAMIC subroutine, you can DIM an array inside the sub and it will use a new DGROUP to allow additional storage. When you exit the sub, the array is automatically removed from memory to free space back up again. Chris --- FMail 0.96 * Origin: BIZynet - Worldwide Business via the E-Ways (1:15/55.1) --------------- FIDO MESSAGE AREA==> TOPIC: 125 QUICK BASIC Ref: F3U00003 Date: 03/23/98 From: CHRIS GUNN Time: 08:00pm \/To: PETER DALTON (Read 3 times) Subj: Re: QB.QLB+QBSER.QLB=BOTH.QLB PD> erm, no. I have some sub-routines that I add in as required and then PD> call with a gosub...it works. What I do when the program gets too big PD> is separate it off into smaller chunks, each one dealing with a PD> separate part of the overall program and then from the main program I PD> shell to each sub-program as required. Again, it works... PD> Thanks for a detailed reply though, I'll have a play around with it. Howdy Peter, You can use GOSUB's inside an INCLUDE file if you want. It's just not as handy as using subroutines. The following may be handy for other folks as well: If you have a GOSUB titled CheckIt:, just above the title type "SUB CheckIt" and press or the down arrow. Bingo, and you will be inside the new subroutine. Press and go back to your main module. You should be back at the top of the GOSUB and the line you just typed will be gone. Hold down a key and block what you want to move and it. (make sure you have Shift pressed) Press and move back to the new subroutine. Use and paste it in. You can also use and copy it first. Then go back and delete the original. Check out your new subroutine to see what variables need to have data carried into them. Add them inside the parens. It should look something like: SUB CheckIt(FilePath$, FileName$, Index%) Don't forget to delete the original CheckIt label. Not sure where all the GOSUB lines are? Press and QB will take you to the first one so you can change it to read "CALL CheckIt()" and the matching entries for what you put in the SUB's parens. The type of variable has to match but where FileName$ is can be "MYFILE.DAT". This can be real handy because the same subroutine can now be used for NewFile$, NextFile$, or AnyFile$. After you Save what you've done, go to the top of your main module. You'll find a new DECLARE SUB CheckIt() line there to match what you created. Some of my programs have EXE's over 300Kb and have as many as five loaded source code modules as well as my custom QLB's. My hotel program has three big EXE's that RUN each other. I prefer using RUN instead of CHAIN or SHELL. You can build some big stuff with QuickBasic. Chris --- FMail 0.96 * Origin: BIZynet - Worldwide Business via the E-Ways (1:15/55.1)