Erweiertes HTML Panel

Zur Vorstellung von Komponenten und Units für Lazarus
pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Erweiertes HTML Panel

Beitrag von pluto »

und wenn ich dich recht verstanden hab, müßt ich ggf die Css-file austesten?!

Was meinst du damit?

Aus dem SVN. Die ist von 2011. Um genau zu sein von Juni auch noch.
Sollte bei dir auch laufen. Die Änderungen sind wie immer nicht so gravierend. Ich habe die zwei Dateien mal hochgeladen. Du findest sie im Anhang, Einfach austauschen. Meine Ersten Änderung von Wochenende habe ich noch nicht wieder drin. In der von Heute ist das drin, was du brauchst bzw. was ich gesehen habe in deiner HTML Datei.
Dateianhänge
iphtml.pas
(578.2 KiB) 77-mal heruntergeladen
ipcss.inc
(27.15 KiB) 84-mal heruntergeladen
MFG
Michael Springwald

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: Erweiertes HTML Panel

Beitrag von Maik81ftl »

pluto hat geschrieben:
und wenn ich dich recht verstanden hab, müßt ich ggf die Css-file austesten?!

Was meinst du damit?

Aus dem SVN. Die ist von 2011. Um genau zu sein von Juni auch noch.
Sollte bei dir auch laufen. Die Änderungen sind wie immer nicht so gravierend. Ich habe die zwei Dateien mal hochgeladen. Du findest sie im Anhang, Einfach austauschen. Meine Ersten Änderung von Wochenende habe ich noch nicht wieder drin. In der von Heute ist das drin, was du brauchst bzw. was ich gesehen habe in deiner HTML Datei.


Merci... mach i denne gleich mal na dem Abendbrot ^^ Mahlzeit erst mal.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Erweiertes HTML Panel

Beitrag von pluto »

Merci... mach i denne gleich mal na dem Abendbrot ^^ Mahlzeit erst mal.

Lass es dir schmecken. Wenn du die Ausgabe vom HTML Panel und vom FF miteinander vergleichst, sollten es kaum noch Unterschiede geben.
MFG
Michael Springwald

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Erweiertes HTML Panel

Beitrag von pluto »

Ich werde das HTML Panel jetzt doch weiter Entwickeln. Ein erstes Patch habe ich bereits erstellt und abgeschickt. Hier trage ich zur Zeit alle Änderungen ein:
http://www.pluto.lazarusforum.de/dokuwi ... phtmlpanel

Wann die Änderungen ins SVN Übernommen werden, weiß ich natürlich nicht. Es kann noch einige Wochen dauern.
MFG
Michael Springwald

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: Erweiertes HTML Panel

Beitrag von Maik81ftl »

pluto hat geschrieben:Ich werde das HTML Panel jetzt doch weiter Entwickeln. Ein erstes Patch habe ich bereits erstellt und abgeschickt. Hier trage ich zur Zeit alle Änderungen ein:
http://www.pluto.lazarusforum.de/dokuwi ... phtmlpanel

Wann die Änderungen ins SVN Übernommen werden, weiß ich natürlich nicht. Es kann noch einige Wochen dauern.


Kannst du mir ggf. die aktuelle file rüberschieben? hab zum Glück grade ein Projekt, wo ich mit CSS arbeite.

könnte dir denne die ergebnisse rübermailen. und was sich logischerweise auch ergibt. Eine Danksagung an dich in meinem Programm.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Erweiertes HTML Panel

Beitrag von pluto »

könnte dir denne die ergebnisse rübermailen. und was sich logischerweise auch ergibt. Eine Danksagung an dich in meinem Programm.

Keine schlechte Idee. Sobald die Tests beendet sind, gebe lade ich die Aktuelle Version hoch. Erst einmal hier im Forum. Finden wir keine Fehler, kann ich ein Patch erstellen.
MFG
Michael Springwald

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: Erweiertes HTML Panel

Beitrag von Maik81ftl »

Freu... ich schreibe erst mal an meinem Proggi weiter. einmal das ich die denne in eine HTML exportiere und denne im Testprogramm einlade.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: Erweiertes HTML Panel

Beitrag von Bora4d »

Wenn ihr schon dabei seid achtet diesen Hinweis/Lösung:
http://lazarus.freepascal.org/index.php/topic,12612.msg65773.html#msg65773

Es geht um langsames Scrollen mit Scrollrad.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Erweiertes HTML Panel

Beitrag von pluto »

danke für den Hinweis. Wenn mein Englisch ausreicht, werde ich das mit einbauen. Im Zusammenhang mit den Scrollbalken ist mir noch was anders aufgefallen:
Die Scrollbalken werden immer angezeigt. Sogar mit einer Falschen Slider Größe(PageSize Größe). Ob das gewollt ist?
MFG
Michael Springwald

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Erweiertes HTML Panel

Beitrag von pluto »

@Bora4D
Mir ist aufgefallen, dass es eine "procedure DoOnMouseWheel(Shift : TShiftState; Delta, XPos, YPos : SmallInt);" gibt.
Mit diesem Inhalt:

Code: Alles auswählen

procedure TIpHtmlInternalPanel.DoOnMouseWheel(Shift: TShiftState; Delta, XPos,
  YPos: SmallInt);
var
  I : Integer;
begin
  if Delta < 0 then begin
    for I := 1 to WheelDelta do
      Perform(WM_VSCROLL, MAKELONG(SB_LINEDOWN, 0), 0);
  end else if Delta > 0 then begin
    for I := 1 to WheelDelta do
      Perform(WM_VSCROLL, MAKELONG(SB_LINEUP, 0), 0);
  end;
 
end;


Aufgerufen wird ganze in der :

Code: Alles auswählen

procedure TIpHtmlInternalPanel.MouseWheelHandler(var Message: TMessage);

Ich denke, damit ist das Problem gelöst. Oder habe ich was übersehen? Das jedenfalls ist schon vorhanden. Vielleicht kommt das ja sogar von dir...Hat jedenfalls sehr viel Ähnlichkeit.
Problem dabei ist nur: Es muss Aktiviert werden mit dem Kompilierschalter:" Version4"
MFG
Michael Springwald

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: Erweiertes HTML Panel

Beitrag von Bora4d »

Ja es ist von mir. IPHtmlpanel blättert mit Scrollrad zeilenweise und das hat mir gestört, dann habe ich's geändert. Von Compilerschalter weiß ich icht, ich hab nicht viel im Quelltext geguckt. Als ich merkte dass die Vorhandenen Funktionen nicht ausgeführt werden, habe ich meine hinzugefügt. Ich hab vorhandene Code benutzt, nur in richtige Funktion hinzugefügt. Die untere, das hier:

Code: Alles auswählen

function TIpHtmlInternalPanel.DoMouseWheel(Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint): Boolean; //sunyd
var I : Integer;
begin
  Result:=inherited DoMouseWheel(Shift, WheelDelta, MousePos);
  if WheelDelta < 0 then begin
    for I := 1 to 10 do Perform(WM_VSCROLL, MAKELONG(SB_LINEDOWN, 0), 0);
  end
  else if WheelDelta > 0 then begin
    for I := 1 to 10 do Perform(WM_VSCROLL, MAKELONG(SB_LINEUP, 0), 0);
  end;
end;

Ist besser, scrollt wie man es von Browser gewöhnt ist obere scrollt Seitenweise.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Erweiertes HTML Panel

Beitrag von pluto »

OK. Werde ich austesten und übernehmen. Wenn mir keine Fehler mehr auffallen.
MFG
Michael Springwald

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: Erweiertes HTML Panel

Beitrag von Maik81ftl »

@Pluto...

Hab noch mal eine Frage zu den HTMLPanel. kann es sein, das es bei Lazarsu unter Windows anders läuft, als unter Linux??? frage deshalb, eine Anwenung welche unter Windows mit HTMLPanel läuft, zeigt mir die Komplette cgi einer Netzwerkseite an, welche zu einer meiner Geräte (IPS1) verwendet wird. unter Ubuntu zeigt es mir die Seite nicht an.

Kannst du bzw. ein andere Sich dieses Erklären???

Hier mal der code zu der anwendung.

Code: Alles auswählen

unit main;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  StdCtrls, ExtCtrls, httpsend, lNetComponents;//lclintf;
 
type
 
  { TForm2 }
 
  TForm2 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Image1: TImage;
    IPS_Client: TLTCPComponent;
    Label1: TLabel;
    Label2: TLabel;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form2: TForm2;
 
implementation
 
{ TForm2 }
 
procedure TForm2.FormCreate(Sender: TObject);
begin
//  Image1.Picture.LoadFromFile(PathDelim+'Img'+PathDelim+'elv.gif');
  Image1.Picture.LoadFromFile('Img'+PathDelim+'elv.gif');
  Caption := 'IPS 1 by ELV';
  Label1.Caption:= 'IP - Adresse';
  Edit1.Text:= '192.168.178.100';
  Label2.Caption:= 'Port';
  Edit2.Text:= '23';
  Button1.Caption := '&Verbinden';
  Button2.Caption := '&Trennen';
  Button3.Caption := '&Beenden';
  Memo1.Clear;
end;
 
procedure TForm2.Button1Click(Sender: TObject);
var
  http : THttpSend;
  ss : TStringStream;
  ServerIP, s : string;
  Port : integer;
  Verbindung: Boolean;
begin
  Port:= StrToInt(Edit2.Text);
  ServerIP := Edit1.Text;
  Verbindung:= IPS_Client.Connect(ServerIP, Port);
  if IPS_Client.Connect(ServerIP, Port) then
  begin
     Memo1.Append('Die Verbindung mit dem ' + Caption + ' wird aufgebaut...');
  end;
  ss := TStringStream.Create(Caption + ' wird Verbunden');
  http := THttpSend.Create;
  http.UserAgent := 'Mozilla/4.0 (compatible)';
  Memo1.Append(http.Headers.Text);
  s :='http://' + Edit1.Text + '/ips.cgi?pg=ips&Ein=Ein';
  Memo1.Append('Sende: ' + s);
  http.HTTPMethod('GET',s);
  http.Document.SaveToStream(ss);
  http.Free;
  s := ss.DataString;
  Memo1.Append(s);
end;
 
procedure TForm2.Button2Click(Sender: TObject);
var
  http : THttpSend;
  ss : TStringStream;
  ServerIP, s : string;
  Port : integer;
  Verbindung: Boolean;
begin
  ss := TStringStream.Create('');
  http := THttpSend.Create;
  http.UserAgent := 'Mozilla/4.0 (compatible)';
  Memo1.Lines.add(http.Headers.Text);
  s :='http://' + Edit1.Text + '/ips.cgi?pg=ips&Aus=Aus';
  Memo1.Append('Sende: ' + s);
  http.HTTPMethod('GET',s);
  http.Document.SaveToStream(ss);
  http.Free;
  s := ss.DataString;
  Memo1.Lines.add(s);
end;
 
procedure TForm2.Button3Click(Sender: TObject);
begin
  Button2.Click;
  Close;
end;
 
initialization
  {$I main.lrs}
 
end.


werde morgen mal das Gerät wieder in's netz stellen und eine scr-shot posten. dann seht ihr das etwas gescheiter... anhand des Codes könnt ihr dies leider nicht erkennen, was ich meine.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Erweiertes HTML Panel

Beitrag von pluto »

Also unter Windows läuft es und unter Linux nicht? Hast du die Üblichen Fehler ausgeschlossen? Wie z.b. Großkleinschreibung? Oder \ / ? und sowas?
THttpSend und TStringStream sagen mir erst mal nichts. Kann es vielleicht an diesen Klassen liegen?

Gibt es eine Fehler Meldung? Hast du unter Linux die Console Aktiviert? Steht das was?
MFG
Michael Springwald

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: Erweiertes HTML Panel

Beitrag von Maik81ftl »

pluto hat geschrieben:Also unter Windows läuft es und unter Linux nicht? Hast du die Üblichen Fehler ausgeschlossen? Wie z.b. Großkleinschreibung? Oder \ / ? und sowas?
THttpSend und TStringStream sagen mir erst mal nichts. Kann es vielleicht an diesen Klassen liegen?

Gibt es eine Fehler Meldung? Hast du unter Linux die Console Aktiviert? Steht das was?


Nee pulto. Die anwendung läuft eigendlich bei Beiden. Was mir grad nicht einleuchtet ist das Feedback, welchen ich im Memo zurückbekomme.

Unix Feedback:

Code: Alles auswählen

Die Verbindung mit dem IPS 1 by ELV wird aufgebaut...
 
Sende: http://192.168.178.100/ips.cgi?pg=ips&Ein=Ein


Win7 Feedback:

Code: Alles auswählen

Die Verbindung mit dem IPS 1 by ELV wird aufgebaut...
 
 
 
Sende: http://192.168.178.100/ips.cgi?pg=ips&Ein=Ein
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 
"http://www.w3.org/TR/html4/loose.dtd">
 
<html>
 
<head>
 
<title>ELV IP-Switch IPS1</title>
 
<meta http-equiv="expires" content="0; URL=/ips.cgi">
 
<meta http-equiv="refresh" content="15; URL=/ips.cgi">
 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 
</head>
 
<body text=#ff6000 BGCOLOR=#000015 LINK=#ff6000 VLINK=#ff6000 ALINK=#FF0000>
 
<table width="600" border="0" align="center">
 
  <tr height="35">
 
    <td>&nbsp;</td>
 
    <td>&nbsp;</td>
 
    <td>&nbsp;</td>
 
    <td>&nbsp;</td>
 
    <td>&nbsp;</td>
 
  </tr>
 
  <tr>
 
    <td>&nbsp;</td>
 
    <td width="170" align="center" valign="middle">&nbsp;<IMG src="elv.gif">&nbsp;</td>
 
    <td width="300" align="center" valign="middle"><h1>IP-Switch IPS1</h1></td>
 
    <td width="170" align="center" valign="right"><font size=1>V1.0</font></td>
 
    <td>&nbsp;</td>
 
  </tr>
 
  <tr height="80">
 
    <td>&nbsp;</td>
 
    <td>&nbsp;</td>
 
    <td>&nbsp;</td>
 
    <td>&nbsp;</td>
 
    <td>&nbsp;</td>
 
  </tr>
 
</table>
 
<FORM name="Schalten" ACTION="ips.cgi" METHOD="get">
 
<INPUT TYPE=HIDDEN VALUE="ips" NAME=pg>
 
<table width="400" border="0" align="center">
 
  <tr>
 
    <td width="20%">&nbsp;</td>
 
    <td width="22%" align="center" valign="middle">&nbsp;
 
    <input name="Ein" type="submit" value="Ein">&nbsp;</td>
 
<td width="16" align="center" valign="middle"><b>Status<br> Ein </b></td>
 
    <td width="22%" align="center" valign="middle">&nbsp;
 
    <input name="Aus" type="submit" value="Aus">&nbsp;
 
</td>
 
  <td width="20%">&nbsp;</td>
 
  </tr>
 
  <tr height="160">
 
    <td>&nbsp;</td>
 
    <td>&nbsp;</td>
 
<td align="center" valign="top"></td>
 
    <td>&nbsp;</td>
 
    <td>&nbsp;</td>
 
  </tr>
 
</table>
 
</FORM>
 
<table width="700"  border="1" align="center">
 
  <tr align="center" valign="middle">
 
    <td width="33%"><A href="/password.cgi">Benutzer/Passwort</A></td>
 
    <td width="34%"><A href="/network.cgi">Netzwerkeinstellungen</A></td>
 
    <td width="33%"><A href="/timer.cgi">Timer</A></td>
 
  </tr>
 
</table>
 
<table width="700" border="0" align="center">
 
  <tr height="50" align="center" valign="middle">
 
    <td width="33%">&nbsp;</td>
 
    <td width="34%">&nbsp;</td>
 
    <td width="33%">&nbsp;</td>
 
  </tr>
 
  <tr>
 
    <td>? 2007 ELV Elektronik AG</td>
 
    <td></td>
 
    <td></td>
 
  </tr>
 
</table>
 
</body>
 
</html>


das Schalten des IPS_1 läuft bei beiden, ergo ist es sogesehen nur das Feedback, was mir nicht 100 % Schmeckt.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

Antworten