imho.ws |
![]() |
![]() |
![]() |
# 1 |
Guest
Сообщения: n/a
|
Delphi,Access...
значит для начала немного опишу прогу....
Называецо защищенный докуметооборот...аля клиент,сервер.В котором имеецо БД(Access). Скрестил ацес и дельфи.delphi v7,Access 2003.через ADO. Вот собстевнно и начались проблемы.... 1ая - он почему то совсем не отображет свойства полей,маски и т.д.Просто тупая таблица с добавлением,изменением,удалением. ну дык это еще цветочки... 2ая - для чего собсно нужно БД?!...Вот,прога должна сканить допустим из такой то директории документы и заносить их в БД. как енто организовать?При чем она должна в себя занисить дату последнего изменения,владелец документа....и месторасположение документа. (кто чего не понял...спрашивайте!) |
![]() |
# 2 |
Newbie
Регистрация: 04.08.2005
Адрес: Дзержинск
Сообщения: 27
![]() |
1.
Ты хочешь, чтобы через ADO можно было еще и в конструктор таблицы входить ? Могу ошибиться, но это вряд ли. Сходи на www.delphikingdom.ru может кто что подскажет. Хотя мне не совсем понятно зачем клиенту иметь доступ к свойствам таблицы ?! 2. Слишком расплывчато поставлена задача. В каком виде исходные документы ? Как происходит сканирование: автоматом, принудительно ? Какова структура таблиц Access ? Вопросов много, а потому прогу надо самому начинать кропать и вопросы задавать по КОНКРЕТНЫМ проблемам. Удачи ! |
![]() |
![]() |
# 4 |
Guest
Сообщения: n/a
|
Уря....токо что решил первую проблему....
![]() Документы-word,excel... Скан происходит атоматически.Ну указываешь что из этой паки через каждые 30 сек сканить документы.для начала хотелось бы что бы она просто в сибя заносила имя документа и что-то типо сцылки где он храница.вапще как сделать так чтобы она вносила в себя сама автоматом что то... (вапще я тыщу лет не програмил,точнее 3 года.вот теперь начали напрягать...поэтому я мог чего то забыть...и вполне возможно не понимать некоторых вопросов). kilroystudio.narod.ru/ado.rar если интересно глянь.(login - Admin pas -"пустой") ну вот допустим просканировал,нашел он.а куда он их запишет.надо чтобы в БД....все равно СПАСИБО!!!ща глянем.... Последний раз редактировалось kilroy; 25.01.2006 в 17:32. |
![]() |
# 5 | |
::VIP::
Регистрация: 19.03.2004
Сообщения: 1 329
![]() ![]() ![]() ![]() |
Цитата:
|
|
![]() |
![]() |
# 6 |
Guest
Сообщения: n/a
|
т.е. добавляй???
она(прога) должна быть автоматизированна. то что надо написать код я уже понял. допустим две кнопочки.1ая - обзор каталога откуда сканить,2ая - сам скан + внесение информации в БД(либо можно и разделить скан и внесение в БД).я так это понимаю... ![]() так вот.первую кнопочку(обзор) я сделал.Что писать во второй... что типо.берем название файла и вписываем его в первое поле первого столбца...так что ли.... не совсем догоняю алгоритм... ![]() |
![]() |
# 7 |
Junior Member
Регистрация: 10.08.2004
Адрес: Завис в конторе
Пол: Male
Сообщения: 180
![]() ![]() ![]() ![]() ![]() ![]() |
По первой кнопке тебе надо составить список файлов в отсканированной папке. А по второй кнопке, используя список, занести файлы БД. Или же. По первой кнопке просто указываешь каталог, где лежат файлы, а по второй объединяешь поиск с одновременным занесением найденного.
__________________
Не нервируйте меня. Мне скоро негде будет прятать трупы! |
![]() |
![]() |
# 8 |
::VIP::
Регистрация: 19.03.2004
Сообщения: 1 329
![]() ![]() ![]() ![]() |
kilroy
Ты всё правильно описал, смотри хелп и примеры по командам которые я указал. Сканирование файлов каталога организуется в цикле, пихай его на вторую кнопку. Когда писать в БД - в цикле или потом - решай сам, но видимо стоит ещё и делать проверку: нет ли уже в БД информации об этом файле. Вообще алгоритм ты сам придумываешь, что когда и как делать... |
![]() |
![]() |
# 10 |
Junior Member
Регистрация: 29.09.2005
Сообщения: 99
![]() |
[QUOTE=kilroy]Ну указываешь что из этой паки через каждые 30 сек сканить документы.для начала хотелось бы что бы она просто в сибя заносила имя документа и что-то типо сцылки где он храница.QUOTE]
Я так понимаю, что у тебя в базе всего одна таблица с двумя полями?! первое поле-путь каталога, в котором происходит поиск(например C:\MyFolder),второе поле-имя файла. Если кнопку под названием Обзор ты сделал и прописал код для выбора каталога, то путь к папке у тебя уже есть, соответственно первое поле из таблицы заполнить уже можешь, осталось только второе - сканирование ЕЖ уже сказал как это сделать......Да, если понадобиться проверка нет ли такой записи уже в базе, то мой тебе совет, объединить оба твоих поля в первичный ключ!!! |
![]() |
![]() |
# 11 |
Guest
Сообщения: n/a
|
Неа...
Блин жопа че то никак не могу замутить все это... "Я так понимаю, что у тебя в базе всего одна таблица с двумя полями?!" Нет.БД больше.Та таблица которая отвечает за файло(документы) там есть много чего... kilroystudio.narod.ru/ado.rar если интересно глянь.(login - Admin pas -"пустой") (проект должен лежать в C:\ado )(как указать путь к БД с самого начала...а не прописывать его в создании..?) Вот....потому что я такой меготупой плиз помогите... Вот сначало мы разберем кнопочку "обзор". Надо что бы она выдавала как бы типо обзора всех папок и еще чтобы можно было бы в этом обзоре просматривать сетевое окруджение. +что бы можно было указывать не одну папку(для начала хотя бы одну). ну вот там указали из какой папки считывать(сканить) файло,далее он делает список этот,например создет его в тхт.а вообще желательно чтобы он делал его в самой проге где список создавал и работал с ним.(нужна еще безопастность).Вот можно было бы что бы он сделала сразу полдный список т.е. имя файла,тип файла,дата создания и изменения...а потом просто тупо заносил бы их в бд. При чем я думаю что делать цикл не надо(во второй кнопке). просто при совпадении имени файла он бы заменял его. уфффф.....голова опухает ![]() Плиз ![]() ![]() Последний раз редактировалось kilroy; 30.01.2006 в 20:47. |
![]() |
# 12 |
::VIP::
Регистрация: 19.03.2004
Сообщения: 1 329
![]() ![]() ![]() ![]() |
Самый простой вариант для выбора папки
PHP код:
PHP код:
|
![]() |
![]() |
# 13 |
Guest
Сообщения: n/a
|
Пасибо БОЛЬШОЕ!Токо код то на пхп.а я то на дельфи пишу.или одинаково.лана щас попробуем...
![]() С кодом не особо разобралсо.Но появились идейки. Написать в кнопке Обзор: TOpenDialog (http://www.sources.ru/delphi/delphi_..._for_all.shtml) использовать вот такой компонент + FindFirst(FindNext) или мож FindDialog1. procedure TForm1.Button1Click(Sender: TObject); var sr: TSearchRec; FileAttrs: Integer; begin StringGrid1.RowCount := 1; if CheckBox1.Checked then FileAttrs := faReadOnly else FileAttrs := 0; if CheckBox2.Checked then FileAttrs := FileAttrs + faHidden; if CheckBox3.Checked then FileAttrs := FileAttrs + faSysFile; if CheckBox4.Checked then FileAttrs := FileAttrs + faVolumeID; if CheckBox5.Checked then FileAttrs := FileAttrs + faDirectory; if CheckBox6.Checked then FileAttrs := FileAttrs + faArchive; if CheckBox7.Checked then FileAttrs := FileAttrs + faAnyFile; with StringGrid1 do begin RowCount := 0; if FindFirst(Edit1.Text, FileAttrs, sr) = 0 then begin repeat if (sr.Attr and FileAttrs) = sr.Attr then begin RowCount := RowCount + 1; Cells[1,RowCount-1] := sr.Name; Cells[2,RowCount-1] := IntToStr(sr.Size); end; until FindNext(sr) <> 0; FindClose(sr); end; end; end; вот....токо надо как то замутить без атрибутов файлов.+ чтобы сканил в указанной директории и записывал куда нить список файлов. Последний раз редактировалось kilroy; 31.01.2006 в 20:38. |
![]() |
# 14 |
Guest
Сообщения: n/a
|
kilroystudio.narod.ru/ado.rar обновил.
хм...Вот ... 1ое надо чтобы при нажатии на кнопочку обзор выбиралась именно папка а не файл. 2ое надо как нить замутить чтобы из stringgrid данные записывались в dbgrid либо чтобы они сразу писались в dbgrid.... вот....мдя... |
![]() |
# 16 |
::VIP::
Регистрация: 19.03.2004
Сообщения: 1 329
![]() ![]() ![]() ![]() |
kilroy
Это был не PHP-код, а Delphi, просто я его оформил в PHP-тэг чтобы была подсветка синтаксиса ![]() Далее... DBGrid работает с DataSet - а это либо твоя БД, либо есть компоненты для размещения DataSet просто в памяти без БД (так называемые MemoryDataSet). Но тебе думаю имеет смысл писать прямо в БД, т.к. это тебе вроде и надо. Про расширения - в Delphi есть целый набор функций для работы со строками, содержащие пути/именами_файлов. В частности ExtractFileName/ExtractFileExt - посмотри в Help, а заодно другие функции из этого юнита. |
![]() |
![]() |
# 17 |
Guest
Сообщения: n/a
|
Мля...я совсем отупел
![]() "Далее... DBGrid работает с DataSet - а это либо твоя БД, либо есть компоненты для размещения DataSet просто в памяти без БД (так называемые MemoryDataSet). Но тебе думаю имеет смысл писать прямо в БД, т.к. это тебе вроде и надо." Не воткнул.Ты что имеешь ввиду??? Мне нужно в БД занести имя файла,и сцылку на него. Ты скачай мою прогу и посмотри...так нагляднее будет=) |
![]() |
# 18 | |
::VIP::
Регистрация: 19.03.2004
Сообщения: 1 329
![]() ![]() ![]() ![]() |
kilroy
Ну глянул я на твою прогу... и чего? Надо тебе в БД заносить имена файлов, так и заноси - зачем тебе для этого StringGrid? Совершенно не понятен твой уровень знаний про работу с БД в Delphi... Ты написал Цитата:
|
|
![]() |
![]() |
# 20 | |
::VIP::
Регистрация: 19.03.2004
Сообщения: 1 329
![]() ![]() ![]() ![]() |
Цитата:
http://imho.ws/showpost.php?p=1039565&postcount=1530 Последний раз редактировалось ЕЖ; 06.02.2006 в 12:21. |
|
![]() |