Re: Pds 7.1/Qb 4.5 Templa

 BBS: Inland Empire Archive
Date: 07-26-92 (02:11)             Number: 180
From: SUNNY HUGHES                 Refer#: NONE
  To: JEFFERY FOY                   Recvd: NO  
Subj: Re: Pds 7.1/Qb 4.5 Templa      Conf: (2) Quik_Bas
JF> Perhaps 'template' was the wrong word to use. I'd like to see a non-
JF> trivial program written in basic to get an idea of the general structure
JF> of a basic program. (i.e. so my programs won't look so sloppy)

If your using QB, you can get a decent enough idea of structuring by
going through the on-line help and there is a section under the contents
I believe, specifically for SYNTAX/STRUCTURING..Hope this helps a bit..

JF> Read stats from x-number of QWK files and display the data in a clear
JF> and concise manner. Since I have a lot of experience with QWK files, I
JF> figured it was a good starting point for learning basic. :)

I've been trying to figure out some sort of MSG structure for a Graphical
TERM/BBS programs I'm trying to write..I've been doing alot of work, but
with limited time comes limited results...I have bit of code here that
was posted in this echo a while back, that might help you out...
REM
REM  *** MAILPRNT V2.00 (C)1991 Sean Hawthorne ***
REM Syntax: Mailprnt *.msg (Wild cards not allowed)
REM
 ON ERROR GOTO errmsg:
openmail:
 TYPE headertype
      fromname  AS STRING * 20
      toname    AS STRING * 36
      subject   AS STRING * 72
      datetime  AS STRING * 10
      timesread AS INTEGER
      destnode  AS INTEGER
      orignode  AS INTEGER
      cost      AS INTEGER
      orignet   AS INTEGER
      destnet   AS INTEGER
      fill      AS STRING * 8
      replyto   AS INTEGER
      attribute AS INTEGER
      nextreply AS INTEGER
 END TYPE
 DIM header AS headertype
 DIM messagebyte AS STRING * 1
 filename$ = COMMAND$
 OPEN filename$ FOR BINARY AS #1
 lenght% = LOF(1) - 190
 IF lenght% <= 0 THEN GOTO killfile:
Getmail:
 GET #1, 1, header
Editsubject:
 xc = INSTR(header.subject, "Re:")
 IF xc = 0 THEN
  subject$ = header.subject
  GOTO printheader:
 END IF
 subject$ = MID$(header.subject, xc + 3, LEN(header.subject) - (xc + 3))
printheader:
 PRINT ""
 PRINT STRING$(78, "=")
 PRINT " Fm:"; header.fromname; TAB(40); : PRINT "Date/Time: " +
header.datetime
 PRINT " To:"; header.toname
 PRINT " Re:"; subject$
 PRINT STRING$(78, "=")
printmessage:
 messageline$ = ""
 FOR xd = 1 TO lenght%
  GET #1, , messagebyte
  IF messagebyte = CHR$(1) THEN GOSUB stripline:
  IF messagebyte > CHR$(127) THEN messagebyte = ""
  IF messagebyte < CHR$(32) AND messagebyte > CHR$(13) THEN messagebyte =
""
  IF messagebyte < CHR$(13) THEN messagebyte = ""
  IF messagebyte = CHR$(13) THEN GOSUB printline:
  messageline$ = messageline$ + messagebyte
  IF LEN(messageline$) >= 80 THEN GOSUB wordwrap:
  NEXT xd
Closemail:
 CLOSE #1
 PRINT ""
 PRINT STRING$(19, "="); " MAILPRNT V2.00 (C)1991 Sean Hawthorne ";
 PRINT STRING$(19, "=")
END
wordwrap:
 x = 80
 i = 0
 WHILE i = 0
  a$ = MID$(messageline$, x, 1)
  IF a$ = CHR$(32) THEN i = x
  x = x - 1
 WEND
 temp$ = messageline$
 messageline$ = MID$(temp$, 1, x)
 GOSUB printline:
 messageline$ = MID$(temp$, x + 2, LEN(temp$))
 RETURN
printline:
 PRINT messageline$
 xe = INSTR(messageline$, "* Origin:")
 IF xe <> 0 THEN GOTO Closemail:
 messageline$ = ""
 messagebyte = ""
 RETURN
stripline:
 WHILE messagebyte <> CHR$(13)
  GET #1, , messagebyte
 WEND
 messagebyte = ""
 RETURN
killfile:
 CLOSE #1
 KILL filename$
 PRINT
 PRINT " Mailprnt V2.00 (C)1991 Sean Hawthorne "
 END
errmsg:
 PRINT ""
 PRINT "Syntax: MAILPRNT *.msg (Sorry no wildcards)"
 PRINT ""
 PRINT "MAILPRNT V2.00 (C)1991 Sean Hawthorne"
 PRINT ""
END

Hope this helps you out, it has for me.....

Special thanks to Sean Hawthorne, and I hope he doesn't mind me
RE-posting this.......
    Sunny Hughes

--- Renegade v7-09 Beta
 * Origin: Later Days, Better Overlays! TELESiS 409-721-9414 (1:3811/118)
Outer Court
Echo Basic Postings

Books at Amazon:

Back to BASIC: The History, Corruption, and Future of the Language

Hackers: Heroes of the Computer Revolution (including Tiny BASIC)

Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution

The Advent of the Algorithm: The Idea that Rules the World

Moths in the Machine: The Power and Perils of Programming

Mastering Visual Basic .NET