QL Genealogist

Anything QL Software or Programming Related.
Post Reply
RWAP
RWAP Master
Posts: 2893
Joined: Sun Nov 28, 2010 4:51 pm
Location: Stone, United Kingdom
Contact:

QL Genealogist

Post by RWAP »

As the RWAP Software 30th Anniversary celebrations continue, I am happy to say that I have agreed with Chris Boutal that QL Genealogist (and the source code) cna now be released as freeware.

This is a great event driven family tree program - you basically emter details on each person according to the data you find - eg a birth or death certificate.

More details appear on the SInclair QL Wiki

I have sent the QL zipped version of QL Genealogist to Dilwyn so that he can add it to the Sinclair QL Homepage. It is also attached below, complete with sources.
Attachments
QLGenealogist.zip
(378.31 KiB) Downloaded 124 times
Last edited by RWAP on Mon Nov 14, 2016 11:50 am, edited 1 time in total.


User avatar
Cristian
QL Wafer Drive
Posts: 1024
Joined: Mon Feb 16, 2015 1:40 pm
Location: Veneto

Re: QL Genealogist

Post by Cristian »

Many thanks!


Derek_Stewart
Font of All Knowledge
Posts: 4684
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: QL Genealogist

Post by Derek_Stewart »

Hi Rich,

I habe looking at the source code, loooks very nice. But I did not reealise you wrote a toolkit.

Do you have any documentation for the tookit?


Regards,

Derek
RWAP
RWAP Master
Posts: 2893
Joined: Sun Nov 28, 2010 4:51 pm
Location: Stone, United Kingdom
Contact:

Re: QL Genealogist

Post by RWAP »

Derek_Stewart wrote:Hi Rich,

I habe looking at the source code, loooks very nice. But I did not reealise you wrote a toolkit.

Do you have any documentation for the tookit?
I wrote various toolkits over the years - some of which are on the Sinclair QL Homepage (including a big re-write of the FN.ext toolkit).

There is also the CGH Toolkit which I wrote to provide the backbone of the conversion routines for the SToQL Screen Convertor

Unfortunately, I cannot release the source or full documentation for the RWAPTK.cde which was originally written for Q-Route.

However, some of the command parameters, I can provide (as I used some of them again for QL Genealogist) - although how useful this will be to others is uncertain:

Code: Select all

* ARRAYFILL arr,val
*          This fills a specified array with the given absolute value.
*          It will cope with any array, including string arrays.
*
* ARRAYCOPY arr1,arr2
*          This copies the contents of one array across to the second
*          specified array - both arrays must be of the same type and
*          also have the same dimensions
*
* DOTLIN #ch,period1,gap,period2,colour,x1,y1,x2,y2,col_sys
*          This draws a line in the given colour between the specified
*          absolute pixel co-ordinates (x1,y1) to (x2,y2) within the
*          given window channel. The colour depends on the colour system
*          used
*          (0=QL mode 4 - )
*          (0=black, 1=red, 2=green, 3=white).
*          The type of line depends on the periods and gaps.
*          The line is drawn for period1 pixels, followed by a space of
*          gap pixels and then another line for period2 pixels.  There is
*          then another space of gap pixels and the line starts again at
*          period1.
*
* DOTLIN2 #ch,period1,gap1,period2,gap2,period3,colour,x1,y1,x2,y2
*          This draws a line in the given colour between the specified
*          absolute pixel co-ordinates (x1,y1) to (x2,y2) within the
*          given window channel.  The colour depends on the colour system
*          used
*          (0=QL mode 4 - )
*          (0=black, 1=red, 2=green, 3=white).
*          The type of line depends on the periods and gaps.
*          The line is drawn for period1 pixels, followed by a space of
*          gap1 pixels and then another line for period2 pixels.  There is
*          then a space of gap2 pixels followed by a line for period3
*          pixels.  Finally a space of gap1 pixels and then the line
*          starts again at period1.
*
* INC var%
*          This increases a given integer variable by 1 each time - it is
*          quicker than var%=var%+1
*
* DEC var%
*          This decreases a given integer variable by 1 each time - it is
*          quicker than var%=var%-1
*
* SORT array$
*          This sorts a two-dimensional string array into alphabetical
*          order.
*
*
*
* DEL_ARRAY arr,element
*          This deletes the given element in the specified array - all
*          elements below the one specified are moved up one and the last
*          entry in the array is made ZERO, thus the size of the array
*          remains unchanged.  It will only cope with single dimension
*          numeric arrays or two dimension string arrays (last element is
*          made a null string.
*
* INS_ARRAY arr,element,value
*          This inserts the given value in the array at the given element
*          position.  All elements below the one specified are moved down
*          one to make room and the last entry in the array is LOST, thus
*          the size of the array remains unchanged.  It will only cope
*          with single dimension numeric arrays or two dimension string
*          arrays.
*
* SBIT base,entry%
*          This sets a bit to 1 calculated by PEEK (Base+entry DIV 8) and
*          then setting the entry MOD 8 bit in it.
*
* MEMCLEAR base,bytes%
*          This fast clears the memory at base for bytes% number of bytes
*          (max long integer bytes)


Derek_Stewart
Font of All Knowledge
Posts: 4684
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: QL Genealogist

Post by Derek_Stewart »

Hi Rich,

Thank you for the extra information.

No need for the source code, I usually disassemble most toolkits for my own enjoyment.


Regards,

Derek
Ralf R.

Re: QL Genealogist

Post by Ralf R. »

Ah, DEL_ARRAY and INS_ARRAY seems to be similar to MAKE_ROOM and TAKE_ROOM, which TT has written for the McGrawhill Assembler/Editor package and later used in his own one little SB editor (elsewhere in a Quanta package) to insert and delete lines in a string array.

Very clever extension.


Post Reply