![]() |
Re: Remoting via Browser
Ich habe das gleiche schon gemacht. Nur mit TServerSocket.
Delphi-Quellcode:
index.htm sieht so aus:
unit main;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ScktComp; type TMainForm = class(TForm) SS1: TServerSocket; Button1: TButton; Button2: TButton; procedure SS1ClientRead(Sender: TObject; Socket: TCustomWinSocket); procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end; var MainForm: TMainForm; index:TStringList; implementation {$R *.dfm} procedure TMainForm.SS1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var sl:TStringList; s:string; i:integer; begin sl:=TStringList.Create; sl.Text:=Socket.ReceiveText; if sl[0]='GET / HTTP/1.1' then begin Socket.SendText(index.Text); Socket.Close; end; if sl[0]='POST / HTTP/1.1' then begin s:=sl[sl.Count-1]; i:=pos('&go=',s); if i>0 then begin Delete(s,i,length(s)-i+1); end; if pos('text=',s)=1 then Delete(s,1,5); while pos('%0D%0A',s)>0 do begin i:=pos('%0D%0A',s); Delete(s,i,6); Insert(#13#10,s,i); end; Socket.SendText(s); Socket.Close; end; end; procedure TMainForm.FormCreate(Sender: TObject); begin SS1.Port:=8989; index:=TStringList.Create; if FileExists(ExtractFileDir(Application.ExeName) + '\index.htm') then index.LoadFromFile(ExtractFileDir(Application.ExeName) + '\index.htm'); SS1.Active:=true; end; procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction); begin SS1.Active:=false; end; end.
Code:
Mach dem man das programm gestartet hat, kann man unter
<html>
<head> <title>REMOTE CONTROL</title> </head> <table table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td width="100%"> <p align="center"> [b]<font size="4">REMOTE CONTROL </font>[/b] <FORM ACTION="" METHOD="post"> <TABLE BORDER="0" width="565"> <tr> <TR> <TD width="103">Message:</TD> <TD width="436"><textarea ROWS="6" COLS="53" NAME="text"></textarea></TD> </TR> </TABLE> <INPUT TYPE="submit" NAME="go" VALUE="Send"> <input type="reset" value="Reset" name="res"> </FORM> </td> </tr> </table> </body> </html> ![]() Ist es das was du gesucht hast? |
Re: Remoting via Browser
Oder wenn man sowieso einen Webserver rennen lassen will, schreibt man eine ISAPI-dll welche in den Webserver (Apache, Sambar, IIS) eingebunden werden kann. Obwohl dafür der Arbeitsaufwand bei der Methode über meinem Post wohl geringer wäre, wenn auch nicht viel.
//EDIT: Schwachfug, viel zu kompliziert hier. Hätte das mal richtig lesen sollen. |
Re: Remoting via Browser
oja dann bräcuhte der user ja noch nen zusätzlichen webserver ;-) ...
nur dass bei der delphi 7 pe auch kein tserversocket dabei ist, werde also wohl den indy http server verwenden ,üssen! kennt jemand ine gute beispiel app oder ein bruachbares tutorial dafür? *MFG* |
Re: Remoting via Browser
tserversockt muss dabei sein, vielleicht ist er einfach nicht installiert... aber sockets müssen dabei sein.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:06 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