home *** CD-ROM | disk | FTP | other *** search
Wrap
INI File | 1995-04-05 | 44.1 KB | 2,219 lines
[ver] 4 [sty] [files] [charset] 82 ANSI (Windows, IBM CP 1252) [revisions] 0 [prn] [port] COM1: [lang] 1 [fldnames] Field1 Field2 Field3 Field4 Field5 Field6 Field7 Field8 [desc] Retrieves field values from Commence for a letter template and displays the resulting letter. 797122911 72 706653616 680 9 0 0 0 0 0 [fopts] 0 1 0 0 [lnopts] 2 Body Text 1 [docopts] 5 2 [GramStyle] [tag] Body Text 2 [fnt] TimesNewRomanPS 240 0 49152 [algn] 1 1 0 0 0 [spc] 33 273 1 0 0 1 100 [brk] 4 [line] 8 0 1 0 1 1 1 10 10 1 [spec] 0 0 0 1 1 0 0 0 0 [nfmt] 280 1 2 . , $ Body Text 0 0 [tag] Body Single 3 [fnt] TimesNewRomanPS 240 0 49152 [algn] 1 1 0 0 0 [spc] 33 273 1 0 0 1 100 [brk] 4 [line] 8 0 1 0 1 1 1 10 10 1 [spec] 0 0 0 1 1 0 0 0 0 [nfmt] 280 1 2 . , $ Body Single 0 0 [tag] Bullet 4 [fnt] TimesNewRomanPS 240 0 49152 [algn] 1 1 0 288 288 [spc] 33 273 1 0 0 1 100 [brk] 4 [line] 8 0 1 0 1 1 1 10 10 1 [spec] 0 0 <*0> 360 1 1 0 0 0 0 [nfmt] 272 1 2 . , $ Bullet 0 0 [tag] Bullet 1 5 [fnt] TimesNewRomanPS 240 0 49152 [algn] 1 1 288 288 288 [spc] 33 273 1 0 0 1 100 [brk] 4 [line] 8 0 1 0 1 1 1 10 10 1 [spec] 0 0 <*5> 0 1 1 0 0 0 0 [nfmt] 280 1 2 . , $ Bullet 1 0 0 [tag] Number List 6 [fnt] TimesNewRomanPS 240 0 49152 [algn] 1 1 360 360 360 [spc] 33 273 1 0 0 1 100 [brk] 4 [line] 8 0 1 0 1 1 1 10 10 1 [spec] 0 0 <*:>. 360 1 1 0 0 0 0 [nfmt] 272 1 2 . , $ Number List 0 0 [tag] Subhead 7 [fnt] TimesNewRomanPS 240 0 49155 [algn] 1 1 0 0 0 [spc] 33 273 1 72 72 1 100 [brk] 4 [line] 8 0 1 0 1 1 1 10 10 1 [spec] 0 2 0 1 1 0 0 0 0 [nfmt] 272 1 2 . , $ Subhead 0 0 [tag] Title 8 [fnt] Arial MT 360 0 16385 [algn] 4 1 0 0 0 [spc] 33 446 1 144 72 1 100 [brk] 16 [line] 8 0 1 0 1 1 1 10 10 1 [spec] 0 1 0 1 1 0 0 0 0 [nfmt] 272 1 2 . , $ Title 0 0 [lay] Standard 513 [rght] 15840 12240 1 1440 1440 1 1440 1440 0 1 0 1 0 2 1 1440 10800 12 1 720 1 1440 1 2160 1 2880 1 3600 1 4320 1 5040 1 5760 1 6480 1 7200 1 7920 1 8640 [hrght] [lyfrm] 1 11200 0 0 12240 1440 0 1 3 1 0 0 0 0 0 0 0 0 1 [frmlay] 1440 12240 1 1440 72 1 792 1440 0 1 0 1 1 0 1 1440 10800 1 3 9360 [txt] > [frght] [lyfrm] 1 13248 0 14400 12240 15840 0 1 3 1 0 0 0 0 0 0 0 0 2 [frmlay] 15840 12240 1 1440 792 1 14472 1440 0 1 0 1 1 0 1 1440 10800 2 2 4680 3 9360 [txt] > [elay] [l1] 0 [pg] 9 53 0 58 0 0 1 0 65535 2 Standard 65535 0 0 0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0 106 0 73 0 0 0 0 65535 4 Standard 65535 0 0 0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0 161 0 83 0 0 1 0 65535 2 Standard 65535 0 0 0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0 216 0 31 0 0 1 0 65535 2 Standard 65535 0 0 0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0 270 0 49 32 0 1 0 65535 2 Standard 65535 0 0 0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0 320 0 21 0 0 0 0 65535 2 Standard 65535 0 0 0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0 379 0 27 0 0 1 0 65535 2 Standard 65535 0 0 0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0 439 0 32 0 0 0 0 65535 2 Standard 65535 0 0 0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0 441 0 40 1025 0 0 0 65535 65535 Standard 65535 0 0 0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0 [edoc] @Normal@<:#235,9360><:f200,QCourier,0,0,0><+!>Function JJMLett()<-!> @Normal@<:#235,9360><:f200,QCourier,0,0,0>'Copyright 1992-95 Jensen-Jones Inc. @Normal@<:#235,9360><:f200,QCourier,0,0,0>'Commence letter template expansion macro @Normal@<:#235,9360><:f200,QCourier,0,0,0>'Multiple letter version, creates letters and prints them @Normal@<:#235,9360><:f200,QCourier,0,0,0>'SingleStep(1) @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0>'Changes for Commence 1.00a @Normal@<:#235,9360><:f200,QCourier,0,0,0>' Type large text strings in block of 400 to circumvent Type limitation @Normal@<:#235,9360><:f200,QCourier,0,0,0>' Output all connected items if multiple items are connected @Normal@<:#470,9360><:f200,QCourier,0,0,0>' Get and use the actual name of the Name field rather than assuming it <:f><:f200,QCourier,0,0,0>is "Name"<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0>' Get rid of Tr subrountine so ~'s in field codes are OK @Normal@<:#235,9360><:f200,QCourier,0,0,0>'<:f> @Normal@<:#235,9360><-!><-"><+"><:f200,QCourier,0,0,0>' 1.1 changes <-!> @Normal@<:#235,9360><:f200,QCourier,0,0,0>' 2/17/93: @Normal@<:#235,9360><:f200,QCourier,0,0,0>' Add support for clarify fields @Normal@<:#235,9360><:f200,QCourier,0,0,0>' Add dq function to handle quotes in names @Normal@<:#235,9360><:f200,QCourier,0,0,0><+!>' Note: this version requires the DDE patch version of AmiPro 3.0,<-!> @Normal@<:#235,9360><+!><:f200,QCourier,0,0,0>' earlier <-!><:f><+!><:f200,QCourier,0,0,0>versions of AmiPro may UAE trying to send the longer DDE<-!> @Normal@<:#235,9360><+!><:f200,QCourier,0,0,0>' commands used <-!><:f><+!><:f200,QCourier,0,0,0>in this macro<-!><:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f><:f200,QCourier,0,0,0>' 2.0c changes 7/26/93 @Normal@<:#235,9360><:f200,QCourier,0,0,0>' fix to handle left brackets<:f> <:#284,9360> <:#284,9360>' 3.0 changes 4/3/95 <:#284,9360>' support 50 character item names <:#284,9360>' Commence 1.0a or later is required @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><+!><+"><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0>DEFSTR b, cr, Name, Category, Work, Req, Treq, TemplateFile @Normal@<:#235,9360><:f200,QCourier,0,0,0>DEFSTR Val, Value, Icount, s, nEnd, nStart, Iloop, p, Cname @Normal@<:#235,9360><:f200,QCourier,0,0,0>DEFSTR View, Tmp, Conn, Rest, Cat, Field @Normal@<:#235,9360><:f200,QCourier,0,0,0>DEFSTR Namefld, Cnamefld<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0>DEFSTR AppName, NoDDE NoLaunch @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0>' Init some strings, don't forget to translate dialog box caption below! @Normal@<:#235,9360><:f200,QCourier,0,0,0>AppName = "Commence" @Normal@<:#235,9360><:f200,QCourier,0,0,0>NoDDE = <:f><:f200,QCourier,0,0,0>"Could NOT Establish DDE with {AppName}; Exiting ..."<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0>NoLaunch<:f><:f200,QCourier,0,0,0> = "Could NOT launch <:f><:f200,QCourier,0,0,0>{AppName}; Exiting ..."<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0>'Use the letter file as storage for a clean copy of the template<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0>Save() @Normal@<:#235,9360><:f200,QCourier,0,0,0>Tpath = GetDocInfo$(2) @Normal@<:#235,9360><:f200,QCourier,0,0,0>Tfile = GetDocInfo$(1) @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0>TemplateFile = Strcat$(Tpath,"\",Tfile) @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0>'Now save a working copy <-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0>AnswerMsgBox(Yes) @Normal@<:#235,9360><:f200,QCourier,0,0,0>SaveAs("jjtemp1.sam",32,"JJ Temporary File","") @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0>cr = Chr$(13) <+">'a carriage return<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0>b = Chr$(91) <+">'a left bracket<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0>p = Chr$(124) <+">'the pipe character<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0>q = Chr$(34)<:f><+"><:f200,QCourier,0,0,0> 'the double quote character<-"><:f> @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0> @Normal@<:#235,9360><-"><+"><:f200,QCourier,0,0,0> @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0>'Start up a DDE link to Commence<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0>c1 = DDEInitiate("{AppName}", "GetData") @Normal@<:#235,9360><:f200,QCourier,0,0,0><++>if <-+>c1 <<=0 THEN @Modified Line@<:#235,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0><+">' DO Error Check<-"> @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0>OK = Exec("{AppName}.EXE", "", 1) ' <+">Open it<-"> @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> IF OK <;> 32 THEN @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> c1<:f><:f200,QCourier,0,0,0> = DDEInitiate("{AppName}", "GetData") @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> ' <+">Call Application<-"><+"> again<-"> @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> IF c1<:f><:f200,QCourier,0,0,0><<=0 THEN ' <+">Still not open, End macro<-"> @CMD Line@<:R1,5,1,720,1,1440,1,2160,1,2970,1,3690,><:#235,9360><:f200,QCourier,0,0,0> BEEP() @CMD Line@<:R><:#235,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0> HourGlass(0) @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> IgnoreKeyboard(0) @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> BEEP() @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> Message("{NoDDE}") @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> StatusBarMsg("") @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> HourGlass(0) @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> EXIT FUNCTION @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> ENDIF @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0>ELSE 'Could not lauch Commence @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0> HourGlass(0) @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> IgnoreKeyboard(0) @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> BEEP() @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> Message("{NoLaunch}<:f><:f200,QCourier,0,0,0>") @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> StatusBarMsg("") @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> HourGlass(0)<:f> @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> EXIT FUNCTION @CMD Line@<:#235,9360><:f200,QCourier,0,0,0> ENDIF @Modified Line@<:#235,9360><:f200,QCourier,0,0,0><++>Endif<-+> <+">' End of Error Check<-"><:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Modified Line@<:#235,9360><:f200,QCourier,0,0,0><+">'Find out what version of Commence is running<-"> @Modified Line@<:#235,9360><:f200,QCourier,0,0,0>c2 = DDEInitiate("{AppName}", "System<:f><:f200,QCourier,0,0,0>")<:f> @Modified Line@<:#235,9360><:f200,QCourier,0,0,0>version = DDEReceive$(c2, "Version")<:f> @Modified Line@<:#235,9360><:f200,QCourier,0,0,0>DDETerminate(c2) @Modified Line@<:#235,9360><:f200,QCourier,0,0,0> <-+>If Left$(version,9) = "Version 1" OR Left$(version, 9) = "Version 2" Then <:#284,9360> NameSize = 35 <:#284,9360>Else <:#284,9360> NameSize = 50 <:#284,9360>Endif <:#284,9360> <:#284,9360>' Use clarified item names to avoid problems with duplicate names <:#284,9360>Tmp = "{b}ClarifyItemNames(True)]" <:#284,9360>s = DDEReceive$(c1,Tmp) <:#284,9360> @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0>' Ask Commence what is currently highlighted<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0>nState = 1 @Normal@<:#235,9360><:f200,QCourier,0,0,0>Tmp = "{b}GetLetterViewInfo(|)]" @Normal@<:#235,9360><:f200,QCourier,0,0,0>s = DDEReceive$(c1, Tmp) @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0>' Parse the return string, which is of the form:<-"> @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0>' <<View Name<;><-"> @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0>' <<View Type<;><-"> @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0>' <<Category Name<;><-"> @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0>' <<Item Name<;><-"> @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0>' <<Field Name<;><-"><:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0><+">' Get the view name<-"><:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0>nStart = 1 @Normal@<:#235,9360><:f200,QCourier,0,0,0>nEnd = InStr(nStart, s, p) @Normal@<:#235,9360><:f200,QCourier,0,0,0>View = Call Trim(Mid$(s, nStart, nEnd - nStart)) @Normal@<:#235,9360><:f200,QCourier,0,0,0><+">' Skip over the view type, we don't care what it is<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0>nStart = nEnd + 1 @Normal@<:#235,9360><:f200,QCourier,0,0,0>nEnd = InStr(nStart, s, p) @Normal@<:#235,9360><:f200,QCourier,0,0,0><+">'Get the active category<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0>nStart = nEnd + 1 @Normal@<:#235,9360><:f200,QCourier,0,0,0>nEnd = InStr(nStart, s, p) @Normal@<:#235,9360><:f200,QCourier,0,0,0>Category = Mid$(s, nStart, nEnd - nStart) @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0><+">'Get the name field for this category<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0>Tmp = "{b}GetFieldNames({q}{Category}{q},|)]" @Normal@<:#235,9360><:f200,QCourier,0,0,0>s = DDEReceive$(c1, Tmp) @Normal@<:#235,9360><:f200,QCourier,0,0,0>nStart = 1 @Normal@<:#235,9360><:f200,QCourier,0,0,0>nEnd = InStr(nStart, s, p) @Normal@<:#235,9360><:f200,QCourier,0,0,0>Namefld = Mid$(s, nStart, nEnd - nStart)<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0><+">'Now find out how many items are in the view<-"> @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0>'Start up a VewData DDE link to Commence<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0>c2 = DDEInitiate("{AppName}<:f><:f200,QCourier,0,0,0>", "ViewData") @Normal@<:#235,9360><:f200,QCourier,0,0,0>Req = <:f><:f200,QCourier,0,0,0>"{b}ViewCategory({q}{<:f><:f200,QCourier,0,0,0>Category}{q}<:f><:f200,QCourier,0,0,0>)]" @Normal@<:#235,9360><:f200,QCourier,0,0,0>Tmp = DDEReceive$(c2, R<:f><:f200,QCourier,0,0,0>eq) @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0>Req = <:f><:f200,QCourier,0,0,0>"{b}ViewView({q}{<:f><:f200,QCourier,0,0,0>View}{q})]" @Normal@<:#235,9360><:f200,QCourier,0,0,0>Tmp = DDEReceive$(c2, R<:f><:f200,QCourier,0,0,0>eq) @Normal@<:#235,9360><:f200,QCourier,0,0,0>ItemCount = DDEReceive$(c2, "{b}ViewItemCount]") @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Modified Line@<:#235,9360><-+><:f200,QCourier,0,0,0>Tmp = "{b}ClarifyItemNames(True)]" @Modified Line@<:#235,9360><:f200,QCourier,0,0,0>s = DDEReceive$(c2,Tmp) @Normal@<:#235,9360><-+><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0><+">'Start main loop<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0>FOR IC= 1 To ItemCount @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0>IF IC <<<;> 1 THEN <:#235,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0><+">'Read in a fresh copy of the template <-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> FileOpen(TemplateFile,129,"") @Normal@<:#235,9360><:f200,QCourier,0,0,0> 'Now save a working copy @Normal@<:#235,9360><:f200,QCourier,0,0,0> AnswerMsgBox(Yes) @Normal@<:#235,9360><:f200,QCourier,0,0,0> SaveAs("jjtemp1.sam",32,"JJ Temporary File","") @Normal@<:#235,9360><:f200,QCourier,0,0,0>ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0>'Start looking for Field Codes to retrieve<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0>first = 0 @Normal@<:#235,9360><:f200,QCourier,0,0,0><+!>Search:<-!> @Normal@<:#235,9360><:f200,QCourier,0,0,0>IF first = 0 THEN <+">'First time, start at beginning of file<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> IR = Replace (0,0,8193,"(%","") @Normal@<:#235,9360><:f200,QCourier,0,0,0> first = 1 @Normal@<:#235,9360><:f200,QCourier,0,0,0>ELSE <+">'Otherwise, search from the current position<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> IR = Replace (0,0,1,"(%","") @Normal@<:#235,9360><:f200,QCourier,0,0,0>ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0>IF IR <<<;> 1 THEN @Normal@<:#235,9360><:f200,QCourier,0,0,0> Goto LetterEnd <:f><:f200,QCourier,0,0,0><+">'No match, no remaining codes, finished substituting<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0>ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0><+">'Now start to look for the end of the Field Code<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0><+!>Look:<-!> @Normal@<:#235,9360><:f200,QCourier,0,0,0>t1 = CurChar$() @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0>IF t1 = "%" THEN @Normal@<:#235,9360><:f200,QCourier,0,0,0> TYPE("<[>SHIFTRIGHT]") @Normal@<:#235,9360><:f200,QCourier,0,0,0> IF AtEOF() THEN @Normal@<:#235,9360><:f200,QCourier,0,0,0> TYPE("<[>RIGHT]") @Normal@<:#235,9360><:f200,QCourier,0,0,0> GoTo LetterEnd<:f><:f200,QCourier,0,0,0> <+">'reached the end, no match, no more codes<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0> IF CurChar$() = ")" THEN <+">'We have found the end<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> TYPE("<[>SHIFTRIGHT]") @Normal@<:#235,9360><:f200,QCourier,0,0,0> GoTo Found @Normal@<:#235,9360><:f200,QCourier,0,0,0> ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0>ELSEIF t1 = "" THEN <+">'We have hit the end of a line, reset <-"><+">search<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> TYPE("<[>RIGHT]") @Normal@<:#235,9360><:f200,QCourier,0,0,0> IF AtEOF() THEN @Normal@<:#235,9360><:f200,QCourier,0,0,0> TYPE("<[>RIGHT]") @Normal@<:#235,9360><:f200,QCourier,0,0,0> GoTo LetterEnd<:f><:f200,QCourier,0,0,0> <+">'reached the end,<-"><+">no more<-"> <+">codes<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0> Goto Search @Normal@<:#235,9360><:f200,QCourier,0,0,0>ELSE @Normal@<:#235,9360><:f200,QCourier,0,0,0> TYPE("<[>SHIFTRIGHT]") @Normal@<:#235,9360><:f200,QCourier,0,0,0> IF AtEOF() THEN @Normal@<:#235,9360><:f200,QCourier,0,0,0> TYPE("<[>RIGHT]") @Normal@<:#235,9360><:f200,QCourier,0,0,0> GoTo LetterEnd<:f><:f200,QCourier,0,0,0> <+">'reached the end, <-"><+">no more codes<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0>ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0>Goto Look @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0><+!>Found:<-!> @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0>'Now we have a Field Code, so save it in a variable<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0>FC = CurShade$() @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0>'Strip off the (% and %) <-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0>K = Len(FC) @Normal@<:#235,9360><:f200,QCourier,0,0,0>Work = MID$(FC, 3, K - 4) @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0>'Check to see if this is an indirect field: it is if it has <-"><+">a %%<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0>I = Instr(0, Work, "%%") @Normal@<:#235,9360><:f200,QCourier,0,0,0>IF I = 0 THEN <+">'We have a direct field <-"> @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0> <-">Req = <:f><:f200,QCourier,0,0,0>"{b}ViewField({<:f><:f200,QCourier,0,0,0>IC}<:f><:f200,QCourier,0,0,0>,{q}{<:f><:f200,QCourier,0,0,0>Work}{q}<:f><:f200,QCourier,0,0,0>)]"<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0>Val = DDEReceive$(c2, R<:f><:f200,QCourier,0,0,0>eq) @Normal@<:#235,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0>IF Work = Namefld THEN @Normal@<:#235,9360><:f200,QCourier,0,0,0> <:f><++><:f200,QCourier,0,0,0>If <-+><:f><:f200,QCourier,0,0,0><++>L<-+>en<++>(<-+>Val) <;> NameSize<++> THEn<-+> @Normal@<:#235,9360><:f200,QCourier,0,0,0> <++> <-+><:f><:f200,QCourier,0,0,0>Tmp<:f><:f200,QCourier,0,0,0> = Call Trim(Mid$(Val<:f><:f200,QCourier,0,0,0>,1,NameSize)) @Normal@<:#235,9360><:f200,QCourier,0,0,0> <++> Else<-+> @Normal@<:#235,9360><:f200,QCourier,0,0,0> Tmp = Val<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> <++> <-+><:f><:f200,QCourier,0,0,0>ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0> dqPlainName = Call dq(Tmp)<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0><++> <-+><:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> <:f><+"><:f200,QCourier,0,0,0>'Call Commence to get the reversed version<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> Req =<:f><:f200,QCourier,0,0,0>"{b}GetReverseName({q}<:f><:f200,QCourier,0,0,0>{dqPlainName<:f><:f200,QCourier,0,0,0>}{q})]"<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0>Value = DDEReceive$(c1, R<:f><:f200,QCourier,0,0,0>eq) @Normal@<:#235,9360><:f200,QCourier,0,0,0> ELSE @Normal@<:#235,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0>Value = Call Tr1(Val) 'Get rid of newlines<:f><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0> ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0> IF Value <<<;> "" THEN @Normal@<:#235,9360><:f200,QCourier,0,0,0> <+">'Put in the value if we found one<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> Call Btype(Value) <+">'Add in the value<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> ELSE <+">'Remove the code<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> TYPE("<[>Del]") @Normal@<:#235,9360><:f200,QCourier,0,0,0> '<+">Check to see if we made a blank line<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> <++>If<-+> CurChar$() = "" <++>Then<-+> @Normal@<:#235,9360><:f200,QCourier,0,0,0> Type("<[>Left]") @Normal@<:#235,9360><:f200,QCourier,0,0,0> <++>If<-+> CurChar$() = "" <++>Then<-+> @Normal@<:#235,9360><:f200,QCourier,0,0,0> Type("<[>DEL]") @Normal@<:#235,9360><:f200,QCourier,0,0,0> ELSE @Normal@<:#235,9360><:f200,QCourier,0,0,0> Type("<[>Right]") @Normal@<:#235,9360><:f200,QCourier,0,0,0> ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0> ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0> ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0>ELSE @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0>'This is an indirect field, parse it to get the values we neeed<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0> Conn = Left$(Work, I - 1) @Normal@<:#235,9360><:f200,QCourier,0,0,0> Rest = Mid$(Work, I + 2, Len(Work) - I - 1) @Normal@<:#235,9360><:f200,QCourier,0,0,0> I = Instr(0,Rest, "%%") @Normal@<:#235,9360><:f200,QCourier,0,0,0> Cat = Left$(Rest, I - 1) @Normal@<:#235,9360><:f200,QCourier,0,0,0> Field = Mid$(Rest, I + 2, Len(Rest) - I - 1) @Normal@<:#235,9360><:f200,QCourier,0,0,0> <+">'Get the connection count<-"><:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> Req = <:f><:f200,QCourier,0,0,0>"{b}ViewConnectedCount({<:f><:f200,QCourier,0,0,0>IC}<:f><:f200,QCourier,0,0,0>,{q}{<:f><:f200,QCourier,0,0,0>Conn}{q}<:f><:f200,QCourier,0,0,0>,{q}{<:f><:f200,QCourier,0,0,0>Cat}{q}<:f><:f200,QCourier,0,0,0> )]"<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0>Icount = DDEReceive$(c2, R<:f><:f200,QCourier,0,0,0>eq) @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0> <+">'Must check for the case of 0 items!<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> IF Icount = "" or Icount = 0 THEN @Normal@<:#235,9360><:f200,QCourier,0,0,0> Value = "" @Normal@<:#235,9360><:f200,QCourier,0,0,0> Goto Insert2 @Normal@<:#235,9360><:f200,QCourier,0,0,0> ENDIF<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#249,9360><+"><:f240,QCourier,0,0,0> <:f200,QCourier,0,0,0>'Get the name field for this category<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> Tmp = "{b}GetFieldNames({q}{Cat}{q},|)]" @Normal@<:#235,9360><:f200,QCourier,0,0,0> s = DDEReceive$(c1, Tmp) @Normal@<:#235,9360><:f200,QCourier,0,0,0> nStart = 1 @Normal@<:#235,9360><:f200,QCourier,0,0,0> nEnd = InStr(nStart, s, p) @Normal@<:#235,9360><:f200,QCourier,0,0,0> Cnamefld = Mid$(s, nStart, nEnd - nStart)<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0> <+">'Loop through the connected items<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0> <++>For<-+> Iloop = 1 to Icount @Normal@<:#470,9360><:f200,QCourier,0,0,0> Req<:f><:f200,QCourier,0,0,0>= <:f><:f200,QCourier,0,0,0>"{b}ViewConnectedItem({<:f><:f200,QCourier,0,0,0>IC},{q}{<:f><:f200,QCourier,0,0,0>Conn}{q}<:f><:f200,QCourier,0,0,0>,{q}{<:f><:f200,QCourier,0,0,0>Cat}{q}<:f><:f200,QCourier,0,0,0> ,{Iloop})]" @Normal@<:#235,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0> Cname <:f><:f200,QCourier,0,0,0>= DDEReceive$(c2, R<:f><:f200,QCourier,0,0,0>eq) @Normal@<:#235,9360><:f200,QCourier,0,0,0> <++> If<-+> Len(CName) <;> NameSize <++>Then<-+> @Normal@<:#235,9360><:f200,QCourier,0,0,0> Tmp<:f><:f200,QCourier,0,0,0> = Call Trim(Mid$(CName,1,NameSize))<:f> @Normal@<:#235,9360> <:f200,QCourier,0,0,0><++> Else<-+><:f> @Normal@<:#284,9360> <:f200,QCourier,0,0,0> Tmp<:f><:f200,QCourier,0,0,0> = Cname<:f> @Normal@<:#235,9360> <:f200,QCourier,0,0,0><++> EndIf<-+> @Normal@<:#235,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0> dqPlainCName = Call dq(Tmp<:f><:f200,QCourier,0,0,0>)<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> dqCName = Call dq(CName)<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#470,9360><:f200,QCourier,0,0,0> <+"> 'Check to see if we are looking for the name, if so we already have it<-"> @Normal@<:#470,9360><:f200,QCourier,0,0,0> IF Field = Cn<:f><:f200,QCourier,0,0,0>amefld THEN <+">'Get the reversed version from Commence<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> Req =<:f><:f200,QCourier,0,0,0>"{b}GetReverseName({q}{<:f><:f200,QCourier,0,0,0>dqPlainCname}{q}<:f><:f200,QCourier,0,0,0>)]"<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0>Vala = DDEReceive$(c1, R<:f><:f200,QCourier,0,0,0>eq) @Normal@<:#235,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0>ELSE @Normal@<:#470,9360><:f200,QCourier,0,0,0> Req=<:f><:f200,QCourier,0,0,0>"{b}GetField({q}{<:f><:f200,QCourier,0,0,0>Cat}{q}<:f><:f200,QCourier,0,0,0>,{q}{<:f><:f200,QCourier,0,0,0>dqCname}{q}<:f><:f200,QCourier,0,0,0>,{q}{<:f><:f200,QCourier,0,0,0>Field}{q}<:f><:f200,QCourier,0,0,0> )]"<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0>Val = DDEReceive$(c1, R<:f><:f200,QCourier,0,0,0>eq) @Normal@<:#235,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0> Vala = Call Tr1(Val) <+">'Get rid of new lines<-"><:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0> <:f200,QCourier,0,0,0> <++>If <-+>Iloop = 1 <++>Then<-+> @Normal@<:#235,9360><:f200,QCourier,0,0,0> Value = Vala @Normal@<:#235,9360><:f200,QCourier,0,0,0> <++>Else<-+> <+">'Add on the other connections<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> Value = strcat$(Value, cr, Vala) @Normal@<:#235,9360><:f200,QCourier,0,0,0> <++>EndIf<:f><-+> @Normal@<:#284,9360><++> <:f200,QCourier,0,0,0>Next<-+><:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0><+!>Insert2:<-!><:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0> IF Value <<<;> "" THEN <+">'Put in the value if we found<-"><+"> one<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> Call Btype(Value) <+">'Add in the value<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> ELSE @Normal@<:#235,9360><:f200,QCourier,0,0,0> <+">'Move the insertion point and leave the field code<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> TYPE("<[>Del]") @Normal@<:#235,9360><:f200,QCourier,0,0,0> <+">'Check to see if we made a blank line<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> <++>If<-+> CurChar$() = "" <++>Then<-+> @Normal@<:#235,9360><:f200,QCourier,0,0,0> Type("<[>Left]") @Normal@<:#235,9360><:f200,QCourier,0,0,0> If CurChar$() = "" <++>Then<-+> @Normal@<:#235,9360><:f200,QCourier,0,0,0> Type("<[>DEL]") @Normal@<:#235,9360><:f200,QCourier,0,0,0> ELSE @Normal@<:#235,9360><:f200,QCourier,0,0,0> Type("<[>Right]") @Normal@<:#235,9360><:f200,QCourier,0,0,0> ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0> ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0> ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0>ENDIF @Normal@<:#235,9360><+"><:f200,QCourier,0,0,0>'Go back and look for more Field Codes<-"> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0>Goto Search @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0><+!>LetterEnd:<-!> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0><+">'SingleStep(1)<:f><-"> @Normal@<:#202,9360><+"><:f200,QCourier,0,0,0>'Print the file<-"> @Normal@<:#202,9360><:f200,QCourier,0,0,0>Save() @Normal@<:#202,9360><:f200,QCourier,0,0,0>FilePrint(1,1,1,1537) @Normal@<:#202,9360><:f200,QCourier,0,0,0> @Normal@<:#202,9360><:f200,QCourier,0,0,0><+">'Go back and do the next letter<-"> @Normal@<:#202,9360><:f200,QCourier,0,0,0>NEXT @Normal@<:#202,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0>Goto Normalx @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#202,9360><:f200,QCourier,0,0,0><+!>ErrorLabel:<-!> @Normal@<:#202,9360><:f200,QCourier,0,0,0>Maximize() @Normal@<:#202,9360><:f200,QCourier,0,0,0>message ("There has been a macro error") @Normal@<:#202,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0><+!>Normalx:<-!> @Modified Line@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0>ActivateApp("{AppName}<:f><:f200,QCourier,0,0,0>") @Normal@<:#202,9360><:f200,QCourier,0,0,0> @Normal@<:#202,9360><:f200,QCourier,0,0,0>DDETerminate(c1) @Normal@<:#202,9360><:f200,QCourier,0,0,0>DDETerminate(c2) @Normal@<:#235,9360><-"><:f200,QCourier,0,0,0>rmac = GetRunningMacroFile$() <:f> @Normal@<:#202,9360><:f200,QCourier,0,0,0>RunLater("{rmac}!Closeit()", 0.2) @Normal@<:#202,9360><:f200,QCourier,0,0,0><+!>End Function<-!> @Normal@<:#202,9360><:f200,QCourier,0,0,0> @Normal@<:#202,9360><:f200,QCourier,0,0,0><+!>Function Tr1(OS)<-!> @Normal@<:#202,9360><:f200,QCourier,0,0,0><+">' Translates NL<:f><:f200,QCourier,0,0,0> to ""<:f><:f200,QCourier,0,0,0> in a string since Ami treats CR/NL as two lines<-"> @Normal@<:#202,9360><:f200,QCourier,0,0,0><+">'New<:f><:f200,QCourier,0,0,0> algorithm to speed this up 2/12/92<-"> @Normal@<:#202,9360><:f200,QCourier,0,0,0>n <:f><:f200,QCourier,0,0,0>= Chr$(10<:f><:f200,QCourier,0,0,0>) @Normal@<:#202,9360><:f200,QCourier,0,0,0>Newstring = "" @Normal@<:#235,9360><:f200,QCourier,0,0,0>J = 1 @Normal@<:#235,9360><:f200,QCourier,0,0,0><+!>NextLook:<-!> @Normal@<:#235,9360><:f200,QCourier,0,0,0>K = InStr(J,OS,n)<:f> @Normal@<:#202,9360><:f200,QCourier,0,0,0><++>If<-+> K <<<;> 0 <++>Then<-+><:f> @Normal@<:#202,9360><:f200,QCourier,0,0,0> Newstring = strcat$(Newstring,Mid$(OS,J,K - J<:f><:f200,QCourier,0,0,0>)) @Normal@<:#202,9360><:f200,QCourier,0,0,0> J = K + 1 @Normal@<:#202,9360><:f200,QCourier,0,0,0> Goto NextLook @Normal@<:#235,9360><:f200,QCourier,0,0,0><++>Else<-+><:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> IF J = 1 THEN @Normal@<:#288,9360><:f200,QCourier,0,0,0> <:f><:f200,QCourier,0,0,0> Newstring = strcat$(Newstring,Mid$(OS,J, Len(OS)<:f><:f200,QCourier,0,0,0>)<:f>) @Normal@<:#240,9360> <:f240,QCourier,0,0,0>ELSE<:f> @Normal@<:#288,9360> <:f200,QCourier,0,0,0>Newstring = strcat$(Newstring,Mid$(OS,J, Len(OS) - J + 1<:f><:f200,QCourier,0,0,0>)<:f>) @Normal@<:#202,9360> <:f200,QCourier,0,0,0>ENDIF<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0>ENDIF @Normal@<:#202,9360><:f200,QCourier,0,0,0>Tr1 = Newstring @Normal@<:#202,9360><:f200,QCourier,0,0,0><+!>End Function<-!><:f> @Normal@<:#288,9360> @Normal@<:#202,9360><:f200,QCourier,0,0,0><+!>Function dq(OS)<-!> @Normal@<:#202,9360><:f200,QCourier,0,0,0><+">' Translates "<:f><:f200,QCourier,0,0,0> to "" for transmission back to Commence<:f><:f200,QCourier,0,0,0> <-"><:f> @Normal@<:#202,9360><:f200,QCourier,0,0,0>q <:f><:f200,QCourier,0,0,0>= Chr$(34<:f><:f200,QCourier,0,0,0>) @Normal@<:#202,9360><:f200,QCourier,0,0,0>q2 ="{<:f><:f200,QCourier,0,0,0>q}{q}"<:f> @Normal@<:#202,9360><:f200,QCourier,0,0,0>Newstring = "" @Normal@<:#202,9360><:f200,QCourier,0,0,0>J = Len(OS) @Normal@<:#202,9360><:f200,QCourier,0,0,0>FOR I = 1 TO J @Normal@<:#202,9360><:f200,QCourier,0,0,0> Schar = Mid$(OS, I, 1) @Normal@<:#235,9360><:f200,QCourier,0,0,0> IF Schar = q<:f><:f200,QCourier,0,0,0> THEN @Normal@<:#235,9360><:f200,QCourier,0,0,0> Schar = q2<:f> @Normal@<:#235,9360><:f200,QCourier,0,0,0> ENDIF @Normal@<:#202,9360><:f200,QCourier,0,0,0> Newstring = strcat$(Newstring, Schar) @Normal@<:#202,9360><:f200,QCourier,0,0,0>NEXT @Normal@<:#202,9360><:f200,QCourier,0,0,0>dq = Newstring @Normal@<:#235,9360><:f200,QCourier,0,0,0><+!>End Function<-!><:f> @Normal@<:#288,9360> @Normal@<:#202,9360><:f200,QCourier,0,0,0><+!>Function db(OS)<-!> @Normal@<:#202,9360><:f200,QCourier,0,0,0><+">' Translates <[><:f><:f200,QCourier,0,0,0> to <[><[> for insertion in document<-"><:f> @Normal@<:#240,9360><:f240,QCourier,0,0,0><+">' added for 2.0c<-"><:f> @Normal@<:#202,9360><:f200,QCourier,0,0,0>b <:f><:f200,QCourier,0,0,0>= Chr$(<:f><:f200,QCourier,0,0,0>91) @Normal@<:#202,9360><:f200,QCourier,0,0,0>b2 ="{<:f><:f200,QCourier,0,0,0>b}{b}"<:f> @Normal@<:#202,9360><:f200,QCourier,0,0,0>Newstring = "" @Normal@<:#235,9360><:f200,QCourier,0,0,0>J = Len(OS) @Normal@<:#202,9360><:f200,QCourier,0,0,0>FOR I = 1 TO J @Normal@<:#202,9360><:f200,QCourier,0,0,0> Schar = Mid$(OS, I, 1) @Normal@<:#202,9360><:f200,QCourier,0,0,0> IF Schar = b<:f><:f200,QCourier,0,0,0> THEN @Normal@<:#202,9360><:f200,QCourier,0,0,0> Schar = b2<:f> @Normal@<:#202,9360><:f200,QCourier,0,0,0> ENDIF @Normal@<:#235,9360><:f200,QCourier,0,0,0> Newstring = strcat$(Newstring, Schar) @Normal@<:#235,9360><:f200,QCourier,0,0,0>NEXT @Normal@<:#202,9360><:f200,QCourier,0,0,0>db = Newstring @Normal@<:#202,9360><:f200,QCourier,0,0,0><+!>End Function<-!><:f> @Normal@<:#202,9360><:f200,QCourier,0,0,0> @Normal@<:#288,9360> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#202,9360><:f200,QCourier,0,0,0><+!>Function Trim(s)<-!> @Normal@<:#202,9360><:f200,QCourier,0,0,0>'Removes trailing blanks @Normal@<:#202,9360><:f200,QCourier,0,0,0>i = Len(s) @Normal@<:#202,9360><:f200,QCourier,0,0,0>WHILE (i <;> 0) @Normal@<:#202,9360><:f200,QCourier,0,0,0> IF(Mid$(s, i, 1) <<<;> " ") THEN @Normal@<:#202,9360><:f200,QCourier,0,0,0> Goto loopend @Normal@<:#202,9360><:f200,QCourier,0,0,0> ENDIF @Normal@<:#202,9360><:f200,QCourier,0,0,0> i = i - 1 @Normal@<:#235,9360><:f200,QCourier,0,0,0>WEND @Normal@<:#235,9360><:f200,QCourier,0,0,0>loopend: @Normal@<:#235,9360><:f200,QCourier,0,0,0>IF i = 0 THEN @Normal@<:#202,9360><:f200,QCourier,0,0,0> Trim = "" @Normal@<:#202,9360><:f200,QCourier,0,0,0>ELSE @Normal@<:#202,9360><:f200,QCourier,0,0,0> Trim = Mid$(s, 1, i) @Normal@<:#202,9360><:f200,QCourier,0,0,0>ENDIF @Normal@<:#202,9360><:f200,QCourier,0,0,0><+!>End Function<-!> @Normal@<:#235,9360><:f200,QCourier,0,0,0> @Normal@<:#235,9360><:f200,QCourier,0,0,0><+!>Function Btype(Out)<-!> @Normal@<:#202,9360><+"><:f200,QCourier,0,0,0>'Outputs a string in chunks if nescessary<-"> @Normal@<:#202,9360><+"><:f200,QCourier,0,0,0>'SingleStep(1)<-"> @Normal@<:#202,9360><:f200,QCourier,0,0,0>Out = db(Out) @Normal@<:#202,9360><:f200,QCourier,0,0,0>IL = Len(Out) @Normal@<:#202,9360><:f200,QCourier,0,0,0>If IL << 400 <++>then<-+> @Normal@<:#235,9360><:f200,QCourier,0,0,0> TYPE(Out) @Normal@<:#202,9360><:f200,QCourier,0,0,0>ELSE @Normal@<:#202,9360><:f200,QCourier,0,0,0> FOR IC = 1 to IL @Normal@<:#202,9360><:f200,QCourier,0,0,0> STEP 400 @Normal@<:#202,9360><:f200,QCourier,0,0,0> Tmp = MID$(Out, IC, 400) @Normal@<:#202,9360><:f200,QCourier,0,0,0> TYPE(Tmp) @Normal@<:#202,9360><:f200,QCourier,0,0,0> NEXT @Normal@<:#202,9360><:f200,QCourier,0,0,0>ENDIF @Function Head@<:#202,9360><:f200,QCourier,0,0,0><+!>End Function<-!><:f> @Function Head@<:#288,9360> @Function Head@<:#240,9360><:f240,QCourier,0,0,0><+!>Function Closeit()<-!> @Function Head@<:#240,9360><:f240,QCourier,0,0,0> @Function Head@<:#240,9360><:f240,QCourier,0,0,0>FileClose() @Function Head@<:#240,9360><:f240,QCourier,0,0,0> @Function Head@<:#240,9360><:f240,QCourier,0,0,0><+!>End Function<-!><:f> > [Embedded] 00038466 > [macsum] 7 JJMLett 0 0 51 0 Tr1 4966 1 5 346 dq 5406 1 7 368 db 5695 1 7 384 Trim 5984 1 2 403 Btype 6233 1 4 420 Closeit 6495 0 1 436 [macse] 14 JJMLett 7 "Commence" 8 26 7 "Could NOT Establish DDE with {26}; Exiting ..." 8 27 7 "Could NOT launch {26}; Exiting ..." 8 28 2 103 1 0 279 2 13 8 29 0 279 1 13 8 30 0 16 "{29}" "\" "{30}" 13 8 8 0 291 6 2 104 1 "jjtemp1.sam" 32 "JJ Temporary File" "" 0 39 13 13 8 2 0 39 91 13 8 1 0 39 124 13 8 16 0 39 34 13 8 31 0 8 "{26}" "GetData" 13 8 32 6 32 5 0 18 4 11 00000690 0 22 "{26}.EXE" "" 1 13 8 33 6 33 5 32 18 3 11 00000623 0 8 "{26}" "GetData" 13 8 32 6 32 5 0 18 4 11 00000610 0 801 0 296 0 0 32 0 0 801 0 3 "{27}" 0 789 "" 0 296 0 6 0 15 9 10 00000690 0 296 0 0 32 0 0 801 0 3 "{28}" 0 789 "" 0 296 0 6 0 15 9 0 8 "{26}" "System" 13 8 34 0 10 "{34}" "Version" 13 8 35 0 9 "{34}" 0 806 "{35}" 9 13 7 "Version 1" 18 0 0 806 "{35}" 9 13 7 "Version 2" 18 0 1 2 11 00000891 5 35 8 36 10 00000903 5 50 8 36 7 "{1}ClarifyItemNames(True)]" 8 19 0 10 "{32}" "{19}" 13 8 12 5 1 8 37 7 "{1}GetLetterViewInfo(|)]" 8 19 0 10 "{32}" "{19}" 13 8 12 5 1 8 14 0 808 "{14}" "{12}" "{16}" 13 8 13 6 13 6 14 3 1 0 15 "{12}" "{14}" [X] 13 16 Trim [X] 13 8 18 6 13 5 1 3 0 8 14 0 808 "{14}" "{12}" "{16}" 13 8 13 6 13 5 1 3 0 8 14 0 808 "{14}" "{12}" "{16}" 13 8 13 6 13 6 14 3 1 0 15 "{12}" "{14}" [X] 13 8 4 7 "{1}GetFieldNames({31}{4}{31},|)]" 8 19 0 10 "{32}" "{19}" 13 8 12 5 1 8 14 0 808 "{14}" "{12}" "{16}" 13 8 13 6 13 6 14 3 1 0 15 "{12}" "{14}" [X] 13 8 24 0 8 "{26}" "ViewData" 13 8 34 7 "{1}ViewCategory({31}{4}{31})]" 8 6 0 10 "{34}" "{6}" 13 8 19 7 "{1}ViewView({31}{18}{31})]" 8 6 0 10 "{34}" "{6}" 13 8 19 0 10 "{34}" "{1}ViewItemCount]" 13 8 38 7 "{1}ClarifyItemNames(True)]" 8 19 0 10 "{34}" "{19}" 13 8 12 5 1 8 39 6 38 6 39 18 2 12 00001878 10 00004809 5 1 6 39 3 0 8 39 10 00001799 6 39 5 1 18 1 11 00001988 2 102 1 "{8}" 129 "" 0 291 6 2 104 1 "jjtemp1.sam" 32 "JJ Temporary File" "" 5 0 8 40 6 40 5 0 18 0 11 00002088 2 488 1 0 0 8193 "(" "" 13 8 41 5 1 8 40 10 00002120 2 488 1 0 0 1 "(" "" 13 8 41 6 41 5 1 18 1 11 00002163 10 00004767 0 282 13 8 42 6 42 7 "%" 18 0 11 00002352 0 6 "[4135]" 0 278 13 11 00002275 0 6 "[39]" 10 00004767 0 282 13 7 ")" 18 0 11 00002339 0 6 "[4135]" 10 00002546 10 00002533 6 42 7 "" 18 0 11 00002470 0 6 "[39]" 0 278 13 11 00002444 0 6 "[39]" 10 00004767 10 00001999 10 00002533 0 6 "[4135]" 0 278 13 11 00002533 0 6 "[39]" 10 00004767 10 00002163 0 24 13 8 43 0 14 "{43}" 13 8 44 6 44 5 4 3 1 0 15 "{43}" 3 [X] 13 8 5 0 808 0 "{5}" "%" 13 8 45 6 45 5 0 18 0 11 00003241 7 "{1}ViewField({39},{31}{5}{31})]" 8 6 0 10 "{34}" "{6}" 13 8 9 6 5 6 24 18 0 11 00003010 0 14 "{9}" 13 6 36 18 3 11 00002890 0 15 "{9}" 1 "{36}" 13 16 Trim [X] 13 8 19 10 00002901 6 9 8 19 16 dq "{19}" 13 8 46 7 "{1}GetReverseName({31}{46}{31})]" 8 6 0 10 "{32}" "{6}" 13 8 10 10 00003034 16 Tr1 "{9}" 13 8 10 6 10 7 "" 18 1 11 00003095 16 Btype "{10}" 10 00003228 0 6 "[46]" 0 282 13 7 "" 18 0 11 00003228 0 6 "[37]" 0 282 13 7 "" 18 0 11 00003216 0 6 "[46]" 10 00003228 0 6 "[39]" 10 00004754 6 45 5 1 3 1 0 806 "{5}" [X] 13 8 20 6 45 5 2 3 0 0 14 "{5}" 13 6 45 3 1 5 1 3 1 0 15 "{5}" [X] [X] 13 8 21 0 808 0 "{21}" "%" 13 8 45 6 45 5 1 3 1 0 806 "{21}" [X] 13 8 22 6 45 5 2 3 0 0 14 "{21}" 13 6 45 3 1 5 1 3 1 0 15 "{21}" [X] [X] 13 8 23 7 "{1}ViewConnectedCount({39},{31}{20}{31},{31}{22}{31})]" 8 6 0 10 "{34}" "{6}" 13 8 11 6 11 7 "" 18 0 6 11 5 0 18 0 1 2 11 00003698 7 "" 8 10 10 00004560 7 "{1}GetFieldNames({31}{22}{31},|)]" 8 19 0 10 "{32}" "{19}" 13 8 12 5 1 8 14 0 808 "{14}" "{12}" "{16}" 13 8 13 6 13 6 14 3 1 0 15 "{12}" "{14}" [X] 13 8 25 5 1 8 15 6 11 6 15 18 2 12 00003963 10 00004560 5 1 6 15 3 0 8 15 10 00003884 7 "{1}ViewConnectedItem({39},{31}{20}{31},{31}{22}{31},{15})]" 8 6 0 10 "{34}" "{6}" 13 8 17 0 14 "{17}" 13 6 36 18 3 11 00004165 0 15 "{17}" 1 "{36}" 13 16 Trim [X] 13 8 19 10 00004177 6 17 8 19 16 dq "{19}" 13 8 47 16 dq "{17}" 13 8 48 6 23 6 25 18 0 11 00004341 7 "{1}GetReverseName({31}{47}{31})]" 8 6 0 10 "{32}" "{6}" 13 8 49 10 00004456 7 "{1}GetField({31}{22}{31},{31}{48}{31},{31}{23}{31})]" 8 6 0 10 "{32}" "{6}" 13 8 9 16 Tr1 "{9}" 13 8 49 6 15 5 1 18 0 11 00004511 6 49 8 10 10 00004547 0 16 "{10}" "{2}" "{49}" 13 8 10 10 00003928 6 10 7 "" 18 1 11 00004621 16 Btype "{10}" 10 00004754 0 6 "[46]" 0 282 13 7 "" 18 0 11 00004754 0 6 "[37]" 0 282 13 7 "" 18 0 11 00004742 0 6 "[46]" 10 00004754 0 6 "[39]" 10 00001999 2 103 1 2 111 1 1 1 1 1537 10 00001843 10 00004872 26 274 -4048 0 3 "There has been a macro error" 0 38 "{26}" 0 9 "{32}" 0 9 "{34}" 0 802 13 8 50 0 285 "{50}!Closeit()" 0.2 6 0 15 9 14 Tr1 0 39 10 13 8 2 7 "" 8 3 5 1 8 4 0 808 "{4}" "{0}" "{2}" 13 8 5 6 5 5 0 18 1 11 00000222 6 5 6 4 3 1 0 15 "{0}" "{4}" [X] 13 0 16 "{3}" [X] 13 8 3 6 5 5 1 3 0 8 4 10 00000047 10 00000418 6 4 5 1 18 0 11 00000331 0 14 "{0}" 13 0 15 "{0}" "{4}" [X] 13 0 16 "{3}" [X] 13 8 3 10 00000418 0 14 "{0}" 13 6 4 3 1 5 1 3 0 0 15 "{0}" "{4}" [X] 13 0 16 "{3}" [X] 13 8 3 6 3 8 1 6 1 15 9 14 dq 0 39 34 13 8 2 7 "{2}{2}" 8 3 7 "" 8 4 0 14 "{0}" 13 8 5 5 1 8 6 6 5 6 6 18 2 12 00000159 10 00000267 5 1 6 6 3 0 8 6 10 00000084 0 15 "{0}" "{6}" 1 13 8 7 6 7 6 2 18 0 11 00000227 6 3 8 7 0 16 "{4}" "{7}" 13 8 4 10 00000126 6 4 8 1 6 1 15 9 14 db 0 39 91 13 8 2 7 "{2}{2}" 8 3 7 "" 8 4 0 14 "{0}" 13 8 5 5 1 8 6 6 5 6 6 18 2 12 00000159 10 00000267 5 1 6 6 3 0 8 6 10 00000084 0 15 "{0}" "{6}" 1 13 8 7 6 7 6 2 18 0 11 00000227 6 3 8 7 0 16 "{4}" "{7}" 13 8 4 10 00000126 6 4 8 1 6 1 15 9 14 Trim 0 14 "{0}" 13 8 2 6 2 5 0 18 3 11 00000155 0 15 "{0}" "{2}" 1 13 7 " " 18 1 11 00000122 10 00000155 6 2 5 1 3 1 8 2 10 00000030 6 2 5 0 18 0 11 00000208 7 "" 8 1 10 00000237 0 15 "{0}" 1 "{2}" 13 8 1 6 1 15 9 14 Btype 16 db "{0}" 13 8 0 0 14 "{0}" 13 8 2 6 2 5 400 18 5 11 00000108 0 6 "{0}" 10 00000250 5 1 8 3 6 2 6 3 18 2 12 00000195 10 00000250 5 400 6 3 3 0 8 3 10 00000118 0 15 "{0}" "{3}" 400 13 8 4 0 6 "{4}" 10 00000160 6 1 15 9 14 Closeit 2 147 1 6 0 15 9 00038491