Appointment manager

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
User avatar
Fangbeast
PureBasic Protozoa
PureBasic Protozoa
Posts: 4747
Joined: Fri Apr 25, 2003 3:08 pm
Location: Not Sydney!!! (Bad water, no goats)

Appointment manager

Post by Fangbeast »

**Information**

Due to my sense of humour and suggestions from my family, I've made a little event manager (because of many doctors, hospital, dental, eye visits and more) and it runs in the same vein as my other 'Muncher' programs (You can blame my family for the 'Muncher' theme in everything.

It's ugly like me, loaded with crap for me and only designed for my taste but for all that, i'd like some suggestions from people other than "Go away", "leave the sheep alone" and "I've never seen a human in that position before" etc.

Done in PB 5.22LTS X86 and no dependancies.

Thanks for all the help from the forum with my many bugs too.

**Link below**

http://members.westnet.com.au/bangfeast ... Muncher.7z

**Update** v1.20b
1 Application is compiled unicode

2 Import and export have been added. This works as XML data.

3 Thorsten Hoeppner's Xml2TXT and Txt2Xml have been added for import/export. I didn't realise how many characters could cause trouble in XML files till I saw his 'filters'

4 Minimise to tray (If I haven't already mentioned it)

5 Error logging. Module name and error string are written in app temporary directory. The list isn't written out to disk till it has either reached 50 entries or at program's end.

6 Shortcut keys defined in constants file so only one file ever needs editing.

7 All information strings are in constants file, one place for all literal user changeable strings. This may help people with multilanguage changes.

8 Missing icons and menu entry strings have been added (And I did miss quite a few)

9 Popup menu strings are formatted with keyboard shortcuts on the right. Easier to do now that everything is constants fed.

10 More sorting out of procedures in logical groups for easy editing (for me anyway)
Still on a quest to make all gadgets 'flat' and borderless and colourable but that will come as the forums wizards teach me their API-Fu. Provided I don't burn out again! (And understand what they show me LOL)

Someone else make my gui look nice and flat and add features?? Pretty please??? But, use nice long-winded variable names so I can follow what you are doing!! (I will beg!)
Last edited by Fangbeast on Tue Jul 29, 2014 1:03 pm, edited 3 times in total.
Amateur Radio, D-STAR/VK3HAF
yrreti
Enthusiast
Enthusiast
Posts: 546
Joined: Tue Oct 31, 2006 4:34 am

Re: Appointment manager

Post by yrreti »

Hi Fangbeast

I tried to send a private message to you because I would really like to test it out as I need an Appointment manager,
and I received this message:
Some users couldn’t be added as they have disabled private message receipt.
User avatar
Fangbeast
PureBasic Protozoa
PureBasic Protozoa
Posts: 4747
Joined: Fri Apr 25, 2003 3:08 pm
Location: Not Sydney!!! (Bad water, no goats)

Re: Appointment manager

Post by Fangbeast »

yrreti wrote:Hi Fangbeast

I tried to send a private message to you because I would really like to test it out as I need an Appointment manager,
and I received this message:
Some users couldn’t be added as they have disabled private message receipt.
Yes, sorry about that. I had it disabled because for the last 7 months, we have been running around looking after my mother in law. It has been just about the biggest saga in our lives and left no time or room for anything.

I'll turn it back on and hope that our dramas are over (they seem to be) in between me going to and forth from my own appointments. Just don't expect much from my little bit of code, it's tailored exactly to my needs.

Send you a message shortly
Amateur Radio, D-STAR/VK3HAF
yrreti
Enthusiast
Enthusiast
Posts: 546
Joined: Tue Oct 31, 2006 4:34 am

Re: Appointment manager

Post by yrreti »

Thanks Fangbeast
Sorry your family is having so much troubles over the past few years. :(
User avatar
Fangbeast
PureBasic Protozoa
PureBasic Protozoa
Posts: 4747
Joined: Fri Apr 25, 2003 3:08 pm
Location: Not Sydney!!! (Bad water, no goats)

Re: Appointment manager

Post by Fangbeast »

yrreti wrote:Thanks Fangbeast
Sorry your family is having so much troubles over the past few years. :(
Thanks for the kind thought but I am not alone. Being on amateur Radio, I find almost everone in the same boat!!
Amateur Radio, D-STAR/VK3HAF
User avatar
electrochrisso
Addict
Addict
Posts: 980
Joined: Mon May 14, 2007 2:13 am
Location: Darling River

Re: Appointment manager

Post by electrochrisso »

That explains why I couldn't get back to you a while back Fang, I hope everything works out for you mate. :)
People of our age will get problems, as our family piers are getting aged, last year both my dad and one of his sisters died within a month of each other, I had two funerals to attend to. They lived well into their late eighties and had relatively good lives, which was good.
PureBasic! Purely one of the best 8)
yrreti
Enthusiast
Enthusiast
Posts: 546
Joined: Tue Oct 31, 2006 4:34 am

Re: Appointment manager

Post by yrreti »

Hey Fangbeast

At first glance I noticed that the following Procedures are missing and possibly not written yet:

Code: Select all

          
          Case #Shortcut_Find                           : ;FindAppointments()
          Case #Shortcut_Help                           : ;HelpAppointments()
          Case #Shortcut_Print                          : ;PrintAppointments()
But I am very impressed with your program. Well done!!!
Icons and everything, you did a very nice job. It's perfect for things I would need it for too.

Thanks very much for sharing this program and your talent.
User avatar
Fangbeast
PureBasic Protozoa
PureBasic Protozoa
Posts: 4747
Joined: Fri Apr 25, 2003 3:08 pm
Location: Not Sydney!!! (Bad water, no goats)

Re: Appointment manager

Post by Fangbeast »

That explains why I couldn't get back to you a while back Fang, I hope everything works out for you mate. :)
Everyone is in the same boat!!! With our communities connected more than ever, we are findign a lot more sorrow that was probably always there but we never knew about. Precious little joy or we are no longer able to recognise it.
last year both my dad and one of his sisters died within a month of each other, I had two funerals to attend to.
I've lost a lot of people (Family, friends, radio contacts) in the last 10 years and it makes me so sad.
Amateur Radio, D-STAR/VK3HAF
User avatar
Fangbeast
PureBasic Protozoa
PureBasic Protozoa
Posts: 4747
Joined: Fri Apr 25, 2003 3:08 pm
Location: Not Sydney!!! (Bad water, no goats)

Re: Appointment manager

Post by Fangbeast »

Code: Select all

          
          Case #Shortcut_Find                           : ;FindAppointments()
          Case #Shortcut_Help                           : ;HelpAppointments()
          Case #Shortcut_Print                          : ;PrintAppointments()
The find is going to be an advanced SQL fined where you can select one or more fields to search and use a variety of SQL operators, just like all my previous programs.

Help will be a short built in help for the functions.

Print will be a print based on the web gadget like all my previous programs.

Still working on the multi alarm window module rather than the list I use now but InfraTec's sample code is smart and I am not:):)
But I am very impressed with your program. Well done!!!
I had so much help over the years that I just use what I have learned or been given, nothing impressive about that. Hopefully, I have put the right attribution in the correct areas for code that isn't mine.

In particular, NetMaestro's hover library allows me to do away with how ugly buttons look under windows 8.1 (Shudder)
Icons and everything, you did a very nice job
.

Thanks but..the Icons are from a very talented artist who calls himself MATTAHAN and the collection is called BUUF. I couldn't make these up in a million years. I'm just the assembly monkey.
It's perfect for things I would need it for too.
Well, that makes me happy. Nobody has had much use for my junk in 14 years except a mate int he police department who uses a tiny backup program that has been in use for 5 or more years.
Thanks very much for sharing this program and your talent.
The only talent I have is for making bad jokes (need new material!!). But please tell me if there are things I have to fix, rather be active than mope around here.
Amateur Radio, D-STAR/VK3HAF
yrreti
Enthusiast
Enthusiast
Posts: 546
Joined: Tue Oct 31, 2006 4:34 am

Re: Appointment manager

Post by yrreti »

Hi Fangbeast

Your very modest and appreciative in assigning credit to others. And those are good qualities.
But one thing where your talent shows, can be answered by your quote:
I'm just the assembly monkey.
There may be many contributed parts, which you can modify to your needs.
But it still take talent to be able to assemble all the parts into a good usable program.

I'm going to have to use it for awhile to check it out more, before I can provide more feed back.
But to add to what I said before then. (ha ha) Nice Moding and Assembly job!
jack
Addict
Addict
Posts: 1336
Joined: Fri Apr 25, 2003 11:10 pm

Re: Appointment manager

Post by jack »

Hi Fangbeast
I am no an eloquent person, so I will just concur with what yrreti said, this is a cool Appointment Manager. :)
User avatar
Fangbeast
PureBasic Protozoa
PureBasic Protozoa
Posts: 4747
Joined: Fri Apr 25, 2003 3:08 pm
Location: Not Sydney!!! (Bad water, no goats)

Re: Appointment manager

Post by Fangbeast »

jack wrote:Hi Fangbeast
I am no an eloquent person, so I will just concur with what yrreti said, this is a cool Appointment Manager. :)
I worry about Yrreti, he drinks far too much!!! Wait til you see how badly i've messed up the code in the forked version of the original code (for multi window alarm rather than list)!!!

He will hit the vodka harder than usual!

Don't worry, the original source code is safe and I will fall back to it when my rains hurt too much from tackling this new idea.
Amateur Radio, D-STAR/VK3HAF
User avatar
Fangbeast
PureBasic Protozoa
PureBasic Protozoa
Posts: 4747
Joined: Fri Apr 25, 2003 3:08 pm
Location: Not Sydney!!! (Bad water, no goats)

Re: Appointment manager

Post by Fangbeast »

The below is the current link to my family web pages. I have made fixes to loads of stupid mistakes, the alarm module was the worst.

http://members.westnet.com.au/bangfeast ... Muncher.7z

Just briefly:

1. All active appointments are set in bold to the calendargadget at program startup.
2. StickyWindow and ToolTip button images are now correct
3. An about window was added.
4. Shortcut keys were changed, check the source code.
5. Shortcut key text is added to the balloon tooltips.
6. PostEvent is used in several places to replace clumsy gadget event firing. Elegant.
7. The alarm module has duplicate checks for deleted and inactive appointments removed and now also sports the same icons as the main list. I know I duplicated some structures but didn't know how else to do it. So many things were fixed there.


I need help with two routines because I am not strong in logic. The first routine sets the correct icon based on the hour of the day/night. I know this isn't right. HourCheck.i contains a value between 0 and 23, is there a better way to work this?

Code: Select all

  HourCheck.i = Val(StringField(Appointment\appTime, 1, ":"))
    Select HourCheck.i
    Case 0 To 12
      ChangeIcon(#Gadget_AppointmentMuncher_Appointments, LineNumber.i, 2, Icon\LightMorning)
    Case 12 To 18
      ChangeIcon(#Gadget_AppointmentMuncher_Appointments, LineNumber.i, 2, Icon\LightNoon)
    Case 18 To 24
      ChangeIcon(#Gadget_AppointmentMuncher_Appointments, LineNumber.i, 2, Icon\LightNight)
  EndSelect
The second routine is worse, I have not thhought it through properly. I should be checking agains tthe appointment date as well I think.

Oh well, the program works for now. Few bugs left and am 'fleshing out the status messages too.

Code: Select all

    AppointmentAlarm.i  = ParseDate("%dd/%mm/%yyyy", Appointment\appAlarm)  ; Turn text date into date integer
    CurrentDate.i       = ParseDate("%dd/%mm/%yyyy", Program\CurrentDate)   ; Turn text date into date integer
    
    If AppointmentAlarm.i < CurrentDate.i       ; If alarm date is less than today's date
      ChangeIcon(#Gadget_AppointmentMuncher_Appointments, LineNumber.i, 3, Icon\AlarmRed)
    ElseIf  AppointmentAlarm.i = CurrentDate.i ; If alarm date equals today's date
      ChangeIcon(#Gadget_AppointmentMuncher_Appointments, LineNumber.i, 3, Icon\AlarmGreen)
    ElseIf  AppointmentAlarm.i > CurrentDate.i ; If alarm date is greater than today's date
      ChangeIcon(#Gadget_AppointmentMuncher_Appointments, LineNumber.i, 3, Icon\AlarmBlue)
    Else
      ChangeIcon(#Gadget_AppointmentMuncher_Appointments, LineNumber.i, 3, Icon\AlarmBlank)
    EndIf
Amateur Radio, D-STAR/VK3HAF
User avatar
Fangbeast
PureBasic Protozoa
PureBasic Protozoa
Posts: 4747
Joined: Fri Apr 25, 2003 3:08 pm
Location: Not Sydney!!! (Bad water, no goats)

Re: Appointment manager

Post by Fangbeast »

Stupid question but, does anyone want me to keep on working on this program? I've made some changes and added a few things, fixed bugs etc (added some more bugs).
Amateur Radio, D-STAR/VK3HAF
User avatar
electrochrisso
Addict
Addict
Posts: 980
Joined: Mon May 14, 2007 2:13 am
Location: Darling River

Re: Appointment manager

Post by electrochrisso »

Keep on coding Fang, I had better take a look at yours and see how it compares to the Events Calendar program I made up a couple of years back, and I am still using it, I think it has gone through the beta test long enough now, so I might release it soon (source included) for the PB community to look at, find bugs etc. :)
PureBasic! Purely one of the best 8)
Post Reply