Umíme to s Delphi: 150. díl – hypertextová historie seriálu

Pravidelní čtenáři před uvedením dnešního dílu už jistě tušili, co se chystá. V průběhu let, v nichž seriál vychází, totiž vznikla tradice, které se dnes přidržíme: každý padesátý díl seriálu je „bilanční“; obsahuje souhrn předchozího obsahu a hypertextový obsah předchozích padesáti částí. Nejinak tomu bude i dnes.

Stručný pohled do minulosti našeho seriálu

Jako v padesátém dílu a jako ve stém dílu, i dnes začneme trochou historie. První díl tohoto seriálu na Živě vyšel dne 19. března 2001. V době vyjití tohoto článku tedy máme za sebou čtyři roky vycházení článků popisujících jednotlivé aspekty Delphi. Měli bychom však dodat, že v průběhu vydávání vznikly tři oddychové časy.

Protože stopadesátidílný moloch není příliš šikovný na vyhledávání: z toho důvodu věřím, že vám přijde vhod dnešní hypertextové shrnutí. Ve druhé části článku tedy naleznete nadpisy a podrobné obsahy dílů 101 – 150 (obsah částí 1 až 50 je uveden v dílu číslo 50, obsah částí 51 až 100 je uveden v díle 100).

Přehled je hypertextový, to znamená, že pokud budete hledat zmíněný tisk, snadno do přehledu nahlédnete a jedním klepnutím se přenesete na odpovídající stránku. Věřím, že toto vylepšení uvítáte a že pro vás tento stopadesátý díl bude zároveň jakýmsi portálem do našeho seriálu.

Poděkování

Jako tradičně, i dnes poděkuji těm, kteří věrně seriál už přes čtyři roky sledují – jeho čtenářům.

Sto padesát dílů je ohromné množství; jen málo projektů se na takovou metu dostane. Za to, že seriál stále vychází a že o něj stále někdo stojí, patří všem čtenářům dík, stejně jako za četné maily, náměty, připomínky a dotazy. Vážím si i všech emailů, které od vás dostanu a které obsahují třeba námět na příští téma, kritickou připomínku nebo upřesnění některé zveřejněné informace. I když třeba na konkrétní mail nestihnu odpovědět, vězte, že žádný nekončí v koši a že nad všemi ideami přinejmenším popřemýšlím.

Budu rád, pokud budete svůj zájem projevovat i nadále; budu se i nadále těšit na vaše náměty a připomínky.

Hypertextový odkaz předešlé padesátky

Nyní se pojďme podívat na samotný obsah dnešní části – na hypertextový odkaz předešlých padesáti dílů. Klepnutím na nadpis článku si můžete článek přímo otevřít.

Díl 101 – operace drag & drop (táhni a pusť)

  • Drag and drop – co to je a k čemu to je
  • Operace tažení a upuštění položky v cílovém umístění
  • Ukončení tažení objektu
  • Kurzor myši při tažení

Díl 102 – operace drag & drop prakticky

  • Implementujeme operaci drag and drop
  • Vytváříme prohlížeč textových souborů podporující operaci

Díl 103 – vylepšujeme drag and drop

  • Manuální začátek tažení
  • Tažení se zahájí až po určitém počtu pixelů
  • Více než jedna zdrojová a více než jedna cílová komponenta

Díl 104 – další zjednodušení práce – komponenta ActionList

  • K čemu slouží komponenta ActionList
  • Možnost sdílení zdrojového kódu pro odezvy na více událostí
  • Práce s ActionListem
  • Praktická ukázka komponenty v aplikaci
  • Předdefinované akce
  • Vytvoření vlastní akce

Díl 105 – pod povrch komponenty ActionList

  • Podrobnosti o používání komponenty ActionList
  • Jak používat ActionList – událost OnExecute komponenty ActionList
  • Další možnost – událost OnActionExecute objektu Application
  • Třetí možnost – událost OnExecute konkrétní akce
  • Jak určit původce akce – jak zjistit, která akce vlastně nastala
  • Co když akci neošetříme?
  • Přehled předdefinovaných akcí

Díl 106 – zdroje (resources) systému Windows

  • Co jsou zdroje
  • Co je soubor se zdroji, kde ho hledat
  • Možné zdroje
  • Kdy a jak probíhá „svázání“ aplikace s jejími zdroji

Díl 107 – druhy zdrojů (resources)

  • Co všechno může být uloženo ve zdrojích
  • Tabulka akcelerátorů
  • Bitmapy
  • Kurzory
  • Dialogové boxy
  • Rozšířené metasoubory
  • Písma (fonty)
  • Ikony
  • Nabídky
  • Řetězce
  • Verze aplikace

Díl 108 – spočítejte si, kolik uspoříte

  • Finanční a matematické funkce v Delphi
  • Klasická funkce – FutureValue
  • Další funkce
  • Vytvoření ukázkové aplikace

Díl 109 – vytváříme a používáme zdroje (resources) krok za krokem

  • Zdroje v Delphi
  • Jak pracovat se zdroji v Delphi
  • Integrovaná aplikace – Image Editor
  • Vytvoření souboru se zdroji
  • Aktualizace aplikace bez nutnosti změny jejího zdrojového kódu

Díl 110 – různé jazykové verze aplikací: textové resources

  • Textové řetězce jakožto forma zdrojů
  • Vytvoření souboru s textovými řetězci – zdroji
  • Kompilace souboru
  • Vytvoření aplikace využívající textové zdroje
  • Vytvoření jiné jazykové verze aplikace bez nutnosti změny jejího zdrojového kódu
  • Možné problémy

Díl 111 – zdroje Windows: kurzory a bitmapy

  • Kurzory a bitmapy prakticky
  • Vytvoření aplikace používající uvedené zdroje
  • Načítání kurzorů
  • Funkce LoadCursor
  • Načítání bitmap
  • Funkce LoadBitmap

Díl 112 – jak funguje překladač

  • Jak probíhá překlad
  • Co všechno musí dělat překladač
  • Do hlubin překladače
  • Jednotlivé kroky překladu – lexikální analýza, syntaktická analýza, sémantická analýza
  • Další kroky – generování, optimalizace
  • Příklad překladu jednoduché konstrukce

Díl 113 – překlad a vkládání souborů

  • Preprocesing a jeho fáze
  • Soubory DFM a jejich zpracování
  • Soubory PAS a jejich zpracování
  • Soubory DPR a jejich zpracování
  • Soubory INC a jejich zpracování

Díl 114 – systémový zavaděč, možnosti překladu

  • Zavaděč – co to je a k čemu slouží
  • Relativní a absolutní paměťové adresy
  • Nastavení překladače v Delphi
  • Kontrola syntaxe

Díl 115 – optimalizace programů

  • Prohlížíme obsah projektu – Project Manager
  • Překladač Delphi a jeho možnosti nastavení – první část přepínačů, záložka Compiler

Díl 116 – jak Delphi opravdu optimalizují?

  • Jak funguje optimalizátor v Delphi
  • Ukázka různých konstrukcí
  • Optimalizátor nám může zkomplikovat život
  • Optimalizátor optimalizuje jen proměnné, nic jiného nedělá

Díl 117 – pozor na přetečení

  • Co je přetečení a jak k němu dojde
  • Nastavení překladače týkající se přetečení
  • Range checking
  • Je lepší zapnout nebo vypnout kontrolu rozsahu?

Díl 118 – testování chyb při práci se soubory

  • Popis chyb při vstupně – výstupních operacích
  • Jak chyby vznikají
  • Jak lze na chyby reagovat
  • Program netestující chyby při práci se soubory
  • Testování chyb „postaru“ - IOResult
  • Testování chyb pomocí I/O checking
  • Vlastní ošetření chyb

Díl 119 – přetečení trochu jinak

  • Přetečení a přepínač Overflow checking
  • Rozdíl mezi Range checking a Overflow checking

Díl 120 – logické výrazy a operátory v Delphi

  • Přepínač Complete Boolean Eval
  • Zkrácené vyhodnocování logických výrazů
  • Jak lze zkrácené vyhodnocování použít
  • Jak nám může zkrácené vyhodnocování zkomplikovat život
  • Přehled logických operátorů v Delphi
  • Vyhodnocování logických výrazů
  • Pravdivost a nepravdivost logických výrazů

Díl 121 – zkrácené vyhodnocování logických výrazů

  • Další informace o zkráceném vyhodnocování
  • Pravdivostní hodnoty výrazů a zkrácené vyhodnocování
  • Praktický příklad zkráceného vyhodnocování

Díl 122 – k čemu je dobré úplné vyhodnocování?

  • Má někdy smysl vypnout zkrácené vyhodnocování?
  • Praktická ukázka úplného vyhodnocování

Díl 123 – nastavení překladače: dokončení

  • Dokončení popisu překladače Delphi a možností jeho nastavení
  • Debugging a další přepínače
  • Procedura Assert

Díl 124 – programování síťových aplikací: sockety poprvé

  • Co rozumíme pojmem „síťové aplikace“
  • Princip síťových aplikací
  • Jaké jsou možnosti vzájemné komunikace aplikací

Díl 125 – serverová aplikace přes sockety

  • Praktický popis vytvoření jednoduchého síťového serveru
  • Blokující a neblokující spojení
  • Další možnosti nastavení síťové komunikace
  • TCP/IP komunikace, porty
  • Komponenty pro serverovou stranu aplikací
  • Události serverů

Díl 126 – klientská aplikace přes sockety

  • Praktický popis vytvoření jednoduchého síťového klienta
  • Klient se umí připojit k serveru a poslat mu požadavek
  • Komponenty pro klientskou stranu aplikací
  • Události klientů
  • Komunikace se serverem

Díl 127 – protokoly TCP/IP pro začátečníky

  • Podrobnosti o fungování protokolů TCP/IP
  • Dva hlavní komunikační protokoly – TCP a IP
  • Lokální softwarová smyčka, localhost, 127.0.0.1
  • DNS servery
  • Spojované služby

Díl 128 – vše o socketech

  • Co je socket
  • Rozdíl mezi blokovaným a neblokovaným spojením
  • Jak si se sockety poradit v Delphi
  • Komponenty TCPServer a TCPClient
  • Přehled vytváření klientských aplikací v Delphi

Díl 129 – klientská aplikace přes sockety od A do Z

  • ClientSocket a ServerSocket v Delphi 7
  • Jaké kroky je nutné provést při vytváření klientské aplikace v Delphi
  • Odesílání dat na server
  • Přijímání odpovědí ze serveru
  • Získávání informací o aktuálním spojení
  • Uzavření spojení

Díl 130 – serverová aplikace přes sockety od A do Z

  • Jednotlivé kroky směřující k napsání funkčního serveru
  • Serverové komponenty
  • Specifikování portů
  • Poslouchání klientů
  • Připojování ke klientům
  • Zjišťování informací o spojení

Díl 131 – serverová aplikace přes sockety od A do Z, dokončení

  • Popis rozdílu mezi blokujícím, neblokujícím, synchronním a asynchronním spojení
  • Čtení ze socketů a zápis do socketů
  • Události serveru při poslouchání
  • Uzavření socketu

Díl 132 – praktická ukázka socketů: jak si poradit s více zaslanými zprávami

  • Co si počít s vícenásobnými zprávami
  • Počet zpráv u příjemce není roven počtu zpráv odesilatele – co s tím?
  • Ukázkový klient a server

Díl 133 – časový server prakticky

  • Problematika časového zpoždění při síťové komunikaci
  • Synchronizace
  • Christianův algoritmus

Díl 134 – pod pokličku souborů MP3

  • Podstata MP3 komprese
  • Základní informace o empétrojkách
  • Metody používané při MP3 kompresi
  • Jak vyrobit empétrojku

Díl 135 – první MP3 Player v Delphi

  • Ukázka vytvoření jednoduchého MP3 přehrávače v Delphi
  • Jak v Delphi zpracovávat empétrojky
  • Drobná vylepšení aplikace
  • MediaPlayer není dokonalý – možné problémy

Díl 136 – ID3 tagy: co to je?

  • Jak obohatit hudební soubory o textové informace
  • Stručná historie ID3 tagů
  • Jaké jsou dostupné verze ID3 tagů
  • Co všechno dokáže ID3 tag uchovat

Díl 137 – ID3 tagy prakticky

  • Vytvoření ukázkové aplikace zpracovávající ID3 tagy
  • Implementace ID3v1 tagů v Delphi
  • Čtení tagu z empétrojky

Díl 138 – modifikace ID3 tagů v empétrojkách

  • Editace ID3 tagů
  • Jak pracovat s nekompatibilními typy řetězců
  • Řetězce, ukazatele na řetězce

Díl 139 – vložte si do empétrojky fotku

  • Popis druhé verze tagů - ID3v2
  • Odlišnosti nové verze od předchozí
  • Silné stránky nové verze
  • Základní vlastnosti ID3c2 tagů

Díl 140 – formát a vnitřní struktura ID3v2 tagů

  • Definice formátu tagu
  • Popis vnitřní struktury a složek tagu
  • Obecná struktura ID3v2 tagu, schéma

Díl 141 – rozšířená hlavička, padding, patička ID3v2 tagu

  • Podrobný popis zmíněných tří sekcí tagu

Díl 142 – ID3v2 tagy: hlavní součástí jsou datové rámce

  • Podrobný popis datových rámců ID3v2 tagu

Díl 143 – rámce ID3v2 tagu: dokončení

  • Popis pořadí rámců
  • Formát časových údajů
  • Jazyk rámců

Díl 144 – jak přinutit starý přehrávač, aby přehrával nové empétrojky?

  • Umístění tagu v souboru
  • Mechanismus unsynchronization

Díl 145 – praktická implementace ID3v2 tagů

  • Co dělat, chceme-li naprogramovat aplikaci podporující ID3v2
  • Jaké hotové implementace a knihovny jsou k dispozici
  • Knihovna ID3v2 pro Delphi – stažení a instalace

Díl 146 – editor ID3v2 tagů

  • Praktické vytvoření jednoduchého editoru ID3v2 tagů v Delphi
  • Načtení tagu, modifikace, opětovné uložení do souboru

Díl 147 – MP3, ID3, ID3v2 – úplné dokončení

  • Dokončení implementace jednoduchého editoru
  • Sekce initialization a finalization pascalských programových jednotek

Díl 148 – zastavujeme, ladíme a odvšivujeme

  • Integrovaný debugger Delphi
  • Body přerušení – breakpoints
  • Jaké druhy breakpointů existují
  • Jak breakpoint nastavit

Díl 149 – body přerušení, které nic nepřerušují

  • Zajímavá možnost využití breakpointů
  • Breakpointy nemusí zastavit běh programu
  • Vytvoření ostré verze z ladicí verze beze změny zdrojáku

Díl 150 – hypertextová historie

  • Přehled a obsah předchozích 50 dílů

Čtenářská aplikace pro práci s tímto seriálem

Ještě předtím, než se pro dnešek rozloučíme, rád bych shrnul možnosti prohlížení tohoto seriálu offline. Existuje několik možností.

Dále připomenu, že si kdykoliv můžete stáhnout skvěle zpracovanou offline verzi seriálu vytvořenou panem RNDr. Petrem Brantem. Stahovat můžete přímo ze stránek pana Branta, adresa je http://brant.wz.cz/.

Kromě této varianty pak nově máte ještě další možnost. Pan Pavel Polívka vytvořil program, který po svém stažení a nainstalování dokáže stahovat a spravovat všechny díly pro offline sledování a celou řadu dalších zajímavých a užitečných činností. Program je opravdu velmi povedený, má hodně funkcí a všem zájemcům o offline sledování seriálu jej doporučuji. Instalační soubory můžete stáhnout z adresy projektu.

Poslední upozornění, kterého se ode mě dnes dočkáte, se ještě týká programu pana Polívky. Na adrese http://diskuse-umime-to-s-delphi.wz.cz/index.php najdete diskusní fórum, které obsahuje několik kategorií a v němž se můžete vyjádřit jak ke kvalitě seriálu, tak i k požadavkům na výše uvedenou aplikaci. Prostřednictvím tohoto fóra můžete kontaktovat jak autora programu, tak i mě a ostatní čtenáře.

Přes řadu možností, které se vám nabízejí pro offline sledování seriálu bych vás poprosil, abyste z pochopitelných důvodů četli co možná nejčastěji jeho online verzi. Dostatečná čtenost je nejdůležitějším argumentem pro zachování seriálu a jeho další zveřejňování na stránkách serveru Živě.

Na závěr

Závěrem mi nezbývá než dodat: doufám, že se ve zdraví sejdeme u dílu číslo 200!

Váš názor Další článek: Živě hledá autora seriálu o Excelu a programování ve VBA

Témata článku: Software, Programování, Seriál, Zdroje, Hypertext, Integrovaná aplikace, Úplné dokončení, Offline, Serverová aplikace, Ostré písmo, Vnitřní struktura, Textový řetězec, Podrobná analýza, DEL, Hype, Díl, Praktická implementace, Integrovaný editor, Dialog box, Drop, Offline sledování, Dnešní přehled, Delphi, Dokončené dílo, Podrobný přehled


Určitě si přečtěte

Podívejte se, jak umírá váš laptop. Desítky na to mají mocný nástroj powercfg

Podívejte se, jak umírá váš laptop. Desítky na to mají mocný nástroj powercfg

** Hardware současných laptopů už tak rychle nestárne ** Tedy až na baterie – ty umírají děsivou rychlostí ** Ve Windows to můžete sledovat skoro v přímém přenosu

Jakub Čížek | 69

Hesla jsou zlo. Hackeři napáchali tolik škody právě proto, že vůbec existují

Hesla jsou zlo. Hackeři napáchali tolik škody právě proto, že vůbec existují

** Nikdo si je nepamatuje ** Žádné není zcela bezpečné ** Nejlepší by bylo je prostě zrušit

Jakub Čížek | 65

Pozor, na Česko v těchto dnech útočí falešné Tesco, Penny Market a Lidl

Pozor, na Česko v těchto dnech útočí falešné Tesco, Penny Market a Lidl

** Máme tu další českou phishingovou vlnu ** Podle průzkumů máme stále problém s kybernetickou gramotností ** Nebezpečím jsou děti, které opouštějí rodiče

Jakub Čížek | 37

Co je TikTok: Svérázná sociální síť chytla mladé uživatele, už jich má už 1,5 miliardy

Co je TikTok: Svérázná sociální síť chytla mladé uživatele, už jich má už 1,5 miliardy

** Sociální síť TikTok získala stamiliony uživatelů a stále roste ** Jaký obsah na ní najdete a co můžete v jejím rámci čekat? ** Je to zábava pro mladé, nebo platforma pro úchyláky?

Karel Kilián | 37

Google dosáhl revolučního milníku v kvantové nadvládě. IBM ale nesouhlasí

Google dosáhl revolučního milníku v kvantové nadvládě. IBM ale nesouhlasí

** Google představil nový kvantový čip s 53 qubity ** Oznámil, že díky němu lidstvo poprvé dosáhlo kvantové nadvlády ** IBM toto tvrzení zlehčuje

Karel Javůrek | 16

Měření rychlosti internetu: Populární Speedtest.net neřekne o skutečné rychlosti internetu téměř nic

Měření rychlosti internetu: Populární Speedtest.net neřekne o skutečné rychlosti internetu téměř nic

** Speedtest stále častěji měří jen rychlost na poslední míli ** Ta však ale neodpovídá reálnému surfování ** Jak se tedy pokusit změřit tu skutečnou?

Jakub Čížek | 85



Aktuální číslo časopisu Computer

Test 9 bezdrátových reproduktorů

Jak ovládnout Instagram

Test levných 27" herních monitorů

Jak se zbavit nepotřebných věcí na internetu