2014 dxdy logo

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

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




 
 QT winapi
Сообщение27.10.2009, 19:52 
Если можете подскажиет можно ли вот это откомпилить на 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 
Аватара пользователя
Попробуйте вместо "My1" и других строк в тех местах, где ругается, писать L"My1" или "My1"L, не помню уже.

 
 
 
 Re: QT winapi
Сообщение27.10.2009, 20:39 
Прога заработала.
А что вообще это такое? Даже как то необычно

-- Вт окт 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 
Аватара пользователя
mycoding в сообщении #255642 писал(а):
А что вообще это такое? Даже как то необычно
WCHAR - это двухбайтовый символ вроде бы, вот и строки нам нужны не обычные, а длинные (Long)

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

 
 
 
 Re: QT winapi
Сообщение27.10.2009, 21:17 
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 
Ещё один вопрос возник по пользованию Qt.
В Qt Creator каждый раз при создании нового проекта предлагается создать его в Моих документах, посмотрел настройки не оплучается этот стандарт убрать , мне бы хотелось в C:\Qt-progi\ . МОжете подсказаьб как это сделать?

 
 
 
 Re: QT winapi
Сообщение10.11.2009, 20:39 
Я в настройках ненашол, наверно техто пишут QtCreator непривикли делать добрый десяток проектов в день, что обычному пользователю просто необходимо :D

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

 
 
 
 Re: QT winapi
Сообщение10.11.2009, 21:33 
Nerazumovskiy в сообщении #260620 писал(а):
P.S. кто знает а Qt вообще комуто у нас нужна, ато кроме как хобби.
На Qt написана KDE, и этим Qt уже обеспечила себе достаточное бессмертие на ближайшее время.

 
 
 
 Re: QT winapi
Сообщение10.11.2009, 23:11 
AD в сообщении #260647 писал(а):
Nerazumovskiy в сообщении #260620 писал(а):
P.S. кто знает а Qt вообще комуто у нас нужна, ато кроме как хобби.
На Qt написана KDE, и этим Qt уже обеспечила себе достаточное бессмертие на ближайшее время.

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

 
 
 [ Сообщений: 9 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group