GB> Does anyone have the record structures for the more popular BBS messag
GB> formats (Fido , JAM, Huson ). I can't seem to find them
GB> anywhere...
Here is some very old code of mine that can read the .MSG format. It
worked ok last I remember. Hope it helps. Eric
$lib all off
defint a-z
do
cls
print
input "Enter MSG # > ",m
if m=0 then close:end
msg$=ltrim$(str$(m))
msg$=msg$+".MSG"
open msg$ for input as #1:fs=lof(1):close #1
open msg$ as #1 len=fs
field #1,36 as fu$,36 as tu$,72 as sj$,20 as dt$,2 as tr$,2 as dnd$,_
2 as ond$,2 as cst$,2 as ont$,2 as dnt$,2 as f1$,2 as f2$,2 as f3$,2 as
f4$,_
2 as rt$,2 as atrb$,2 as nr$,(fs-190) as text$
get #1,1
subject$=rtrim$(sj$,chr$(0))
print lof(1),lof(1)-190,(lof(1)-190)/128
print "From : "fu$
print "To : "tu$
print "Subject : "subject$
print "Date/Time : "dt$
print "Times Read :"cvi(tr$)
print "Dest Node :"cvi(dnd$)
print "Orig Node :"cvi(ond$)
print "Cost :"cvi(cst$)
print "Orig Net :"cvi(ont$)
print "Dest Net :"cvi(dnt$)
print "Fill 1 :"cvi(f1$)
print "Fill 2 :"cvi(f2$)
print "Fill 3 :"cvi(f3$)
print "Fill 4 :"cvi(f4$)
print "Reply To :"cvi(rt$)
print "Attrib :"cvi(atrb$)
print "Next Reply :"cvi(nr$)
print
'161
a$=input$(1)
lncnt=0
cl=csrlin
for ln=1 to len(text$)
ch=asc(mid$(text$,ln,1))
select case ch
case 141,13
print
incr lncnt
if lncnt mod 23 = 0 then a$=input$(1)
case 10
'do nothing with lf
case else
print chr$(ch);
end select
next ln
print "Dest Net :"cvi(dnt$),"Dest Node :"cvi(dnd$)
print "Orig Net :"cvi(ont$),"Orig Node :"cvi(ond$)
close #1
a$=input$(1)
loop
' string128 = STRING[128];
'
' fidorec = RECORD
' FromUserName : ARRAY[1..36] OF CHAR;
' ToUsername : ARRAY[1..36] OF CHAR;
' subject : ARRAY[1..72] OF CHAR;
' DateTime : ARRAY[1..20] OF CHAR;
' TimesRead, DestNode, OrigNode, cost, OrigNet, DestNet : IN
TEGER;
' fill : ARRAY[1..4] OF INTEGER;
' ReplyTo : INTEGER;
' Attrib : WORD;
' NextReply : INTEGER;
' END;
--- QM v1.00
---------------
* Origin: Creekside Manor (805) 484-8016 CdCom Support BBS (1:206/2512.0)
|