[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

To Robert H re: Structured PMing



"If, by `structured programming' you mean nested IF ... EndIf
statements,
Xy4/XyWin has it. They just never announced it. How's that for
marketing prowess?"

Hi, Robert: Huh-uh. I'd picked up on that. Shoulda been there
from the gitgo, of course. I don't know how other languages
implement structure, but suspect that Pascal resembles C: Every C
program consists of one function named
   main () that contains instructions that call other
functions. You might have one function, e.g., for char input that
is called ad lib, from main () or from other functions. Every
function is typed explicitly by the kind of value--if any--it
returns to the calling function. A function can return one value
only, but can change a lot of values by manipulating pointers (to
the addresses where values are stored). The default type is int,
so the line above implies:
   int main ()
On exit, main () returns its value to dos; non-0 is an error. The
parens after every function name enclose argument parameters--if
any. main () processes command line args only:
   int main (argc, argv) where argc is the number or args and
argv is a pointer to a char pointer array. When a function is
done processing, control passes back to where the call was made,
eliminating any need for GOTOs. (Being unix born and bred, C is
case-sensitive.)

If the implications as regards xpl aren't clear, say so. I very
much look forward to getting into REORGaNIZe and RGZ3PLUS to see
how you and Carl impose order on the mess those GL ... LBs cause.


I can't thank Carl enough for his consideration in retrofitting
what you guys do for III+. I'm not trying to dissuade anyone from
using v4. I keep trying myself, but besides Speedo I hate the
perceptible sluggishness in my antique
386dx25 and a zillion trivialities like, e.g., in file compares
in vertical windows, a find pops one mismatch to midscreen,
necessitating scrolling then to realign the files. Too busy
trying to anticipate needs--like an ordinary word processor.
Every time I use 4 some new annoyance surfaces, too petty to yell
about (changes to cv command responses, e.g.) but adding up to
the critical mass I mentioned that sends me back to 3, often to
implement some cute v4 innovation like the cc/uc/lc cycler (as
soon as I saw it mentioned in the manual I wrote an 87-byte v3
macro that does the same). Why does v4 dup the last char of my
standing @s?

A tip of sorts to anyone like me who finds xpl files with
capitalized commands unreadable: I've always entered xpl code
from keys that have lc commands. I think of only function symbols
as caps; commands are strictly lc--xpl *especially* (except GL
and LB, usually, to set them off from lc identifiers). I read CI
*only* as "overstrike on"; to me, "change invisible" is only ci.
My v4 edp key reads (no tabs in the real thing, of course, or
newlines except the last):
   78=NI,GH,EL,SI,e,d,p, ,CI,XC,XP,BC, ,e,s, ,1,XC,
   BC,c,i, , ,{,i,s, ,{,i,s,XC,BC,c,i, , ,{,p,v, ,{,p,v,XC,
   BC,c,i, , ,{,s,v, ,{,s,v,XC,BC,c,i, , ,{,s,x, ,{,s,x,XC,
   BC,c,i, , ,{,s,u, ,{,s,u,XC,BC,c,i, , ,{,a,s, ,{,a,s,XC,
   BC,c,i, , ,{,i,f, ,{,i,f,XC,BC,c,i, , ,{,e,i, ,{,e,i,XC,
   BC,c,i, , ,{,e,r, ,{,e,r,XC,BC,c,i, , ,{,r,c, ,{,r,c,XC,
   BC,c,i, , ,{,v,a, ,{,v,a,XC,BC,c,i, , ,{,c,p, ,{,c,p,XC,
   BC,c,i, , ,{,e,x, ,{,e,x,XC,BC, ,e,s, ,0,XC,BC,c,c, ,GT
If my graphics card didn't haul out the heavy artillery when a DX
hits it I'd add a DX/DO pair. If a file name and the cursor are
on the command line, the file opens, else the file where the
cursor was last in a dir listing does.
(If no name is offered and no dir is listed the errors are
probably ugly.)
This ci series is noticably faster in v3 than 4.

I usually use that GH,EL,SI,[command],CI,XC sequence for commands
that take arguments. Usage: BC, type the string or transfer it
from text or any @, then hit the key that adds and executes the
command. E.g., my se, seb, ci, and cv keys (on unshifted function
keys 1-4, case-sensitive in the shifted position) also add a
delimiter at the beginning and end of the string and position the
cursor for easy addition or removal of an (absolute or back) a or
b:
   60=GH,ER,_,EL,SI,s,e,b,a, ,_,CI,CL,CL,XC

Whoops. There I go again. Byyye.  --annie

========================== annie fisher  nyc