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

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

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

Программа «Телефонный справочник» была разработана для удобного хранения телефонных номеров, адресов и прочей информации на Вашем персональном компьютере. Программа имеет удобный и понятный интерфейс, систему быстрого поиска по имени, функцию хранения, ваших заметок. Вы можете легко распечатать нужную вам заметку.

В наше время появилось огромное количество номеров телефонов, адресов электронной почты и много другой различной информации, которое время от времени забывается или теряется. Поэтому, я решил создать программу, в которой вы можете хранить всю эту важную информацию не боясь что она потеряется, или вы ее забудете. Моя программа совмещает в себе несколько важных и нужных функций для хранения личной информации, это:

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 Кб (Скачать файл)

      ws.Range['A'+inttostr(fst)+':'+Chr(Ord('A')+col)+inttostr(fst)].Borders[xlEdgeRight].ColorIndex:=xlAutomatic;

      for i:=ord('A')to ORD('A')+col do begin

         ws.Range[Chr(i)+inttostr(fst)+':'+Chr(i)+inttostr(maxrow)].Borders[xlEdgeLeft].LineStyle:=xlContinuous;

         ws.Range[Chr(i)+inttostr(fst)+':'+Chr(i)+inttostr(maxrow)].Borders[xlEdgeLeft].Weight:=xlMedium;

         ws.Range[Chr(i)+inttostr(fst)+':'+Chr(i)+inttostr(maxrow)].Borders[xlEdgeLeft].ColorIndex:=xlAutomatic;

         ws.Range[Chr(i)+inttostr(fst)+':'+Chr(i)+inttostr(maxrow)].Borders[xlEdgeTop].LineStyle:=xlContinuous;

         ws.Range[Chr(i)+inttostr(fst)+':'+Chr(i)+inttostr(maxrow)].Borders[xlEdgeTop].Weight:=xlMedium;

         ws.Range[Chr(i)+inttostr(fst)+':'+Chr(i)+inttostr(maxrow)].Borders[xlEdgeTop].ColorIndex:=xlAutomatic;

         ws.Range[Chr(i)+inttostr(fst)+':'+Chr(i)+inttostr(maxrow)].Borders[xlEdgeBottom].LineStyle:=xlContinuous;

         ws.Range[Chr(i)+inttostr(fst)+':'+Chr(i)+inttostr(maxrow)].Borders[xlEdgeBottom].Weight:=xlMedium;

      ws.Range[Chr(i)+inttostr(fst)+':'+Chr(i)+inttostr(maxrow)].Borders[xlEdgeBottom].ColorIndex:=xlAutomatic;

  ws.Range[Chr(i)+inttostr(fst)+':'+Chr(i)+inttostr(maxrow)].Borders[xlEdgeRight].LineStyle:=xlContinuous;

ws.Range[Chr(i)+inttostr(fst)+':'+Chr(i)+inttostr(maxrow)].Borders[xlEdgeRight].Weight:=xlMedium;

  ws.Range[Chr(i)+inttostr(fst)+':'+Chr(i)+inttostr(maxrow)].Borders[xlEdgeRight].ColorIndex:=xlAutomatic;

      end;

      ws.range['A1:'+chr(Ord('A')+col)+'1'].merge;

      if (Groups.ItemIndex>=0)and(Groups.ItemIndex<groups.Items.Count)then

         ws.range['A1:'+chr(Ord('A')+col)+'1'].value:='Список  телефонов "'+Groups.Items[Groups.ItemIndex].Caption+'"'

      else

         ws.range['A1:'+chr(Ord('A')+col)+'1'].value:='Список  телефонов';

      ws.range['A1:'+chr(Ord('A')+col)+'1'].font.bold:=true;

      ws.range['A'+inttostr(fst)+':'+chr(Ord('A')+col)+inttostr(fst)].font.bold:=true;

//подгоним  размеры

      ws.Columns['A:'+chr(Ord('A')+col)].EntireColumn.AutoFit;

      xl.ActiveWindow.SplitRow:=fst;

      xl.ActiveWindow.FreezePanes:=True;

      xl.ActiveSheet.PageSetup.Orientation:=xlLandscape;

      xl.ActiveSheet.PageSetup.PrintArea:='$A:$G';

    finally

    //выход из экселя

    //  xl.quit;

    end;

      2.13.2 Экспорт в HTML:

Программный код экспорта в HTML:

var i:integer;

    f:tstringlist;

    bgcolor,textcolor,bordercolor:string;

begin

  if shtml.Execute then begin

    bgcolor:=ColorToHexRGB(phonebook.bgcolor.Color);

    textcolor:=ColorToHexRGB(phonebook.textcolor.Color);

    bordercolor:=ColorToHexRGB(phonebook.bordercolor.Color);

    f:=tstringlist.create;

    f.add('<html>');

    f.Add('  <head>');

    f.Add('     <title>Телефонный справочник</title>');

    f.Add('   </head>');

    f.Add('<body bgcolor=#'+bgcolor+' text=#'+textcolor+'>');

    f.Add('<font face="Verdana">');

    if border.Checked then

       f.Add(' <table border="1" leftmargin="2" align="center" cellpadding="0" cellspacing="0" bordercolor=#'+bordercolor+'  width="98%">')

    else

       f.Add(' <table align="center" leftmargin="2" cellpadding="0" cellspacing="0" width="98%">');

    f.Add('   <tr>');

    f.Add('     <td><b>Имя</td>');

    if cb1.Checked then f.Add('     <td><b>&nbspТелефон</b></td>');

    if cb2.Checked then f.Add('     <td><b>&nbspРабочий</b></td>');

    if cb3.Checked then f.Add('     <td><b>&nbspСотовый</b></td>');

    if cb4.Checked then f.Add('     <td><b>&nbspАдрес</b></td>');

    if cb5.Checked then f.Add('     <td><b>&nbspE-mail</b></td>');

    f.Add('   </tr>');

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

       f.Add('   <tr>');

       if length(Phones.items[i].Caption)>0 then f.Add('     <td>&nbsp'+Phones.items[i].Caption+'</td>')

       else f.Add('     <td>&nbsp</td>');

       if cb1.Checked then

          if length(Phones.items[i].SubItems[0])>0 then f.Add('     <td>&nbsp'+Phones.items[i].SubItems[0]+'</td>')

          else f.Add('     <td>&nbsp</td>');

       if cb2.Checked then

          if length(Phones.items[i].SubItems[1])>0 then f.Add('     <td>&nbsp'+Phones.items[i].SubItems[1]+'</td>')

          else f.Add('     <td>&nbsp</td>');

       if cb3.Checked then

          if length(Phones.items[i].SubItems[2])>0 then f.Add('     <td>&nbsp'+Phones.items[i].SubItems[2]+'</td>')

          else f.Add('     <td>&nbsp</td>');

       if cb4.Checked then

          if length(Phones.items[i].SubItems[3])>0 then f.Add('     <td>&nbsp'+Phones.items[i].SubItems[3]+'</td>')

          else f.Add('     <td>&nbsp</td>');

       if cb5.Checked then

          if length(Phones.items[i].SubItems[4])>0 then f.Add('     <td>&nbsp'+Phones.items[i].SubItems[4]+'</td>')

          else f.Add('     <td>&nbsp</td>');

       f.Add('   </tr>');

    end;

    f.Add('</table>');

    f.Add('</font>');

    f.Add('</body>');

    f.Add('</html>');

    try

      f.SaveToFile(shtml.FileName);

    except

      writeLog(log,'ExportError','PBToolButton6Click');

      showmessage('Ошибка Сохранения файла');

    end;

    f.Free;

  end;

    2.14 Добавление новой записи в телефонный справочник.

    Для добавления новой записи в базу данный, необходимо нажать на кнопку «3» на рисунке 5. 

  1  1.2    2   3   4 

Рисунок 5,  панель инструментов телефонной книги. 

Затем вы откроется анкета,  заполните  ее и нажмите «Добавить».  На рисунке 6 представлена окно анкеты, для добавления нового абонента.  Поле «Имя (Название)»  обязательно для заполнения. Если оставить это поле пустым, контакт  добавлен не будет! Остальные поля можно пропустить.

 

Рисунок 6, Новый абонент. 

 Процесс добавления нового контакта:

Кнопка  «Добавить»

var i:integer;

begin

try

   if length(name.text)>0 then begin

     if length(homephone.text)>0 then

         main.ini.WriteString(name.text,'n1',homephone.text);

     if length(Workphone.text)>0 then

         main.ini.WriteString(name.text,'n2',workphone.text);

     if length(celular.text)>0 then

         main.ini.WriteString(name.text,'n3',celular.text);

     if length(adress.text)>0 then

         main.ini.WriteString(name.text,'n4',adress.text);

     if length(date_r.text)>0 then

         main.ini.WriteString(name.text,'n5',date_r.text);

     if length(mail.text)>0 then

         main.ini.WriteString(name.text,'n6',mail.text);

     main.ini.WriteString(name.text,'n7',grs.Text); 

     for i:=0 to notes.Lines.Count-1 do

        main.ini.WriteString(name.text,'c'+inttostr(i),notes.lines[i]);

   end

   else showmessage('Необходимо ввести имя абонента');

except

    writeLog(log,'WriteError','New_Phone.Button1Click');

  end;

Кнопка  «Отмена»

Close;

Удаление  записей

 Кнопка «Удалить»,  обозначен номером «2» на рисунке 5.

Удаляет выбранную запись из телефонной книги.

Процесс удаления записи:

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;

end;

2.15 Печать документа

В программе  предусмотрены функции распечатки нужной Вам заметки.

Для того что бы распечатать документ, нажмите  на клавишу 5 показанной на рисунке 7, далее  следуйте подсказкам мастера распечатки документов.

1    2    3  4   5        6   7    8  9    10 11   12 13 

Рисунок 7, панель управления заметками.

 Для  распечатки  документов средствами  Delphi, используется компоненты

PrintDialog.

Код обработки  кнопки печать документа:

var

  pd:TPrintdialog;

  Line: Integer;

  PrintText: TextFile;   {declares a file variable}

begin

  pd:=Tprintdialog.Create(Phonebook);

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