Russian Qt Forum
Ноябрь 25, 2024, 05:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: У меня нет QDesktopServices [Решено]  (Прочитано 6728 раз)
CJ1
Гость
« : Август 05, 2012, 09:14 »

Где взять QDesktopServices???
« Последнее редактирование: Август 06, 2012, 11:13 от CJ1 » Записан
CJ1
Гость
« Ответ #1 : Август 05, 2012, 09:21 »

Ой блин, да она переименовалась оказывается извиняюсь!
Записан
CJ1
Гость
« Ответ #2 : Август 05, 2012, 09:38 »

Теперь такая проблема, делаю так
Код
C++ (Qt)
    QString s = QDesktopServices::storageLocation(QDesktopServices::TempLocation).replace("/","\\");
 
 
 
   if (f.copy(":/new/prefix1/1111.xlsx",s+"111.xlsx"))
       QMessageBox::about(0,"","File copy: OK");
   else{
       QMessageBox::about(0,"File copy: ",f.errorString()+ ": "+s+"111.xlsx");
 
   }
 

И дает ошибку "Неизвестная ошибка"

И путь высвечивается как C:\Users\B45D~1\AppData\Local
А должен быть как  C:\Users\Теймур\AppData\Local
Записан
CJ1
Гость
« Ответ #3 : Август 05, 2012, 09:58 »

Разобрался!
Теперь пытаюсь удалить его, говорит отказанно в доступе!
Записан
CJ1
Гость
« Ответ #4 : Август 05, 2012, 10:11 »

Кто может помочь решить такой вопрос, куда в Windows 7 можно скидывать временно файлы, потом использовать их а потом удалить?
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #5 : Август 05, 2012, 10:41 »

Кто может помочь решить такой вопрос, куда в Windows 7 можно скидывать временно файлы, потом использовать их а потом удалить?
QString QDir::tempPath () [static]
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #6 : Август 05, 2012, 11:34 »

Кто может помочь решить такой вопрос, куда в Windows 7 можно скидывать временно файлы, потом использовать их а потом удалить?
QTemporaryFile
Записан
CJ1
Гость
« Ответ #7 : Август 06, 2012, 07:58 »

и ЕЩЕ МНЕ НУЖНО ЧТОБ ОРИГИНАЛЬНЫЕ ИМЕНА ФАЙЛОВ СОХРАНИЛИСЬ!
Записан
Serr500
Гость
« Ответ #8 : Август 06, 2012, 07:59 »

Что имеется в виду под оригинальными именами? Поясните вопрос.
Записан
CJ1
Гость
« Ответ #9 : Август 06, 2012, 08:05 »

Задача такова.
Есть 1000 файлов в ресурсах.
Я их должен куданибудь скинуть, потом запустить другой exe когда он закончит работать с ними, все это удалить!
Записан
CJ1
Гость
« Ответ #10 : Август 06, 2012, 08:09 »

Все ниче! После закидывания в папку темп файлов, на удаления нет доступа!
Записан
Serr500
Гость
« Ответ #11 : Август 06, 2012, 08:13 »

Получаем временный каталог методом QDir::tempPath(). Создаём там папку с произвольным именем и скидываем туда файлы. Когда они станут не нужны, папке удаляем.

Как это нет доступа? Не может такого быть! Если файл создан каким-то процессом, то этот процесс должен иметь права и на удаление. Может, флажок ReadOnly прицепился? ОС какая? Не Linux?
Записан
CJ1
Гость
« Ответ #12 : Август 06, 2012, 10:21 »

Windows 7
Записан
Serr500
Гость
« Ответ #13 : Август 06, 2012, 10:28 »

Тогда права должны быть. Может быть, порождённый процесс ещё не завершился и держит файлы?
Записан
CJ1
Гость
« Ответ #14 : Август 06, 2012, 10:38 »

Вот код
Код
C++ (Qt)
   QFile f;
   QString s = QDir::tempPath().replace("/","\\") +"\\";
 
   QDir dir(s);
   if(dir.exists()){
       QMessageBox::about(0,"Есть директория",s);
   } else{
       QMessageBox::about(0,"","Нет директория");
   }
 
   f.setFileName(":/new/prefix1/1111.xlsx");
   if(f.exists()){
       QMessageBox::about(0,"","Есть файл");
   } else{
       QMessageBox::about(0,"","Нет файл");
   }
 
 
   if (f.copy(s+"1121.xlsx"))
       QMessageBox::about(0,"","File copy: OK");
   else{
       QMessageBox::about(0,"File copy: ",f.errorString()+ ": "+s+"1121.xlsx");
 
   }
 
   f.close();
   f.setFileName(s+"1121.xlsx");
   if (f.remove() )
       QMessageBox::about(0,"","File delete: OK");
   else{
       QMessageBox::about(0,"File delete: ",f.errorString()+s+"1121.xlsx");
 
   }


При удалении, пишет, нет доступа!
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.121 секунд. Запросов: 23.