Читаем Системное программирование в среде Windows полностью

/* Эти определения также уменьшают размер pch-файла и уменьшают время компиляции. Все программы в данной книге будут компилироваться с этими определениями. От использования средств защиты можно отказаться при помощи оператора #define NOSECURITY. */ 

#define NOATOM

#define NOCLIPBOARD

#define NOCOMM

#define NOCTLMGR

#define NOCOLOR

#define NODEFERWINDOWPOS

#define NODESKTOP

#define NODRAWTEXT

#define NOEXTAPI

#define NOGDICAPMASKS

#define NOHELP

#define NOICONS

#define NOTIME

#define NOIMM

#define NOKANJI

#define NOKERNEL

#define NOKEYSTATES

#define NOMCX

#define NOMEMMGR

#define NOMENUS

#define NOMETAFILE

#define NOMSG

#define NONCMESSAGES

#define NOPROFILER

#define NORASTEROPS

#define NORESOURCE

#define NOSCROLL

#define NOSERVICE

#define NOSHOWWINDOW

#define NOSOUND

#define NOSYSCOMMANDS

#define NOSYSMETRICS

#define NOSYSPARAMS

#define NOTEXTMETRIC

#define NOVIRTUALKEYCODES

#define NOWH

#define NOWINDOWSTATION

#define NOWINMESSAGES

#define NOWINOFFSETS

#define NOWIMSTYLES

#define OEMRESOURCE 

<p>Дополнительные служебные программы</p>

Имеются три дополнительных программы, а именно, Options, SkipArg и GetArgs, которые достаточно полезны, чтобы привести здесь их листинги. В то же время, ни одна из этих программ не привязана жестко к Win32. 

Options.с

Эта функция просматривает командную строку в поиске слов, начинающихся с символа "-" (дефис), проверяет отдельные символы и устанавливает булевские параметры. Хотя эта функция и аналогична UNIX-функции getopt, она обладает меньшими возможностями.

Программа А.7. Функция Options 

/* Служебная функция для извлечения флагов опций из командной строки. */

#include "EvryThng.h"

#include

DWORD Options(int argc, LPCTSTR argv[], LPCTSTR OptStr, ...)

/* argv — командная строка. Параметры (опции), если они нужны, начинаются с символа '-' в argv[1], argv[2], ….

OptStr — текстовая строка, содержащая все возможные параметры, находящиеся во взаимно-однозначном соответствии с адресами булевских переменных в списке аргументов (...). Эти флаги устанавливаются тогда и только тогда, когда символ соответствующей опции встречается в argv[1], argv[2], …Возвращаемым значением является индекс (в argv) первого аргумента, указанного вслед за опциями. */

{

 va_list pFlagList;

 LPBOOL pFlag;

 int iFlag = 0, iArg;

 va_start(pFlagList, OptStr);

 while ((pFlag = va_arg(pFlagList, LPBOOL)) != NULL && iFlag < (int)_tcslen(OptStr)) {

  *pFlag = FALSE;

  for (iArg = 1; !(*pFlag) && iArg < argc && argv[iArg][0] == '-'; iArg++) *pFlag = _memtchr(argv[iArg], OptStr[iFlag], _tcslen(argv[iArg])) != NULL;

  iFlag++;

 }

 va_end(pFlagList);

 for (iArg = 1; iArg < argc && argv[iArg][0] == '-'; iArg++);

 return iArg;

} 

SkipArg.с

Эта функция обрабатывает командную строку, пропуская одно поле, отделенное пробельным символом. Впервые используется в программе timep (программа 6.2).

Программа А.8. Функция SkipArg 

/* SkipArg.с

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных