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

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

?? archiveeditunit.pas

?? 游戲修改工具(內存高低階
?? PAS
?? 第 1 頁 / 共 4 頁
字號:
    Single_value:begin
             val(InputValue,SingleTemp,Ecode);
             if Ecode<>0 then Exit else
             begin
             ScanValue:=InputValue;
             Result:=Single_value;
             end;
                 end;
   Double_value:begin
             val(InputValue,DoubleTemp,Ecode);
             if Ecode<>0 then Exit else
             begin
             ScanValue:=InputValue;
             Result:=Double_value;
             end;
                end;
   String_value:begin
             ScanValue:=InputValue;
             Result:=String_value;
               end;

   end; //case end;

     end; ///not auto_value End;

   end;///Extrac_scan end
end;///with end;
end;
///////////////////////////////////////////////////////////////////////////////////////////




///////////查找到的 地址數據加入列表
Procedure TArchiveEditForm.AddFoundToListView(theIndex:integer);
var FileSize:Dword;
    BufSize:Int64;
    AddressBuf:Dword;
    i,j:Integer;
    TempByte:Byte;
    TempWord:Word;
    TempDword:Dword;
    Tempint64:int64;
    TempSingle:Single;
    TempDouble:Double;
    TempStringBYTE:BYTE;
    TempStringCount:byte;
    Tempstring:string;
    tempFileStream:TmemoryStream;
begin
Found_LV.Items.BeginUpdate;///防止閃爍
Found_LV.Items.Clear;
with theFiletask[theIndex] do
begin
FileSize:=checkAndGetFileSize(FilePathName);
if FileSize=0  then exit;
tempFileStream:=TmemoryStream.Create;
 try
   tempFileStream.LoadFromFile(FilePathName);

AddressmemStream.Seek(0,soFrombeginning); ////低階搜索BufSize=0;
BufSize:= AddressMemStream.Size;
if (BufSize>0) and ( not theFiletask[theIndex].InSearchProcess) then
begin
BufSize:=BufSize shr 2;
if BufSize>200 then BufSize:=200;  ///只顯示前面200個值
  For i:=1 to BufSize do        
  begin
   try

   AddressMemStream.ReadBuffer(AddressBuf,Sizeof(AddressBuf));
   
   if (AddressBuf+1)<=FileSize  then
   begin
    tempFileStream.Seek(AddressBuf,soFrombeginning);
   tempFileStream.ReadBuffer(TempByte,1);
   end;

   if (AddressBuf+2)<=FileSize then
   begin
   tempFileStream.Seek(AddressBuf,soFrombeginning);
   tempFileStream.ReadBuffer(TempWord,2);
   end;

   if (AddressBuf+4)<=FileSize then
   begin
   tempFileStream.Seek(AddressBuf,soFrombeginning);
   tempFileStream.ReadBuffer(TempDWord,4);
   end;

   if (AddressBuf+8)<=FileSize then
   begin
   tempFileStream.Seek(AddressBuf,soFrombeginning);
   tempFileStream.ReadBuffer(TempInt64,8);
   end;

   if (AddressBuf+4)<=FileSize then
   begin
   tempFileStream.Seek(AddressBuf,soFrombeginning);
   tempFileStream.ReadBuffer(TempSingle,4);
   end;

   if (AddressBuf+8)<=FileSize then
   begin
   tempFileStream.Seek(AddressBuf,soFrombeginning);
   tempFileStream.ReadBuffer(TempDouble,8);
   end;

   tempStringCount:=(FileSize-AddressBuf);
   if tempStringCount>16 then  tempStringCount:=16;
   tempFileStream.Seek(AddressBuf,soFrombeginning);
    Tempstring:='';
   for j:=1 to tempStringCount do
   begin
   tempFileStream.ReadBuffer(TempStringBYTE,1);
   Tempstring:=Tempstring+chr(TempstringBYTE);
   end;

    with Found_LV.Items.Add do
     begin
     Caption:=intTohex(AddressBuf,8);
     SubItems.Add(intToStr(TempByte));
     SubItems.Add(intToStr(TempWord));
     SubItems.Add(intToStr(TempDword));
     SubItems.Add(intToStr(TempInt64));
     SubItems.Add(FloatToStr(TempSingle));
     SubItems.Add(FloatToStr(TempDouble));
     SubItems.Add(TempString);
     end;

   except
     Continue;
   end;

  end;//for end

end; //if end
   finally
    FreeandNIl(tempFileStream);
   end;


end;///with end
Found_lv.Items.EndUpdate;
end;


Procedure TArchiveEditForm.RaiseInputError;
begin
with theFileTask[CurrentFiletaskIndex] do
  begin
          inc(ErrorInputNum);
          Value_Edit.SetFocus;          
          if ErrorInputNum>3 then
             begin
                Messagebeep(0);
                ErrorInputNum:=0;
                InputHelp_sb.click;
             end;

  end;
end;











procedure TArchiveEditForm.AddFIle_TBClick(Sender: TObject);
begin
AddFiletaskForm.Show;
end;

procedure TArchiveEditForm.delFile_tbClick(Sender: TObject);
var i,SelListIndex,theIndex:integer;
begin
if Filetasknum=0 then Exit;
if FIleTasks_LV.Selected<>nil then
begin
SelListIndex:=FIleTasks_LV.Selected.Index+1;
theIndex:=ListToFileTaskIndex[SelListIndex];
if theFileTask[theindex].InSearchProcess  then
 begin
 MessageBox(Application.Handle,pchar(String_FileInScan),pchar(String_FileInScanTitle),
           MB_OK or MB_ICONINFORMATION);

  exit;
 end;

theFileTask[theindex].Applyed:=False;
theFileTask[theIndex].AddressMemStream.Clear;
Dec(FiletaskNUm);
  for i:=SelListIndex to FiletaskNum do
   begin
    ListToFileTaskIndex[i]:=ListToFileTaskIndex[i+1];
   end;
FileTasks_lv.selected.Delete;
DeleteFile(theFileTask[theIndex].SaveFileName);
UpdateTaskInfo(theFileTask[theIndex].Index);
end;
end;

procedure TArchiveEditForm.Filetasks_LVEdited(Sender: TObject;
  Item: TListItem; var S: String);
begin
theFileTask[CurrentFiletaskIndex].Name:=S;
UpdateTaskInfo(CurrentFiletaskIndex);

end;

procedure TArchiveEditForm.Filetasks_LVClick(Sender: TObject);
var selListIndex:Integer;
begin
if Filetasks_LV.Selected=nil then exit;

selListIndex:=Filetasks_LV.Selected.Index+1;
CurrentFiletaskIndex:=ListToFiletaskIndex[selListIndex];
Scan_Gauge.MaxValue:=theFileTask[CurrentFiletaskIndex].TotalProcess;
Value_Edit.Text:=theFileTask[CurrentFiletaskIndex].ScanValue;
if theFileTask[CurrentFileTaskIndex].ScanType=String_Scan then
 Value_Edit.Text:=''''+theFileTask[CurrentFiletaskIndex].ScanValue+'''';
UpdateTaskInfo(CurrentFiletaskIndex);
VarType_cb.ItemIndex:=0;
AddFoundToListView(CurrentFiletaskIndex);
  File_name:=theFileTask[CurrentFiletaskIndex].FilepathName;
  EditFileName:=File_name;
  FileRecordForm.FormRefresh;
end;

//////必須考慮前面的搜索類型
function TArchiveEditForm.AnalyseScan(theIndex:Integer):integer;
var TempLength:Dword;
    TempSize:Dword;
begin
result:=-999;
with theFileTask[theIndex] do
begin
    ////////////////////檢查文件是否存在/////////////////////////////////////
    TempLength:=checkAndgetFilesize(FilepathName);
    if TempLength=0 then
    begin
    result:=0;
    exit;
    end;
    ////////////////////////////////////////////////////////////
    if  SearchTimes=0 then
    begin
    tempSize:=tempLength;
    TotalProcess:= TempSize;
     Result:=4;        ///ok
     exit;
    end;
   /////////////////////是否重復低階搜索初始化////////////////////////////////////////
    if ((SearchTimes=1) and (OldVartype=LowLevel_value) and (ScanType=InitialLowLevel_Scan) )then
    begin
     Result:=1;
     Exit;
    end;
   //////////////////高低階是否匹配///////////////////////////////////////////////
   if SearchTimes>0 then
   begin
     if ( (OldVarType=Lowlevel_Value) and (VarType<>Lowlevel_Value) )  or
        ( (OldVarType<>Lowlevel_Value) and (VarType=Lowlevel_Value)) 
    then
   begin
   result:=2;
   exit;
   end;

  end;
  /////////////////////確定搜索范圍大小,////////////////////////////////////////////////////////////
   if SearchTimes>0 then
   begin
     if (SearchTimes=1) and (OldvarType=LowLevel_Value) then
     begin
      ///TempLength:=checkAndgetFilesize(FilepathName);
     TempSize:=TempLength;
     end else
      begin
       TempLength:=AddressMemStream.Size;
       TempSize:=TempLength shr 2;
      end;
    if TempSize=0 then     begin      Result:=3;      exit;   end;
    TotalProcess:= TempSize;
    Result:=4;/////ok
    end;
  ///////////////////////////////
    
end;//////with end
end;


function TArchiveEditForm.CheckForScan:boolean;
begin
Result:=false;
with theFiletask[CurrentFileTaskIndex] do begin

case AnalyseScan(CurrentFileTaskIndex) of
0: begin
   Raise Exception.Create(String_FileTaskinvalid);
   end;
1: begin
      if MessageBox(Application.Handle,pchar(String_FileAskRepeatInitLowLevel),
              pchar(String_FileAskRepeatInitLowLevelTitle),
              MB_YESNO or MB_ICONINFORMATION)=IDYES then
       begin
         TotalProcess:=0;
         SearchTimes:=0;
         AttachedNum:=0;
         AddressMemStream.Clear;
         Result:=True;
         Exit;
      end else exit;

    end;
2: begin
     if MessageBox(Application.Handle,pchar(String_FileTypeNoMatch),
              pchar(String_FileTypeNoMatchTitle),
              MB_YESNO or MB_ICONINFORMATION)=IDYES then
     begin
        TotalProcess:=0;
         SearchTimes:=0;
         AttachedNum:=0;
         AddressMemStream.Clear;
         Result:=True;
         exit;
     end else Exit;
    end;
3:  begin
      if MessageBox(Application.Handle,pchar(String_FileNoResultAgain),
              pchar(String_FileNoResultAgainTitle),
              MB_YESNO or MB_ICONINFORMATION)=IDYES then
      begin
         TotalProcess:=0;
         SearchTimes:=0;
         AttachedNum:=0;
         AddressMemStream.Clear;
         Result:=True;
         Exit;
      end else Exit;

    end;
4:  Result:=True;
   end;  ///case end

 end;///with edn

end;




procedure TArchiveEditForm.Scan_bnClick(Sender: TObject);
begin
if FileTaskNum=0 then
begin
if MessageBox(Application.Handle,pchar(String_Addtask),pchar(String_Addtasktitle),
           MB_YESNO or MB_ICONINFORMATION)=IDYES then

 AddFile_TB.Click;
 Exit;
end;

with theFileTask[CurrentFiletaskIndex] do
begin
  if InSearchProcess then
   begin
  MessageBox(Application.Handle,pchar(String_InScan),pchar(String_InScanTitle),
           MB_OK or MB_ICONINFORMATION);
  exit;
   end;///防止搜索過程中不斷點擊

  ScanType:=GetScanTypeAndTempVar(Value_Edit.text,CurrentFiletaskIndex);
  if  ScanType=-999 then begin RaiseInputError;exit;end;
  /////Vartype必須考慮Combobox的選擇
  theFileTask[CurrentFiletaskIndex].VarType:=VarType_cb.ItemIndex;
  varType:=GetVarTypeAndVarValue(ScanValue,CurrentFiletaskIndex);
  if  varType=-999 then begin RaiseInputError;exit;end;

  if not CheckForScan then exit;



if SearchTimes=0 then
begin
TFileFirstScanThread.Create(CurrentFileTaskIndex);
end  else
begin
TFileNextScanThread.Create(CurrentFileTaskIndex);
end;

end;///with end;

end;


//////////////////初次掃描////////////////////////////////
constructor TFileFirstScanThread.Create(theIndex:integer);
begin
TheTaskIndex:=theIndex;
inherited Create(False);
end;


Procedure TFileFirstScanThread.Execute;
var TempLength: DWORD;               ////字節大小
    TempSize:DWORD;                 //// 實際的讀取尺寸

    ReadByte: Byte;
    ReadWord: Word;
    ReadDWord: Dword;
    ReadInt64: Int64;
  //  ReadSingle: Single;
   // Readdouble: double;
    ReadCharByte:Byte;

    PhelpSingleDword:^Dword;
    helpsingleDWord1:DWord;  //存放原數的符號位與指數位
    HelpSingleDword2:Dword;

    PhelpDoubleint64:^int64;
    helpDoubleint641:int64;  //存放原數的符號位與指數位
    HelpDoubleint642:int64;

    HelpStringLength:Byte;
    chartoFind:integer;

    Time1:Dword;
    Time2:Dword;

    i: integer;
  //  j: integer;
   // k: integer;

    ByteValue: Byte;
    WordValue: Word;
    DWordValue: Dword;
    Int64Value: Int64;
    SingleValue: Single;
    doubleValue: double;

    tempFileMemStream:TmemoryStream;
    tempAddress:Dword;
begin
FreeOnTerminate:=True;
/////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
/////////////再次并得到最終數據/////////////////////////////////////////
with theFileTask[theTaskIndex] do
begin

if (scanType=Number_Scan) then
begin
    if Vartype=Byte_value then
    begin
      val(scanvalue,bytevalue,i);
      if i>0 then raise Exception.Create(Format(String_InvalidByte,[scanvalue]));
    end;
    if vartype=word_value then
    begin
      val(scanvalue,wordvalue,i);
      if i>0 then raise Exception.Create(Format(String_InvalidWord,[scanvalue]));
    end;
    if vartype=dword_value then
    begin
      val(scanvalue,dwordvalue,i);
      if i>0 then raise Exception.Create(Format(String_InvalidDword,[scanvalue]));
    end;
    if vartype=Int64_value then
    begin
      val(scanvalue,Int64value,i);
      if i>0 then raise Exception.Create(Format(String_InvalidInt64,[scanvalue]));
    end;
   if vartype=single_value then
    begin
      val(scanvalue,singlevalue,i);
      if i>0 then raise Exception.Create(Format(String_InvalidSingle,[scanvalue]));
    end;
    if vartype=double_value then
    begin
      val(scanvalue,doublevalue,i);
      if i>0 then raise Exception.create(Format(String_InvalidDouble,[scanvalue]));
    end;
    if vartype=String_value then
    begin
    if Length(scanvalue)>255 then raise Exception.create(Format(String_InvalidString,[scanvalue]));
    end;

end;//if end;
////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
   AddressMemStream.Seek(0,soFromBeginning);
   OldScanType:=ScanType;
   InSearchProcess:=True;
   Searchtimes:=1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美一级特黄在线播放| 99国产精品久久久久久久久久| 欧美精品第1页| 亚洲高清视频的网址| 欧美日韩另类一区| 久久国产生活片100| 久久久久久久电影| 一本到高清视频免费精品| 亚洲一区二区不卡免费| 91精品国产91热久久久做人人 | 美女被吸乳得到大胸91| 欧美电影免费观看高清完整版在线观看 | 久久久久国产精品麻豆| 成年人国产精品| 天天综合色天天| 国产亚洲一二三区| 色欧美片视频在线观看 | 久久国产福利国产秒拍| 国产午夜精品一区二区三区视频| jlzzjlzz欧美大全| 天堂va蜜桃一区二区三区漫画版| 2021国产精品久久精品| 色婷婷亚洲精品| 狠狠色2019综合网| 亚洲日本在线天堂| 日韩色在线观看| 99re这里只有精品6| 免费成人结看片| 亚洲卡通欧美制服中文| 久久一日本道色综合| 91免费观看在线| 狠狠色丁香久久婷婷综| 夜色激情一区二区| 久久久久国产精品人| 欧美日韩国产高清一区二区| 粉嫩av一区二区三区粉嫩| 午夜久久久久久久久| 国产精品视频一区二区三区不卡| 欧美日韩和欧美的一区二区| 国产成人啪免费观看软件| 视频一区中文字幕| 亚洲黄色av一区| 久久久久久免费毛片精品| 欧美色倩网站大全免费| 丁香六月久久综合狠狠色| 久久成人久久爱| 亚洲国产视频一区| 中文字幕一区三区| 久久久五月婷婷| 日韩女优毛片在线| 在线不卡欧美精品一区二区三区| 97精品视频在线观看自产线路二| 国产一区美女在线| 美女爽到高潮91| 午夜国产精品影院在线观看| 有坂深雪av一区二区精品| 国产欧美精品一区aⅴ影院| 欧美va在线播放| 欧美一区二区在线观看| 欧美午夜视频网站| 色综合天天天天做夜夜夜夜做| 国产成人免费网站| 国产一区二区三区| 国产乱人伦精品一区二区在线观看 | youjizz国产精品| 国产盗摄女厕一区二区三区| 国产精品综合一区二区三区| 久久国产精品一区二区| 蜜桃视频免费观看一区| 日韩精品乱码av一区二区| 亚洲午夜电影在线观看| 亚洲一二三四区不卡| 一区二区三区欧美视频| 亚洲精品中文在线| 一区二区三区四区激情| 有码一区二区三区| 亚洲成人自拍偷拍| 午夜精品久久久久久久| 日韩不卡一区二区| 玖玖九九国产精品| 国产一区二区精品久久99| 国产成人综合在线| jiyouzz国产精品久久| 99久久er热在这里只有精品66| bt欧美亚洲午夜电影天堂| 波多野结衣亚洲| eeuss鲁一区二区三区| 99久久精品情趣| 91久久香蕉国产日韩欧美9色| 91黄色在线观看| 欧美日韩成人综合天天影院| 欧美一级在线观看| 久久免费视频一区| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲精品视频免费看| 日韩精品亚洲一区| 久久99精品一区二区三区三区| 国产乱子轮精品视频| 91年精品国产| 欧美三级日韩三级| 精品成人一区二区| 中文字幕一区在线| 婷婷久久综合九色综合绿巨人 | 日本一二三不卡| 一区二区高清视频在线观看| 日韩av一区二区三区| 国内精品国产成人国产三级粉色 | 久久久国产精华| 亚洲欧洲色图综合| 日韩精品欧美精品| 国产夫妻精品视频| 欧美日韩免费一区二区三区视频 | 欧美三级电影网站| 亚洲精品在线电影| 亚洲三级在线免费观看| 麻豆国产欧美一区二区三区| av激情综合网| 欧美一级理论片| 亚洲图片欧美激情| 国产一区二区三区| 欧美日本在线播放| 中文字幕永久在线不卡| 精品在线观看免费| 欧美日韩中文字幕一区二区| 久久精品视频一区| 日韩精品一二三| 一本一本大道香蕉久在线精品| 精品成人一区二区| 日韩专区在线视频| 色综合久久精品| 欧美国产乱子伦 | 国产在线精品一区二区夜色| 欧美午夜精品免费| 亚洲欧洲国产专区| 国产成人综合在线观看| 91麻豆精品国产| 一区二区在线电影| 粉嫩久久99精品久久久久久夜| 欧美一二三区精品| 亚洲第一精品在线| 色爱区综合激月婷婷| 国产精品超碰97尤物18| 韩国毛片一区二区三区| 欧美女孩性生活视频| 亚洲一区在线电影| 色综合一个色综合亚洲| 国产精品免费视频一区| 国产精一区二区三区| 精品三级av在线| 奇米影视7777精品一区二区| 欧美日本视频在线| 亚洲一线二线三线久久久| 99re在线精品| 亚洲欧美乱综合| 91免费国产在线| 亚洲免费观看高清在线观看| 99久久久久久| 亚洲欧洲美洲综合色网| 不卡在线观看av| 中文字幕一区二区三区精华液| 国产精品亚洲第一区在线暖暖韩国| 日韩女优毛片在线| 久久av中文字幕片| 精品国产污污免费网站入口 | 国产精品一区二区久久不卡| 精品日韩一区二区三区免费视频| 日本不卡高清视频| 日韩欧美一二三四区| 久久成人18免费观看| 精品成人私密视频| 国产黄色91视频| 国产精品成人在线观看| 色综合 综合色| 亚洲午夜一区二区三区| 欧美精品丝袜中出| 美腿丝袜亚洲色图| 久久夜色精品国产噜噜av | 91丨porny丨最新| 亚洲综合在线观看视频| 欧美日韩国产天堂| 天天做天天摸天天爽国产一区| 91麻豆精品国产| 国产精品1区2区| 亚洲精品乱码久久久久久日本蜜臀| 日本久久精品电影| 人人狠狠综合久久亚洲| 国产亚洲午夜高清国产拍精品| 成人免费视频caoporn| 亚洲精品视频免费观看| 538在线一区二区精品国产| 激情综合亚洲精品| 中文字幕一区二区三区精华液 | 国产亚洲短视频| 99精品在线免费| 午夜成人免费电影| 久久久精品国产免费观看同学| av不卡一区二区三区| 日日夜夜精品视频天天综合网| 久久品道一品道久久精品| 91丨九色丨尤物|