Wednesday, April 02, 2008

except
Result := false;
end;
end;
Ještě než se dostaneme k samotnému zpracování načtených dat a jejich zobrazení, vytvoříme si jednoduchou funkci, která nám otestuje hlavičku souboru a zjistí, zda je platná či ne a jestli má tím pádem smysl, pokoušet se vypisovat nějaké informace. Funkci pak poté využijeme v další části kódu.
function HeaderOK(const WAVData: WAVRecord): Boolean;
begin
Result := true;
if WAVData.RIFFHeader <> 'RIFF' then Result := false;
if WAVData.WAVEHeader <> 'WAVE' then Result := false;
if WAVData.FormatHeader <> 'fmt ' then Result := false;
if (WAVData.ChannelNumber <> 1) and (WAVData.ChannelNumber <> 2) then Result := false;
end;
A teď už se konečně dostáváme k výpisu informací na obrazovku. Jak jsme si řekli na začátku, výpis bude součástí události OnChange komponenty FileListBox. Když se podíváte na strukturu načítaných dat na začátek článku a porovnáte s těmi daty, které vypisujeme, jistě vidíte, že jsme nepoužili všechny možnosti, ale nechtěl jsem ukázku příliš prodlužovat. Myslím, že struktura záznamu je svými názvy dostatečně popsána a tak pro vás nebude problém vypsat i další informace. Proto jsou v našem příkladu převážně ty údaje, které jsou vlastně konstantami (a asi by se slušelo je jako konstanty nadefinovat, tak promiňte to zjednodušení). Vše ostatní již z názvů v záznamu pochopíte.