home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1998 #3
/
amigamamagazinepolishissue1998.iso
/
bazy
/
phonebase
/
phonebase.history
< prev
next >
Wrap
Text File
|
1996-10-12
|
10KB
|
228 lines
PhoneBase programing diary (C) Anthony Brice 1996
-------------------------------------------------
PhoneBase is a quick and simple gui name and address database written to
learn the use of newtype routines and using them within Blitz. A freebie
program for anyone who finds a use for it as it's not intended to be a
really powerfull application, and these kind of programs are ten a penny.
Wednesday 21st February
-----------------------
Needed to learn the newtype functions within Blitz and considering the
examples to use these routines documented in the manual are example snips
from simple database programs, I thought it would be a good idea to knock
up a fully functioning one myself to work with.
Gadtools is the order of the day and I took a little time over the gui to
put in buttons which I thought I would be needing within the program once
it is finished as I'm not planning the program before writing it. Name,
Address and Phone number details are all it really needs to store so three
string gadgets, and buttons for Next, Previous, About, Save, Add and Delete
are put in. Also added a Search button just before converting the gui into
source code so I can put a search record routine into the program later
on as that's always handy.
End of V0.1
One gui up and running, and the simple bits like about requestor, displaying
the data and moving backwards and forwards through records already works. No
save routines so I have to keep putting data in to check these functions so
that's next priority. Really could have used a bit more thought on the gui
at first as it needs descriptions for what text each string gadget needs, as
well as a visual indicator of number of records in memory, and what record
you are currently viewing. That'll teach me to not think hard first :)
One text gadget added to display current record and total records. Had to
shorten the phone number string a bit but it's not really a major problem.
End of V0.2
Thursday 22nd February
----------------------
As I'm planning to show this thing to Phineas later on today, it really needs
to have a few more of the functions working before I do some of the minor
fine-tuning bits I wanted to get out of the way. Built up a simple file
structure to use as a save and load routine and realised that I only had a
save gadget and not one for save and load. I could have made it load the
file as soon as it's run, but that's a bit restrictive really. Settled for
just changing the Save gadget to I/O and making it pop up a requestor asking
if it should save or load the data. That'll do for now, but I think I'll just
shorten the I/O gadget, as it's big at the moment, and add another one so the
program can have two seperate buttons. I won't need to make the window bigger
that way, and have to move all the other gadgets around accordingly.
Save and load routines now, after a bit of a problem with key reading strings
for some reason, work.
The Delete button now deletes the currently displayed record and sorts the
other ones out accordingly. Works nicely considering I just threw in the
code and didn't need to do any debugging :)
End of V0.3
Later
-----
While round the Relics house, I added the bits to auto activate the gadgets
when Add was selected so you didn't need to play with the mouse. Might well
be an idea to put all the gadgets as hotkeys a little later on. I've got
code to do that already care of the clever partner.
Friday 23rd February
--------------------
With no option to jump to a particular record it's a bit fiddly. I wanted
to set it up so clicking on the text gadget for the current record would
prompt for a number, but there doesn't appear to be a way to get a return
code from that, so I've settled for making it shorter (it was lengthy anyway
as I was using it for throwing debugging text onto until now) and putting
another gadget next to it saying Jump.
Jump button in and working. At the moment it just toggles between first
and last record. That'll do until I get time to search the libraries for
a number requestor routine so the user can select a record. Could really use
a text string in there now for displaying messages such as errors. Think
I'll extend the window a few lines at the bottom to put one in, and add it
to the display routine.
Made the default display show what info goes in each string when it first
runs. Temporary fix as there's no other way of knowing as yet. Pity I'm not
going for a full application here. I could have made that configurable :)
Maybe when I have more time. I've got a game to co-write next.
End of V0.4
Saturday 24th February
----------------------
Converted the I/O gadget to Load gadget and added a Save gadget by making
the load one smaller, and adjusted the gadgets list accordingly.
Tidied up the gadgets a bit so they were laid out nicely with the new ones.
Also fixed up the save and load gadgets so they actually did save and load :)
End of V0.5
Sunday 25th February
--------------------
Rewrote the Jump button routine to prompt for a record number to jump to.
Moved the Jump gadget next to the Name field, and added a first and last
gadget next to the current record display. Much easier to navigate now.
Fixed PhoneBase to work with topaz font as a default. I had it set to pearl
which peeps may not have :)
Added in backup file to the save routine. Now the program will rename the
old file to PhoneBase.dat.bak before writing the new one. It only keeps
one back up obviously, but that's more than most programs, and it could save
a huge fuck up if the user saves a file without loading the old one first.
Trying to decide if it should open the file automatically if it exists on
startup. Yeah, it's a good idea. Done.
On the cards for tommorow. Shorten the prev and next gadgets so I can add
an alpha button which will be used later to put in an alphabetical sort
routine based on the Name field.
Wrote the docfile. Short and sweet. It does the job :) Just do a sort and
search routine, and work out how to let the user configure how many records
they wish to use, and that'll be it.
End of V0.6
Thursday 29th February
----------------------
Added in the new Sort gadget, changed constants and gadget positions so that
the gui looks nice, and added in a temp requestor prompt for the new gadget
so it reports that it isn't functioning yet.
End of V0.7
Friday 1st March
----------------
Added in the routine for finding records. At the moment it will just search
the name field of every entry until it gets a match of however many characters
you use. I'll expand it to check other fields maybe later on.
Thinking about maybe using one of those groovy progress requestors for routines
which scan the records such as sort/find and the save/load routines. Might look
nice. Perhaps I should just leave that until I have the time :-)
Adjusted the documentation a touch to reflect how the program looks now. I
wrote it a few days back and even though it's coming along exactly how I wrote
it down to work, I'd changed some stuff to make it work better since the doc
was written.
Just the Sort routine to go I believe now.
End of V0.8
Tuesday 5th March
-----------------
Changed the load and save routines so that it will only attempt to load files
which have an identifier string in the saved data. Otherwise you could load
anything, which is potentially very dangerous.
End of V0.9
Wednesday 6th March
-------------------
Changed every requestor in the program to reqtools instead. MUCH Nicer! :)
Still seem to have a clash where once this program has run once any other
blitz program won't show its gui unless it's constantly running afterwards.
Dunno what that problem is as yet :(
Thursday 9th May
----------------
Blame MCP crashes with Blitz and many MUI problems with my dodgy ram board for
delays in finishing this program off. Those problems are now sorted, and so
hopefully I'll be able to finish this thing off today.
Done some minor cosmetic work and hopefully fixed the gadtools conflicts which
messed up programs running after PhoneBase has run.
Started work on the Sort function. It works fine using the first letter of
the strings and A-Z are in the correct order. What I'm trying to do is subsort
the thing so it will sort via the second,third etc letters in the string so
that Aaron would come before Anthony etc. No luck as yet, but I feel I'm
pretty close :-)
End of V0.10 - released on BlitzUserMagazine issue 9.
Saturday 20th July
------------------
Hmmm, been a while since the last entry. Not slackness on my part for once,
however :-) Phonebase up to the last revision finally made it onto Blitz User
Magazine issue 9. A good start. Haven't had opportunity to work with the beast
since then due to other major projects, but the closure of my bbs has left me
with more time for programming, so hopefully things will improve now.
Did some work on the exit program routine after tidying up several of my other
source code files, to see if I could fix up the gui problems with some other
programs running after phonebase has been quit. Not much luck, but I'm not done
yet :-)
End of V0.12
Sunday 13th October
-------------------
Finally found the dreaded intuition bug that stopped me releasing PhoneBase
properly. Turned out I'd locked the flippin' workbench screen before trying
to use a font on it. Major o/s havok ensued with most gadtools stuff no longer
working until a reboot. Five minute fix to a bug which has hounded me for
months. One happy bunny :-) PhoneBase now works just fine and is stable as a
rock. Could use a better sort routine still, however.
End of V1.0 - release version.