Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Scannear imagenes, saber que este prendido el scanner!!" (https://www.clubdelphi.com/foros/showthread.php?t=52380)

underwater 18-01-2008 20:23:36

Scannear imagenes, saber que este prendido el scanner!!"
 
Hola a todos!!


bueno me canse de probar y recurro en busca de un alma caritativa que me de un golpe!!jej...

mi problema viene por el lado de que me pidieron manejar un scanner.. bueno buscando info en la red encontre este componente para delphi http://delphitwain.sourceforge.net/ .. bueno me dije.. tengo algo solucionado.. :D:D.. El componente funcion lo mas bien.. es medio complicado darse cuenta de como modificarlo pero es bastante completo... es lo que pense en un momento

bueno el problema vino cuando quise ejecutar mi programa sin que el scanner este encendido y se pudrio todo! :eek:..


Mi pregunta es la siguiente: ¿Quien es el que controla que este encendido el scanner? ¿Hay alguna manera de saber si esta encendido, mediante delphi?

Hasta donde pude averiguar, el componente maneja una dll de windows llamada TWAIN_32. pero no se que funcion me puede ayudar con todo el rollo que es saber si esta prendida..


bueno ese era mi problema, si alguno se le ocurre algo y me puede decir se lo agradecere mucho! :)..


ah otra cosa que me parecio raro fue que, por ejemplo yo escaneo una imagen y luego apago el scanner. Despues quiero escanear otra imagen con el scanner apagado y se me cuelga la aplicacion.
Pero si en cambio, tengo apagado el scanner y ejecuto mi aplicacion ahi si me puedo dar cuenta de que esta apagado, ya que no escanea nada y no se cuelga la aplicacion.

El codigo que utilizo para escanear es:

Código Delphi [-]
Scanner.LoadLibrary;
    Scanner.LoadSourceManager;
    Scanner.Source[CurrentSource].Loaded := True;
    case cmbPixelType.ItemIndex of       
      0:  Scanner.Source[CurrentSource].SetIPixelType(tbdRgb); //Color
      1:  Scanner.Source[CurrentSource].SetIPixelType(tbdBw);
      2:  Scanner.Source[CurrentSource].SetIPixelType(tbdGray);
    end;
    //DPI
    Scanner.Source[CurrentSource].SetIXResolution(StrToInt(cmbDPI.Items[cmbDPI.ItemIndex]));
    Scanner.Source[CurrentSource].SetIYResolution(StrToInt(cmbDPI.Items[cmbDPI.ItemIndex]));
    //Numeros de imagens que voy a recibir
    // Scanner.Source[CurrentSource].SetCapXferCount(5);
    //Establece el marco de la imagen
    Scanner.Source[CurrentSource].SetImagelayoutFrame(RMargenes.rm_left,RMargenes.rm_top,RMargenes.rm_right,RMargenes.rm_bottom);

    {Enable source}     
    Scanner.Source[CurrentSource].TransferMode := Self.TransferMode;     
    Scanner.Source[CurrentSource].EnableSource(False, False);     
    while Scanner.Source[CurrentSource].Enabled do       
       Application.ProcessMessages;    
    Scanner.UnloadLibrary;


Bueno ya me descargue..jjee

saludos a todos

mrnovice 20-02-2008 21:06:31

DelphiTwain
 
la verdad desconozco el comando para saber si esta encendido o no, pero lo que te puede ayudar son los triplets, que son los comandos que se comunican con el scanner, aparentemente el error tambien que observo es que te falta ponerle IF's a load library y SourceManager saludos


La franja horaria es GMT +2. Ahora son las 16:42:40.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi