THE WELCH COMPANY
440 Davis Court #1602
San Francisco, CA 94111-2496
415 781 5700


S U M M A R Y


DIARY: May 3, 1998 05:11 PM Sunday; Rod Welch

Increase capacity of Reference field to handle more than 100 SDS links.

1...Summary/Objective
2...Problem - We need capacity for more than 100 SDS citations
3...Solution Concept - Make SDS Ref line numbers use letters
4...000000 Make Counter for SDS Ref use letters and numbers
5...000006 Use letters and nums to create SDS Links
6...01211 Use letters and nums to create SDS Links
7...000006 Modify to use letters and nums instead of just nums
8...0121 Modify to use letters and nums instead of just nums
9...000006 Change macro 1012 to use alpha nums for SDS Ref stack
10...000008 Change Sort Macro 1451 to use alpha-nums instead of nums
11...000008 Change Delete lines Macro 146 to use alpha-nums
12...000001 Change Mark 1, TOF function, Ctrl F1 to Use Letters in LNF


..............
Click here to comment!

CONTACTS 

SUBJECTS
Line Counters, macro 0
Linking in SDS Alpha Nums for References
Design Concept
Citations Create Link SDS to SDS, macro 985
Alpha Nums for More than 100 References
Flexible Structure Line Numbers Record Segments
Flexible Structure Converted Line Numbers to Handle Alpha Strings Inc
Reference Field Converted Line Numbers to Handle Alpha Strings Increa

1110 -    ..
1111 - Summary/Objective
1112 -
111201 - Follow up ref SDS 11 0000.
111202 -
111203 - Got a good start on creating code that increases the capacity of the
111204 - SDS Reference field above 100 links.
111205 -
111206 - This is a test. ref SDS 0 3960
111207 -
111208 - Had to figure out how to change the line counter to use alpha nums,
111209 - then had to convert applicable code so it uses alpha-nums instead of
111210 - nums only.  The hardest conversion was the sort macro 1451 and the
111211 - delete line macro 146.  They are actually closely integrated and the
111212 - code is complex.
111213 -
111214 -    [On 980505 completed this project. ref SDS 18 0000]
111215 -
111216 -    [On 980708 had to fix a slight bug. ref SDS 19 0000]
111217 -
111218 -    [On 980811 changed format for anchors to alpha nums. ref SDS 20
111219 -    3960
111220 -
111221 -
111222 -
111223 -  ..
1113 -
1114 -
1115 - Planning
1116 -
111601 -  ..
111602 - Problem - We need capacity for more than 100 SDS citations
111603 -
111604 - The record on 980307 reviewing Andy Grove's book has nearly 100 links
111605 - in the References stack for SDS records, ref SDS 14 0000, and so it
111606 - cannot handle future activity unless the capacity of the Reference
111607 - field is increased.
111608 -
111609 - In the lexicon of construction we are "two-blocked."
111610 -
111611 - The line number scheme was designed in 1985 to provide unlimited
111612 - fields that implement the concept of "flexible structure."  This
111613 - objective was improved on 941221 by adding alpha strings to line
111614 - numbers, however, it mainly addresses the way line numbers start,
111615 - rather than how they end. ref SDS 12 0001
111616 -
111617 -  ..
111618 - Using numbers to list references allows 100 references, and this
111619 - seemed like an unlimited number that would never be reached at a time
111620 - before any citations were being used.  It turns out, however, that
111621 - references grow as new tasks come along, and we want links both
111622 - backward and forward.  The Grove record shows we need more. The record
111623 - of the meeting with Morris on 960721 is another example that has been
111624 - around longer, but it is getting near 100 links. ref SDS 13 0000
111625 -
111626 -
111627 -  ..
111628 - Solution Concept - Make SDS Ref line numbers use letters
111629 -
111630 - We could change the code so that we use three place numbers.
111631 -
111632 - We could change the line counter code so the last two places can use
111633 - letters, similar to making the first two places change to letters so
111634 - we can have more than 100 subjects. ref SDS 12 0000.
111635 -
111636 -
111637 - There are two steps.
111638 -
111639 -  1.  Have to make the SDS line counter use alpha-nums for the stack ID
111640 -      in the SDS Reference field.
111641 -      ..
111642 -      This was done by modifying macro 0 in 000000, ref SDS 0
111643 -      1296,
111644 -
111645 -  2.  Have to find and convert all of the code that uses strcnt on the
111646 -      2 place stack number field for SDS References, to use chrcnt for
111647 -      reading alpha-nums and do any needed mathamatics.
111648 -
111649 -      This will include:
111650 -          ..
111651 -      a.  Macro 685 to create links. ref SDS 0 2120
111652 -          ..
111653 -      b.  Macro 682 to read links and open linked record. ref SDS
111654 -          0 4852
111655 -
111656 -      c.  Macro 1451 (called by 142 to "save") that sorts and updates
111657 -          citations, when new links are added to the Reference field.
111658 -          ref SDS 0 1388
111659 -
111660 -      d.  Macro 146 to add/delete lines since when References are
111661 -          deleted, the code has to read the Ref number and adjust any
111662 -          citations, similar to macro 1451 in para c. ref SDS 0 3010
111663 -
111664 -      g.  Ctrl F1 to find bot of SDS Ref field. ref SDS 0 2574
111665 -          ..
111666 -      e.  Create new task or link records, 004, ref SDS 17 5481,
111667 -          and macro 1012 in 00006. ref SDS 0 1667
111668 -
111669 -      f.  Converting SDS records to HTML files, 070405. ref SDS 18 0000
111670 -
111671 -
111672 -
111673 -
1117 -
1118 -

SUBJECTS
Line Counters, macro 0

1204 -
120401 -  ..
120402 - 000000  Make Counter for SDS Ref use letters and numbers
120403 -
120404 - Line 70, ref OF 3 2079, -entry 1, trying debug 100 to see how the
120405 - first two numbers are counted.
120406 -
120407 - Line 520, ref OF 3 3171, -entry 202, this is where we created new code
120408 - for adding alpha-nums to level-one of the line counter, per the work
120409 - on 941221. ref SDS 12 0000.
120410 -
120411 - Line 380, ref OF 3 2779, -label s54_0, this is where level 3 of the
120412 - line counter is created.
120413 -
120414 -     If the last two places exceed 99, which is the condition at
120415 -     issue, then the code jumps to reset3.
120416 -
120417 -  ..
120418 - Line 450, ref OF 3 5220, -label reset3, I created code here to use
120419 - letters beyond number 99 for the third level in the SDS Reference
120420 - field, per objective above. ref SDS 0 0804
120421 -
120422 - Used similar method developed on 941220 for changing level-one
120423 - counters to alpha-nums to increase the number of Subjects. ref SDS 11
120424 - 2815
120425 -
120426 -
120427 -
120428 -
1205 -

SUBJECTS
Citations Create Link SDS to SDS, macro 985

1304 -
130401 -  ..
130402 - 000006  Use letters and nums to create SDS Links
130403 -
130404 - This is to do step 2a. ref SDS 0 1466
130405 -
130406 - Line 1635, ref OF 5 1716, -entry 985 begins the operation.
130407 -
130408 - Actually, there is nothing in macro 985 for creating new links,
130409 - because on 980501 I moved the code that enters the link in the target
130410 - record to a new macro file, 01211. ref SDS 15 1945
130411 -
130412 -
130413 -  ..
130414 - 01211   Use letters and nums to create SDS Links
130415 -
130416 - Follow up ref SDS 15 1945.
130417 -
130418 - Line 120, ref OF 2 2408, -label purg4 this is where the citation
130419 - number is read.  Changed it to use counters 115, 116 to get the
130420 - string, instead of just 115 to capture the number.
130421 -
130422 - Counter 117 makes initial determination of field type based on whether
130423 - the 2nd position line number is greater than 1.  If not, the field is
130424 - an SDS record.  This uses strcnt because it has to evaluate two
130425 - numbers, since something like 11, 21, ect., could evaluate as 1 on col
130426 - 4.
130427 -
130428 -
130429 -
130430 -
1305 -

SUBJECTS
Citations, Open SDS records references in

1404 -
140401 -  ..
140402 - 000006  Modify to use letters and nums instead of just nums
140403 -
140404 - This is to do step 2b. ref SDS 0 3308
140405 -
140406 - Line 1340, ref OF 5 1718, -entry 982 this begins the operation to
140407 - open a linked record.
140408 -
140409 - Line 1450, ref OF 5 7666, -label gNumA, this gets the number, I
140410 - changed it to use counters 115 and 116.
140411 -
140412 - Line 1500, ref OF 5 4129, -label gNumC, change the code that
140413 - identifies an internal link from using counter 5 to using counters
140414 - 115 and 116.
140415 -
140416 - Line 1525, ref OF 5 4730, -label gNumC, convert char values to a
140417 - numerical value for positioning the file on the Reference field target
140418 - line to be opened.
140419 -
140420 -
140421 -
140422 -  ..
140423 - 0121  Modify to use letters and nums instead of just nums
140424 -
140425 - Appears there are no changes required in this file.
140426 -
140427 -
140428 -
1405 -

SUBJECTS
Convert Diary to Schedule for New Task

1504 -
150401 -  ..
150402 - 000006  Change macro 1012 to use alpha nums for SDS Ref stack
150403 -
150404 - Line 2500, ref OF 5 2337, -entry 1012 at -label fbot9, have to change
150405 - the code that enters a link in the Ref field when a new task is
150406 - created. ref SDS 0 2190
150407 -
150408 - It is using counter 139 to store the two place num; changed it to use
150409 - 115 and 116.
150410 -
150411 -     [On 980504 changed macro file 004 to use this change. ref SDS 16
150412 -     1828]
150413 -
150414 -
150415 -
150416 -
1505 -

SUBJECTS
Sort Routine, entry 1451
Save, Primary, F2, macro 142, 0702051
Delete lines, Alt F8

1806 -
180601 -  ..
180602 - 000008  Change Sort Macro 1451 to use alpha-nums instead of nums
180603 -
180604 - Line 2630, ref OF 6 4722, -label valu8q, this is part of entry 1451
180605 - that sorts SDS References and updates corresponding citations in the
180606 - body text.
180607 -
180608 - Change from strcnt 7 2 to use counters 115 and 116.
180609 -
180610 - Line 2780, ref OF 6 4072, -label lpnfnd, need to convert a single
180611 - digit code string like "8" where counter 115 = 56 and 116 = 32, to a
180612 - double digit value that is used in the Reference field like "08."  So
180613 - we have to swap the values between the char read counters 2 and 3.
180614 -
180615 - Line 2790, ref OF 6 4906, -label ndtltt decided to add code for locate
180616 - command to supplement the "up" loop to find References in the sort
180617 - operation.  This is done over and over.  If the stack is short, up is
180618 - faster, but if there are a lot of them, then locate is faster.  For
180619 - records with a lot of References like the review of Grove's book on
180620 - 980307, ref SDS 14 0000, this can save a lot of time.
180621 -
180622 -
180623 -  ..
180624 - 000008  Change Delete lines Macro 146 to use alpha-nums
180625 -
180626 - Line 2895, ref OF 6 3818, -entry 146, this is the delete or repeat
180627 - line function that needs to adjust citation values when called in the
180628 - Reference field.
180629 -
180630 - Line 2965, ref OF 6 6936, -label ajSDS, if code determines delete or
180631 - repeat line op was called from a Reference field, it figures out what
180632 - type of Reference is being deleted, and it captures the line number
180633 - ID.  I changed this from strcnt to read the char strings and convert
180634 - it into a value that is stored in counter 15 to compare with ref IDs
180635 - in the body text.
180636 -
180637 - A repeat line op, identified by flag 23 1, then calls a subroutine,
180638 - ref OF 6 7885, in sort macro 1451 that checks all of the References in
180639 - the body text for any that match the line being repeated, and, if any
180640 - are found, the ref IDs are increased by one, since that is the number
180641 - of lines added by a simple "repeat" function.
180642 - ..
180643 - Line 3055, ref OF 6 5441, -label ajSDS A delete line op,
180644 - identified by counter 23 0, first uses the subroutine in sort macro
180645 - 1451 to check all of the ref IDs in the body text to determine if they
180646 - match the ID of the line being deleted. If so, an error message is
180647 - returned. If there are no matches, it goes back through using the same
180648 - subroutine and reduces by 1 the ref IDs to correlate with deleting a
180649 - line.
180650 -
180651 - Line 2700, ref OF 6 5140, -label rbo1 this is where the ref number is
180652 - adjusted for deleting and adding lines.  We compute a value for
180653 - determining whether an adjustment is needed, but to enter the new
180654 - value it has to be converted back to alpha nums.
180655 -     ..
180656 -     This is the same op that is needed at -label lpnfnd, per
180657 -     explanation below, ref SDS 0 2486, so I created a subroutine at
180658 -     this point...
180659 -
180660 -     Line 2720, ref OF 6 4463, -label coVntC, this is the code that
180661 -     converts num used to calculate if a ref ID needs to be changed,
180662 -     back to alphas if the value is greater than 100.
180663 -
180664 -     Will not make it a macro just yet.
180665 -
180666 -     It is also used for work at -label lpnfnd.
180667 -
180668 - Line 2760, ref OF 6 4072, -label lpnfnd, have to use char string here
180669 - because we are scrolling up to count the number of lines required to
180670 - find the target reference line in the just sorted list, so we have to
180671 - compare strings, since the numbers don't work now because we are
180672 - using an alpha-num string.
180673 - ..
180674 - Line 2775, ref OF 6 5072, -label lpnfnd, if the number is over
180675 - 99, have to convert it back to char.  It is the same op needed for
180676 - -label rbo1, so it calls the subroutine -label coVntC, created today
180677 - above. ref SDS 0 0667
180678 -
180679 -
180680 -
180681 -
1807 -

SUBJECTS
Ctrl F1 Set-up Cursor to Open Record/File

1904 -
190401 -  ..
190402 - 000001  Change Mark 1, TOF function, Ctrl F1 to Use Letters in LNF
190403 -
190404 - Line 1540, ref OF 4 3907, -label fReF, had to change this slightly to
190405 - look for a letter, and if it finds a lettter, then does a default
190406 - adjustment to postion reference field in middle of the screen.
190407 -
190408 -
190409 -
190410 -
190411 -
1905 -