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’lumotlarni 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.
Memo1.Text:=’1-satr’+#13+#10+’2-satr’;
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);
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_kvatrati: '+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’+ Memo1.Lines[0] matnning birinchi satri (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(‘Oxirgi satr’) matn oxiriga yangi 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(4, ‘yangi 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.SaveTo(‘d:\a1.txt’); operatori Memo ga kiritilgan matnni d: diskdagi a1.txt nomli faylda saqlab qo‘yadi. Memo1.Lines.LoadFrom(‘d:\a1.txt’); operatori saqlab qo‘yilgan faylni obyektga yuklab oladi.
Do'stlaringiz bilan baham: |