User Tools

Site Tools


howto:raccontests

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
howto:raccontests [2020/11/25 21:15] va7fihowto:raccontests [2020/12/04 22:41] va7fi
Line 3: Line 3:
  
 <WRAP center round info 85%> <WRAP center round info 85%>
-I just updated the spreadsheet from Cabrillo V3.0 to [[https://www.rac.ca/wp-content/uploads/2020/11/RAC-Cabrillo-V3.2.pdf |Cabrillo V3.2]] so it should be ready for the RAC Winter Contest on Dec 18-19.  --- //[[va7fi@rbox.me|Patrick, VA7FI]] 2020/11/24 22:41//+I just updated the spreadsheet from Cabrillo V3.0 to [[https://www.rac.ca/wp-content/uploads/2020/11/RAC-Cabrillo-V3.2.pdf |Cabrillo V3.2]] so it should be ready for the RAC Winter Contest on Dec 18-19.   --- //[[va7fi@rbox.me|Patrick, VA7FI]] 2020/11/29 23:18//
 </WRAP> </WRAP>
  
Line 55: Line 55:
 END-OF-LOG: END-OF-LOG:
 </file> </file>
-The first 21 lines give RAC all the information they need about the operator.  The other lines show the contacts made, ending with an ''END-OF-LOG'' tag.  For more information about the Cabrillo format, see this {{https://www.rac.ca/wp-content/uploads/files/contests/files/RAC%20Cabrillo%20V3.0%20Revised%202010.pdf |RAC pdf}}, or the [[https://wwrof.org/cabrillo/ |WWROF website]].+The first 21 lines give RAC all the information they need about the operator.  The other lines show the contacts made, ending with an ''END-OF-LOG'' tag.  For more information about the Cabrillo format, see this {{https://www.rac.ca/wp-content/uploads/2020/11/RAC-Cabrillo-V3.2.pdf |RAC pdf}}, or the [[https://wwrof.org/cabrillo/ |WWROF website]].
 </hidden> </hidden>
 <pagebreak> <pagebreak>
Line 78: Line 78:
  
  
-Here is the link to {{ :howto:rac_contests_v20201125.ods |download it}}.  It is:+Here is the link to {{ :howto:rac_contests_v20201129.ods |download it}}.  It is:
 <WRAP indent> <WRAP indent>
 <WRAP round box 80%> <WRAP round box 80%>
Line 99: Line 99:
  
 sub cabrillo sub cabrillo
 +
 'Get directory path from spreadsheet location. This will be used to create  ./MyCallsign.log 'Get directory path from spreadsheet location. This will be used to create  ./MyCallsign.log
 Dim path as String Dim path as String
Line 107: Line 108:
    dim Doc as object    dim Doc as object
    Doc = ThisComponent    Doc = ThisComponent
-   Sheet1 = Doc.Sheets.getByName("Log") +   Sheet1 = Doc.Sheets.getByName("Preamble") 
-   Sheet2 = Doc.Sheets.getByName("Preamble")+   Sheet2 = Doc.Sheets.getByName("Log")
  
- +'General Notefor getCellByPosition(x,y)     (0,0) = A1,  (1,0) = B1,  (0,1) = A2,  ...
-'Note that for getCellByPosition(x,y)(0,0) = A1,  (1,0) = B1,  (0,1) = A2,  ...+
  
 'Create Cabrillo file named "MyCallsign.log" 'Create Cabrillo file named "MyCallsign.log"
-   MyCallsign = Sheet2.getCellByPosition(1, 2).String      'Operator's callsign+   MyCallsign = UCase(Sheet1.getCellByPosition(1, 2).String     'Operator's callsign 
 +   if MyCallsign = "" then                                        'File needs a filename 
 +      MyCallsign = "NoCallsign" 
 +   endif
    filename = path & MyCallsign & ".log"    filename = path & MyCallsign & ".log"
  
Line 122: Line 125:
  
 'Read "Preamble" sheet and create preamble of Cabrillo File 'Read "Preamble" sheet and create preamble of Cabrillo File
-   for i = 0 to 19         ' read first 20 rows as is. +   for i = 0 to         ' read first rows as is. 
-      print #num, Sheet2.getCellByPosition(0, i).String & " " & Sheet2.getCellByPosition(1, i).String+      print #num, Sheet1.getCellByPosition(0, i).String & " " & Sheet1.getCellByPosition(1, i).String
    next    next
 +
 +  ' Row 3 needs to be upper case.
 +   print #num, Sheet1.getCellByPosition(0, 2).String & " " & UCase(Sheet1.getCellByPosition(1, 2).String)
 +
 +   for i = 3 to 19         ' read the the rest up to row 20 as is.
 +      print #num, Sheet1.getCellByPosition(0, i).String & " " & Sheet1.getCellByPosition(1, i).String
 +   next
 +
    ' Row 21 needs "@" before the callsign    ' Row 21 needs "@" before the callsign
-   print #num, Sheet2.getCellByPosition(0, 20).String & " @" & Sheet2.getCellByPosition(1, 20).String+   print #num, Sheet1.getCellByPosition(0, 20).String & " @" & UCase(Sheet1.getCellByPosition(1, 20).String)
        
-   Soapbox = Sheet2.getCellByPosition(1, 21).String+   Soapbox = Sheet1.getCellByPosition(1, 21).String
    if Len(Soapbox) > 70 then    if Len(Soapbox) > 70 then
       truncated = "y"       truncated = "y"
Line 135: Line 146:
    endif    endif
        
-   print #num, Sheet2.getCellByPosition(0, 21).String & " " & Soapbox+   print #num, Sheet1.getCellByPosition(0, 21).String & " " & Soapbox
  
 'Formatting Example.  Comment out once finished 'Formatting Example.  Comment out once finished
Line 152: Line 163:
    MyCallsign = MyCallsign & space(14 - Len(MyCallsign))   'pad MyCallsign to make it 14 characters long.    MyCallsign = MyCallsign & space(14 - Len(MyCallsign))   'pad MyCallsign to make it 14 characters long.
  
-   MyProvince = Sheet2.getCellByPosition(1, 3).String      'my province   +   MyProvince = Sheet1.getCellByPosition(1, 3).String      'my province   
    MyProvince = MyProvince & space(7 - Len(MyProvince))    'pad MyProvince to 7 characters    MyProvince = MyProvince & space(7 - Len(MyProvince))    'pad MyProvince to 7 characters
    
-   ContestDate = Sheet2.getCellByPosition(1, 22).String    'contest date+   ContestDate = Sheet1.getCellByPosition(1, 22).String    'contest date
  
 'read "Log" Sheet starting at third row. 'read "Log" Sheet starting at third row.
Line 161: Line 172:
    UTC = "anything"                                        'initial non-empty condition for knowing when to stop loop    UTC = "anything"                                        'initial non-empty condition for knowing when to stop loop
    while UTC <> ""                                         'while the time emtry is not empty, process each row    while UTC <> ""                                         'while the time emtry is not empty, process each row
-      Freq = Sheet1.getCellByPosition(0, i).String         'frequency in column A (x = 0)+      Freq = Sheet2.getCellByPosition(0, i).String         'frequency in column A (x = 0)
       Freq = Format(Freq, "0"                            'round to the nearest integer       Freq = Format(Freq, "0"                            'round to the nearest integer
       Freq = space(6 - Len(Freq)) & Freq                   'pad frequency to 6 digits       Freq = space(6 - Len(Freq)) & Freq                   'pad frequency to 6 digits
  
-      UTC = Sheet1.getCellByPosition(1, i).String          'time in column B (x = 1). Also used to stop loop.+      UTC = Sheet2.getCellByPosition(1, i).String          'time in column B (x = 1). Also used to stop loop.
  
-      Callsign = Sheet1.getCellByPosition(2, i).String     'callsign in column C (x = 2)+      Callsign = Sheet2.getCellByPosition(2, i).String     'callsign in column C (x = 2)
       Callsign = Callsign & space(13 - Len(Callsign))      'pad Callsign to 13 characters       Callsign = Callsign & space(13 - Len(Callsign))      'pad Callsign to 13 characters
  
-      RST = Sheet1.getCellByPosition(3, i).String          'received Signal Report in column D (x = 3)+      RST = Sheet2.getCellByPosition(3, i).String          'received Signal Report in column D (x = 3)
       RST = space(3 - Len(RST)) & RST                      'pad RST to 3 digits       RST = space(3 - Len(RST)) & RST                      'pad RST to 3 digits
  
-      Exch = Sheet1.getCellByPosition(4, i).String         'received Exchange   in column E (x = 4)+      Exch = Sheet2.getCellByPosition(4, i).String         'received Exchange   in column E (x = 4)
  
-      RSTGiven = Sheet1.getCellByPosition(5, i).String     'received Signal Report in column D (x = 3)+      RSTGiven = Sheet2.getCellByPosition(5, i).String     'received Signal Report in column D (x = 3)
       RSTGiven = space(3 - Len(RSTGiven)) & RSTGiven       'pad RSTGiven to 3 digits       RSTGiven = space(3 - Len(RSTGiven)) & RSTGiven       'pad RSTGiven to 3 digits
  
-      Mode = Sheet1.getCellByPosition(6, i).String+      Mode = Sheet2.getCellByPosition(6, i).String
  
       'create line to print from "Log" sheet variables.  The output should be something like this:       'create line to print from "Log" sheet variables.  The output should be something like this:
Line 197: Line 208:
       logline = logline & Exch       logline = logline & Exch
  
-      print #num, logline                                 'print logline to text file+      print #num, Ucase(logline                                'print logline to text file
  
       i = i + 1                                           'Next row       i = i + 1                                           'Next row
-      UTC = Sheet1.getCellByPosition(1, i).String         'Look ahead to next time entry to see if it's empty or not.+      UTC = Sheet2.getCellByPosition(1, i).String         'Look ahead to next time entry to see if it's empty or not.
  
       MsgBox(MyCallsign)       MsgBox(MyCallsign)