Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Sofort Scan mit TDelphiTwain (https://www.delphipraxis.net/144880-sofort-scan-mit-tdelphitwain.html)

pabstie 18. Dez 2009 17:16


Sofort Scan mit TDelphiTwain
 
Hallo Forum,

eine Frage zu der Komponente TDelphiTwain.

Ich habe jetzt ein kleines Programm gebastelt mit dem ich schon wunderbat scannen kann. Ich würde es aber gerne so einrichten, das er beim Button.click sofort scannt. Also ohne das Windows eigene Menü wo man sich die Vorschau anzeigenlassen kann oder halt die Einstellungen machen kann.

Wie ich die Source automatisch einstellen kann weiß ich mittlerweile, aber ich komme nicht weiter mit dem "einfach losscannen".

Wie kann ich denn die Werte wie Farbe etc. fest im Quelltext eingeben und das Scannen starten?

Hättet ihr da einen Tipp oder sogar einen Fetzen Quelltext für mich, bitte?

Bin euch für jede Hilfe dankbar.

P.S. Ich benutze Delphi 7

haentschman 18. Dez 2009 19:04

Re: Sofort Scan mit TDelphiTwain
 
Herzlich Willkommen in der DP :dp:

schau dir mal die Beispiele und die Hilfe an. Diese ist übersichtlich gegliedert und da findest du bestimmt was du suchst.

:hi:

pabstie 18. Dez 2009 22:00

Re: Sofort Scan mit TDelphiTwain
 
Danke für die Antwort,

Habe mir jetzt die Hilfe und die Beispiele angesehen. Aber ich sehe da die Lösung nicht.
Egal wie ich es mache, er scannt nicht sofort sondern ruft erst das Windowsmenü auf.

Hast du vieleicht einen Tip, was ich mir genauer durchlesen sollte?

pabstie 18. Dez 2009 23:37

Re: Sofort Scan mit TDelphiTwain
 
hier ist auch mal der code mit dem ich das Scannen starte:

Delphi-Quellcode:
procedure TForm1.GoAcquireClick(Sender: TObject);
var
  SourceIndex: Integer;
begin
  if DelphiTwain1.LoadLibrary then
   begin
    DelphiTwain1.LoadSourceManager();
    SourceIndex := 1;
     if SourceIndex <> -1 then
      begin
        DelphiTwain1.Source[1].Loaded := true ;
        DelphiTwain1.Source[1].TransferMode := ttmFile;
        DelphiTwain1.Source[1].Enabled := True;
      end else ShowMessage('abgebrochen')
     end
   else ShowMessage('Twain nicht installiert')
end;
wenn ich "DelphiTwain1.Source[1].Loaded := true ;" auf FALSE setzte kommt das Windowsmenü nicht mehr aber es passiert auch sonst nichts, wie kann ich ihm sagen scanne jetzt ?


P.S. Was ich jtzt noch rauslesen konnte ist das ich es wohl mit shoeUI deaktivieren kann. Aber ich verstehe noch nicht wo ich das eintragen soll?

Die Muhkuh 18. Dez 2009 23:53

Re: Sofort Scan mit TDelphiTwain
 
Zitat:

Set this property to TRUE to start the process of transferring the image from the source to the application. If ShowUI is set to FALSE, no user interface should be displayed and the image will be transferred automatically.
Das steht in der Hilfe zu "enabled". Du solltest evtl. nicht loaded := false setzen, sondern ShowUI := false.

pabstie 19. Dez 2009 00:13

Re: Sofort Scan mit TDelphiTwain
 
Also ish habe das Problem gefunden. Du brauchst beides sowohl Loaded := True als auch ShowUI := False, so startet er einen Dialog und nimmt die Standart Einstellungen aber seit das Interface nicht an.

So habe ich es ja auch die ganze Zeit probiert. Aber ich konte jetzt auch ergooglen das nicht alle Scanner und derern Source Manager das so unterstutzen. Wie z.b. meiner er braucht noch mal eine manuelle konfiguration weil er ja so " super toll ist und alles kann" das ihm der Standart nicht reicht.

Habe mich daber über VPN auf den Firmen Rechner eingelogt und es funktioniert :)

Für alle die es Interessiert, so sollte es dann ausehen:

Delphi-Quellcode:
  if DelphiTwain1.LoadLibrary then
   begin
    DelphiTwain1.LoadSourceManager();
    SourceIndex := 1;
     if SourceIndex <> -1 then
      begin
       DelphiTwain1.Source[1].Loaded := True ;
       DelphiTwain1.Source[1].ShowUI := False;
       DelphiTwain1.Source[1].TransferMode := ttmFile;
       DelphiTwain1.Source[1].Enabled := True;
      end else ShowMessage('abgebrochen')
     end
   else ShowMessage('Twain nicht installiert')
end;
Aber Danke für die Hilfe.

Die Muhkuh 19. Dez 2009 00:31

Re: Sofort Scan mit TDelphiTwain
 
Das ganze noch ein bisschen "optimiert":

Delphi-Quellcode:
if DelphiTwain1.LoadLibrary then
begin
  DelphiTwain1.LoadSourceManager();
  SourceIndex := 1;
  DelphiTwain1.Source[SourceIndex].Loaded := True ;
  DelphiTwain1.Source[SourceIndex].ShowUI := False;
  DelphiTwain1.Source[SourceIndex].TransferMode := ttmFile;
  DelphiTwain1.Source[SourceIndex].Enabled := True;
end
else
  ShowMessage('Twain nicht installiert')
Die zweite If-Abfrage ist ja sinnlos, die kann ja nie <> -1 sein, da Du SourceIndex direkt davor auf 1 setzt.

pabstie 19. Dez 2009 10:03

Re: Sofort Scan mit TDelphiTwain
 
na immer das letzte Wort haben wollen ;).

Hast natürlich Recht, die 2. íf Abfrage war noch ein rest aus dem vorherigem Code.

Garfield 19. Dez 2009 10:52

Re: Sofort Scan mit TDelphiTwain
 
Zitat:

Zitat von Die Muhkuh
Die zweite If-Abfrage ist ja sinnlos, die kann ja nie <> -1 sein, da Du SourceIndex direkt davor auf 1 setzt.

Kleiner Denkfehler: SourceIndex ist immer <> -1 aber nie = -1 weil SourceIndex der Wert 1 zugewiesen wurde.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz