Телефонный справочник

Курсовая работа, 10 Января 2012, автор: пользователь скрыл имя

Краткое описание


Программа «Телефонный справочник» была разработана для удобного хранения телефонных номеров, адресов и прочей информации на Вашем персональном компьютере. Программа имеет удобный и понятный интерфейс, систему быстрого поиска по имени, функцию хранения, ваших заметок. Вы можете легко распечатать нужную вам заметку.
В наше время появилось огромное количество номеров телефонов, адресов электронной почты и много другой различной информации, которое время от времени забывается или теряется. Поэтому, я решил создать программу, в которой вы можете хранить всю эту важную информацию не боясь что она потеряется, или вы ее забудете. Моя программа совмещает в себе несколько важных и нужных функций для хранения личной информации, это:
1)Заметки – Вы можете здесь записывать любую информацию, сохранять какие либо ссылки к важным веб узлам, и т п.
2) Телефонный справочник – Здесь Вы можете записывать все важные вам телефонные номера, контактные данные важных вам людей.
3) Систему технической поддержки
4) Мини браузер для работы в интернете.

Содержание работы


Введение …………………………………………….…………………………...3
Глава 1. Среда визуального программирования Delphi. ……..…………..…..4
1.2 Компоненты Borland Delphi 7 использованные при разработке PhoneBook……..…………………………………….…………………………….4
Глава 2. Описание программы PhoneBook………………..…………………....8
2.1 Вкладка «Настройки»………………………….………………..…………...9
2.2. Общие параметры……………………………...……………………………9
2.3. Параметры телефонной книги...…………………………………………….9
2.4 Параметры экспорта в Excel и HTML……………………………………..10
2.5 Параметры «Заметок»……………………………………………………….10
2.6 Опция «Перетаскивать по словам» ………………………………………..11
2.7 Техподдержка………………………………………………………………..11
2.8 Мини браузер………………………………………………………………..11
2.9 Время и дата…………………………………………………………………12
2.10 Вкладка «Телефонная книга»…..………………………………………...14
2.11 Сортировка контактов по группам……………………………………….14
2.12 Поиск контактов по имени………………………………………………..15
2.13 Экспорт контактов в Excel и HTML…..………………………………….15
2.13.1 Экспорт в Excel…..……………………………………………………....15
2.13.2 Экспорт в HTML….……………………………………………………...20
2.14 Добавление новой записив телефонный справочник……………………………………………………………………….21
2.15 Печать документа………………………………………………………….23
2.16 Сохранить как……………………………………………………………...24
2.17 Работа с буфером обмена….………………………………………………24
2.18 Обработка и исправление текста………………………………………….24
2.19 Заставка программы……………………………………………………….25
2.19.1Получение информации о пользователе и владельце ПК……………...25
2.19.2 Создание заставки программы…………………………………………..26
2.20 Ограничения программы…………………………………………………..27
2.20.1 «Демо» версия……………………………………………………………28
Глава 3. Требования по обеспечению пожарной безопасности……………………………………………………………………..31
3.1 Общие требования пожарной безопасности:……………………………..31
3.2 Правила поведения при пожаре:…………………………………………..32
3.3 Организация мероприятий при пожаре:…………………………………...33
3.4 Ответственность…………………………………………………………….34
Приложение1……..…………………………………………………………….36
Приложение 2…..………………………………………………………………65
Литература………………………………………………………………………66

Содержимое работы - 1 файл

ТРПП Курсовая.doc

— 930.00 Кб (Скачать файл)

  cfg.loadCFG;

  PhoneBook.PageControl1.Update;

  UpdateNotesIcons; 

  groups.OnChange:=GroupsChange;

  Phones.OnChange:=PhonesChange;

end;

procedure TPhoneBook.N2Click(Sender: TObject);

var i:integer;

    glist:tstringlist;

begin

if groups.ItemFocused.Caption<>'<Весь список>' then

  if messagedlg('Вы действительно хотите удалить группу "'+groups.ItemFocused.Caption+'"',mtConfirmation,[mbNo,mbYes],0)=mrYes then begin

     groups.ItemFocused.Delete;

     glist:=tstringlist.create;

     glist.Clear;

      for i:=1 to groups.Items.Count-1 do begin

        glist.add(groups.Items[i].Caption);

     end;

try

       filesetattr(dir+'groups.pdb',$00);

       glist.SaveToFile(dir+'groups.pdb');

     except

       //запись лога при ошибке

       writelog(log,'FileWriteError(Groups.pdb)','N2Click');

     end;

     glist.Free;

  end;

end;

procedure TPhoneBook.N2Click(Sender: TObject);

var i:integer;

    glist:tstringlist;

begin

if groups.ItemFocused.Caption<>'<Весь список>' then

  if messagedlg('Вы действительно хотите удалить группу "'+groups.ItemFocused.Caption+'"',mtConfirmation,[mbNo,mbYes],0)=mrYes then begin

     groups.ItemFocused.Delete;

     glist:=tstringlist.create;

     glist.Clear;

     for i:=1 to groups.Items.Count-1 do begin

        glist.add(groups.Items[i].Caption);

     end; 

     try

       filesetattr(dir+'groups.pdb',$00);

       glist.SaveToFile(dir+'groups.pdb');

     except

       //запись лога при ошибке

       writelog(log,'FileWriteError(Groups.pdb)','N2Click');

     end;

     glist.Free;

  end;

end;

procedure LoadGroupPhones(Const Groupname:string);

var i,cur:integer;

     sec:tstringlist;

begin

phonebook.phones.OnChange:=nil;

sec:=tstringlist.Create;

with phonebook do begin

   phones.Clear;

   try

     ini.ReadSections(sec);

     status.panels[1].text:=' число записей: '+inttostr(sec.Count);

     if groups.ItemIndex=0 then begin

        for i:=0 to sec.Count-1 do begin

          Phones.Items.Add.Caption:=Sec[i];

          Phones.Items[i].SubItems.Add(Ini.ReadString(Sec[i],'n1',''));

          Phones.Items[i].SubItems.Add(Ini.ReadString(Sec[i],'n2',''));

          Phones.Items[i].SubItems.Add(Ini.ReadString(Sec[i],'n3',''));

          Phones.Items[i].SubItems.Add(Ini.ReadString(Sec[i],'n4',''));

          Phones.Items[i].SubItems.Add(Ini.ReadString(Sec[i],'n6',''));

          Phones.Items[i].SubItems.Add(Ini.ReadString(Sec[i],'n5',''));

        end;

      end;

      if groups.itemindex>0 then begin

        for i:=0 to  sec.Count-1 do begin

          if ini.readstring(sec[i],'n7','')=GroupName then begin

              cur:=phones.Items.Add.Index;

              phones.items[cur].Caption:=sec[i];

              phones.items[cur].SubItems.Add(ini.readstring(sec[i],'n1',''));

              phones.items[cur].SubItems.Add(ini.readstring(sec[i],'n2',''));

             phones.items[cur].SubItems.Add(ini.readstring(sec[i],'n3',''));

              phones.items[cur].SubItems.Add(ini.readstring(sec[i],'n4',''));

              phones.items[cur].SubItems.Add(ini.readstring(sec[i],'n6',''));

              phones.items[cur].SubItems.Add(ini.readstring(sec[i],'n5',''));

          end;

        end;

      end;

    except

      writelog(log,'FileReadError('+ini.filename+')','LoadAllPhones');

    end;

  end;

  phonebook.phones.OnChange:=PhoneBook.PhonesChange;

end;

procedure LoadPhones;

var i:integer;

     sec:tstringlist;

begin

  phonebook.phones.OnChange:=nil;

  sec:=tstringlist.Create;

  with phonebook do begin

    phones.Items.Clear;

    try

      ini.ReadSections(sec);

      status.panels[1].text:=' число записей: '+inttostr(sec.Count);

      for i:=0 to sec.Count-1 do begin

        phones.Items.Add;

        phones.items[i].Caption:=sec[i];

        phones.items[i].SubItems.Add(ini.readstring(sec[i],'n1',''));

        phones.items[i].SubItems.Add(ini.readstring(sec[i],'n2',''));

         phones.items[i].SubItems.Add(ini.readstring(sec[i],'n3',''));

        phones.items[i].SubItems.Add(ini.readstring(sec[i],'n4',''));

        phones.items[i].SubItems.Add(ini.readstring(sec[i],'n6',''));

        phones.items[i].SubItems.Add(ini.readstring(sec[i],'n5',''));

      end;

    except

      writelog(log,'FileReadError('+ini.filename+')','LoadPhones');

    end;

  end;

  phonebook.phones.OnChange:=PhoneBook.PhonesChange;

end;

procedure TPhoneBook.PhonesChange(Sender: TObject; Item: TListItem;Change: TItemChange);

var i:integer;

begin

  comment.Clear;

  for i:=0 to 100 do begin

    try

      if ini.readstring(item.Caption,'c'+inttostr(i),'@')<>'@' then

         comment.lines.Add(ini.readstring(item.Caption,'c'+inttostr(i),''));

      except

         writelog(log,'FileReadError('+ini.filename+')','PhonesChange');

      end;

  end;

  comment.SelStart:=0;

  comment.Sellength:=0;

  comment.Update;

  CommentChanged:=false;

end;

procedure TPhoneBook.edit_Execute(Sender: TObject);

begin

if (phones.Focused)and(phones.selected<>nil) then begin

   Application.CreateForm(TChangePhone, ChangePhone);

   if changePhone.showmodal=mrOk then begin

     LoadGroupPhones(groups.Selected.Caption);

   end;

   ChangePhone.Free;

end;

end;

Procedure TPhoneBook.delete_Execute(Sender: TObject);

var attr:integer;

begin

if phones.Focused then

  if messagedlg('Вы действительно хотите удалить "'+phones.ItemFocused.Caption+'"'

              ,mtConfirmation,[mbNo,mbYes],0)=mrYes then begin

   try

     attr:=filegetattr(ini.FileName);

     filesetattr(ini.FileName,$00);

     ini.EraseSection(phones.ItemFocused.Caption);

     filesetattr(ini.FileName,attr);

     //LoadAllPhones(groups.Selected.Caption);

     phones.ItemFocused.Delete;

   except

       writelog(log,'FileWriteError('+ini.filename+')','delete_execute');

   end;

procedure TPhoneBook.PhonesDblClick(Sender: TObject);

begin

  if phones.ItemFocused<>nil then edit_.Execute;

end;

procedure TPhoneBook.new_Execute(Sender: TObject);

begin

  Application.CreateForm(TNewPhone, NewPhone);

  if NewPhone.ShowModal=mrOk then

     if groups.itemIndex>0 then

        LoadGroupPhones(groups.items[groups.itemIndex].Caption)

     else

        LoadGroupPhones(groups.items[0].Caption);

  NewPhone.free;

end;

procedure TPhoneBook.N1Click(Sender: TObject);

  var newstr:string;

      i:integer;

      glist:tstringlist;

begin

try

  NewStr:=InputBox('Новая группа телефонов','Введите имя группы','');

  if newstr<>'' then begin

     groups.Items.add.Caption:=newstr;

     glist:=tstringlist.create;

     glist.Clear;

     for i:=1 to groups.Items.Count-1 do begin

        Glist.add(groups.Items[i].Caption);

     end;

     try

       FileSetAttr(dir+'groups.pdb',$00);

       Glist.SaveToFile(dir+'groups.pdb');

       Glist.Free;

     except

       WriteLog(log,'FileWriteError(Groups.pdb)','N1Click');

     end;

  end;

except

Информация о работе Телефонный справочник