Address Book - Birthdates

I am fairly new with the imac and learning how to use the address book.  Previously we had an adddress book on Windows where we could list every person in the family including the children with their birthday.
If I want a family contact and list the spouse and children in this contact it appears I can only have the birthday of the contact.  So do I have to start a new contact for every member of the family in order to have their birthday listed and sync with ICal?  If so how do I keep the family together?  Hope I don't have to make a group for every Family in order to do this!
Thanks for any information.  Hope i'm missing something!

the script did not work for me
python fixBirthdays
Traceback (most recent call last):
File "fixBirthdays", line 6, in <module>
import AddressBook
ImportError: No module named AddressBook
further, the particular one vcard that is misbehaving - i exported it, and opened in Tedit.
this is what isee for the date field.
item1.X-ABDATE;type=pref:2003-06-17
year is not negative either.
i unchecked and checked birthday calendar in iCal. exited iCal after uncheck, relaunched iCal and checked that option.
no show of the birthdate.
stumped.

Similar Messages

  • Address book dates to ical?

    Is there any way of importing address book birthdates (for example) into iCal? Does anyone know? This is bugging me now...

    Right, I'm going to quote the help viewer help from searching for help on entering birthdays..
    "iCal Help
    Adding events to a calendar
    You can add any kind of event to your calendars, including appointments, birthdays, or other activities. You cannot add events to a calendar you've subscribed to. (Subscribed calendars have a curved arrow beside them in the Calendars list.)
    1      Click the name of the calendar you want to add an event to.
    2      To create a new event in Day or Week view, drag from the start time to the end time for the event, then type a subject for the event. In Month view, double-click the white area on the day you want the new event to appear, then type a subject.
    To create an event that lasts all day, create an event of any length and click the Info button in the bottom-right corner of the window. Then select the "All-day event" checkbox in the Info drawer. (All-day events are shown across the top of the day in the main calendar view.) If you want your all-day event to last multiple days (for example, for a vacation), drag a corner of the event across the days in the main calendar view, or enter the different start and end dates in the Info drawer.
    You can also create an event that spans multiple days but is not an "all-day" event by dragging across multiple days in the main calendar view. Events that span multiple days appear in the main calendar view (not at the top of the day), and can begin or end at any time during a day.
    3      To make any other changes to your event (for example, how often it repeats or whether it has an alarm), click the Info button in the bottom-right corner of the iCal window to open the Info drawer.
    In Day or Week view, you can also double-click the bar along the top of the event (where the event's start time appears).
    4      If the selected event will take place in a different time zone (for example, if you will be traveling to another location for a meeting), choose iCal > Preferences and make sure the "Turn on time zone support" checkbox is selected. Then choose a time zone for this event from the "time zone" pop-up menu in the Info drawer.
    The event appears on your calendar at the adjusted time. Turning on time zone support also allows you to view all the events in the main calendar view in a different time zone than your computer's time zone. For more information, click "Tell me more."
    5      To invite someone to the event, click None next to "attendees" (or if you see a name, click the name) and type the email address of each person you want to invite, separated by commas. (For example, [email protected], [email protected].)
    Any matching names in your Address Book appear as you type. For more information, click "Tell me more."
    6      To see an icon in the top-right corner of the event that indicates the event's status, choose an item from the "status" pop-up menu.
    7      To make this a regularly occurring event, choose an item from the "repeat" pop-up menu.
    8      To receive an alarm before the event occurs, choose an item from the "alarm" pop-up menu.
    To have iCal open an application or file before the event occurs, choose Open File, then choose the item you want to open from the first pop-up menu.
    9      To add a URL to this event, click the text next to "url" and type a URL.
    You may want to do this if the event has a website associated with it. To type more than one URL, separate each URL using commas. For example, http://www.apple.com, http://www.apple.com/support. You can also drag a URL from your browser's URL address field to the "url" field in iCal.
    10      To type any notes about this event, click after the word Notes and then type."
    And:
    "iCal Overview
    iCal is a personal calendar application that lets you easily keep track of appointments, view multiple calendars at the same time, share your calendar information with others, and more. Here are some of the key things you can do using iCal:
    ¥     Use iCal for all your calendar needs: remembering birthdays, keeping track of deadlines,

  • Birthdates in Calendar not same as recorded in Address Book.  e.g. entered 5 Dec 1974 in Address book but shows as 4 Dec birthdate in calendar? any suggestions please?

    Birthdates in Calendar not same as recorded in Address Book.  e.g. entered 5 Dec 1974 in Address book but shows as 4 Dec birthdate in calendar? any suggestions please?

    You might get a better response in the iSync forum, as your question is about syncing.

  • Birthdates from address book transfer to calendar wrong????

    When I did all my adderss book cards entering the birthdates a couple of them transferred to the ical onto wrong months. Then when I went into the address book card and changed the date again to the correct date and later went back to check it again I noticed that the date had reverted back to the wrong month again on the calendar. All the other entries transferred correctly. Any ideas on how to fix this glitch????
      Mac OS X (10.4.7)  

    In AB try putting the dates in as eg 10 Sep 2000
    rather than all numerals, as I think iCal gets
    confused between 9/10/2000 and 10/9/2000.
    AK
    I TRIED THAT BUT IT DIDN'T WORK EITHER. IT AUTOMATICALLY CHANGED IT BACK TO JANUARY 19, 1955 AFTER I PUT IN 19 SEPTEMBER, 1955????
    ANY OTHER IDEAS??
      Mac OS X (10.4.7)  
      Mac OS X (10.4.7)  

  • Address Book always chooses 5th for birthdate to display

    Hi,
    I use MobileMe to sync my iMac at home and my MBP at work, as well as my iPhone. All work fine, except recently the MBP. In the Address Book for it, when I type a birth date for a contact, regardless of what I type, the day portion of the field always becomes 05 (i.e. 5th) when I leave the field and/or finish editing the contact. The month and year info is correct and remains what I type it to be, but the day does not. If I click back in the field, it shows the day I typed but if I click out of it again, it goes back to the 5th. MobileMe, the iMac and iPhone all display the correct day in all cases but the MBP shows every contact with a birthday to be the 5th, although month and year are correct. Has this happened to anyone else and/or does anyone have any suggestions? Thanks!

    hmm, just to completely eliminate syncing problem turn off syncing on that computer and reset the sync folder. make sure AB is not running at the time.
    http://support.apple.com/kb/TS1627
    then delete the AB database file again, start AB and and see if it works. also, do the dates display correctly in finder when you view modified and created times for files?

  • Cannot print from Address Book! Print freezes and will not proceed.

    I want to print an address list for Christmas cards. When I select the Group, select all and select Print I get the option box. I then select my printer and use the down arrow to open the dialog box that shows I am printing from Address Book and gives the different forms I can use (ie list, label, envelope) as well as the fields to include in the list. Once I have everything selected I click the Print radio button. All of the information under the Address Book options line disappears. Print remains highlighted and my printer Que never opens or appears. If I manually open the printer there is no print job showing. At this point the Address Book application is frozen. I cannot select cancel on the print dialog box (I can click it, but it does not highlight and it does not close the dialog box! In order to get out of this situation I have had to close Address Book. The quit option on the menu does work and Force Quit is unnecessary.
    I actually spoke with AppleCare on this issue on Friday 05 Dec 2008. The tech I spoke with knew of no other such situations, but when I started checking on this discussion page I see a posting from REECO from clear back on 24 Sept 2008. His posting can be found at http://discussions.apple.com/message.jspa?messageID=8161605&tstart=0
    The technician had me do several things. One was to pull my Caches folder out of my system Library folder. He also had me remove some Address Book preference items. The end result of these actions was a Mac Pro that would not boot! (The failure followed an Address Book crash with a "KERPROTECTIONFAILURE" and the message that some QualityMedia plugin might have created the problem!)(I could find no such plug in either on my system or via Google search!) The tech had asked me to boot to safe mode by booting while holding down the shift key untill the spinning gear appeared. The machine never progressed to a successful boot! I ended up having to use a 2nd hard drive and physically place it in internal slot 1 on my Mac Pro proceeding to reinstall Tiger! The bad news is that this did NOT solve my printing problem.
    If I am attempting to print from a new install with just the Apple address card and the Owner's card in Address book the print proceeds fine. Once I import my data I am back to the same print failure.
    Some diagnostic steps I have tried. I have tried USB local printers and bonjour printers. I have used Epson and Canon printers. I have tried to print to a PDF. I have tried printing from another computer (12 inch PowerBook) with identical results!
    At this point I am going to call AppleCare Monday morning and see if anyone there has any more suggestions. Any suggestions this forum has will be received gratefully!

    I was having the same crash or "just not print" problem as seen in other posts. I was able to fix it however, by making changes in some of the address cards I was going to print. By editing the "parent", "child", "spouse" fields which will get added to the name line of the label, I was able to get labels to print (or pdf preview) without difficulty.
    I did not try and determine exactly what the problem was, but basically did a data cleanup. Since I didn't know that those fields would print, I had previously included information beyond just a name in the fields, like birthdates and such, eg. "Jimmy - 12/1/05". After either removing the fields entirely where I didn't really need them, or just cleaning them down to names only, they printed just fine. I'd considered trying to disable the feature entirely but the data cleanup was not hard for a dozen or so names.

  • Multiple birthdays in Address Book on one card

    Hi. I am trying to figure out how to list multiple birthdays for an entire family on one card in AddressBook. For example...
    My sister has 3 children. I have her name in AddressBook that synchs with I-Cal.
    I have her birthday listed but I want to find a means to list her childrens birthdates on the same address card so they appear in I-Cal too.
    thanks..

    Hi,
    You could add the birthday dates as custom dates in Address Book and use Dates to iCal.
    Best wishes
    John M

  • Address Book now showing all LDAP attributes

    The Address Book does not provide access to all LDAP attributes. For example
    homePhone
    homePostalAddress
    labeledURI
    are some of the fields currently left out. It would be nice if it was possible to configure the schema mapping, similar to thunderbird which allows the mapping off all the field it know about to corresponding LDAP attributes. Also inetOrgPerson, even though it is the defacto standard is rather due for redesign.
    I am just wondering if anybody else if having this problem and if they found a solution?

    the script did not work for me
    python fixBirthdays
    Traceback (most recent call last):
    File "fixBirthdays", line 6, in <module>
    import AddressBook
    ImportError: No module named AddressBook
    further, the particular one vcard that is misbehaving - i exported it, and opened in Tedit.
    this is what isee for the date field.
    item1.X-ABDATE;type=pref:2003-06-17
    year is not negative either.
    i unchecked and checked birthday calendar in iCal. exited iCal after uncheck, relaunched iCal and checked that option.
    no show of the birthdate.
    stumped.

  • Address book, issues with adding birthday dates

    Anyone having trouble when adding a birthdate to a contact in address book. When adding or importing, the date will show ex.. february 27th 201002. its adding the the month at the end of the year. Tried editing, unable to choose a specific month, can only change the day and year. Even when editing, the month part is not changing, its listed and stays at 00/ . using the delete button is deleting 4 characters, not 2, for the month section, if anyone can help, i would greatly appreciate it.

    Hi,
    Open the *System Preferences* > International > Formats tab and change the Region from Custom to your local one.
    Let me know how it goes
    Best wishes
    John M

  • Cannot make long distance calls when dialing from BB address book

    Hello, 
    1) If use a number from my address book, example 1-604-824-2021, to call long distance I get a message "all long distance calls must include the area code.  Please check the number and dial again."   If I use the telephone pad to call the exact same number, eg 1-604-82402021, the call goes through.  Is there a setting to adjust?  Please advise.  Thank you.
    2) I synched my BB to Outlook 2007 on my pc in order to print a hardcopy of my contact list.  The sync worked fine but only gave me the contacts with an email address and their name.  Contacts on my BB without email addresses didn't show on the list and all details, addresses, birthdates, and most importantly phone numbers for any contacts didn't show up.  Is there a way to get ALL the contact details on a hardcopy?  Thank you.
    The folks at Telus can't help because they apparently don't know BB products well enough.  I'm not about to pay BB technical to tell me how to use their product but i might take the service providers advise to buy an iPhone.  Can someone offer advise to solve these two seemingly simple issues
    Thanks again.
    Ralph
    Solved!
    Go to Solution.

    Hi and Welcome to the Community!
    ralphhr wrote:
    1) If use a number from my address book, example 1-604-824-2021, to call long distance I get a message "all long distance calls must include the area code.  Please check the number and dial again."   If I use the telephone pad to call the exact same number, eg 1-604-82402021, the call goes through.  Is there a setting to adjust?  Please advise.  Thank you.
    Please check your Smart Dialing settings...it may be that they are active, which could make the "1" in your Contact Item extraneous.
    KB20595 How to turn off the Smart Dialing feature
    ralphhr wrote:
    2) I synched my BB to Outlook 2007 on my pc in order to print a hardcopy of my contact list.  The sync worked fine but only gave me the contacts with an email address and their name.  Contacts on my BB without email addresses didn't show on the list and all details, addresses, birthdates, and most importantly phone numbers for any contacts didn't show up.  Is there a way to get ALL the contact details on a hardcopy?  Thank you.
    Interesting...it should sync everything...hmmm... Well, if your only interest is a hard copy, then an export might be just as simple. The Desktop Software can export to a CSV, which you could then render in Excel, and do with as you please. Unfortunately, the export feature was removed in the most recent versions of the Desktop Software (don't ask...it's a HUGE bru-ha-ha!!), and you must use an older version (6.x or lower, as I recall) to do that:
    http://www.blackberryos.com/downloads.php?do=cat&id=110
    Good luck!
    Occam's Razor nearly always applies when troubleshooting technology issues!
    If anyone has been helpful to you, please show your appreciation by clicking the button inside of their post. Please click here and read, along with the threads to which it links, for helpful information to guide you as you proceed. I always recommend that you treat your BlackBerry like any other computing device, including using a regular backup schedule...click here for an article with instructions.
    Join our BBM Channels
    BSCF General Channel
    PIN: C0001B7B4   Display/Scan Bar Code
    Knowledge Base Updates
    PIN: C0005A9AA   Display/Scan Bar Code

  • "Sept" automatically changes to "May" in address book

    Has anyone else had the weird experience of typing "Sept" into the birthday window of Address book 4.0 and watching it switch to "May" as you move onto the next window?
    This is consistent in my Address book. If I type "Sep" or Sep." all is ok. But if I type "Sept" or "Sept." or even "Septem" (or more of the name, etc.) without typing the entire month's name, it changes to May.
    Is there a fix for this?
    Thanks.
    Powerbook 15   Mac OS X (10.4.4)  

    I'm replying to my own post because I just discovered that other months have "issues" with any use of the abbreviations other than the standard 3-letter abbreviations. So, be careful when entering birthdates (and other dates) in Address book.

  • Address Book - Birthday Field question

    I was trying to make an entry on the birthday field in one of my contacts. The field does not give me an option to change the year of birth. It defaults to 2000.
    The other question is how can we set up alerts, so that we can maybe send out a card in advance? Thanks!
    Is there a way to fix this?
    imac user

    With the Address card in Edit mode you should be able to click the year field and after it highlights blue, change it to the year you need.
    According to Address book Help, in the Address Book Help Menu;
    You can keep track of contacts’ birthdays by creating a birthday calendar that automatically includes all the birthdays in your address book.
    1. In Address Book, make sure you’ve entered the birthdate for each contact whose birthday you want to track.
    2. In iCal, choose iCal > Preferences.
    3. In the General pane, select the “Show Birthdays calendar” checkbox.
    Birthdays in your address book are automatically added to the Birthdays calendar in iCal. When you add or remove birthday information in Address Book, the Birthdays calendar is also updated. You can’t make changes to the Birthdays calendar in iCal; to change it, you must edit the information in Address Book.
    You can check in iCal Help for info on setting alerts.

  • Address Book: Birthday field prob

    When I was trying to add birthday date in the address book, it picks up January as default, I can't edit the month. I can change only the date and year, but no option to change the month (previously it was fine, I have more than 100 birthday dates in calendar). Even it's the same after I restart my macbook.
    It's also observed by imac user http://discussions.apple.com/thread.jspa?threadID=1734178&tstart=0
    Help me to fix this new prob......

    With the Address card in Edit mode you should be able to click the year field and after it highlights blue, change it to the year you need.
    According to Address book Help, in the Address Book Help Menu;
    You can keep track of contacts’ birthdays by creating a birthday calendar that automatically includes all the birthdays in your address book.
    1. In Address Book, make sure you’ve entered the birthdate for each contact whose birthday you want to track.
    2. In iCal, choose iCal > Preferences.
    3. In the General pane, select the “Show Birthdays calendar” checkbox.
    Birthdays in your address book are automatically added to the Birthdays calendar in iCal. When you add or remove birthday information in Address Book, the Birthdays calendar is also updated. You can’t make changes to the Birthdays calendar in iCal; to change it, you must edit the information in Address Book.
    You can check in iCal Help for info on setting alerts.

  • Address Book 'Birthday' field not sync onto Palm e2 'Birthday' custom field

    Hi,
    In my OSX Address Book, I have a 'Birthday' field in which I want to isync to my Palm e2 contact.
    To date, I have not been able to transfer this information even though I have created a 'birthday' custom field in the palm device. This information does not get isync between Address Book and e2 Contact.
    Does anyone else have this problem?
    If you have solved it, I hope you can share this with me please.
    Thanks.
    Adrian
    MacBook   Mac OS X (10.4.10)  

    With the Address card in Edit mode you should be able to click the year field and after it highlights blue, change it to the year you need.
    According to Address book Help, in the Address Book Help Menu;
    You can keep track of contacts’ birthdays by creating a birthday calendar that automatically includes all the birthdays in your address book.
    1. In Address Book, make sure you’ve entered the birthdate for each contact whose birthday you want to track.
    2. In iCal, choose iCal > Preferences.
    3. In the General pane, select the “Show Birthdays calendar” checkbox.
    Birthdays in your address book are automatically added to the Birthdays calendar in iCal. When you add or remove birthday information in Address Book, the Birthdays calendar is also updated. You can’t make changes to the Birthdays calendar in iCal; to change it, you must edit the information in Address Book.
    You can check in iCal Help for info on setting alerts.

  • Address book .... importing text file

    I am designing an address book which opens a text file called AddressBook.txt which reads in the information in the following format:
    lastname,firstname,street,city,state,zip,phonenumber,birthday,persontype
    lastname2,firstname2,street2,city2,state2,zip2,phonenumber2,birthday2,persontype2
    etc. (with a maximum entries of 500)
    I am having a problem reading in the information without the commas and wrapping to the next line. I can either use the BufferedReader or Scanner to input the file and as you can see below, my code is not complete yet. I can't figure out how to code the storeAddress() method in order to get the addressBookEntries[] to include the necessary information for outputting, sorting, etc. If I can get the information read into the addressBookEntries[], I think I will probably be able to proceed in the rest of the required tasks (i.e. sorting by last name, searching by last name, etc.)
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.*;
    import java.util.*;
    import java.text.SimpleDateFormat;
    import java.io.*;
    import java.lang.*;
    *  @created September 14, 2004
    *  This program uses a JFrame to manipulate data and form an
    *  address book.  The user will be able to load data from a file,
    *  sort it by last name, print the address, phone number, and date
    *  of birth, print the names of people whos birthday are between 2
    *  dates, print the names of people between 2 last names, and/or
    *  print the names of different person types.
    public class AddressBook extends JPanel implements ActionListener{
        JFrame frame;
        final int numButtons = 7;
        JRadioButton[] radioButtons = new JRadioButton[numButtons];
        JButton process = new JButton("Process Request");
        JLabel title;
        JTextArea output = new JTextArea(30,50);
        int MAX_ADDRESS_ENTRIES = 500;
        AddressBookEntry addressBookEntries[] =
            new AddressBookEntry[MAX_ADDRESS_ENTRIES];
        String FILE_NAME="AddressBook.txt";
        public AddressBook(JFrame frame){
            super(new BorderLayout());
            this.frame=frame;
            JPanel choicePanel = createSimpleDialogBox();
            choicePanel.setBorder(BorderFactory.createTitledBorder("Choices" +
            " to choose from:"));
            title = new JLabel("<html><h2> Thank you for opening the " +
            "Address Book.  " +
            "Please Press the \"Process Request\" " +
            "after making a choice.</h2></html>\n",JLabel.CENTER);
            title.setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
            output.setEditable(false);
            add(title, BorderLayout.NORTH);
            add(choicePanel, BorderLayout.CENTER);
            add(output, BorderLayout.SOUTH);
            final ButtonGroup group = new ButtonGroup();
            final String saveCommand = "Save";
            final String sortByLN = "Sort by Last Name";
            final String searchLNCommand = "Search By Last Name";
            final String printAPD = "Print address, phone number, and DOB";
            final String printNamesDOB = "Print names of people whose birthday" +
            " falls between 2 dates";
            final String printNamesLN = "Print names of people who fall" +
            " between 2 last names";
            final String printPType = "Print all family members, friends, or" +
            " business associates";
        private JPanel createSimpleDialogBox(){
            radioButtons[0] = new JRadioButton(
              "<html>Save the address file</html>");
            radioButtons[0].setActionCommand(saveCommand);
            radioButtons[1] = new JRadioButton(
              "<html>Sort the address file by last name</html>");
            radioButtons[1].setActionCommand(sortByLN);
            radioButtons[2] = new JRadioButton(
              "<html>Search the address file by last name</html>");
            radioButtons[2].setActionCommand(searchLNCommand);
            radioButtons[3] = new JRadioButton(
              "<html>Print the address, phone number, and DOB of a specified" +
              " person</html>");
            radioButtons[3].setActionCommand(printAPD);
            radioButtons[4] = new JRadioButton(
              "<html>Print the names of people whose birthday falls between" +
              " two dates</html>");
            radioButtons[4].setActionCommand(printNamesDOB);
            radioButtons[5] = new JRadioButton(
              "<html>Print the names of people who fall between two" +
              " specified last names</html>");
            radioButtons[5].setActionCommand(printNamesLN);
            radioButtons[6] = new JRadioButton(
              "<html>Print all family members, friends, <u>OR</u>" +
              " business associates</html>");
            radioButtons[6].setActionCommand(printPType);
            for (int i=0; i<numButtons; i++){
                group.add(radioButtons);
    //set the first button (open file) to be selected
    radioButtons[0].setSelected(true);
    return createPane(radioButtons, process);
    private JPanel createPane(JRadioButton[] radioButtons,
    JButton showButton) {
    int numChoices = radioButtons.length;
    JPanel box = new JPanel();
    box.setLayout(new BoxLayout(box, BoxLayout.PAGE_AXIS));
    for (int i = 0; i < numChoices; i++) {
    box.add(radioButtons[i]);
    JPanel pane = new JPanel(new BorderLayout());
    pane.add(box, BorderLayout.NORTH);
    pane.add(showButton, BorderLayout.SOUTH);
    return pane;
    public void actionPerformed(ActionEvent e) {
    String command = group.getSelection().getActionCommand();
    //else if button pushed is save
    if (command == saveCommand){
    // save file
    //else if button pushed is search by last name
    else if (command == sortByLN){
    // search by last name
    //else if button pushed is sort by last name
    else if (command == searchLNCommand){
    // sort by last name
    // print to screen
    //else if button pushed is display address, ph#, dob
    else if (command == printAPD){
    // display "search by last name" dialog
    // search last names
    // if last name found
    // print data
    // else
    // print error notification "person not found"
    //else if button pushed is list names of people whose
    //bday between 2 days
    else if (command == printNamesDOB){
    // ask for which dates
    // search bday
    // print to screen
    //else if button pushed is print names of people between 2 last names
    else if (command == printNamesDOB){
    // ask for which two last names
    // search last names
    // if people found
    // print to screen
    //else
    //print error notification "no one found"
    //else if button pushed is print all family members, friends
    //or business associates
    else if (command == printPType){
    //ask for what person type
    //search person types
    //if people found
    //print to screen
    //else print "no one found"
    public void storeAddress(File addressFile){
         Scanner sc=null;
    String lname,fname,street,city,state,zip,phone,persontype,bday;
    try {
    // Delimiters specifiy where to parse tokens in a scanner
    sc = new Scanner(addressFile).useDelimiter("\\s*[\\p{,}*\\s+]\\s*");
    catch (FileNotFoundException fnfe) {
         JOptionPane.showMessageDialog(this,"Could not open the file");
    System.exit(-1);
    for(int i=0; i<MAX_ADDRESS_ENTRIES; i++){
         while (sc.hasNext()) {
    lname=(sc.next());
         if (!lname.equals("")){
         addressBookEntries[i].setLName()=lname;
    public class AddressBookEntry{
    private extPerson address;
    private String date;
    private extPerson ExtPerson;
    public class Person{
    protected String lastName, firstName;
    private String address;
    private String city;
    private String state;
    private String zipcode;
    private String homephone;
    private String extPersonType;
    private Date bday;
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-DD");
    public String toString() {
    return lastName+" "+firstName;
    public void setLName(String last) {
    lastName=last;
    public void setFName(String first){
    firstName=first;
    public String getLastName() {
    return lastName;
    public String getFirstName() {
    return lastName;
    public Person() {
    lastName="";
    firstName="";
    public Person(String first, String last){
    setLName(last);
    setFName(first);
    //Set the address and return it
    public void setAddress( String addr ){
    address = addr;
    public String getAddress(){
    return address;
    //set the city and return it
    public void setCity( String town ){
    city = town;
    public String getCity(){
    return city;
    //set the state and return it
    public void setState( String st )
    state = st;
    public String getState()
    return state;
    //Set the zip code and return it
    public void setZipCode( String zip ){
    zipcode = zip;
    public String getZipCode(){
    return zipcode;
    //Set the home phone and return it
    public void setHomePhone( String homeph ){
    homephone = homeph;
    public String getHomePhone(){
    return homephone;
    //Set the bday and return it
    public Date getBday(){
    return bday;
    public void setBday(Date newBday) {
    bday = newBday;
    dateFormat.format(bday);
    //Set the extPerson type and return it
    public String getPType(){
    return extPersonType;
    public void setPBusiness(){
    extPersonType = "Business Associate";
    public void setPFamily(){
    extPersonType = "Family Member";
    public void setPFriend(){
    extPersonType = "Friend";
    public class extPerson extends Person{
    //new clss People
    public class People {
         int MAX_PEOPLE=500;
         BufferedReader bf;
    public String toString() {
              StringBuffer sb=new StringBuffer();
              for (int i=0; i<nPeople; i++)
              sb=sb.append(group[i]+"\n");
              return sb.toString();
    public void read(){
              String str;
              try {
              bf=new BufferedReader(new FileReader(new File(FILE_NAME)));
              str=bf.readLine();
              while (str!=null) {
              insert(str);
                   str=bf.readLine();
         catch (IOException e) {
              // Will jump to here on an eof condition.
         try {
              bf.close();
         catch (IOException e) {}
         public void save() {
              try {
              PrintWriter pw=new PrintWriter(FILE_NAME);
              for (int i=0; i<nPeople; i++)
              pw.println(group[i]+",");
              pw.close();
         catch (FileNotFoundException fne) {
                   System.out.println("Could not Save "+FILE_NAME);
    public People() {
              group=new extPerson[MAX_PEOPLE];
              nPeople=0;
         public boolean insert(String data) {
              if (nPeople<MAX_PEOPLE) {
              //extPerson guy=new extPerson(data);
              //group[nPeople]=guy;
              nPeople++;
              return true;
         else {
         JOptionPane.showMessageDialog(null,"Error in People" +
    "::insert: Max size reached.");
         return false;
         public void clear() {
              // This loop frees up the memory used by each extPerson
              for (int i=0; i<nPeople; i++)
              group[i]=null;
              nPeople=0;
    extPerson group[];
    int nPeople;
    * Create the GUI and show it. For thread safety,
    * this method should be invoked from the
    * event-dispatching thread.
    public static void createAndShowGUI(){
    JFrame.setDefaultLookAndFeelDecorated(true);
    JDialog.setDefaultLookAndFeelDecorated(true);
    JFrame frame = new JFrame("Address Book Program");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Container c = frame.getContentPane();
    c.add(new AddressBook(frame));
    frame.pack();
    frame.setVisible(true);
    public static void main (String s[]){       
    //Schedule a job for the event-dispatching thread:
    //creating and showign this application's GUI
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
    public void run() {
    createAndShowGUI();

    Ok, I have changed my code to reflect your suggested changes, but I'm still unsure how to use the findInLine you suggested.... This is all very new to me and I've been looking on the java website for suggestions, but I'm still stumped on how to pull this together. I'm unsure on how to set the lastname,firstname,etc. for retrieval...
    Here's my code:
    //ADDRESS BOOK
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.*;
    import java.util.*;
    import java.text.SimpleDateFormat;
    import java.io.*;
    import java.lang.*;
    *  @created September 14, 2004
    *  This program uses a JFrame to manipulate data and form an
    *  address book.  The user will be able to load data from a file,
    *  sort it by last name, print the address, phone number, and date
    *  of birth, print the names of people whos birthday are between 2
    *  dates, print the names of people between 2 last names, and/or
    *  print the names of different person types.
    public class AddressBook extends JPanel implements ActionListener{
        JFrame frame;
        final int numButtons = 7;
        JRadioButton[] radioButtons = new JRadioButton[numButtons];
        JButton process = new JButton("Process Request");
        JLabel title;
        JTextArea output = new JTextArea(30,50);
        int MAX_ADDRESS_ENTRIES = 500;
        AddressBookEntry addressBookEntries[] = new
        AddressBookEntry[MAX_ADDRESS_ENTRIES];
        public AddressBook(JFrame frame){
            super(new BorderLayout());
            this.frame=frame;
            JPanel choicePanel = createSimpleDialogBox();
            choicePanel.setBorder(BorderFactory.createTitledBorder("Choices" +
            " to choose from:"));
            title = new JLabel("<html><h2> Thank you for opening the " +
            "Address Book.  " +
            "Please Press the \"Process Request\" " +
            "after making a choice.</h2></html>\n",JLabel.CENTER);
            title.setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
            output.setEditable(false);
            add(title, BorderLayout.NORTH);
            add(choicePanel, BorderLayout.CENTER);
            add(output, BorderLayout.SOUTH);
            final ButtonGroup group = new ButtonGroup();
            final String saveCommand = "Save";
            final String sortByLN = "Sort by Last Name";
            final String searchLNCommand = "Search By Last Name";
            final String printAPD = "Print address, phone number, and DOB";
            final String printNamesDOB = "Print names of people whose birthday" +
            " falls between 2 dates";
            final String printNamesLN = "Print names of people who fall" +
            " between 2 last names";
            final String printPType = "Print all family members, friends, or" +
            " business associates";
        private JPanel createSimpleDialogBox(){
            radioButtons[0] = new JRadioButton(
              "<html>Save the address file</html>");
            radioButtons[0].setActionCommand(saveCommand);
            radioButtons[1] = new JRadioButton(
              "<html>Sort the address file by last name</html>");
            radioButtons[1].setActionCommand(sortByLN);
            radioButtons[2] = new JRadioButton(
              "<html>Search the address file by last name</html>");
            radioButtons[2].setActionCommand(searchLNCommand);
            radioButtons[3] = new JRadioButton(
              "<html>Print the address, phone number, and DOB of a specified" +
              " person</html>");
            radioButtons[3].setActionCommand(printAPD);
            radioButtons[4] = new JRadioButton(
              "<html>Print the names of people whose birthday falls between" +
              " two dates</html>");
            radioButtons[4].setActionCommand(printNamesDOB);
            radioButtons[5] = new JRadioButton(
              "<html>Print the names of people who fall between two" +
              " specified last names</html>");
            radioButtons[5].setActionCommand(printNamesLN);
            radioButtons[6] = new JRadioButton(
              "<html>Print all family members, friends, <u>OR</u>" +
              " business associates</html>");
            radioButtons[6].setActionCommand(printPType);
            for (int i=0; i<numButtons; i++){
                group.add(radioButtons);
    //set the first button (open file) to be selected
    radioButtons[0].setSelected(true);
    return createPane(radioButtons, process);
    private JPanel createPane(JRadioButton[] radioButtons,
    JButton showButton) {
    int numChoices = radioButtons.length;
    JPanel box = new JPanel();
    box.setLayout(new BoxLayout(box, BoxLayout.PAGE_AXIS));
    for (int i = 0; i < numChoices; i++) {
    box.add(radioButtons[i]);
    JPanel pane = new JPanel(new BorderLayout());
    pane.add(box, BorderLayout.NORTH);
    pane.add(showButton, BorderLayout.SOUTH);
    return pane;
    public void actionPerformed(ActionEvent e) {
    String command = group.getSelection().getActionCommand();
    //else if button pushed is save
    if (command == saveCommand){
    // save file
    //else if button pushed is search by last name
    else if (command == sortByLN){
    // search by last name
    //else if button pushed is sort by last name
    else if (command == searchLNCommand){
    // sort by last name
    // print to screen
    //else if button pushed is display address, ph#, dob
    else if (command == printAPD){
    // display "search by last name" dialog
    // search last names
    // if last name found
    // print data
    // else
    // print error notification "person not found"
    //else if button pushed is list names of people whose
    //bday between 2 days
    else if (command == printNamesDOB){
    // ask for which dates
    // search bday
    // print to screen
    //else if button pushed is print names of people between 2 last names
    else if (command == printNamesDOB){
    // ask for which two last names
    // search last names
    // if people found
    // print to screen
    //else
    //print error notification "no one found"
    //else if button pushed is print all family members, friends
    //or business associates
    else if (command == printPType){
    //ask for what person type
    //search person types
    //if people found
    //print to screen
    //else print "no one found"
    public class AddressBookEntry{
    private extPerson address;
    private String date;
    private extPerson ExtPerson;
    * Create the GUI and show it. For thread safety,
    * this method should be invoked from the
    * event-dispatching thread.
    public static void createAndShowGUI(){
    JFrame.setDefaultLookAndFeelDecorated(true);
    JDialog.setDefaultLookAndFeelDecorated(true);
    JFrame frame = new JFrame("Address Book Program");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Container c = frame.getContentPane();
    c.add(new AddressBook(frame));
    frame.pack();
    frame.setVisible(true);
    public static void main (String s[]){       
    //Schedule a job for the event-dispatching thread:
    //creating and showign this application's GUI
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
    public void run() {
    createAndShowGUI();
    //PERSON
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.*;
    import java.util.*;
    import java.text.SimpleDateFormat;
    import java.io.*;
    import java.lang.*;
    public class Person{
    protected String lastName, firstName;
    private String address;
    private String city;
    private String state;
    private String zipcode;
    private String homephone;
    private String extPersonType;
    private String bday;
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-DD");
    public void parseString(String s) {
              try {
              lastName = s.substring(0,s.indexOf(","));
              firstName = s.substring(s.indexOf(",")+1);
    address = s.substring(s.indexOf(",")+2);
    city = s.substring(s.indexOf(",")+3);
    state = s.substring(s.indexOf(",")+4);
    zipcode = s.substring(s.indexOf(",")+5);
    homephone = s.substring(s.indexOf(",")+6);
    extPersonType = s.substring(s.indexOf(",")+7);
    bday = s.substring(s.indexOf(",")+8);
    catch(StringIndexOutOfBoundsException sbe) {
              JOptionPane.showMessageDialog(null,"Error " +
    "in Person: Could not parse the line "+s);
    public String toString() {
    return lastName+","+firstName+","+address+","+city+","+
    state+","+zipcode+","+homephone+","+bday+","+extPersonType;
    public void setLName(String last) {
    lastName=last;
    public void setFName(String first){
    firstName=first;
    public String getLastName() {
    return lastName;
    public String getFirstName() {
    return lastName;
    public Person() {
    lastName="";
    firstName="";
    public Person(String first, String last){
    setLName(last);
    setFName(first);
    //Set the address and return it
    public void setAddress( String addr ){
    address = addr;
    public String getAddress(){
    return address;
    //set the city and return it
    public void setCity( String town ){
    city = town;
    public String getCity(){
    return city;
    //set the state and return it
    public void setState( String st )
    state = st;
    public String getState()
    return state;
    //Set the zip code and return it
    public void setZipCode( String zip ){
    zipcode = zip;
    public String getZipCode(){
    return zipcode;
    //Set the home phone and return it
    public void setHomePhone( String homeph ){
    homephone = homeph;
    public String getHomePhone(){
    return homephone;
    //Set the bday and return it
    public String getBday(){
    return bday;
    public void setBday(String newBday) {
    bday = newBday;
    dateFormat.format(bday);
    //Set the extPerson type and return it
    public String getPType(){
    return extPersonType;
    public void setPBusiness(){
    extPersonType = "Business Associate";
    public void setPFamily(){
    extPersonType = "Family Member";
    public void setPFriend(){
    extPersonType = "Friend";
    public Person(String data) {
    parseString(data);
    //EXTPERSON
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.*;
    import java.util.*;
    import java.text.SimpleDateFormat;
    import java.io.*;
    import java.lang.*;
    //new clss extPerson
    public class extPerson extends Person {       
         int MAX_PEOPLE=500;
         BufferedReader bf;
    String lname,fname,street,city,state,zip,phone,persontype,bday;
    String FILE_NAME="AddressBook.txt";
    public String toString() {
              StringBuffer sb=new StringBuffer();
              for (int i=0; i<nPeople; i++)
              sb=sb.append(group1[i]+"\n");
              return sb.toString();
         public void save() {
              try {
              PrintWriter pw=new PrintWriter(FILE_NAME);
              for (int i=0; i<nPeople; i++)
              pw.println(group1[i]+",");
              pw.close();
         catch (FileNotFoundException fne) {
                   System.out.println("Could not Save "+FILE_NAME);
    public extPerson() {
              group1=new extPerson[MAX_PEOPLE];
              nPeople=0;
         public boolean insert(String data) {
              if (nPeople<MAX_PEOPLE) {
              Person guy = new Person(data);
              group1[nPeople]=guy;
              nPeople++;
              return true;
         else {
         JOptionPane.showMessageDialog(null,"Error in People" +
    "::insert: Max size reached.");
         return false;
    Person group1[];
    int nPeople;

Maybe you are looking for

  • Import and use custom Illustrator Symbol Library in Photoshop?

    I would like to import and use my own (project-specific) Illustrator Symbol Libraries in Photoshop Background info - I create BIG amounts of assets (for UI design) in Adobe Illustrator which I save as Symbols. - I store these symbols in a custom symb

  • Why are the CAN drivers so sloooooow?

    In my VC++ application using V1.4 of the drivers, I am communication with a device while I watch the bus with a scope. I have two frames to send to a device, but due to my protocol, I must wait for a response to the first before sending the second. I

  • Keeping unlimited data buying used phone confusion

    Hello, looking for a little help and clarity here if possible. I have an unlimited data plan from years ago and would like to keep it. I have been using one of the first motorola droid phones and it is just way out of date with the 3G. I understand t

  • HT201285 What order does spotlight search display??

    I know that this search displays the results by app. But within the app how are the results displayed? For example, if I typed in ok, and all my text messages that have the word ok in them pop up what order are those in if any? Also, does anybody kon

  • Help: Group By condition

    Hello folks am actually trying to figure whether we can use the following condition i.e "to_char(sysdate, 'FMMon YYYY')," in the group by clause, Or can we use the alias "Period" instead,Can anyone please throw some light on this. SELECT Client. Clie