Жолдармен жұмыс үшін мәліметтер типтері Нуль- терминальды жол char[]



бет2/2
Дата07.02.2022
өлшемі31,66 Kb.
#85251
1   2
Байланысты:
Зертханалық жұмыс №7

Функцияның аты

Қызметі

Strcpy (st1, st2, )

st2 жолындағы ақпаратты st1 жолына көшіреді

Strncpy (st1,st2, kol)

st2 жолдың kol символын st1 жолға көшіреді

Strcat (st1, st2)

st2 жолындағы ақпаратты st1 жолына біріктіреді және бұл бірігу st1 жолының жаңа мәні болады

Strncat( st1, st2, kol)

st2 жолдың kol символын апарып st1 жолға біріктіріп қосады, алынған жаңа мәнді st1 жолға меншіктейді

Strcmp (st1, st2)

st1 мен st2 жолдарын салыстырады. Егер st1> st2, онда нәтиже теріс, егер st1= st2, онда нәтиже нөлге тең, егер st1< st2, онда нәтиже оң

Strcmp
i (st1, st2)

strcmp(st1 st2) функциясының қызметін орындайды, тек регистерді есепке алмайды және латын әліпбиі үшін

Strstr( st1, st2)

st1 жолында st2 ішкі жолының алғашқы кездесуін анықтайды

Strlcn( st1)

st1 жолының ұзындығың береді (‘\0’- нультерминатор есепке алынбайды)

Strchr (st, c)

с параметрінде берілген символдың st жолдағы ең алғашқы табылуын анықтайды.

strrchr(st1, st2)

C параметрінде берілген символдың st жолдағы ең соңғы кездесуін аңықтайды

strbrk(st1, st2)

st2 жолдың кез келген символының st1 жолдағы алғашқы кездесін аңықтайды

strset(st, c)

St жолдағы барлық символды с параметрінде берілген символмен алмастырады

strnset(st, c, kol)

st1 жолдағы kol символдарды с параметрінде берілген символмен алмастырады

strcspn(st1, st2)

st1 жолдың st2 жолының символымен сәйкес келетін алғашқы символының орның анықтайды

strrev(st)

St жолдың символдарын кері ретпен орналастырады

аtoi(st)

St жолын бүтін типке түрлендіреді (int)

аtol(st)

St жолын ұзын бүтін типке түрлендіреді (long)

аtof(st)

St жолын нақты типке түрлендіреді (double)

Itoa(a, st, kod)

Бүтін типті (int) санды st жолына түрлендіреді



2 AnsiString типі
С++ Builder-де объектіге бағдарланған программалауға негізделген қосымшалар құруда жолдармен немесе ұзын мәтіндермен жұмыс жасау үшін AnsiString типі енгізілген. Бұл AnsiString типі класс түрінде анықталып, тақырыптық файлында жарияланған. AnsiString типінде функциялардың үлкен жинағы бар. AnsiString типі түрінде анықталатын жолдар соңына да нуль- терминаторлар автоматты түрде қойылады. AnsiString классының негізгі әдістері:
C_str() – берілген str жолдың символдарын сол күйінде сақтай отырып соңы нуль-терминалмен аяқталатын символдық массив түріндегі жолға ауыстырып және сол жолдың адресін көрсететін көрсеткішті қайтарады.
FloatToStr() – нақты саннан жолға форматтап аудару.
IntToHex() – оналтылық санды аудару. Екінші параметр цифрдың ең аз саны.
StrToInt(), StrToDouble() – жолдарды сандарға аудару, сәйкесінше int, double.
Delete(), SubString() – симводарды өшіру және ішкі жолды көшіру.
Pos() – 1ден бастал5ан жол аргумент3н34 позициясы.
Length() – жол ұзындығы.
5.2 TListBox, TComboBox, TBitButton компоненттерімен жұмыс
TlistBox компоненті элементі не пернетақта не тышқан көмегімен таңдалатын тізімді ұсынады. Элементтер тізімі Items қасиетін, Add, Delete және Insert әдістері арқылы жолдарды қосуды, өшіруді және енгізуді қолдана отырып беріледі. Items объектісі тізімдерде бар жолдардысақтайды. Белгіленген элементтің нөмірін анықтау үшін ItemIndex қасиеті қолданылады.
TComboBox аралас тізім TlistBox тізімі мен TEdit редакторының комбинациясы ұсынады, сондықтан да осылардың барлық қасиеттері мұнда да бар деуге болады. Редактрлеу терезісімен жұмыс үшін Tedit компонентіндегідей Items қасиеті қолданылады. Компоненттің бес модификациясы бар, олар оның Style қасиетімен анықталады. csSimple модификациясында тізім әрқашан ашық, қалған жағдайларда редактордың оң жағындағы батырманы шерткенде ашылады.
TBitBtn компоненті компоненттер политрасының Additional бетінде орналасқан және TButton стандартты батырмасының тағы бір түрін білдіреді. Оның ерекшелігі батырма бетінде Clyph қасиетімен анықталатын рстрлық бейненің болуы. Сонымен қатар 11 стандартты түрлі батырмаларды бере алатын Kind қасиеті бар. BkCstom және BkHelp басқаларын шертсе модальді терезені жабады және (мысалы blOk- mrOk) нәтижесін программаға әкеледі. bkClose батырмасы бас терезені жабады және программаның жұмысын тоқтатады.
3 Программа жазу мысалы
Қолданушы формасында 3 тізім орналасу қажет.Тізімдердің бірі құстардың атауларын қамтиды.Қолданушы осы тіщзімнен «Жыртқыш құстар» және «Жыртқыш емес құстар» деп аталатын тізімдерге элементтерді тасымалдай алу керек және керісінше.Бұл жағдайда тасымалданатын элемент өзі тұрған тізімнен өшірілу керек. Мысалы,»үйрек» элементін жалпы тізімнен "Жыртқыш емес құстар» тізіміне көшіргенде ол жалпы құстар тізімінен жойылуы қажет. Осылайша үш тізімдегі барлық элементтердің жалпы саны үнемі тұрақты болады.Элементтердің тізімдер арасында тасымалдануы сәйкесінше батырмалар арқылы іске асу қажет.
Форма құру үшін келесі компоненттер қолданылады:
Label – жазбалар үшін,ListBox-тізімдерді шығару үшін,Button-әрекеттерді орындау үшін.Сұхбат терезе 1- суретте көрсетілген.

.1- мысалдың сұхбат терезесі
Осы программаны іске асыруды қадамдап орындаңыз:
Алдымен С++Builder программасын іске қосыңыздар.іске қосқанда бірден жаңа жоба құрылады. Жобаны сақтау үшін File/Save Project As командасын орындаңыз,өз бумаңызға сақтаңыз.Жобаның бірнеше файлдары сақталады.

  • Компоненттер тақтасынан Standard бетін таңдап label A,Button және ListBox компоненттерін ұсынылатын формаға сәйкес орналастыпрыңыз.

  • Label объектілерінің жазбаларын өзгертіңіз,ол үшін Объектілер инспекторы тақтасынан ұсынылған формаға сәйкес Caption қасиетін редакторлеңіз.

  • ListBox –ті құстар атауларымен толтыру үшін ол объектіні тышқанды шерту арқылы белгілеңіз және Объектілер инспекторы тақтасынан Items қасиетінің өрісін тауып алыңыз.Осы өрістегі үш нүктесі бар батырманы шерткен уақытта String List Editor терезесі пайда болады,осы терезеде барлық құстардың атауларын тізіп жазып шығыңыз:Аққу,Қаз,Үйрек,Лашын,Шағала, Тырна,Бүркіт,Торғай,Шымшық,Тауық,Қарға,Сауысқан,Қыран,Сұңқар.

  • Төрт батырманың да Caption қасиетін редакторлеңіз(>,<,>,<).

Енді ListBox2 -ден ListBox1- ге жолдарды тасымалдаудың кодын жазыңыз.
#include
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i;
AnsiString s;
if (ListBox2->ItemIndex<0)
{ShowMessage("2-тізімнен жолды белгілеңіз");
return;}
i=ListBox2->ItemIndex;
s=ListBox2->Items->Strings[i];
ListBox1->Items->Append(s);
ListBox2->Items->Delete(i);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int i;
AnsiString s;
if (ListBox1->ItemIndex<0)
{ShowMessage("1-тізімнен жолды белгілеңіз ");
return; }
i=ListBox1->ItemIndex;
s=ListBox1->Items->Strings[i];
ListBox2->Items->Append(s);
ListBox1->Items->Delete(i);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
int i;
AnsiString s;
if (ListBox2->ItemIndex<0)
{ShowMessage(“2-тізімнен жолды белгілеңіз”);
return;}
i=ListBox2->ItemIndex;
s=ListBox2->Items->Strings[i];
ListBox3->Items->Append(s);
ListBox2->Items->Delete(i);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
int i ;
AnsiString s;
if(ListBox3->ItemIndex<0)
{ShowMessage("3- тізімнен жолды белгілеңіз ");
return;}
i=ListBox3->ItemIndex;
s=ListBox3->Items->Strings[i];
ListBox2->Items->Append(s);
ListBox3->Items->Delete(i); }

Достарыңызбен бөлісу:
1   2




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет