3025

Типы данных Windows

Лекция

Информатика, кибернетика и программирование

Типы данных Windows. Типы данных Исходные тексты любого приложения Windows должны включать файл windows. Этот файл содержит большое количество определений типов данных, макросов, прототипов и так далее. Для создания переносимых приложений в люб...

Русский

2012-10-23

194 KB

7 чел.

Типы данных Windows.

3.1 Типы данных

Исходные тексты любого приложения Windows должны включать файл windows.h

Этот файл содержит большое количество определений типов данных, макросов, прототипов и так далее. Для создания переносимых приложений в любую среду, поддерживающую Windows, необходимо пользоваться не стандартными типами данных предоставляемых языком программирования, а данными, определенными в файле windows.h

В следующей таблице представлено подавляющее большинство типов данных описанных в файле windows.h.

(Дескриптор, паспорт - программно или аппаратно-поддерживаемая структура данных, описывающая другую

структуру).

Тип

Значение

ATOM

atom (ссылка на символьную строку в таблице атома).

BOOL

Булева переменная (может принимать значения TRUE или FALSE).

BYTE

Байт (8 битов).

CCHAR

символ Windows.

CHAR

Символ Windows.

COLORREF

Красный, зеленый, синий. Значения (RGB) цвета (32 бита).

CONST

Константа.

DLGPROC

Указатель, на определенную в приложении, процедуру вызова диалога.

DWORD

Двойное слово (32 бита).

DWORDLONG

Двойной (64 бита).

FARPROC

Указатель на функцию.

FLOAT

Переменная с плавающей запятой.

GLOBALHANDLE

Ссылка на глобальный блок памяти.

HACCEL

Дескриптор таблицы акселераторов.

HANDLE

Дескриптор объекта.

HB1TMAP

Дескриптор растра.

HBRUSH

Дескриптор кисти.

HCURSOR

Дескриптор курсора.

HDC

Дескриптор контекста устройства (DC).

HDWP

Дескриптор структуры определяющей положение окна.

HENHMETAFILE

Дескриптор расширенного метафайла.

HFILE

Дескриптор файла.

HFONT

Дескриптор шрифта.

HGDIOBJ

Дескриптор GDI объекта.

HGLOBAL

Дескриптор глобального блока памяти.

HICON

Дескриптор иконки.

HINSTANCE

Дескриптор образца. '

HKEY

Дескриптор клавиши.

HLOCAL

Дескриптор локального блока памяти.

HMENU

Дескриптор меню.

Н МЕТА FILE

Дескриптор метафайла.

HMODULE

Дескриптор модуля.

HPALETTE

Дескриптор палитры.

HPEN

Дескриптор пера.

HRSRC

Дескриптор ресурса.

HWND

Дескриптор окна

INT

Целое число со знаком.

LOCALHANDLE

Дескриптор локального блока памяти.

LONG

32-разрядное знаковое целое.

LONGLONG

Переменная с плавающей точкой двойной длинны (64 бита).

LPARAM

32-разрядный параметр сообщения.

LPBOOL

Указатель на Булеву переменную.

LPBYTE

Указатель на байт.

LPCCH

Указатель на постоянный символ Windows.

LPCH

Указатель на символ Windows.

LPCOLORREF

Указатель на значение COLORREF.

LPCSTR

Указатель на постоянную строку символов Windows с нулевым символом в конце.

LPCTSTR

Указатель на постоянную строку Unicode с нулевым символом в конце или строку символов

Windows

LPDWORD

Указатель на двойное слово без знака (32 бита).

LPHANDLE

Дескриптор.

LPINT

Указатель на целое число со знаком.

LPLONG

Указатель на знаковое целое размером (32 бита).

LPSTR

Указатель на строку символа Windows с нулевым символом в конце.

LPTCH

Указатель на символ Unicode или символ Windows.

LRESULT

Результат обработки сообщения, со знаком.

LPV01D

Указатель на любой тип.

LPWORD

Указатель на слово без знака (16 битов).

LPWSTR

Указатель на символьную строку Unicode с нулевым символом в конце.

PBOOL

Указатель на Булеву переменную. ' , -

PBYTE

Указатель на байт.

PCCH

Указатель на постоянный символ Windows.

PCHAR

Указатель на символ Windows.

PCSTR

Указатель на постоянную строку символов Windows с нулевым символом в конце.

PDWORD

Указатель на двойное слово без знака (32 бита).

PFLOAT

Указатель на переменную с плавающей запятой.

PFNCALLBACK

Указатель на функцию.

PHANDLE

Указатель на идентификатор

PINT

Указатель на целое число со знаком.

PLONG

Указатель на знаковое целое длинной (32 бита).

PROC

Указатель на функцию.

PSHORT

Указатель на знаковое целое длинной (16 битов).

PSTR

Указатель на строку символов Windows с нулевым символом в конце.

PTBYTE

Указатель на символ Windows или Unicode.

PTCH

Указатель на символ Windows или Unicode.

PTCHAR

Указатель на символ Windows или Unicode.

PTSTR

Указатель на символьную строку Windows или Unicode с нулевым символом в конце.

PUCHAR

Указатель на символ Windows без знака.

PDINT

Указатель на целое число без знака.

PULONG

Указатель на беззнаковое целое длинной (32 бита).

PUSHORT

Указатель на беззнаковое целое длинной (16 битов).

PV01D

Указатель на любой тип.

PWORD

Указатель на слово без знака (16 битов).

PWSTR

Указатель на символьную строку Unicode с нулевым символом в конце.

SHORT

Короткое целое число.

SPHANDLE

Идентификатор.

TCHAR

Символ Unicode или Windows.

TIMERPROC

Указатель на определенную приложением функцию вызова таймера.

UCHAR

Символ Windows без знака.

UCHAR

UINT

ULONG

USHORT

VOID

WCHAR WNDENUMPROC WNDPROC

WORD

WPARAM

Символ Windows без знака.

Целое число без знака.

Длинное целое число без знака (32 бита).

Целое число без знака (16 битов).

Любой тин,

Символ Unicode.

Указатель на определенную в приложении функцию, которая перечисляет окна.

Указатель на определенную к приложении процедуру окна.

Слово без знака (16 битов).

32-разрядый параметр сообщения.

Имена типов как правило начинаются с префикса

•      LP (Long Pointer) - дальний указатель

•      NP (Near Pointer) - ближний указатель

•      Р (Pointer)      -указатель без определения типа

•     Для константных типов (определенных с ключевым словом CONST) после префикса добавляется буква "С", например LPCSTR.

3.2 Имена переменных

Огромное количество типов данных обычно присутствующих в приложениях Windows, будет приводить к вполне серьезным трудностям для программистов. Чтобы свести их к минимуму следует пользоваться венгерской формой записи переменных, которая предполагает наличие перед каждой переменной определенного префикса. Фирма Microsoft рекомендует к использованию следующие префиксы:

Префикс

Тип данных

Префикс

Тип Аицчых

Atm

ATOM

hwnd

HWND

F

BOOL

n

INT

b

BYTE

|

LONG

digprc

DLGPROC

IParam

LPARAM

dw

DWORD

Ipb

LPBYTE

hacci

HACCEL

Ipsz

LPCSTR

hbm

HBITMAP

Ipn

LP1NT

hbr

HBRUSH

Ipl

LPLONG

hcur

HCURSOR

Ipzs

LPSTR

hdc

HDC

Ipv

LPVOID

hdrv

HDRVR

tpw

LPWORD

hdwp

HDWP

IRczult

LREZULT

hf

HFILE

npsz

NPSTR

hfont

HFONT

npb

PBYTE

hgdiobj

HCDiOBJ

tmprc

TIMERPROC

hgib

HGLOBAL

u

DINT

hicon

mcon

wndcnmprc

WNDENUMPROC

hinst

H1NSTANCE

wndprc

WNDPROC

bloc

HLOCAL

u или w

WORD

hmcnu

HMENU

wParam

WPARAM

hmf

H METAFILE

hpcn

HPEN

hmod

HMODULE

hrgn

HRGN

Hkprc

HOOKPROC

hrstr

HRSTR

Hpal

HPALETTE

htask

HTASK

Структура простейшего оконного приложения Windows

Как правило, программы, написанные для Windows, используют окна для организации пользовательского интерфейса. Из этого правила могут быть исключения, но в подавляющем большинстве случаев программисту приходится работать с окнами.

Основой оконного графического пользовательского интерфейса Windows является механизм сообщений. Сообщения могут передаваться оконной процедуре немедленно, а могут помещаться в очередь сообщений.

При запуске вашего приложения, Windows создаёт для него очередь сообщений. Очередь сообщений создаётся для каждого потока (thread), но в самом простейшем случае создаётся одна очередь.

При любом действии с окном (изменение размеров и т.д.) Windows помещает в очередь соответствующее сообщение. Формат сообщения соответствует структуре MSG.

Приложение само обслуживает свою частную очередь сообщений. Это осуществляется в цикле. Обнаружив сообщение, с помощью специальной функции GetMessage, приложение с помощью другой специальной функции Dis-patchMessage распределяет его нужной функции окна, которая и выполняет обработку сообщения. После обработки сообщения приложение вновь возвращается к опросу собственной очереди.

Windows - мультизадачная OS, поэтому в ней предусмотрен механизм совместного использования таких ресурсов, как мышь и клавиатура. Так как все сообщения попадают в первичную входную очередь, должен существовать способ распределения этих сообщений между различными приложениями. В Windows существует понятие фокуса ввода (input focus), помогающее  распределять сообщения.

Фокус ввода, в любой момент времени может принадлежать только одному окну. Если окно имеет фокус ввода, то все клавиатурные сообщения попадают из системной очереди в окно владеющего фокусом ввода. Нажимая определенные клавиши (например Tab) можно перемещать фокус ввода между окнами. Если эти окна являются кнопками, то окно (кнопка) имеющее фокус ввода помечается пунктиром.

Сообщение от мыши всегда передаются тому окну, над которым находиться курсор мыши.

Простейший вариант цикла обработки сообщений выглядит так:

MSG msg;

while (GetMessage (&msg, 0, 0, 0))

{

DispatchMessage ( &msg);

}

Функция GetMessage служит для приема сообщений msg (message) из частных очередей сообщений. Функция DispatchMessage распределяет сообщения между окнами приложения. Этих окон может быть много, в том числе и различные кнопки, которые, как мы уже отмечали, представляют собой ни что иное, как окна.

Завершается цикл обработки сообщений при выборке из очереди специального сообщения, означающего завершение работы пользователя с приложением, в ответ, на которое функция GetMessage возвращает нуль. Процесс обработки сообщений выглядит так, как показано на рис. 4,1 :

Перед завершением обработки сообщения WM_PAINT приложение должно обязательно вызвать функцию            EndPaint, освобождающую полученный ранее контекст отображения устройства:

Структура MSG:

typedef struct tagMSG
{
    HWND hwnd; 
    UINT message; 
    WPARAM wParam; 
    LPARAM lParam; 
    DWORD time; 
    POINT pt; 
} MSG;

  •  hwnd - хэндл окна получателя сообщения;
  •  message - код сообщения;
  •  wParam - дополнительный параметр сообщения;
  •  lParam - дополнительный параметр сообщения;
  •  time - время отправки сообщения;
  •  pt - координаты курсора мыши в момент отправки сообщения.

Дескриптор окна - число идентифицирующее окно. У каждого окна в Windows есть свой хэндл. Практически во всех функциях API требуется указывать хэндл окна.

Сообщения помещаемые в очередь сообщений необходимо правильно извлекать и обрабатывать. Для этого нужно построить цикл обработки сообщений.

Цикл обработки сообщений:

MSG msg;

while(GetMessage(&msg,0,0,0))
{
    TranslateMessage(&msg);
    DispatchMessage(&msg);
}

Рассмотрим функцию GetMessage():

 

BOOL GetMessage(
    LPMSG lpMsg,
    HWND hWnd,
    UINT wMsgFilterMin,
    UINT wMsgFilterMax
);

Функция GetMessage() извлекает сообщение из очереди сообщений и помещает его в структуру lpMsg типа MSG. Если сообщений в очереди нет, то текущий поток переводится в состояние ожидания и досрочно отдает управление другим потокам.

Возвращаемое значение:

Если функция извлекает сообщение отличное от WM_QUIT, то функция возвращает ненулевое значение. Если функция извлекает сообщение WM_QUIT, то она возвращает 0.
Если произошла ошибка, то функция возвращает -1.

  •  lpMsg - указатель на структуру куда будет помещено сообщение;
  •  hWnd - хэндл окна для которого извлекается сообщение, если указать 0, то функция GetMessage() будет извлекать сообщения для всех окон;
  •  wMsgFilterMin - нижняя граница диапазона извлечения, например, если указать 10, то будут извлекаться сообщения с кодами сообщений начиная с 10, если указать ноль, то граница отсутствует;
  •  wMsgFilterMax - верхняя граница диапазона извлечения, например, если указать 300, то будут извлекаться сообщения с кодами сообщений до 300, если указать ноль, то граница отсутствует.

Рассмотрим функцию TranslateMessage():

BOOL TranslateMessage(CONST MSG *lpMsg);

Функция TranslateMessage() транслирует сообщения от клавиатуры. Она переводит сообщения виртуальных клавиш (Virtual-key) в символьные сообщения.

Рассмотрим функцию DispatchMessage():

LONG DispatchMessage(CONST MSG *lpmsg);

Функция DispatchMessage() отправляет сообщение в оконную процедуру. По сути эта функция и вызывает оконную процедуру.

Оконная процедура

Оконная процедура - функция обработки событий (сообщений). Она вызывается самой операционной системой Windows и получает ряд параметров: хэндл окна - hWnd, код сообщения - msg и два параметра lParam и wParam. Оконная процедура может иметь любое имя. В нашей программе мы назовём её WndProc.

/* Прототип */
LRESULT CALLBACK WndProc(
    HWND hWnd,
    UINT msg,
    WPARAM wParam,
    LPARAM lParam
);

Оконная процедура должна уметь обрабатывать все сообщения, но в Windows таких сообщений десятки тысяч. Всё сводиться к тому, что ваша оконная процедура будет обрабатывать только необходимые для вас сообщения, а всё остальные сообщения будет обрабатывать оконная процедура по умолчанию - DefWindowProc();

/* Пример оконной процедуры */

LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{

    switch(msg)
    {

        case WM_DESTROY:
        // поставить сообщение WM_QUIT в очередь сообщений
        PostQuitMessage(0);
        break;

        default:
        // оконная процедура по умолчанию
        return DefWindowProc(hWnd,msg,wParam,lParam);
    }

    return 0;
}

Эта оконная процедура обрабатывает только одно сообщение - WM_DESTROY, все остальные сообщения обрабатывает оконная процедура по умолчанию.

Замечание
. Сообщение WM_DESTROY посылается окну, когда пользователь пытается закрыть окно.

Оконная процедура обрабатывает сообщения для окон определённого класса.

Классы окон, регистрация нового класса

Оконный класс - класс, на основе которого создаются окна. На базе одного оконного класса можно создать несколько окон. В ОС Windows есть предопределённые классы окон, такие как: кнопки, раскрывающиеся списки, полоски прокрутки и т.д. Для того чтобы создавать окна на основе вашего класса, последний должен быть зарегистрирован в системе функцией RegisterClass() или RegisterClassEx().

Для того чтобы использовать ваш собственный класс окон, вам необходимо заполнить структуру WNDCLASSEX.

Структура WNDCLASSEX:

typedef struct _WNDCLASSEX { 
    UINT             cbSize; 
    UINT style; 
    WNDPROC lpfnWndProc; 
    int cbClsExtra; 
    int cbWndExtra; 
    HANDLE hInstance; 
    HICON hIcon; 
    HCURSOR hCursor; 
    HBRUSH hbrBackground; 
    LPCTSTR lpszMenuName; 
    LPCTSTR lpszClassName; 
    HICON hIconSm; 
} WNDCLASSEX; 

  •  cbSize - размер структуры WNDCLASSEX;
  •  style - битовые флаги, определяющие стиль окна;
  •  lpfnWndProc - адрес оконной процедуры;
  •  cbClsExtra - размер дополнительной памяти класса;
  •  cbWndExtra - размер дополнительной памяти окна;
  •  hInstance - хэндл экземпляра приложения, которому принадлежит оконная процедура;
  •  hIcon - хэндл значка (32x32 пикселя);
  •  hCursor - хэндл курсора окна по умолчанию;
  •  hbrBackground - хэндл кисти окна по умолчанию или цвет фона;
  •  lpszMenuName - оконное меню (имя ресурса);
  •  lpszClassName - имя класса;
  •  hIconSm - хэндл маленького  значка (16x16 пикселей).

После заполнения структуры WNDCLASSEX, класс необходимо зарегистрировать в системе. Это делается с помощью функции RegisterClassEx();

WNDCLASSEX wc;

// Заполняем структуру WNDCLASS
// ....
// Регистрируем новый класс
RegisterClassEx(&wc);

 

Теперь, когда наш класс зарегистрирован в системе, мы можем создавать окна нашего класса.

Создание окна

Создание окна производиться с помощью функции CreateWindow() или CreateWindowEx().

В случае успеха функция CreateWindow() возвращает хэндл нового созданного окна, иначе функция возвращает NULL.

HWND CreateWindow(
    LPCTSTR lpClassName,
    LPCTSTR lpWindowName,
    DWORD dwStyle,
    int x,
    int y,
    int nWidth,
    int nHeight,
    HWND hWndParent,
    HMENU hMenu,
    HANDLE hInstance,
    LPVOID lpParam
);

  •  lpClassName - имя зарегистрированного класса окна;
  •  lpWindowName - заголовок окна;
  •  dwStyle - стиль окна (комбинация флагов);
  •  x - начальное положение по X;
  •  y - начальное положение по Y;
  •  nWidth - ширина окна;
  •  nHeight - высота окна;
  •  hWndParent - хэндл окна родителя;
  •  hMenu - хэндл меню окна;
  •  hInstance - хэндл экземпляра приложения, создающий окно;
  •  lpParam - указатель на параметры для WM_CREATE.

После создания окна его необходимо отобразить на экране. Чтобы окно было показано на экране необходимо вызвать функцию ShowWindow().

ShowWindow(hWnd, SW_SHOW);

1. Функция WinMain после инициализации и создания окна входит в цикл обработки сообщений, после выхода из которого приложение завершает работу.

2. Функция окна WndProc вообще не вызывается ни из какой другой функции приложения, хотя именно она выполняет всю работу!

Работа приложения Windows отличается от работы программы DOS. При определении классов окон, указываются адреса функций окон, и только после этого создаются сами окна. После создания окна функцией CreateWindow окно на экране монитора не появиться. В этом можно убедиться воспользовавшись отладчиком. Нарисовать окно на экране можно с помощью функции ShowWindow.

Функция отображает окно, дескриптор которого задан параметром hwnd. Наше приложение использует в качестве второго параметра, значение nCmdShow, передаваемое Windows функции WinMain. Сразу после функции ShowWindow вызывается функция UpdateWindow.

Прототип функции:

void UpdateWindow (

HWND hwnd                 II дескриптор окна

);

Эта функция передает окну, заданному дескриптором hwnd, сообщение WM_PAINT. Получив это сообщение из частной очереди сообщений, окно перерисовывает свою клиентскую область. В нашем случае вызов этой функции пока не имеет смысла. Она включена для общности.

Функция WinMain определена также как и в первом приложении. В области стека функции созданы две переменные с именами hwnd и msg:

MSG msg;                   //структура для работы с переменными

HWND hwnd              //дескриптор главного окна приложения

Структура MSG определена в windows.h так:

typedef struct tagMSG {

HWND       hwnd;         // дескриптор окна

UINT         message;      // номер сообщения;

WPARAM    wParam;      // дополнительная информация о сообщении

LPARAM     IParam;       // дополнительная информация о сообщении

DWORD      time;          // состояние системы в момент постановки сообщения в очередь

POINT       pt;           // состояние системы в момент постановки сообщения в очередь

}MSG;

Эта структура предназначена для временного хранения сообщений и используется в цикле обработки сообщений. Для регистрации класса окна служит функция Register. Здесь определены две локальные переменные - aWndClass и wc.

ATOM       aWndClass;           // атом для кода возврата

WNDCLASS   wc;                  // структура для регистрации класса окна

Переменная aWndClass используется для временного хранения кода возврата функции RegisterClass. Эта функция относится к функциям программного интерфейса Windows, она и выполняет регистрацию класса окна. В качестве единственного параметра функции необходимо указав адрес предварительно проинсталлированной структуры типа WNDCLASS:

aWndClass = RegisterClass( &wc );

Прототип функции RegisterClass:

ATOM WINAPI RegisterClass ( &wc );

To есть процедура регистрации класса окна несложна.

ATOM - переменная специального типа. В файле windows.h переменная ATOM определяется следующим образом:

typedef UINT ATOM;

typedef unsigned int    UINT;

В нашем приложении стиль окна не используется, поэтому

wс.style = 0;

Но можно записать wc.sfyle = CS_HREDRAW | CS_VREDRAW, тогда при изменении горизонтального или вертикального размера окна, приложение будет его перерисовывать.

Функция программного интерфейса LoadIcon загружает пиктограмму, которая будет отображаться при минимизации окна.

Функция LoadCursor загружает курсор, в данном случае в виде стандартной стрелки. Наше приложение использует системный   цвет окна. Поэтому:

wc.hbrBackyound = ( HBUSH ) (COLOR WINDOW + 1);

Этот цвет можно изменить с помощью Control Panel). Приложение не использует меню Поэтому;

wc.lpszMenuName = ( LPSTR )NULL;

Тип LPSTR - это константный дальний указатель на строку символов.

Функция окна должна иметь следующий прототип  (имя этой функции может быть произвольным ):

LRESULT CALLBACK WndProc (

HWND hwnd,         //дескриптор окна

UINT message,       //номер сообщения;

WPARAM wParam,    // дополнительная информация о сообщении

LPARAM IParam);    // дополнительная информация о сообщении

В поле message записан код сообщения (нажата кнопка мыши, изменился размер окна, сделана выборка из меню и так далее). Поля wParam и IParam дают дополнительную информацию. Например, если изменились размеры окна, то эти параметры содержат новые размеры.

Модификатор САLLBACK yкaзывает на соглашение о передаче параметров _pascal

#define CALLBACK _pascal

Наше приложение обрабатывает всего три сообщения:

1. WM_LBOTTONDOWN - нажата левая кнопка мыши

2. WM_RBUTTONDOWN - нажата правая кнопка мыши

3. WM_DESTROY - передастся при завершении работы приложения. Когда нажимается комбинация клавиш Alt+F4 , или в системно меню выбирается команда Close, или выбирается пиктограмма закрытия окна. При поступлении этого сообщения окно разрушается и приложение заканчивает работу. Первые два сообщения - это сообщения от мыши. Всего, такое маленькое устройство как мышь, может послать окну 20 сообщений (см. Help).


 

А также другие работы, которые могут Вас заинтересовать

20761. Определение механических свойств металлов при испытании на растяжение 184.58 KB
  Диаграмма растяжения низкоуглеродистой стали и схемы определения характеристик прочности Для нагрузки Рпц удлинение образца пропорционально усилию растяжения и при его снятии образец восстанавливает свои первоначальные форму и размеры; Рт усилие предела текучести физического соответствует нагрузке когда деформация образца происходит без ее увеличения;т предел текучести физический. Эти показатели определяют когда пластическая деформация образца достигает 02 от его рабочей длины l0. Усилие Pk меньше P max что...
20762. Микроскопический анализ металлов и сплавов 138.25 KB
  Если в задачу изучения микроструктуры входит определение размера зерна то рекомендуется использовать метод визуального сравнения зерен изучаемой микроструктуры при увеличении х100 со стандартной шкалой размеров зерна по ГОСТ 653982 рис. Устанавливается номер балл зерна затем по номеру используя табл.10 определяется поперечный размер зерна мм его площадь мм2 и количество зерен на площади шлифа в 1 мм2.10 Характеристика оценки зерна в зависимости от его номера Продолжение таблицы 1.
20763. Испытание свойств формовочных смесей 146.22 KB
  Литейное производство Лабораторная работа №12 Испытание свойств формовочных смесей Цель работы: изучение методов определения газопроницаемости и прочности формовочных смесей и влияния состава смеси на ее свойства. Лабораторные бегуны; лабораторный копер; технические весы с разновесами; сушильный шкаф с термометром для измерения температуры до 300 С; приборы для определения пределов прочности смеси при растяжении и сжатии; металлическая гильза с поддоном; выталкиватель; стержневой ящик; мензурка; коробка для смесей; сухой песок; формовочная...
20764. Изучение процесса сварки плавлением. Выбор режима ручной дуговой сварки конструкций из стали 267.5 KB
  Сварка металлов Лабораторная работа №14 Изучение процесса сварки плавлением. Выбор режима ручной дуговой сварки конструкций из стали Цель работы: ознакомиться с процессом зажигания и строением электрической сварочной дуги обозначением покрытых электродов устройством и работой сварочного трансформатора и выпрямителя выбором режима и технологии дуговой сварки покрытыми электродами. Классификация и обозначение покрытых электродов для ручной дуговой сварки Покрытые электроды для ручной дуговой сварки классифицируют по назначению виду и толщине...
20765. Выбор режима полуавтоматической дуговой сварки в углекислом газе 181.34 KB
  Общие сведения 1 Cущность промесса дуговой сварки в углекислом газе Дуговая сварка в углекислом газе является одним из способов сварки в защитных газах. Зашита расплавленного металла сварочной ванны осуществляется струей углекислого газа подаваемого в зону дуги в зазор между мундштуком 2 и соплом 3 горелки для дуговой сварки. Для сварки используется техническая углекислота Рис.
20766. Анализ влияния режима автоматической дуговой сварки под флюсом на форму и размеры шва 179.25 KB
  Сущность процесса дуговой сварки под флюсом Сварка под флюсом выполняется электрической дугой горящей под толстым 3050 мм слоем гранулированного плавленного или керамического сварочного флюса. При автоматической сварке электродная проволока со скоростью равной скорости ее плавления подается в зону сварки осуществляется подача флюса в требуемом количестве и перемещение трактора вдоль кромок свариваемых заготовок с требуемой скоростью сварки рис. Схемы процесса сварки а и электрической дуги б под флюсом При горении дуги 3 рис.
20767. Определение остаточных деформаций при дуговой сварке 85.43 KB
  Для выполнения работы необходимы стальная пластинка размерами 135x22x5 мм марки СтЗ штангенциркуль два индикатора часового типа с приспособлениями для измерения длины и пригиба пластины электроды сварочный пост дуговой сварки с вольтметром и амперметром для регистрации сварочного тока весы с разновесами 0200 г секундомер. Для момента конца сварки заменяем действительное почти экспоненциальное распределение температуры по ширине образца рис. Часть I шириной b находится в состоянии повышенной пластичности часть II шириной h в течение...
20768. Расчет режима и осуществление контактной стыковой и точечной сварки низкоуглеродистой стали 249.61 KB
  Расчет режима и осуществление контактной стыковой и точечной сварки низкоуглеродистой стали Цель работы: ознакомиться с сущностью процесса контактной сварки устройством и работой машин для контактной стыковой и точечной сварки выбором режима и технологией процесса сварки низкоуглеродистой стали. Машина для стыковой сварки МС802; машины для точечной сварки стационарная МТ601 и подвесная R6421T; заготовки из углеродистой стали СтЗ стержни ø15x100; пластины 20x150x2. Сущность процесса и особенности стыковой и точечной контактной сварки При...
20769. Изучение процесса газокислородной сварки и резки 146.72 KB
  Сущность процесса газовой сварки и резки строения газосварочного пламени. Схемы процесса газовой сварки а и ацетиленокислородного пламени б Сварку выполняют нормальным ацетиленокислородным пламенем имеющим наиболее высокую температуру до 3150 С. В некоторых случаях для сварки а особенно для резки используют другие горючие газы дающие при горении смеси с кислородом иную температуру пламени: водород 24002600 С пропанобугановая смесь 24002500 С метан 21002200 С природный газ 2000 2300 С.