Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > регистрация документов


Автор: n1ll 6.4.2011, 07:24
Здарвствуйте, перейду к делу.
Решил написать программу для регистрации входящих писем у себя на работе.
суть программы заключается в следующем, есть окно, где отоброжается список с параметрами письма(дата, кому, номер) и по нажатию на письмо открывается полученный по почте файл или отсканированный ранее, ну в общем до этого помещенный в программу.
Так же имеется сортировка списка писем по параметрам письма.
КАк это осуществить в делфи? Не могу сам задать себе правильный путь..

Автор: Frees 6.4.2011, 07:28
начни с того, где ты собираешься хранить эти письма?

Автор: n1ll 6.4.2011, 07:33
вообще планировал в папке с программой, но если есть другие варианты... Просто еще список не пойму как лучше составить да и сортировку в принципе... Общее представление есть а детального нет.

Автор: Frees 6.4.2011, 07:34
Цитата(n1ll @  6.4.2011,  10:33 Найти цитируемый пост)
вообще планировал в папке с программой, но если есть другие варианты... 

Ок

Цитата(n1ll @  6.4.2011,  10:24 Найти цитируемый пост)
и по нажатию на письмо открывается полученный по почте файл или отсканированный ранее, ну в общем до этого помещенный в программу.

как ты для скана будешь хранить отправителя?

Добавлено через 1 минуту и 50 секунд
Цитата(n1ll @  6.4.2011,  10:33 Найти цитируемый пост)
но если есть другие варианты... 

База данных например, какая СУБД тебе подойдет? (поищи статьи на тему выбор СУБД).

Добавлено через 2 минуты
Цитата(n1ll @  6.4.2011,  10:24 Найти цитируемый пост)
Не могу сам задать себе правильный путь..

задал путь?

Автор: n1ll 6.4.2011, 07:37
мне кажеться вы меня не поняли, под письмом я имел ввиду просто пдф или джипег файл документа отсканированного и отправленного по почте, секретарь берет этот файл копит в программу или в папку программы и потом в программе открывает уже из списка

Автор: n1ll 6.4.2011, 07:54
Да там всего то лишь список нужно составить неужто для таких дел нужно приклреплять субд?
Может можно обойтись каким то делфи компонентом?

Автор: Frees 6.4.2011, 07:59
Цитата(n1ll @  6.4.2011,  10:54 Найти цитируемый пост)
Да там всего то лишь список нужно составить неужто для таких дел нужно приклреплять субд?

список файлов составить можно, но данных 
Цитата(n1ll @  6.4.2011,  10:24 Найти цитируемый пост)
(дата, кому, номер) 

в этом списке не будет, их надо хранить где то отдельно,
где хранить - тебе решать. это может быть файл рядом с письмом или БД или....

Автор: n1ll 6.4.2011, 08:24
А можно по подробнее узнать как вы себе это представляете?

Автор: Frees 6.4.2011, 08:50
Цитата(n1ll @  6.4.2011,  11:24 Найти цитируемый пост)
А можно по подробнее узнать как вы себе это представляете?

в общих чертах только

В БазуДанных вносятся записи при получении письма
Пользователь вводит от кого, кому, дата, тема, ...
и добавляет файл с письмом (контент),

в списке появляются записи от кого, кому, дата, тема, ...
- выбираются из БД

для открытия письма из БД выбираем контент и показываем его просмотрщиком по умолчанию


Автор: n1ll 6.4.2011, 08:59
а какие компоненты юзать?

Автор: Frees 6.4.2011, 09:01
Цитата(n1ll @  6.4.2011,  11:59 Найти цитируемый пост)
а какие компоненты юзать?

смотря для чего, и смотря какую БД выберешь

ADO (Вкладка dbGo) - доступ к базе
TEdit (TDBEdit) - для ввода.



Автор: n1ll 6.4.2011, 09:04
а какую БД порекомендуешь?

Автор: Frees 6.4.2011, 09:06
с Access начни

я бы взял SQLite

Автор: Poseidon 6.4.2011, 10:11
Цитата(Frees @  6.4.2011,  09:06 Найти цитируемый пост)
с Access начния бы взял SQLite
 Молодец Frees  smile  "Я взял бы SQLite, но ты начни с Access". Ты бы еще с Oracle посоветовал бы начать smile


n1ll, все зависит от того, на каком уровне у тебя знания Delphi. По твоим вопросам, мне кажется, на начальном. Может я и ошибаюсь, но впечатление такое. Я когда только начинал, писал подобные программы с сохранением в текстовый файл. Со своим личным форматом. Типо:
Код

от_кого
кому
дата
тема
путь_к_файлу_скана

от_кого
кому
...

Это когда я еще не знал про БД. Все грузилось и сохранялось через TStringList.

В базе данных все гораздо проще, если знаешь что и как. SQLite тебе Frees правильно посоветовал. Очень простая и легкая БД. Но для работы с ней нужно знать SQL. Лично я начинал с Paradox, но тебе не советую, т.к. "что-то глючить начала". Хотя твою задачу в Paradox можно реализовать стандартными средствами Delphi, на стандартных компонентах и совершенно не зная SQL. Есть в Delphi поддержка технологии ADO. Через нее можно сделать соединение со многими БД. В том числе и с Access. Но все же я бы тоже посоветовал SQLite. Для твоей задачи сложных запросов писать не надо. У тебя там будет только "SELECT", "INSERT" и "DELETE", и одна таблица данных. Если что, мы тебе тут поможем.

Автор: Frees 6.4.2011, 10:16
Цитата(Poseidon @  6.4.2011,  13:11 Найти цитируемый пост)
 Молодец Frees    "Я взял бы SQLite, но ты начни с Access". Ты бы еще с Oracle посоветовал бы начать 

в access проще БД сделать, даже совсем незная SQL
в SQLite нужно уже в скриптах разбираться или IDE для него искать....

Автор: pseud 7.4.2011, 14:57
Цитата(n1ll @  6.4.2011,  08:24 Найти цитируемый пост)
А можно по подробнее узнать как вы себе это представляете? 

1. Сливаешь себе демо версию какой-нибудь проги по делопроизводству (а лучше несколько). Смотришь. И принимаешь решение, какие элементы всей этой каши тебе нужны.
2. А может проще купить?
3. Велика вероятность того, что данно базой захотят воспользоваться еще несколько человек кроме секретаря. Поэтому рекомендую сразу рассматривать клиент-серверную архитектуру.

Автор: n1ll 10.4.2011, 20:37
Да все правильно у меня знания на начальном уровне, вот просто неужто для построения списка, ну например в том же лист бох нужна БД?
Знаете я как задумал?
В общем есть этот присловутый листбох(покамест пока я не придумал что получше) и кнопка добавить(пока без сортировки) вот и на кнопку добавить вылазиет окошко с параметрами письма.(что кому номер и путь к файлу) И вот заноситься это все в одну строку листбокса, а путь к файлу кудато еще, и по нажатию на элемент листбокса открываеться именно тот файл который нам нужен.

Автор: pseud 11.4.2011, 09:39
Цитата(n1ll @  10.4.2011,  20:37 Найти цитируемый пост)
В общем есть этот присловутый листбох(покамест пока я не придумал что получше) и кнопка добавить(пока без сортировки) вот и на кнопку добавить вылазиет окошко с параметрами письма.(что кому номер и путь к файлу) И вот заноситься это все в одну строку листбокса, а путь к файлу кудато еще, и по нажатию на элемент листбокса открываеться именно тот файл который нам нужен. 

Я в начале освоения дельфи тоже занимался такими странными методами (и думаю не я один). И хотелось бы тебя уберечь от наступания на грабли, которые прошли многие. Но, как я всегда говорю, человек успешно учится только на своих ошибках. И похоже тебе пройти эти грабли стоит. Т.к. рекомендации использования БД тебя пугают и могут вообще отбить желание решения поставленной задачи. Поэтому в добрый путь. 

Автор: n1ll 11.4.2011, 10:45
Цитата(pseud @ 11.4.2011,  07:39)
Цитата(n1ll @  10.4.2011,  20:37 Найти цитируемый пост)
В общем есть этот присловутый листбох(покамест пока я не придумал что получше) и кнопка добавить(пока без сортировки) вот и на кнопку добавить вылазиет окошко с параметрами письма.(что кому номер и путь к файлу) И вот заноситься это все в одну строку листбокса, а путь к файлу кудато еще, и по нажатию на элемент листбокса открываеться именно тот файл который нам нужен. 

Я в начале освоения дельфи тоже занимался такими странными методами (и думаю не я один). И хотелось бы тебя уберечь от наступания на грабли, которые прошли многие. Но, как я всегда говорю, человек успешно учится только на своих ошибках. И похоже тебе пройти эти грабли стоит. Т.к. рекомендации использования БД тебя пугают и могут вообще отбить желание решения поставленной задачи. Поэтому в добрый путь.

Ок, думаю стоит использовать БД если так дела обстоят.

Автор: pseud 11.4.2011, 15:07
Цитата(Frees @  6.4.2011,  09:06 Найти цитируемый пост)
с Access начни

Цитата(Poseidon @  6.4.2011,  10:11 Найти цитируемый пост)
Лично я начинал с Paradox, но тебе не советую, т.к. "что-то глючить начала". Хотя твою задачу в Paradox можно реализовать стандартными средствами Delphi, на стандартных компонентах и совершенно не зная SQL. 

Цитата(Frees @  6.4.2011,  10:16 Найти цитируемый пост)
в access проще БД сделать, даже совсем незная SQL
в SQLite нужно уже в скриптах разбираться или IDE для него искать.... 

Цитата(Poseidon @  6.4.2011,  10:11 Найти цитируемый пост)
Но все же я бы тоже посоветовал SQLite

Сложно определиться, не правда ли?..
n1ll, в твоем случае надо плясать с того букваря, который ты найдешь. Важно, чтобы это было нечто "Дельфи. Работа с БД" и чтобы там была разрисована не только работа с БД из дельфи но и создание этой самой БД в ее собственном средстве. Есть плохие буквари, есть отличные: http://forum.vingrad.ru/forum/topic-177302.html. Можешь ориентироваться на эту тему, но не загоняться. Тебе ведь главное начать.

Добавлено через 2 минуты и 27 секунд

И купи/найди именно печатный вариант. По мне, электронные учебники нужны лишь, чтобы в них подсматривать. 
Хотя, если тебе лишь так, спортивный интерес...

Автор: Akella 15.4.2011, 09:31
Цитата(n1ll @ 6.4.2011,  07:54)
Да там всего то лишь список нужно составить неужто для таких дел нужно приклреплять субд?
Может можно обойтись каким то делфи компонентом?

да, есть специальный компонент в delphi. Он так и называется - специальный компонент для регистрации документов  smile 

Автор: amsoft 15.4.2011, 11:00
По мне так все можно организовать намного проще.
Если нужна простая программка для создания списка документов, то вполне можно обойтись и без БД, используя TlistView, и сохраняя/загружая данные из обычного текстового файла, сами документы можно хранить в отдельной папке на диске (туда же можно закинуть текстовый файл (сохраненный список документов)).
Сортировку можно организовать по клику на заголовке столбцов и TListView.

n1ll
Если тебе подойдет такой вариант решения задачи, то могу подсказать алгоритм загрузки/сохранения данных в TListView

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)