AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ClipBord

Ein Thema von oldmann · begonnen am 27. Nov 2018 · letzter Beitrag vom 30. Nov 2018
Antwort Antwort
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#1

AW: ClipBord

  Alt 28. Nov 2018, 10:45
Nach welchen Kriterien soll die Anwendung ermittelt werden, an die eine Tastenkombination zu senden ist?
Wahrscheinlich doch an das Anwendungsfenster, welches zuvor als letztes aktiv war?
Weist du nicht wie das geht?

Ansonsten hat die Redeemer bereits Quellcode zur Verfügung gestellt, um eine Tastenkombination an eine Anwendung zu senden.
Kommst du damit nicht klar?

"Shift+Einf" wird möglicherweise nicht in jedem Fall funktionieren, "Strg+V" ist besser.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: ClipBord

  Alt 28. Nov 2018, 12:00
Ich blicke da immer noch nicht durch aber hier ein Ansatz mit Delphi 5:
Delphi-Quellcode:
for i := 1 to Length(MeinText) do
begin
  keybd_event(Ord(MeinText[i]), 0, 0, 0);
  Sleep(10);
  keybd_event(Ord(MeinText[i]), 0, 0 or KEYEVENTF_KEYUP, 0);
  Sleep(10);
end;
Das bewirkt folgendes:
Egal was gerade den Focus hat bekommt deinen "MeinText" gesendet.

Ist es das was Du wolltest?
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
zeras

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

AW: ClipBord

  Alt 28. Nov 2018, 13:51
Wie schon teilweise oben beschrieben.
Wenn du mit der Zwischenablage arbeitest und beispielsweise STRG + C drückst, dann wird das Objekt oder der Bereich der aktiven Anwendung in die Zwischenablage kopiert. Nun musst du dein anderes Programm als aktiv erklären und dann würde auch STRG +V gehen. Das ist offenbar dein Problem. Deshalb musst du wissen, welches das "Zielprogramm" sein soll.
Ansonsten würde ein STRG + V wieder in dein Quellprogramm kopieren.
Ich mache das mit einem meiner Programme so, dass ich das "Zielprogramm" anlerne und dann weiß mein Programm, mit welchem anderen Programm es zusammenarbeiten soll.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.490 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: ClipBord

  Alt 28. Nov 2018, 16:27
Wenn ich es nun richtig verstanden habe, dann wird deine Anwendung mit Strg+T NICHT zur aktiven Anwendung.
Und die Textverarbeitung war und ist immer noch die aktive.
Dann sollte das was KodeZwerg schrieb funktionieren.
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
998 Beiträge
 
#5

AW: ClipBord

  Alt 28. Nov 2018, 17:48
Wenn ich das richtig verstanden habe, dann muss man also vorher einen Text in deiner Anwendung auswählen.
Dann wechselt man in die Textverarbeitung, drückt STRG+T was dann in deiner Anwendung den Text in die Zwischenablage kopiert, und dann soll dieser Text quasi automatisch an der Cursorposition eingefügt werden.

In der Annahme, dass ich das richtig verstanden habe,
wäre es nicht wesentlich einfacher, wenn die Auswahlaktion in deiner Anwendung den Text gleich bei der Auswahl in die Zwischenablage kopiert und der Anwender dann in der Textverarbeitung nur noch STRG+V drückt? Immerhin muss er ja sowieso in deine Anwendung wechseln, um einen Text auszuwählen. Warum dann noch mal das ganze umständlich über STRG+T?
Mal abgesehen, dass du dann ja auch sicherstellen musst, dass die ZielTextverarbeitung nicht STRG+T selbst verwenden möchte, und dass STRG+V eigentlich den meisten Anwendern geläufig ist.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
oldmann

Registriert seit: 10. Okt 2008
Ort: Weyhe
161 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: ClipBord

  Alt 29. Nov 2018, 11:44
Hallo,
erst mal wieder ein großes Danke für die rege Teilname.
Aber wie ich aus den Hinweisen ersehen kann, ist noch nicht allen klar worum es genau geht.
Wahrscheinlich drücke ich mich zu ungenau aus.
Daher nochmal,
der Anwender öffnet ein Textformular und der Cursor steht im Textfeld.
Er drückt jetzt "Strg+T" und es öffnet sich ein Listfeld mit verschiedenen Texten die der Anwender erstellt hat.
Er klickt eine Textdatei an.
Die Datei wird gelesen und der Text wird in die Zwischenablage von Windows kopiert und das Listfeld schließt sich.
Natürlich könnte der Anwender den Text jetzt per "Shift+Einf" in sein Textdokument einfügen, aber genau das möchte ich vermeiden.
Der Text soll nach drücken von "Strg+T" sofort in das Textdokument eingefügt werden.
Der Ansatz von CodeZwerg scheint ein guter Weg zu sein.
Ich gehe davon aus, dass 's' den Text aus der Zwischenablage übernehmen soll. Leider werden im Textfeld aber nur ein paar Zahlen ausgegeben.
Aber zumindest wird schon mal was ausgegeben.
Gleichzeitig öffnet sich ein Suchfeld, in dem auch einige Zahlen stehen.
Ich denke, dass mit der Lösung dieses Problems auch vielen anderen geholfen wird die ein ähnliches Problem haben.

Gruss Oldmann
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: ClipBord

  Alt 29. Nov 2018, 12:24
Wie wäre es wenn Du uns einfach mal Dein Projekt zeigst?
Das was Du wolltest macht der Schnippsel den ich gab, wie Du den benutzt kann ich nicht beurteilen da ich kein Code sehe.
Du hast ein Talent Dich so auszudrücken das nicht nur ein Result bei rauskommen kann und bei jeder Aussage kommt was anderes hinzu wo noch mehr ??? auftauchen da wieder irgendwas verschleiert bleibt.

Vielleicht hat ja jemand ne stärkere Glaskugel, mir geht der Saft aus
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
zeras

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

AW: ClipBord

  Alt 29. Nov 2018, 12:26
Das Clipboard arbeitet immer mit dem aktiven Fenster (hat den Fokus). Dies habe ich schon im Beitrag #18 versucht, deutlich zu machen.
Wenn du also über die Zwischenablage gehen willst, dann musst du dein Zielprogramm zum aktiven Fenster machen. Sonst wird das nichts.
Beiträge über "aktives Fenster" gibt es zuhauf im Forum.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: ClipBord

  Alt 29. Nov 2018, 13:25
der Anwender öffnet ein Textformular und der Cursor steht im Textfeld.
Er drückt jetzt "Strg+T" und es öffnet sich ein Listfeld mit verschiedenen Texten die der Anwender erstellt hat.
Er klickt eine Textdatei an.
Die Datei wird gelesen und der Text wird in die Zwischenablage von Windows kopiert und das Listfeld schließt sich.
Natürlich könnte der Anwender den Text jetzt per "Shift+Einf" in sein Textdokument einfügen, aber genau das möchte ich vermeiden.
Der Text soll nach drücken von "Strg+T" sofort in das Textdokument eingefügt werden.
Da ich etwas begriffsstutzig bin frage ich mal zurück:
Es existiert eine Anwendung, die Du selbst geschrieben hast.
Wenn der Cursor in einem bestimmten Textfeld steht, betätigt der Anwender [Strg+T] und er bekommt eine Dateiauswahl (von Dateien deren Inhalt in diesem Zusammenhang sinnvoll sind).
Er wählt eine Datei aus und Teile oder dier ganze Inhalt soll in das Textfeld übernommen werden, daß gerade aktiv ist.
Ist das soweit korrekt?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  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 00:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz