Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Windows [игнор отключен] [закрыт для гостей] / Печать файлов из горячей папки / 10 сообщений из 10, страница 1 из 1
19.10.2006, 17:55
    #34067678
Stas_prelude
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать файлов из горячей папки
Задача стоит передо мной следующая:

есть принтер Epson Stylus Pro 4800
нужно на подкл к нему компьютеру создать горячую папку
из которой файлы .tif печатались бы на принтере.

и затем перемещались в другую папку.

интересует лбюое решение вопроса
(хотя бы название программы)

система 2к сервер
...
Рейтинг: 0 / 0
20.10.2006, 07:06
    #34068351
Green2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать файлов из горячей папки
В принципе это можно сделать в Automate,
простой скрипт который следит за папкой и
запускается при изменениях, печать и перенос в другую папку.
--



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
20.10.2006, 07:10
    #34068354
imkot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать файлов из горячей папки
Или планировщик nnCron можно попробовать для отслеживания изменения папки.
...
Рейтинг: 0 / 0
20.10.2006, 09:39
    #34068543
rrrrrrrrrr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать файлов из горячей папки
Можно так (ВЕЛОСИПЕД):
приложение
_action.exe
Код: plaintext
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.
 unit  _actionUnit1;
 //============================================================================== 
 interface 
 //============================================================================== 
 uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, FileCtrl, IniFiles;
 //============================================================================== 
 type 
  TForm1 =  class (TForm)
    Timer1: TTimer;
    flbList: TFileListBox;
     procedure  FormCreate(Sender: TObject);
     procedure  Timer1Timer(Sender: TObject);
   private 
     { Private declarations } 
   public 
     { Public declarations } 
   end ;
 //============================================================================== 
 var 
  Form1: TForm1;
  my_cmd :  string ;
 //============================================================================== 
 implementation 
 //============================================================================== 
 {$R *.dfm} 
 //============================================================================== 
 function  RunMyAppHidden(my_app :  string ; my_wait : bool) : bool;
   var 
    si : TStartupInfo;
    pi : TProcessInformation;
   begin 
    Result := false;
     try 
      ZeroMemory(@si,SizeOf(si));
      si.cb := SizeOf(si);
      si.dwFlags := STARTF_USESHOWWINDOW;
      si.wShowWindow := SW_HIDE;
       if  CreateProcess( nil ,PChar(my_app), nil , nil ,False, 0 , nil , nil ,si,pi)=true  then  Result := true;
       try  CloseHandle(pi.hThread);  except  ;  end ;
       if  my_wait = true  then  WaitForSingleObject(pi.hProcess, INFINITE);
       try  CloseHandle(pi.hProcess);  except  ;  end ;
     except 
      Result := false;
     end ;
   end ;
 //============================================================================== 
 procedure  TForm1.FormCreate(Sender: TObject);
 begin 
   try 
     with  TIniFile.Create(ExtractFilePath(ParamStr( 0 )) + '_action.ini')  do 
       try 
        flbList.Directory := ReadString('GeneralOptions','DirectoryToMonitor','c:\');
        flbList.Mask := ReadString('GeneralOptions','FileMask','*.*');
        my_cmd := ExtractFilePath(ParamStr( 0 )) + ReadString('GeneralOptions','ActionToTake','_actionbat.bat');
        Timer1.Interval := ReadInteger('GeneralOptions','TimerInterval', 1000 );
       finally 
        Free;
       end ;
   except 
    ;
   end ;
 end ;
 //============================================================================== 
 procedure  TForm1.Timer1Timer(Sender: TObject);
   var 
    my_tmp, my_ind : integer;
   begin 
    flbList.Refresh;
    flbList.Update;
     if  flbList.Count >  0   then 
       try 
        my_tmp := Timer1.Interval;
        Timer1.Interval :=  0 ;
         while  flbList.Count >  0   do 
           try 
             //ShowMessage(my_cmd + ' ' + '"' + flbList.Directory +  flbList.Items[0] + '"'); 
            RunMyAppHidden(my_cmd + ' ' + '"' + flbList.Directory +  flbList.Items[ 0 ] + '"',true);
             try  DeleteFile(flbList.Directory + flbList.Items[ 0 ]);  except ;  end ;
            flbList.Refresh;
            flbList.Update;
           except 
            ;
           end ;
        Timer1.Interval := my_tmp;
       except 
        ;
       end ;
   end ;
 //============================================================================== 
 end .
файл настройки
_action.ini
Код: plaintext
1.
2.
3.
4.
[GeneralOptions]
TimerInterval= 1000 
DirectoryToMonitor=c:\
FileMask=*.tif
ActionToTake=_actionbat.bat
файл действий
_actionbat.bat
Код: plaintext
1.
"C:\Program Files\ACD Systems\ACDSee\acdsee.exe" /p! % 1 
copy % 1  c:\tmp\
Работает все так: запускаете _action.exe, она мониторит каталог, указанный в параметре DirectoryToMonitor файла _action.ini, на предмет наличия файлов типа, указанного в параметре FileMask, с интервалом TimerInterval, и если такие файлы есть, то:
1) запускает для каждого из файлов батник _actionfile.bat (или любой, указанный в параметре ActionToTake, но расположенный в той же программной папке), имя каждого из файлов передается как параметр батнику, из батника доступен как %1
2) удаляет файл (поэтому если файл нужен, то его копирование в другой каталог пишется в батнике)
У меня работает. Могу выслать и ехе это велосипеда.
... и так пока не опустошит папку...
...
Рейтинг: 0 / 0
20.10.2006, 12:43
    #34069401
Stas_prelude
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать файлов из горячей папки
Спасибо болшое за ваши ответы.
но в случае с програмным решением (Delphi ili C - .ехе если можно)
встает так же проблема контроля ориентации страницы.
если она не праильно повернута, то что будет?
...
Рейтинг: 0 / 0
20.10.2006, 13:11
    #34069547
rrrrrrrrrr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать файлов из горячей папки
Stas_preludeСпасибо болшое за ваши ответы.
но в случае с програмным решением (Delphi ili C - .ехе если можно)
встает так же проблема контроля ориентации страницы.
если она не праильно повернута, то что будет? распечатается в зависимости от настроек вашей печатающей программы. Т.е. ACDSee 4 (у меня) на такой подвиг как разворот страницы не способна. Пятая - говорят, может...
...
Рейтинг: 0 / 0
21.10.2006, 12:44
    #34071640
imkot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать файлов из горячей папки
rrrrrrrrrr Т.е. ACDSee 4 (у меня) на такой подвиг как разворот страницы не способна. Пятая - говорят, может...
Но он (ACDSee5) такой тормоз....
...
Рейтинг: 0 / 0
21.10.2006, 12:58
    #34071656
rrrrrrrrrr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать файлов из горячей папки
Что-то вспомнилось: есть такая ActiveFax, там реализована отправка факсов из такой же "горячей папки" и есть возможность распечатывать исходящие факсы. Т.е. если замкнуть отправку факсов на свой же e-mail... можно выкрутиться :) Вообще, глянуть в сторону факсоотправлялок, у них обычно есть такой функционал...
Насчет кода: если есть желание, можно отладить, там, как выяснилось, полно нюансов с кавычками-пробелами. Но при определенном терпении можно отшлифовать.
...
Рейтинг: 0 / 0
21.10.2006, 13:33
    #34071684
imkot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать файлов из горячей папки
Кстати может задачу можно чуть шире обрисовать?
Может там что другое можно использовать?
Или именно такой механизм печати нужен?
...
Рейтинг: 0 / 0
23.10.2006, 16:28
    #34074614
Stas_prelude
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать файлов из горячей папки
я нашел уже пограмму, кому нужно - вышлю.

Heidelberg Color InkJet proof

а как второй вариант через асдсее и прогу от rrrrrrrr, работает, но посколЬку файлы до 800мб - медленне примерно в 2 раза.

а нюансы я сам подправлю, Delphi уже скачал
...
Рейтинг: 0 / 0
Форумы / Windows [игнор отключен] [закрыт для гостей] / Печать файлов из горячей папки / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]