|
Post by mknarr on Apr 23, 2021 14:53:17 GMT -5
Several years ago Jay Shrimpton wrote a very nice appointment book that I have been using for years. A couple of years ago I added a section that allowed the user to print out appointments 30, 60, 90 and 120 day out. However I just discovered if you tried to print out say for 60 days and there were no appointments beyond 60 days, the program would basically crash but instead it printed @ forever. This version, version 4, has fixed that problem.
|
|
|
Post by metro on Apr 23, 2021 18:50:33 GMT -5
Several years ago Jay Shrimpton wrote a very nice appointment book that I have been using for years. A couple of years ago I added a section that allowed the user to print out appointments 30, 60, 90 and 120 day out. However I just discovered if you tried to print out say for 60 days and there were no appointments beyond 60 days, the program would basically crash but instead it printed @ forever. This version, version 4, has fixed that problem.
Thanks for sharing , I have not had a chance to go through the code, does the program require an initial Db to be in the main folder? I note I do need the Dll TRM.DLL (64 KB) I tried to save an appointment, the program hangs
|
|
|
Post by mknarr on Apr 25, 2021 8:48:29 GMT -5
I believe it does have to be in the same folder as the program.
|
|
|
Post by BeeTrap on May 4, 2021 11:42:11 GMT -5
Hello mknarr! Just a note: your name appears in several of my code projects as a recognition of being the "source". I have been playing with this appointment book and I too have issues with "Protection Faults". Sometimes the program actually runs, other times not. My question is, there is a "CallDLL #user32, "MoveWindow",_" that is between "Sub SendMessageLong hWnd," and "Function MakeTextWindow(hW,x,y,w,l,font$,style)", should this be moved? Thanks for any clarification as the interface does look very useful.
Followup: Just found that there are 2 "function CallTsunami(" functions. They are roughly similar, but different value returned. Normally I just beat on code till I figure these things out on my own, but been too busy with chores to dedicate the usual amount of "LibertyBasicing" for my mental exercise.
Nevermind on the "Followup", noticed that they are CallTsunami and CallTsunami$. Did not see the "$" before, sorry!
|
|
|
Post by mknarr on May 4, 2021 18:16:13 GMT -5
I'm going to be honest. Jay wrote all the original code. I only added the ability to print and moved the file to the main window.
|
|
|
Post by metro on May 4, 2021 19:39:19 GMT -5
After a 2 minute scan of the code I think we need an empty copy of the "Appointments.dat" I could spend more time deducing the schema (which looks simple) but it would be easier if mknarr could provide a copy.
The code is missing a create function for the Db having no experience with dBase IV I'm only guessing this is what is needed along with field information
'========= opcode 14 - create record ============= function CreateDatabase(file$, definition$, overwrite ) Tsu.op.struct = 14 Tsu.dataptr$.struct = definition$ Tsu.datalen.struct = len(definition$) Tsu.keyptr$.struct = file$ Tsu.keylen.struct = len(file$) Tsu.keyno.struct = overwrite calldll #tzunami , "trm_udt", Tsu as struct, result as long error(1) = result error$(1) = errorlist$(result) CreateDatabase = result end function
|
|
|
Post by mknarr on May 5, 2021 9:09:38 GMT -5
After a 2 minute scan of the code I think we need an empty copy of the "Appointments.dat" I could spend more time deducing the schema (which looks simple) but it would be easier if mknarr could provide a copy.
Metro you are correct. I tried the program without a .dat and it crashed so I deleted everything in the file, ran the program and here is the file. But it now is not empty and I assume it contains the needed information. The program does start up now.
Edit, I have gone back and updated my original post to include the blank appointments.dat file and also the TRM.dll file. Thanks for the heads up guys. AS I said, I didn't write the original program and didn't know about needing a blank file to get started. I also wrote a companion program that as an exe I can run it each morning at 7:00 AM in the Task Schedular and it will tell me today's and tomorrow's appointments. To me that is the best part of the program. I'll also add that to my original zip.
|
|
|
Post by metro on May 5, 2021 19:02:17 GMT -5
Thanks mknarr!
|
|