Doplněk k minulé hodině - regulární výrazy
c) XML - Extensible Markup Language (rozšiřitelný značkovací jazyk)
<root> <objekt> <vlastnost1>.....</vlastnost1> <vlastnost2>.....</vlastnost2> </objekt> <objekt> <vlastnost1>.....</vlastnost1> <vlastnost2>.....</vlastnost2> </objekt> </root> |
1 | Otevřte ve www prohlížeči dokument cd_catalog.xml a vyzkoušejte sbalování položek | www |
2 | Otevřte v PSPadu soubor cd_catalog.xml a simulujte syntaktickou chybu (změňte některou značku), pak soubor uložte | PSPad |
3 | Aktualizujte ve www prohlížeči dokument cd_catalog.xml a všimněte si hlášení o chybě | www |
4 | Vytvořte v PSPadu nový dokument c:\temp\osoby\osoby.xml (Soubor - Nový - Podle šablony - XML default) s databází nejméně 3 osob - použijte vlastnosti jmeno, prijmeni, automobil, skupina (ve značkách nepoužívejte diakritiku, kódování bude "windows-1250") | PSPad |
5 | Otevřte osoby.xml v Excelu a seřaďte řádky abecedně podle příjmení | Excel |
6 | Uložte tabulku jako soubor c:\temp\osoby\osoby.csv (textový soubor s oddělovačem) | |
7 | Otevřte textový soubor osoby.csv v PSPadu, změňte kódování na UTF-8 a uložte pod jménem c:\temp\osoby\osobyutf8.csv (ověřte si správnost v hexadecimálním zobrazení - úvodní sekvence FFFE) | PSPad |
Programování textových databází
8 | V nové aplikaci IDE Lazarus vložte do formuláře Form1 prvky
|
Lazarus |
9 | Uložte projekt jako c:\temp\osoby\aplikace.lpi (uložte i unit1.pas), spusťte aplikaci (F9) |
Využití XML souboru pro uložení parametrů aplikace
10 | Drop a Misc/TXMLPropStorage component on form | Lazarus |
11 | Go to Object Inspector and open editor window for the SessionProperties property of Form1. Add here properties of form and/or controls to be stored inside xml - Form1.Left; Form1.Top; Form1.Width; Form1.Height; SpinEdit1.Value; Edit1.Text | |
12 | Spusťte opakovaně aplikaci (F9) a měňte pozici okna a hodnoty SpinEdit1 a Edit1 - ověřte ukládání aktuálních hodnot | |
13 | Po ukončení aplikace si prohlédněte obsah nově vytvořeného souboru c:\temp\osoby\aplikace.xml | PSPad |
Prvky textové databáze ve formuláři
14 | Vložte do Form1 komponentu TSdfDataset (záložka Data Access) | Lazarus |
15 | Nastavte properties:
|
|
16 | Zkuste aktivovat databázi pomocí SdfDataset.Active = true (nesmí se objevit chyba) | |
17 | Vložte do Form1 komponentu TDataSource (záložka Data Access) | |
18 | Nastavte properties: DataSource1.Dataset := SdfDataset1 | |
19 | Vložte do Form1 komponenty TDbGrid a TDbNavigator (záložka Data
Controls) a napojte je v properties na DataSource:=DataSource1 Pozn. Sloupce v DbGrid lze nadefinovat pravým tlačítkem a Editovat sloupce... |
|
20 | Spusťte aplikaci, upravte si šířku sloupců a prověřte funkčnost procházení databáze | |
21 | Přidejte do databáze 2 nové řádky s vymyšlenými údaji | |
22 | Ukončete aplikaci a vraťte se do IDE Lazarus. Ověřte přidané řádky v souboru osobyutf8.csv |
Programování
23 | Přidejte do Form1 spouštěcí button s caption=Start | Lazarus |
24 | Pro tento Button1 naprogramujte událost OnClick (dvojklikem na buttonu) - použijte kód ze souboru browsedb.txt | |
25 | Vložte do procedury příkaz pro zobrazení zprávy s příjmením osoby u aktuálně procházeného řádku (za "// udelej neco u radku"): ShowMessage(SdfDataSet1.Fields[0].Value); | |
26 | Zkompilujte a spusťte aplikaci, ověřte funkčnost | |
27 | Ukončete aplikaci aplikace.exe a vraťte se do IDE Lazarus |
28 | Vložte do formuláře prvek TMemo a nastavte u něj
|
Lazarus |
29 | Vložte do cyklu procedury Button1Click příkaz pro kopírování řádků z
procházené databáze do Memo1 tak, aby výsledné řádky šly zkopírovat přes
schránku do Excelu - musí zůstat zachovány sloupce
|
|
30 | Zkompilujte a spusťte aplikaci, ověřte funkčnost včetně vložení dat do Excelu | |
31 | Ukončete aplikaci a IDE Lazarus | |
32 | Celou složku c:\temp\osoby zkopírujte na fileserver do složky 05 |