Программирование для нескольких ядер PPL

Дата: 16 August, 2014, Автор: admin_kselax

Схема параллельних потоковЗдорова Господа!

В этой статье мы разберем, что такое параллельное программирование и как может программа параллельно выполняться. Я давно хотел эту тему поднять, но все никак она мне не попадалась в книгах, а так разбирать не охота было, а сейчас дошел я до этой темы и так мы будем рассматривать библиотеку PPL.

>>>Читать далее

Концепции программирования для Windows

Дата: 9 August, 2014, Автор: admin_kselax

windowsЗдорова господа!

Решил написать статью в которой пойдет речь о том как создаются программы для windows в vusual C++ 2010.

При работе в среде разработки Visual C++ 2010 доступны три основных способа создания интерактивных приложений Windows.

  • Использование интерфейса API Windows. Это базовый интерфейс, предоставляемый операционной системой для взаимодействия с приложением, выполняющимся под ее управлением.
  • Использование классов Microsoft Foundation Classes, известных также как библиотека MFC, Это набор классов на языке С++, инкапсулирующих интерфейс API Windows.
  • Использование Windows Forms. Это основанный на формах механизм разработки для создания приложений, выполняющихся под управлением среды CLR

Эти три подхода перечислены в порядке от требующего наибольших усилий программирования до наименьших. С помощью интерфейса API Windows вы пишете абсолютно весь код, – все элементы, составляющие графический пользовательский интерфейс (GUI) >>>Читать далее

Отладка программы на C++ в visual studio 2010

Дата: 3 August, 2014, Автор: admin_kselax

Этапы написания программыЗдорова господа! Я давно уже хотел написать статью о том как пользоваться отладкой в visual studio 2010, я сам правда не сильно знаю, от поэтому и пишу статью, что б разобраться и потом если что подсмотреть как ей пользоваться.

Что такое отладка? Отладка (debugging) – это процесс нахождения ошибок и их устранения. Как видим из графика слева основное время в написании программы у программиста уходит на отладку программы ДЕБАГ. Несомненно, вы уже знаете, что отладка – неотъемлемая часть процесса программирования.

Программы, превышающие некоторый порог размера и сложности, всегда содержат ошибки, независимо от того, сколько времени и усилий было потрачено на их проверку. (Мера сложности и величина, гарантирующая наличие ошибок, не может быть определена точно, но среда разработки Visual C++ 2010 и ваша операционная система определенно подпадают под эту категорию!)

>>>Читать далее

Edit box – поля ввода однострочные и многострочные, создание простого текстового редактора в Visual Studio 2013

Дата: 19 March, 2014, Автор: admin_kselax

Array

ScreenShot 50Здорова господа!

Сегодня разберем такой графический элемент как edit box. На рисунку нарисовано поле ввода, оно похоже однострочное, от когда это поле делать многострочным то это можно считать что и есть поле для ввода текста как в редакторе, только нужно размеры задать. Можно еще полю задавать определенные размеры, от например щас напишем программку которая будет задвать полю размер из пяти букв не более, просто будет обновлять поле. Для этого есть такой параметр как EN_UPDATE. Эта штука как бы когда пользователь вводит в поле что то, то с помощью EN_UPDATE можно это что то перехватить и проверить, ну от например код:

код: »

#include <Windows.h>
#include "resource.h"

//собственная процедура для обработки
BOOL CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM);

#define MAXSIZE 5

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE
    hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    int ret=DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),
                    NULL,(DLGPROC)DlgProc);
    if (ret == 0)
    {
        //Если была нажата кнопка Отмена или крестик
        MessageBox(NULL,(LPCTSTR)"Отмена","Inform",
                   MB_OK|MB_ICONINFORMATION);
    }
    else if (ret == 1)
    {
        //Если была нажата кнопка Ок
        MessageBox(NULL,(LPCTSTR)"Ок","Inform",
                   MB_OK|MB_ICONINFORMATION);
    }

    return ret;
}

BOOL CALLBACK DlgProc(HWND hwnd, UINT msg, WPARAM wParam,
    LPARAM lParam)
{
    switch (msg)
    {
        case WM_INITDIALOG:
        {
            return FALSE;
        }
        case WM_COMMAND:
        {
            switch (LOWORD(wParam))
            {
                case IDOK:
                    EndDialog(hwnd,1);
                    return TRUE;
                case IDCANCEL:
                    EndDialog(hwnd,0);
                    return TRUE;

				//выбор поля
				case IDC_EDIT1:
				{
					switch(HIWORD(wParam))
					{
						//сразу же можно получить содержимое и обновить поле
						case EN_UPDATE:
						{
							char buf[128];
							//получить содержимое поля
							GetDlgItemText(hwnd,IDC_EDIT1,buf,sizeof(buf));
							int len=strlen(buf);
							if(len>=MAXSIZE)
							{
								buf[len-1]=0;
								//обновить содержимое поля
								SetDlgItemText(hwnd,IDC_EDIT1,buf);
							}
						}
					}
				}
            }
			break;
        }
        case WM_CLOSE:
        {
            EndDialog(hwnd,0);
            return FALSE;
        }
    }
    return FALSE;//нужно что бы вызвать функцию для прорисовки окда
    //return TRUE;//не будет вызыватся функция протисовки окна
}

Этот код не дает ввести больше 4 символов в поле ввода. >>>Читать далее

Чекбоксы и радиокнопки в visual studio 2013

Дата: , Автор: admin_kselax

Array

Здорова господа!

Сегодня поговорим о таких графических элементах управления как чекбокс и радиокнопки, мы щас просто их попытаемся разобрать на практике что это за элементы, зачем они применяются. Ну это как бы похожие элементы, чек боксы там можно галучки ставить и удалять, они как бы сами по себе. Радиокнопки они групируются, ну например если 3 элемента допустим сгрупированы, то там можно выбрать из трех элементов только один.

А да ребятки еще поговорим про рисование горизонтальных линий, ну давайте начнем с горизонтальных линий, как же они рисуются? А все очень просто, мы просто добавляем элемент static text и уменьшаем его размер в файле с расширением .rc  например в нотпаде открываем и редактируем элементы. Добавляем для начала два элемента static text и в них рисуем букву i просто заполняем буквой i  как на рисунке ниже.ScreenShot 9

>>>Читать далее

База данных (телефонная книга).

Дата: 16 March, 2014, Автор: admin_kselax

Здорова господа!

Щас читаю книгу одну по С++, “программирование для windows на С/С++”, пытаюсь ГУИ разбирать и там есть пример базы данных телефонных номеров с графическим интерфейсом, ну от я решил попытаться повторить то что там написано, просто сделать свою прогу.  Там ничо вроде сложного нету, одно диалоговое окно, пять кнопок всего лишь, и 2 поля и одно поле список, это значит нам нужно обрабатывать 7 событий, одно поле оно будет использоваться для вывода. Хотел раньше ее сделать, но как то времени не было, в общем начинаем делать. Я тут все опишу и со скриншотами и реальным кодом этой проги, а ниже будет ссылка на скачивания exe – файла, так что можно даже будет ее протестировать. Ну все вперед.

Это кстати мое первое оконное приложение для виндовс, самое большое.

ScreenShot 32

>>>Читать далее

visual C++, создание диалоговых окон.

Дата: 13 December, 2013, Автор: admin_kselax

Array

visual C++, создание диалоговых окон, описывается создание диалоговых окон, типы программ и саом описание кода, как он работает и что в нем происходит. >>> Читать полностью

Создание и использование динамических библиотек .dll в visual studio.

Дата: 8 December, 2013, Автор: admin_kselax

Array

Здорова господа!!!

Мы рассмотрим такой вид подключаемых библиотек таких как .dll это типо динамические библиотеки, если код из статических либ добавлялся в сам exe файл и после компиляции программы программа работала без этой библиотеки, то .dll нужно что бы был рядом с исполняемым файлом. Я сам недавно с ними познакомился и только знаю как их создавать и подключать. Считается вроде как эти либы типо как то экономят оперативную помять компьютера ну что то вроде этого, я читал так и не понял, ну это в принципе не сильно важно для новичков, а важно это как их создавать и как использовать. >>>Читать далее

Создание и использование статических библиотек .lib в visual studio.

Дата: , Автор: admin_kselax

Array

Здорова господа!!! Мы знаем что существует два вида библиотек статические .lib и динамические .dll, от как раз в этом посту попытаюсь рассказать за статическую lib они обычно имеют большой размер и  функции из этой библиотеки вроде как переноситься в сам exe файл, ее вроде раз к проекту подключаешь, а дальше уже с самим exe файлом ее портировать не нужно. >>>Читать далее