Seite 2 von 3

Verfasst: 15.05.2007 14:26
von Xaby
Tja, das ist wieder mal die Frage, wo stellt man die Fragen?

Wie viele Anfänger sind hier Anfänger?

Einige können nicht lesen und oder bis drei Zählen, andere bekommen aber nur hier auf ihre Fragen einigermaßen vernüftige Antworten.

Hab mal den srod angeschrieben. Der meinte, es wird eventuell was mit OLE und COM zu tun haben.

Darüber hab ich schon mal was gelesen, muss aber sagen, dass ich hier im Forum dazu nicht fündig geworden bin. Nur mal einzeln erwähnte Beiträge ohne konkrete Dinge.

OLE realisiert wohl die Kommunikation zwischen den Programmen.

ts-soft? Hast du da nicht eine Idee, oder eine Art Hinweis, wie man es vielleicht sogar mit dem PureDispHelper schafft?

:freak:

Verfasst: 15.05.2007 14:38
von ts-soft
Xaby hat geschrieben: ts-soft? Hast du da nicht eine Idee, oder eine Art Hinweis, wie man es vielleicht sogar mit dem PureDispHelper schafft?

:freak:
Einfach nutzen :mrgreen:
Wenn Du z.B. ein EditorControl mithilfe von RichEdit.ocx erstellst, kannste
auch Bilder einfügen, per Drag and Drop. Dafür funktioniert der Rest nicht
mehr in herkömmlicher Weise :mrgreen:

Infos wirste wohl selber nachlesen müssen, gibt ja ein paar Bücher, aber
"alle" in englisch. MSDN enthält auch allte notwendigen Infos

Verfasst: 15.05.2007 14:54
von Xaby
Hab mal Google gefragt: RichEdit.ocx

Das hört sich ja ganz lustig an, scheint aber Geld zu kosten.
Oder hab ich wieder eine PB-Biblithek übersehen. In der Zusammenstellung von PBOL war wohl nix vergleichbares bei.

Process hört sich ganz gut an. Klingt aber zu komplex.

Marquee ging bei mir übrigens nicht.
PureLibrary is missing: GadgetExtensions

Und es war PB 3.94 Code.

Aber trotzdem schön. PDF und Kompression sind sicherlich auch noch zu was zu gebrauchen :roll:

Auf jeden Fall gut dokumentiert.

Dann muss ich das mit OLE aufschieben.

Hierzu eine Idee?
http://www.purebasic.fr/german/viewtopic.php?t=12949 :allright:

Verfasst: 15.05.2007 15:06
von Tafkadasom2k5
Was genau brauchst du denn- bzw: Was willst du denn anstellen dass du OLE unbedingt brauchst?
Das Meiste, was OLE-Technisch abläuft, ist eh im Hintergrund...

Verfasst: 15.05.2007 15:18
von Xaby
Die Übermittlung der markierten Daten eines Programms zu dem anderen.

Mann muss ja wissen, was markiert worden ist. Bzw. sich in der Drag'n'Drop-Ablage befindet.

Da kann ja alles mögliche drin stehen.

- Links
- Bilder
- Text
- Objeke halt

Ähnlich wie das Clipborad. Nur ohne es zu benutzen :mrgreen:

Genauso kann man über OLE Excel mit Word verknüpfen.
Oder vielleicht auch Berechnungen von Excel durchführen lassen, die man selbst in einem PB-Prgramm benötigt.

Man selbst hat zwei StringGadgets im eigenen Programm.
Gib da was ein und die Inhalte werden an Excel gesendet.
Excel führt dann eine Rechenoperation aus und sendet das Ergebnis zurück. So braucht man das nicht als QuellCode im eigenen Programm haben.


Die Frage ist nur, wie man OLE benutzt.

Wie gebe ich meinen Zellen(!)-Inhalt zum Beispiel an Excel?
Und wie erhalte ich ihn zurück?

Es muss ja irgendwie eine eindeutige Zuordnung erfolgen.
Und diese läuft sicherlich über ein Standardprotokoll.
So dass jedes Programm zum Beispiel formatierten kopierten Text wieder richtig einfügen kann, ohne die Formatierung zu verlieren.

Der Vorteil von OLE liegt darin, dass man das Rad nicht neu erfinden muss. Und durch zum Beispiel Tabellen mit Bedingungen relativ dynamisch ist, ohne das eigentliche Pogramm ständig anpassen zu müssen oder alle möglichen Eventualitäten vordefiniert zu haben.
:?

Verfasst: 15.05.2007 15:48
von ts-soft
>> Wie gebe ich meinen Zellen(!)-Inhalt zum Beispiel an Excel?
>> Und wie erhalte ich ihn zurück?
Haste Dir die Beispiele im PureDisphelber überhaupt angeguckt?
Beispiele für Excel und OpenCalc sind bei

Verfasst: 15.05.2007 16:02
von AND51
ts-soft hat geschrieben:Wollen wir wetten?
Gern, ich behaupte einfach mal, in PB 4.10 wird es weder Drag'n'Roll noch Rock'n'Drop geben. :mrgreen:
ts-soft hat geschrieben:EasyVent ist keine Lib, sondern ein Source
Ja tschulidige. Das müsste ich eigentlich wissen, weil ich EasyVENT ja schon mal angeschaut hatte. Ich würds trotzdem gern mal selber proggen, vielleicht kann ichs mir bei srod ja abschauen.

Verfasst: 15.05.2007 16:19
von freak
Drag&Drop mit OLE läuft folgendermaßen:
- IDataObject für die zu bewegenden Daten implementieren
- IDropSource implementeren
- DoDragDrop_() damit aufrufen... voila!

Ist durchaus in PB möglich, aber da braucht man schon einiges an COM Kenntnissen.
Damit ihr jetzt hier aber nicht das Rad neu erfindet verrate ich einfach mal, dass es in 4.10 wirklich
eine Drag & Drop lib geben wird die dann auch crossplatform ist.
(Darauf müsst ihr auch hoffentlich gar nicht mehr so lange warten.)

Das sieht dann so aus:

Code: Alles auswählen

If DragText("Hallo Welt") = #PB_Drag_Copy
  ; hat geklappt
EndIf
AND51 hat geschrieben:
ts-soft hat geschrieben:Wollen wir wetten?
Gern, ich behaupte einfach mal, in PB 4.10 wird es weder Drag'n'Roll noch Rock'n'Drop geben. :mrgreen:
Tja, verlohren... ;) (hey, hier gibt es ja den "Zunge-rausstreck-Smilie" gar nicht!)

Ich hatte da vor längerer Zeit im engl. Forum mal einen Hinweis drauf gegeben,
desshalb war sich ts-soft da so sicher.

Verfasst: 15.05.2007 16:25
von Xaby
Stimme AND51 zu.

Hatte zwar gerade von Gnozal einen Link bekommen, wo alle hoffen, dass in 4.1. endlich Ziehen und Fallen lassen für alle OS mit implimentiert sein soll, aber aus vergangenen Tagen weiß ich, dass es nicht immer alles klappt, was angepriesen worden ist.

zu ts-s.
Hab mir die Beispiele angesehen, muss aber sagen, dass ich bei dem ein oder anderen schon Panik bekommen haben. Denn so richtig toll ist es ja nicht, wenn der Rechner macht, was er will.
Und es ist ein Unterschied, ob man das Programm arbeiten sieht und irgendwelche mystischen Eingaben über Macros vorgenommen werden oder ob man die Daten ordentlich an der eigentlichen Anwenund vorbei austauscht.

Zu den Beispielen kann ich auch nur sagen, dass die meisten einfach nur eingabe von normalem Text waren.

Vielleicht hab ich ja wieder was übersehen.

... du kennst dich sicherlich mit dem PureDispHelper besser aus.
Vielleicht bist du so freundlich und schreibst ein zwei Zeilen Code hier ins Thema.
S$=GetStringFrom(Application, StringField [,file])
Oder so /:->
GetStringFrom("Explorer",Adresszeile)
Mit den ganzen Callbacks kenne ich mich nicht aus.
Wird sicherlich Tage dauern, bis ich das verstanden haben.

:shock:


Selbst wenn es in PB 4.1. mit dabei ist ...
Wann wird der Release sein? Bis Weihnachten möchte ich nicht unbedingt warten :?

Verfasst: 15.05.2007 16:33
von ts-soft
>> S$=GetStringFrom(Application, StringField [,file])
sowas gibts natürlich genausowenig wie MakeCoolGame() :lol:
Mit dhGetValue erhälste Werte. Wie gesagt, einfache Beispiele (noch einfacher gehts nicht) sind bei.

example_starcalc.pb kann ich Dir empfehlen, enthält alles was Du meintest.