Board Logo
« getting started, Pigeon Breeders Records program »

Welcome Guest. Please Login or Register.
Jul 28th, 2017, 01:44am


Conforums Terms of Service | Membership Rules | Home | Search | Recent Posts | Notification | Format Your Message | Installation FAQ

Please use the forums Search feature before asking.
Please post code using the code box described in Format Your Messages.
This will keep indentation, separate it better form the message and prevent gibberish.
If the code is too long for one post or additional files are needed, upload a ZIP archive to the Just BASIC Files Archive Site.

« Previous Topic | Next Topic »
Pages: 1 2 3  ...  11 Notify Send Topic Print
 veryhotthread  Author  Topic: getting started, Pigeon Breeders Records program  (Read 8168 times)
stumpy
Full Member
ImageImageImageImage


member is offline

Avatar




PM


Posts: 138
xx getting started, Pigeon Breeders Records program
« Thread started on: Mar 2nd, 2016, 1:24pm »

[edited 25.04.2017 - a link to the completed working program "Pigeon Breeders Records" is in the 'programs shared' section,
and website: https://chavers.wixsite.com/free-pigeon-records]

Hi. I am planning how to do a 'family tree' and 'matchmaking' program for breeding pigeons There are programs available for Racing pigeons but this one would be simpler to use and more suitable for Birmingham Roller keepers, or at least for me grin

The Problem
I can remember some basic programming but need advice about the graphical interface. I have looked at tutorials but have been mystified that some windows cannot have certain controls and as to how to get things printed on the screen and to modify it as a program runs.

Freeform-J has been very good for working out a screen layout but so far baffling as to how it such an apparently large resulting block of code for such a simple layout could be incorporated in a JustBasic program.

User Image

The idea is to help with deciding how to pair up, and to save pedigree records, for the relatively few birds which qualify for use as breeders. Records for 12 cocks and 12 hens might suffice but there would be room for 25 pairs for historic backgrounds etc. and in any case different sets of data could be saved or loaded. (as string data?)

Inbreeding and line breeding is usually employed so there should be room for the relatively small number of cocks and hens involved in a strain, although some of them might not still be alive. The birds which have qualified are by that time well understood, so records do not need much detail as to performance etc. but just the ring number including the year bred e.g. '2016,1034' and abbreviations for colour and marking e.g. BB Bge (for Blue Bar Badge) or RC WF ( for Red Chequer White Flights) i.e. up to 16 characters should suffice to define each bird, cocks in one column and hens in another. (they would be organised as lists of cocks or hens, starting with #1 at the top, up to #25 at the bottom as far as display is concerned).

To include a new bird it would be convenient to offer a text input box for, say, 16-characters. Upon pressing 'enter' the first 16 characters of that bird's string would be shown on screen e.g. in the '#1' and consecutive positions in one of the two columns, one for cocks and one for hens, and added to the string data held in the running program.
Dim C$(25, 241) and Dim H$(25,241) would allow space in each bird's string for the details of each bird, and for the 16-Character details of the paternal and maternal progenitors. (it is understood that DimC$ produces something starting with C$,0 but that has been ignored).

e.g. for adding a cock and details of its ancestors (if available):-
if n=1:-
C$( 'n', 1 to 16) for the cock itself
C$ ( 'n', 17 to 32) for the father,
C$( 'n', 33 to 48) for the mother,
C$( 'n', 49 to 64) for the paternal grandfather,
C$( 'n', 65 to 80) for the paternal grandmother,
C$( 'n', 81 to 96) for the maternal grandfather,
C$( 'n', 97 to 112) for the maternal grandmother,
C$( 'n', 113 to 128) for the paternal great grandfather 1,
C$( 'n', 129 to 144) for the paternal great grandmother 1,
C$( 'n', 145 to 160) for the paternal great grandfather 2,
C$( 'n', 161 to 176) for the paternal great grandmother 2,
C$( 'n', 177 to 192) for the maternal great grandfather 1,
C$( 'n', 193 to 208) for the maternal great grandmother 1,
C$( 'n', 209 to 224) for the maternal great grandfather 2,
C$( 'n', 225 to 240) for the maternal great grandmother 2,

On screen buttons
Highlight cock or hen buttons, selection by mouse, and/or or up/down buttons.
A single bird always being selected, whether cock or hen.

Select Father button
Select Mother button

Once a bird is highlighted in the list, on screen 'select father' and 'select mother' buttons would produce a cursor, or pointer, for selecting another bird as the father, or mother, from the list, confirmed with 'enter', when it would appear in the pedigree box as well as its details being inseted into C$ ( 'n', 17 to 32) for the father, or C$( 'n', 33 to 48) for the mother.
If each bird back to the third previous generation were to be already in the list, and had its mother or father chosen in this way, the pedigrees would also automatically become full to that extent.

Swap Bird button
Swapping the highlighted bird #'n' with another chosen from the list of the same sex would sort the cocks and hens into suitable matching pairs or correct their order of importance to the breeding program.
Details from #'n' would be put into a holding string 'Buffer$(240)', details of the chosen replacement bird would be copied to #'n', then details from 'Buffer$' inserted to replace those which were in the position of the chosen bird.

Print List of Pairs
Print Pedigree

(of the selected cock or hen)

I shall keep at it and mean to post with progress, if that is ok, but any assistance would be much appreciated.
« Last Edit: May 7th, 2017, 07:17am by stumpy » User IP Logged

stumpy
Full Member
ImageImageImageImage


member is offline

Avatar




PM


Posts: 138
xx Re: getting started with Prog for Pigeon Breeding
« Reply #1 on: Mar 3rd, 2016, 01:32am »

Just Basic> Help> Controls and events> DEMO: Branch Labels for Event Handlers looks like a good place to start.

It should be just right for setting up the two main lists
Cocks & Hens, which list C$ 'n' ,( 1 to 16 ) and H$ 'n' ,( 1 to 16 ), ready for one of them be selected, and for the selection to be indicated in the display.

and the first line "gosub [loadData]" is for setting up the strings

...I may be some time smiley
User IP Logged

jaba
Global Moderator
ImageImageImageImageImage


member is offline

Avatar




PM

Gender: Male
Posts: 1049
xx Re: getting started with Prog for Pigeon Breeding
« Reply #2 on: Mar 3rd, 2016, 2:37pm »

Have you looked at Stefan Pendl's Simple Database Framework? If not, see JB Programming Discussions board (listed just above this Novice board), in the top section, 2nd listing.
User IP Logged

JACK - Windows 8.1 64-bit; 2.5 GHz Intel i3 processor; 6.00 GB RAM;
stumpy
Full Member
ImageImageImageImage


member is offline

Avatar




PM


Posts: 138
xx Re: getting started with Prog for Pigeon Breeding
« Reply #3 on: Mar 3rd, 2016, 4:27pm »

on Mar 3rd, 2016, 2:37pm, jaba wrote:
Have you looked at Stefan Pendl's Simple Database Framework? If not, see JB Programming Discussions board (listed just above this Novice board), in the top section, 2nd listing.


- Thanks very much for that
« Last Edit: Mar 3rd, 2016, 4:28pm by stumpy » User IP Logged

Rod
Administrator
ImageImageImageImageImage


member is offline

Avatar

Graphics = Goosebumps!


PM

Gender: Male
Posts: 3057
xx Re: getting started with Prog for Pigeon Breeding
« Reply #4 on: Mar 4th, 2016, 02:33am »

The way you describe it every bird will have every ancestor listed inside its record? Perhaps I am misreading.

You might run it as a linked list, the bird record has only two links, father and mother. Then you programmatically follow the links back up the chain.

A lot less effort in inputting data.
User IP Logged

stumpy
Full Member
ImageImageImageImage


member is offline

Avatar




PM


Posts: 138
xx Re: getting started with Prog for Pigeon Breeding
« Reply #5 on: Mar 4th, 2016, 03:34am »

Yes, thanks Rod, and that was indeed what I meant:-
"...
Select Father button
Select Mother button
Once a bird is highlighted in the list, on screen 'select father' and 'select mother'....If each bird back to the third previous generation were to be already in the list, and had its mother or father chosen in this way, the pedigrees would also automatically become full to that extent.
..."

(I had been thinking of a long string for each bird, to include its ancestors, but perhaps a 'linked list' is something else for which I need to check for info.)

For strings, slept on it last night but still haven't worked out how, programmatically, to 'follow the links back up the chain'. That sort of thing is to me a bit of a mind bender - but once sorted it does let the computer do it with ease, lovely jubbly but it may be harder to fix the situation where a common progenitor has not previously been entered or had its parents picked...

I have in mind a 'choose sibling' button, to pick the birds which might have the same parents, as selected previously, which could help a bit. It would also be relatively simple to back track manually by adding new historic birds, and/or picking parents. In any case it remains to be seen how quickly all the previous newly-incomplete entries/strings could then be scanned and updated where needed, but the a 'please wait' popup would at least be a familiar feature rolleyes

Yesterday, in the JB dictionary, couldn't find a$(n1 to n2), but have spotted Word$ and its choice of deliminator, which may possibly make things easier to work out and write.

Using one window/screen of just the #Window type, I would like to show the static text, and perhaps individual bird strings in the pedigrees, in their own little rectangles of a different background colour, but can't find that facility, is there something like that in JB, please?
« Last Edit: Mar 4th, 2016, 03:43am by stumpy » User IP Logged

Rod
Administrator
ImageImageImageImageImage


member is offline

Avatar

Graphics = Goosebumps!


PM

Gender: Male
Posts: 3057
xx Re: getting started with Prog for Pigeon Breeding
« Reply #6 on: Mar 5th, 2016, 04:53am »

This is very rough but it is a start on linked lists.


Code:
'create an example database
maxbirds=20
dim bird$(maxbirds,5)
dim ring$(maxbirds)
ring=1
named=2
info=3
father=4
mother=5

'this is just dummy data
'the unique identifiers are random and rubbish so will give strange results
'but it lets you see the principle of chaining one record to another
for n= 1 to 10
bird$(n,ring)="H"+right$("0000"+str$(n),4)      'a unique identifier for the bird
bird$(n,named)="Bird"+str$(n)                   'the birds common name
ring$(n)=bird$(n,ring)+":"+bird$(n,named)       'an index array for the combobox
bird$(n,info)="Info about "+str$(n)             'information about the bird
bird$(n,father)="C001"+str$(int(rnd(0)*3+1))    'the unique identifire of the birds father
bird$(n,mother)="H000"+str$(int(rnd(0)*3+1))    'unique identifier of the birds mother
next
for n= 11 to maxbirds
bird$(n,ring)="C"+right$("0000"+str$(n),4)
bird$(n,named)="Bird"+str$(n)
ring$(n)=bird$(n,ring)+":"+bird$(n,named)
bird$(n,info)="Info about "+str$(n)
bird$(n,father)="C001"+str$(int(rnd(0)*3+1))
bird$(n,mother)="H000"+str$(int(rnd(0)*3+1))
next

nomainwin
WindowWidth=400
WindowHeight=400
combobox #main.cbbirds, ring$(), [selected], 26, 16, 300, 200
texteditor #main.ancestry, 26, 36, 300, 200
open "untitled" for dialog as #main
#main "trapclose [quit]"

'wait here for input event
wait


[selected]   'Perform action for the combobox
#main.cbbirds "selectionindex? bird"
#main.ancestry "The Bird ";bird$(bird,ring);":";bird$(bird,named);":";bird$(bird,info)
'find father
for n= 1 to maxbirds
    if bird$(bird,father)=bird$(n,ring) then fathernum=n : exit for
next
'find mother
for n= 1 to maxbirds
    if bird$(bird,mother)=bird$(n,ring) then mothernum=n : exit for
next
'find fathers father
for n= 1 to maxbirds
    if bird$(fathernum,father)=bird$(n,ring) then fathersf=n : exit for
next
'find mothers father
for n= 1 to maxbirds
    if bird$(mothernum,father)=bird$(n,ring) then mothersf=n : exit for
next
'find fathers mother
for n= 1 to maxbirds
    if bird$(fathernum,mother)=bird$(n,ring) then fathersm=n : exit for
next
'find mothers mother
for n= 1 to maxbirds
    if bird$(mothernum,mother)=bird$(n,ring) then mothersm=n : exit for
next

#main.ancestry "Father ";bird$(fathernum,ring);" ";bird$(fathernum,named)
#main.ancestry "Mother ";bird$(mothernum,ring);" ";bird$(mothernum,named)
#main.ancestry "Father's father ";bird$(fathersf,ring);" ";bird$(fathersf,named)
#main.ancestry "Father's mother ";bird$(fathersm,ring);" ";bird$(fathersm,named)
#main.ancestry "Mother's father ";bird$(mothersf,ring);" ";bird$(mothersf,named)
#main.ancestry "mother's mother ";bird$(mothersm,ring);" ";bird$(mothersm,named)


wait

[quit]
close #main
end



 
« Last Edit: Mar 5th, 2016, 09:23am by Rod » User IP Logged

stumpy
Full Member
ImageImageImageImage


member is offline

Avatar




PM


Posts: 138
xx Re: getting started with Prog for Pigeon Breeding
« Reply #7 on: Mar 5th, 2016, 07:34am »

Thank you very much.
I will need to study that listing and try it out to get the hang of it, but it looks just the ticket grin
« Last Edit: Mar 5th, 2016, 07:42am by stumpy » User IP Logged

ezprogramming
Guest
xx Re: getting started with Prog for Pigeon Breeding
« Reply #8 on: Mar 5th, 2016, 07:50am »

Post deleted
« Last Edit: Sep 15th, 2016, 2:01pm by ezprogramming » User IP Logged

Rod
Administrator
ImageImageImageImageImage


member is offline

Avatar

Graphics = Goosebumps!


PM

Gender: Male
Posts: 3057
xx Re: getting started with Prog for Pigeon Breeding
« Reply #9 on: Mar 5th, 2016, 09:28am »

Yes thanks Richard. A true linked list has a pointer to the previous record in the chain and a pointer to the next record in a chain. In this way you don't need to worry about ordering the list or inserting because you just break and join the chain.

In the demo I search for the unique identifier, if this was actually the record number you would not need to search. I probably need to rework the demo.

But I hope you see that you can just hop from bird to bird rather than store all of the info for each bird.
User IP Logged

Rod
Administrator
ImageImageImageImageImage


member is offline

Avatar

Graphics = Goosebumps!


PM

Gender: Male
Posts: 3057
xx Re: getting started with Prog for Pigeon Breeding
« Reply #10 on: Mar 6th, 2016, 04:12am »

A slightly simpler RAF version. I am sure the search could be iterative but I am out of time right now.

Code:
'create an example database
maxbirds=20
dim bird$(maxbirds,5)
dim ring$(maxbirds)
ring=1
named=2
info=3
father=4
mother=5
data 1,"C","Adam",0,0
data 2,"H","Eve",0,0
data 3,"C","Cane",1,2
data 4,"C","Able",1,2
data 5,"H","Mary",1,2
data 6,"C","Dave",3,5
data 7,"C","Bill",3,5
data 8,"H","Jess",4,5
data 9,"H","Susy",4,5
data 10,"C","Dann",6,8
data 11,"C","John",6,8
data 12,"H","Pegg",7,9
data 13,"H","Joan",7,9
data 14,"H","Lady",10,9
maxbirds=14
open "bird.dat" for random as #bird len = 17
field #bird, 4 as id, 1 as sex$, 4 as name$, 4 as father, 4 as mother

dim index$(maxbirds)
for n= 1 to maxbirds
read id
read sex$
read name$
read father
read mother
put #bird, id
index$(id)=name$+" "+sex$
next


nomainwin
WindowWidth=400
WindowHeight=400
combobox #main.cbbirds, index$(), [selected], 26, 16, 300, 200
texteditor #main.ancestry, 26, 36, 300, 200
open "untitled" for dialog as #main
#main "trapclose [quit]"

'wait here for input event
wait


[selected]   'Perform action for the combobox
#main.cbbirds "selectionindex? id"
get #bird, id
#main.ancestry "Bird ";name$;" Sex:";sex$;" Id:";id
fatherid=father
motherid=mother
get #bird, fatherid
fathersfather=father
fathersmother=mother
#main.ancestry "Father ";name$;" Sex:";sex$;" Id:";id
get #bird, motherid
mothersfather=father
mothersmother=mother
#main.ancestry "Mother ";name$;" Sex:";sex$;" Id:";id
get #bird, fathersfather
#main.ancestry "Fathers father ";name$;" Sex:";sex$;" Id:";id
get #bird, fathersmother
#main.ancestry "Fathers mother ";name$;" Sex:";sex$;" Id:";id
get #bird, mothersfather
#main.ancestry "Mothers father ";name$;" Sex:";sex$;" Id:";id
get #bird, mothersmother
#main.ancestry "Mothers mother ";name$;" Sex:";sex$;" Id:";id
wait

[quit]
close #main
close #bird
end




 
User IP Logged

stumpy
Full Member
ImageImageImageImage


member is offline

Avatar




PM


Posts: 138
xx Re: getting started with Prog for Pigeon Breeding
« Reply #11 on: Mar 8th, 2016, 02:15am »

So far:-

User Image

Code:

[START]

gosub [loadData]

' insert buttons for Swap cocks, Swap hens

    listbox #main.cocks, cock$(), [selectCock], 739, 164, 250, 820
    listbox #main.hens, hen$(), [selectHen], 1000, 164, 250, 820

    textbox #main.cockText, 739, 100, 225, 20
    textbox #main.henText, 1000, 100, 225, 20

    statictext #main.cockText, "Type New Cock", 640, 100, 100, 20
    statictext #main.henText, "Hen", 974, 100, 25, 19
    statictext #main.labelcock, "Select", 641, 135, 225, 20

    statictext #main.labelcock, "  COCKS:  'Ring#'  - 'Year'  - 'Markings'", 680, 135, 235, 20
    statictext #main.labelhen, "HENS:  'Ring#'  - 'Year' - 'Markings'", 969, 135, 225, 20
    nomainwin
    WindowWidth = 1920
    WindowHeight = 1080


open "Breeders Database v.2.01" for window as #main

' Insert: #main.cockText "text" [get c$]
' Insert: #main.henText "text" [get h$]

    #main.cocks "singleclickselect [selectCock]"
    #main.hens "singleclickselect [selectHen]"

'INSERT actions here for cockText & henText

print #main, "trapclose [quit]"

    wait

[selectCock]
    #main.cocks "selection? item$"
    print #main.labelcock, "ed Cock #"; item$
    wait

[selectHen]
    #main.hens "selection? item$"
    print #main.labelhen, "Hen #"; item$
    wait

[loadData]
'replace with load dat for a$ & c$
    for x = 0 to 2
      read a$
      cock$(x) = a$
    next x
    for x = 0 to 2
      read a$
      hen$(x) = a$
    next x
    return

    data "1. 1034_2016_BB_Badge", "2. 84_2001_BC_Badge_WF", "3. 256_2015_BC_Saddle"
    data "1. Car", "2. Bike", "3. Boat"
    dim a$(60)
    dim item$(60)
    end

[quit]
close #main
end

 
User IP Logged

Rod
Administrator
ImageImageImageImageImage


member is offline

Avatar

Graphics = Goosebumps!


PM

Gender: Male
Posts: 3057
xx Re: getting started with Prog for Pigeon Breeding
« Reply #12 on: Mar 8th, 2016, 05:21am »

Do you have some real data that we might use to develop this tool?

I don't really understand your diagram or the purpose of the tool. Is it to show parentage or is it to help select future parentage. If so how is performance known?
User IP Logged

stumpy
Full Member
ImageImageImageImage


member is offline

Avatar




PM


Posts: 138
xx Re: getting started with Prog for Pigeon Breeding
« Reply #13 on: Mar 8th, 2016, 10:23am »

Have to admit that after trying quite hard I could not understand the linked list idea which you recommended, so thought it might be easier (for us both!) to proceed with the scheme I had used before to make a working program for Amiga. However inefficient, I could make it up as seemed necessary and guess I might in the end have a better chance of success.
on Mar 8th, 2016, 05:21am, Rod wrote:
Do you have some real data that we might use to develop this tool?
I don't really understand your diagram or the purpose of the tool. Is it to show parentage or is it to help select future parentage. If so how is performance known?
Thanks. The birds are kept for fun and for competition. The scoring system depends upon the number of birds in a close team of 20 which perform simultaneously, the 'breaks' being judged over 20 minutes. In order to score, each bird should revolve along a horizontal axis with speed and smoothness, to resemble a spinning ball. Hard to believe and of course the impression is entirely subjective, but that just adds to the scope for discussion. There are different ideas about management and the way to improve the results but some agreement about the need to develop and maintain a good strain by inbreeding and line breeding, which makes things more interesting too.

The purpose of the tool is primarily for sorting and preparing a printable list of Pairs for the current year, prior to actually putting cocks and hens together for breeding. Once decided the list could be printed off for future reference, also with each pair on a separate sheet of paper to record their offspring and their progress, faults or strong points as they develop.

To help with that, the pedigree of each bird would be displayed on screen and could later also be printed each year as a developing record of the family. The number of breeding pairs would in my case be unlikely to exceed 10 or 12, most of which would be experimental, the other slots being useful only for birds which are needed to provide their background, many of which may no longer be available. It is just the exceptional bird which should get into in the record, and it is often down to the peregrine falcons as to which even had the chance properly be tested in the air. By then, their performance should have been well defined and remembered.

The data will be two sets of, say, 50 strings (depending how much space is needed on a page) of 20-30 characters each to make a line of descriptive text, one set for cocks and one set for hens. The text might mainly consist of the year bred, the ring number, the markings, and comments, but most of those details would be left for the user to decide and to edit.

The diagram was supposed to show in the first box the starting situation, and in the second box the possible buttons and ideas for coding (both being incomplete, which probably makes it even harder to decipher) before reversion, after using a button, to the first box while the program runs.

A.) As planned and shown by running the code so far, the strings will be displayed in two lists, one for Cock$, maybe 1 to 50 if that fits, and one for hens$ 1 to 50. I had in mind eventually to use C$ and H$ 2 to26 for the text, (leaving the first two characters C$(0) and C$(1) for a unique number to identify the bird, and to use the last four positions for two numbers referring to those identifiers, two digits for the father, and two digits for the mother, which would serve as the linking numbers to the parents. (and please see my problem below *). Fathers and mothers first to be identified by the user, by pressing buttons.

B.) As the prog stub now stands, the data is just being read as in your example, but the aim is that they will be capable of being edited, saved to disc with a save-as button, or selected and loaded from disc with a load button. The three examples read into the cock's list represent the sort of things needed, but any format could be decided by the user, as long as it fitted the space in the line. (and please see my problem below *)

C.) In order to match/mate cocks with hens in a different order:-
Now, selecting a cock or hen with the mouse produces a result in the 'selected box', ready for use with 2 Swap buttons, not yet programmed, which when clicked would say 'swap with which cock?' and 'swap with which hen?', depending upon the category last selected.
- then for user to pick the second bird, to be swapped with the one which was selected first, perhaps by pressing an 'ok' button.

D.) Now, the two text boxes above the 'bird selected' boxes, can have text typed in, and edited. It could be developed for adding birds to the list by selecting an empty space in cocks or hens, or for picking birds already entered and editing their visible details.

*My latest problem
The string for 'currently selected' won't fit if it exceeds about 24 characters, and then goes onto the line below.
I think the following from the JB index is relevant but cannot really understand it:-
Re. ListBox: array$() " This is the name of the array (must be a string array) that contains the contents of the listbox. Be sure to load the array with strings before opening the window. If some time later it is necessary to change the contents of the listbox, simply change the contents of the array and send a RELOAD command. The index numbers of items in the array may not match the index numbers of the same items in the control. The control is loaded from the array, and the first index used in the control is "1". No empty strings are loaded into the control, so only array items that contain text are loaded."
- so have been stuck, and advice about that would certainly be appreciated...
« Last Edit: Mar 9th, 2016, 05:28am by stumpy » User IP Logged

stumpy
Full Member
ImageImageImageImage


member is offline

Avatar




PM


Posts: 138
xx Re: getting started with Prog for Pigeon Breeding
« Reply #14 on: Mar 9th, 2016, 06:25am »

PS
Re. An item to cover each bird's performance/(value)?
In practice it proved too difficult to include a meaningful 'score'.
Although apparent strengths and weaknesses of each bird were certainly taken into account (and recorded separately) before it might be considered as a breeder,
the parameters were just too many, too imprecise, and too varied sensibly to be weighed against each other.
In the end it was mainly the breeding results which seemed to be most useful, especially in identifying the pairs which 'clicked', so they could be moved to the top of the list.

Problem #1. and 'real data required'
example of data:-

The cock data listed in the program is the sort of thing required in each item, and its only the length of the string which matters, because the text will mostly be defined by the user when he enters a new bird or edits the entry.
e.g. ...data ... "2. 84_2001_BC_Badge_WF_"...

as it stands the critical thing is that I think it is up to 33 characters which fit when selected so that the string is printed above in the 'Type new Cock/hen' boxes, static text above the list.

- if 34 or more characters
e.g. ..data ... "2. 84_2001_BC_Badge_WF_" + "MixedTail"..., are put into one of the items in the data statement, the printing, which is done in the box above when that bird is selected from the list, won't fit into some sort of ghostly text box, which is shorter than the one actually displayed. The effect is that the 'too-long' string is printed below the box, i.e. in the wrong place.

Problem #2.
I just noticed that a similar problem occurs when text is typed directly into the 'Type new Cock/hen' boxes, when it starts scrolling as the number of characters exceeds 14 (rather than the 33 mentioned in problem #1.)

Can you tell why the 2 probs occur, and how to fix, please?

Re. Real data/length of string required:-
In the end there will probably need to be wider textboxes and listboxes, to be adjusted in due course, possibly 44 characters to include 2 digits first, for the bird's unique number (in the range 01 to 50), then a "." and a space '_', and four digits at the end to represent the unique numbers of the father (in the range 01 to 50) + those for the mother (in the range 01 to 50) = TOTAL 52 characters.
« Last Edit: Mar 9th, 2016, 09:48am by stumpy » User IP Logged

Pages: 1 2 3  ...  11 Notify Send Topic Print
« Previous Topic | Next Topic »

Conforums Terms of Service | Membership Rules | Home | Search | Recent Posts | Notification | Format Your Message | Installation FAQ

Donate $6.99 for 50,000 Ad-Free Pageviews!

| |

This forum powered for FREE by Conforums ©
Sign up for your own Free Message Board today!
Terms of Service | Privacy Policy | Conforums Support | Parental Controls