_SG » 11 мар 2009, 23:38
Уважаемый All, подскажи, как в CFileDialog установить папку, откуда запущена программа? ниже код - пихал текущий путь в "имя файла".
Работает через раз и в строке "имя файла" всякая муть отображается (ну тут есть мысли как очистить, но внимательно выслушаю полезные советы и по этому поводу)
Код: Выделить всё
//получаем имя обрабатываемого файла
void CTableConvert_3Dlg::OnBnClickedButton1(){
// TODO: добавьте свой код обработчика уведомлений
char tmp1[MAX_PATH];
char tmp2[MAX_PATH];
//получаем текущую директорию и настраиваем полученную строку под этот долбанный C -
//добавляем после '\' ещё одну '\'
GetCurrentDirectory(MAX_PATH,(LPWSTR)tmp1);
// CString str((LPWSTR)(tmp));
WideCharToMultiByte(CP_ACP,WC_COMPOSITECHECK, (LPWSTR)tmp1, -1, tmp2,
sizeof(tmp2),NULL, NULL);
int i=0,j=0;
for(;tmp2[i];i++,j++){
tmp1[j]=tmp2[i];
if(tmp2[i]=='\\')tmp1[++j]='\\';
}
tmp1[j++]='\\';tmp1[j++]='\\';tmp1[j]=0;
CFileDialog ifd(TRUE,NULL, (LPCTSTR)tmp1);
ifd.DoModal();
ifile=ifd.GetFileName();
}
Уважаемый All, подскажи, как в CFileDialog установить папку, откуда запущена программа? ниже код - пихал текущий путь в "имя файла".
Работает через раз и в строке "имя файла" всякая муть отображается (ну тут есть мысли как очистить, но внимательно выслушаю полезные советы и по этому поводу)
[code]
//получаем имя обрабатываемого файла
void CTableConvert_3Dlg::OnBnClickedButton1(){
// TODO: добавьте свой код обработчика уведомлений
char tmp1[MAX_PATH];
char tmp2[MAX_PATH];
//получаем текущую директорию и настраиваем полученную строку под этот долбанный C -
//добавляем после '\' ещё одну '\'
GetCurrentDirectory(MAX_PATH,(LPWSTR)tmp1);
// CString str((LPWSTR)(tmp));
WideCharToMultiByte(CP_ACP,WC_COMPOSITECHECK, (LPWSTR)tmp1, -1, tmp2,
sizeof(tmp2),NULL, NULL);
int i=0,j=0;
for(;tmp2[i];i++,j++){
tmp1[j]=tmp2[i];
if(tmp2[i]=='\\')tmp1[++j]='\\';
}
tmp1[j++]='\\';tmp1[j++]='\\';tmp1[j]=0;
CFileDialog ifd(TRUE,NULL, (LPCTSTR)tmp1);
ifd.DoModal();
ifile=ifd.GetFileName();
}
[/code]