Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.69
Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
#1

Привет World - C++

01.10.2009, 12:59. Просмотров 2074. Ответов 22
Метки нет (Все метки)

Написал 1-ый раз программу на студии 2005, в Win 32 project, программа не хочет компилится.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
#include "Dlia_API.h"
#include <windows.h>
 
int WINAPI WinMain (HINSTANCE hThisInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,
                    int nFunsterStil)
{
    MessageBox(0,"Hello world","Privet",0);
    
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2009, 12:59     Привет World
Посмотрите здесь:

Если введено слово "Привет", то вывести "Привет" - C++
Как сделать чтобы если введено слово Привет то отвечает Привет !!!

Привет всем. Прога-мини калькулятор. С++ - C++
Вводим с клавиатуры в строчку пример, состоящий из 6 цифр, ну и 5 знаков(знаки только + и *). Необходимо, чтоб действия выполнялись по...

10 раз вывести на экран слово «Привет» - C++
10 раз вывести на экран (каждый раз с новой строки) слово «Привет». Использовать цикл for.

Найти числа, кратные 5 и заменить их на слово Привет - C++
очень нужно решить задачу. завтра сдавать. Вывести массив от 1 до 50 найти числа кратные 3 и заменить их на слово Вам найти числа...

Привет всем кто нибудь подкинет код программ на С++? - C++
Просто начал осваивать даже не зная ни одного кода ну калькулятор то я написал через Dev-C++ а вот другое что нибудь я не пойму как создать...

Привет. Как можна найти с даного примера умножение элементов массива с четными номерами? - C++
#include &quot;stdafx.h&quot; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; ...

Hello world - C++
Здравствуйте при написании hello world возникает такая ошибка: error C2146: syntax error : missing ';' before identifier '_getch' ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
грязный
31 / 31 / 0
Регистрация: 15.11.2008
Сообщений: 205
01.10.2009, 13:34     Привет World #2
Цитата Сообщение от Golovastik Посмотреть сообщение
программа не хочет компилится
что пишет при этом компилятор?
Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
01.10.2009, 14:22  [ТС]     Привет World #3
Вот так заработало:

C++
1
2
3
4
5
6
7
8
#include "stdafx.h"
#include <windows.h>
int WINAPI WinMain (HINSTANCE hThisInstance,HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,int nFunsterStil)
{
    MessageBox(0,L"Привет, страна Украина",L"Информация",MB_ICONINFORMATION);
    return 0;
}
Пару уточнений
1)Скажите, зачем писать L?
2)Если не трудно,очень надо:
Напишите по слову, что означает:
Код
int WINAPI WinMain (HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil)
Меня интересует, то что в скобочках,оченб нужно. Зараннее благодарю.
Paulie
Айхрень...
306 / 174 / 4
Регистрация: 02.06.2009
Сообщений: 1,078
01.10.2009, 14:28     Привет World #4
Цитата Сообщение от Golovastik Посмотреть сообщение
Скажите, зачем писать L?
Видимо так определено в спецификациях WinAPI


Цитата Сообщение от Golovastik Посмотреть сообщение
что означает:
Код:
int WINAPI WinMain (HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFuns
Это описание функции, которая вызывается при запуске приложения, и в неё системой передаются параметры, описанные в скобках.
Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
01.10.2009, 14:34  [ТС]     Привет World #5
Напишите пожалуйста по слову, что они означают, очень надо.
R0mm
Псевдо программист
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
01.10.2009, 15:57     Привет World #6
C++
1
2
3
4
5
int WINAPI WinMain(          HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow
);

hInstance
[in] Handle to the current instance of the application.
hPrevInstance
[in] Handle to the previous instance of the application. This parameter is always NULL. If you need to detect whether another instance already exists, create a uniquely named mutex using the CreateMutex function. CreateMutex will succeed even if the mutex already exists, but the function will return ERROR_ALREADY_EXISTS. This indicates that another instance of your application exists, because it created the mutex first. However, a malicious user can create this mutex before you do and prevent your application from starting. To prevent this situation, create a randomly named mutex and store the name so that it can only be obtained by an authorized user. Alternatively, you can use a file for this purpose. To limit your application to one instance per user, create a locked file in the user's profile directory.
lpCmdLine
[in] Pointer to a null-terminated string specifying the command line for the application, excluding the program name. To retrieve the entire command line, use the GetCommandLine function.
nCmdShow
[in] Specifies how the window is to be shown. This parameter can be one of the following values.
SW_HIDE
Hides the window and activates another window.
SW_MAXIMIZE
Maximizes the specified window.
SW_MINIMIZE
Minimizes the specified window and activates the next top-level window in the Z order.
SW_RESTORE
Activates and displays the window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when restoring a minimized window.
SW_SHOW
Activates the window and displays it in its current size and position.
SW_SHOWMAXIMIZED
Activates the window and displays it as a maximized window.
SW_SHOWMINIMIZED
Activates the window and displays it as a minimized window.
SW_SHOWMINNOACTIVE
Displays the window as a minimized window. This value is similar to SW_SHOWMINIMIZED, except the window is not activated.
SW_SHOWNA
Displays the window in its current size and position. This value is similar to SW_SHOW, except the window is not activated.
SW_SHOWNOACTIVATE
Displays a window in its most recent size and position. This value is similar to SW_SHOWNORMAL, except the window is not actived.
SW_SHOWNORMAL
Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time.

Добавлено через 1 минуту
Названия параметров разные - суть та же.
Dilan
8 / 8 / 1
Регистрация: 26.09.2009
Сообщений: 65
01.10.2009, 16:21     Привет World #7
конечно кому как но я советовал-бы начать с простова например DEV C++, литературы много и проще а потом уже переходить на что-та по интересней

IMHO
Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
01.10.2009, 16:24  [ТС]     Привет World #8
дескриптор - число которое исползуется для доступа к экземпляру.
Что подразумевается под экземпляром?
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
01.10.2009, 16:32     Привет World #9
Цитата Сообщение от Golovastik Посмотреть сообщение
[B]
Пару уточнений
1)Скажите, зачем писать L?
в вашем варианте можете их убрать, а понимание того, что это такое, отложитьж на потом.

Цитата Сообщение от Golovastik Посмотреть сообщение
[B]
2)Если не трудно,очень надо:
Напишите по слову, что означает:
Код
int WINAPI WinMain (HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil)
Меня интересует, то что в скобочках,оченб нужно. Зараннее благодарю.
HINSTANCE - "хэндл" текущего экземпляра вашего приложения. "хэндл" - это по-простому что-то вроде указателя на "таблицы", описывающие какой-нибудь объект. в данном случае - текущий экземпляр вашего приложения (его можно в общем случае запустить несколько раз, и имя процесса будет везде одно и то же, а хэндлы - разные допустим, вы написали программу HelloWorld и запустили ее несколько раз. все будут так и называться, но каждый экземпляр будет иметь собственный хэндл).
первый параметр - хэндл вашего текущего экземпляра, второй - обычно нуль, но если принять меры, то получите хэндл экземпляра вашего же приложеня, запущенного раньше (если имеется)
третий параметр - командная строка
четвертый - как открывать главное окно при старте (минимизированным, максимизированным...)
Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
01.10.2009, 16:47  [ТС]     Привет World #10
1)Прочитал что дескриптор - это ссылка на объект.
HISTANCE - это дескриптор, на какой объект он ссылается:?
2) Вы говорите,что 3 парметр LPSTR lpszArgument - это командная строка,
это место можно уточнить,зачем оно,и что значит lpszArgument?
Благодарю зараннее.
R0mm
Псевдо программист
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
01.10.2009, 16:52     Привет World #11
Цитата Сообщение от Golovastik Посмотреть сообщение
lpszArgument
Вы читали что я написал?
Все же написано.
lpszArgument - указатель на строку с параметрами, переданными приложению при запуске
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
01.10.2009, 17:14     Привет World #12
Цитата Сообщение от Golovastik Посмотреть сообщение
1)Прочитал что дескриптор - это ссылка на объект.
HISTANCE - это дескриптор, на какой объект он ссылается:?
на "программу", которая как раз выполняется (на ваш хэллоуорлд).

Цитата Сообщение от Golovastik Посмотреть сообщение
2) Вы говорите,что 3 парметр LPSTR lpszArgument - это командная строка,
это место можно уточнить,зачем оно,и что значит lpszArgument?
Благодарю зараннее.
ну вдруг там параметры какие-то ожидаются?
если не нравится lpszArgument, напишите туда что угодно. "blablabla" например. визард назвал так, имея ввиду что это:
lp длинный поинтер (long pointer)
sz строчка с нулем на конце (null-terminated string, string with zero)
Argument- не знаю
R0mm
Псевдо программист
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
01.10.2009, 17:27     Привет World #13
Цитата Сообщение от Golovastik Посмотреть сообщение
lpszArgument
Вы читали что я написал?
Все же написано.
lpszArgument - указатель на строку с параметрами, переданными приложению при запуске
Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
01.10.2009, 18:19  [ТС]     Привет World #14
C++
1
lpszArgument - указатель на строку с параметрами,
То есть:
lpszArgument Указывает на вот эти 2 строки:

"Привет, страна Украина",L"Информация".

C++
1
 MessageBox(0,L"Привет, страна Украина",L"Информация",MB_ICONINFORMATION);
R0mm
Псевдо программист
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
01.10.2009, 18:34     Привет World #15
Нет.
Пример:
prog.exe -t

здесь "-t" - параметр. Хранится как строка в lpszArgument
Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
01.10.2009, 20:30  [ТС]     Привет World #16
lpszArgument - указатель на строку в которую копируются аргументы приложения, аргументы идут от функции МесагеБокс, првильно?
R0mm
Псевдо программист
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
01.10.2009, 21:53     Привет World #17
При чем здесь MessageBox?
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
02.10.2009, 00:47     Привет World #18
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdafx.h>
#include <windows.h>
 
int WINAPI WinMain (HINSTANCE hThisInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,
                    int nFunsterStil)
{
    MessageBox(0,"Hello world","Privet",0);
        
    return 0;
}
В DEV-C++ не работает... Спасите.
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
02.10.2009, 01:22     Привет World #19
Пороть вас некому. Трудно, ошибки что ли написать?
Welemir, закомментируй #include <stdafx.h>
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2009, 05:35     Привет World
Еще ссылки по теме:

Hello World! - C++
Доброго времени товарищи. Не могу никак найти тему. Где-то на этом форуме есть целая тема в которой предствалена огромная куча вариантов...

Hello, World! - C++
Добрый день. Недавно начал изучать си++. Работаю в Microsoft Visual Studio 2008. Написал такую программу: // Test.cpp : Defines the...

Hello, World! - C++
Добрый день. Купил книгу Б.Страуструпа - Принципы и практика использования С++, Напечатал первый код , при компиляции выскочили...

Hello world - C++
почему в codeblocks программа #include &lt;iostream&gt; using namespace std; int main() { cout &lt;&lt; &quot;Hello world!&quot; &lt;&lt; endl; ...

HELLO WORLD - C++
Vsem Privet:) Ranshe ya izuchil yizik PASKAL;:umnik: A tiper C++ :umnik: Na PASKALE bil nekotoriy funksiy rabota so storokami; ...


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

Или воспользуйтесь поиском по форуму:
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
02.10.2009, 05:35     Привет World #20
Цитата Сообщение от Golovastik Посмотреть сообщение
lpszArgument - указатель на строку в которую копируются аргументы приложения, аргументы идут от функции МесагеБокс, првильно?
Елки... Golovastik, ты когда нибудь думал, как, например, Word открывает файлы с расширением doc, если по ним кликнуть?
А получается это так:
ты кликаешь по файлу с расширением doc. Ну, например, "твой_документ.doc"
Windows ищет ассоциированные с расширением файла приложения и находит Word.
запускает его.
и вот тут... внимание вопрос!
откуда Word узнает, что ему нужно открыть именно этот файл?
каким образом Windows ему об этом сообщает?
здесь и используется lpszArgument.
Word является такой-же программой, как и твое helloWorld, и в качестве параметра получает строку вида "C:\твой_документ.doc"
вот на эту строку lpszArgument и указывает.
а когда параметра нет, lpszArgument указывает путь к самой запущенной программе. вроде "C:\helloworld.exe"
Yandex
Объявления
02.10.2009, 05:35     Привет World
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru