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

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

?? mainunit.pas

?? 一個簡單的ORACLE 轉(zhuǎn)換工具,可以解決不少實際問題哦
?? PAS
?? 第 1 頁 / 共 3 頁
字號:

    if Constraints then Cmd := Cmd + ' Constraints=Y'
    else Cmd := Cmd + ' Constraints=N';

    if fcbIncType.ItemIndex = 0 then
      Cmd := Cmd + ' IncType=complete '
    else if fcbIncType.ItemIndex = 1 then
      Cmd := Cmd + ' IncType=incremental '
    else if fcbIncType.ItemIndex = 2 then
      Cmd := Cmd + ' IncType=cumulative ';

    fmeoExpSQL.Text := Cmd;

    //開始導(dǎo)出
    CoolTrayIcon.ShowBalloonHint('提示', Format('[%4.4d-%2.2d-%2.2d %2.2d:%2.2d:%2.2d]', [Year, Month, Day, Hour, Min, Sec]) +
       ' 開始備份數(shù)據(jù)......', bitInfo, 10);
    Application.ProcessMessages;  
    //運行導(dǎo)出命令
    RunCmdLine(Cmd, ExitCode, ErrMessage, OutMessage);
    //記錄日志
    Application.ProcessMessages;
    ExpLogFile := ChangeFileExt(ExpOutFile, '.log');
    SL := TStringList.Create;
    try
      SL.Add('//********************** 導(dǎo)出命令行 *****************************//');
      SL.Add('');
      SL.Add(Cmd);
      SL.Add('');
      SL.Add('//********************** 命令行輸出 *****************************//');
      SL.Add(OutMessage);
      SL.SaveToFile(ExpLogFile);
    finally
      FreeAndNil(SL);
    end;
    //****壓縮文件的代碼*******
    Application.ProcessMessages;
    if Ziped then
    begin
      ZipComponent.ArchiveFile := ChangeFileExt(ExpOutFile, '.zip');
      if FileExists(ZipComponent.ArchiveFile) then DeleteFile(ZipComponent.ArchiveFile);
      ZipComponent.ExcludeSpec.Clear();
      ZipComponent.FileSpec.Clear();
      ZipComponent.FileSpec.Add(ExpOutFile);
      ZipComponent.FileSpec.Add(ExpLogFile);
      ZipComponent.TempDir := OutDir;
      ZipComponent.Compress();
      if FileExists(ExpOutFile) then DeleteFile(ExpOutFile);
      if FileExists(ExpLogFile) then DeleteFile(ExpLogFile);
    end;
    //備份完成
    CoolTrayIcon.ShowBalloonHint('提示', Format('[%4.4d-%2.2d-%2.2d %2.2d:%2.2d:%2.2d]', [Year, Month, Day, Hour, Min, Sec]) +
       ' 數(shù)據(jù)備份完成!', bitInfo, 10);
  end;
end;


procedure TfrmMain.ReadConfig;
var
  IniFile: TIniFile;
begin
  FileHandle := FileOpen(ConfigFile,fmShareDenyNone);
  if FileHandle > 0 then
  try
    IniFile := TIniFile.Create(ConfigFile);
    ExpExeFile := IniFile.ReadString('Common', 'ExpExeFile', '');
    BakupFile := IniFile.ReadString('Common', 'BakupFile', '');
    UserName := IniFile.ReadString('Common', 'UserName', '');
    UserPassword := IniFile.ReadString('Common', 'UserPassword', '');
    UserService := IniFile.ReadString('Common', 'UserService', '');
    Grants := IniFile.ReadBool('Common', 'Grants', False);
    Full := IniFile.ReadBool('Common', 'Full', False);
    Ziped := IniFile.ReadBool('Common', 'Ziped', True);
    AutoNamed := IniFile.ReadBool('Common', 'AutoNamed', True); 
    RunTime := IniFile.ReadString('Common', 'RunTime', '01:00');
    Indexes := IniFile.ReadBool('Common','Indexes',False);
    Constraints := IniFile.ReadBool('Common','Constraints',False); 
  finally
    FreeAndNil(IniFile);
    CloseHandle(FileHandle);
  end;
end;

procedure TfrmMain.SetConfig(InMem: Boolean);
begin
  if InMem then
  begin
    ExpExeFile := EdtExpExeFile.Text;
    BakupFile := edtBakupPath.Text;
    UserName := fedtTimeUserName.Text;
    UserPassword := fedtTimerUserPass.Text;
    UserService := fedtTimerUserScv.Text;
    RunTime := Format('%2.2d:%2.2d:%2.2d',[HourOf(EdtRunTime.Time), MinuteOf(EdtRunTime.Time), SecondOf(EdtRunTime.Time)]);
    Grants := ChkGrants.Checked;
    Full := chkFullFile.Checked;
    Ziped := chkZIPFile.Checked;
    AutoNamed := ChkAutoNamed.Checked;
    Indexes   := chkIndexes.Checked;
    Constraints := chkConstraints.Checked;
  end
  else
  begin
    if ExpExeFile = '' then EdtExpExeFile.Text := GetOraleHome(True,'')
    else EdtExpExeFile.Text := ExpExeFile;
    edtBakupPath.Text := BakupFile;
    fedtTimeUserName.Text := UserName;
    fedtTimerUserPass.Text := UserPassword;
    fedtTimerUserScv.Text := UserService;
    EdtRunTime.Time := StrToTime(RunTime);
    ChkGrants.Checked := Grants;
    chkFullFile.Checked := Full;
    chkZIPFile.Checked := Ziped;
    ChkAutoNamed.Checked := AutoNamed;
    chkIndexes.Checked := Indexes;
    chkConstraints.Checked := Constraints;
  end;
end;

procedure TfrmMain.SysButtonMsg(var Msg: TMessage);
begin
   if (Msg.wParam = SC_CLOSE) or (Msg.wParam = SC_MINIMIZE) then Hide
  else inherited; // 執(zhí)行默認(rèn)動作
end;

procedure TfrmMain.WriteConfig;
var
  IniFile: TIniFile;
begin
  if FileExists(ConfigFile) then DeleteFile(ConfigFile);
  IniFile := TIniFile.Create(ConfigFile);
  try
    IniFile.WriteString('Common', 'ExpExeFile', ExpExeFile);
    IniFile.WriteString('Common', 'BakupFile', BakupFile);
    IniFile.WriteString('Common', 'UserName', UserName);
    IniFile.WriteString('Common', 'UserPassword', UserPassword);
    IniFile.WriteString('Common', 'UserService', UserService);       
    IniFile.WriteBool('Common', 'Grants', Grants);
    IniFile.WriteBool('Common', 'Full', Full);
    IniFile.WriteBool('Common', 'Ziped', Ziped);
    IniFile.WriteBool('Common', 'AutoNamed', AutoNamed);
    IniFile.WriteString('Common', 'RunTime', RunTime);
    IniFile.WriteBool('Common','Indexes',Indexes);
    IniFile.WriteBool('Common','Constraints',Constraints);
  finally
    FreeAndNil(IniFile);
  end;
end;

function TfrmMain.GetOraleHome(CanExp : Boolean;strStyle:string): String;
var
  Reg: TRegistry;
  KeysList,ValueNamesList : TStringList;
  OracleHomePath,ValueOracleHome : String;
  i,j:Integer;
  IniFile: TIniFile;
begin
  Result := '';
  Reg := TRegistry.Create;
  KeysList := TStringList.Create;
  ValueNamesList := TStringList.Create;
  try
    //9i處理方法
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKey('Software\Oracle', False) then
    begin
      {Reg.GetValueNames(ValueNamesList);
      for j := 0 to ValueNamesList.Count - 1 do
      if (ValueNamesList.Strings[j] = 'ORACLE_HOME') then
        ValueOracleHome := Reg.ReadString(Trim(ValueNamesList.Strings[j]));}
      ValueOracleHome := Reg.ReadString('ORACLE_HOME');
    end;
    Reg.CloseKey;
    //10g處理方法
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKey('Software\Oracle', False) then
    begin
      Reg.GetKeyNames(KeysList);
      for i := 0 to KeysList.Count -1 do
        if UpperCase(LeftStr(Trim(KeysList.Strings[i]),4))= 'KEY_' then OracleHomePath := UpperCase(Trim(KeysList.Strings[i]));//Oracle10g有這樣的鍵值
      if Reg.KeyExists(OracleHomePath) = True then
      begin
        Reg.OpenKey(OracleHomePath,False);
        ValueOracleHome := Reg.ReadString('ORACLE_HOME');
      end;
    end;
    Reg.CloseKey;
    //讀取INI文件
    if ValueOracleHome = '' then
    begin
      FileHandle := FileOpen(AppPath+'ExpProfile.ini',fmShareDenyNone);
      if FileHandle > 0 then
      try
        IniFile := TIniFile.Create(AppPath+'ExpProfile.ini');
        ValueOracleHome := IniFile.ReadString('Common', 'ExpExeFile', '');
      finally
          FreeAndNil(IniFile);
          CloseHandle(FileHandle);
      end;
    end;
    
    if CanExp = True then
        Result := ValueOracleHome + '\bin\EXP'+Trim(strStyle)+ '.exe'
    else if CanExp = False then
        Result := ValueOracleHome + '\bin\IMP'+Trim(strStyle)+'.exe';
  finally
    FreeAndNil(Reg);
    FreeAndNil(KeysList);
    FreeAndNil(ValueNamesList);
  end;
end;

procedure TfrmMain.RunCmdLine(const Cmd: String; var ExitCode: DWORD;
  var ErrMessage, OutMessage: String);
{
Cmd:外部控制臺程序文件名,包含路徑;
ExitCode:程序執(zhí)行狀態(tài)代碼,如果成功,返回 0 ,否則非 0;
ErrMessage:執(zhí)行出現(xiàn)錯誤時返回錯誤信息;
OutMessage:控制臺輸出信息
}
var
  HReadPipe, HWritePipe: THandle;
  SI: STARTUPINFO;
  SA: SECURITY_ATTRIBUTES;
  PI: PROCESS_INFORMATION;
  CchReadBuffer: DWORD;
  PChr: PChar;
  StrTemp: String;
  FileName: PChar;
begin
  FileName := AllocMem(Length(Cmd) + 1);
  StrPCopy(FileName, Cmd);
  PChr := AllocMem(5000);
  SA.nLength := SizeOf(SECURITY_ATTRIBUTES);
  SA.lpSecurityDescriptor := nil;
  SA.bInheritHandle := True;

  if CreatePipe(HReadPipe, HWritePipe, @SA, 0) = False then
  begin
    ErrMessage := 'Can not create pipe!';
    Exit;
  end;
  fillchar(SI, SizeOf(STARTUPINFO), 0);
  SI.cb := SizeOf(STARTUPINFO);
  SI.dwFlags := (STARTF_USESTDHANDLES or STARTF_USESHOWWINDOW);
  SI.wShowWindow := SW_HIDE;
  SI.hStdInput := GetStdHandle(STD_INPUT_HANDLE);
  SI.hStdOutput := HWritePipe;
  SI.hStdError := HWritePipe;


  if CreateProcess( nil, FileName, nil, nil, true, 0, nil, nil, SI, PI) = False  then
  begin
    ErrMessage := 'can not create process!';
    FreeMem(PChr);
    FreeMem(FileName);
    Exit;
  end;

  while (True) do
  begin
    if not PeekNamedPipe(HReadPipe, PChr, 1, @CchReadBuffer, nil, nil) then Break;
    if CchReadBuffer <> 0 then
    begin
      if ReadFile(HReadPipe, PChr^, 4096, CchReadBuffer, nil) = False then Break;
      PChr[CchReadBuffer] := Chr(0);
      StrTemp := PChr;
      OutMessage := OutMessage + StrTemp;
    end
    else if (WaitForSingleObject(PI.hProcess ,0) = WAIT_OBJECT_0) then Break;
    Sleep(100);
  end;

  PChr[CchReadBuffer] := Chr(0);
  OutMessage := OutMessage + PChr;
  GetExitCodeProcess(PI.hProcess, ExitCode);
  CloseHandle(HReadPipe);
  CloseHandle(PI.hThread);
  CloseHandle(PI.hProcess);
  CloseHandle(hWritePipe);
  FreeMem(PChr);
  FreeMem(FileName);
end;

procedure TfrmMain.WriteToFile(const FileName, Content: String);
var
  SL: TStringList;
begin
  SL := TStringList.Create;
  try
    SL.Text := Content;
    SL.SaveToFile(FileName);
  finally
    FreeAndNil(SL);
  end;
end;

procedure TfrmMain.BtnExpExeFileClick(Sender: TObject);
begin
   OpenDialog.Filter := 'EXE文件(*.EXE)|*.EXE';
  OpenDialog.FileName := EdtExpExeFile.Text;
  if OpenDialog.Execute and (OpenDialog.FileName <> '') then
  begin
    EdtExpExeFile.Text := OpenDialog.FileName;
  end;
end;

procedure TfrmMain.btnBakUpDClick(Sender: TObject);
begin
  OpenDialog.Filter := '所有文件(*.*)|*.*';
  OpenDialog.FileName := edtBakupPath.Text;
  if OpenDialog.Execute and (OpenDialog.FileName <> '') then
  begin
    edtBakupPath.Text := OpenDialog.FileName;
  end;
end;

procedure TfrmMain.BtnExpExeFileDClick(Sender: TObject);
begin
  EdtExpExeFile.Text := GetOraleHome(True,'');
end;

procedure TfrmMain.btnBakupClick(Sender: TObject);
begin
  edtBakupPath.Text := AppPath + 'bakup\EXP.dmp';
end;

procedure TfrmMain.FormShow(Sender: TObject);
begin
  AppPath := ExtractFilePath(Application.ExeName);
  SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW); {不在任務(wù)欄顯示}//
end;

procedure TfrmMain.FlatButton1Click(Sender: TObject);
begin
  SetConfig(True);
  WriteConfig;
  Timer2.Enabled := True;
end;

procedure TfrmMain.N3Click(Sender: TObject);
begin
  ConfigFile := AppPath +'ExpProfile.ini';
  ReadConfig;
  SetConfig(False);
  PageControl1.Pages[2].TabVisible := True;
  PageControl1.Pages[2].Visible := True;
  PageControl1.ActivePageIndex := 2;
end;

procedure TfrmMain.N4Click(Sender: TObject);
begin
  PageControl1.Pages[2].TabVisible := False;
  PageControl1.Pages[2].Visible := False;
  PageControl1.ActivePageIndex := 0;
  Timer2.Enabled := False;
end;

procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if PageControl1.ActivePageIndex = 0 then
    EndProcess('exp.exe')
  else if PageControl1.ActivePageIndex = 1 then
    EndProcess('imp.exe')
  else if PageControl1.ActivePageIndex = 2 then
    EndProcess('exp.exe');
  FreeAndNil(imgTemp);
end;

procedure TfrmMain.EndProcess(AExeName: string);
const
  PROCESS_TERMINATE=$0001;
var
  ExeFileName: String;
  ContinueLoop: BOOL;
  FSnapshotHandle: THandle;
  FProcessEntry32: TProcessEntry32;
begin
  ExeFileName := AExeName;
  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
  ContinueLoop := Process32First(FSnapshotHandle,FProcessEntry32);
  while integer(ContinueLoop) <> 0 do
  begin
    if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase(ExeFileName))
    or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(ExeFileName))) then
    TerminateProcess(OpenProcess(PROCESS_TERMINATE, BOOL(0),FProcessEntry32.th32ProcessID), 0);
    ContinueLoop := Process32Next(FSnapshotHandle,FProcessEntry32);
 end;
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产久精国产| 日本亚洲欧美天堂免费| 久久99热这里只有精品| 精品视频一区二区三区免费| 99久久综合国产精品| 欧美精选一区二区| 亚洲色图一区二区| 一区二区三区在线影院| 日韩 欧美一区二区三区| 欧美最猛性xxxxx直播| 欧美一区二区免费视频| 在线观看精品一区| 粉嫩嫩av羞羞动漫久久久| 99久久久精品免费观看国产蜜| 国产日韩v精品一区二区| 欧美在线制服丝袜| 91成人看片片| 色婷婷综合久久久中文一区二区| 国产原创一区二区| 高清视频一区二区| 一本色道久久综合狠狠躁的推荐| 在线观看免费亚洲| 欧美一区在线视频| 国产欧美日韩在线看| 亚洲欧美激情一区二区| 亚洲动漫第一页| 国产在线精品不卡| 972aa.com艺术欧美| 欧美日韩精品欧美日韩精品一| 欧美一区日本一区韩国一区| 亚洲精品在线一区二区| 亚洲视频一区二区在线| 亚洲综合丝袜美腿| 免费成人av在线| 99久久综合色| 欧美成人官网二区| 一区二区三区四区国产精品| 青青草国产精品97视觉盛宴| 国产一区二区美女诱惑| 欧美中文字幕久久| 欧美韩国日本不卡| 天堂蜜桃一区二区三区| 国产成人精品午夜视频免费| 在线观看日韩电影| 国产欧美日韩中文久久| 日韩国产欧美在线播放| 91丨九色丨国产丨porny| xnxx国产精品| 图片区小说区区亚洲影院| 成人app软件下载大全免费| 欧美日韩国产一级片| 国产精品色一区二区三区| 日韩高清不卡在线| 9i在线看片成人免费| 日韩免费福利电影在线观看| 亚洲综合在线免费观看| 成人午夜在线视频| 日韩亚洲欧美一区二区三区| 国产婷婷色一区二区三区四区| 日韩在线一区二区| 欧美调教femdomvk| 一二三四区精品视频| 春色校园综合激情亚洲| 日韩精品一区二区三区视频| 丝袜亚洲另类丝袜在线| 欧美偷拍一区二区| 亚洲三级在线看| 成人毛片视频在线观看| 国产情人综合久久777777| 开心九九激情九九欧美日韩精美视频电影| 成人av电影免费在线播放| 精品91自产拍在线观看一区| 美女视频网站黄色亚洲| 欧美久久高跟鞋激| 亚洲男人的天堂在线aⅴ视频| 韩国三级中文字幕hd久久精品| 欧美日韩国产大片| 婷婷六月综合亚洲| 在线一区二区三区四区五区 | 久久av资源网| 日本高清视频一区二区| 亚洲精品videosex极品| 色综合 综合色| 亚洲国产精品一区二区www在线| 日本久久精品电影| 亚洲一区中文在线| 欧美一区二区三区喷汁尤物| 亚洲一区二区三区视频在线| 色综合激情久久| 一区二区三区四区视频精品免费| 色综合久久综合| 亚洲成人免费在线| 91精品国产入口在线| 久久疯狂做爰流白浆xx| 国产亚洲一区二区三区| 99久久99久久久精品齐齐| 亚洲精品视频观看| 制服丝袜av成人在线看| 国产在线观看一区二区| 中文字幕一区二区三区乱码在线| 色妞www精品视频| 日韩av一级片| 欧美国产欧美亚州国产日韩mv天天看完整| 99精品久久只有精品| 婷婷丁香久久五月婷婷| 337p粉嫩大胆色噜噜噜噜亚洲| 成人一区在线观看| 午夜免费久久看| 久久精品免费在线观看| 99re视频精品| 午夜av区久久| 久久综合国产精品| 91黄色免费看| 久久99在线观看| 亚洲裸体在线观看| 26uuu精品一区二区| 色哦色哦哦色天天综合| 国产一区二区三区| 亚洲国产日韩a在线播放性色| 337p日本欧洲亚洲大胆色噜噜| 色国产精品一区在线观看| 国产在线精品一区二区不卡了| 亚洲靠逼com| 国产欧美一区二区三区在线看蜜臀| 欧美性高清videossexo| 粉嫩av亚洲一区二区图片| 天天av天天翘天天综合网| 中文字幕一区二区三区四区不卡| 日韩女优av电影| 欧美日韩一区国产| 不卡av免费在线观看| 激情五月播播久久久精品| 婷婷夜色潮精品综合在线| 亚洲免费观看高清在线观看| 国产亚洲1区2区3区| 日韩欧美一二三区| 欧美日韩aaaaa| 欧美午夜精品免费| 91丝袜国产在线播放| 成人黄色在线视频| 国产一区二区女| 国产一区二区剧情av在线| 日产欧产美韩系列久久99| 亚洲在线视频免费观看| 亚洲男人的天堂av| 亚洲同性同志一二三专区| 国产精品免费久久| 国产精品天天摸av网| 国产校园另类小说区| 久久综合久久综合九色| 2024国产精品| 日韩午夜电影av| 欧美日韩情趣电影| 欧美人狂配大交3d怪物一区| 欧美三级日韩三级| 欧美日韩三级视频| 欧美精品 日韩| 日韩区在线观看| 久久综合网色—综合色88| 精品国产一区二区三区不卡| 精品88久久久久88久久久| 亚洲精品在线电影| 欧美激情一区在线观看| 亚洲特级片在线| 一区二区三区四区乱视频| 亚洲精品国产无套在线观| 亚洲午夜在线观看视频在线| 亚洲成人精品一区二区| 免费一级欧美片在线观看| 久久99精品国产| 成人免费黄色在线| 一本色道久久综合亚洲精品按摩| 91国内精品野花午夜精品| 91精品国产手机| 久久精品亚洲一区二区三区浴池 | 一个色在线综合| 日本麻豆一区二区三区视频| 极品尤物av久久免费看| 成人午夜激情影院| 欧美精品乱码久久久久久按摩| 日韩女优av电影在线观看| 国产精品丝袜91| 亚洲高清免费一级二级三级| 精品午夜久久福利影院| 99久久99久久免费精品蜜臀| 欧美喷水一区二区| 日本一区二区三区dvd视频在线| 国产精品久久久久aaaa樱花 | 91麻豆精品国产91久久久使用方法 | 青娱乐精品在线视频| 国产aⅴ综合色| 欧美精品视频www在线观看 | 国产成人精品免费网站| 91视频一区二区三区| 欧美一级xxx| 亚洲精品亚洲人成人网| 久久99久国产精品黄毛片色诱| 91免费版pro下载短视频| 精品久久久久久久久久久久久久久 | 欧美一卡在线观看|