맨날 TOpenDialog로 코딩할때 이런식으로 했었다.
혹시나 사용자가 이름을 막 넣을 수도 있기 때문에 파일이 있는지 꼭 확인하곤 했었다.
사람이 머리가 나쁘면 손발이 고생이고
프로그래머가 머리가 나쁘면 코딩량이 늘어난다. ㅠ.ㅜ
TOpenDialog의 Property를 보면 Options라는 집합 프로퍼티가 보인다.
주황색 부분은 무슨 내용인지 확인 불가.
뭐 크게 필요하지는 않은 옵션같다.
TOpenDialog는 기본으로 ofHideReadOnly, ofEnableIncludeNotify 옵션이 켜져있다.
MSDN에 관련 내용이 더 있으니 확인하면 된다.
http://msdn.microsoft.com/en-us/library/ms646839%28VS.85%29.aspx
CFileDialog 도움말
http://msdn.microsoft.com/en-us/library/43xtah3y.aspx
혹시나 사용자가 이름을 막 넣을 수도 있기 때문에 파일이 있는지 꼭 확인하곤 했었다.
if OpenDialog1.Execute then
begin
if FileExists(OpenDialog1.FileName) then
begin
// Todo...
begin
if FileExists(OpenDialog1.FileName) then
begin
// Todo...
end;
end;
end;
사람이 머리가 나쁘면 손발이 고생이고
프로그래머가 머리가 나쁘면 코딩량이 늘어난다. ㅠ.ㅜ
TOpenDialog의 Property를 보면 Options라는 집합 프로퍼티가 보인다.
ofReadOnly |
Causes the Read Only check box to be selected initially when the dialog box is created. This flag indicates the state of the Read Only check box when the dialog box is closed. |
ofOverwritePrompt | 덮어쓰기 할것인지 확인한다. Save as 다이얼로그에서 이용한다. |
ofHideReadOnly | 읽기 전용 체크박스를 숨긴다. 동작 확인 불가 |
ofNoChangeDir | 사용자가 다를 폴더를 탐색하더라도 current directory가 변경되지 않도록 원래의 값으로 복원한다. |
ofShowHelp | 도움말 버튼이 보이도록 한다. |
ofNoValidate | 파일명이 시스템에 유효한 파일명인지 검사하지 않는다. |
ofAllowMultiSelect | 여러개의 파일을 선택할수 있도록 한다. Files 프로퍼티에 선택한 파일명이 넘어온다. |
ofExtensionDifferent | Specifies that the user typed a file name extension that differs from
the extension specified by lpstrDefExt.
The function does not use this flag if lpstrDefExt
is NULL. 무슨 말인지 모르겠다 -_-; |
ofPathMustExist | 폴더가 반드시 존재해야 한다. |
ofFileMustExist | 파일이 반드시 존재해야 한다. 파일이 없는 경우는 경고 메시지가 출력된다. 이 플래그가 활성화되면 ofPathMustExist도 활성화된다. |
ofCreatePrompt | 사용자가 입력한 파일명이 존재하지 않는 경우 생성할 것인지 물어보는 다이얼로그를 띄운다. |
ofShareAware | Specifies that if a call to the OpenFile function fails because of a network sharing violation, the error is ignored and the dialog box returns the selected file name. If this flag is not set, the dialog box notifies your hook procedure when a network sharing violation occurs for the file name specified by the user. If you set the OFN_EXPLORER flag, the dialog box sends the CDN_SHAREVIOLATION message to the hook procedure. If you do not set OFN_EXPLORER, the dialog box sends the SHAREVISTRING registered message to the hook procedure. |
ofNoReadOnlyReturn | 파일을 포함하고 있는 폴더가 읽기전용이거나 읽기 전용 파일을 반환하지 않도록 한다. |
ofNoTestFileCreate | 다이얼로그가 닫히기 전에 파일이 생성되지 않도록 한다. |
ofNoNetworkButton | Network 버튼을 숨긴다. |
ofNoLongNames | 8.3의 옛날 스타일로 보이게 한다. ofOldStyleDialog가 설정되어 있어야 한다. |
ofOldStyleDialog | 다이얼로그가 고전 스타일로 보이도록 한다. |
ofNoDereferenceLinks | 바로가기 파일(.LNK)의 원래 경로를 받을 수 있도록 한다. |
ofEnableIncludeNotify | 폴더를 열었을때 CDN_INCLUDEITEM을 보낼것인지 설정한다. (델파이에는 OFN_ENABLEHOOK을 설정하는 옵션이 없는데 어떻게 사용할수 있는지는 모르겠음.) |
ofEnableSizing | 다이얼로그 사이즈 변경 가능하도록 한다. |
ofDontAddToRecent | 선택한 파일이 CSIDL_RECENT 즉 최근 폴더에 추가되지 않도록 한다. |
ofForceShowHidden |
hidden, system 파일을 보여준다. 주의 : 파일이 hidden과 system 속성을 모두 가지고 있다면 보이지 않는다. |
주황색 부분은 무슨 내용인지 확인 불가.
뭐 크게 필요하지는 않은 옵션같다.
TOpenDialog는 기본으로 ofHideReadOnly, ofEnableIncludeNotify 옵션이 켜져있다.
MSDN에 관련 내용이 더 있으니 확인하면 된다.
http://msdn.microsoft.com/en-us/library/ms646839%28VS.85%29.aspx
CFileDialog 도움말
http://msdn.microsoft.com/en-us/library/43xtah3y.aspx
'Programming > Delphi' 카테고리의 다른 글
[Delphi] TDictionary, TObjectDictionary 사용 완료후 아이템 메모리 해제 (2) | 2011.02.17 |
---|---|
[Delphi] Secondary 모니터에서 Border가 bsNone인 폼 최대화시 문제 (4) | 2011.01.01 |
Delphi - TArray<T>의 Sort 및 BinarySearch (2) | 2010.02.22 |
Delphi - class의 private, protected에 strict를 추가해보자. (4) | 2010.01.29 |
Delphi - 클래스 내에 const 사용하기 (0) | 2010.01.27 |