AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Mit Fremdanwendung Daten an mein Programm senden
Thema durchsuchen
Ansicht
Themen-Optionen

Mit Fremdanwendung Daten an mein Programm senden

Ein Thema von Delbor · begonnen am 3. Mär 2019 · letzter Beitrag vom 5. Mär 2019
Antwort Antwort
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#1

Mit Fremdanwendung Daten an mein Programm senden

  Alt 3. Mär 2019, 11:31
Hi zusammen

Kürzlich habe ich mir einen Dokumentenscanner zugelegt, mit dem ich quasi in 'einem Wisch' mehrere Dokumente, auch PDFs, scannen kann. Nebst verschiedenen Cloudanwenduungen kann ich damit Dokumente auch an Anwendungen senden. Auszuwählen ist dabei lediglich die EXE der Zielanwendung. Somit könnte ich die gescannten PDFs auch an meine eigene Anwendung (zur Weiterverarbeitung) senden.
Welche Voraussetzungen müsste mein Programm erfüllen, um als Zielanwendung überhaupt in Frage zu kommen?

Mein erster Gedanke war, mein Programm um Client-Fähigkeiten zu erweitern und die entsprechende Anwendung als Server anzugeben.
Wenn ich allerdings an Client-Server-Demos unter Delphi denke - da muss immer erst der Server gestartet werden. Dann nimmt der Client Verbindung mit dem Server auf und übergibt ihm einen String, der dieser dann ausgibt. So gesehen wäre mein Programm nicht der Client, sondern der Server. Welche dieser Überlegungen ist jetzt richtig?


Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.596 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Mit Fremdanwendung Daten an mein Programm senden

  Alt 3. Mär 2019, 11:35
Kürzlich habe ich mir einen Dokumentenscanner zugelegt, mit dem ich quasi in 'einem Wisch' mehrere Dokumente, auch PDFs, scannen kann. Nebst verschiedenen Cloudanwenduungen kann ich damit Dokumente auch an Anwendungen senden. Auszuwählen ist dabei lediglich die EXE der Zielanwendung. Somit könnte ich die gescannten PDFs auch an meine eigene Anwendung (zur Weiterverarbeitung) senden.
Welche Voraussetzungen müsste mein Programm erfüllen, um als Zielanwendung überhaupt in Frage zu kommen?
Ohne den Scanner im Detail zu kennen, würde ich aus der Formulierung "Auszuwählen ist dabei lediglich die EXE der Zielanwendung." darauf schließen, dass das Executable einfach mit dem gescannten Dokument als Parameter aufgerufen wird. Demnach müsste Dein Programm lediglich mittels ParamCount / ParamStr() die übergebenen Parameter auswerten.
Thomas Mueller
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Mit Fremdanwendung Daten an mein Programm senden

  Alt 3. Mär 2019, 12:23
Hi dummzeuch

Danke für deine promte Antwort!

Zitat:
Demnach müsste Dein Programm lediglich mittels ParamCount / ParamStr() die übergebenen Parameter auswerten.
Hmm, wollte schon fragen ob du mir dazu ein Beispiel hast, da ich Paramstr(0) bisher nur als Alternatve zu Application.Exename kenne, aber ich hab doch da noch was gefunden.
Mal sehen, wie weit mich die bereitgestellten Downloads bringen.

Übrigens - der Scanner ist ein Canon Imageformla P-215

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor ( 3. Mär 2019 um 15:41 Uhr)
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#4

AW: Mit Fremdanwendung Daten an mein Programm senden

  Alt 3. Mär 2019, 15:23
Wenn der Scanner das Abbild vom Scannen als Datei irgendwo ablegt, kannst du, wie vorhin schon geschrieben, mittels ParamStr ermitteln, ob es einen Aufrufparmameter für dein Programm gibt.
Du startet dein Programm mittels "deinprogramm.exe parameter1", wobei parameter1 beispielsweise dann auf einen Pfad wie "c:\temp\dokument.pdf" zeigt.
Dann kannst du mit Paramcount feststellen, ob beim Start deines Programms ein oder mehrere Parameter übergeben wurden. Wenn dem so ist, kannst du mittels Paramstr die Parameter auslesen.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Mit Fremdanwendung Daten an mein Programm senden

  Alt 3. Mär 2019, 15:40
Hi zusammen

Ich hab da noch eine Frage zu dem unter der oben verlinkten Seite verfügbaren Code:

Zitat:
Selber nutze ich die Record-Variante ein, welche man so verwenden klnnte
Delphi-Quellcode:
with TParameter.GetDefault do begin
  if Exists['file'] then ShowMessage(Value['file']);
  ...
end;


Delphi-Quellcode:
var Params: TParameter;

if Params.Exists['file'] then ShowMessage(Params.Value['file']);
...
Das in den eckigen Klammern angegebene ['file'] verstehe ich lediglich als Platzhalter. Oder hab ich da was falsch verstanden?

Wenn der Scanner das Abbild vom Scannen als Datei irgendwo ablegt, kannst du, wie vorhin schon geschrieben, mittels ParamStr ermitteln, ob es einen Aufrufparmameter für dein Programm gibt.
Du startet dein Programm mittels "deinprogramm.exe parameter1", wobei parameter1 beispielsweise dann auf einen Pfad wie "c:\temp\dokument.pdf" zeigt.
Dann kannst du mit Paramcount feststellen, ob beim Start deines Programms ein oder mehrere Parameter übergeben wurden. Wenn dem so ist, kannst du mittels Paramstr die Parameter auslesen.
Danke für deine Antwort, zeras. Das lese ich jetzt so, dass das ['file'] der Pfad zu der ersten Datei in ParamStr ist/sein sollte.


Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#6

AW: Mit Fremdanwendung Daten an mein Programm senden

  Alt 3. Mär 2019, 16:44

Danke für deine Antwort, zeras. Das lese ich jetzt so, dass das ['file'] der Pfad zu der ersten Datei in ParamStr ist/sein sollte.
Du kannst einem Programm Parameter übergeben, damit das Programm dementsprechend reagieren soll.
Beim Acrobat kannst du meines Wissens einfach die Datei mit übergeben, die angezeigt werden soll. Dann wird mit Starten vom Acrobat gleich die entsprechende PDF angezeigt. Das Programm muss nur mit den Parametern umgehen können. Wenn du das im Programm nicht programmiert hast, wird dein Programm nicht reagieren.
Mit Word oder Excel ist es ähnlich. Gleich als Parameter die Word- oder Exceldatei übergeben. Dann starten die Programme nicht mit einer leeren Oberfläche, sondern mit der übergegebenen Datei.
Ob du nun die oben genannten Helper nutzt oder einfach nur Paramcount und Paramstr, bleibt dir überlassen.
Wichtig in deinem Fall ist, dass das Scannerprogramm das eingescannte Bild irgendwo als Datei ablegt.
Als Parameter muss man nicht zwangsläufig Dateinamen übergeben. Man kann auch Infos an das Programm übergeben, wie maximize, minimize, etc.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Mit Fremdanwendung Daten an mein Programm senden

  Alt 4. Mär 2019, 06:55
Da scheinbar vom Scanner immer die Exe (also Deine Anwendung) mit dem Parameter des PDF aufgerufen wird, hast Du nach 10 Dokumenten 10 Instanzen Deiner Anwendung, wenn Du nicht dafür sorgst, dass sie beim Start erkennt, dass bereits eine Instanz von ihr läuft und dann zu dieser bestehenden wechselt!

Ciao
Stefan
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#8

AW: Mit Fremdanwendung Daten an mein Programm senden

  Alt 4. Mär 2019, 10:11
Alternative:

Wenn das Programm mit Parametern aufgerufen wird, werden die dort aufgeführten Dateien verarbeitet und das Programm beendet sich dann.

Es können dann zwar, je nach Aufrufgeschwindigkeit, mehrere Instanzen des Programmes gleichzeitig laufen, aber sie bleiben nicht dauerhaft aktiv, bis sie manuell beendet werden.

https://www.swissdelphicenter.ch/de/...de.php?id=2126
https://www.entwickler-ecke.de/topic...n_39150,0.html
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Mit Fremdanwendung Daten an mein Programm senden

  Alt 5. Mär 2019, 10:11
Hi zusammen

Ups! Die Beiträge von Delphi.Narium und skoschke hab ich völlig übersehen - ich hab gestern allerdings mal eine etwas grössere Menge Dokumente eingescannt und dabei die Möglichkeiten des Canon-Scanprogramms mal etwas kennengelernt. Fazit: mit meinem bisherigen scanfähigen All-in-One-Drucker hätte ich nicht ansatzweise so effektiv arbeiten können.
Der/die Treiber ist ISIS/Twain. Von daher bin ich dann mal gespannt, ob ich mit meiner Twain-Klasse (war früher mal eine Komponente) diesen Scanner ansprechen kann.

Weiter habe ich gestern auch nach Themen gesucht, um einer Anwendung Parameter[1]zu übergeben und diesen an eine bereits existierende Instanz weiterzureichen. Luckie hat dies mehrfach verlinkt - nur ist dieser Link inzwischen den Weg allen Irdischen gegangen. Da ist der Link zur Entwicklerecke von Delphi.Narium genau das richtige.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:33 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