WWW.KNIGI.KONFLIB.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

 
<< HOME
Научная библиотека
CONTACTS

Pages:     || 2 | 3 | 4 | 5 |   ...   | 85 |

«CVBuilder 6 СПРАВОЧНОЕ ПОСОБИЕ Книга 2 Классы и компоненты Москва ЗАО Издательство БИНОМ 2002 УДК 004.43 ББК 32.973.26-018.1 А87 Архангельский А.Я. C++Builder 6. ...»

-- [ Страница 1 ] --

А.Я. Архангельский

CVBuilder 6

СПРАВОЧНОЕ ПОСОБИЕ

Книга 2

Классы и компоненты

Москва

ЗАО «Издательство БИНОМ»

2002

УДК 004.43

ББК 32.973.26-018.1

А87

Архангельский А.Я.

C++Builder 6. Справочное пособие. Книга 2. Классы и компоненты. М.: Бином-Пресс, 2002 г. — 528 с.: ил.

В книге даются справочные сведения по многим базовым классам и типам C++Builder. Описания снабжены таблицами, содержащими свыше 2000 кратких характеристик свойств, методов, событий. Дается краткая методика разработки прикладных программ с помощью C++Builder. Помимо кратких характеристик, книга содержит подробные описания около 450 свойств, методов, событий, присущих различным компонентам и классам.

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

© Архангельский А.Я., ISBN 5-9518-0009-9 © Издательство БИНОМ, Содержание От автора Глава 1. Некоторые базовые классы, типы, переменные, константы. AnsiString — тип строк Application — переменная DateSeparator — переменная Default8087CW — переменная Infinity, Neglnfinity, NaN — константы LongDateFormat — переменная LongTimeFormat, ShortTimeFormat — переменные NoErrMsg — переменная Screen — переменная Set — шаблон класса ShortDateFormat, LongDateFormat — переменные ShortTimeFormat — переменная TAlign, TAlignSet — типы TBDEDataSet — базовый класс наборов данных BDE TBitmap — класс TBrush — класс TCanvas — класс TCollection — базовый класс собраний (коллекций) объектов TCollectionltem — класс объектов в собраниях TCollection TColor — тип TComponent — базовый класс компонентов TControl — базовый класс визуальных компонентов TControlState — тип TControlStyle — тип, TCursor — тип TCustomClientDataSet — базовый класс клиентских наборов данных TCustomEdit — базовый класс окон редактирования TDataSet — базовый класс всех наборов данных TDateTime — класс TDBDataSet — класс компонентов наборов данных TField — базовый класс всех объектов полей TFieldDef — класс описания поля TFieldDefs — класс собрания описаний полей TFields — класс списков объектов нолей TFieldType — тип TFont — класс объекта шрифта TGraphic — базовый класс графических объектов. TIcon — класс TimeSeparator — переменная TIniFile — класс TList — класс TMenuItem - класс TMessage — тип TMetafile— класс TMouseButton — тип TObject — базовый класс всех объектов TOleServer — базовый класс серверов OLE ТРеп — класс TPersistent — базовый класс объектов, участвующих в операциях с потоками TPicture — класс TPoint — тип TRect — тип TReglniFile — класс TRegistry - класс TRegistrylniFile — класс. TShiftState — тип TSQLTimeStamp — тип записи даты и времени TStringFloatFormat — тип TStringList — класс TStrings — класс TSystemTime — тип записи даты и времени TTimeStamp — тип записи даты и времени ActionMainMenuBar — настраиваемая полоса состояния главного меню DBRichEdit — отображение полей текстовых данных в обогащенном формате OpenDialog, OpenPictureDialog, SaveDialog, SavePictureDialog — RichEdit — многострочное окно редактирования в обогащенном формате AsBoolean, AsCurrency, AsDateTime, AsFloat, Aslnteger, AsString, AsVariant Содержание DataSource, DataField, Field — свойства компонентов, связанных с данными KeyFields, Lookup, LookupKeyFields, LookupDataSet, LookupResultField Содержание BookmarkValid, CompareBookmarks, GetBookmark, GotoBookmark, FreeBookmark.... ConstraintsDisabled, DisableConstraints, EnableConstraints LoadFromFile и другие методы загрузки и сохранения данных Refresh, RefreshRecord — методы наборов данных SaveToFile — метод TCustomClientDataSet SaveToStream — метод TCustomClientDataSet Глава 5. События компонентов и классов C++Builder OnReconcileError, OnUpdateError — события TCustomClientDataSet От автора При написании этой книги я испытывал большие сложности, связанные с жестким ограничением ее размера и безбрежным морем справочного материала, который надо было бы в ней дать. Приходилось отбирать то, что по моим представлениям требуется большинству разработчиков, и у меня нет никакой уверенности в том, что отбор удовлетворит большинство читателей.

Я пока нашел только один выход из неразрешимого конфликта между полнотой материала и объемом книги. Справочные сведения из данной книги плюс немало дополнительного материала включено в справочные файлы [3], сведения о которых вы найдете в разделе «Дополнительные источники информации о C++Builder 6». Там, по крайней мере, нет ограничений на объем материала. Так что можно постоянно пополнять эти справки, что регулярно и делается. Да и стоимость справок заметно в лучшую сторону от стоимости книг. Конечно, справки не могут заменить книгу. Но в них есть и свои преимущества (см. в [3]). Так что я думаю, что справки могут служить хорошим и постоянно развивающимся дополнением к данной книге. По книге, конечно, удобнее изучать особенности того или иного класса и компонента. Но зато справки обеспечивают оперативную помощь в работе, простой способ воспроизведения содержащихся в них примеров и значительно больший объем справочных сведений.

Для читателей, знакомых с моей книгой «Программирование в C-H-Builder 6»

[1], должен отметить, что по сравнению с той книгой справочного материала в данной книге во много раз больше. Но, конечно, здесь отсутствует детальная методика работы с компонентами и создания прикладных программ различного назначения. Так что думаю, что данная книга может служить неплохим дополнением к прежней.



Глава Некоторые базовые классы, типы, переменные, константы В этой главе представлены сведения о некоторых базовых классах и типах C-H-Builder 6. В библиотеках С-M-Builder объявлены тысячи классов и типов, так что рассмотреть все их в рамках данной книги невозможно. Поэтому был проведен достаточно жесткий отбор тех классов, которые используются чаще всего. В каждом классе даны в виде таблиц краткие описания и синтаксис свыше 1100 основных свойств, методов и событий (полные списки вы найдете в [3]). Основными считались те, которые можно использовать при работе с данными классами из приложения. Методы, предназначенные в основном для внутреннего применения в классе и, следовательно, требуемые только при создании новых классов-наследников, в приведенных таблицах, как правило, отсутствуют.

Объявления методов и свойств даны для экономии места в упрощенном виде.

Например, пропущены спецификаторы fast call, присущие всем методам, спецификаторы virtual и др. В свойствах пропущено ключевое слово property и не указываются функции чтения и записи. Есть и другие упрощения.

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

Более полную информацию о всех свойствах, методах, событиях классов и типов, описанных в данной главе, и ряда других вы можете найти в источнике [3].

AnsiString — тип строк В C++Builder тип строк AnsiString реализован как класс, объявленный в файле vcl/dstring.h и аналогичный типу длинных строк в Delphi. Это строки с нулевым символом в конце. При объявлении переменные типа AnsiString инициализируются пустыми строками.

Для AnsiString определены операции отношения ==, !=,,, =, =. Сравнение производится с учетом регистра. Сравниваются коды символов, начиная с первого, и если очередные символы не одинаковы, строка, содержащая символ с меньшим кодом считается меньше. Если все символы совпали, но одна строка длиннее и в ней имеются еще символы, то она считается больше, чем более короткая.

Для AnsiString определены операции присваивания =, += и операция склеивания строк (конкатенации) +. Определена также операция индексации [ ]. Индексы начинаются с 1. Например, если S1 = "Привет", то Sl[l] вернет 'П', Sl[2] вернет 'р' и т.д.

Тип AnsiString используется для ряда свойств компонентов C++Builder. Например, для таких, как свойства Text окон редактирования, свойства Caption меток и разделов меню и т.д. Этот же тип используется для отображения отдельных строк в списках строк типа TStrings. Таким образом, постоянно имея дело с этими свойствами, вы постоянно работаете с AnsiString.

Рассмотрим некоторые примеры работы с AnsiString. Следующий оператор демонстрирует конкатенацию (склеивание) двух строк:

Labell-Caption = Editl-Text + ' ' + Edit2-Text;

В данном случае в свойстве Labell—Caption отображается текст, введенный пользователем в окне редактирования Editl, затем записывается символ пробела, а затем — текст, введенный в окне редактирования Edit2. Как видите, склеивание строк типа AnsiString легко осуществляется перегруженной операцией сложения "+".

Рассмотрим теперь поиск в строке S1 фрагмента, заданного строкой S2, и замену его текстом строки S3. Код, осуществляющий эти операции, может иметь вид:

// операторы занесения текста в SI, S2, S int i = SI.Pos (S2);

Labell-Caption = SI.Substring(1,i-1) + S3 + else Labell-Caption = "Текст не найден";

В этом коде использован ряд функций-элементов класса AnsiString: Pos, Substring, Length. Обратите внимание на то, что доступ к ним осуществляется операцией точка (.), вместо более привычной в C-H-Builder операции доступа к методам компонентов стрелка (-). Дело в том, что к методам компонентов доступ осуществляется через указатель на объект, а в данном случае к методам AnsiString доступ осуществляется через сами объекты-строки.

Первый выполняемый оператор приведенного кода использует функцию Pos.

Эта функция ищет в строке, к которой она применена (в нашем случае в S1), первое вхождение подстроки, заданной ее параметром (в нашем случае S2). Если поиск успешный, функция возвращает индекс первого символа найденного вхождения подстроки. Индексы начинаются с 1. Если подстрока не найдена, возвращается 0.

Следующий оператор с помощью структуры if...else проверяет, не равно ли нулю (false) возвращенное функцией Pos значение. Если не равно, то производится формирование строки с заменой найденной подстроки. Строка формируется склеиванием трех строк: начальной части строки S1, расположенной до найденного вхождения подстроки, строки S3, заменяющей найденное вхождение, и заключительной части строки S1, расположенной после найденного вхождения. Для получения фрагментов строки S1 использована функция Substring. Эта функция возвращает подстроку, начинающуюся с символа в позиции, заданной первым параметром функции, и содержащую число символов, не превышающее значение, заданное вторым параметром функции. Таким образом, выражение Sl.SubString(l, i — 1) возвращает подстроку строки S1, начинающуюся с первого символа и содержащую i символов, т.е. часть строки S1, расположенную до найденного вхождения подстроки S2. Аналогично, выражение Sl.SubString(i + S2.Length(), 255) возвращает подстроку строки S1, расположенную после найденного вхождения подстроки S2.

При этом для определения начала этой подстроки использована функция Length, возвращающая число символов в строке (в нашем случае — в строке S2, содержащей заменяемый фрагмент). В приведенном выражении в качестве второго параметра функции Substring задано число 255, которое, как ожидается, превышает длину подстроки. В действительности будет возвращено менее 255 символов, столько, сколько имеется до завершающего S1 нулевого символа.

Если нам надо не отображать измененную строку в виде сообщения, а просто произвести замену фрагмента в исходной строке S1, это еще более упрощает код, который в этом случае сводится всего к двум операторам:

Давайте еще более усложним задачу: пусть в строке S1 надо заменить все вхождения S2 на строку S3. Эту задачу можно было бы решить следующим кодом:



Pages:     || 2 | 3 | 4 | 5 |   ...   | 85 |
 



Похожие работы:

«Жураковский В.А., Калинин В.В. АРБИТРАЖНЫЕ СПОРЫ И ПРОЦЕСС: Комментарии законодательства. Обзоры судебной практики. Образцы судебных документов /Под общей редакцией К.И. Худенко, Е.Ф. Хейфец. — М.: ИКФ Омега-Л, 2002. — 560 с. (Серия Настольная книга юриста) В издании объединены комментарии к арбитражному процессуальному законодательству Российской Федерации и материалы судебной практики, разъясняющие вопросы арбитражного судопроизводства и ведения дел в судах. Дополнительно приведены образцы...»

«БИБЛИОГРАФИЯ ПО КОНСТИТУЦИОННОМУ ПРАВОСУДИЮ Автор-составитель профессор М.А. Митюков Второе издание, измененное, переработанное и дополненное УДК 01:342.5 ББК 67.400 Б59 Сведения об авторе-составителе: Митюков Михаил Алексеевич — заслуженный юрист РФ, профессор, известный ученый в области конституционного права, государственный деятель. Действительный государственный советник РФ 1 класса. Полномочный представитель Президента РФ в Конституционном Суде РФ (1996–2005). Рецензенты: В.А. Кряжков,...»

«ЗАКОН Кодекс об административных правонарушениях от 29.03.1985 *** СОДЕРЖАНИЕ РАЗДЕЛ I ГЛАВА 1 ОБЩИЕ ПОЛОЖЕНИЯ Статья 1. Задачи Кодекса об административных правонарушениях Статья 2. Законодательство об административных правонарушениях Статья 3. Исключена Статья 4. Исключена Статья 5. Полномочия органов местного самоуправления в области административных правонарушений Статья 6. Предупреждение административных правонарушений Статья 7. Обеспечение законности при применении мер воздействия за...»

«Конституция предусматривает свободу вероисповедания и не устанавливает государственную религию; однако на практике государство продолжало ограничивать свободу исповедания религии. Для получения правового статуса все группы должны зарегистрироваться; незарегистрированная религиозная деятельность является незаконной и может быть наказана в административном порядке в виде наложения штрафа. В целом Правительство придавало законную силу существующим правовым ограничениям на свободу вероисповедания,...»

«А.И. Понкина Государственное управление и автономная институализация в области спорта Москва 2013 2 УДК 342.9; 342.2; 342.5; 342.6; 34:7 ББК 67:75; 67.4 Научные рецензенты: Председатель Комиссии по спортивному праву Ассоциации юристов России, профессор Московской государственной юридической академии им. О.Е. Кутафина, доктор юридических наук, профессор, Почетный работник высшего профессионального образования Российской Федерации Алексеев Сергей Викторович Профессор Российской академии народного...»

«РАЗДЕЛ ПЕРВЫЙ ПРИКАЗ УПРАВЛЕНИЯ ГОСУДАРСТВЕННОЙ ГРАЖДАНСКОЙ СЛУЖБЫ РЕСПУБЛИКИ КОМИ 68 Об организации и проведении личного приема граждан, представителей объединений граждан, в том числе юридических лиц, в Управлении государственной гражданской службы Республики Коми1 В соответствии с Федеральным законом от 2 мая 2006 года № 59-ФЗ О порядке рассмотрения обращений граждан Российской Федерации ПРИКАЗЫВАЮ: 1. Утвердить Положение об организации и проведении личного приема граждан, представителей...»

«Совершенствование системы управления твердыми бытовыми отходами в Донецкой области Украины Рабочая версия пособия по мониторингу полигонов ТБО Март 2004 г. Проект Тасис - Совершенствование системы управления твердыми бытовыми отходами в Донецкой области Украины Страница 2 из 271 Пособие по мониторингу полигонов ТБО. Thales E&C – GKW - Consult 1 Предисловие 1.1 Контекст и цели Обращение с твердыми бытовыми отходами (ТБО) является одной из составных частей сферы обращения с отходами, имеющей свои...»

«Содержание Введение Памятка для юного кулинара Как научиться делать постные салаты Как самому приготовить завтрак Как научиться варить постный суп Что приготовить к обеду. Рецепты овощных блюд Что можно приготовить из рыбы Чем угощать гостей. Рецепты запеканок, оладий, пирогов, пряников, шарлоток Как самому испечь торт Введение Эта книга научит ваших детей, как сначала с помощью мамы, а затем и самим приготовить постные блюда, как, готовясь к празднику, испечь постный торт, пряники, хворост....»

«ЛЕСОХОЗЯЙСТВЕННЫЙ РЕГЛАМЕНТ ГАЗИМУРО-ЗАВОДСКОГО ЛЕСНИЧЕСТВА ВВЕДЕНИЕ Лесохозяйственный регламент Газимуро-Заводского лесничества (далее - лесохозяйственный регламент) в соответствии со статьей 87 Лесного кодекса Российской Федерации (далее - Лесной кодекс) является основой осуществления использования, охраны, защиты, воспроизводства лесов, расположенных в границах лесничеств, лесопарков. Лесохозяйственный регламент обязателен для исполнения гражданами, юридическими лицами, осуществляющими...»

«InRow® RD ACRD500 ACRD501 ACRD502 This manual is available in English on the enclosed CD. Dieses Handbuch ist in Deutsch auf der beiliegenden CD-ROM verfgbar. Deze handleiding staat in het Nederlands op de bijgevoegde cd. Este manual est disponible en espaol en el CD-ROM adjunto. Ce manuel est disponible en franais sur le CD-ROM ci-inclus. Questo manuale disponibile in italiano nel CD-ROM allegato. CD-ROM Instrukcja Obsugi w jezyku polskim jest dostepna na CD. O manual em Portugus est disponvel...»






 
© 2013 www.knigi.konflib.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.