Přehled vlastností, metod a událostí objektu:
--------------------------------------------------------------
Align (RW) Alignment (RW) AutoDisplay (RW)
BorderStyle (RW) Color (RW) Ctl3D (RW)
Cursor (RW) DataField (RW) DataSource (RW)
Enabled (RW) Font (RW) Height (RW)
HelpContext (RW) Hint (RW) Left (RW)
Lines (*RW) MaxLength (RW) Modified (*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)
Top (RW) Visible (RW) WantTabs (RW)
Width (RW) WordWrap (RW)
--------------------------------------------------------------
Clear ClearSelection CopyToClipboard
CutToClipboard LoadMemo 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 DataMemo se používá pro zápis a zobrazení víceřádkového textu umístěného v databázi. Při nastavení vlastnosti ReadOnly ji lze také použít pro zobrazení víceřádkového textu bez možnosti editace.
Nejdůležitější vlastností je DataSource, ve které se udává zdroj připojených dat. Položku databáze zadáváte ve vlastnosti DataField.
Pokud bude text editován uživatelsky z klávesnice, je změna zaznamenána automaticky do
databáze při změně pozice v databázi nebo na příkaz uživatele kliknutím na příslušné tlačítko
objektu DataNavigator. Při změně textu z programu musíte použít nejprve metodu Edit pro
přepnutí do editačního módu, následně změnit text a nakonec uložit provedené změny
metodou Post:
Jazyk KLONDAIK:
DataTable.Edit;
DataMemo.Text := 'abcd';
DataTable.Post;
Jazyk BONANZA:
DataTable.Edit
DataMemo.Text = "abcd"
DataTable.Post
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. Ta může nastat ve dvou případech. Buď je uživatelem změněn text z klávesnice, avšak také v případě změny textu při přechodu na nový záznam databáze. Pokud proto potřebujete ošetřit uživatelskou změnu z klávesnice, použijte událost OnKeyPress.
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í objektů, 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(DataMemo.Lines[0]);
Jazyk BONANZA:
ShowMessage(DataMemo.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:
DataMemo.Lines[1]:='druhý řádek';
Jazyk BONANZA:
DataMemo.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:
DataMemo.Lines.Add('aaa');
Jazyk BONANZA:
DataMemo.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:
DataMemo.Lines.Delete(2);
Jazyk BONANZA:
DataMemo.Lines.Delete(2)
Potřebujete-li v textu vyhledat index řádku se známým obsahem, použijte funkci IndexOf:
Jazyk KLONDAIK:
ShowMessage(DataMemo.Lines.IndexOf('aaa'));
Jazyk BONANZA:
ShowMessage(DataMemo.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:
DataMemo.Lines.SaveToFile('seznam.txt');
DataMemo.Lines.LoadFromFile('seznam.txt');
Jazyk BONANZA:
DataMemo.Lines.SaveToFile("seznam.txt")
DataMemo.Lines.LoadFromFile("seznam.txt")
Potřebujete-li projít celý text a provést s každým řádkem nějakou akci, použijte vlastnost
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:
DataMemo.Edit;
for x:= 0 to DataMemo.Lines.Count-1 do
DataMemo.Lines[x] := CsWinToLat(DataMemo.Lines[x]);
DataMemo.Post;
Jazyk BONANZA:
DataMemo.Edit
For x = 0 to DataMemo.Lines.Count-1
DataMemo.Lines(x) = CsWinToLat(DataMemo.Lines(x))
Next
DataMemo.Post
Editovaný text je také přístupný jako celek ve vlastnosti Text, která 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ší délku nelze nastavit.