Again for the attention of Hawsay
Further to an Organiser Application to Log Amateur Radio Contacts..
This reminds me of the 1980's when we didn't have access to a Comms Link to transfer files and procedures and we had to type them in at the keyboard.
This short program will create a file to hold your contacts, dates and times. Later we could add some file utilities to examine and print the file information but for now you can use xFiles examine the data.
There are 3 short routines used throughout the 'Logger'. We'll start with these.
You should navigate to the [Prog] menu and start a [New] program and call it AP then type in the code and then translate it.. [MODE][Tran][Save A]AP[EXE]
AT x%,y% :PRINT z$;
ditto for the User Defined Graphic
and the final short routine organises the top line display and clock
Now we come to the main Logger Program (HamLog) short form [Hlog] can be entered in the top level menu. Page 11 of the republished LZ programming manual explains how to do this. Again type in the program, Then [MODE][Tran]... You will probably make typing errors so it will pause and move the cursor to the 'error' correct it and retry [MODE][Tran] etc.. until [Save A]. operating instructions to follow but for now once running the only way to stop it is to select the menu item [Utils].
REM Open files Logical file (B) as (A) will be used elsewhere
IF NOT EXIST ("A:HamLog")
B.TXT$="" :B.CS$="" :B.Htz$="" :B.ST$="" :B.ET$="" :N%=COUNT+1
IF B.ST$="" :TM$="Bgn:00:00" :ELSE TM$="Bgn:"+B.ST$ :ENDIF
IF B.ET$<>"" :TM$="End:"+B.ET$ :ENDIF
AT 1,1 :M%=MENUN(1,"Off,Text,CSign,Htz,Begin,End,Log,Utils")
IF M%=1 :OFF :ENDIF
IF M%=2 :F$=B.TXT$ :GOTO NAME:: :ENDIF
IF M%=3 :F$=B.CS$ :GOTO CSign:: :ENDIF
IF M%=4 :F$=B.Htz$ :GOTO Htz:: :ENDIF
IF M%=5 :B.ST$=MID$(DATIM$,17,5) :B.ET$="" :ENDIF
IF m%=6 :B.ET$=MID$(DATIM$,17,5) :ENDIF
IF M%=7 :GOTO LOG:: :ENDIF
IF M%=8 :STOP : ENDIF REM Save for HLutils: :ENDIF
UNTIL M%>8 :REM careful loop forever only way out is HLutils
PRINT "Call Sign:";
PRINT "Frequency: "+CHR$(26);
IF B.ST$="" :B.ST$=MID$(DATIM$,17,5) :ENDIF
IF B.ET$="" :B.ET$=B.ST$ :ENDIF
IF N%<COUNT :N%=Count+1 :ENDIF
PRINT "Contact Logged "+MID$(DATIM$,17,5);
PRINT B.CS$+" "+LEFT$(B.Htz$,5);
AP:(1,4,"Continue press (EXE)")
When you have it 'working' post here and we'll continue. For now if you use it [Log] appends the data on the screen to a database file 'HamLog' you can look at it in xFiles.
Last edited by MartinReid
on Wed Jul 28, 2021 9:40 am, edited 1 time in total.