AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

router fernsteuern

Ein Thema von glkgereon · begonnen am 16. Aug 2004 · letzter Beitrag vom 17. Aug 2004
Antwort Antwort
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#1

Re: router fernsteuern

  Alt 16. Aug 2004, 14:42
so:

Die Kommunikation mit dem Router läuft über Http, und zwar habe ich da die Indi-Komponente verwendet.

Zum Code:

SL_Router ist eine tStringlist, in die die Antwort auf die Http-Get-Anfrage gespeichert wird.
ini ist vom Typ tinifile und beinhaltet die benötigten Parameter, die in einem inifile gespeichert sind.
IdHTTP1 ist die Http-Komponente von Indi.

Delphi-Quellcode:
var SL_Router: tstringlist;
    ini: tinifile;

{-------- Router-Kommunikation + HTTP -----------------------------------------}
procedure HTTPAnfrage(Anfrage:string);
begin
    SL_Router.Clear;
   // SL_Router.Add(IdHTTP1.Get(Anfrage));
end;

function RouterKLogin:boolean;
begin
    try
      HTTPAnfrage('http://'+ini.ReadString('Router','IP','')+ini.ReadString('Router','Login-Sequenz','')+ini.ReadString('Router','Passwort',''));
    except
      on E: Exception do begin
                          If pos('302',E.Message)<>0 // siehe Http-Error-Codes
                            then result:=true
                            else result:=false;
                          end;
    end;
end;

function eRouterKLogout:boolean;
begin
    try
      HTTPAnfrage('http://'+ini.ReadString('Router','IP','')+ini.ReadString('Router','Logout-Sequenz',''));
    except
      on E: Exception do begin
                          If pos('302',E.Message)<>0
                            then result:=true
                            else result:=false;
                          end;
    end;
end;

procedure RouterKommunikation(typ:integer); // typ = 1 Verbindung herstellen
begin // typ = 2 Verbindung trennen
  try // typ = 3 Status abfragen
    If eRouterKLogin then
      begin
          case typ of
            1:begin
                try
                  ehttpanfrage('http://'+ini.ReadString('Router','IP','')+ini.ReadString('Router','Verbinden-Sequenz',''));
                except
                  on E: Exception do
                    If pos('302',E.Message)=0
                      then ;// fehlgeschlagen
                end;
              end;

            2:begin
                try
                  ehttpanfrage('http://'+ini.ReadString('Router','IP','')+ini.ReadString('Router','Trennen-Sequenz',''));
                except
                  on E: Exception do
                    If pos('302',E.Message)=0
                      then ;// fehlgeschlagen
                end;
              end;

            3:begin
                try

                  ehttpAnfrage('http://'+ini.ReadString('Router','IP','')+ini.ReadString('Router','Status-Sequenz',''));
                  If AnsiContainsText(SL_Router.text,ini.ReadString('Router','Indikator-Verbunden-Sequenz','XXX'))then
                    begin
                     // Verbunden:=true;
                    end
                  else
                  If AnsiContainsText(SL_Router.text,ini.ReadString('Router','Indikator-Getrennt-Sequenz',''))then
                    begin
                     // Verbunden:=False;
                     end;
                except

                end;
              end;
            end;

      end;

      eRouterKLogout;

end;
das ini-File beinhaltet folgendes:
Code:
[Router]
IP=192.168.2.1
Port=80
Passwort=PASSWORT
Login-Sequenz=/cgi-bin/login.exe?pws=
Logout-Sequenz=/cgi-bin/logout.exe
Verbinden-Sequenz=/cgi-bin/statusprocess.exe?connect=+connect+
Trennen-Sequenz=/cgi-bin/statusprocess.exe?disconnect=disconnect
Status-Sequenz=/status_main.stm
Indikator-Verbunden-Sequenz=bWanConnected=1
Indikator-Getrennt-Sequenz=bWanConnected=0
Peter Enenkel
blubb
  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 03:24 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