Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сканирование! [D6, WinXP]


ser_ega ©   (2004-10-08 20:29:00) 

Ув. Мастера помогите! Нашел такой код проги:

procedure TForm1.FormCreate(Sender: TObject);
begin
 Application.OnMessage := MyMsg;
 TWOpenDSM(Application.Handle);
end;

procedure TForm1.MyMsg(var Msg: TMsg; var Handled: Boolean);
begin
 Handled := ProcessSourceMessage(Msg);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 Application.OnMessage := nil;
 if TWIsDSEnabled then
   TWDisableDS;
 if TWIsDSOpen then
   TWCloseDS;
 if TWIsDSMOpen then
   TWCloseDSM;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 TWAcquire(Application.Handle, Image1.Picture.Bitmap, True);
end;

Но по нажатии на Button1,через некоторое время, выскакивает окно настройки СКАНИРОВАНИЯ, а потом по нажатии на кнопку "Сканировать" оно пропадает,т.е. очень долго получается! Как мне сделать так чтобы не выставлять настройки каждый раз т.е. как нажать сразу кнопку "Сканировать", но с определенными настройками (Например: Тип изображения-черно-белый рисунок или текст; Расширение DPI - 300 )!


Erik1   (2004-10-13 13:02:00) [1]

Тяжолый случай, F7, F8 понажимай после breakpoint.


ser_ega   (2004-10-12 23:07:00) [2]

Что значит "Отрасировать"?


Erik1   (2004-10-12 17:21:00) [3]

Попробуй отрасировать его и посмотри, что медленно работает. Еще поищи в сети информацию по TWAIN API.


ser_ega   (2004-10-12 17:04:00) [4]

Кто нибудь помогите!


ser_ega   (2004-10-11 22:10:00) [5]

Вот нашел!

function ProcessSourceMessage(var Msg: TMsg): Boolean;
var
 twRC: TW_UINT16;
 event: TW_EVENT;
 pending: TW_PENDINGXFERS;
begin
 Result := False;

 if TWDSMOpen and TWDSOpen then
 begin
   event.pEvent := @Msg;
   event.TWMessage := 0;

   twRC := DSCall(DG_CONTROL, DAT_EVENT, MSG_PROCESSEVENT, @event);

   case event.TWMessage of
     MSG_XFERREADY:
     begin
       // ToDo!
       TWNativeTransfer;

       TwainCheckDS(DSCall(DG_CONTROL, DAT_PENDINGXFERS, MSG_ENDXFER, @pending),
         'Check for Pending Transfers');

       if pending.Count > 0 then
         TwainCheckDS(DSCall(DG_CONTROL, DAT_PENDINGXFERS, MSG_RESET,
           @pending), 'Abort Pending Transfers');

       TWDisableDS;
       TWCloseDS;
     end;
     MSG_CLOSEDSOK, MSG_CLOSEDSREQ:
     begin
       TWDisableDS;
       TWCloseDS;
     end;
   end;

   Result := not (twRC = TWRC_NOTDSEVENT);
 end;
end;


ser_ega   (2004-10-11 21:53:00) [6]

F А меня нет такого кода! Мне просто в этой конференции дали ссылку на код программы вот я его и скачал!


Erik1   (2004-10-11 14:02:00) [7]

Приведи код ProcessSourceMessage.


ser_ega   (2004-10-11 12:29:00) [8]

Выход хоть какой-то есть?


Наверх

Титульная страница Поиск, карта сайта Написать письмо