С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.59/54: Рейтинг темы: голосов - 54, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 13

Hello world в Visual Studio 2008 на C++

15.04.2009, 11:11. Показов 11448. Ответов 45
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! На сколько я понимаю, книг по ВС 2008 в инете пока еще нет ... по крайней мере дедушка гугл не спас в этот раз. Но желание разобраться в самой простейшей программке, чтоб хоть что-то понять в ВС 2008, хотелось бы проконсультироваться, а вернее попросить помощи в написании программки - "Hellow World", только не в консольном варианте .
Спасибо и с уважением. Айвенго
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.04.2009, 11:11
Ответы с готовыми решениями:

Отличие сборок Visual Studio 2008 от Visual Studio 2010
Здравствуйте, товарищи! Пытаюсь собрать библиотеку libvbucket, используя Visual Studio 2008. Проблема в том, что библиотека...

Вылетает Visual Studio 2008 из-за системы управления версиями Microsoft Visual SourceSafe.
Всем здравствуйте. Недавно установил VS 2008 sp1 rus. Хочу создать проект на VC++ (делаю всё подобно как в VS 6.0). Файл - Создать...

Visual c++ 6, Studio 2005 или studio 2008????
Visual c++ 6, Studio 2005 или studio 2008???? Есть ли большая разница? Что лучше? 2008 записывал, глючиная показалась. Склоняюсь к...

45
 Аватар для Mecid
683 / 232 / 16
Регистрация: 15.10.2007
Сообщений: 1,246
21.04.2009, 16:08
Студворк — интернет-сервис помощи студентам
еще раз для тех кто в бронепоезде,если ты подключаешь СТД следовательно пишешь на С++ то никакие Н не нужны
0
 Аватар для kazak
3601 / 2742 / 355
Регистрация: 11.03.2009
Сообщений: 6,300
21.04.2009, 16:28
Спасибо, разобрался.
0
нубик программист)
 Аватар для Мегатрон
96 / 10 / 0
Регистрация: 04.06.2008
Сообщений: 348
21.04.2009, 16:56
а пишут пример требуется на работу программист С++ это что он обязано в Visual C++ шпарить
0
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 13
23.04.2009, 13:12  [ТС]
Вот и все дела, вот код, может кому пригодится ...
Для WinApi - нужно создать проект Win32 project->Empty project и вставить в него этот код

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <Windows.h>
 
/*Сегмент данных*/
CHAR                wName[]             ="App";
CHAR                cName[]             ="Windowsclass";    
CHAR                lpszAppName[]       ="Application";
static HWND         hButton         = NULL;
HINSTANCE           hInstance;
HWND                hwnd;
 
/*Конец сегмента данных*/
/*Сегмент кода*/
 
LRESULT CALLBACK MainWinProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch(msg)
    {
    case WM_PAINT:
        break;
    case WM_CREATE:
        {
            hButton = CreateWindowEx( 
                WS_EX_WINDOWEDGE, 
                "BUTTON", 
                "Кнопка",
                BS_PUSHBUTTON | 
                BS_TEXT | 
                WS_CHILD | 
                WS_VISIBLE,
                100, 25, 100, 25,
                hwnd, 
                NULL,
                hInstance, 
                NULL );
        }
        break;
    case WM_COMMAND :
        {
            switch( LOWORD( wParam ) )
            {
            case BN_CLICKED:
                {   
                    if(lParam == (LPARAM)hButton)
                    {
                        MessageBox(hwnd, "Hello, World!!!", "Message", MB_OK);
                    }
                }
                break;
            }
        }
        break;
    case WM_DESTROY:
        {
            PostQuitMessage(0);         
            return 0;
        }
        break;
    }
    return (DefWindowProc(hwnd, msg, wParam, lParam));
}
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
    WNDCLASSEX  windowsclass;
    HWND        hwnd;
    MSG         msg;
 
    windowsclass.cbSize         = sizeof(windowsclass);
    windowsclass.style          = CS_VREDRAW | CS_HREDRAW | CS_OWNDC;   
    windowsclass.lpfnWndProc    = MainWinProc;
    windowsclass.cbClsExtra     = 0;
    windowsclass.cbWndExtra     = 0;
    windowsclass.hInstance      = hInstance;
    windowsclass.hIcon          = LoadIcon(NULL, IDI_APPLICATION);  
    windowsclass.hCursor        = LoadCursor(NULL, IDC_ARROW);
    windowsclass.hbrBackground  = (HBRUSH)GetStockObject(LTGRAY_BRUSH); 
    windowsclass.lpszMenuName   = NULL;
    windowsclass.lpszClassName  = cName;
    windowsclass.hIconSm        = LoadIcon(NULL, IDI_APPLICATION);
 
    RegisterClassEx(&windowsclass);
 
    hwnd = CreateWindowEx(WS_EX_OVERLAPPEDWINDOW, 
        cName, 
        wName, 
        WS_OVERLAPPEDWINDOW | WS_VISIBLE, 
        100, 100, 300, 200, 
        NULL, 
        NULL, 
        hInstance, 
        NULL);
 
    ShowWindow(hwnd, nShowCmd);
    UpdateWindow(hwnd);
 
    while(GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return(msg.wParam);
}
/*Конец сегмента кода*/
Но, чтобы код заработал, нужно отключить кодировку ЮНИКОД и поставить ANSI.
Project->Properties->Configuration properties->Character Set->Use Multi-Byte Character Set.
0
PB
23.04.2009, 13:23

Не по теме:

Язык Си довольно мощный (круче тока асм) с этим я не спорю, но для написания прог на нём нужно много "долбить" по клаве, да и API хорошо знать.
Вот пример аналогичной проги, тока на барсике.
Всё просто, понятно и коротко

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
; Создаём окно.
  OpenWindow(1,0,0,200,100,"Заголовок окна",#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
  CreateGadgetList( WindowID(1) ) ; Создаём пустой список гаджетов.
  ButtonGadget(2,50,30,80,25,"Кнопка")
  
  Repeat ; Начало главного цикла.
   Event=WaitWindowEvent() ; Получаем идентификатор события.
   Gadget=EventGadget() ; Узнаём идентификатор активного гаджета.
    If Event=#PB_Event_Gadget And Gadget=2 ; Условие будет выполнено при щелчке по кнопке.
     MessageRequester("Сообщение","Была нажата кнопка") ; Выводим на экран сообщение.
    EndIf 
  Until Event = #PB_Event_CloseWindow ; Прерываем цикл при закрытии окна
  
  End ; Директива, завершающая программу.
Дя и проект как таковой создавать не нужно, просто кидаем код в редактор и компилируем

0
Maniac
Эксперт С++
 Аватар для ISergey
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
23.04.2009, 13:31
Лучше так делать. и небудет проблем с ЮНИКОДОМ
C++
1
2
3
TCHAR szAppName[] = TEXT ("Application");
...........
MessageBox(hwnd,TEXT("Hello, World!!!"), TEXT("Message"), MB_OK);
Добавлено через 2 минуты 46 секунд
PB, На барсик переманиваете программеров С++.?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
23.04.2009, 13:35
Неа, просто показал простые проги на бейсике писать проще...
0
Maniac
Эксперт С++
 Аватар для ISergey
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
23.04.2009, 13:46
Ну знаете, при использовании всяких быблиотек, то на С++ кода меньше.
C++
1
2
3
4
5
6
7
8
9
10
11
12
 #include <QApplication>
 #include <QPushButton>
 
 int main(int argc, char *argv[])
 {
     QApplication app(argc, argv);
 
     QPushButton hello("Hello world!");
 
     hello.show();
     return app.exec();
 }
0
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 13
23.04.2009, 13:47  [ТС]
Цитата Сообщение от ISergey Посмотреть сообщение
Ну знаете, при использовании всяких быблиотек, то на С++ кода меньше.
Эти библиотеки видать надо устанавливать, а где их взять можно?
0
Maniac
Эксперт С++
 Аватар для ISergey
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
23.04.2009, 13:55
Цитата Сообщение от Ayvengo Посмотреть сообщение
Эти библиотеки видать надо устанавливать
угу
Цитата Сообщение от Ayvengo Посмотреть сообщение
а где их взять можно?
здесь
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
24.04.2009, 20:49
Итак, товарищи, подведу итоги.
Язык С++ везде один, хоть Вы пишите консольное приложение, хоть MFC Application, хоть Win32 Application.
Просто при написании консольного приложения Вы используете, стандартные потоки ввода вывода (cin, cout, ...), контейнеры (vector, list, ...) из STL (Standart Template Library - стандартная библиотека шаблонов), которая представлена такими заголовочными файлами как: iostream, fstream, iomanip, vector и т.д..
При написании Win32 Application Вы используете Win32API (Win32 Application Interface - программный интерфейс ОС Windows) функции (RegisterWindowClass, FindFirstFile, ... ) и типы (HANDLE, DWORD, ...), которые представлены такими заголовочными файлами как: windows.h, winbase.h и т.д..
При написании MFC Application Вы используете библиотеку MFC (Microsoft Foundation Classes - набор базовых классов Microsoft), которая фактически является надстройкой над Win32API и облегчает разработку GUI-приложений и представлена такими заголовочными файлами как: afxwin.h, afxext.h и т.д..

Также можно использовать другие библиотеки облегчающие разработку GUI-приложений (в C++ Builder используется библиотека VCL).

Язык C++ один, а библиотек облегчающих жизнь программистам много.
0
нубик программист)
 Аватар для Мегатрон
96 / 10 / 0
Регистрация: 04.06.2008
Сообщений: 348
25.04.2009, 02:14
Язык C++ один, а библиотек облегчающих жизнь программистам много.
ну а
if while for
struct
class

одинаково везде
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
25.04.2009, 09:23
Цитата Сообщение от Мегатрон Посмотреть сообщение
ну а
if while for
struct
class

одинаково везде
Дак я о чем и говорю:
Фундаментальные типы (int, bool, char, ...), циклы (for, while, do...while), структурные типы (struct, union, class) везде одни, если Вы пишите на C++.
0
нубик программист)
 Аватар для Мегатрон
96 / 10 / 0
Регистрация: 04.06.2008
Сообщений: 348
25.04.2009, 12:18
а пачему то в этой книге нерассказывают о том как пишут глобальную программу(тока короткие консольки) ну типо как написать операционку
как там с чего начать вабще с чего такие программы состоят
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
25.04.2009, 13:18
Ну операционка это не одна большая программа, а несколько сотен, а может и тысяч программок помельче, которые взаимодействуют между собой.
ОСь ведь состоит из множества драйверов, DLLок и т. д.
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
25.04.2009, 13:50
Цитата Сообщение от Мегатрон Посмотреть сообщение
а пачему то в этой книге нерассказывают о том как пишут глобальную программу(тока короткие консольки) ну типо как написать операционку
как там с чего начать вабще с чего такие программы состоят
Потому что книга будет нереально большой. Представь программу в 10000 строк, при этом порой одна строка кода требует не один абзац объяснения, что и как в ней происходит. Как тебе такая книга? Плюс большие программы разрабатываются с использованием сразу нескольких технологий/библиотек (например MFC+STL+ATL+XML+TCP/IP), каждая из которых заслуживает отдельного объяснения.
Так что в крайнем случае потребуется не один том, чтобы сначала познакомить читателя с технологиями, используемыми в рассматриваемом приложении, а затем не один том чтоб объяснить как эти технологии в этом приложении используются и вообще как оно спроектировано.
0
 Аватар для kazak
3601 / 2742 / 355
Регистрация: 11.03.2009
Сообщений: 6,300
25.04.2009, 15:24
Цитата Сообщение от Мегатрон Посмотреть сообщение
а пачему то в этой книге нерассказывают о том как пишут глобальную программу(тока короткие консольки) ну типо как написать операционку
как там с чего начать вабще с чего такие программы состоят
Э.Таненбаум "Современные операционные системы" для общего развития и Э.Таненбаум "Операционные системы. Разработка и реализация" для написания. Ко второй книге прилагается CD(если в оригинале, если нет, то качаешь на сайте) с учебным пособием под названием MINIX с исходниками(правда на С, если память не изменяет).
Практикуйся.
0
нубик программист)
 Аватар для Мегатрон
96 / 10 / 0
Регистрация: 04.06.2008
Сообщений: 348
25.04.2009, 16:51
Потому что книга будет нереально большой. Представь программу в 10000 строк, при этом порой одна строка кода требует не один абзац объяснения, что и как в ней происходит. Как тебе такая книга? Плюс большие программы разрабатываются с использованием сразу нескольких технологий/библиотек (например MFC+STL+ATL+XML+TCP/IP), каждая из которых заслуживает отдельного объяснения.
Так что в крайнем случае потребуется не один том, чтобы сначала познакомить читателя с технологиями, используемыми в рассматриваемом приложении, а затем не один том чтоб объяснить как эти технологии в этом приложении используются и вообще как оно спроектировано.
и что это все должны знать программитсы
0
Maniac
Эксперт С++
 Аватар для ISergey
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
25.04.2009, 17:07
Цитата Сообщение от Мегатрон Посмотреть сообщение
и что это все должны знать программитсы
Знать все не нужно. Нужно уметь во всем быстро разобратся
0
нубик программист)
 Аватар для Мегатрон
96 / 10 / 0
Регистрация: 04.06.2008
Сообщений: 348
25.04.2009, 18:43
Знать все не нужно. Нужно уметь во всем быстро разобратся
но приорететней на 1 месте это знание языка или нет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.04.2009, 18:43
Помогаю со студенческими работами здесь

Visual Studio 2008
Здравствуйте! Господа, подскажите пожалуйста, существуют ли бесплатные версии VS. И если существуют, то откуда их можно скачать?

Visual Studio 2008 Sp1
подскажите на каком торент трекере можно скачать этот пакет обновлений, а то скорость интернета не высокая обнавляться 7 часов будет

gotoxy() в Visual Studio 2008 C++
Всем доброго времени суток!:)Не как не могу найти реализацию функции gotoxy() в Visual Studio 2008 C++. Находил на этом форуме много...

Visual Studio 2008 и окна
Всем привет. Хотел спросить, существуют ли средства разработки оконных приложений как Windows Forms\MFС, но без .NET, т.к. он требует...

Особенность visual studio 2008
Project - Options - VC++ Directories - в visual studio 2010 он присутствует, а в vs 2008 этого пункта нет. Может быть, он находится в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Закрытая тема Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru