2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 QT winapi
Сообщение27.10.2009, 19:52 


31/08/09
183
Если можете подскажиет можно ли вот это откомпилить на Qt Creator у меня не получается
код: [ скачать ] [ спрятать ]
Используется синтаксис C++
#include <windows.h>
#include <windowsx.h>
#include <string.h>
#include <iostream>
using namespace std;
int main()
{
    CreateDirectory("My1",NULL);
    SetCurrentDirectory("My1");
    cout << "Directory My1 was created." << " Press Enter";
    getchar();

    CreateFile("1.txt",GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,
    CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);

    CreateFile("2.bin",GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,
    CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);

    CreateFile("3.bin",GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,
    CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);

    cout << "\nThese files were created : 1.txt, 2.bin, 3.bin." << " Press Enter";
    getchar();

    //DeleteFile("3.bin");
    if (DeleteFile("3.bin")!=0)
    cout << "File 3.bin was deleted." << " Press Enter";
    else
    cout << "Error." << " Press Enter";

    getchar();

 return 0;
}
 

выдаёт слеудющее и ещё много такоко же
Код:
cannot convert `const char*' to `const WCHAR*' for argument `1' to `BOOL CreateDirectoryW(const WCHAR*, _SECURITY_ATTRIBUTES*)'

 Профиль  
                  
 
 Re: QT winapi
Сообщение27.10.2009, 19:56 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Попробуйте вместо "My1" и других строк в тех местах, где ругается, писать L"My1" или "My1"L, не помню уже.

 Профиль  
                  
 
 Re: QT winapi
Сообщение27.10.2009, 20:39 


31/08/09
183
Прога заработала.
А что вообще это такое? Даже как то необычно

-- Вт окт 27, 2009 21:41:17 --

И ещё хотел спровить почему вот это часто не срабатывет
Код:
    //DeleteFile("3.bin");
    if (DeleteFile("3.bin")!=0)
    cout << "File 3.bin was deleted." << " Press Enter";
    else
    cout << "Error." << " Press Enter";

 Профиль  
                  
 
 Re: QT winapi
Сообщение27.10.2009, 20:55 
Заслуженный участник
Аватара пользователя


06/10/08
6422
mycoding в сообщении #255642 писал(а):
А что вообще это такое? Даже как то необычно
WCHAR - это двухбайтовый символ вроде бы, вот и строки нам нужны не обычные, а длинные (Long)

mycoding в сообщении #255642 писал(а):
И ещё хотел спровить почему вот это часто не срабатывет
В каком смысле не срабатывает?

 Профиль  
                  
 
 Re: QT winapi
Сообщение27.10.2009, 21:17 
Заслуженный участник


28/04/09
1933
mycoding
mycoding в сообщении #255642 писал(а):
И ещё хотел спросить почему вот это часто не срабатывает
Код:
    if (DeleteFile("3.bin")!=0)
    cout << "File 3.bin was deleted." << " Press Enter";
    else
    cout << "Error." << " Press Enter";

И совершенно правильно не срабатывает. CreateFile ведь не только создает файл, но и заодно его для удобства сразу же и открывает (возвращая при этом дескриптор на него; кстати, эту сомнительную ситуацию надо обрабатывать, проверкой на != INVALID_HANDLE_VALUE). Так что перед DeleteFile необходимо соответствующий файл подвергнуть CloseFile (уж простите за каламбур), в параметрах у которой фигурирует все тот же дескриптор. Вспомните, как ругается система при попытке удаления открытого файла!
P.S. Единственное, чего никак не пойму, зачем использовать такую горькую редьку, как WinAPI, при наличии в руке ароматного апельсина Qt (именно с маленькой буквы, иначе выходит маковско-эппловский QuickTime).

 Профиль  
                  
 
 Re: QT winapi
Сообщение28.10.2009, 22:29 


31/08/09
183
Ещё один вопрос возник по пользованию Qt.
В Qt Creator каждый раз при создании нового проекта предлагается создать его в Моих документах, посмотрел настройки не оплучается этот стандарт убрать , мне бы хотелось в C:\Qt-progi\ . МОжете подсказаьб как это сделать?

 Профиль  
                  
 
 Re: QT winapi
Сообщение10.11.2009, 20:39 


23/12/08
245
Украина
Я в настройках ненашол, наверно техто пишут QtCreator непривикли делать добрый десяток проектов в день, что обычному пользователю просто необходимо :D

P.S. кто знает а Qt вообще комуто у нас нужна, ато кроме как хобби.
P.P.S обожаю Qt

 Профиль  
                  
 
 Re: QT winapi
Сообщение10.11.2009, 21:33 
Экс-модератор


17/06/06
5004
Nerazumovskiy в сообщении #260620 писал(а):
P.S. кто знает а Qt вообще комуто у нас нужна, ато кроме как хобби.
На Qt написана KDE, и этим Qt уже обеспечила себе достаточное бессмертие на ближайшее время.

 Профиль  
                  
 
 Re: QT winapi
Сообщение10.11.2009, 23:11 


23/12/08
245
Украина
AD в сообщении #260647 писал(а):
Nerazumovskiy в сообщении #260620 писал(а):
P.S. кто знает а Qt вообще комуто у нас нужна, ато кроме как хобби.
На Qt написана KDE, и этим Qt уже обеспечила себе достаточное бессмертие на ближайшее время.

безсметрие это хорошо, но я вот посмотрел что если и надо комуто qt то только с неплохим опытом работы, а такой без опыта работы как к примеру на C# нету, рынок не тот.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group