Delphi ортасында программалау негіздері


Delphi ортасында программалау негіздері

Символдар және жолдар

Компьютер тек сандық айнымалыларды ғана емес символдық айнымалыларды да өңдейді. Delphi тілінде символды ақпараттар жеке символдармен де беріледі, жолдармен де беріледі.

Символдар

Символдрды сақтауда және өңдеуде айнымалылар типінің Ansichar және wideChar түрлері қолданылады. Ansichar типі АNSI-символов жинақтығынан тұрады, яғни әрбір символ сегіз разрядты екілік сандармен кодталған. wideChar типі Unicode мен кодталған символдардың жиынтығынан тұрады, яғни әрбір символ екі байтпен кодталған.

Символды типті айнымалы мәніне кез келген символ жатады:

  • Орыс әріптері немесе латын алфавиттері;
  • сандар;
  • тыныс белгілері;

Символды типті айнымалы айнымалыларды жазу бөлімінді жазылады. Жалпы түрде жазылуы :

Имя: char;

ондағы:

  • имя -символды типтегі айнымалы аты;
  • char - символды типтегі айнымалыны көрсететін кілтті сөз.

Мысалы:

otv: char; ch: char;

Программадағы кез-келген айнымалылар сияқты char типтегі айнымалылар меншіктеу құрылымы орындалғаннан кейін ғана мәнге ие болады. Егер char типтегі айнымалы меншіктеу операциясы орындалғаннан кейін мәнге ие болса, онда := мына белгінің оң жағында char типі көрсетілуі керек.

Жолдар

Программада жолдар келесі типтермен жазылуы мүмкін: Shortstring , Longstring и Widestring . Бұл типтер бір-бірінен айырмашылығы жолдың енгізілетін ұзындығына байланысты және символдарды кодтау әдістеріне байланысты болады.

Shortstring айнымалы типі сттистикалық тұрғыда программа орындалғанға дейін символдар саны бұл жолда 255 тен аспауы керек. Longstring және Widestring айнымалы типі динамикалық тұрғыда программа жұмыс істеп тұрған кезде жолдың ұзақтығына шектеу қоймайтын тип.

Аталған айнымалылар типінің ішіндегі универсалды жолдық тип String жиі қолданылады. String типі Shortstring типіне эквивалентті.

Жолдық типтегі айнымалы, айнымалыларды беру бөлімінде көрсетілуі керек. Жалпы түрде құрылымның жазылуы мынадай:

Имя: String;

немесе

Имя: String [длина]

Бұл жердегі:

  • имя - айнымалылар аты;
  • string- Жолдық типті білдіретін кілттік сөз;
  • длина- бүтін типтегі тұтақты.

Жолдық типтегі айнымалыны көрсету:

name: string[30] ;

buff: string;

Жолдық айнымалыларға және тұрақтыларға қосу операциясын қолдануға болады, орындау нәтижесінде жаңа жол алынады. Мысалы:

first__name: ='Иван' ;

last_name:='Иванов';

ful_name:=first_name+last_name;

айнымалы ful_name 'Иван Иванов' мәніне ие болады.

Жолдармен орындалатын операциялар

Delphi тілінде жолдармен жұмыс істейтін бірнеше функциялар мен процедуралар бар. Төменде сол жазбалар келтірілген:

Функция length

Length функциясы жол ұзындығын қайтарады. Бұл функцияның бір ғана параметрі бар - ол жолдық типтің өрнектелуі. L ength функциясының мәні символдар саны болып табылады, яғни ол долдар санымен сәйкес.

Мысалы:

n:=length('Иванов') ;

m:=length('Невский проспект') ;

значение переменных n и m будет равно 6 и 16.

Delete процедурасы

Delete процедурасы жолдың бір бөлігін өшіреді. Жалпы түрдегі жазбасы:

delete(Строка, р, n )

где:

  • Строка - Жолдық типтегі жолдар немесе тұрақтылар;
  • р- символ номері, жойылатын жолдағы;
  • п- жойылатын дол ұзындығы.

Мысалы, орындау барысында:

p:='Город Санкт-Петербург';

delete(s, 7, 6) ;

s айнымалы 'Город Петербург' жолымен жазылады.

Роs функциясы

роs функциясы жолдың астынғы жолын көрсетеді. Жалпы түрде:

pos (Подстрока, Строка) ;

Cору функциясы

Функция сору арқылы жол фрагментін ерекшелеуге болады. Жалпы түрде функция сору мына түрде жазылады:

сору( Строка, р, n ) ;

Массивтер

Массив - бұл берілгендер құрылымы , бір атпен берілген, бір типтегі айнымалылар жиынтығы. Массивтер шығу тегі бір болып келген мәліметтерді сақтауға қолданылатын кестелер мен тізімдер түрінде кездеседі.

Массив элементі - массивке енетін жеке айнымалы;

Индекс - бұл сандық тұрақты немесе бүтін арифметикалық өрнек.

Массива элементінің индексі - массив элементінің номері.

Массивтермен жұмыс

Бір атау арқылы байланыстырылған бір типті айнымалылардың (не олардың мәндерінің) жиынтығы массив деп аталады. Сызықтық массив және матрицамен жұмыс істеу негіздері Паскальдағы сияқты. ) Қолданылатын элементтеріне санына байланысты, массивтер бірөлшемді(жолдық), екіөлшемді(кесте түрінде), үшөлшемді болып беріледі.

Бір өлшемді массивтерде тек бір ғана индекс арқылы массив элементін көрсетеді.

Екі өлшемді массивтерде - екі индекс, жолды және бағандарды көрсетеді.

Массив өлшемдері индекстер санымен анықталады .

Массив өлшемі - массив индекстерінің өзгері диапазонына байланысты.

Массив кез-келген программадағы айнымалы сияқты, қолданар алдында айнымалыларды көрсететін бөлімде көрсетілуі керек. Жалпы түрде жазылуы келесідегідей:

Аты: array [төменгі индекс. . жоғарғы_индекс] of тип;

бұл жердегі:

  • аты -массив атауы;
  • array -Delphi-дегі арнай қызыметші сөз(массив атауын білдіреді) ;
  • төменгі_индекс жәнежоғарғы_индекс- массив элементтерінің индексінің өзгеру диапазонын көрсететін бүтін тұрақты сандар;
  • тип -массив элементінің типі;

Массивтердің берілуіне мысал:

temper: array [1. . 31] of real;

коef :array [0. . 2] of integer;

name: array [1. . 30] of string [25] ;

const

NT = 18; // дәрілер саны

SN = 25; // дәрілер атауларының шектеулі ұзындығы

var

lekarstvo: array[1. . NT] of string[SN] ;

Программада массив элементтерін қолдану үшін, ең алдымен массив атауы мен элементтер санын (индексін), индекстерді тік (квадрат) жақшаларда көрсету керек. Индекс ретінде тұрақты және бүтін өрнек типі қолданылады, мысалы:

lekarstvo[1] := 'Аспирин';

d := koef[l] *koef[l] -4*koef[2] *koef[1] ;

temper[i] := StrToFloat(Edit1. text) ;

Имя:array [нижний_индекс. . верхний_индекс] of тип = (список) ;

Бұл жердегі тізім - массив эементтерінің мәні (үтірмен жазылған) . мысалы:

a: array[10] of integer = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0) ;

lekarstvo: array[1. . 5] of String[15] =

('Аспирин', 'Анальгин', 'Ношпа', 'Цитрамон', 'Баралгин') ;

Массивтерге орындалатын операциялар:

  • массивтерді енгізу;
  • массивтерді шығару;
  • массивтің максималды немесе минималды элементтерін іздеу;
  • массивтің берілген элементін іздеу;
  • массивтерді сұрыптау.

Массивтерді шығару

Массивтерді шығарғанда монитор экранында массив элементтерінің мәні жазылады. Егер программада массив элементтерінің барлық мәнін шығару керек болса, ол үшін for операциясының құрылымын қолданған ыңғайлы, бұл жердегі for массив элементінің индексі ретінде де қолданылуы мүмкін.

24. 1 мысал суретінде көрсетілгендей массив элементтерін шығарда қажет сұхбат терезесінде (белгілер алаңында) нөмірленген дәрілер тізімі жазылып шығады. Берілген тізімді жазу кезінде командалар тізімі әдеттегідей тізім болу үшін Label1. AutoSize қасиетінде False мәнін қабылдау керек. (керісінше Label1. AutoSize қасиетіне True мәнін қабылдаған кезде программаның қалай өзгеретіндігін тексеру керек) .

Массивтерді шығару инициализациялау

unit lek;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Label1: TLabel;

procedure ButtonlClick(Sender: TObject) ;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

($R *. dfm}

const

NT = 5;

var

lekarstvo:array[1. . NT] of string[10] =('Аспирин', 'Анальгин', 'Ношпа', 'Цитрамон', 'Баралгин') ;

procedure TForml. ButtonlClick(Sender: TObject) ;

var

st:string; // список лекарств

i:integer; // индекс, номер элемента массива

begin

// формирование списка для отображения в форме

for i:=l to NT do st := st + IntToStr(i) + ' '+ lekarstvo [i] + #13;

// вывод списка

Label1. Caption := st;

end;

end.

Массивтерді енгізу

Массивтерді енгізу үшін қолданылатын компоненттер StringGrid және Memo болып табылады. Берілген мәндер тізбегі программада кестеде орындалады, әр сандық мәні жеке ұяшықтарда жазылады. Төменде массивтерді енгізудің екі жолы қарастырылған.

StringGrid компонентін қолдану

Массивтерді енгізуде StringGrid компонентін қолдану қолайлы. Бұл компоненттің шартты түрде белгіленуі компоненттер политрасында Дополнительно (Additional) деп аталатын бөлімінде орналасқан. (сурет. 24. 2) .

Сурет 24. 2. StringGrid компоненті

StringGrid компоненті кестеден тұрады. 24. 1кестесінде StringGrid . компонентінің кейбір қасиеттері көрсетілген.

Кесте 24. 1. StringGrid компонентінің қасиеттері

Қасиеттері
Анықтайды
Қасиеттері: Name
Анықтайды: Компонент аты. Программада компонент қасиеттеріне көрсетеді
Қасиеттері: ColCount
Анықтайды: Кестедегі бағандар саны
Қасиеттері: RowCount
Анықтайды: Кестедегі жолдар саны
Қасиеттері: Cells
Анықтайды: Кестеге сәйкес екі өлшемді массив. Кесте ұяшықтары, бағанның қиылысқан жердегі нөмірі col және жолдың нөмірі row, cells [col, row] элементі арқылы анықталады.
Қасиеттері: FixedCols
Анықтайды: Кестенің солжақ бағандарының белгіленген саны. Белгіленген бағандар ерекшеленіп тұрады.
Қасиеттері: FixedRows
Анықтайды: Кесте жолдарының жоғарғы бөлігіндегі белгіленгендер саны
Қасиеттері: Option. goEditing
Анықтайды:

Кесте ұяшықтарының мәндерін түзетуге мүмкіндік береді

True - түзетуге болады, False - болмайды.

Қасиеттері: Options. goTab
Анықтайды: ( True ) иә немесе ( False ) жоқ үшін <Таb> пернесін пайдаланылады.
Қасиеттері: Options. GoAlwaysShowEditor
Анықтайды: Редактрлеу режимінде компоненттерді табу белгілері. Егер қасиет мәні False болса, онда ұяшықта курсор шығу үшін текст жазу керексоңында <F2> пернесін басу керек.
Қасиеттері: DefaultColWidth
Анықтайды: Кестедегі бағаннның ені
Қасиеттері: DefaultRowHeight
Анықтайды: Кесте жолдарының биіктігі.
Қасиеттері: GridLineWidth
Анықтайды: Кестедегі ұяшықтарды шектейтін жолақ қалыңдығы
Қасиеттері: Left
Анықтайды: Кестенің сол жақ бөлігінен форманың сол жақ бөлігіне дейінгі аралық
Қасиеттері: Top
Анықтайды: Кестенің жоғарғы жақ жақтаулары мен форманың жоғарғы жақ жақтауларының аралығы
Қасиеттері: Height
Анықтайды: Кесте алаңының биіктігі
Қасиеттері: Width
Анықтайды: Кесте алаңының ені
Қасиеттері: Font
Анықтайды: Кесте ұяшықтарына қаріптерді қолдану
Қасиеттері: ParentFont
Анықтайды: Формадағы қаріптердің сипаттамасы

Стандартты типті түрлендіру функциялары:

Функция: Функция
Орындайтын іс - әрекеті: Орындайтын іс - әрекеті
Функция:

StrToFloat(x)

FloatToStr(x)

FloatToStrF(x, f, s, o)

StrToInt(x)

IntToStr(x)

Орындайтын іс - әрекеті:

Кескіні жолдық типті болатын х нақты санын қалпына келтіру

х нақты санын жолдық типті ету

х нақты санын форматты жолдық типке түрлендіру. Мұндағы f- формат (кескіндеу форматы) . Ол көбінесе ffGeneral не ffFixed түрінде жазылады;

s-барлық цифрлар саны (дәлдік) ;

о- ондық нүктеден соң жазылатын цифрлар саны (ондық дәлдік), мысалы, FloattostrF(x, ffFixed, 7, 3) ;

Кескіні жолдық типті х бүтін санын қалпына келтіру;

Х бүтін санын жолдық типті ету

(IntToStr-- Integer to String, т. с. с. ) .

Memo компонентін қолдану

Массивтерді енгізуде кейде Memo . компоненті қолданылады. Бұл компонент арқылы өте үлкен жолда текст жазуға болады. Көбіне символды массивтер енгізуде қолайлы. Memo компоненті формаға қою үшін Стандартные (Standard) бөліміне көшеу керек (сурет. 24. 3) .

Сурет 24. 3. Memo компоненті

Кесте 24. 2 Memo компонентінің кейбір қасиеттері көрсетілген .

Кесте 24. 2. Memo компонентінің қасиеттері

Қасиеттері
Анықтайды
Қасиеттері: Name
Анықтайды: Компонент атауы.
Қасиеттері: Text
Анықтайды: Memo алаңындағы мәтін.
Қасиеттері: Lines
Анықтайды: Memо алаңы дағы текст. Біріккен жолдар ретінде қарастырылады. Жолға өту номері арқылы орындалады
Қасиеттері: Lines . Count
Анықтайды: Memo алаңындағы текст жолдарының саны
Қасиеттері: Left
Анықтайды: Алаңның сол жағы мен форма жиегінің сол жағына дейінгі аралық
Қасиеттері: Top
Анықтайды: Алаңның жоғарғы жақ жиегінен форманың жоғарғы жақ жиегіне дейінгі аралық
Қасиеттері: Height
Анықтайды: Алаң биіктігі
Қасиеттері: Width
Анықтайды: Алаң ені
Қасиеттері: Font
Анықтайды: Енгізілетін текст шрифті
Қасиеттері: ParentFont
Анықтайды: Форманың өзінің шрифті

Memo компонентін қолданып массивтерді енгізу үшін массив элементтерінің әрқайсысын жеке жолдарға енгізеді және енгізгеннен кейін <Enter> пернесін басу керек.

Символды массивтерді енгізуде цикл процедурасының негізі Memo компонентінде мына түрде болады:

for i:=l to SIZE do

a [ i ] := Memol. Lines[i] ;

где:

  • SIZE- массив өлшемін анықтайтын атауы бар тұрақты ;
  • а - массив;
  • Memo1- Memo-компонентінің атауы;
  • Lines-Memo, компонентінің қасиеті.

24. 4 суретінде программа формасы көрсетілген.

Сурет 24. 4. Қосымша сұхбат терезесі. Массивтерді енгізу Memo компонентінен массивтерді жолға енгізу

unit fr_memo_; interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls;

type

TForm1 = class(TForm)

Memo1: TMemo;

Button1: TButton;

Label1: TLabel;

procedure ButtonlClick(Sender: TObject) ;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Forml: TForm1;

implementation

($R *. DFM}

procedure TForml . ButtonlClick(Sender: TObject) ;

const

SIZE=5; // массив өлшемі

var

a:array[l. . SIZE] of string[30] ; //массив

n: integer; // Memo енгізілген жолдар саны

i:integer; // массив элементінің индексі

st :string;

begin

n:=Memo1. Lines. Count;

if n = 0 then begin

ShowMessage('Берілгендер енгізілмеген!') ;

Exit; // оқиғаларды түзетіу процедурасынан шығу

end;

// Memo алаңында мәтін бар

if n > SIZE then begin

ShowMessage('Жолдар саны массив өлшемдерінен артық') ;

n:=SIZE; // тек SIZE бірінші жолдары енгізіледі

end;

for i:=1 to n do

a[i] :=Form1. Memol. Lines[i-1] ; // Memo жолдар нольден бастап нөмірленген

// хабарлама терезесінде массивтерді шығару

if n > 0 then begin

st:='Енгізілген массив:'+#13;

for i: =1 to n do

st:=st+IntToStr(i) +' '+ a[i] +#13; ShowMessage(st) ;

end;

end;

end.

24. 5 суретінде массивтерді енгізудің сұхбат терезесі көрсетілген. Енгізу пернесіне басқаннан кейін мына терезе ашылады:

Сурет 24. 5. Қосымша терезе Массивті енгізу

Сурет 24. 6. Memo-поля арқылы енгізілген жазба

Практикалық жұмыс №5

1. Тапсырманың қойылымы:

Программа құру:

Программа шақырылғаннан кейін орындаушы массив элементтерінің мәндерін енгізеді. Вычислить бастырмасын басқаннан кейін программа массив элементтерінің арифметикалық мәнін есептеп береді.

Сурет 24. 7

2. Программаны жасау жобасы:

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Delphi программалау тілін оқыту әдістемесі
Электронды оқулықтың тиімділігі
XXI ғасыр елімізде қоғамдық информатикаландыру
Delphi-де мәліметтер қорын құру технологиялары жайлы ақпарат
Интерактивті тапсырма және оны жасақтауға қолайлы бағдарламалық құралдары
Delphi-дің графикалық мүмкіндіктерін қолдана отырып қозғалатын бағдарлама құру
Delphi бағдарламасын қолданып мәтіндік редакторын құру және онымен жұмыс істеу мүмкіндіктерін көрсететін бағдарлама құру
Delphi программалау тілі
Delphi ортасынның графикалық мүмкіндіктерін сипаттайтын программа
Дельфи ортасында тізімдермен жұмыс істейтін компоненттер
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz