Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
С++_навч_пос14_new.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.86 Mб
Скачать

4.3 Класи AnsiString (String) – тип рядків

String s; //або тип AnsiString – створити рядок s

s="Hello"; //оператор присвоєння

String s2(s); //створити рядок s2 і викликати конструктор з параметром s

s=s+" User"; //оператор конкатенації

s+="!"; //оператор присвоєння (додати до рядка "!")

bool cmp=s>s2; //оператор порівняння

s[6]='_'; //оператор []

char *c; //вказівник на масив символів

c=s.c_str(); //присвоїти c вказівник на масив символів рядка s

Application->MessageBoxA(c,"",0); //вивести повідомлення

s=AnsiString(c); //присвоїти s рядок з масиву символів c

int i=s.Pos("User"); //позиція входження рядка "User" в s

s.Delete(7,4); //видалити 4 символи починаючи з позиції 7

s.Insert("User",7); //вставити рядок "User" в позицію 7

int l=s.Length(); //довжина рядка

s2=s.SubString(7,4); //підрядок з позиції 7 довжиною 4 символи

bool d=s.IsDelimiter("_,.",6); //true, якщо символ 6 належить до розділювачів з рядка "_,."

s=s.LowerCase(); //перетворює рядок до нижнього регістру

double x=12.356; //змінна дійсного типу

int y=12; //змінна цілого типу

s=FloatToStr(x); //перетворити дійсне число в рядок

x=s.ToDouble(); //перетворити рядок в дійсне число

s=IntToStr(y); //перетворити ціле число в рядок

y=s.ToInt(); //перетворити рядок в ціле число

TVarRec args[4] = {" x=",x,"; y=",y}; //масив аргументів

s=Format("%s%8.3f%s%d", args, 3); //присвоїти форматований рядок

s.printf("x=%f",x); //установити значення форматованого рядка

s=s.Trim(); //видалити пробіли на початку і в кінці

Edit1->Text=s; //присвоїти властивості Text поля Edit1

TApplication - додаток (див. Також tApplicationEvents)

1.Змініть модуль Project1.cpp так:

USEFORM("Unit1.cpp", Form1);

//точка входу в додаток Windows

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

try //перехоплювати виключення

{

Application->Initialize(); //ініціалізувати

Application->CreateForm(__classid(TForm1), &Form1); //створити форму

Application->Title=Application->ExeName; //змінити підпис на ім’я exe-файлу

Application->MainForm->Caption="1"; //надпис головної форми

Application->Icon->LoadFromFile("C:/Program Files/Borland/CBuilder6/Examples/Icons/internet.ico"); //іконка

Application->ShowMainForm=false; //не показувати головну форму

Application->Run(); //виконати додаток

}

catch (Exception &exception) //при перехопленні виключення

{Application->ShowException(&exception);} //показати виключення

return 0;

}

2.Змініть модуль Unit1.cpp так:

//конструктор форми

__fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner)

//зареєструвати гарячу клавішу Ctrl+Alt+A

{RegisterHotKey(Handle,25,MOD_ALT|MOD_CONTROL,int('A'));}

//при натиску кнопки Button1

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Application->Minimize(); //звернути додаток

Sleep(2000); //зупинити виконання на 2 секунди

Application->Restore(); //відновити додаток

Form1->Refresh(); //обновити форму

Application->MessageBoxA("Terminate!","!",0); //вивести повідомлення

Application->Terminate(); //знищити додаток

}

//при перехопленні повідомлення WM_HOTKEY

//цей метод створюється за допомогою інструмента Add Method

//з вказівкою Message Handler - WM_HOTKEY

void __fastcall TForm1::WMHotKey(TWMHotKey& key)

{//якщо id гарячої клавіші=25

if (key.HotKey=25)

{

Form1->Show(); //показати форму

Application->Restore(); //відновити додаток

Application->BringToFront(); //помістити на передній план

}

}

//при знищенні форми

void __fastcall TForm1::FormDestroy(TObject *Sender)

{UnregisterHotKey(Handle,25);} //відмінити реєстрацію гарячої клавіші

//при мінімізації (звертанні) додатку

void __fastcall TForm1::ApplicationEvents1Minimize(TObject *Sender)

{

Form1->Hide(); //сховати форму

static int i=0;

//відрахувати 10 секунд зі звуковим сигналом

for (i=1;i<=10;i++)

{

Beep();

Sleep(1000);

}

}