Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Silentium от Июль 06, 2012, 10:56



Название: Подскажите пожалуйста как задавать пути с пробелами для QFile
Отправлено: Silentium от Июль 06, 2012, 10:56
у нас есть переменная QString str; в ней храниться абсолютный путь к файлу. когда в пути нет спец символов и пробелов все превосходно, а когда появляются пробелы идет ошибка файл не найден. В принципе оно понятно, но стандартные методы из консоли вроде c:\новая\ папка\1.txt или "c:\новая папка\1.txt" не помогают.


Название: Re: Подскажите пожалуйста как задавать пути с пробелами для QFile
Отправлено: Пантер от Июль 06, 2012, 11:13
Код показывай.


Название: Re: Подскажите пожалуйста как задавать пути &
Отправлено: Silentium от Июль 06, 2012, 11:29
Код:
exists_files   =new QStringList; //переменная списика файлов
заполняем его базовыми данными
exists_files->append(QDir::currentPath()+QDir::separator()+".QAsoConf"+QDir::separator()+"QAso.log");
exists_files->append(QDir::currentPath()+QDir::separator()+".QAsoConf"+QDir::separator()+"QAso.queue");
exists_files->append(QDir::currentPath()+QDir::separator()+".QAsoConf"+QDir::separator()+"element_text.xml");
exists_files->append(QDir::currentPath()+QDir::separator()+".QAsoConf"+QDir::separator()+"help");
exists_files->append(QDir::currentPath()+QDir::separator()+".QAsoConf"+QDir::separator()+"about");
exists_files->append(QDir::currentPath()+QDir::separator()+".QAsoConf"+QDir::separator()+"aso.xml");
///в последствиие пользователь может менять как их захочет в основном через QFileDialog
///теперь проверяем наличие файликов
QFileInfo   *file_name      =new QFileInfo;   
    for(int i=3;i<exists_files->count();i++){
        file_name->setFile(exists_files->at(i));
        if(!file_name->exists())
            out_files+=file_name->fileName()+" ";
    }
    if (!out_files.isEmpty()){
        QMessag_Dialog *msg    =   new   QMessag_Dialog;
        out_files="file was not exists:\n"+out_files;
        msg->lb->setText(out_files);
        connect(msg->bt,SIGNAL(clicked()),SLOT(window_close()));
        connect(msg->bt,SIGNAL(clicked()),msg,SLOT(close()));
        msg->show();
        delete file_name;

    }
Все это прекрасно функционирует когда пути нормальные, но знаю любовь создавать пользвателями пути типа с:\вася пупкин[мои файлы]\ хотелось бы этого избежать


Название: Re: Подскажите пожалуйста как задавать пути с пробелами для QFile
Отправлено: Alex Custov от Июль 06, 2012, 13:01
От пробелов это не зависит. Если нужно проверять файлы с национальными символами в имени, нужно учитывать кодировку


Название: Re: Подскажите пожалуйста как задавать пути с пробелами для QFile
Отправлено: Silentium от Июль 06, 2012, 14:06
Похоже Вы правы, вопрос снимается. Спасибо