diff options
Diffstat (limited to 'utilities.cpp')
-rw-r--r-- | utilities.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/utilities.cpp b/utilities.cpp index 5b4ac3a..f8ea696 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -76,3 +76,28 @@ char *date() d[9]=tmp[5]; return d; } + +void GetFilePath(TCHAR *WindowTittle, char *szSetting, TCHAR *szExt, TCHAR *szExtDesc) +{ + TCHAR str[MAX_PATH+2] = {0}; + OPENFILENAME ofn={0}; + TCHAR filter[512], *pfilter; + ofn.lStructSize=CDSIZEOF_STRUCT(OPENFILENAME,lpTemplateName); + ofn.Flags=OFN_EXPLORER; + ofn.lpstrTitle=TranslateW(WindowTittle); + _tcscpy(filter,TranslateW(szExtDesc)); + pfilter=filter+_tcslen(filter)+1; + _tcscpy(pfilter, szExt); + pfilter[_tcslen(pfilter)+1] = '\0'; + pfilter[_tcslen(pfilter)+2] = '\0'; + ofn.lpstrFilter=filter; + _tcscpy(str, UniGetContactSettingUtf(0, szModuleName, szSetting, _T(""))); + if(_tcslen(str)< 2) + str[0] = '\0'; + ofn.lpstrFile=str; + ofn.nMaxFile=_MAX_PATH; + ofn.nMaxFileTitle=MAX_PATH; + if(!GetOpenFileName(&ofn)) + return; + DBWriteContactSettingTString(0, szModuleName, szSetting, str); +} |