Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Разработка приложений в C++Builder
Создание нового приложения:
File->New Application
Сохранение приложения: File_Save Project As
1. Unit1.cpp |
Файл основного модуля текст программы- функции обработчики событий |
С++Builder + Программист |
2. Unit1.h |
Заголовочный файл с объявлениями компонентов, расположенных на форме, глобальных переменных, функций |
С++Builder + Программист |
3. Unit1.dfm |
Файл с описанием формы и всех компонентов |
С++Builder |
4. Project1.cpp |
Файл главного модуля проекта- проектный файл . Содержит главную функцию WinMain() |
С++Builder |
5. Project1.res |
Файл ресурсов проекта: иконки проекта. Редактирование иконок: Tools->Image Editor |
С++Builder |
6.Project1.bpr |
Файл проекта |
С++Builder |
Дополнительно: |
||
Unit2.dfm Unit2.cpp,Unit2.h, …. UnitN.dfm UnitN.cpp, UnitN.h, |
Дополнительная форма, файл дополнительного модуля с текстом обработчиков событий, заголовочный файл |
С++Builder + Программист |
Обращение к членам класса Tform1:
Form1->имя члена класса
Form1->Button1
Form1->Button1->Caption
Визуальные компоненты используют несколько типов строк. Наиболее важный тип AnsiString (библиотека dstring.h , подключается автоматически с библиотекой vcl.h)
C++Builder |
||
IntToStr(k) |
Преобразование в строку |
целого k |
FloatToStr(v) |
вещественного V |
|
FloatToStrF(v,f,k,m) |
Форматное преобразование вещественного V в строку v-вещественное; f формат (способ изображения); k-точность(общее количество цифр); m-количество цифр после десятичной точки |
|
StrToInt(s) |
Преобразование строки S |
в целое число |
StrToFloat(s) |
в вещественное число |
Ввод данных
1. Переменная=InputBox(Заголовок, Подсказка, Значение);
Заголовок- текст заголовка окна
Подсказка пояснение, подсказка
Значение текст в поле ввода при появлении окна
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
AnsiString s;
float v;
s=InputBox("ПРИМЕР","Введи число","0");
v=StrToFloat(s);
}
Тип AnsiString в консольном приложении
#include <vcl.h>
#include <stdio.h>
#include <conio.h>
int main( )// консольное приложение
{
AnsiString s; // тип длинная строка
float v;
int k,m;
s=InputBox("ПРИМЕР","Введи число","0");
if (s.IsEmpty()) s="11111"; // Если ввод пуст
k=s.Length(); // длина вводимой строки
m=s.Pos("2"); //номер позиции символа “2” в строке s
v=StrToFloat(s);
printf("%s %5.1f %d %d",s,v,k,m);
getch();
return 0;
}
2. Поле редактирования Edit
Свойство |
Описание |
Форма |
|
Name |
Используется для управления формой |
Caption |
Текст заголовка |
Icon |
Значок в заголовке |
Color |
Цвет фона |
Font |
Шрифт |
Label |
|
Name |
Имя компонента для доступа к нему |
Caption |
Отображаемый текст |
Font |
Шрифт |
ParentFont |
Признак наследования компонентом характеристик шрифта формы (True- наследуется) |
AutoSize |
Признак того, что размер поля определяется его содержимым |
WordWrap |
Признак того, что слова, не помещающиеся в строке, переносятся на следующую строку |
Edit |
|
Name |
Имя компонента для доступа к нему |
Text |
Текст в поле ввода и редактирования |
Font |
Шрифт для отображения вводимого текста |
ParentFont |
Признак наследования компонентом характеристик шрифта формы (True- наследуется) |
Button |
|
Name |
Имя компонента для доступа к нему |
Caption |
Текст на кнопке |
Enabled |
Признак доступности кнопки (True -доступна) |
Функция с_str()
char *cp = new char[ Edit1->Text.Length() + 1 ];
strcpy( cp, Edit1->Text.c_str() );
cp строка в стиле С
Edit1->Text строка типа AnsiString.
Вывод данных
1.ShowMessage(Сообщение);
2. Переменная=MessageDlg(Текст,Тип,Кнопки,Контект_Справки);
Тип сообщения |
|
mtWarning |
Внимание |
mtError |
Ошибка |
mtInformation |
Информация |
mtConfirmation |
Подтверждение |
mtCustom |
Обычное |
Кнопки |
|
mbYes |
Yes |
mbNo |
No |
mbOK |
OK |
mbCancel |
Cancel |
mbHelp |
Help |
mbAbort |
Abort |
mbRetry |
Retry |
mbIgnore |
Ignore |
mbAll |
All |
Возвращаемое значение функции MessageDlg (целое) |
Нажатая кнопка |
mrYes |
Yes |
mrOk |
Ok |
mrRetry |
Retry |
mrNo |
No |
mrCancel |
Cancel |
mrAll |
All |
mrIgnore |
Ignore |
mrAbort |
Abort |
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
int z,x,y;
x=MessageDlg("Это С++Builder?",mtConfirmation,TMsgDlgButtons() << mbYes << mbNo,0);
if (x= = mrYes) y=1;
if (x= = mrNo) z=1;
}
3. Пример
float S;
Label1->Caption=FloatToStr(S)+”AAA”;
Label1->Caption=FloatToStrF(S, ffFixed, 4,2)+”AAA”;
ffGeneral - Общий формат числа.
ffExponent- Научный формат. "-d.ddd...E+dddd".
ffFixed - Фиксированный формат. "-ddd.ddd...".
Реализация условий в С++Builder
Компонент ListBox (Вкладка Standard)
Свойство |
Определение |
Name |
Имя компонента для доступа к нему |
Items |
Элементы списка |
ItemIndex |
Номер выбранного элемента списка. Номер первого элемента списка равен 0 Если ни один из элементов не выбран, то значение равно: 1 |
Font |
Шрифт для отображения элементов списка |
ParentFont |
Признак наследования компонентом характеристик шрифта формы (True- наследуется) |
Hint |
Текст всплывающей подсказки |
ShowHint |
TRUE, если надо выводить подсказку, False запрет вывода всплывающей подсказки |
Columns |
Определяет число столбцов, в которых будет отображаться список, если он не помещается целиком в окне компонента ListBox |
MultiSelect |
Допускается множественный выбор (true) |
ExtendedSelect |
Если ExtendedSelect = true, то пользователь может выделить интервал элементов, выделив один из них, затем нажав клавишу Shift и переведя курсор к другому элементу. Выделить не прилегающие друг к другу элементы пользователь может, если будет удерживать во время выбора нажатой клавишу Ctrl |
Selected[int Index] |
Проверка, выбран ли данный элемент |
Sorted |
Позволяет упорядочить список по алфавиту |
void __fastcall TForm1::FormCreate(TObject *Sender)
{
ListBox1->ItemIndex=0;// если не выбран элемент, то ItemIndex=-1
// Начальное значение ItemIndex невозможно задать во время проектирования //формы.
}
void __fastcall TForm1::ListBox1Click(TObject *Sender)
{
switch (ListBox1->ItemIndex)
{
case 0: Label1->Caption="1-ый номер";
break;
case 1: Label1->Caption="2-ой номер";
break;
case 2: Label1->Caption="3-ий номер";
break;
default: Label1->Caption="Все остальные";
}
}
Если разрешен множественный выбор (MultiSelect =TRUE):
if ((ListBox1->Selected[0]) && (ListBox1->Selected[2]) )
Label1->Caption="Выбраны 1 и 3 элементы"; // свойство ExtendedSelect=false