亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unit1.pas

?? EmbeddedWB_D5-D2009_Version_14.67.8 最新版本,開發WEB瀏覽器.
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
//***********************************************************
//                      WebUpdater  demo                    *
//                                                          *
//               For Delphi 5 - 2009                        *
//                     Freeware demo                        *
// By:  Eran Bodankin (bsalsa)   bsalsa@bsalsa.com          *
//           Documentation and updated versions:            *
//               http://www.bsalsa.com                      *
//***********************************************************
{*******************************************************************************}
{LICENSE:
THIS SOFTWARE IS PROVIDED TO YOU "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE APPLIED
WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
YOU ASSUME THE ENTIRE RISK AS TO THE ACCURACY AND THE USE OF THE SOFTWARE
AND ALL OTHER RISK ARISING OUT OF THE USE OR PERFORMANCE OF THIS SOFTWARE
AND DOCUMENTATION. [YOUR NAME] DOES NOT WARRANT THAT THE SOFTWARE IS ERROR-FREE
OR WILL OPERATE WITHOUT INTERRUPTION. THE SOFTWARE IS NOT DESIGNED, INTENDED
OR LICENSED FOR USE IN HAZARDOUS ENVIRONMENTS REQUIRING FAIL-SAFE CONTROLS,
INCLUDING WITHOUT LIMITATION, THE DESIGN, CONSTRUCTION, MAINTENANCE OR
OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS,
AIR TRAFFIC CONTROL, AND LIFE SUPPORT OR WEAPONS SYSTEMS. VSOFT SPECIFICALLY
DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR SUCH PURPOSE.

You may use, change or modify the component under 4 conditions:
1. In your website, add a link to "http://www.bsalsa.com"
2. In your application, add credits to "Embedded Web Browser"
3. Mail me  (bsalsa@bsalsa.com) any code change in the unit
   for the benefit of the other users.
4. Please consider donation in our web site!
{*******************************************************************************}

unit Unit1;

interface

uses
  Windows, SysUtils, Classes, Controls, forms, Dialogs, ShellAPI, Grids,
  LibXmlParser, LibXmlComps, StdCtrls, ComCtrls, ExtCtrls, RichEditBrowser,
  OleCtrls, EmbeddedWB, Buttons, SHDocVw_EWB, EwbCore;

type
  Tform1 = class(Tform)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    XmlScanner1: TXmlScanner;
    TreeView: TTreeView;
    TabSheet3: TTabSheet;
    RichEditWB1: TRichEditWB;
    Panel1: TPanel;
    memInfo: TMemo;
    Panel2: TPanel;
    GroupBox1: TGroupBox;
    Panel3: TPanel;
    Panel4: TPanel;
    stgrInst: TStringGrid;
    Panel5: TPanel;
    Panel6: TPanel;
    GroupBox2: TGroupBox;
    cbOverWrite: TCheckBox;
    Panel7: TPanel;
    Button1: TButton;
    Button2: TButton;
    TabSheet4: TTabSheet;
    EmbeddedWB1: TEmbeddedWB;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn1: TBitBtn;
    BitBtn4: TBitBtn;
    gbFile: TGroupBox;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    edtPath: TEdit;
    cbNumerator: TCheckBox;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    edtName: TEdit;
    edtVersion: TEdit;
    edtAuthor: TEdit;
    edtCompany: TEdit;
    Label1: TLabel;
    Label3: TLabel;
    Author: TLabel;
    Label4: TLabel;
    Label2: TLabel;
    Label5: TLabel;
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure XmlScanner1XmlProlog(Sender: TObject; XmlVersion,
      Encoding: string; Standalone: Boolean);
    procedure XmlScanner1StartTag(Sender: TObject; TagName: string;
      Attributes: TAttrList);
    procedure XmlScanner1PI(Sender: TObject; Target, Content: string;
      Attributes: TAttrList);
    procedure XmlScanner1EndTag(Sender: TObject; TagName: string);
    procedure XmlScanner1EmptyTag(Sender: TObject; TagName: string;
      Attributes: TAttrList);
    procedure XmlScanner1DtdRead(Sender: TObject; RootElementName: string);
    procedure XmlScanner1Content(Sender: TObject; Content: string);
    procedure XmlScanner1Comment(Sender: TObject; Comment: string);
    procedure XmlScanner1CData(Sender: TObject; Content: string);
    procedure btnLoadClick(Sender: TObject);
    procedure btnExploreClick(Sender: TObject);
    procedure stgrInstKeyPress(Sender: TObject; var Key: Char);
    procedure btnOpenIEClick(Sender: TObject);
    procedure btnOpenNotepadClick(Sender: TObject);
    procedure ledtVersionKeyPress(Sender: TObject; var Key: Char);
    procedure ledtCompanyKeyPress(Sender: TObject; var Key: Char);
    procedure ledtAuthorKeyPress(Sender: TObject; var Key: Char);
    procedure ledtNameKeyPress(Sender: TObject; var Key: Char);
    procedure btnLoadDemoClick(Sender: TObject);
    procedure btnClearClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure btnCreateXMLClick(Sender: TObject);
  private
    CurNode: TTreeNode;
    fXmlParser: TXmlParser;
    procedure HideControls();
    procedure UpdateControls(Name: string);
    procedure UpdateComponents();
    procedure ParseInit(XmlFile: string);
    procedure SetAttr(AttrName: string; var st: string);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  form1: Tform1;

implementation

{$R *.dfm}

procedure Tform1.UpdateComponents();
begin
  TreeView.Items.BeginUpdate;
  TreeView.Items.Clear;
  CurNode := nil;
  XmlScanner1.Filename := edtPath.Text;
  XmlScanner1.Execute;
  TreeView.Items.EndUpdate;
  TreeView.FullExpand;
  RichEditWB1.LoadFromFile(edtPath.Text);
  RichEditWB1.DoHighlightXML;
 // EmbeddedWB1.Navigate(edtPath.Text);
end;

procedure Tform1.UpdateControls(Name: string);
var
  i: integer;
begin
  edtPath.Text := Name;
  gbFile.Visible := true;
  Caption := 'Updates XML creator : ' + Name;
  for i := 1 to PageControl1.PageCount - 1 do
    PageControl1.Pages[i].TabVisible := true;
end;

procedure Tform1.HideControls();
var
  i: integer;
begin
  gbFile.Visible := false;
  RichEditWB1.Clear;
  TreeView.Items.Clear;
  Caption := 'XML creator : by bsalsa';
  EmbeddedWB1.GoAboutBlank;
  for i := 1 to PageControl1.PageCount - 1 do
    PageControl1.Pages[i].TabVisible := false;
end;

procedure Tform1.FormShow(Sender: TObject);
var
  i: integer;
begin
  Caption := 'Updates XML creator : by bsalsa';
  stgrInst.Cols[0].Text := '#';
  for i := 1 to stgrInst.RowCount - 1 do
  begin
    stgrInst.Cells[0, i] := IntToStr(i);
  end;
  stgrInst.Cols[1].Text := 'File Name';
  stgrInst.Cols[2].Text := 'Destination folder (Include SubFolders if needed)';
  stgrInst.Cols[3].Text := 'Terminate (yes/no)';
  memInfo.Lines.Text := 'The Change Log: ';
  PageControl1.ActivePageIndex := 0;
  HideControls();
end;

procedure Tform1.btnClearClick(Sender: TObject);
var
  i, j: integer;
begin
  for i := 1 to stgrInst.RowCount - 1 do
    for j := 1 to stgrInst.ColCount - 1 do
      stgrInst.Cells[j, i] := '';
  memInfo.Lines.Clear;
  edtName.Text := '';
  edtVersion.Text := '';
  edtCompany.Text := '';
  edtAuthor.Text := '';
  TreeView.Items.Clear;
  HideControls();
end;

procedure Tform1.btnLoadDemoClick(Sender: TObject);
begin
  edtName.Text := 'project1';
  edtVersion.Text := '1.132';
  edtCompany.Text := 'bsalsa Productions';
  edtAuthor.Text := 'bsalsa';
  memInfo.Lines.Add('*Added new demo for the updater.');
  memInfo.Lines.Add('*Added an option to create XML files.');
  memInfo.Lines.Add('*Cleaned up the code.');
  memInfo.Lines.Add('*Faster update procedures.');
  memInfo.Lines.Add('*Option to add personal details.');
  memInfo.Lines.Add('*Option to match details (application and remote file).');
  memInfo.Lines.Add('and so on...');
  stgrInst.Cells[1, 1] := 'Test.txt';
  stgrInst.Cells[2, 1] := 'ApplicationFolder';
  stgrInst.Cells[3, 1] := 'no';
  stgrInst.Cells[1, 2] := 'Credits.txt';
  stgrInst.Cells[2, 2] := 'Updater_Test';
  stgrInst.Cells[3, 2] := 'no';
  stgrInst.Cells[1, 3] := 'ReadMe.txt';
  stgrInst.Cells[2, 3] := 'Updater_Test';
  stgrInst.Cells[3, 3] := 'yes';
  stgrInst.Cells[1, 4] := 'Project1.exe';
  stgrInst.Cells[2, 4] := 'ApplicationFolder';
  stgrInst.Cells[3, 4] := 'yes';
end;

procedure Tform1.ledtNameKeyPress(Sender: TObject; var Key: Char);
begin
  if (key = #13) or (key = #09) then EdtVersion.SetFocus;
end;

procedure Tform1.ledtVersionKeyPress(Sender: TObject; var Key: Char);
begin
  if (key = #13) or (key = #09) then EdtAuthor.SetFocus;
end;

procedure Tform1.ledtAuthorKeyPress(Sender: TObject; var Key: Char);
begin
  if (key = #13) or (key = #09) then EdtCompany.SetFocus;
end;

procedure Tform1.ledtCompanyKeyPress(Sender: TObject; var Key: Char);
begin
  if (key = #13) or (key = #09) then memInfo.SetFocus;
end;

procedure Tform1.btnOpenNotepadClick(Sender: TObject);
begin
  if edtPath.Text <> '' then
    ShellExecute(Handle, 'open', 'notepad.exe', Pchar(edtPath.Text), nil, SW_SHOWNORMAL)
  else
    MessageDlg('What file exactly you want to open?',
      mtError, [mbCancel], 0);
end;

procedure Tform1.btnOpenIEClick(Sender: TObject);
begin
  if edtPath.Text <> '' then
    ShellExecute(Handle, 'open', 'Explorer', Pchar(edtPath.Text), nil, SW_SHOWNORMAL)
  else
    MessageDlg('What file exactly do you want to open?', mtError, [mbCancel], 0);
end;

procedure Tform1.btnExploreClick(Sender: TObject);
begin
  if edtPath.Text <> '' then
    ShellExecute(Application.Handle, PChar('explore'),
      Pchar(ExtractFilePath(edtPath.Text)), nil, nil, SW_SHOWNORMAL)
  else
    MessageDlg('What file exactly do you want to open?',
      mtError, [mbCancel], 0);
end; ///ExtractFilePath

procedure Tform1.stgrInstKeyPress(Sender: TObject; var Key: Char);
begin
  if (key = #13) or (key = #09) then
    if stgrInst.Col < stgrInst.ColCount - 1 then
      with stgrInst do
      begin
        if col < 3 then
        begin
          Col := Col + 1;
          SetFocus;
        end
      end
    else
      with stgrInst do
      begin
        Row := Row + 1;
        Col := 1;
        SetFocus;
      end;
  if stgrInst.Row = stgrInst.RowCount - 1 then
    MessageDlg('You have reached the limit of 50 lines (You can change it ' +
      'to what ever, if you need more).', mtError, [mbCancel], 0);
end;

procedure Tform1.btnLoadClick(Sender: TObject);
var
  Container: string;
  od: TOpenDialog;
  i: integer;
  Node: TNvpNode;
  function GetXmlHead(): boolean;
  begin
    Result := false;
    while fXmlParser.Scan() do

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产三级欧美三级| 一区二区三区91| 亚洲素人一区二区| 日本不卡在线视频| 91麻豆精品在线观看| 欧美精品黑人性xxxx| 国产精品免费视频观看| 日韩在线一区二区| 91污在线观看| 久久久久久久一区| 亚洲成人精品影院| 99国产精品久| 久久免费午夜影院| 久久精品国产澳门| 欧美老女人在线| 亚洲欧美日韩一区二区 | 老司机精品视频一区二区三区| 成人av影院在线| 欧美成人a在线| 天堂久久一区二区三区| av中文字幕一区| 国产亚洲欧美在线| 精品一区二区三区免费观看| 91超碰这里只有精品国产| 亚洲精品欧美综合四区| 成人在线视频一区二区| 欧美zozo另类异族| 久久国产三级精品| 日韩一区二区三区免费观看| 亚洲午夜国产一区99re久久| 91麻豆国产自产在线观看| 国产精品丝袜黑色高跟| 黑人精品欧美一区二区蜜桃| 欧美一区二区三区公司| 偷拍一区二区三区| 51精品久久久久久久蜜臀| 亚洲国产成人精品视频| 欧美色中文字幕| 亚洲超碰97人人做人人爱| 91美女片黄在线| 亚洲国产综合在线| 欧美绝品在线观看成人午夜影视| 亚洲电影欧美电影有声小说| 在线观看免费一区| 亚洲自拍偷拍图区| 91精品国产综合久久香蕉麻豆| 视频一区在线视频| 精品久久久久久无| 国产成人av福利| 亚洲欧美日韩国产成人精品影院| 欧美综合色免费| 午夜久久电影网| 精品国产一区二区三区久久影院| 久久99精品久久久久久国产越南 | 天堂成人国产精品一区| 欧美日韩亚洲不卡| 美女视频免费一区| 久久久久久夜精品精品免费| 成人av资源在线| 有码一区二区三区| 制服丝袜亚洲播放| 国产高清在线精品| 亚洲欧美日韩久久| 日韩欧美国产精品| 成人综合在线观看| 亚洲国产中文字幕| 欧美精品一区二| 91在线码无精品| 美女被吸乳得到大胸91| 久久久精品2019中文字幕之3| 色哟哟国产精品免费观看| 奇米精品一区二区三区在线观看一| 久久精品一区蜜桃臀影院| 色婷婷av一区二区| 久久99精品国产91久久来源| 亚洲视频一二区| 精品久久久久久久久久久院品网 | 国产精品一区一区三区| 国产精品久久久久久久久免费丝袜 | 亚洲成人自拍偷拍| 久久免费午夜影院| 欧美日韩你懂得| voyeur盗摄精品| 日本系列欧美系列| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 91首页免费视频| 日韩成人午夜精品| 亚洲蜜臀av乱码久久精品| 日韩无一区二区| 色婷婷av一区二区三区软件| 精品亚洲成a人| 一区二区三区国产豹纹内裤在线| 久久精品视频免费观看| 国产精品成人在线观看| 91精品啪在线观看国产60岁| 91免费视频观看| 成人深夜在线观看| 久久精品噜噜噜成人88aⅴ| 成人免费在线观看入口| 久久久蜜桃精品| 欧美一区二区成人| 欧美私模裸体表演在线观看| 成人午夜视频网站| 国产精品456| 精品一区二区三区影院在线午夜| 亚洲图片欧美综合| 亚洲一区二区三区中文字幕 | 国产精品一区二区免费不卡| 亚洲国产精品久久人人爱蜜臀 | 99精品视频在线免费观看| 久久99日本精品| 日本美女一区二区三区视频| 亚洲丶国产丶欧美一区二区三区| 一区二区在线观看不卡| 国产午夜精品福利| 日韩三级视频在线观看| 911精品国产一区二区在线| 欧美视频中文一区二区三区在线观看 | 激情丁香综合五月| 麻豆传媒一区二区三区| 色综合久久天天| 成人午夜激情影院| 成人av电影在线观看| 99麻豆久久久国产精品免费 | 亚洲欧洲韩国日本视频| 国产亚洲精品资源在线26u| 2023国产精品视频| 国产午夜精品在线观看| 国产精品色哟哟| 一区二区三区在线观看国产| 亚洲资源在线观看| 日本成人在线网站| 国产曰批免费观看久久久| 国产一区二区三区四区在线观看| 国产suv精品一区二区三区| 国产成人夜色高潮福利影视| 成人午夜视频在线观看| 91免费在线视频观看| 欧美日韩色一区| 精品对白一区国产伦| 国产日产欧美精品一区二区三区| 中文字幕中文乱码欧美一区二区| 亚洲精品日韩综合观看成人91| 性做久久久久久久久| 美女精品一区二区| 97久久超碰精品国产| 在线电影欧美成精品| 337p日本欧洲亚洲大胆色噜噜| 国产欧美一区在线| 亚洲精品国产a| 九色综合狠狠综合久久| 国产精品一区在线观看你懂的| 一本色道久久综合亚洲91 | 国产精品亚洲成人| 色一情一伦一子一伦一区| 欧美三级中文字| 精品成人一区二区三区四区| 国产精品伦理在线| 亚洲电影一级片| 国产精品综合网| 91久久免费观看| 久久午夜羞羞影院免费观看| 亚洲欧洲av一区二区三区久久| 舔着乳尖日韩一区| 成人性生交大片免费看中文| 在线不卡免费av| 国产精品九色蝌蚪自拍| 免费成人av资源网| 欧美亚洲一区二区在线| 欧美国产成人在线| 91在线国内视频| 精品国产污网站| 一区二区理论电影在线观看| 久久99热99| 欧美日本韩国一区| 国产精品人成在线观看免费| 午夜成人免费电影| 不卡高清视频专区| 精品三级在线观看| 亚洲国产成人91porn| 91影院在线免费观看| 亚洲精品一区二区精华| 亚洲大片一区二区三区| 成人免费的视频| 2020国产成人综合网| 亚洲第一福利视频在线| 91蝌蚪国产九色| 国产精品全国免费观看高清 | 秋霞午夜av一区二区三区| jlzzjlzz欧美大全| 国产婷婷一区二区| 精品影院一区二区久久久| 制服丝袜日韩国产| 亚洲高清一区二区三区| 色哟哟国产精品| 亚洲欧美日韩国产综合在线| 成人免费三级在线| 国产欧美日韩另类一区| 国产资源在线一区| 久久综合色婷婷|