2. Memo obyektining asosiy xossalari. Memo obyektiga qancha matn kiritish mumkin? Unga chegara bormi? Albatta, bor. Bu obyektga kiritilgan matnda ko‘pi bilan ta harf va boshqa belgilar bo‘lishi
mumkin. Bu esa 1000 dan ortiq matn satri degani.
Lekin, biz bu obyektda matn kir chiqarishni mo‘ljallagan edik. Agar biz unga foydalanu kirgiza olmasligini xohlasak, bu obyektning ReadOnly (faqat o‘qish uchun)
nomli xossasini False (yolg‘on)True(rost)dangao‘tkazishimiz kerak:
Memo ga kiritilgan matn uning Text xossasida saqlanadi. Unda bittadan ko‘pmatn satrlari bo‘lishi mumkin. Matn satrlarini bir-biridan ajratish uchun ular orasiga satr oxiri va satr boshiga o‘tish belgilarini qo‘yish kerak bo‘ladi. Buni quyidagicha amalga oshirish mumkin.
Memo1.Text:=’1-satr’+#13+#10+-’2;
Undan foydalanishni o‘rganish uchun dastlabki ta natural sonning
kvadratlarini topadigan ilova yaratamiz. Unga bittadan Memo, Edit, Button obyektlarini joylab xossalarini quyidagi rasmda ko‘rsatilgandek qilib o‘zgartiramiz:
Button tugmasini ikki marta bosib, ekranda paydo bo‘lgan protseduraga quyidagilarni kiritamiz:
procedure TForm1.Button1Click(Sender: TObject);
128
var i,i2,n:integer; begin
n:=StrToInt(Edit1.Text);
for i:=1 to n do begin i2:=i*i; Memo1.Text:=Memo1.Text+IntToStr(i)+'ning_kvatrat
i: '+IntToStr(i2)+#13+#10; end;
end;
Ilovani ishga tushiramiz va dastlabki 100, 1000 ta natural sonning kvadratlarini topamiz.
Memoning Text xossasi bilan ishlash bir oz noqulay, chunki uning uzunligi 65 minggacha bo‘lishi mumkin. Uning o‘rniga Lines (qatorlar) xossasidan foydalanish mumkin. Lines matn satrlari massivi bo‘lib, bu massivning kerakli elementiga uning indeksi orqali murojaat qilish mumkin.
Masalan, Memo1.Lines[0]:=’123’+matnningbirinchiMemo1satri.Lin
(satrlarni raqamlash 0 dan boshlanadi) boshiga 123 ni qo‘shib qo‘yadi. Lines aslida xossa emas, obyekt bo‘lib, uning o‘zi xossalarga va
usullarga ega. Masalan, Memo1.Lines.Clear barcha satrlarni o‘chirib tashlaydi. Memo1.Lines.Count xossasi orqali matnda nechta satr borligini
bilib olish mumkin. Memo1.Lines.Add(‘Oxirgimatnoxirigayangi sat satr qo‘shadi va unga Oxirgi satr degan jumlani kiritadi.
Yangi satrni matnning ixtiyoriy joyiga qo‘shish mumkin. Buning uchun Memo1.Lines.Insert usuli mavjud. Masalan, Memo1.Lines.Insert 5-satr’);operatori beshinchi satrdan oldin yana bitta yangi 5-satr degan
satrni kiritadi. Keyingi satrlar esa bitta pastga suriladi.
Lines ning yana ikkita foydali usuli bu SaveTo va LoadFrom bo‘lib, ular yordamida obyektga kiritilgan matnni matn formatida faylga saqlab qo‘yish va saqlab qo‘yilgan matnni obyektga yuklash mumkin. Masalan, Memo1.Lines\a1.SaveTo(‘d:.txt’);operatoriMemoga kiritilgan matnni d: diskdagi a1.txt nomli faylda saqlab qo‘yadi.
Memo1.Lines.\a1LoadFrom(‘d:.txt’);operatorisaqlabqo‘yilgan faylni obyektga yuklab oladi.
129
Do'stlaringiz bilan baham: |