請幫忙修改UcFileRenamer程式 |
|
s793016
一般會員 發表:3 回覆:7 積分:2 註冊:2004-03-21 發送簡訊給我 |
Hi 各位好: 此程式為 unicode 補完計畫中給 2k/xp 用的改檔名程式,因原作老胡先生公務繁忙,不克修改,懇請貴站諸位先進幫忙修改一個小地方。 此程式執行時會讀入 uc-o2n.tbl 作為參考檔,但目前版本對此參考檔容量有 64k 限制,而我們目前的測試版本中,此參照檔已經超過64K大了,故這部份必需修改以符所需,不知哪位先進大德有空能幫忙弄一下?謝謝。 想讓 Internet Explorer 當掉嗎? 「方法一」http://cpatch.org/witchfive/2/crash_ie_v1.htm 「方法二」http://cpatch.org/witchfive/2/crash_ie_v2.htm 發表人 - s793016 於 2005/09/24 22:21:13
------
想讓 Internet Explorer 當掉嗎? [url=http://cpatch.org/witchfive/2/crash_ie_v1.htm]「方法一」[/url] [url=http://cpatch.org/witchfive/2/crash_ie_v2.htm]「方法二」[/url] |
StrongLemon
高階會員 發表:10 回覆:166 積分:105 註冊:2004-04-18 發送簡訊給我 |
這不是64k的限制,而是資料部分的問題
procedure TForm1.FormCreate(Sender: TObject); var F: TextFile; S: string; x,y: integer; Map2: boolean; EnviormentStr: PChar; cjkIndex:Integer; begin ZeroMemory(@cjk, sizeof(cjk)); ZeroMemory(@udc, sizeof(udc)); Map2 := false; AssignFile(F, ExtractFilePath(paramstr(0)) 'uc-o2n.tbl'); Reset(F); while not Eof(F) do begin Readln(F, S); if S[1] = '=' then begin Map2 := true; Continue; end; x := StrToInt('$' Copy(S, 1, 4)); y := StrToInt('$' Copy(S, 6, 4)); cjkIndex:=x - $E024; //第一行資料0308 00A8 //x=0308 時 cjkIndex為負值,會導致陣列Access Violation錯誤 //1.0308的資料是有問題的,我想當初設計時範圍是在EXXX~FXXX吧 //2.資料中有0308 0302 cjk[cjkIndex] := y; if Map2 then udc[y] := x; end; CloseFile(F); EnumHD; EnviormentStr:= AllocMem(MAX_PATH 1); ExpandEnvironmentStrings('%USERPROFILE%', EnviormentStr, MAX_PATH); LogPath:= EnviormentStr '\RenameLogs'; FreeMem(EnviormentStr); end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |