Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Word-сеть-Delphi


Автор: RedKot 26.3.2007, 06:09
Здравствуйте создатели и посетители форума!
Подскажите как правильно организовать доступ и работу с Word'ом по сети из приложения Delphi.
Например, имеется Word документ File.doc расположенный в сети \\192.168.1.1\Папка\...\File.doc. 
20 пользователей запускают Delphi приложение на своих машинах, а приложение в свою очередь должно открыть этот документ (приложение вносит свои небольшие изменения в текст документа, то есть документ должен открываться с возможностью изменений в нем) для работы с ним. При завершении клиентом (пользователем) работы приложения, оно должно закрыть документ с которым работал клиент (в нашем случае File.doc), но при этом другие клиенты работающие с этим же File.doc должны продолжать работу с этим документом.

И как узнать что с файлом File.doc уже работает кто то?

И если на машинах клиентов нет MS Office, а MS Office есть только на машине где лежит File.doc (\\192.168.1.1\Папка\...\File.doc), то будет работать приложение?
Или надо обязательно на клиенстких машинах присутствие Word'а?

Очень нужно. Заранее спасибо.

Автор: RedKot 15.4.2007, 04:00
Неужели ни у кого нет соображений. Или это настолько "смешная" тема, что на нее не стоит отвечать?
Напишиите хоть что-нибудь...  smile 

Автор: _hunter 16.4.2007, 11:38
это очень смешная тема...
делается все двумя методами:
-- твое приложение сначала тянет файл на комп пользователя (куда-нить в TEMP) и там с ним работает. после чего открывает в BackGround'е файл на сервере и merge-ит оба файла.
-- пишется серверное приложение, отдающее файл по запросу. это приложение отдает копию файла и оно же занимается слиянием.
что тут смешного? а смешное тут текстовое слияние...

Автор: RedKot 17.4.2007, 06:04
for hunter (и для других):
именно этим у меня сейчас программа и занимается - делает копию с сервера на клиент и работает.
При этом для моей программы обязательное условие - установленный Microsoft Office (Word) на клиенте.
но я имел ввиду немного другое - не "тащить" Word файл с сервера на клиент, а открывать и работать с файлом непосредственно на сервере.
Допустим на клиенте не установлен MS Word, и перетаскивание .doc файла с сервера на клиент не поможет.
А твои два метода, если я правильно понял, занимаются перетаскиванием.

под сервером может пониматься не только как таковой сервер, но и любая другая машина в сети smile 

Автор: Yanis 17.4.2007, 06:41
Если не нравится MS Word, то пользуйтесь WordPad, который есть в винде. С RTF работает нормально.

Автор: _hunter 17.4.2007, 11:27
а в чем ты работать с этим .doc-ом собрался?
можно, конечно, и аналог RAdmin'а писать -- т.е. вся работа происходит на удаленном компе а по сети только скрины и ввод гонять...

Автор: RedKot 21.4.2007, 04:14
Цитата(_hunter @  17.4.2007,  11:27 Найти цитируемый пост)
а в чем ты работать с этим .doc-ом собрался?
можно, конечно, и аналог RAdmin'а писать -- т.е. вся работа происходит на удаленном компе а по сети только скрины и ввод гонять... 

обязательное условие - MS Word.
А если вообще не писать серверное приложение, разве Word не поддерживает передачу данных по сети?

Цитата(Yanis @  17.4.2007,  06:41 Найти цитируемый пост)
Если не нравится MS Word, то пользуйтесь WordPad, который есть в винде. С RTF работает нормально. 

обязательное условие - MS Word.

Автор: _hunter 23.4.2007, 11:22
Цитата(RedKot @  21.4.2007,  04:14 Найти цитируемый пост)
обязательное условие - MS Word.

в смысле?

Цитата(RedKot @  21.4.2007,  04:14 Найти цитируемый пост)
А если вообще не писать серверное приложение, разве Word не поддерживает передачу данных по сети?

конечно не поддерживает.

Автор: avosi 7.5.2008, 15:07
а если вместо документа ворд будет файл екселя?? как организовать доступ ряда пользователей к нему(для выборки ряда столбцов)??

Автор: Albinos_x 7.5.2008, 19:03
Цитата(RedKot @  26.3.2007,  06:09 Найти цитируемый пост)
И если на машинах клиентов нет MS Office, а MS Office есть только на машине где лежит File.doc (\\192.168.1.1\Папка\...\File.doc), то будет работать приложение?

нет

Цитата(RedKot @  26.3.2007,  06:09 Найти цитируемый пост)
Или надо обязательно на клиенстких машинах присутствие Word'а?

да

Цитата(RedKot @  26.3.2007,  06:09 Найти цитируемый пост)
И как узнать что с файлом File.doc уже работает кто то?

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

Цитата(RedKot @  17.4.2007,  06:04 Найти цитируемый пост)
открывать и работать с файлом непосредственно на сервере.Допустим на клиенте не установлен MS Word, и перетаскивание .doc файла с сервера на клиент не поможет.

ты можешь и вордом открыть на сервере, но как я писал выше, тогда если не первый пользователь, то будет открываться только для чтения... что же говоря про второе, то тогда тебе надо знать формат файла *.doc и работать с ним напрямую (имею ввиду с форматом) ... воспользуйся поиском, я где-то тут давал ссылку на статью на С++ про формат *.doc


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