Přehled vlastností, metod a událostí objektu:
--------------------------------------------------------------
Align (RW) Alignment (RW) BorderStyle (RW)
Color (RW) Ctl3D (RW) Cursor (RW)
Enabled (RW) Font (RW) Height (RW)
HelpContext (RW) HideSelection (RW) Hint (RW)
Left (RW) Lines (RW) MaxLength (RW)
Name (R) ParentColor (RW) ParentCtl3D (RW)
ParentFont (RW) ParentShowHint (RW) PopupMenu (RW)
ReadOnly (RW) ScrollBars (RW) SelLength (*RW)
SelStart (*RW) SelText (*RW) ShowHint (RW)
TabOrder (RW) TabStop (RW) Tag (RW)
Text (*RW) Top (RW) Visible (RW)
WantReturns (RW) WantTabs (RW) Width (RW)
WordWrap (RW)
--------------------------------------------------------------
Clear ClearSelection CopyToClipboard
CutToClipboard PasteFromClipboard SelectAll
SetFocus
--------------------------------------------------------------
OnChange OnClick OnDblClick
OnEnter OnExit OnKeyDown
OnKeyPress OnKeyUp OnMouseDown
OnMouseMove OnMouseUp
--------------------------------------------------------------
Legenda: * -> pouze z programu, R -> lze číst, W -> lze zadat
Komponenta Memo se používá pro zápis víceřádkového textu na formuláři. Při nastavení vlastnosti ReadOnly ji lze také použít pro zobrazení dlouhého textu bez možnosti editace.
Druh orámování textu zadává vlastnost BorderStyle, barvu podkladu zadáte ve vlastnosti Color. Můžete také změnit Font. Pokud požadujete možnost přístupu k editovanému textu na formuláři pomocí rychlé Alt klávesy, umístěte nad editovaný text komponentu Label s nastavením vlastnosti FocusControl, ve které zadáte objekt s editovaným textem.
Editovaný text lze přenášet přes schránku Windows do jiného textu. Buď uživatelsky z klávesnice, nebo z programu. Vybraný text lze označit pomocí vlastností SelStart, SelLength a SelText. Celý text lze označit metodou SelectAll, pro výmaz označené části textu se použije ClearSelection. Přenos textu mezi schránkou a objektem zajišťují metody CopyToClipboard, CutToClipboard, PasteFromClipboard.
Komponenta obsahuje mimo běžných událostí i událost OnChange, která nastane v okamžiku změny textu. Lze také použít událost OnKeyPress pro kontrolu zadávaných znaků s možností vynulování neplatných znaků.
Text je uložen ve vlastnosti Lines, kterou představuje proměnná typu StrArray. Uvedený typ proměnné má své vlastní metody pro práci s obsaženým textem. Pro zadání počátečního obsahu textu můžete použít editor přístupný z okna Nastavení objektu, který se aktivuje kliknutím na ikonu se třemi tečkami vpravo od vlastnosti Lines.
Jednotlivé řádky textu jsou z programu přístupné svým indexem, to je pořadovým číslem
řádku. Řádky jsou číslovány od nuly. První řádek má proto index nula, pátý řádek má index 4.
Pokud potřebujete zjistit obsah řádku, musíte zadat jeho pořadový index. Obsah prvního řádku
proto zobrazíte:
Jazyk KLONDAIK:
ShowMessage(Memo.Lines[0]);
Jazyk BONANZA:
ShowMessage(Memo.Lines(0))
Podobným způsobem můžete změnit obsah řádku, kdy opět zadáváte index řádku a nový
obsah. Pro druhý řádek v pořadí proto zadáte:
Jazyk KLONDAIK:
Memo.Lines[1]:='druhý řádek';
Jazyk BONANZA:
Memo.Lines(1) = "druhý řádek"
Nový řádek zadáte do textu z programu použitím metody Add následujícím způsobem:
Jazyk KLONDAIK:
Memo.Lines.Add('aaa');
Jazyk BONANZA:
Memo.Lines.Add("aaa")
Pokud potřebujete některý řádek textu zrušit, použijte volání metody Delete následujícím způsobem:
Jazyk KLONDAIK:
Memo.Lines.Delete(2);
Jazyk BONANZA:
Memo.Lines.Delete(2)
Potřebujete-li v textu vyhledat index řádku se známým obsahem, použijte funkci IndexOf:
Jazyk KLONDAIK:
ShowMessage(Memo.Lines.IndexOf('aaa'));
Jazyk BONANZA:
ShowMessage(Memo.Lines.IndexOf("aaa"))
Editovaný text můžete uložit na disk do textového souboru metodou SaveToFile, případně
načít textový soubor do textu metodou LoadFromFile:
Jazyk KLONDAIK:
Memo.Lines.SaveToFile('seznam.txt');
Memo.Lines.LoadFromFile('seznam.txt');
Jazyk BONANZA:
Memo.Lines.SaveToFile("seznam.txt");
Memo.Lines.LoadFromFile("seznam.txt");
Potřebujete-li projít celý text a provést s každým řádkem nějakou akci, použijte vlastnosti
Lines.Count. Musíte přitom počítat s tím, že se řádky číslují od nuly, počet položek řádek textu
je však uváděn od jedničky. Od počtu řádků musíte proto v cyklu jedničku odečíst:
Jazyk KLONDAIK:
for x:= 0 to Memo.Lines.Count-1 do
Memo.Lines[x] := CsWinToLat(Memo.Lines[x]);
Jazyk BONANZA:
For x = 0 to Memo.Lines.Count-1
Memo.Lines(x) = CsWinToLat(Memo.Lines(x))
Next
Editovaný text je také přístupný jako celek ve vlastnosti Text. Vlastnost je přístupná pouze z programu. Délka editovaného textu se zadává ve vlastnosti MaxLength. Standardně je zadána nula, což znamená, že délka textu je omezena velikostí do 65 Kb. Větší hodnotu nelze zadat.