2. Memo obyektining asosiy xossalari. Memo obyektiga qancha matn kiritish mumkin? Unga chegara bormi? Albatta, bor. Bu obyektga kiritilgan matnda ko'pi bilan 216=65536 ta harf va boshqa belgilar bo'lishi mumkin. Bu esa 1000 dan ortiq matn satri degani.
Lekin, biz bu obyektda matn kiritishni emas, unga ma'lumotlami chiqarishni mo'ljallagan edik. Agar biz unga foydalanuvchi ma'lumot kirgiza olmasligini xohlasak, bu obyektning ReadOnly (faqat o'qish uchun) nomli xossasini False (yolg'on) dan True (rost) ga o'tkazishimiz kerak:
Memo ga kiritilgan matn uning Text xossasida saqlanadi. Unda bittadan ko'p matn 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:
Memol.Text:='1-satr'+#13+#10+'2-satr';
Undan foydalanishni o'rganish uchun dastlabki n 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 quyidagilami kiritamiz:
128
procedure TForml.ButtonlClick(Sender: TObject); var i,i2,n:integer;
begin n:=StrToint(Editl.Text);
for i:=1 ton do begin i2:=i*i;
Memol.Text:=Memol.Text+IntToStr(i)+'ning kvatrat i: '+IntToStr(i2)+#13+#10;
end; end;
Ilovani ishga tushiramiz va dastlabki 100, 1000 ta natural sonnmg kvadratlarini topamiz.
Memoning Text xossasi bilan ishlash bir oz noqulay, chunki uning uzunligi 65 minggacha bo'lishi mumkin. Uning o'miga Lines (qatorlar) xossasidan foydalanish mumkin. Lines matn satrlari massivi bo'lib, bu massivning kerakli elementiga uning indeksi orqali murojaat qilish mumkin. Masalan, Memol.Lines[0]:='123'+ Memol.Lines[0] matnning birinchi satri (satrlami 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, Memol.Lines.Clear barcha satrlami o'chirib tashlaydi. Memol.Lines.Count xossasi orqali matnda nechta satr borligini bilib olish mumkin. Memol.Lines.Add('Oxirgi satr') matn oxiriga yangi satr qo'shadi va unga Oxirgi satr degan jumlani kiritadi.
Yangi satmi matnning ixtiyoriy joyiga qo'shish mumkin. Buning uchun Memo I.Lines.Insert usuli mavjud. Masalan, Memo I.Lines.Insert(4, 'yangi 5-satr'); operatori beshinchi satrdan oldin yana bitta yangi 5-satr degan satmi 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, Memol.Lines.SaveTo('d:\al.txt'); operatori Memo ga kiritilgan matnni d: diskdagi al.txt nomli faylda saqlab qo'yadi.
Memol.Lines.LoadFrom('d:\al.txt'); operatori saqlab qo'yilgan faylni obyektga yuklab oladi.
129
Do'stlaringiz bilan baham: |