Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.08.03;
Скачать: CL | DM;

Вниз

сканер   Найти похожие ветки 

 
fedormoore ©   (2007-11-01 14:17) [0]

Здравствуйте все!!! и всем!!!
пытаюсь написать простинькую программку для себя которая бы вела електронный архив документов, есть сканер с автоподачиком рз scanjet 5590 и есть вот такой код

procedure TForm1.Accquire1Click(Sender: TObject);
var
dat: hBitMap;
PInfo: PBitMapInfoHeader;
Height,Width:integer;
{Функция возведения 2 в степень}
function stp2(s:byte):longint;
var
 m: longint;
 i: byte;
begin
 m:=2;
 for i:=2 to s do m:=m*2;
 stp2:=m;
end;

begin
{Получаем указатель на графические данные}
dat:=TWAIN_AcquireNative(Handle,0);
if dat <> 0 then begin
 {Получаем указатель на область памяти содержащей DIB
 данные и блокируем область памяти}
 PInfo:=GlobalLock(dat);
 {Анализируем полученные данные}
 Height:=PInfo.biHeight ;
 Width:=PInfo.biWidth ;
 Wcm.Caption :=floatToStrF(100/PInfo.biXPelsPerMeter*Width,ffNumber,8,3)+" cm";
 Hcm.Caption :=floatToStrF(100/PInfo.biYPelsPerMeter*Height,ffNumber,8,3)+" cm";
 Colors.Caption := floatToStrF(stp2(PInfo.biBitCount),ffNumber,8,0)+ " цветов";
 {Разблокируем память}
 GlobalUnlock(dat);
 {Передаем в битовую матрицу графические данные}
 {И устанавливаем перехват ошибок}
 try
 MyBitMap.Palette :=TWAIN_CreateDibPalette(dat);
 MyBitMap.Width := Width;
 MyBitMap.Height := Height;
 TWAIN_DrawDibToDC(MyBitMap.Canvas.Handle,0,0,Width,Height,dat,0,0);
 except
 {Обрабатываем наиболее вероятную ошибку связанную с не хваткой ресурсов
   для загрузки изображения}
 on EOutOFResources do
     MessageDlg("TBitMap: Нет ресурсов для загрузки изображения!",
               mtError,[mbOk],0);
 end;
 {Отображаем графические данные}
 //Canvas.Draw(10,10,MyBitMap);
 Image1.Picture.Graphic:=MyBitMap;
 {Освобождаем память занятую графическими данными}
 TWAIN_FreeNative(dat);
end;

end;

он показывает (если дописать строку) то сохроняет только последний документ который отсканировал, а как мне быть если в автоподачике лежит целая пачка? просмотрел все вопросы но такой проблемы не встречал


 
tesseract ©   (2007-11-01 16:39) [1]


> function stp2(s:byte):longint;var  m: longint;  i: byte;
> begin  m:=2;  for i:=2 to s do m:=m*2;  stp2:=m;end;


Странный код  покажу проще :

function stp2(s:byte):cardinal
m:caridnal;
begin
  m:=2;
  result:=m shl s;
end;



Страницы: 1 вся ветка

Текущий архив: 2008.08.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
2-1215189621
гыгы
2008-07-04 20:40
2008.08.03
Прозрачность


2-1215360644
observateur
2008-07-06 20:10
2008.08.03
widestring


3-1203672827
dolmat
2008-02-22 12:33
2008.08.03
Преобразования типов


15-1213908265
wl
2008-06-20 00:44
2008.08.03
дайте воздуху!


2-1214549615
matriza
2008-06-27 10:53
2008.08.03
преобразовать doc и xls в pdf