AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi *gelöst* Delphi Programm <-> Web Oberfläche //Kommunikation?
Thema durchsuchen
Ansicht
Themen-Optionen

*gelöst* Delphi Programm <-> Web Oberfläche //Kommunikation?

Ein Thema von Darkface · begonnen am 25. Mai 2009 · letzter Beitrag vom 8. Mai 2013
Antwort Antwort
Seite 1 von 2  1 2      
Darkface

Registriert seit: 18. Apr 2008
89 Beiträge
 
Delphi XE Professional
 
#1

*gelöst* Delphi Programm <-> Web Oberfläche //Kommunik

  Alt 25. Mai 2009, 14:22
Hiho,
Ich bin gerade am Überlegen für ein kleines Delphi Programm welches auf einem Windows Server läuft ein "Webinterface" zu schreiben. Webinterface ist eigentlich ein zu großer Begriff - eher ist es eine kleine Seite mit villeicht maximal 2-3 Buttons die man im Browser drückt und daraufhin das Delphi Programm die jeweilige Aufgabe erledigt. Das Delphi Programm und ein Apache Server laufen auf ein und dem selben System.
Mein Problem ist nun die Kommunikation zwischen der html/php Seite und dem Delphi Programm. Wie kann ich in PHP/Java Script oder einer ähnlichen Scriptsprache eine Information an mein Delphi Programm senden? Es ist auch nicht erforderlich eine Information vom Delphi Programm zurück an die Seite zusenden, da der Benutzer keine Rückmeldung benötigt.

Meine bisherigen Überlegungen gingen hin zu einer Textdatei die durch PHP auf Button druck mit jeweiligem Inhalt erstellt werden könnte. Das Delphi Programm könnte in einer Schleife nach einer solchen Datei im Verzeichnis suchen, falls gefunden bearbeiten und anshcließend löschen. Dieser Weg erscheint mir allerdings unsauber und ist wohl auch nicht für Zeitkritische Aufträge zu gebrauchen.

Gibt es einen anderen Weg die Informationen von der Webseite an das Delphi Programm auf selbem Host zu übergeben?

Danke schonmal
Grüße Dark
Alexander
Ich halte Ordnung.
Zum Beispiel mein Schreibtisch: Hier ist alles zeitlich geordnet - was zuletzt kam, liegt oben. (Frank Erhoff)
  Mit Zitat antworten Zitat
Real-TTX

Registriert seit: 7. Mai 2008
Ort: Stuttgart / Wertheim
136 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Delphi Programm <-> Web Oberfläche // Kommunikatio

  Alt 25. Mai 2009, 14:31
Ich würde an deiner Stelle ein TCP Server in das Delphiprogramm integrieren und dann per PHP-Skript darauf zugreifen. So habe ich, ein ähnliches Problem gelöst.

Gruß, Real-TTX
  Mit Zitat antworten Zitat
Darkface

Registriert seit: 18. Apr 2008
89 Beiträge
 
Delphi XE Professional
 
#3

Re: Delphi Programm <-> Web Oberfläche // Kommunikatio

  Alt 25. Mai 2009, 14:38
Das verstehe ich leider nicht so ganz, wie würde die Kommunikation dann aussehen?
Alexander
Ich halte Ordnung.
Zum Beispiel mein Schreibtisch: Hier ist alles zeitlich geordnet - was zuletzt kam, liegt oben. (Frank Erhoff)
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#4

Re: Delphi Programm <-> Web Oberfläche // Kommunikatio

  Alt 25. Mai 2009, 14:42
Warum machst Du die Oberfläche nicht mit IntraWeb?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Real-TTX

Registriert seit: 7. Mai 2008
Ort: Stuttgart / Wertheim
136 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Delphi Programm <-> Web Oberfläche // Kommunikatio

  Alt 25. Mai 2009, 18:03
Zitat von Darkface:
Das verstehe ich leider nicht so ganz, wie würde die Kommunikation dann aussehen?
Naja Im Prinzip: PHP SCRIPT <--> TCP SERVER <--> DELPHI PROGRAMM

Der TCP Server ist deinem Fall ja Bestandteil von deinem Delphi Programm. Und über TCP kannst du ja bequem jegliche art von Daten austauschen.

Hier ein PHP Beispiel für den Zugriff auf dein TCP Server :
Code:
<?php
$port = 21000; // >1024
$fp = fsockopen("tcp://127.0.0.1", $port, $errno, $errstr); // Verbindung aufbauen
if (!$fp) {
    echo "ERROR: $errno - $errstr
\n"; // Falls ein Fehler aufgetreten ist
} else {
    fwrite($fp, "help\n"); // Hier der String der an dein Delphiprogramm gesendet werden soll (Vorzugsweise noch ein CR)
    echo fread($fp, 26); // Hier wird die Antwort ausgegeben
    fclose($fp);
}
?>
Oder was verstehst du daran nicht?
  Mit Zitat antworten Zitat
Zerolith

Registriert seit: 12. Mär 2003
Ort: Kempten
188 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: Delphi Programm <-> Web Oberfläche // Kommunikatio

  Alt 25. Mai 2009, 18:46
- Intraweb fällt eigentlich doch weg, nachdem die "Weboberfläche" nur ein Addon ist

Ist die Kommunikation Webserver <> Anwendung notwendig? Ansonsten hätte ich halt gleich einen SocketServer (oder Indy Webserver) auf die Form geklatscht, am Port 80 gelauscht und die Requests entsprechend der aktion geprüft. Und halt per Default ein klein Wenig HTML zurückgegeben.
Daniel
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Delphi Programm <-> Web Oberfläche // Kommunikatio

  Alt 25. Mai 2009, 21:01
Oder man erweitert PHP mit einer in Delphi-geschriebenen-Extension. klick
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Delphi Programm <-> Web Oberfläche // Kommunikatio

  Alt 25. Mai 2009, 21:13
Wie wärs mit einem Automatisierungsobjekt in Delphi?
Das kannst du dann mit
Code:
new COM("Deine Klasse")
ganz bequem initialisieren und dann einfach die Methoden wie gewohnt aufrufen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Delphi Programm <-> Web Oberfläche // Kommunikatio

  Alt 25. Mai 2009, 21:30
Zitat von Darkface:
Gibt es einen anderen Weg die Informationen von der Webseite an das Delphi Programm auf selbem Host zu übergeben?
XMLHttpRequest

http://de.wikipedia.org/wiki/XMLHttpRequest

Wenn die Browser nicht allzu älteren Datums sind, können mit JavaScript (sofern aktiviert) XML Requests aus dem Browser an einen Server gesendet werden. Die Antwort des Servers kann dann 'asynchron' empfangen werden.

Server wäre in diesem Fall das Delphi Programm mit einem eingebauten IdHTTPServer auf einem eigenen Port (da der Apache Webserver vermutlich den Standardport 80 bereits belegt).

Vorteil der Lösung ist, dass XMLHttpRequest bereits in neueren Browsern unterstützt wird. Ein Nachteil ist, dass es keine standardisierte API gibt. Der Artikel der Wikipedia gehat darauf auch im Quelltextbeispiel ein.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Darkface

Registriert seit: 18. Apr 2008
89 Beiträge
 
Delphi XE Professional
 
#10

Re: Delphi Programm <-> Web Oberfläche // Kommunikatio

  Alt 26. Mai 2009, 14:36
Danke für die zahlreichen Antworten!
Das meiste läuft wie ich sehe bisher darauf hinaus eine Art Webserver durch das Delphi Programm bereitzustellen und durch verschiedene Protokolle Daten zu versenden.

Zitat von Phoenix:
Warum machst Du die Oberfläche nicht mit IntraWeb?
Habe bisher noch nie damit gearbeitet und steige im ersten Schreck auch nicht ganz durch wie ich damit arbeiten kann - scheint mir aber auch "überdimensioniert" ( )...


Zitat von Real-TTX:
Naja Im Prinzip: PHP SCRIPT <--> TCP SERVER &lt;--&gt; DELPHI PROGRAMM
[...]
Oder was verstehst du daran nicht?
Jetzt weis ich wie du es gemeint hast ! Scheint mir bisher die unkomplizierteste Lösung!


Zitat von Zerolith:
Ist die Kommunikation Webserver <> Anwendung notwendig?
Ja ! Über den Webserver laufen noch viele andere Seiten...


Zitat von omata:
Oder man erweitert PHP mit einer in Delphi-geschriebenen-Extension. klick
Das muss ich mir erst noch genauer ansehen.


Zitat von sirius:
Wie wärs mit einem Automatisierungsobjekt in Delphi?
Noch nie davon gehört


Zitat von mjustin:
XMLHttpRequest
[...]
Server wäre in diesem Fall das Delphi Programm mit einem eingebauten IdHTTPServer auf einem eigenen Port (da der Apache Webserver vermutlich den Standardport 80 bereits belegt).
Das ist auch eine Idee und du hast Recht, Apache belegt 80 und wird es auch immer tun .


Nochmals danke für die vielen Anregungen werde mich mal beim einen oder anderen weiter Informieren!

Gruß
Alexander
Ich halte Ordnung.
Zum Beispiel mein Schreibtisch: Hier ist alles zeitlich geordnet - was zuletzt kam, liegt oben. (Frank Erhoff)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:07 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