如何判断一个字符串是否是合法的档案(File)名称? |
尚未結案
|
lovelypp
初階會員 發表:122 回覆:111 積分:46 註冊:2003-02-19 發送簡訊給我 |
|
seaturn99
版主 發表:69 回覆:427 積分:214 註冊:2003-08-25 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
function CheckValidFileName(AFileName: string): Boolean; var Handle: THandle; begin Result := True; if FileExists(AFileName) then begin ShowMessage(AFileName ' 已存在!'); Exit; end; Handle := CreateFile(PChar(AFileName), GENERIC_READ or GENERIC_WRITE, 0, nil, CREATE_NEW, 0, 0); if Handle <> INVALID_HANDLE_VALUE then CloseHandle(Handle) else begin RaiseLastWin32Error; Result := False; end; end;--- 屬於那自己生命的歌 不管是什麼顏色 發表人 - hagar 於 2004/03/14 12:51:08 |
lovelypp
初階會員 發表:122 回覆:111 積分:46 註冊:2003-02-19 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
http://groups.google.com.tw/groups?hl=zh-TW&lr=&ie=UTF-8&oe=UTF-8&th=b843665603de0fc0&rnum=1
function ContainsOnlyValidFilenameChars (const s: string) : boolean; const cValidFilenameChars: tSysCharSet = ['A'..'Z', '0'..'9', 'a'..'z', . . .]; var i : integer; begin i := Length (s); while (i > 0) and (s [i] in cValidFilenameChars) do dec (i); result := (s <> '') and (i < 1); end;--- 屬於那自己生命的歌 不管是什麼顏色 |
aquarius
資深會員 發表:3 回覆:347 積分:330 註冊:2003-05-21 發送簡訊給我 |
試試這個是不是你要的
procedure TForm1.Button1Click(Sender: TObject); const sInvalid='/\?*:<>|"' ; var iRet : integer ; sFile: string ; begin sFile:=edit1.text ; iRet:=LastDelimiter(sInvalid,sFile) ; if iRet>0 then begin Caption:=format('invalid at %d',[iRet]) ; end else Caption:='Vaild file name' ; end;...Aquarius
------
水瓶男的blog: http://791909.blogspot.com |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |