Project start help needed

I need some start up information concerning a new project. A soccer and tennis center (2 soccer courts, 4 tennis courts, booking intervall 30 minutes) need a kind of daily booking overview. The more I think about the realisation the more problems apear. I don’t really recognize the right way where to start.
First i was thinking about a list box with the 7 columns ( one for the time in 30 min steps and 6 others for court 1 to 6). The booking dates come from a db displays with canvas. Seems not be very complicated approach.
Can someone guideme the right way and offer some thoughts what might be a solution or even did already worked on a similar issue?

What is the open time ?
8 to 18 ? If so, this means 20 entries for each location (what you call court) for one day.

You have to create an agenda that shows the open dates.
The used choose a date, the software displays the 20 x 6 ‘grid’.

You talk about a ListBox: use EditableCells to set the service data in it (service data: name of the reserved person, etc.)

You may use a pen on a sheet of paper and draw the interface there: it will open your mind on what to do and how to do it.

I use a McDonald’s ticked (the back of it) to make my drawings, “remember this and that” notes: it helps.

At last, come back here when needed.

You also may consider to use two separate windows: one for soccer one for tennis bookings.

Doing so will give you more room in the window to place stuff.

You could consider using the CalendarView control which can display reservations with colors.
One color for each tennis/soccer court.

I suggest a separate page for making entries in textfields; a listbox is for the total view. Have you thought about the data model?

Is someone actually going to enforce this? If not then you should focus on usability as opposed to function.

Roger Davies
I have not done any coding for over 40 years, I wrote a lot of numerical simulation programs, in FORTRAN, in the 1960s. I also must have written some in BASIC. Now a Pensioner I am amusing myself with Xojo. My problem is to do with how best to structure a program/project/app. I am finding it very difficult to pass information and maintain control of the order of events. Could somebody point me in the direction of where I can learn how best to do this? Or even give me some tips. So far I have been able to place random coloured discs on a grid canvas and store these in an array, but I wish to use separate sub-routines (methods) to process the array and also place information graphically on the canvas and/or TextFields. I find a lot of information on the technical aspects of projects, but blessed little on structure and what is or is not mandatory. Somebody please help as my rate of progress has now ground to a near standstill.

Please don’t hijack a thread like this. Better to start a new topic where the replies will be relevant to the post title.
>> I am finding it very difficult to pass information and maintain control of the order of events. <<
You don’t control the order of events. You react to them. Start a new post , describe what you want to do, and the group can dissect your needs there.

Sorry but I had not yet figured out how to start a new thread.

Click in “New Conversation” at the window top/right.

Hello again,
sorry for the silence but I was thinking about all of your suggestions and also I had a look at the examples coming up with the xojo
The Gridlock examples seems to be right for me. I modified the code for my needs to get 7 columns (one for the time, 2 for soccer and 4 for tennis) in different backgrounds colours and 30 rows 8:00 to 24:00. And I implemented the piDog_CalendarControl.
I had a look at Jrmie Leroy’s nice calendar control too. But my focus is not on the calendar but more on the overview of each court.
So far so good. For inserting data into the database a doubleClick on a cell will open a separate window. Unfortunately while running the project I got a nilobjectexeption on MAC but not on Win. I can locate the method that triggers the exemption but I cant’t define the problem. Is there a difference between Win and Mac compiling?

The problem with compiling is obsolete. I could handle it. Deleting and replacing of several controls on the main window effected a kind of self curing. If anyone ist interest in the the project as it is actually I will email it. In between the
next days I will go on, and keep you current. Impediments will occur, that is as safe as the Bank of England. Thanks until now to everybody for the inspirations.

Hello again,
as promised I asked for help. My project is under work and the first steps are successfully done.
I have a subclasses Canvas called Gridlock. Running the project will generate a grid with rows and columns for each court an first column is my timescedule. Booked Date comes from a database. That works great.
If I choose a new date at my calendar control the new date ist selected and is shown correctly in a Date Display field.
Now the sticking point: When then value of the DisplayDate Field changes I want the subclassed canvas to be deleted and new drawn with the bookings of that date. Any idea for realisation or am I off the track?

Just one supplement. All my approaches leads to the following error:
“This item does not exist.”
While coding “GridLock,mGridImage.Graphics.FillRoundRect(50,50,100,50)”,
Autocomplete proposes “mGridImage” itself. Running the project generates the error at “mGridImage”.
It seems to me as if the subclass and its methods are not really accessible. Any proposals?



you used a comma instead of a “.” after GridLock (if you copied it, that could be the problem).

Hello Derk,
I investigated your hint. That is not the problem. I think my knowledge of programming ist the impediment. I don’t understand how to obtain access to the methods of a subclass. Has introspectiton something to do with this theme? Maybe you are more involved in serious app design.

Keeping in mind that I have not seen your code, are you calling


from outside of the canvas? I think the problem is with the Graphics call. Trying to access a canvas’ Graphics element should be done within the canvas’ Paint event.

Hello Dale,
that is right. I want to access the Canvas Graphics element in combine
tion of a change of a simple textfield that represents the choosen date of a calendar control. Can you provide me with further details or does it make sense if you would have a look at my code? I would appreciate your opinion not least because I fell lost.
Thanks Dale

If you want a canvas to respond to some change, you should call Invalidate on the canvas and let it redraw itself with the new state.

Yeah, what Tim said. (He has faster fingers that I have, apparently :slight_smile: )

Basically, when your user clicks to select the new date, make the appropriate changes to the data for the canvas and call the canvas’ Invalidate method. Your Paint method should be set up to handle whatever the data might be for the calendar.