Oni to ale nejsou stajná AVG.
V hlavním dotazu počítáš AVG díky group by name pro konkrétní jméno
V klauzulí Having říkáš že tě zajímají jen ta jména a jejich AVG, pro která platí že jejich AVG je větší než AVG ze všech záznamů v tabulce Orders.
Příspěvky odeslané z IP adresy 82.113.32.–
Systém tvému programu předává název souboru včetně cesty v parametrech.
V tvém programu se tedy podívej do ParamStr(1) jestli obsahuje název souboru a pokud ano tak si ho do synEditu načti přes metodu LoadFromFile na property Lines příslušného SynEditu.
"Účetnictví"? Tak to je krapet složitější.
V základě v něm potřebuješ 2 typy tabulek
Číselníkové - obvykle jde o záznamy typu ID, Kód, Název (např. seznam PSČ - ID, PSČ, Název Pošty), přičemž ID je pole primárního klíče a využije se ve vazbách v dokladových tabulkách
Dokladové - obvykle jde o záznamy, ve kterých se spojují informace z číselníkových tabulek a evidují další doplňkové údaje
Dokladové tabulky pak ještě bývají rozdělené na hlavičkové a řádkové.
V hlavičkové tabulce se evidují záznamy říkající třeba: k 1.4.2014 byla vystavena faktura pro zákazníka XYZ se splatností 1.5.2014 a tento zázanm je faktura číslo ABC
V řádkové tabulce se pak evidují záznamy patřící k nějaké hlavičce, třeba: K faktuře č. ABC patří 10 ks rohlíku za 10 kč se sazbou DPH 15%
Jinak Odběratele/Dodavatele sluč do jedné tabulky. V obou tabulkách eviduješ stejná data, pro rozlišení zda jde o dodavatele,odběratele nebo je obojí si tam dej pole s příznakem(příznaky)
Začni analýzou toho jaké doklady potřebuješ v účetnictví evidovat a jaké jsou jejich náležitosti.
Jak má vypadat jejich hlavička, jak řádky, ...
Postupně by ti z toho měl vyplavat ten návrh co potřebuješ
Z toho fragmentu kódu co jsi zveřejnil hádám, že se za proměnnou SG skrývá instance třídy TStringGrid.
Pokud to tak je, tak jednotlivé sg.neco jsou vlastnostmi třídy a pro instanci SG definují základní vlastnosti gridu (mřížky, matice) .
g.RowCount:=n; // počet řádek
sg.ColCount:=n; // počet sloupců
sg.DefaultColWidth:=sirka; // výchozí šířka jednoho sloupce
sg.DefaultRowHeight:=vyska; // výchozí výška jednoho řádku
sg.Width:=n*sirka+n+4; // celková šířka gridu
sg.Height:=n*vyska+n+4; // celková výška gridu
// for cykly pak do jednotlivých buňek vypisují její souřadnice
Na zive.cz kdysi vycházeli seriály o Delphi. Jejich Offline verze by jsou dostupné zde:
http://tipy-a-triky-v-delphi.wz.cz/
Co se GUI týče tak Delphi verze XE2 a novější na to můžeš jít buď přes FireMonkey (multiplatformni vektorová knihovna pro GUI) nebo přes stylování prvků VCL knihovny.
Pro starší verze Delphi (7 - XE) bych se podíval po sadě komponent pro skinování (např. http://www.alphaskins.com/)
Plus samozřejmě by jsi si musel pro některé věci napsat svoje vykreslování.
Nicméně v první řadě bych se v návrhu aplikace zaměřil na funkční jádro aplikace a finální GUI řešil až později.