Autor Beitrag
Terra
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 307

Windows 7 Ultimate
Delphi® XE3
BeitragVerfasst: Mi 22.03.06 12:39 
Hallo, wusste nicht genau wo das hingehört aber ich probier jetzt einfach mal.

Ich habe ein Delphi-Programm, das immer im Hintergrung läuft. Jetzt würd ich gerne, das mittels eines "Codes" das als Link auf einer Webseite steht etwas an mein Programm gesendet wird und im Programm dann eine Aktion ausgeführt wird.

Jetzt würd ich gerne wissen, wie und vorallem ob das gehen könnte ?

Mittels eines extra java-script oder cgi oder wie ?
Wie müsste mein Delphi-Programm-code danach aussehen?

Bitte könntet ihr mir da weiterhelfen - evtl. mit ein Beispiel. Wär euch auf ewig verbunden, wenn ihr mir ne Lösung schicken könntet.

Terra
azubi_20
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 593

WinXP SP2, Ubuntu 8.4
D7 Enterp., D2005 Prof., Java (Eclipse 3.4.0)
BeitragVerfasst: Mi 22.03.06 12:55 
Erklär mal, was du damit bezwecken willst. So ist es ein bischen zu allgemein...
Terra Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 307

Windows 7 Ultimate
Delphi® XE3
BeitragVerfasst: Mi 22.03.06 13:09 
Es geht mir darum, das ich im Delphi-Programm verschiedene Einträge habe die recht ordentlich verschachtelt sind. (Mit dynamische Comboboxen ....)

Nehmen wir mal an ich will jemanden im Internet sagen, gehe im Programm zuerst auf den Button, dann auf der Liste und wähle diesen Eintrag aus damit die diese Info siehst.
Find ich bissel zu kompliziert...

Es wäre einfacher, wenn ich auf meiner Webseite z.B. ein Eingabefeld habe, in das ein bestimmten Code "z.B. #001-030-22" eingetragen wird, dieser dann an mein Programm gesendet und dort eine Aktion ausführt und sofort dann z.B. zu der oben genannten Info springt.

Die Codes sind dann in meinem Programm festgelegt und können dann immer zu einer beliebigen Aktion festgelegt werden.

Ich hoffe, jetzt ist es verständlicher ^^

Terra
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 22.03.06 13:13 
Moin!

:gruebel: Hmm... wenn dein Prog soo kompliziert zu benutzen ist, dann scheint mir die Frage angebracht, ob es nicht sinnvoller wäre, die Bedienung zu vereinfachen, anstatt einen Remotezugriff zu implementieren (das geht ja schon in Richtung Trojaner...). :wink:

cu
Narses
Terra Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 307

Windows 7 Ultimate
Delphi® XE3
BeitragVerfasst: Mi 22.03.06 13:23 
Im grunde genommen ist es garnicht sooo kompliziert zu benutzen .. .Es gibt halt nur sehr viele Einträge. Um da eine Art "Schnellzugriff" zu ermöglichen wäre solche funktion über das Internet sehr angebracht.

Bitte bitte bitte eine Lösung !!!
Meinetwegen auch funktionen eines Trojaners ... ist mir egal .. hauptsache, die Geschichte funktioniert.

Terra
Grendel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 443

Gentoo Linux, MacOS X, Win 2000
D5 Ent, D7 Ent, Lazarus, Anjuta, MonoDevelop
BeitragVerfasst: Mi 22.03.06 13:38 
Eine Möglichkeit wäre es in deinem Programm einen TCP-Server zu implementieren, auf den sich das Webinterface (PHP, Perl, wasauchimmer) verbindet und die Kommandos sendet.

Oder soll das Webinterface die Anwendung auch noch starten? Wenn ja, dann könntest Du die gewünschten Kommandos als Parameter beim Start übergeben.

Bis neulich ...
Terra Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 307

Windows 7 Ultimate
Delphi® XE3
BeitragVerfasst: Mi 22.03.06 13:48 
Nein, das Programm muss nicht gestartet werden, da es im Hintergrund läuft. (bzw. in der Trayleiste)

Es muss nur ein Wert an das Programm gesendet werden.

Könnte mir bitte da jemand genaueres aufführen, da ich noch nie in der Richtung programmiert habe. Also Quellcode ......

Danke, Terra
Grendel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 443

Gentoo Linux, MacOS X, Win 2000
D5 Ent, D7 Ent, Lazarus, Anjuta, MonoDevelop
BeitragVerfasst: Mi 22.03.06 14:09 
user profile iconTerra hat folgendes geschrieben:
Könnte mir bitte da jemand genaueres aufführen, da ich noch nie in der Richtung programmiert habe. Also Quellcode ......

Jung, Jung! Das Internet quillt doch schon vor Socket-Tutorials & Co über. Ich bin mir sogar sicher, daß Du hier im Forum massig Infos über die verwendung von Sockets findest. Auch die Delphi-Hilfe oder die Doku der Indys (falls Du die nehmen möchtest) könnte helfen. Zu den Indys gibt es sogar beim Hersteller Demoanwendungen.

"Also Quellcode ....." werde ich dir nicht liefern, denn den solltest Du mit ein wenig Arbeit selber auf die Beine stellen können. Bei konkreten Fragen helfe ich natürlich gerne.

Bis neulich ...
Terra Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 307

Windows 7 Ultimate
Delphi® XE3
BeitragVerfasst: Mi 22.03.06 14:13 
Grübel grade darüber nach ob es über die TWebBrowse funktion einfacher wäre.
Ich lade die gewünschte Seite in mein Form mit TWebBrowse. Da habe ich ja schon fast die Webseite in meinem Programm.
Was meint ihr?

Zitat:
"Also Quellcode ....." werde ich dir nicht liefern, denn den solltest Du mit ein wenig Arbeit selber auf die Beine stellen können. Bei konkreten Fragen helfe ich natürlich gerne.

Bitte net so grantig ... hab doch geschrieben, das ich noch nie damit gearbeitet habe. Wäre halt nur sinniger, da ich zu Hause kein Internet habe und nicht Stundenlang nach irgendwelchen Sachen suchen kann. Hier auf Arbeit bin ich auch ziemlich eingeschrenkt, das ich ausgiebig nach bestimmten Dingen suchen kann. Daher, verzeih ...

Terra
Grendel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 443

Gentoo Linux, MacOS X, Win 2000
D5 Ent, D7 Ent, Lazarus, Anjuta, MonoDevelop
BeitragVerfasst: Mi 22.03.06 14:23 
user profile iconTerra hat folgendes geschrieben:
Grübel grade darüber nach ob es über die TWebBrowse funktion einfacher wäre.
Ich lade die gewünschte Seite in mein Form mit TWebBrowse. Da habe ich ja schon fast die Webseite in meinem Programm.
Was meint ihr?

Damit ist die Funktionalität aber nicht von außen (also per I-Net, LAN) verfügbar. Und genau das wolltest Du doch erreichen, oder?
Du könntest alternativ aber auch einen Webserver in deinem Programm integrieren, der ein Webinterface bereitstellt und die Infos entgegennimmt. Damit kannst Du dir das Bindeglied zwischen Webinterface (PHP, Perl, etc..) und deiner Anwendung sparen.

user profile iconTerra hat folgendes geschrieben:
Bitte net so grantig ... hab doch geschrieben, das ich noch nie damit gearbeitet habe.

Sorry, aber ob Du nun schon damit gearbeitet hast oder nicht spielt für mich keine Rolle. Fertigen Quellcode gibts nur gegen Bares :) und Hilfe nur dann, wenn ich sehe, daß sich mein gegenüber ernsthaft mit dem Problem auseinandersetzt. Und eine Forderung nach Quellcode, sogar noch mit der Aussage dabei sich selber nie damit beschäftigt zu haben, zeugt nicht gerade von Bereitschaft sich mit dem Problem befassen zu wollen.

Bis neulich ...
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 22.03.06 14:35 
Moin!

Schau dir mal dieses Tut hier an; den Client integrierst du in dein Proggi, das du auslieferst, der Server läuft bei dir auf dem Rechner. Fertig. :wink: Mußt halt nur noch die Funktionalitäten anpassen.

cu
Narses
Terra Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 307

Windows 7 Ultimate
Delphi® XE3
BeitragVerfasst: Mi 22.03.06 14:40 
Man ist der grantig .. ^^ ..darum villeicht auch der Name "Grendel" *grins*

Damit ich das aber richtig verstehe..
Ich stelle jetzt ein Webinterface zur verfügung... also diese TWebBrowser Componente auf einem Form in meinem Programm...
Dann kann ich von da aus (also der aufgerufenen Webseite) einfacher eine Anweisung an mein Programm schicken ?

Ich frag jetzt nicht, wie das geht .. sachste mir ja eh nicht.. möcht nur wissen, ob ich mit meinen Gedanken richtig liege.

Terra
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 22.03.06 14:44 
Moin!

user profile iconTerra hat folgendes geschrieben:
Man ist der grantig .. ^^ ..darum villeicht auch der Name "Grendel" *grins*

Hmm... mach mal user profile iconGrendel nicht zu sehr an, denn er hat (grundsätzlich) Recht! :|

user profile iconTerra hat folgendes geschrieben:
Damit ich das aber richtig verstehe..
Ich stelle jetzt ein Webinterface zur verfügung... also diese TWebBrowser Componente auf einem Form in meinem Programm...
Dann kann ich von da aus (also der aufgerufenen Webseite) einfacher eine Anweisung an mein Programm schicken ?

Nein, mein Ansatz sieht einen integrierten Client vor, nix webbasiertes. Wenn du noch nie mit sowas gearbeitet hast, wird dieser Ansatz schon schwer genug, und das ist IMHO der einfachere... :wink:

Schau erstmal in das Tut, damit du ein paar Grundlagen bekommst, sonst wird das nie was.

cu
Narses
Grendel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 443

Gentoo Linux, MacOS X, Win 2000
D5 Ent, D7 Ent, Lazarus, Anjuta, MonoDevelop
BeitragVerfasst: Mi 22.03.06 14:47 
user profile iconTerra hat folgendes geschrieben:
Man ist der grantig .. ^^ ..darum villeicht auch der Name "Grendel" *grins*

Genau, ich bin grantig und Du hast dich absolut vorbildlich verhalten. Belassen wir es dabei.

user profile iconTerra hat folgendes geschrieben:

Damit ich das aber richtig verstehe..
Ich stelle jetzt ein Webinterface zur verfügung... also diese TWebBrowser Componente auf einem Form in meinem Programm...
Dann kann ich von da aus (also der aufgerufenen Webseite) einfacher eine Anweisung an mein Programm schicken ?

Nein, denn der TWebbrowser kann ja auch bloß Webseiten anzeigen und diese müssen nunmal irgendwoher kommen. Dazu benötigst Du nunmal einen Webserver, der dann entweder per PHP, Perl o.ä. mit deinem Programm kommuniziert oder aber du integrierst den Webserver direkt in deiner Anwendung.
Ein TWebbrowser bringt dir genau nichts.

Bis neulich ...
Terra Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 307

Windows 7 Ultimate
Delphi® XE3
BeitragVerfasst: Mi 22.03.06 14:57 
Zitat:
Nein, denn der TWebbrowser kann ja auch bloß Webseiten anzeigen und diese müssen nunmal irgendwoher kommen. Dazu benötigst Du nunmal einen Webserver, der dann entweder per PHP, Perl o.ä. mit deinem Programm kommuniziert oder aber du integrierst den Webserver direkt in deiner Anwendung.
Ein TWebbrowser bringt dir genau nichts.


Jetzt haste mich total verwirrt... Die Webseiten liegen doch auf nem Server im Internet.
Diese so in Delphi aufzurufen, das sie dann in dem TWebBrowser angezeigt werden habe ich schonmal hinbekommen.

Was meine Überlegung ist, das es evtl. einfacher ist ein Ereignis, von der Webseite die dann in dem Form angezeigt wird, abzufangen als z.B. vom Internet Explorer da sich die angezeigte Seite bereits am Programm selbst befindet.

PS: Um nochmal oben was klarzustellen. Das "Also Quellcode..." war keine Aufvorderrung meinerseits das mir jemand das Programm jetzt schreibt sondern ein missglückter versuch danach zu fragen ob es Quellen gibt wo man sowas am praktischen Beispiel nachschlagen kann.

Zitat:
Hmm... mach mal Grendel nicht zu sehr an, denn er hat (grundsätzlich) Recht!

1. hab ich ihn nicht angemacht und
2. wenn er grundsätzlich Recht hat braucht er hier sich nicht aufführen als sei man allwissend und alle anderen warten nur auf seine göttliche Antworten.

Meinetwegen kannste das jetzt als Anmache ansehen. Versuche hier auch jeden zu helfen sogut ich kann und brauch mir dabei auch nichts einzubilden. Und wenn ich schon Helfe, kann ich ja auch erwarten das mir auch ordentlich geholfen wird sonst kann man ja auch das Forum gleich schließen.

Ich bin der letzte der sich gerne mit anderen anlegt aber ihr forderts ja förmlich herraus. Feierabend !

Terra


Zuletzt bearbeitet von Terra am Mi 22.03.06 15:29, insgesamt 3-mal bearbeitet
Grendel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 443

Gentoo Linux, MacOS X, Win 2000
D5 Ent, D7 Ent, Lazarus, Anjuta, MonoDevelop
BeitragVerfasst: Mi 22.03.06 15:11 
user profile iconTerra hat folgendes geschrieben:
Jetzt haste mich total verwirrt... Die Webseiten liegen doch auf nem Server im Internet.
Diese so in Delphi aufzurufen, das sie dann in dem TWebBrowser angezeigt werden habe ich schonmal hinbekommen.

Was meine Überlegung ist, das es evtl. einfacher ist ein Ereignis, von der Webseite die dann in dem Form angezeigt wird, abzufangen als z.B. vom Internet Explorer da sich die angezeigte Seite bereits am Programm selbst befindet.

Also moment mal. Wer soll jetzt eigentlich wen steuern?!
Was bringt es dir, in deinem programm eine Webseite anzuzeigen und Werte, die dort eingegeben werden, an dein Programm weiterzuleiten?! Dann könntest Du auch ein Editfeld in deinem Programm unterbringen und in diesem dann die Codes entgegennehmen.

Ich dachte eigentlich, daß das Programm auf einem Server läuft?! Nun kommt irgendein Benutzer daher, hackt sich auf eine Webseite, die ebenfalls auf diesem Server läuft. Auf dieser Webseite kann er nun in einem Formular einen Wert eingeben und dieser wird dann vom Webserver an dein Programm (das auf der selben Maschine wie der Webserver läuft) weitergeleitet und dein Programm macht damit etwas. Richtig?

Bis neulich ...
Terra Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 307

Windows 7 Ultimate
Delphi® XE3
BeitragVerfasst: Mi 22.03.06 15:25 
Nein, das Hauptprogramm, läuft auf meinem Rechner zu Hause oder auf einem Rechner hier auf meiner Arbeit und nicht auf dem Server auf dem die Webseite liegt. Die Webseite selber läuft auf einem Server irgendwo in Europa.

Die Webseite bzw. ein Script in der Webseite soll mein Programm zu Hause (oder auf Arbeit) steuern.

Terra
Grendel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 443

Gentoo Linux, MacOS X, Win 2000
D5 Ent, D7 Ent, Lazarus, Anjuta, MonoDevelop
BeitragVerfasst: Mi 22.03.06 15:43 
user profile iconTerra hat folgendes geschrieben:
Die Webseite bzw. ein Script in der Webseite soll mein Programm zu Hause (oder auf Arbeit) steuern.

Ist nicht unmöglich aber schwierig. Denn dazu muss sich der Webserver mit deinem Programm verbinden. Da das Programm aber auf unterschiedlichen Rechnern läuft, die wahrscheinlich auch noch regelmäßig ihre IP ändern, kann der Server eigentlich nicht wissen wohin er sich verbinden soll.

Alternativ könntest Du auf dem Server einen Dienst laufen lassen, zu dem sich deine Programminstanzen verbinden. Dieser Dienst nimmt dann auch die Anfragen vom Webserver entgegen und leitet sie an die angemeldeten Programminstanzen weiter.

Aber ich sehe den Sinn dahinter nicht ganz. Auf deinem Rechner läuft ein Programm. Nun geht irgendein Benutzer hin und hackt etwas in ein Webinterface. Diese Eingabe wird an dein Programm übergeben (wie auch immer) und das Programm macht irgendetwas. Und dann? Der Benutzer sieht nicht was das Programm macht, da es ja auf deinem Rechner läuft. Was also soll das bringen? Oder muss das Programm auch noch Daten an den Webserver zurückgeben können?

Bis neulich ...
Alpha_Wolf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 297

Ubuntu, Win XP, Win Vista
C#, Delphi 6 Prof, Delphi 2007 Prof, Java
BeitragVerfasst: Mi 22.03.06 15:52 
Soll das ne Art Online Hilfe werden?

Also zB.: Um den sich den Inhalt von den und den Liste anzeigen zu lassen müssen sie dort und dort hingehen..

Aber anstatt das einfach nur auf deine HP hinzuschreiben möchtest du ne Art LiveShow haben so wie es Windows mit der internen Hilfe macht(Man wird direkt zu den Einstellungen gebracht ohne selbst etwas zu unterehmen)..

Also das dann praktisch auf deiner HP steht <Klicken Sie hier um direkt zu der Ansicht in Ihrem Programm zu kommen>

Mit einem Klick auf den Link wird eine Art Schlüssel zu dem eigenen Client gesendet auf dem das Programm läuft und dieses Programm reagiert auf den Code und zeigt die Ansicht an.

Hab ich das jetzt korrekt wiedergegeben?

_________________
Diskutiere nie mit einem Irren - er zieht dich auf sein Niveau und schlägt dich mit seiner Erfahrung.
Terra Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 307

Windows 7 Ultimate
Delphi® XE3
BeitragVerfasst: Mi 22.03.06 15:55 
Doch, der Benutzer sieht was das Programm macht.
Einfaches Beispiel:

ich habe eine Combobox wo sagen wir mal 100 Einträge sind. Daneben ist ein Panel wo Bilder angezeigt werden können. Je nach Auswahl in der Combobox wird auch das entsprechende Bild angezeigt. z.B. -> Combobox-Auswahl 10 -> Anzeige Bild 10 ....

Wenn ich jetzt auf meiner Webseite zu jemanden sage, klicke mal in der Combobox Nr. 50 an um das Bild 50 zu sehen ist es soweit kein Problem. Könnte ja aber auch sagen: "klicke auf den Link CODE auf der Webseite um das Bild 50 in dem Programm zu sehen wäre es benutzerfreundlicher.

Um eins noch zu sagen. Das Hauptprogramm soll sich jeder runterladen können. Es ist ein Tool für ein Spiel in dem Beschreibungen für Figuren und Gegenstände aufgeführt sind.

Terra