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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? unit1.pas

?? KSDev.VirtualSream.v1.01.rar 虛擬文件系統(tǒng),
?? PAS
字號:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, vs_compress, vs_masks, vs_resource, vs_core, vs_system,
  ComCtrls, ActnList, ImgList, ToolWin, ExtCtrls, StdCtrls;

type
  TfrmMain = class(TForm)
    ToolBar1: TToolBar;
    ActionList1: TActionList;
    ImageList1: TImageList;
    actnNew: TAction;
    actnOpen: TAction;
    actnImport: TAction;
    actnExport: TAction;
    actnNewFolder: TAction;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    Sys: TvsSystem;
    Splitter1: TSplitter;
    Tree: TTreeView;
    Memo1: TMemo;
    OpenDialog2: TOpenDialog;
    ToolButton8: TToolButton;
    OpenDialog1: TOpenDialog;
    actnReadOnly: TAction;
    ToolButton9: TToolButton;
    actnErase: TAction;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    procedure actnNewExecute(Sender: TObject);
    procedure actnOpenExecute(Sender: TObject);
    procedure actnImportUpdate(Sender: TObject);
    procedure actnNewFolderUpdate(Sender: TObject);
    procedure actnImportExecute(Sender: TObject);
    procedure actnExportExecute(Sender: TObject);
    procedure actnNewFolderExecute(Sender: TObject);
    procedure actnReadOnlyExecute(Sender: TObject);
    procedure actnEraseExecute(Sender: TObject);
  private
    { Private declarations }
    procedure UpdateControls;
    function GetCurPath: string;
    function GetFile(N: TTreeNode): string;
  public
    { Public declarations }
  end;

var
  frmMain: TfrmMain;

implementation

uses Unit2, Unit3;

{$R *.dfm}

function GetPath(N: TTreeNode): string;
begin
  if frmMain.Sys.DirectoryExists(N.Text) then
    Result := N.Text
  else
    Result := '';

  N := N.Parent;
  while N <> nil do
  begin
    if Result <> '' then
      Result := N.Text + '\' + Result
    else
      Result := N.Text;
    N := N.Parent;
  end;

  if frmMain.Sys.DirectoryExists(Result) then
    Result := Result + '\';
end;

function TfrmMain.GetCurPath: string;
begin
  if Tree.Selected <> nil then
  begin
    Result := GetPath(Tree.Selected);
  end
  else
    Result := '';
end;

function TfrmMain.GetFile(N: TTreeNode): string;
begin
  Result := N.Text;

  N := N.Parent;
  while N <> nil do
  begin
    Result := N.Text + '\' + Result;
    N := N.Parent;
  end;
end;

procedure TfrmMain.UpdateControls;
  procedure UpdateTree(Path: string; Root: TTreeNode);
  var
    S: TSearchRec;
    N: TTreeNode;
    I: TListItem;
  begin
    if Sys.FindFirst(Path + '*', $FFFF, S) = 0 then
    begin
      repeat
        if (S.Name = '.') or (S.Name = '..') then Continue;

        N := Tree.Items.AddChild(Root, S.Name);

        if (S.Attr and faDirectory = faDirectory) then
          UpdateTree(Path + '\' + S.Name + '\', N);
      until Sys.FindNext(S) <> 0;
      Sys.FindClose(S);
    end;
  end;
begin
  Tree.Items.Clear;
  UpdateTree('', Tree.Items.GetFirstNode);
  with Memo1.Lines do
  begin
    Clear;
    if Sys.ReadOnly then
      Add('ReadOnly = true')
    else
      Add('ReadOnly = false');
    if Sys.Compressed then
      Add('Compressed = true')
    else
      Add('Compressed = false');
  end;
  actnReadOnly.Checked := Sys.ReadOnly;
end;

procedure TfrmMain.actnNewExecute(Sender: TObject);
begin
  frmCreate := TfrmCreate.Create(Self);
  if frmCreate.ShowModal = mrOK then
  begin
    UpdateControls;
  end;
  frmCreate.Free;
end;

procedure TfrmMain.actnOpenExecute(Sender: TObject);
begin
  if OpenDialog1.Execute then
  begin
    Sys.CreateFromFile(OpenDialog1.FileName);
    UpdateControls;
  end;
end;

procedure TfrmMain.actnImportUpdate(Sender: TObject);
begin
  TAction(Sender).Enabled := (Sys.FileName <> '') and (not Sys.ReadOnly);
end;

procedure TfrmMain.actnNewFolderUpdate(Sender: TObject);
begin
  TAction(Sender).Enabled := (Sys.FileName <> '') and (not Sys.ReadOnly);
end;

procedure TfrmMain.actnImportExecute(Sender: TObject);
var
  i: integer;
  Source, Dest: TStream;
  DestPath: string;
begin
  { import }
  if OpenDialog2.Execute then
  begin
    for i := 0 to OpenDialog2.Files.Count - 1 do
    begin
      Source := TFileStream.Create(OpenDialog2.Files[i], fmOpenRead);
      if Source <> nil then
      begin
        Dest := Sys.CreateStream(GetCurPath + ExtractFileName(OpenDialog2.Files[i]), fmCreate);
        Dest.CopyFrom(Source, Source.Size);
        Dest.Free;

        Source.Free;
      end;
    end;
    UpdateControls;
  end;
end;

procedure TfrmMain.actnExportExecute(Sender: TObject);
var
  i: integer;
  Source, Dest: TStream;
  Item: TTreeNode;
  DestPath: string;
begin
  { export }
  frmExport := TfrmExport.Create(Self);
  if frmExport.ShowModal = mrOK then
  begin
    DestPath := frmExport.DirectoryListBox1.Directory + '\';
    if Tree.SelectionCount > 0 then
    begin
      for i := 0 to Tree.SelectionCount - 1 do
      begin
        Item := Tree.Selections[i];
        Source := Sys.CreateStream(GetFile(Item), fmOpenRead);
        if (Source <> nil) and (ForceDirectories(ExtractFilePath(DestPath + GetFile(Item)))) then
        begin
          Dest := TFileStream.Create(DestPath + GetFile(Item), fmCreate);
          Dest.CopyFrom(Source, Source.Size);
          Dest.Free;

          Source.Free;
        end;
      end;
    end;
  end;
  frmExport.Free;
end;

procedure TfrmMain.actnNewFolderExecute(Sender: TObject);
var
  S: string;
begin
  { new folder }
  S := 'new folder';
  if InputQuery('Create directory', 'Type new directory name:', S) then
  begin
    Sys.CreateDir(GetCurPath + S);
    UpdateControls;
  end;
end;

procedure TfrmMain.actnReadOnlyExecute(Sender: TObject);
begin
  Sys.ReadOnly := not Sys.ReadOnly;
  if not Sys.ReadOnly then
  begin
    ShowMessage('You must reopen storage');
    Sys.Clear;
  end;
  UpdateControls;
end;

procedure TfrmMain.actnEraseExecute(Sender: TObject);
begin
  { erase }
  if Tree.Selected <> nil then
  begin
    Sys.EraseFile(GetFile(Tree.Selected));
    UpdateControls;
  end;
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品在线观看| 精品精品国产高清a毛片牛牛| 91精品福利视频| 精品理论电影在线| 亚洲一区二区三区自拍| 韩国三级中文字幕hd久久精品| 色综合久久天天| 久久精品人人做| 国产白丝网站精品污在线入口| 9191久久久久久久久久久| 日韩美女久久久| 懂色av噜噜一区二区三区av| 久久久不卡网国产精品一区| 蜜桃一区二区三区四区| 欧美性一二三区| 亚洲男女毛片无遮挡| 国产成人免费视频网站| 欧美成人精精品一区二区频| 美女视频黄久久| 国产精品久久福利| 国产成人av电影免费在线观看| 欧美国产1区2区| 国产美女在线精品| 欧美精品一区二区三| www.成人在线| 日韩一区中文字幕| 99久久婷婷国产精品综合| 欧美国产欧美亚州国产日韩mv天天看完整| youjizz久久| 视频一区中文字幕国产| 欧美日韩精品一区二区三区蜜桃 | 亚洲国产综合91精品麻豆| 91视视频在线直接观看在线看网页在线看| 国产日韩精品一区| 国产成人久久精品77777最新版本| 国产精品毛片无遮挡高清| 成人免费黄色大片| 亚洲欧洲一区二区三区| 欧美一级在线观看| 国产一区欧美二区| 亚洲最快最全在线视频| 欧美性视频一区二区三区| 国产在线一区二区综合免费视频| 亚洲女人小视频在线观看| 精品免费日韩av| 欧美日韩久久久久久| 粉嫩欧美一区二区三区高清影视| 日本在线播放一区二区三区| 欧美成人国产一区二区| 在线观看免费一区| 麻豆成人91精品二区三区| 亚洲私人黄色宅男| 久久久久9999亚洲精品| 欧美丰满高潮xxxx喷水动漫| 久久爱www久久做| 国产精品久久午夜夜伦鲁鲁| 日韩欧美国产一区二区三区| 国产大陆a不卡| 美女国产一区二区| 亚洲一区免费观看| 中文字幕中文乱码欧美一区二区| 久久亚区不卡日本| 色综合网站在线| 视频一区在线播放| 亚洲国产精品一区二区久久| 综合激情网...| 中文字幕+乱码+中文字幕一区| 精品国产乱码久久久久久牛牛 | 亚洲成人免费电影| 精品动漫一区二区三区在线观看| 欧美日韩免费电影| 欧美在线免费视屏| 欧美在线一区二区三区| 91蜜桃网址入口| 色综合中文字幕国产 | 欧美日韩一区二区在线观看视频| 另类综合日韩欧美亚洲| 石原莉奈在线亚洲三区| 国产精品一级二级三级| 日韩毛片精品高清免费| 中文字幕在线观看不卡| 国产精品免费人成网站| 中文字幕亚洲不卡| 亚洲精品综合在线| 国产视频一区不卡| 亚洲国产精品av| 国产精品久久影院| 亚洲欧美视频在线观看| 亚洲理论在线观看| 午夜视频在线观看一区二区三区| 国产精品三级久久久久三级| 国产亚洲精品7777| 18成人在线视频| 亚洲精品成人精品456| 一个色妞综合视频在线观看| 夜夜嗨av一区二区三区中文字幕| 亚洲高清久久久| 麻豆91精品视频| 国产真实乱子伦精品视频| 国产v综合v亚洲欧| 91亚洲大成网污www| 91成人在线观看喷潮| 欧美日本一道本在线视频| 精品国产一区a| 国产精品久久福利| 性欧美大战久久久久久久久| 麻豆视频观看网址久久| 国产99久久久国产精品免费看| www.66久久| 欧美精品久久99| 久久女同性恋中文字幕| 亚洲精品国产一区二区三区四区在线 | 椎名由奈av一区二区三区| 亚洲一区二区免费视频| 美女视频黄a大片欧美| 成人免费视频视频在线观看免费| 91久久线看在观草草青青| 欧美一卡二卡三卡四卡| 国产精品三级久久久久三级| 亚洲国产另类av| 国产激情偷乱视频一区二区三区| 一道本成人在线| 久久中文娱乐网| 一区二区三区视频在线观看| 捆绑紧缚一区二区三区视频| 91在线视频18| 久久综合一区二区| 亚洲一区二区四区蜜桃| 国产成人在线视频免费播放| 欧美色图12p| 欧美国产成人在线| 日本不卡中文字幕| 色综合一个色综合亚洲| 久久在线观看免费| 亚洲成人黄色小说| 99re在线视频这里只有精品| 日韩欧美国产一区二区在线播放| 亚洲精品免费看| 成人涩涩免费视频| 精品国产露脸精彩对白 | 日本午夜精品一区二区三区电影| 成人黄色小视频| 色激情天天射综合网| 精品久久久久久亚洲综合网| 一区二区高清免费观看影视大全| 国产成人精品免费| 日韩美一区二区三区| 亚洲午夜在线电影| 91麻豆国产福利在线观看| 国产欧美一区二区三区鸳鸯浴 | 久久久噜噜噜久久中文字幕色伊伊| 亚洲一区二区视频| 色婷婷综合久久久中文字幕| 中文字幕不卡在线观看| 韩国中文字幕2020精品| 91精品国产欧美日韩| 亚洲v日本v欧美v久久精品| 91色porny在线视频| 国产精品久久久久久久久免费樱桃| 老司机午夜精品99久久| 制服丝袜日韩国产| 婷婷久久综合九色综合绿巨人| 91成人免费电影| 樱桃视频在线观看一区| 一本久久精品一区二区| 亚洲日本在线天堂| 一本到三区不卡视频| 综合av第一页| 91麻豆蜜桃一区二区三区| 国产精品美女久久久久av爽李琼 | 国产精品全国免费观看高清| 国产麻豆91精品| 久久亚洲综合av| 国产精品一区一区三区| 国产日本欧洲亚洲| 成人综合激情网| 亚洲欧美自拍偷拍色图| 91麻豆国产福利精品| 夜夜嗨av一区二区三区 | 欧美电影在线免费观看| 日韩电影在线看| 日韩精品中文字幕一区二区三区 | 国产欧美一区二区三区鸳鸯浴 | 精品一区二区三区欧美| 欧美日韩综合色| 丝袜亚洲另类丝袜在线| 91精品国产欧美日韩| 精品一区二区三区av| 国产婷婷色一区二区三区在线| 国产成人丝袜美腿| 亚洲女女做受ⅹxx高潮| 欧美伦理影视网| 国产真实乱偷精品视频免| 国产精品沙发午睡系列990531| 91香蕉视频污在线| 午夜精品久久久久久久久| 日韩视频永久免费| 免费国产亚洲视频| 欧美肥妇毛茸茸| 国产真实乱对白精彩久久|