Here you go:
Code:
Break ON
$=SetOption("Explicit","ON")
$=SetOption("WrapAtEOL","ON")

Dim $sQuoteTxt $sQuoteTxt=".\quote.txt"
Dim $sQuoteIni $sQuoteIni=".\quote.ini"
Dim $dTotalQuote
Dim $dTodaysQuote

If udfConvertQuoteFile($sQuoteTxt,$sQuoteIni) Exit @ERROR EndIf

$dTotalQuote=CDBL(ReadProfileString($sQuoteIni,"MAIN","TotalQuotes"))
$dTodaysQuote=($dTotalQuote+(366*Right(@YEAR,2))+@YDAYNO) mod $dTotalQuote

"Todays quote is #"+$dTodaysQuote+": "+@CRLF
udfDecode(ReadProfileString($sQuoteIni,"Q"+$dTodaysQuote,"Q"))
udfDecode(ReadProfileString($sQuoteIni,"Q"+$dTodaysQuote,"A"))

Function udfConvertQuoteFile($sFrom,$sTo) ; {{{
Dim $iCounter $iCounter=0
Dim $fh $fh=0
Dim $sLine $sLine=""
Dim $sQuote $sQuote=""
Dim $sAttrib $sAttrib=""

$udfConvertQuoteFile=0

If Exist($sTo) Exit $udfConvertQuoteFile EndIf

udfLog("Creating quote ini file...")
$fh=FreeFileHandle()
If @ERROR
$udfConvertQuoteFile=udfError("No free file handle available")
Else
If Open($fh,$sFrom)
$udfConvertQuoteFile=udfError("Cannot open original text file")
Else
$sLine=ReadLine($fh)
While @ERROR=0
If $sLine=""
If $sQuote<>""
If WriteProfileString($sTo,"MAIN","TotalQuotes",$iCounter+1)
$udfConvertQuoteFile=udfError("Cannot create new quote file")
Exit $udfConvertQuoteFile
EndIf
$=WriteProfileString($sTo,"Q"+$iCounter,"Q",$sQuote)
$=WriteProfileString($sTo,"Q"+$iCounter,"A",$sAttrib)
$iCounter=$iCounter+1
$sQuote=""
EndIf
$sAttrib=""
Else
$sQuote=$sQuote+$sAttrib
$sAttrib=udfEncode($sLIne+@CRLF)
EndIf
$sLine=ReadLine($fh)
Loop
EndIf
EndIf

If $iCounter=0 AND $udfConvertQuoteFile=0 $=Execute("Exit 2") $udfConvertQuoteFile=udfError("No messages in quote file") EndIf

Exit $udfConvertQuoteFile
EndFunction ; }}}

Function udfLog($s) ; {{{
@SCRIPTNAME+": "+$s+@CRLF
EndFunction ; }}}

Function udfError($s) ; {{{
$udfError=@ERROR
udfLog($s+" ["+@ERROR+"] "+@SERROR)
Exit $udfError
EndFunction ; }}}

Function udfDecode($s) ; {{{
While $s<>""
$udfDecode=$udfDecode+Chr(Execute("Exit &"+Left($s,2)))
$s=SubStr($s,3)
Loop
EndFunction ; }}}

Function udfEncode($s) ; {{{
While $s<>""
$udfEncode=$udfEncode+Right("00"+DecToHex(ASC($s)),2)
$s=SubStr($s,2)
Loop
EndFunction ; }}}
; vim:ai ts=4 sw=4 fdc=4 fdm=marker



This is how it works. Change $sQuoteTxt to point at your original file. Change $sQuoteIni to point to where you want the new, reformatted file to be written.

When the script runs it checks to see if $sQuoteIni exists. If it doesn't, it will create it from the $sQuoteTxt file.

The new file is in the INI style, and is lightly obfuscated so anyone looking at the file wont spoil the surprise of the quotes - you can remove the TXT file as once the INI file has been created the TXT file is no longer needed.

The selection of the quote is based on the date, everyone will get the same quote on the same date which IMO is the best way to do it. Eagle-eyed date mathematicos will spot a fault in the formula, however it is sufficiently good for your needs.

NB, once you have created the INI file there is no need to write to it again, so you can keep it on a read-only share.

I've only tested on your short sample, so give it a go with your full quote file and let us know how you get on.