AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Fremdes Programm ansteuern

Ein Thema von sigga · begonnen am 29. Sep 2013 · letzter Beitrag vom 7. Okt 2013
Antwort Antwort
Seite 1 von 2  1 2   
sigga

Registriert seit: 20. Jan 2013
5 Beiträge
 
#1

Fremdes Programm ansteuern

  Alt 29. Sep 2013, 18:25
Ich will den Text aus einer PDF haben, um z.B. Telefonnummern zu suchen.
Einfach einlesen wie bei TXT geht nicht, da bei PDF der Text Binärcodiert ist.
Da die PDF verschieden aussehen, sind sie nicht immer an der selben Stelle, also nicht auslesbar.
Einfachster Weg den ich gefunden habe:
Den gesamten Text markiern, dann kopieren und dann in TMemo reinkopieren, dann kann man da nach allem suchen.
Alles markieren wäre strg+a,kopieren strg+c und einfügen ins Memo da werd ich wohl den zwischenspeicher auslesen.

Als Möglichkeit zum ansteuern des Adobe Reader bin ich auf Sendmessage gekommen.
var zahl:integer; hndl : THANDLE
SendMessage(hndl, WM_COMMAND, zahl, 0);
Auf windowsseite find ich aber keine Info wie man ein strg+A und so auslöst oder welche zahl das sein soll, die arbeiten mit wörtern.
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#2

AW: Fremdes Programm ansteuern

  Alt 29. Sep 2013, 19:02
So sendet man ein CRTL+A

Delphi-Quellcode:
  keybd_event(VK_CONTROL, 0, 0, 0);
  keybd_event(Ord('A'), 0, 0, 0);
  keybd_event(Ord('A'), 0, KEYEVENTF_KEYUP, 0);
  keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
So ein CRTL + C

Delphi-Quellcode:
  keybd_event(VK_CONTROL, 0, 0, 0);
  keybd_event(Ord('C'), 0, 0, 0);
  keybd_event(Ord('C'), 0, KEYEVENTF_KEYUP, 0);
  keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
So stellt man sicher, dass der User nicht irgendwelche anderen Control Keys drückt ...

http://www.delphipraxis.net/462744-post6.html
  Mit Zitat antworten Zitat
sigga

Registriert seit: 20. Jan 2013
5 Beiträge
 
#3

AW: Fremdes Programm ansteuern

  Alt 29. Sep 2013, 20:55
Funktioniert super

der Ordnung halber:
Im interface unter uses braucht man
windows, winsock,
sonst funktioniert es nicht, es steht bei den meisten erklärungen nur 'windows' dabei
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#4

AW: Fremdes Programm ansteuern

  Alt 29. Sep 2013, 21:04

Winsock brauchst du für Socket Kommunikation, aber ganz sicher nicht für ein einfaches "CTRL+A".

Die unit "Clipbrd" könnte sicher interessant sein, damit man den Text aus der Zwischenablage auch wieder zum Weiterverarbeiten herausbekommt ...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Fremdes Programm ansteuern

  Alt 30. Sep 2013, 02:29
Mach das lieber über eine temporäre Datei als über die Zwischenablage. Oder wenn über die Zwischenablage, dann weis den Anwender drauf hin. Ich verwende die Zwischenablage sehr intensiv und wenn sie mir ein Programm ungefragt überschreibt, sollte der Programmierer möglichst nicht mit mir in einem Raum befinden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
sigga

Registriert seit: 20. Jan 2013
5 Beiträge
 
#6

AW: Fremdes Programm ansteuern

  Alt 30. Sep 2013, 07:34

Winsock brauchst du für Socket Kommunikation, aber ganz sicher nicht für ein einfaches "CTRL+A".

Die unit "Clipbrd" könnte sicher interessant sein, damit man den Text aus der Zwischenablage auch wieder zum Weiterverarbeiten herausbekommt ...
ohne winsock wird der befehl "keybd_event" aber nicht erkannt.

Mach das lieber über eine temporäre Datei als über die Zwischenablage. Oder wenn über die Zwischenablage, dann weis den Anwender drauf hin. Ich verwende die Zwischenablage sehr intensiv und wenn sie mir ein Programm ungefragt überschreibt, sollte der Programmierer möglichst nicht mit mir in einem Raum befinden.
Das Öffnen der PDF, kopieren und wieder schließen verträgt eh schon keine einmischung,von daher darf während dem programmlauf schon keiner daran arbeiten, unter den umständen kann ich auch die zwischenablage nutzen. hab mal grob getestet wielange ich bei 10 dateien brauch, der pc wird die ganze nacht durchrennen

Geändert von sigga (30. Sep 2013 um 07:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Fremdes Programm ansteuern

  Alt 30. Sep 2013, 12:20
Hilft dir das eventül?

http://www.swissdelphicenter.ch/de/showcode.php?id=2169
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
sigga

Registriert seit: 20. Jan 2013
5 Beiträge
 
#8

AW: Fremdes Programm ansteuern

  Alt 30. Sep 2013, 16:39
nö leider nicht, bei Lazarus gibt es kein "acrobat_tlb"
leider
hatte ich auch schon gefunden
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Fremdes Programm ansteuern

  Alt 30. Sep 2013, 17:11
Diese muss man auch selber erzeugen (Wrapper Unit um ActiveX-Control)
Markus Kinzler
  Mit Zitat antworten Zitat
sigga

Registriert seit: 20. Jan 2013
5 Beiträge
 
#10

AW: Fremdes Programm ansteuern

  Alt 30. Sep 2013, 19:42
wäre ne bessere Lösung mit activex, hab dazu nur eine erklärung für word dateien gefunden
soweit ich es verstanden hab schließt man die application ins Ole object.
wie heißt denn die acrobat application, also was muss in createOleobject()?
ist niergnds beschrieben wo die das her haben


> MSWord: Variant;
> begin
> MSWord := CreateOleObject('Word.Application');

hier mal die Quelle:
http://free-pascal-general.1045716.n...td4418635.html

Geändert von sigga (30. Sep 2013 um 19:46 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:48 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