Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Text Drag and Drop von Delphi Applikation nach z.B. Browser (https://www.delphipraxis.net/124329-text-drag-drop-von-delphi-applikation-nach-z-b-browser.html)

raena 18. Nov 2008 19:54


Text Drag and Drop von Delphi Applikation nach z.B. Browser
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich hoffe ich stresse euch nicht zu sehr. Ich komm einfach nicht dahinter.
Ziel ist es, aus einem Editfeld einer Delphi Anwendung einen Text mit Drag and Drop
zum Firefox oder IE zu ziehen. Das wars. Kann doch nicht so schwer sein.
Mr. Google liefert mir eine Sammlung von Anders Melander. Ist bestimmt bekannt.

Ich möchte seine Functions jetzt in einem einfachen Form mit einem Edit Feld benutzen.
Geht nicht. Wie mach ich das am besten? Liegt es an meinem kostenlosen Turbo Delphi 2006?

Bin dankbar für jede Antwort.
Im anhang mal das Beispiel (DragDropDemo.dproj) von Anders Melander.


Oder sagt vielleicht jemand: Viel zu kompliziert. Das geht einfacher - ohne diese Komponenten.


Vielen Dank. :|

raena 19. Nov 2008 08:31

Re: Text Drag and Drop von Delphi Applikation nach z.B. Brow
 
keine Idee? gibts keine einfache Möglichkeit?

Bentissimo 19. Nov 2008 09:14

Re: Text Drag and Drop von Delphi Applikation nach z.B. Brow
 
Hallo,

ich weiß, dass die Firma Raize eine entsprechende Sammlung anbietet. Schau mal hier:

http://www.raize.com/DevTools/DropMaster/Default.asp

Ist natürlich nicht kostenlos, sollte aber Deine Anforderungen erfüllen.

Viele Grüße,
Stephan

raena 19. Nov 2008 09:31

Re: Text Drag and Drop von Delphi Applikation nach z.B. Brow
 
Hallo Stephan,

danke für die Antwort. Leider suche ich was für ein No Budget Projekt.
Gibt's nichts freies?

Danke, Raena.

raena 20. Nov 2008 13:24

Re: Text Drag and Drop von Delphi Applikation nach z.B. Brow
 
Liste der Anhänge anzeigen (Anzahl: 1)
es geht weiter: jetzt mit detaillierten Fragen :lol:



Ich habe mal das Text Drop Drag Beipiel von Anders Melander extrahiert
und will dieses mit Delphi öffnen.
Direkt zu Begin kommt die Fehlermeldung, dass die

Class TDropTextSource nicht gefunden werden kann.

Ich verstehe dies nicht, da die Klasse in der Datei "DragDropText.pas"
doch definiert ist und diese ins Projekt eingebunden ist. Was mach ich falsch?

Danke für einen Tip.


Delphi-Quellcode:
unit DropText;

interface
                                                         
uses
  DragDrop,
  DropSource,
  DropTarget,
  DragDropText,
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls, ComCtrls, ActiveX;

type
  TFormText = class(TForm)
    DropSource1: TDropTextSource;
    Edit2: TEdit;
    StatusBar1: TStatusBar;

Sir Rufo 20. Nov 2008 14:12

Re: Text Drag and Drop von Delphi Applikation nach z.B. Brow
 
Zitat:

Zitat von raena
es geht weiter: jetzt mit detaillierten Fragen :lol:

Sehr schön, damit können wir dann auch was anfangen :-D

Zitat:

Zitat von raena
Ich habe mal das Text Drop Drag Beipiel von Anders Melander extrahiert
und will dieses mit Delphi öffnen.
Direkt zu Begin kommt die Fehlermeldung, dass die

Class TDropTextSource nicht gefunden werden kann.

Ich verstehe dies nicht, da die Klasse in der Datei "DragDropText.pas"
doch definiert ist und diese ins Projekt eingebunden ist. Was mach ich falsch?

Es reicht nicht einfach nur die Klassen/Units zur Verfügung zu stellen, denn hier werden Komponenten erwartet, die installiert sein müssen.
Hmmm, ich sehe gerade, dass du nur die kostenlose TurboDelphi hast, da kann man leider keine ext. Komponenten installieren.

Der Quelltext müsste jetzt bearbeitet werden, so dass er diese Komponenten erst zur Laufzeit erzeugt, dann ist die Installation nicht nötig.
Bin aber im Moment etwas in Eile, sonst hätte ich Dir das für das Beispiel eben umgestellt.
Vielleicht kann sich hier ja jemand dessen annehmen ... ist für eine Newbie etwas tricky ...

cu

Oliver

raena 20. Nov 2008 17:04

Re: Text Drag and Drop von Delphi Applikation nach z.B. Brow
 
@Sir Rufo


Thanks für die Antwort. So, ich habe mal auf meiner VM Delphi 2005 PE (kostenlos)
installiert und versucht die Packages zu installieren.
Hat nach anfänglichen Problemen
---------------------------------------------------------------------------------
1. D2k5PExmlrtlFake installieren ..3.0\bds\lib
2. C:\Programme\Borland\BDS\3.0\lib\designide.dcp in Projekt verzeichnis legen und
dem Projekt mit "... hinzufügen" einbinden.
3. uses vcl50 ändern nach uses vcl
---------------------------------------------------------------------------------

auch funktioniert. Die Fehlermeldung beim Aufruf des Beispiels kommt nicht mehr
und das Beisipiel funzt und kann schön auf meine Anwendung angepasst werden.


Eine Frage habe ich aber noch:
muss ich jetzt auf D2005PE umsteigen (ich fahre z.Zt. mit D2006 Explorer, personal, kostenlos)
oder kann ich das Spielchen auch mit D2006 Explorer machen (hat auf Anhieb nicht geklappt)!?

Wo ist der Unterschied zwischen 2005PE und 2006 Explorer?



Danke für eine Antwort .... Raena. :lol:







auch geklappt.

Garfield 21. Nov 2008 10:24

Re: Text Drag and Drop von Delphi Applikation nach z.B. Brow
 
Liste der Anhänge anzeigen (Anzahl: 1)
Weil Du in Turbo Delphi Explorer keine Komponenten installieren kannst, musst Du sie zur Laufzeit erstellen:

http://www.delphi-treff.de/tutorials...eit-erstellen/

Heißt für Dein Beispiel die Deklaration
Delphi-Quellcode:
  TFormText = class(TForm)
    DropSource1: TDropTextSource;
    Edit2: TEdit;
    StatusBar1: TStatusBar;
    Memo2: TMemo;
    Edit1: TEdit;
    ButtonClipboard: TButton;
    Panel1: TPanel;
    DropTextTarget1: TDropTextTarget;
    DropTextTarget2: TDropTextTarget;
    DropDummy1: TDropDummy;
    procedure ButtonCloseClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Edit1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ButtonClipboardClick(Sender: TObject);
    procedure Edit2MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure DropTextTarget1Drop(Sender: TObject; ShiftState: TShiftState;
      Point: TPoint; var Effect: Integer);
    procedure DropTextTarget2Drop(Sender: TObject; ShiftState: TShiftState;
      Point: TPoint; var Effect: Integer);
    procedure DropSourceFeedback(Sender: TObject; Effect: Integer;
      var UseDefaultCursors: Boolean);
  private
    function MouseIsOverEdit2Selection(XPos: integer): boolean;
  public
    { Public declarations }
  end;
zu
Delphi-Quellcode:
  TFormText = class(TForm)
    Edit2: TEdit;
    StatusBar1: TStatusBar;
    Memo2: TMemo;
    Edit1: TEdit;
    ButtonClipboard: TButton;
    Panel1: TPanel;
    procedure ButtonCloseClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Edit1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ButtonClipboardClick(Sender: TObject);
    procedure Edit2MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure DropTextTarget1Drop(Sender: TObject; ShiftState: TShiftState;
      Point: TPoint; var Effect: Integer);
    procedure DropTextTarget2Drop(Sender: TObject; ShiftState: TShiftState;
      Point: TPoint; var Effect: Integer);
    procedure DropSourceFeedback(Sender: TObject; Effect: Integer;
      var UseDefaultCursors: Boolean);
  private
    DropTextTarget1: TDropTextTarget;
    DropTextTarget2: TDropTextTarget;
    DropDummy1: TDropDummy;
    DropSource1: TDropTextSource;
    function MouseIsOverEdit2Selection(XPos: integer): boolean;
  public
    { Public declarations }
  end;
ändern und das FormCreate zu ergänzen:
Delphi-Quellcode:
procedure TFormText.FormCreate(Sender: TObject);
begin
  DropTextTarget1 := TDropTextTarget.Create(FormText);
  DropTextTarget2 := TDropTextTarget.Create(FormText);
  DropDummy1 := TDropDummy.Create(FormText);
  DropSource1 := TDropTextSource.Create(FormText);

  Screen.cursors[crTextCopy] := LoadCursor(hinstance, 'CUR_DRAG_COPY_TEXT');
  Screen.cursors[crTextMove] := LoadCursor(hinstance, 'CUR_DRAG_MOVE_TEXT');
  Screen.cursors[crTextNoAccept] := LoadCursor(hinstance, 'CUR_DRAG_NOACCEPT_TEXT');
end;
Dann läuft es.

raena 21. Nov 2008 15:25

Re: Text Drag and Drop von Delphi Applikation nach z.B. Brow
 
Liste der Anhänge anzeigen (Anzahl: 1)
Es Geht! Vielen Dank!


Hallo Garfield!


Vielen vielen Dank für Deine Hilfe. Jetzt läuft es - ohne ein Package installieren zu müssen.
Unter Delphi 2006 Explorer. Supi. :lol:

Es hat nur noch eine ...res Datei gefehlt. Das hab ich aber hinbekommen.

Hab jetzt für alle anderen Beginners nochmal das "Mini Projekt" als zip angehängt.


Viele Grüsse, Raena.

Garfield 21. Nov 2008 22:55

Re: Text Drag and Drop von Delphi Applikation nach z.B. Brow
 
Zitat:

Zitat von raena
Es hat nur noch eine ...res Datei gefehlt. Das hab ich aber hinbekommen.

Diese Datei kann man ruhig löschen. Sie wird bei jedem Laden des Projekts neu erstellt. Sie entfällt lediglich das Icon der Anwendung, also das Standardicon solange Du kein eigenes einstellst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 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-2025 by Thomas Breitkreuz