WriteLog
[Top] [All Lists]

[WriteLog] Ugly Solution To Auto-Populate Field Day Sections InWriteLog

To: writelog@contesting.com
Subject: [WriteLog] Ugly Solution To Auto-Populate Field Day Sections InWriteLog
From: Eric Hilding <dx35@hilding.com>
Date: Fri, 02 Jul 2004 21:08:58 -0700
List-post: <mailto:writelog@contesting.com>
Tnx in part to NCCC CQP Guru Al, AD6E (who helped me understand WL's
.adi stuff enough to be dangerous), I've managed to come up with a
non-elegant, rather "Ugly" solution (below) to create an .adi file from
a callsign/section .csv file list which will auto-populate the WL SEC
field upon callsign entry.  Too late for FD 2004, but it will accomplish
the objective for FD 2005 in a pain-in-the-butt way.

Predicted SEC accuracy is well over 90%, but any Section changes can be
easily corrected mid-QSO before final logging. It will, however, require
deleting a bunch of bogus 30m "QSOs" after the event is over.

Perhaps one of the programming gurus who lurk here can figure out a
better way.  The ideal, of course, would be for a WL enhancement to use
something similar to Trlog's TRMASTER.ASC which doesn't require all the
final doo-doo clean up.  This would be very clean & efficient.

You will need "Perl" to make this work (until I get around to maybe
using perl2exe to generate a standalone "runtime" version). FD "Class"
can easily be added as well, although the accuracy rate won't be as high
as with FD SEC.  The .csv file format needed is standard ASCII comma
delimited with callsign & section.  If you're an ARRL member, you can
download the last couple of years of FD results and import them into
Excel and then delete all the other columns.  Export as the following
example:

### SAMPLE .CSV FILE ###
K6VVA, SCV
W6GGF, SCV
AD6E, EB
...etc., etc.

Then, use FileMaker or another database and:

1. Import the individual FD results files AND any individual .csv
callsign/section file(s) created from your own past FD logs.

2. You *MUST* PURGE ANY/ALL DUPLICATE ENTRIES to get a "Virgin"
callsign/section file.

3. Export or Save it in the same format as above. (Callsign, Section)

4. Then, run the Perl Script. You will be asked for the Input filename. Enter the name of the file you previously made.

5. You will be asked for the Output filename. Enter the name of your new WL FD file and add: "_jou.adi" to the name.
(Example: myfd2005_jou.adi). I'd stick the file in the same folder/sub-directory as your WL file.


6. Open your WL file.

7. Click: File | Import and "Import" your (myfd2005_jou.adi or whatever name) file.

Sine SEQ #'s are not needed in FD, don't freak out when you seen umpteen
SEQ #'s and QSOs. Forget about easily reading an ongoing QSO count, except you
can see the numbers for legit FD bands in the Band Summary Window.  The
"Total", however, will NOT be accurate during FD.   Once FD is over and
you've deleted all the (temporary) 30m QSO entries which makes all this
work, you *should* be fine.  Umh, I really dislike the word *should* ;-(
This all does appear to work here, however...albeit "Rube Goldberg" style.

Enjoy!

73...

Rick, K6VVA

### THE PERL SCRIPT ###

#!/usr/bin/perl
#
# K6VVA - Field Day
# .adi workaround to
# auto-populate Sections
# fdpopsec.pl v1.0  7/2/04
#
use strict;
use warnings;
my $line;
my $totalrecs;
#my $increment;
my $filename;
my $outfile;
my $callsign;
my $section;
my $cslength;
my $seclength;
my $freq = "10.101";
my $band = "30m";
my $mode = "CW";
my $points = "0";
print "Enter File To Convert: ";
$filename = <STDIN>;
print "Enter Output File Name: ";
$outfile = <STDIN>;
open (INFILE, "$filename");
open (OUTFILE ,">>$outfile");
$totalrecs = 0;
#$increment = 1;
print OUTFILE "WriteLog\n";
print OUTFILE "<EOH>\n";
while ($line = <INFILE>) {
  chomp($line);
  $line =~ m/(.*),(.*)/;
  $callsign = $1;
  $section = $2;
  $cslength = length($callsign);
  $seclength = length($section);
  &write2outfile;
}
close (INFILE); #close input file
close (OUTFILE); # close output file
print "Net Records: $totalrecs\n";

### SUBROUTINE TO PRINT TO .adi File Format
sub write2outfile
  {
  print OUTFILE "<FREQ:6>$freq ";
  print OUTFILE "<BAND:3>$band ";
  print OUTFILE "<MODE:2>$mode\n";
  print OUTFILE "<CALL:$cslength>$1\n";
  print OUTFILE "<ARRL_SECT:$seclength>$2\n";
  print OUTFILE "<P:1>$points\n";
  print OUTFILE "<EOR>\n";
  $totalrecs++;
  }
# END



_______________________________________________
WriteLog mailing list
WriteLog@contesting.com
http://lists.contesting.com/mailman/listinfo/writelog
WriteLog on the web:  http://www.writelog.com/

<Prev in Thread] Current Thread [Next in Thread>
  • [WriteLog] Ugly Solution To Auto-Populate Field Day Sections InWriteLog, Eric Hilding <=