Premium

Získejte všechny články
jen za 89 Kč/měsíc

Programování pro PalmOS počítače krok za krokem (56)

V tomto dílu si uvedeme několik funkcí, které budeme používat pro zpracování příkazů menu na kartě Editace.

4.25. Funkce pro ovládání schránky

Operační systém PalmOS obsahuje podporu schránky pro přenos textu mezi jednotlivými aplikacemi. Text v políčku můžeme označit tažením pera po displeji. Po označení části textu jej můžeme vyříznout nebo zkopírovat do schránky. Text ve schránce zůstává až do doby, kdy do schránky vložíme text jiný, tedy i po skončení naší aplikace.

void FldUndo(FieldType* políčko)

Vrátí zpět poslední operaci v políčku.

Vstupní parametry
  • políčko - ukazatel na datovou strukturu s daty políčka

Funkce FldUndo() vrátí zpět poslední změnu, kterou jsme v políčku udělali. Tato funkce je schopna vrátit zpět vložení nebo vymazání znaku, vložení textu ze schránky i vymazání části textu políčka.

void FldCut(FieldType* políčko)

Vyřízne označený text a vloží jej do schránky.

Vstupní parametry
  • políčko - ukazatel na datovou strukturu s daty políčka

Funkce FldCut() nejprve zkopíruje označený text v políčku do schránky, poté jej vymaže z políčka. Nastaví příznak špinavého políčka. Pokud nebyl žádný text označen nebo pokud není políčko možno měnit, funkce krátce pípne.

void FldCopy(FieldType* políčko)

Zkopíruje označený text do schránky.

Vstupní parametry
  • políčko - ukazatel na datovou strukturu s daty políčka

Funkce FldCopy() zkopíruje označený text do schránky. Pokud nebyl označen žádný text, funkce signalizuje neúspěch krátkým pípnutím.

void FldPaste(FieldType* políčko)

Vloží text ze schránky na pozici kursoru do políčka.

Vstupní parametry
  • políčko - ukazatel na datovou strukturu s daty políčka

Poslední ze systémových funkcí pro práci se schránkou je funkce FldPaste(). Tato funkce vloží text, který je ve schránce, na pozici kursoru v políčku. Byl-li v políčku nějaký text označen, bude vloženým textem přepsán. I tato funkce nastaví příznak špinavého políčka.

Předchozí funkce, pracující se schránkou, používaly jediný parametr: ukazatel na data políčka. Vkládaný i kopírovaný text je přímo převzat z políčka. Pokud chceme vložit do schránky nějaký text programově, musíme použít funkci ClipboardAddItem(), které jako první parametr předáme hodnotu clipboardText.

void ClipboardAddItem(ClipboardFormatType formát, void *data, UInt16 délka)

Vloží data (například text) do schránky.

Vstupní parametry
  • formát - konstanta označující typ dat, která do schránky chceme vložit. Pro vložení textu musí mít tento parametr hodnotu clipboardText.
  • data - ukazatel na text, který si přejeme do schránky vložit
  • délka - počet znaků textu, který si přejeme do schránky vložit (bez ukončujícího znaku '\0')

Funkce ClipboardAddItem() může do schránky vložit nejen text, ale například i obrázek nebo nastavení barvy. Každému objektu, který je uložen ve schránce, odpovídá jiná hodnota parametru formát a schránka může obsahovat právě jeden záznam od každého typu. V této knize budeme schránku používat pouze pro přenos textu mezi aplikacemi (parametr formát bude mít vždy hodnotu clipboardText).

4.26. Ovládání výběru textu v políčku

Tažením pera po textu políčka může uživatel označit část textu v políčku. Označený text je zobrazen inverzně a může být vložen do schránky nebo vymazán. Označit text v políčku je však možno i programově - funkcí FldSetSelection().

void FldSetSelection(FieldType* políčko, UInt16 začátek, UInt16 konec)

Označí (invertuje) text v políčku.

Vstupní parametry
  • políčko - ukazatel na datovou strukturu políčka
  • začátek - pozice prvního označeného znaku (první znak v políčku má pozici 0)
  • konec - pozice následující po posledním označeném znaku v políčku

Chceme-li označení textu v políčku zrušit, zavoláme funkci FldSetSelection() se stejnými parametry začátek i konec. V takovém případě (například po zavolání FldSetSelection (políčko, 0, 0)) je výběr v políčku zrušen. Chceme-li označit druhý a třetí znak v políčku, zavoláme funkci FldSetSelection (políčko, 1, 3)

void FldGetSelection(const FieldType* políčko, UInt16* začátek, UInt16* konec)

Vrátí index prvního a posledního znaku označeného textu v políčku.

Vstupní parametry
  • políčko - ukazatel na datovou strukturu políčka
Výstupní parametry
  • začátek - pozice prvního označeného znaku
  • konec - pozice následující po posledním označeném znaku v políčku

Pokud jsou hodnoty začátek a konec, které vrátí funkce FldGetSelection(), stejné, nebyl v políčku označen žádný text. Pokud uživatel označí první dva znaky v políčku, má parametr začátek po volání funkce FldGetSelection() hodnotu 0 a parametr konec hodnotu 2.


Příště si dokončíme popis několika funkcí, které použijeme při zpracování příkazů na kartě Editace.

  • Nejčtenější

Neomezená data dává O2 ještě levněji než dříve. S odměnou jsou za hubičku

15. dubna 2024  7:02

Základní datově neomezený tarif za cenu nižší, než standardně stojí tarif s 12 GB dat? U O2 na...

Doma si natáhnete neviditelné kabely k internetu. Huawei ukázal inovace

17. dubna 2024

Huawei na každoroční roadshow ukázal v Praze své inovace pro letošní rok. Vedle průmyslových...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

K mobilu teď dostanete televizi zdarma a levnější jsou také iPhony

16. dubna 2024,  aktualizováno  10:12

Výrobci mobilních telefonů se už zase začínají předhánět ve výhodných nabídkách. Přímé slevy jsou...

Apple ukázal, že přejít na iPhone 15 Pro z předchůdce nemá smysl

11. dubna 2024

Apple na svém webu zveřejnil nástroj pro snadné srovnání vybraných modelů iPhonu. Uživatelé...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Čínský smartphonový standard dorazil do Česka. Není co vytknout, ani cenu

17. dubna 2024  7:02

Motorola představila hned tři modely z top řady Edge. První se začne prodávat model Edge 50 Pro,...

Ultra smartphone i odlehčená novinka. Motorola zahustila nabídku

18. dubna 2024

Společně s modelem Pro se na český trh chystají ještě další dvě novinky od Motoroly. Jednou je...

Čínský smartphonový standard dorazil do Česka. Není co vytknout, ani cenu

17. dubna 2024  7:02

Motorola představila hned tři modely z top řady Edge. První se začne prodávat model Edge 50 Pro,...

Doma si natáhnete neviditelné kabely k internetu. Huawei ukázal inovace

17. dubna 2024

Huawei na každoroční roadshow ukázal v Praze své inovace pro letošní rok. Vedle průmyslových...

K mobilu teď dostanete televizi zdarma a levnější jsou také iPhony

16. dubna 2024,  aktualizováno  10:12

Výrobci mobilních telefonů se už zase začínají předhánět ve výhodných nabídkách. Přímé slevy jsou...

Akční letáky
Akční letáky

Prohlédněte si akční letáky všech obchodů hezky na jednom místě!

Náhle zemřel zpěvák Maxim Turbulenc Daniel Vali, bylo mu 53 let

Ve věku 53 let zemřel zpěvák skupiny Maxim Turbulenc Daniel Vali. Letos by se svou kapelou oslavil 30 let na scéně....

Vykrojené trikoty budí emoce. Olympijská kolekce Nike je prý sexistická

Velkou kritiku vyvolala kolekce, kterou pro olympijský tým amerických atletek navrhla značka Nike. Pozornost vzbudily...

Rohlík pro dítě, nákup do kočárku. Co v obchodě projde a kdy už hrozí právník?

V obchodech platí pravidla, která občas zákazník nedodržuje. Někdy se navoní parfémem, aniž by použil tester, nebo...

Charlotte spí na Hlaváku mezi feťáky, dluží spoustě lidí, říká matka Štikové

Charlotte Štiková (27) před rokem oznámila, že zhubla šedesát kilo. Na aktuálních fotkách, které sdílela na Instagramu...

Ve StarDance zatančí Vondráčková, Paulová, hvězda Kukaček i mistryně světa

Tuzemská verze celosvětově mimořádně úspěšné soutěže StarDance britské veřejnoprávní televizní společnosti BBC se už na...