--------------- FIDO MESSAGE AREA==> TOPIC: 125 QUICK BASIC Ref: F2V00015 Date: 02/22/98 From: OLE HEJLSKOV Time: 07:55pm \/To: TIKA CARR (Read 3 times) Subj: help! Hey Tika. TC> Try this.... Ok. TC> Hope this is what you were looking for. Yes, it was. >Vi tastes ved< o' \,=./ `o (o o) Med venlig hilsen: ooO--(_)--Ooo Ole Hejlskov .!. The earth is 98% full. Please .ZIP yourself... --- Terminate 4.00/Pro * Origin: You know when you have been fucked up... (2:237/45.18) --------------- FIDO MESSAGE AREA==> TOPIC: 125 QUICK BASIC Ref: F2V00016 Date: 02/22/98 From: OLE HEJLSKOV Time: 07:59pm \/To: PAT PRIDGEN (Read 3 times) Subj: help! Hello Pat OH>> Is there a command in Qucikbasic 4.5 that gives you the current OH>> disk-space? PP> Not a command, but...by using Call Interrupt you can get it the PP> informations. Okay. o' \,=./ `o (o o) ooO--(_)--Ooo Ole Hejlskov .!. And sometimes the bear eats you. --- Terminate 4.00/Pro * Origin: This origin is shareware. Please send 1 to my boss (2:237/45.18) --------------- FIDO MESSAGE AREA==> TOPIC: 125 QUICK BASIC Ref: F2V00017 Date: 02/22/98 From: ANDY HOLDING Time: 08:01pm \/To: ALL (Read 3 times) Subj: testing web page could some tell me if my website works, the code works fine off line but I tried at someone elses page it didn't wrok. WWW.HOLDING.DEMON.CO.UK Seeya --- * Origin: There's always one more bug. (2:254/292.9) --------------- FIDO MESSAGE AREA==> TOPIC: 125 QUICK BASIC Ref: F2V00018 Date: 02/26/98 From: BOB LOTSPEICH Time: 02:19am \/To: COLIN DOMANSKY (Read 3 times) Subj: Problem -=> Colin Domansky wrote to All concerning Problem <=- CD> Why doesn't this work CD> for j = 1 to 3 CD> for k = 2 to 4 step -1 CD> print j CD> next k CD> next j CD> There is no error message that comes up or nothing.. :( CD> I want to find this out, so please help... If you want to use "k" in -1 decrements, change to "for k = 4 to 2 step -1". --- Blue Wave/386 v2.30 * Origin: The Circle Circus * Dale City, VA * 703-730-3115 (1:265/124) --------------- FIDO MESSAGE AREA==> TOPIC: 125 QUICK BASIC Ref: F3300000 Date: 02/24/98 From: CHRIS GUNN Time: 06:50pm \/To: JOHN ZORTMAN (Read 3 times) Subj: Re: QB.BI JZ> All I can say is the only thing worse than being an idiot is being a JZ> messy one with stuff scattered all over uh, heck... Howdy JOHN, Not really appropriate to post QB.BI. Better yet, at the foot is my *.BI ile that does the same things as QB.BI and some extra stuff I keep standardized. My ADVANCE.QLB includes QB.QLB and other stuff I've added. The list of SUB's will give you an idea of what's needed for a minimum standard set of routines. I post many of the subs here now and then. The COMMON and CONST lines contain what I've found handy in the majority of my programs. The C() and B() dims are the secret to my configurable color options. Whack out any lines that don't look handy and you'll end up with the equivilant of QB.BI. Chris '============================================ 'BASE.BI - Library Support Include File 'Last Update: 29APR90 02MAY90 03MAY90 14MAY90 22MAY90 11JUN90 25JUL90 'Last Update: 08JUN91 17MAY94 02AUG94 06OCT94 20MAR96 23MAR96 08APR96 'Last Update: 04NOV96 'Define the type needed for Interrupt TYPE RegType ax AS INTEGER bx AS INTEGER cx AS INTEGER dx AS INTEGER bp AS INTEGER si AS INTEGER di AS INTEGER flags AS INTEGER END TYPE 'Define the type needed for InterruptX TYPE RegTypeX ax AS INTEGER bx AS INTEGER cx AS INTEGER dx AS INTEGER bp AS INTEGER si AS INTEGER di AS INTEGER flags AS INTEGER ds AS INTEGER es AS INTEGER END TYPE 'Generate a software interrupt, loading all but the segment registers DECLARE SUB Interrupt (IntNum AS INTEGER, Inreg AS RegType, Outreg AS egType) 'Generate a software interrupt, loading all registers DECLARE SUB InterruptX (IntNum AS INTEGER, Inreg AS RegTypeX, Outreg AS RegTypeX) 'Set colors in defined zone to Attr% DECLARE SUB AttrBox (Top%, Lft%, Bot%, Rgt%, Attr%) 'P%=0 Prompts for a color palette file 'P%=1 Resets Standard palette 'P%=2 Sets Color Corrected palette 'P%=3 Sets Machine Greys palette 'P%=4 Sets Menu palette DECLARE SUB ChngPal (P%, Pal%(), VL%, VC%) 'Clear area to Clr% (Hue) and retain cursor off position DECLARE SUB ClrSpot (Top%, Bot%, Clr%) 'Draws Box with Msg$ centered in top line DECLARE SUB DrawBox (Msg$, Bdr$, Top%, Lft%, Bot%, Rgt%, Shdw%, Clr%, Txt%) 'Return VErr$ for EFlag% DECLARE SUB ErrorMsgs () 'Flash Clr% (Hue) color message centered on screen DECLARE SUB Flash (FlashOn%, VF$, VL%, Clr%) 'Returns bit status for Kf% in Kf%() dimension 'Source code must DIM Kf%(8) or use BASE.BI DECLARE SUB GetBinary (Kf%, Kf%()) 'Put copy of screen area in Buffer$ DECLARE SUB GetCopyBox (Top%, Lft%, Bot%, Rgt%, Buffer$) 'Arrive with any format Dte$ 'If Fmt% - Returns calendar date 'else return Julian Date as YYYYDDD DECLARE SUB GetJulian (Dte$, Day&, Fmt%) 'Get ASCII key, if any. 'Returns with key in K$, Ki%=Index code, Km%=ASC(upper), & K%=VAL DECLARE SUB GetKey (K$, Ki%, Km%, K%) DECLARE SUB GetLastKey (K$, Ki%, Km%, K%) 'If Month%=0 and Month$ is valid - Month% is set 'Always returns month string for month% and number of Days% in Month% DECLARE SUB GetMonth (Month%, Month$, Days%, Year%) 'Wait until key and return upper case 'If LEN(K$)>1 then use as filter except and 'Return tab, cursor & function keys if Alt-254 is in K$. DECLARE SUB GetPrompt (K$, Ki%) 'Precision delay to .01 seconds DECLARE SUB Holding (Dly@) 'MFmt%=0 Initialize mouse 'MFmt%=1 Show mouse 'MFmt%=2 Hide mouse 'MFmt%=3 Get buttons held and position status 'MFmt%=4 Set cursor location 'MFmt%=5 Left clicked since last 'MFmt%=6 Left Released since last 'MFmt%=7 Set Column limit 'MFmt%=8 Set Row limit DECLARE SUB MseDriver (MFmt%, MBut%, MCol%, MRow%) 'Check for mouse and initialize MOUSE.SYS DECLARE SUB MseCheck (Mse%) DECLARE SUB MseClick (MLft%, MCen%, MRgt%, Held%) 'If Fmt% then Screen Char posits DECLARE SUB MseGetLoc (MRow%, MCol%, Fmt%) DECLARE SUB MseSetLoc (MRow%, MCol%, Fmt%) DECLARE SUB MseRange (Top%, Lft%, Bot%, Rgt%, Fmt%) DECLARE SUB MseHide () DECLARE SUB MseShow () 'Please Wait panel if Msg1$ is "" - Centers Msg1$ & Msg2$ DECLARE SUB PleaseWait (Top%, Lft%, Program$, Msg1$, Msg2$) DECLARE SUB PressAny (K$, VL%) 'Put screen area stored in Buffer$ at defined point DECLARE SUB PutCopyBox (Top%, Lft%, Buffer$) 'Sets CapsLock "ON" or "OFF" DECLARE SUB SetCapLock (For$) 'Sets NumLock "ON" or "OFF" DECLARE SUB SetNumLock (For$) 'Prints Clr% (Hue) color prompt centered on screen DECLARE SUB SetPrompt (VL%, VP$, Clr%) ' Adjusts Pointer% according to cursor (Ki%) keys DECLARE SUB ShiftPntr (Ki%, Pointer%, PageLen%, Margin%, OffSet%, MaxLne%) 'Bouncing Ball DECLARE SUB SndBall () 'Fast Beeper for number of Blips DECLARE SUB SndBlip (Blips%) 'Chirping attention sound DECLARE SUB SndChirp () 'Quick click sounds DECLARE SUB SndClick (Blips%) 'Sound short note based on Color (0 to 55) DECLARE SUB SndColor (Clr%) 'Sound Klaxon alarm DECLARE SUB SndKlaxon () 'Plays random melody ' Notes% = number of notes ' Tempo% = (32 - 255) sets tempo. Default 150 quarter notes per minute ' Note$ returns notes played if Note$>"" DECLARE SUB SndMldy (Notes%, Note$, Tempo%) 'Attention Whistle DECLARE SUB SndWhstl () 'Tests text screen mode and returns "MONO", "CGA", or "EGA", 'number of screen pages in Mode(0) and sets SCREEN 0,0,0,0 DECLARE SUB TextMode (Video$) 'Displays current time for menus DECLARE SUB Time (AmPm%, VL%, VC%, Clr%) 'Checks last access time and holds until Dly reached 'If Tim%>0 then current delay is displayed at lower right corner 'If Tim% is returned as zero, no delay was required ' else Tim% returns a negative value for number of loops DECLARE SUB Timing (Dly@, Tim%) ' Center Prompt(VP$) and get es, o, Esc, or Enter DECLARE SUB YesNoAsk (VL%, VP$, K$, Clr%) ' Toggles Y/N if VL% = 0 ' Displays Yes/No in Word$ if VL% - Only "Yes" if YesOnly% DECLARE SUB YesNoSet (YesOnly%, Word$, VL%, VC%) ' Trim Nulls and Spaces from right DECLARE FUNCTION BlankTrim$ (Word$) ' Returns 1 if exists or 0 and EFlag% & VErr$ = problem DECLARE FUNCTION CheckExist% (ChkPath$, ChkFile$, NoErr%) ' Returns 1 if Exists - NoErr% supresses VErr$ & EFlag% ' If MakeIt% = 0 - Directory will not be created ' If MakeIt% > 1 - Directory will be created if not found ' If MakeIt% = 1 - User will be prompted to create ' Returns MakeIt%=27 if refused and MakeIt%=40 if okay ' If FixIt%, slant is added to ChkPath$ and FixIt% is incremented DECLARE FUNCTION CheckPath% (ChkPath$, FixIt%, MakeIt%, NoErr%) ' Reformat any inbound date to: ' 3 -> YYYYMMDD Long compressed sorting format ' 4 -> yyyyddd Long Julian Date ' 5 -> YYMMDD compressed sorting format ' 6 -> MMDDYY Compressed Format ' 7 -> DDMMMYY Day-Month-Year Format ' 8 -> MM/DD/YY Slash Format ' 9 -> DD Mmm YY Day-Month-Year Message Format DECLARE FUNCTION FormatDate$ (Dte$, Fmt%) ' Returns current DOS date if Dte$="" ' Prints Day$ & Dte$ if VL%>0 ' If Fmt%=1 ChkDay$ Ddd ' If Fmt%=2 ChkDay$ DDD ' If Fmt%=3 ChkDay$ Dddddd ' If Fmt%=4 ChkDay$ DDDDDD ' If Fmt%=5 Returns full ChkDay$ for DDD DECLARE FUNCTION GetDay$ (Dte$, ChkDay$, Fmt%, VL%, VC%) 'Return keyboard shift status ' bit 1 : right Shift [ 1] ' 2 : left Shift [ 2] ' 3 : Ctrl key [ 4] ' 4 : Alt key [ 8] ' 5 : Scroll Lock [ 16] ' 6 : Num Lock [ 32] ' 7 : Caps Lock [ 64] ' 8 : Insert State [128] ' 9 : always clear [256] DECLARE FUNCTION GetShift% () ' Highlights < > and Bright in [ ] DECLARE FUNCTION HighLight$ (VL%, VC%, Word$, Bright%, High%, Text%, Bgnd%) ' Replace all Find$ with Make$ DECLARE FUNCTION SwapChar$ (Word$, Find$, Make$) COMMON SHARED Mse%, MseAct%, MseKey%, SW%, SL%, Box%, Global$(), Mx$() COMMON SHARED LneMax%, MaxDim%, Snd%, Hue%, Pal%(), Kf%() COMMON SHARED C() AS INTEGER, B() AS INTEGER, Mode() AS INTEGER COMMON SHARED DeBug%, EFlag%, VErr$, Video$, Regs AS RegType '*********** EXECUTABLE CODE ************ CONST Alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" CONST Hex16 = "0123456789ABCDEF" CONST Numbr = "1234567890" CONST Mon12 = "___JanFebMarAprMayJunJulAugSepOctNovDec" CONST Bdr01 = "Ŀ Ĵ" CONST Bdr02 = "ͻ ͼ͹" IF SW% = 0 THEN SW% = 80: SL% = 25 Video$ = "EGA" VErr$ = "" REDIM Global$(SL%) REDIM Mx$(SL%) REDIM C(10) AS INTEGER, B(10) AS INTEGER, Mode(16) AS INTEGER REDIM Kf%(16) REDIM Pal%(16) END IF 'Load standard Color dimension C(0) = 7: B(0) = 0: 'System Base Display C(1) = 11: B(1) = 1: 'Menu Displays C(2) = 0: B(2) = 3: 'Prompts and Messages C(3) = 0: B(3) = 2: 'Blocks & Text Entry Zones C(4) = 7: B(4) = 5: 'Text Displays C(5) = 14: B(5) = 4: 'Error messages C(6) = 0: B(6) = 6: 'Screen foot key C(7) = 14: B(7) = 1: 'Highlight text C(8) = 5: B(8) = 6: 'Window Frame C(9) = 13: B(9) = 5: 'Window Text C(10) = 7: B(10) = 0: 'Default base (Fixed) 'Load standard Palette dimension and set attributes CALL ChngPal(1, Pal%(), 24, 1) IF VErr$ > "" THEN Video$ = "CGA" ELSE Video$ = "EGA" IF INSTR(COMMAND$, "QUIET") THEN Snd% = 0 ELSE Snd% = 2 '************ END BASE.BI ****************** --- FMail 0.96 * Origin: BIZynet - Worldwide Business via the E-Ways (1:15/55.1) --------------- FIDO MESSAGE AREA==> TOPIC: 125 QUICK BASIC Ref: F3300001 Date: 02/24/98 From: CHRIS GUNN Time: 06:37pm \/To: PAUL ROBINSON (Read 3 times) Subj: Re: input PR> i have totally rewritten my modem program but have another problem PR> i have it monitoring the line for input and jumping to a PR> line if input comes in PR> im using something PR> similar to... Howdy Paul, Rig the part where you are getting connected to monitor the response from the modem. You should get BUSY, NO ANSWER, and CONNECT nnnnn/??? type answers back from the modem. If you don't get CONNECT 14400/ARQ or CONNECT 26800/ARQ type responses, you've hooked up FAX style. Depending on your modem, you may see CONNECT FAX or CONNECT +F1. The dependable method is to check for a numeric value after "CONNECT": IF VAL(MID$(Connect$, 8)) THEN ' Check for valid speed ELSE ' You've got FAX or didn't connect END IF There are some other things like ensuring the modem is using X1 and V1. Chris --- FMail 0.96 * Origin: BIZynet - Worldwide Business via the E-Ways (1:15/55.1) --------------- FIDO MESSAGE AREA==> TOPIC: 125 QUICK BASIC Ref: F3300002 Date: 02/25/98 From: CHRIS GUNN Time: 03:30pm \/To: BUCKY CARR (Read 3 times) Subj: Re: ZModem - Just a checkup. BC> Then it is the jumble of code that makes it look so tough to me when I BC> scrounged through it, I guess. Howdy Bucky, The C+ code is poorly structured and organized even though the basic concepts are very sound. I personally feel the documentation is terrible but very few authors are good tech writers. BC> Zmodem with crash recovery has this built in, doesn't it? I would BC> think it would have to. The crash recovery is part of the initial handshaking where the two ends swap the file name, date/time, and size. If the receiving end finds the file exists and only the size does not match, it tells the sending end where to start again. If everything matches, the sending end is told it's already complete. If the date/time is different, it looks to see if the Overwrite parameter is set in the command line. If not, the file is also refused. Chris --- FMail 0.96 * Origin: BIZynet - Worldwide Business via the E-Ways (1:15/55.1) --------------- FIDO MESSAGE AREA==> TOPIC: 125 QUICK BASIC Ref: F3300003 Date: 02/25/98 From: CHRIS GUNN Time: 03:39pm \/To: BUCKY CARR (Read 3 times) Subj: Re: ZModem - Listen a minute! BC> I had heard the the Binkleyterm implementation of bidirectionality BC> with Zmodem does it at half-speeds. Is that what you'd do in QB, too? Howdy Bucky, Not from my experience. I've seen 110% efficiency both directions with a ood error correcting modem at 14.4. This might be a reference to someone using an early USRobotics modem when only one direction could run at 9600 and the other at 2400. The modems did get confused trying to decide which was the busiest direction to use the 9600 and efficiency dropped way down. Chris --- FMail 0.96 * Origin: BIZynet - Worldwide Business via the E-Ways (1:15/55.1) --------------- FIDO MESSAGE AREA==> TOPIC: 125 QUICK BASIC Ref: F3300004 Date: 02/25/98 From: CHRIS GUNN Time: 03:47pm \/To: BOB KERSTEN (Read 3 times) Subj: Re: unread messages in a JAM msgbase BK> How can I calculate the number of unread messages in a given JAM BK> msgbase? I can't figure it out, it leaves me stunned :-( Howdy Bob, I haven't gotten into the exact structure of the JAM message base. Normally Last Read message pointers are kept in the BBS program's User base data file. You have to pull those numbers out of the User Base and compare them with the Last Written pointer in the JAM base an echo at a time. Chris --- FMail 0.96 * Origin: BIZynet - Worldwide Business via the E-Ways (1:15/55.1) --------------- FIDO MESSAGE AREA==> TOPIC: 125 QUICK BASIC Ref: F3300005 Date: 02/25/98 From: BUCKY CARR Time: 10:50am \/To: THOMAS MATYSIK (Read 3 times) Subj: Sharing variables TM> How can I share variables between subs in different modules in my TM> program? Use the COMMON declaration. --- PPoint 2.00 * Origin: Vanishing Point (1:15/7.1)