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).


 

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

40200. Подходы к трактовке определения капитала. Учетно-аналитический подход к трактовке понятия капитала 32.5 KB
  Подходы к трактовке определения капитала. Учетноаналитический подход к трактовке понятия капитала. Капитал – это стоимость которая имеет рыночную цену и спрос это реализуемая стоимость. Капитал имеет три формы движения: предпринимательскую прямые капиталовложения в производство и портфельные инвестиции т.
40201. Экономическая сущность капитала. Принципы его формирования 35.5 KB
  Экономическая сущность капитала. Рассматривая экономическую сущность капитала предприятия отметим следующие его главные черты: основной фактор производство; источник формирования благосостояния собственников; капитал предприятия является измерителем его рыночной стоимости. Вместе с тем объем используемого предприятием собственного капитала характеризует одновременно и потенциал привлечения им заемных средств; Динамика капитала предприятия является важнейшим показателем уровня эффективности его хозяйственной деятельности то есть за...
40202. Собственный капитал и его основные элементы. Расчет чистых активов 36.5 KB
  Расчет чистых активов Собственный капитал – общая стоимость средств пря принадлежащих ему на праве собственности. Для определения стоимости собственного капитала используется показатель стоимость чистых активов пря Ча=АрПр где где р принимаемые к расчету Аактивы Ппассивы Ча пря рассчитывается ежеквартально. Под стоимостью чистых активов акционерного общества понимается величина определяемая путем вычитания из суммы активов акционерного общества принимаемых к расчету суммы его пассивов принимаемых к расчету. Порядок расчета...
40203. Заемный капитал и его источники формирования 26 KB
  Краткосрочные Краткосрочные кредиты банков Краткосрочные займы Кредиторская задолженность По источникам привлечения: 1. Из внутренних источников кредиторская задолженность Цели привлечения: 1 – инвестиционные цели создание запасов; 2 – обеспечение непрерывности производственного процесса потребности пря в ресурсах. Кредиторская задолженность Задолженность поставщикам подрядчикам за выполненные работы поступившие ценности Начисленная но не выплаченная з...
40204. Эмиссия облигаций как источник финансирования 28 KB
  Эмиссия облигаций как источник финансирования. Эмиссия облигаций. Одним из источников финансирования инвестиционной деятельности может быть эмиссия облигаций направленная на привлечение временно свободных денежных средств населения и коммерческих структур.Привлекательность облигаций для потенциальных инвесторов во многом определяется условиями их размещения.
40205. Концепция стоимости капитала. Понятие и виды стоимости 48.5 KB
  Концепция стоимости капитала. Концепция стоимости капитала. Факторы определяющие цену капитала предприятия Одной из важнейших предпосылок эффективного управления капиталом предприятия является оценка его стоимости. Стоимость капитала представляет собой цену которую предприятие платит за его привлечение из различных источников.
40206. Подходы к оптимизации структуры капитала 24 KB
  Подходы к оптимизации структуры капитала. ОПТИМИЗАЦИЯ СТРУКТУРЫ КАПИТАЛА процесс определения соотношения использования собственного и заемного капитала при котором обеспечиваются оптимальные пропорции между уровнем рентабельности собственного капитала и уровнем финансовой устойчивости т. Оптимизация структуры капитала предприятия осуществляется различными методами. Метод оптимизации структуры капитала по критерию политики финансирования активов.
40207. Состав и структура активов предприятия 39.5 KB
  Основные фонды представляют собой наиболее значимую составную часть имущества предприятия и его внеоборотных активов. Основные средства – это основные фонды выраженные в стоимостном измерении. Основные средства – средства труда которые неоднократно участвуют в производственном процессе сохраняя свою натуральную форму а их стоимость переносится на производимую продукцию частями по мере снашивания. Сроком полезного использования признается период в течение которого основные средства приносят экономические выгоды доход организации.
40208. Социально-экономическая сущность оборотных активов. Состав и структура оборотных средств 26 KB
  В хозяйственной деятельности предприятия необходимо участие не только основных но и оборотных средств необходимых для своевременного выполнения всех хозяйственных операций. Оборотный капитал предприятия – его финансовые ресурсы инвестируемые в оборотные активы. Оборотные фонды – часть производственных фондов предприятия вещественные элементы которых в процессе производства в отличие от основных фонды расходуются в течение данного производственного цикла и их стоимость переносится на продукт труда целиком и сразу при этом они теряют...