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

Автор работы: Пользователь скрыл имя, 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 Кб (Скачать файл)

        if node.ImageIndex = 2 then StatusBar1.Panels[0].Text:=node.text+' -> '+tonode.Text;

     end

     else accept:=false;

  end

  else accept:=false;

end;

procedure TPhoneBook.ListDragDrop(Sender, Source: TObject; X, Y: Integer);

var s:string;

begin

  Application.CreateForm(TMoveNode, MoveNode);

  case node.ImageIndex of

      1:s:='Переместить группу "'+ansiuppercase(node.text)+'" в группу "'+ansiuppercase(tonode.Text)+'"?';

      2:s:='Переместить заметку "'+ansiuppercase(node.text)+'" в группу "'+ansiuppercase(tonode.Text)+'"?';

  end;

  movenode.Label1.Caption:=s;

  if node.ImageIndex=1 then movenode.RadioGroup1.ItemIndex:=0

  else movenode.RadioGroup1.ItemIndex:=1;

  if checkbox8.Checked then begin

    if movenode.ShowModal=mrYes then begin

      case movenode.RadioGroup1.ItemIndex of

        0:node.MoveTo(ToNode,naAddChildFirst);

        1:node.MoveTo(ToNode,naAddChild);

      end;

    end;

  end

  else

    case movenode.RadioGroup1.ItemIndex of

     0:node.MoveTo(ToNode,naAddChildFirst);

      1:node.MoveTo(ToNode,naAddChild);

    end;

  movenode.Free;

end;

procedure TPhoneBook.ListEndDrag(Sender, Target: TObject; X, Y: Integer);

begin

  statusbar1.panels[0].Text:='';

  UpdateNotes;

  UpdateNotesIcons;

end;

procedure TPhoneBook.ApplicationEvents1Exception(Sender: TObject;

  E: Exception);

var sc:string;

begin

  if (sender is tComponent) then sc:=(sender as tComponent).Name

  else sc:=sender.ClassName;

  writelog(log,e.ClassName,SC);

  ShowMessage(SC+' : '+#13#10+e.Message);

end;

procedure TPhoneBook.N8Click(Sender: TObject);

begin

  if checkbox1.checked then checkbox1.checked:=false

  else  checkbox1.checked:=true;

  CheckBox1Click(sender);

end;

procedure TPhoneBook.TabSheet4Show(Sender: TObject);

begin

  ListChange(list,nil);

end;

procedure TPhoneBook.N30Click(Sender: TObject);

var lp:array[0..127] of char;

    s:shortstring;

begin

s:='mailto:'+phones.Selected.SubItems[4];

shellexecute(0,nil,StrPCopy(lp,s),nil,nil,0);

end;

procedure TPhoneBook.EditFindChange(Sender: TObject);

var i:integer;

    s:ShortString;

begin

  for i:=0 to phones.items.count-1 do begin

    s:=Ansiuppercase(system.Copy(phones.items[i].CAPTION,0,length(editFind.Text)));

    if Ansiuppercase(EditFind.text)=s then begin

       phones.items[i].Selected:=true;

       phones.ItemIndex:=i;

       phones.ItemFocused:=phones.items[i];

       break;

    end;

  end;

  if phones.ItemFocused<>nil then

     phones.ItemFocused.MakeVisible(false);

end; 

procedure TPhoneBook.SelAll1DrawItem(Sender: TObject; ACanvas: TCanvas;

  ARect: TRect; Selected: Boolean);

var bm:tbitmap;

begin

  if selected then begin

//    acanvas.Pen.Color:=clblack+$00101010;

//    Acanvas.brush.Color:=$00986565;

    acanvas.Pen.Color:=clblack+$00101010;

    Acanvas.brush.Color:=$00ffffff;

    acanvas.Rectangle(arect.left+1,arect.top,arect.Right,arect.top+19);

    if (sender as tmenuitem).Default then acanvas.Font.Style:=[fsBold]

    else acanvas.Font.Style:=[];

    if not(sender as TMenuItem).Enabled then acanvas.Font.Color:=clGrayText

    else  acanvas.Font.Color:=clBlack;

    acanvas.TextOut(arect.left+32,arect.top+3,(sender as tmenuitem).Caption);

    if (sender as tmenuitem).Enabled then  acanvas.Font.Color:=clNavy;

    if (sender as tmenuitem).ShortCut>0 then

      acanvas.TextOut(arect.right-8-acanvas.TextWidth(ShortCutToText((sender as tmenuitem).ShortCut)),arect.top+3,ShortCutToText((sender as tmenuitem).ShortCut));

  end

  else begin

    Acanvas.Pen.Color:=clSilver+$00221111;

    Acanvas.brush.Color:=Acanvas.Pen.Color;

    acanvas.Rectangle(arect.left+24,arect.top,arect.Right,arect.top+19);

    if (sender as tmenuitem).Default then acanvas.Font.Style:=[fsBold]

    else acanvas.Font.Style:=[];

    if (sender as TMenuItem).Enabled then acanvas.Font.Color:=clBlack

    else acanvas.Font.Color:=clGrayText;

    acanvas.TextOut(arect.left+32,arect.top+3,(sender as tmenuitem).Caption);

    if (sender as tmenuitem).Enabled then  acanvas.Font.Color:=clNavy;

    if (sender as tmenuitem).ShortCut>0 then

      acanvas.TextOut(arect.right-8-acanvas.TextWidth(ShortCutToText((sender as tmenuitem).ShortCut)),arect.top+3,ShortCutToText((sender as tmenuitem).ShortCut));

    acanvas.Pen.Color:=clSkyBlue;

//    acanvas.Pen.Color:=$00ffddcc;

    Acanvas.brush.Color:=acanvas.Pen.Color;

    acanvas.Rectangle(arect.Left,arect.Top,arect.Left+24,arect.Bottom);

    if (sender as TMenuItem).Caption='-' then begin

      Acanvas.Pen.Color:=clSilver;

      Acanvas.brush.Color:=clGray;

      Acanvas.Rectangle(26,arect.top+3,arect.left+arect.Right-2,arect.top+6);

    end;

  end;

  bm:=tbitmap.Create;

  Actions.GetBitmap((sender as tmenuitem).ImageIndex,bm);

  bm.Transparent:=true;

  if not (sender as TMenuItem).Enabled then

    bm.Mask(clWhite);

  acanvas.Draw(arect.Left+3,arect.Top+1,(bm as TGraphic));

  bm.Free;

end; 

procedure TPhoneBook.PhonesColumnClick(Sender: TObject;

  Column: TListColumn);

var ind:integer;

begin

  ind:=column.Index;

  case ind of

     0:begin

         if sorttype[ind]=0 then sorttype[ind]:=1

         else sorttype[ind]:=0;

         phones.CustomSort(@SortNames, sorttype[ind]);

       end;

     1:begin

         if sorttype[ind]=0 then sorttype[ind]:=1

         else sorttype[ind]:=0;

         phones.CustomSort(@SortHPhones, sorttype[ind]);

       end;

     2:begin

         if sorttype[ind]=0 then sorttype[ind]:=1

         else sorttype[ind]:=0;

         phones.CustomSort(@SortWPhones, sorttype[ind]);

       end;

     3:begin

         if sorttype[ind]=0 then sorttype[ind]:=1

         else sorttype[ind]:=0;

         phones.CustomSort(@SortCelPhones, sorttype[ind]);

       end;

     4:begin

         if sorttype[ind]=0 then sorttype[ind]:=1

         else sorttype[ind]:=0;

         phones.CustomSort(@SortAdres, sorttype[ind]);

       end;

     5:begin

         if sorttype[ind]=0 then sorttype[ind]:=1

         else sorttype[ind]:=0;

         phones.CustomSort(@SortEmail, sorttype[ind]);

       end;

     6:begin

         if sorttype[ind]=0 then sorttype[ind]:=1

         else sorttype[ind]:=0;

         phones.CustomSort(@SortDate, sorttype[ind]);

       end;

  end;

  sortindex:=ind;

end; 
 

procedure TPhoneBook.ToHTMLExecute(Sender: TObject);

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>');

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