Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.59/68: Рейтинг темы: голосов - 68, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 17.03.2011
Сообщений: 12

Как создать программу справочник телефонных номеров

17.03.2011, 07:33. Показов 13450. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! как создать программу в делфи 6? нужно сделать справочник телефонных номеров.
как его сделать я не представляю так как вообще знаю ни одного языка программирования. А хочется сделать и посмотреть на свои труды. подскажите пожалуйста, что нужно делать и как? или где все можно почитать, чтоб было все понятно. всем заранее спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.03.2011, 07:33
Ответы с готовыми решениями:

Как создать программу справочник нумизмата?
Здравствуйте! как создать программу в делфи 7? нужно сделать справочник нумизмата. как его сделать, я не представляю так как вообще знаю...

Можно ли на Дельфи создать программу учета телефонных переговоров?
можно ли на делфи создать программу учета телефонных переговоров( программа сама фиксирует входящие и исходящие звонки)?? Или в какой среде...

Как создать список номеров которыми можно управлять как базой данных
Привет Полный новичок в программировании, вопрос по Delphi Как создать список номеров, которыми можно управлять как условной...

21
7 / 7 / 0
Регистрация: 13.01.2010
Сообщений: 67
17.03.2011, 07:54
Если справочник вам нужен для чего-то конкретного, то либо для того чтобы не париться - делайте в MS Excell (а что, удобно, я справочник моего города таким и скачал), либо заказывайте, тогда он будет красивым, функциональным, ну и может быть полезным.

А если вы хотите заняться программированием и любоваться своими трудами, начинайте изучать язык. Начните с азов Pascal, потом переходите на Delphi (кстати, почему именно Delphi 6?). По Pascal неплохую книжку написал Фаронов. По Delphi для начинающего подойдет Фленов "Библия Программиста".
1
0 / 0 / 0
Регистрация: 17.03.2011
Сообщений: 12
17.03.2011, 08:09  [ТС]
на моем предприятии где я работаю у меня есть справочник номеров в ворде. работники смотрят нужные им номера в нем. Дело в том что я работаю связистом и в программировании не совсем до конца понимаю, уже 3 месяц сижу читаю книжки облазил инет скачивал какие то самоучители. даже написал проги по рассчету веса, медиаплеер, скорость бега, ну вообщем то что они предлагали. а дальше суть самого не могу понять. а начальство требует справочник именно чтоб не ворде был, а такой чтоб можно было на другие машины устанавливать.
0
 Аватар для Romantik_FM
324 / 316 / 84
Регистрация: 03.03.2010
Сообщений: 1,364
17.03.2011, 10:28
Метис, MS Access и ADO компоненты.

edmond-mouse, видимо скачал 6 версию. я писал на ней - нет почти для любителя различий
1
0 / 0 / 0
Регистрация: 17.03.2011
Сообщений: 12
17.03.2011, 10:41  [ТС]
списибо! а что значит edmond-mouse? вообщем я задумал такую программу:
справочник телефонных номеров.
создал форму 1 на ней кнопка "далее" хочется чтоб при нажатии на нее открывалась вторая форма на которой собственно и будет основым рабочим пространством конечных пользователей.
Подскажите пожалуйста какую нить хорошую литературу где все подробно описано что и зачто отвечает, как работает.
на работе случайно нашел диск Delphi 6 вот и решил самостоятельно изучить думаю что такие знания в будущем пригодятся
0
 Аватар для Romantik_FM
324 / 316 / 84
Регистрация: 03.03.2010
Сообщений: 1,364
17.03.2011, 10:53
Метис, скачайте книгу "Библия Delphi"(часть 1 и 2 одинаковые). там рассматривается пример создания справочника в MS Access(стр 423).
1
7 / 7 / 0
Регистрация: 13.01.2010
Сообщений: 67
17.03.2011, 11:15
У Фленова в "Библии Delphi" описано как связывать и вызывать формы. Я сам книжку эту еще читаю, ибо зеленый и несмышленый. Но по идее, можно сделать сами данные справочника в MS Access, а потом через программу получать информацию из файла и как-нибудь красиво выводить. Но это в теории)
1
0 / 0 / 0
Регистрация: 17.03.2011
Сообщений: 12
17.03.2011, 11:19  [ТС]
спасибо! уже ищу данную книгу. сейчас нашел книгу на предприятии delphi 6 учебный курс еще и её почитаю может что нить и придет в голову
0
4 / 4 / 0
Регистрация: 29.12.2008
Сообщений: 35
17.03.2011, 15:36
создаешь базу в Access, в дельфи кроме формы 1 создаешь форму 2. На кнопку на 1-ой форме пишешь код(на процедуру OnClick):

Delphi Скопировано
1
2
Form1.Hide;
Form2.Show;
Далее во 2 форме добовляешь следующие компоненты из вкладки ADO:

ADOConection, ADOTable;

Со вкладки Data Access добавляешь:

DataSource(DB), и со вкладки Data Control - DBGrid(само то где выводится твоя база!).

Далее кликаешь на ADOConnestion 2раза открывается окошко там нужно нажать Build(во второй сверху!).
Далее выбираешь вид базы(MS Jet 4.0 OLE DB Provider или MS Access 12.0 для твоей!).

Потом убираешь в Properties(Как бы установки данного компонента), Login Prompt(чтобы пароль и логин не запрашивало!).

Там же выбираешь в Properties - Connected ставь True!!!!ВАЖНО!

Теперь ADOTable в Properties в свойстве Connection выбираем ADOConnection1 или con1.
Спускаем Пропетис вниз, там есть TableName - выбираешь свою таблицу созданную в Аксэсе!
И в верху свойство ADOTable1 - Active ставим True!

Далее DataSource - в тех жу пропертис Настроить DataSet т.е. выбрать там tbl1 или ADOTable1!!!!

DBGrid - тоже в пропертис находим строчку DataSet и ставим - DataSource!!!

если все сделал правильно то у тебя выведутся твои записи!

Не забывай все делай по порядку! И не забывай выставлять в Active - True!
Да прибудет с тобой СИЛА!
1
 Аватар для Arcor
5708 / 2299 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
18.03.2011, 00:19
Цитата Сообщение от Impario Посмотреть сообщение
Далее выбираешь вид базы(MS Jet 4.0 OLE DB Provider или MS Access 12.0 для твоей!).
А если нету MS Office, а что-то другое? Я например пользуюсь OpenOffice, да и везде практически используем его, в учебных заведениях например, нужно уже по другому создавать подключение к БД !!!

я бы конечно не против использования БД для этой цели, но человек практически не знает о программировании, естественно будет не просто это сделать, тем более самому ! Я бы в этом случае использовал бы простой текстовый файл, примеров работы с текстовым файлом на форуме каждый день не меньше 10
1
 Аватар для Romantik_FM
324 / 316 / 84
Регистрация: 03.03.2010
Сообщений: 1,364
18.03.2011, 00:24
Arcor, думаю на предприятии стоит винда а офис там 100% есть.
0
 Аватар для Arcor
5708 / 2299 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
18.03.2011, 00:26
в личном сообшении лови 2 видео по бд MySQL, сам снимал, многим понравилось видео, как я понял
1
7 / 7 / 0
Регистрация: 13.01.2010
Сообщений: 67
18.03.2011, 00:44
А можно мне тоже видео? Скоро начну работать с базами как раз)
0
 Аватар для Arcor
5708 / 2299 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
18.03.2011, 01:12
Цитата Сообщение от Romantik_FM Посмотреть сообщение
Arcor, думаю на предприятии стоит винда а офис там 100% есть.
А какая связь между оффисом и виндой? Да, извиняюсь, я не очень много знаю о русских предприятиях, может быть и я тоже далеко не прав и что стоит там все как вы пишите, я о себе сужу, как у меня было на моем опыте, просто я тоже примеры находил на оффис, потом думал как передать под опен оффис, теперь знаю как
0
0 / 0 / 0
Регистрация: 17.03.2011
Сообщений: 12
18.03.2011, 07:52  [ТС]
офис акцэсс не работает ошибка вылазит и не идет дальше(
0
 Аватар для Romantik_FM
324 / 316 / 84
Регистрация: 03.03.2010
Сообщений: 1,364
18.03.2011, 11:01
Цитата Сообщение от Метис Посмотреть сообщение
офис акцэсс не работает ошибка вылазит и не идет дальше(
переустановите или можно сделать иначе. с делфи может идти поставка InterBase. вот с ним тоже можно работать
0
4 / 4 / 0
Регистрация: 29.12.2008
Сообщений: 35
18.03.2011, 12:17
Прочитай выше! Он спрашивал если в Access базу создать то она подойдет? Что означает что он заинтересован в аксес базе! Вот я ему подробно и описал!
0
 Аватар для Евгений В
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
18.03.2011, 12:26
Метис,
Метис, что бы написать самостоятельный и простой телефонный справочник, идите таким путем:

1. Изучите, что такое записи (Record).
В них вы будете хранить персональные данные о каждом объекте(человеке).
Например, в такой записи :
Delphi Скопировано
1
2
3
4
5
6
7
8
9
10
Type
 TBookTel=Record
  Family:string;
  Name:string;
  Adress:string;
  Tel:string;
end;
//.....................
var
BookTel:TBookTel;
2. Изучайте, что такие типизированные файлы, как в них хранить например эти записи, и как их от туда доставать по очереди и делать анализ на присутствие нужно текста.

Второй вариант решения задачи: (но не последний).

Хранить данные в компоненте Memo. В каждой строке будут храниться персональные данные, разделенные каким нибудь знаком. Если база не очень большая, то работать будет достаточно быстро.
Например:
Иванов Иван Иваныч#Москва#936-33-33
Петров Петр Петрович#Москва# 936-33-55
и т.д.
Для работы записной книги необходимо:
1) Организовать запись новых данных(нового человека) в мемо.
Для этого вводим все нужные параметры например через Edit-ы, сцепляем данные Edit в одну строку, через разделители(например '#') и сохраняем в мемо.
2) Находить в мемо строку (строки) содержащую нужные сведения.
3) Разбить найденную строку (строки) на составляющие (ориентируясь на спец.знак, например '#') и вывести результат (результаты)
4)Организовать возможность удалять или редактировать данные.

Memo легко сохранять в файл и извлекать обратно .
1
 Аватар для Arcor
5708 / 2299 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
18.03.2011, 12:30
Цитата Сообщение от Impario Посмотреть сообщение
Прочитай выше! Он спрашивал если в Access базу создать то она подойдет? Что означает что он заинтересован в аксес базе! Вот я ему подробно и описал!
Странно, или я слепой стал или что, перечитал снова всю тему и ни слова от автора не нашел, чтобы он что-то писал об MS Access, даже если и не писал, то вы всеарвно потрудились ответить, это по любому !
1
 Аватар для Евгений В
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
18.03.2011, 16:31
Лучший ответ Сообщение было отмечено как решение

Решение

Метис,
Было свободное время, накидал программу справочника.
Скачай архив, там есть готовая версия (экзешник).
Delphi Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls,ShellAPI;
 
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Panel1: TPanel;
    lbl1: TLabel;
    edt1: TEdit;
    lbl2: TLabel;
    edt2: TEdit;
    lbl3: TLabel;
    edt3: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Edit1: TEdit;
    Button2: TButton;
    CheckBox1: TCheckBox;
    Label2: TLabel;
    Button3: TButton;
    Button4: TButton;
    memo2: TMemo;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    Button5: TButton;
    procedure CheckBox1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
const
 Way='C:\baseTel.txt';// место хранения файла с данными
var
  Form1: TForm1;
 
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
// если файла еще нет, то создаем. Если есть, то загружаем его
if not  FileExists(way)  then Memo2.Lines.SaveToFile(Way)
else Memo2.Lines.LoadFromFile(Way);
 
Panel1.Hide; // скрываем панель  ввода новых данный
Memo2.Hide; // скрываем memo2 т.к. он нужен только как посредник
Memo1.WordWrap:=False;
Memo2.WordWrap:=False;
 
end;
 
// показать/спрятать панель для ввода новой записи
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if  CheckBox1.Checked then Panel1.Show
else
 Panel1.Hide;
Memo1.Clear;
end;
 
 // сохранение новой записи
procedure TForm1.Button1Click(Sender: TObject);
var
  str:string;
begin
  str:='';
str:=Edt1.Text+'#'+Edt2.Text+'#'+Edt3.Text;
if str<>'##' then  // т.е.  хоть одно из Edit не пустой
 begin
  Memo2.Lines.Add(str);
  Memo2.Lines.SaveToFile(way);// загружаем в Memo2- посредник данные, с учетом новых изменений
 
   Memo1.Lines.Add(Edt1.Text);
   Memo1.Lines.Add(Edt2.Text);
   Memo1.Lines.Add(Edt3.Text);
   Memo1.Lines.Add('______________________________');
 
  Edt1.Text:=''; Edt2.Text:=''; Edt3.Text:='';
 end;
end;
 
// поиск
procedure TForm1.Button2Click(Sender: TObject);
var
  i:Integer;
  str,strALC,str1,str2,str3:string;
begin
  Memo1.Clear;
 Edit1.Text:=AnsiLowerCase(Trim(Edit1.Text)); //превращаем все буквы строчные, что бы регистр не мешал поиску
 for i:=0 to Memo2.Lines.Count-1 do
 begin
 strALC:= AnsiLowerCase(Memo2.Lines.Strings[i]); //превращаем все буквы строчные, что бы регистр не мешал поиску
  if Pos(Edit1.Text,strALC)<> 0 then // если есть совпадение
   begin
   // разбиваем строку на составляющие
    str:=Memo2.Lines.Strings[i]; // реальная строка из файла. Без превращения букв в строчные
    str1:=Copy(str,1,Pos('#',str)-1); Delete(str,1,Pos('#',str));
    str2:=Copy(str,1,Pos('#',str)-1); Delete(str,1,Pos('#',str));
    str3:=str;
 
  // показываем только те записи, где есть совпадение на  разрешение поиска
     if ((CheckBox2.Checked) and  (Pos(Edit1.Text,AnsiLowerCase(str1))<>0)) or
       ((CheckBox3.Checked) and  (Pos(Edit1.Text,AnsiLowerCase(str2))<>0)) or
       ((CheckBox4.Checked) and  (Pos(Edit1.Text,AnsiLowerCase(str3))<>0)) then
      begin
       Memo1.Lines.Add(str1);
       Memo1.Lines.Add(str2);
       Memo1.Lines.Add(str3);
      Memo1.Lines.Add('______________________________________');
     end;
   end;
 
end;
end;
 
// показать все записи
procedure TForm1.Button3Click(Sender: TObject);
var
  i:Integer;
   str,str1,str2,str3:string;
begin
  Memo1.Clear;
 for i:=0 to Memo2.Lines.Count-1 do
  begin
    str:=Memo2.Lines.Strings[i];
    str1:=Copy(str,1,Pos('#',str)-1); Delete(str,1,Pos('#',str));
    str2:=Copy(str,1,Pos('#',str)-1); Delete(str,1,Pos('#',str));
    str3:=str;
 
   Memo1.Lines.Add(str1);
   Memo1.Lines.Add(str2);
   Memo1.Lines.Add(str3);
   Memo1.Lines.Add('______________________________________');
   end;
end;
 
procedure TForm1.Button4Click(Sender: TObject);
begin
ShowMessage('     Внимание!'+#10#13+'Не повредите базу');
ShellExecute (Handle, nil, Way, nil,nil, SW_RESTORE); //открыть документ
end;
 
procedure TForm1.Button5Click(Sender: TObject);
begin
Memo1.Clear;
end;
 
end.
Тестируй, учись, изменяй под себя.
Вложения
Тип файла: rar Телефонный справочник - Исходник.rar (179.4 Кб, 259 просмотров)
Тип файла: rar Экзешник.rar (170.5 Кб, 202 просмотров)
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.03.2011, 16:31
Помогаю со студенческими работами здесь

Форматирование телефонных номеров
Всем привет! Помогите с написанием макроса для Excel. Необходимо отформатировать телефонные номера в таблице Excel. Телефонные номера...

Парсинг телефонных номеров
Работаю со специальной телефонной станцией которая выводит префиксы в формате 0079 , также есть локальные номера для страны , которые...

Программа по обработке телефонных номеров
Моя идея заключается вот в чем: 1Хочу написать (САМ!!) программку, включаешь, открывается программка с 1 полем для ввода номера телефона...

Форматирование списка телефонных номеров
Имеется некий список телефонных номеров, необходимо привести их к общему виду для региона: +7хххххххххх; Если в номере телефона больше...

Ввод телефонных номеров списком
Новичок просит помощи, т.к. примеров не нашёл (возможно плохо искал). Итак, вчера написал следующую форму для внесения телефонов (+время...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Результаты исследования от команды MCM (март 2025 г.)
Programma_Boinc 07.04.2025
Результаты исследования от команды MCM (март 2025 г. ) В рамках наших текущих исследований мы продолжаем изучать гены, которые имеют наибольшую вероятность развития рака легких, выявленные в рамках. . .
Рекурсивные типы в Python
py-thonny 07.04.2025
Рекурсивные типы - это типы данных, которые определяются через самих себя или в сочетании с другими типами, которые в свою очередь ссылаются на исходный тип. В мире программирования такие структуры. . .
C++26: Объединение и конкатенация последовательностей и диапазонов в std::ranges
NullReferenced 07.04.2025
Работа с последовательностями данных – одна из фундаментальных задач, с которой сталкивается каждый разработчик. C++ прошел длинный путь в эволюции средств для манипуляции коллекциями – от. . .
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
std::vector в C++: от основ к оптимизации производительности
NullReferenced 05.04.2025
Для многих программистов знакомство с std::vector происходит на ранних этапах изучения языка, но между базовым пониманием и подлинным мастерством лежит огромная дистанция. Контейнер std::vector. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер