AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Zugriff auf Steuerung und Anzeige im HTML
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf Steuerung und Anzeige im HTML

Ein Thema von zeras · begonnen am 10. Jun 2011 · letzter Beitrag vom 14. Jul 2011
Antwort Antwort
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.643 Beiträge
 
Delphi 12 Athens
 
#1

Zugriff auf Steuerung und Anzeige im HTML

  Alt 10. Jun 2011, 19:33
Hallo,

ich habe wieder eine Idee und wollte euch fragen, ob das überhaupt umsetzbar ist.
Ziel ist es, Daten aus einer Steuerung mittels einer vom Hersteller gelieferten DLL auszulesen und per Internet zur Verfügung zu stellen.
Die Idee wäre wie folgt:
- Steuerung hängt am Internet
- Auf einem Server im Internet läuft mein Programm mit der DLL, die über TCP/IP auf die Steuerung zugreifen kann. Das Programm stellt dann eine HTML Seite mit den Daten zur Verfügung und ich kann mittels eines Browsers die Daten abfragen.

Was schon geht:
- Programm läuft auf meinem Windows Rechner zu Hause. Mittels der DLL kann ich auf die Steuerung zugreifen.

Was mir Fragen bereitet:
- Kann man günstig (oder kostenlos) einen Server mieten, wo ich mein Programm laufen lassen kann. Quellen habe ich, um die DLL ansprechen zu können.

Ich habe D2009 prof. Damit könnte ich doch auch HTML Seiten erzeugen oder?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: Zugriff auf Steuerung und Anzeige im HTML

  Alt 10. Jun 2011, 21:47
Ja, man bekommt recht günstig Server/VServer, wo man Programme laufen lassen kann,
aber Server mit Windows drauf, sind recht teuer.
> Windows-Lizenzen kosten "etwas"
> Linux-Server sind darum meist günstiger (da es ja auch kostenlose/günstige Linux-Distributionen gibt)

Hier in der DP gibt gab es öfters schonmal Threads, mit Fragen nach Servern.

Hier im Forum suchengünstige Server
Hier im Forum suchengünstiger Server
PS: schau mal ganz weit oben in die K&T-Ecke
$2B or not $2B
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#3

AW: Zugriff auf Steuerung und Anzeige im HTML

  Alt 10. Jun 2011, 22:40
Um was für eine "Steuerung" handelt es sich denn da?

Meiner Meinung wäre der umgekehrte Weg der einfachere, und zwar ein Push-Verfahren von deinem lokalen PC auf einem kleinen Server / Webspace im Internet (und nicht umgekehrt).

1) Du liest die Daten lokal über die DLL (mit Delphi?) aus und gibst dem Programm einen mini HTTP Client (mit Indy oder dergleichen).

2) Du buchst einen günstigen Webspace mit mySQL-Datenbank (gibts ja echt günstig) und schreibst eine kleine php-Seite, die einen POST-HTTP-Request von deinem lokalen Client annnimmt und die Daten in die Datenbank speichert. Dazu noch eine kleine Anzeige-Seite, die die Daten aus der Datenbank anzeigt.
Fertisch. Das ganze natürlich dann noch ein bißchen absichern (SHA-Sign der POST-Daten oder dergleichen)

Oder habe ich dein Vorhaben falsch verstanden und einen Denkfehler drin?

Geändert von blackfin (10. Jun 2011 um 22:45 Uhr)
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.643 Beiträge
 
Delphi 12 Athens
 
#4

AW: Zugriff auf Steuerung und Anzeige im HTML

  Alt 11. Jun 2011, 12:56

Oder habe ich dein Vorhaben falsch verstanden und einen Denkfehler drin?
Ich muss halt die DLL nutzen, um an die Steuerung zu kommen. Das sollte nicht von meinem PC aus passieren, da der nicht immer an ist. Deshalb wollte ich das über einen Internetserver machen.
Die Abfrage muss immer von den Server aus gehen, aber könnte vielleicht auch durch einen Post Request ausgelöst werden.

Zur Zeit bin ich am Ideen sammeln, ob sowas machbar ist und welchen Nutzen mir das bringt.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Maik81ftl

Registriert seit: 31. Mär 2011
Ort: Wahlstedt
26 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Zugriff auf Steuerung und Anzeige im HTML

  Alt 14. Jul 2011, 16:36
Moin Moin,

Habe in diesem Sinne auch mal eine Frage, da ich gerade ein kleines problem mit der LHTTPClientComponent habe.

Die gesamten Komonenten, welche ich verwende sind wie folgt.
Delphi-Quellcode:
    IpFileDataProvider1: TIpFileDataProvider;
    IpHtmlPanel1: TIpHtmlPanel;
    IPS1: TLTCPComponent;
    IPSHTTP1: TLHTTPClientComponent;
    SynMemo1: TSynMemo;
Hier mal der vollständige code.
Code:
unit main;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, lclintf,
  SynMemo, IpHtml, Ipfilebroker, lNetComponents, lhttp, lNet;

type

  { TForm1 }

  TForm1 = class(TForm)
    IpFileDataProvider1: TIpFileDataProvider;
    IpHtmlPanel1: TIpHtmlPanel;
    IPS1: TLTCPComponent;
    IPSHTTP1: TLHTTPClientComponent;
    SynMemo1: TSynMemo;
    procedure FormShow(Sender: TObject);
    procedure IpHtmlPanel1Click(Sender: TObject);
    procedure IPS1Connect(aSocket: TLSocket);
    procedure IPS1Disconnect(aSocket: TLSocket);
    procedure IPSHTTP1Disconnect(aSocket: TLSocket);
    procedure IPSHTTP1DoneInput(ASocket: TLHTTPClientSocket);
    procedure IPSHTTP1Error(const msg: string; aSocket: TLSocket);
    function IPSHTTP1Input(ASocket: TLHTTPClientSocket; ABuffer: pchar;
      ASize: integer): integer;
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

procedure HTMLStringToHtmlPanel(const HTMLString:String; var HTMLPanel:TIpHtmlPanel);
var
  html:TIpHtml;
  ms:TMemoryStream;
  StrList:TStringList;
begin
  StrList:=TStringList.Create;
  StrList.Text:=HTMLString;

  ms:=TMemoryStream.Create;
  StrList.SaveToStream(ms);
  ms.Position:=0; // Von entscheidender Bedeutung, sonst geht es nicht(Vielleicht ein BUG in der LCL bzw. von TStream bzw. von TStringList.

  html:=TIpHtml.Create;
  html.LoadFromStream(ms);
  HTMLPanel.SetHtml(html);
  ms.Free; StrList.Free;
end;

{ TForm1 }

procedure TForm1.Formshow(Sender: TObject);
var Port : integer;
    ServerIP : String;
    Verbindungsaufbau : boolean;
begin
  ServerIP := '192.168.178.100';
  Port    := 80;
  Verbindungsaufbau := IPS1.Connect(ServerIP,Port);
  if not Verbindungsaufbau then Close;
  IPSHTTP1.Host:= ServerIP;
  IPSHTTP1.Connect('192.168.178.100', 80);
//  if IPSHTTP1.Connect then caption:= 'ich Seh den IPS' else Caption:= 'wo ist der IPS?';
end;

procedure TForm1.IpHtmlPanel1Click(Sender: TObject);
begin
  IPSHTTP1.SendRequest;
end;

procedure TForm1.IPS1Connect(aSocket: TLSocket);
begin
  Synmemo1.Lines.LoadFromFile('ips.htm');
//  HTMLStringToHtmlPanel(SynMemo1.Lines.Text,IpHtmlPanel1);
end;

procedure TForm1.IPS1Disconnect(aSocket: TLSocket);
begin
  IPS1.Disconnect(True);
end;

procedure TForm1.IPSHTTP1Disconnect(aSocket: TLSocket);
begin
  IPSHTTP1.Disconnect(True);
  IPS1Disconnect(aSocket);
end;

procedure TForm1.IPSHTTP1DoneInput(ASocket: TLHTTPClientSocket);
begin
  Caption:= 'ich Bin es nicht :D :P';
end;

procedure TForm1.IPSHTTP1Error(const msg: string; aSocket: TLSocket);
begin
  Caption:= msg;         // Fehlermeldung wird ausgelöst.
end;

function TForm1.IPSHTTP1Input(ASocket: TLHTTPClientSocket; ABuffer: pchar;
  ASize: integer): integer;
begin
  Caption:= 'Aber ich Bin es nicht :D :P';
end;

end.
Bin auch dankbar, wenn ich irgendwo ein Demoprogramm finden könnte, welches die Komponente [ TLHTTPClientComponent] erläutert.

Info zu meinem System:

Ubuntu 10.04
Lazarus 0.9.30-0
Verwendung von lnet.

mfg Maik
Die Definition eine Bibliothek ist bei mir eine *.so
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:12 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