free pascal:fpwebview 组件简单易用

从 https://github.com/PierceNg/fpwebview 下载 fpwebview-master.zip 简单易用。

先请看 \fpwebview-master\README.md

cd \lazarus\projects\fpwebview-master\demo\browser_cli

修改 winbuild.bat 如下

@echo off

echo Set up FPC executable path.
set fpcexe=D:\lazarus\fpc\3.2.2\bin\x86_64-win64\fpc.exe
其它不改变

修改 browser_cli.lpr  如下,增加了命令行参数。

program browser_cli;
{$mode objfpc}{$H+}
{$linklib libwebview}

uses
  Classes,Process,SysUtils,StrUtils,
  {$ifdef unix}cthreads,{$endif}
  math,
  webview;

var
  w: PWebView;
  Str1: String;

begin
  if Assigned(InitProc) then
    TProcedure(InitProc);

  { Set math masks. libwebview throws at least one of these from somewhere deep inside. }
  SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide, exOverflow, exUnderflow, exPrecision]);

  Str1 := 'http://localhost/';
  if ParamCount =1 then
  begin
    if Length(ParamStr(1))<6 then
      Str1 := 'http://localhost:' + ParamStr(1)
    else
    begin
      if AnsiStartsStr('http', ParamStr(1)) then Str1 := ParamStr(1)
      else if AnsiStartsStr('192.', ParamStr(1)) then Str1:= 'http://' + ParamStr(1)
      else Str1 := 'https://' + ParamStr(1);
    end;
  end
  else
    Str1 := ParamStr(1);

  writeln(Str1);
  w := webview_create(WebView_DevTools, nil);
  webview_set_size(w, 1024, 768, WebView_Hint_None);
  webview_set_title(w, PAnsiChar('WebView Free Pascal'));
  webview_navigate(w, PAnsiChar(Str1));
  webview_run(w);
  webview_destroy(w);
  writeln('Goodbye, webview.');
end.

参考:AnsiStartsStr

编译运行 winbuild.bat

修改 winrun.bat  如下

@echo off
@echo browser_cli.exe 
browser_cli.exe  %1

运行 winrun.bat  www.baidu.com  

运行 winrun.bat 8888

默认访问 http://localhost:8888

运行 winrun.bat 192.168.1.101:8080

访问 http://192.168.1.101:8080

你可能感兴趣的:(fpc,free,pascal,fpwebview)