Wednesday, November 30, 2005

Závěrem

této části uveďme snad jen poznámku, že tyto postupy bohužel nezmění chování nápovědy u systémových tlačítek oken (tlačítko na minimalizaci, maximalizaci, zavření aplikace), což však celkový efekt příliš nezkazí.
Blikání ikony běžící aplikace na hlavním panelu
Určitě to dobře znáte – aplikace běžící na pozadí dokončí nějakou činnost a očekává např. další vstup od uživatele, nebo na sebe potřebuje upozornit z jiného důvodu. Ty "méně vychované" se automaticky maximalizují a skočí na popředí rovnou do vaší rozdělané práce. Slušnější aplikace na sebe snaží upoutat pozornost tím, že začne blikat ikonou na hlavním panelu. A právě tento efekt si teď ukážeme. Není to složité a je to opět pouze jednořádkový příkaz :

Všechny

tyto parametry můžete umístit na (téměř) libovolné místo zdrojového kódu, a tudíž tyto vlastnosti měnit dynamicky během programu. Neustálé změny však mohou uživatele dokonale poplést, proto je vhodné spíše zvolit jednu decentní kombinaci a umístit tento kód např. do události OnCreate hlavního formuláře.
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.HintColor:=clYellow;
Application.HintPause:=1000;
Application.HintHidePause:=3000;
Application.ShowHint:=true;
end;

Tuesday, November 29, 2005

Zobrazování/nezobrazování nápovědy

I tento parametr se často hodí. Pokud uživatel pracuje s vaší aplikací denně, patrně už ví, které tlačítko má jakou funkci, a zbytečné zobrazování nápovědy může být otravné. Proto je dobré dát uživateli možnost volby (např. v nastavení programu), zda chce či nechce tuto nápovědu ukazovat. Toho docílíme tímto kódem:
Application.ShowHint:=false;
Náš příklad způsobí, že se nápověda zobrazovat nebude. Parametr true má logicky opačný efekt.

Sunday, November 27, 2005

Doba, po kterou bude nápověda zobrazena:

Application.HintHidePause:=5000;
Opět se jedná o hodnotu v milisekundách a i zde je samozřejmě nutné volit hodnotu s rozmyslem.Vše záleží na tom, jak dlouhé obvykle bublinkové nápovědy píšete, i když se většinou nedoporučuje psát příliš dlouhá slovní spojení (od toho je zde klasická nápověda).V každém případě nastavte takovou hodnotu, aby si nápovědu bez problému a na první pokus stihl přečíst každý uživatel.

Čas,

po jehož uplynutí se nápověda zobrazí:
Application.HintPause:=2000;
Hodnota je v milisekundách, takže v našem příkladu se nápověda zobrazí za 2 sekundy. Opět je nutno volit hodnotu s rozvahou. Příliš malé číslo způsobí, že na nás bude aplikace neustále chrlit jednu nápovědu za druhou, kdykoliv myší přejedeme přes nějaký objekt. Velká hodnota naopak může netrpělivé uživatele odradit od dalšího čekání na nápovědu.

Saturday, November 26, 2005

Barva:

Standardní světle žlutá barva sice obvykle postačuje, ale někdy se nám může hodit použít barvu vlastní, a tím nápovědu ještě více zdůraznit či sladit s celkovou barevnou koncepcí vaší aplikace. Tak tedy:
Application.HintColor:=clRed;
Tímto kódem docílíme červeně zbarvených "Hintů", což není pravda příliš vkusné, ale na pochopení problému postačující. Hodnota je typu TColor, jako ostatně i u většiny ostatních běžných komponent. Nezapomeňte, že barva textu zůstane i nadále černá, a proto zvolte barvu dostatečně kontrastní, aby byl text vůbec čitelný.

Friday, November 25, 2005

Bublinková nápověda – Hint

Všichni uživatelé Windows tuto nápovědu jistě dobře znají – ukážete kurzorem na nějaký objekt aplikace a po krátké době se objeví malé žluté okno, "bublina", ve které je krátký popis daného prvku, tzv. Hint. Možná se vám zdá tato nápověda někdy nepříjemná, nebo vám vadí, že se objeví na tak krátký čas, že si ji nestačíte ani přečíst. Abyste se ve svých aplikacích těchto chyb vyvarovali, zkuste použít následujících vlastností výše zmíněné skryté třídy TApplication.

Thursday, November 24, 2005

Zde

vidíme pouhé tři řádky kódu, kde se třída TApplication vyskytuje, a pokud s Delphi začínáte, je to na dlouho i jediné místo, kde ji uvidíte (pokud si ovšem vůbec projektový soubor otevřete). Jelikož se nejedná o "klasickou" komponentu v pravém slova smyslu, nenajdete ji na paletě komponent a nemusíte ji umisťovat na žádný formulář. Proto mnozí zapomínají na některé zajímavé vlastnosti, které nám nabízí.
Po tomto krátkém úvodu si tedy rovnou ukážeme pár příkladů.

Wednesday, November 23, 2005

Nastavení jednotek

 děje se pomocí vlastnosti ScaleMode a možnosti jsou tyto:
o Twip, Point, Pixel, Milimeters, Centimeters atd…
 nedoporučuji toto nastavení měnit, protože nastavení Twip je dělané přesně na míru grafickým výstupům a to jak na obrazovku tak na tiskárnu (tam především), proto je lepší si přepočítat vše na twipy a s nimi pracovat

Technologie OLE
 OLE objekty umožňují sdílení objektů a sdílení dat mezi aplikacemi
 důležité metody a vlastnosti a pojmy jsou :
o Object Linking – vložení objektu
o Object Embending – propojení
o Program OLE – je v podstatě kdo poskytuje data
o Rámcová aplikace – umožňuje zobrazení a úpravu dat
o Object OLE – data, která přebírá rámcová aplikace za účelem jejich zobrazení nebo úpravu
o Server OLE / Klient OLE – server poskytuje / klient přijímá data
o Třída – udává, která aplikace objekt vytvořila – formální definice objektu
o Knihovna tříd - soubor nebo jeho část s popisem dostupných objektů, vlastností v rámci OLE
o Modul třídy – definice třídy
o Knihovna objektů – poskytuje informace ovladačům OLE o dostupných objektech OLE

Monday, November 21, 2005

Základní příkazy pro práci se soubory

 pro práci se soubory na DOSovské úrovni slouží tyto příkazy:
o ChDir cesta – změní aktuální adresář nebo složku
o ChDrive disk – změní aktuální disk
o FileCopy zdrojovy_soubor, kopie – zkopíruje soubor
o Kill cesta_a_jmeno – smaže soubor
o MkDir cesta – vytvoří nový adresář nebo složku
o Name stara_cesta_jmeno As cesta_a_jmeno – přejmenuje soubor nebo adresář
o RmDir cesta – smaže adresář nebo složku

Grafické výstupy
 pro práci s grafickými výstupy je především nutné nastavit souřadný systém – to se provádí pomocí metody Scale (x1,y1)-(x2,y2) – nastaví střed souřadného systému do daných souřadnic
 tedy Form1.Scale (-Form1.ScaleWidth /2, -Form1.ScaleHeight/2)-(Form1.ScaleWidth/2, Form1.ScaleHeight/2) nastaví střed souřadného systému na střed formu
 další důležité metody jsou :
o ScaleWidth – nastaví počet jednotek na celý form po ose X
o ScaleHeight – určuje počet grafických jednotek na celý form po ose Y

Sunday, November 20, 2005

Přístupy k souborům

 každý soubor lze otevřít několik způsoby a to :
o Input – soubor je otevřen pouze pro čtení
o Output – soubor je otevřen pro zápis, předtím je však smazán – používá se také pro vytváření souborů
o Append – soubor je otevřen pro zápis, ale nesmaže se
o Random – soubor je otevřen pro zápis i čtení ve speciálním formátu
o Binary – soubor je otevřen pro binární přístup
 realizace otevření je následná :

‘Otevře soubor „a.txt“ pro čtení za klíčovým slovem As je uvedeno ‘označení souboru – tedy #1 - #bůhvíkolik
Open "a.txt" For Input As #1
‘Cyklus který se provede tolikrát dokud se nenarazí na konec ‘otevřeného souboru
While Not EOF(1)
‘Pomocí tohoto příkazu se načte do proměnné „Promenna“ hodnota ‚aktuálního řádku v souboru
Input #1, Promenna
Print Promenna
Loop
‘Zavře otevřený soubor, číslo za křížkem je číslo otevřeného souboru
Close #1

‘Cyklus který se opakuje

tolikrát dokud je hodnota EOF ‘objektu dbRecordset False
Do Until dbRecordset.EOF
‘Přidá do objektu List1 vždy hodnotu z aktuálního záznamu z pole „Pole1“
List1.AddItem dbRecordset.Fields("Pole1").Value
‘Přesune se v databázi na další záznam
dbRecordset.MoveNext
Loop

Práce se soubory
 práce se soubory se provádí pomocí standardních ovládacích prvků DriveListBox, DirListBox a FileListBox
 tyto objekty se spolu navzájem prováží a to tak, že objekt DriveListBox předá objektu DirListBox označení vybraného disku (a to takto DirListBox.Path=DriveListBox.Drive)
 dále objekt DirListBox předá hodtou Path objektu FileListBox, ve které je uloženy cesta vybraného adresáře (a to takto FileListBox.Path = DirListBox.Path)
 a pomocí objektu FileListBox se dá již normálně pracovat se s vybranými soubory a to na stejném principu jako se pracuje s ovládacím prvkem ListBox
 poznámka : všechny tyto příkazy se pro funkčnost programu musí psát do události Change


Private Sub Dir1_Change() ‘OP DirListBox se jmenuje Dir1
File1.Path = Dir1.Path ‘OP FileListBox se jmenuje File1
End Sub

Private Sub Drive1_Change() ‘OP DriveListBox se jmenuje Drive1
Dir1.Path = Drive1.Drive
End Sub

Friday, November 18, 2005

Pomocí programové kódu

 práce s databází pomocí programového kódů je o něco složitější, ale poskytuje větší volnost a možnosti, už jen třeba tím, že můžeme vytvářet SQL Dotazy
 pokud chceme pracovat s databázemi je potřeba navázat refernce na knihovnu Microsoft DAO Object Library
 potom celé programování vychází s objektu DBEngine – v něm jsou uloženy všechny nástroje pro práci s databázemi

Dim dbDatabase As Database ‘deklarace proměnné databáze
Dim dbRecordset As Recordset ‘deklarace recordsetu (jako u data)

‘otevře do proměnné dbDatabase datatabázi „database.mdb“
‘nezapomeňte na klíčové slovo SET bez něj to nefunguje
Set dbDatabase = DBEngine(0).OpenDatabase("database.mdb")
‘Otevře do proměnné dbRecordset tabulku „Tabulka1“
Set dbRecordset = dbDatabase.OpenRecordset("Tabulka1")

Thursday, November 17, 2005

Objekt DATA

 objekt data – slouží k propojení databáze s rozhraním Visual Basicu
 důležité vlastnosti jsou tyto :
o Connect – určuje typ dokumentu (Access, Excel, FoxPro…)
o DatabaseName – značí jméno souboru i s cestou
o RecordSource – zdroj (tedy jméno tabulky, listu, či bůhvíčeho)
 toto byly nejdůležitěší vlastnosti objektu Data, teď ale jak propojit tuto databázi s ovládacími prvky, které máme na ploše? Jednoduše pomocí dvou vlastností:
o DataField – určuje které pole z datábáze bude zobrazeno v tomto ovládacím prvku (u excelu je to který sloupec – myslím)
o DataSource – určuje zdroj dat – v projektu můžeme mít více objektů data a proto se musí určite z kterého budou data brána
 dalšími důležitými metodami objektu data je podobjekt Recordset, přes něj se provádějí veškeré operace s otevřenou databází a to zejména:
o MoveNext, MovePrevious – přesune se na další, předchozí záznam
o MoveLast, MoveFirst – přesune se na první, poslední záznam
o EOF, BOF – tyto hodnoty jsou nastaveny na True pokud se v databázi nacházíme na konci respektive na začátku
 tedy pokud například chcem přesunou o jedne záznam dál píšeme :
o Data1.Recordset.MoveNext

Tuesday, November 15, 2005

Práce s kancelářskými aplikacemi

 pokud chcete pracovat s kancelářskými aplikacemi (myslí se produky firmy Microsoft), je potřeba nejdříve nastavit na tuto aplikaci Refence. (menu ProjectReference)
 vyberte požadovanou knihovnou – pro práci s Wordem Microsoft Word 9.0 object library
 poté již můžete normálně pracovat s objekty, které obsahuje daný program
 pro zjištění jaké objekty obsahuje, či jaké mají metody a vlastnosti doporučuji se podívat do ViewObject browser (F2) kde se lze všechny tyto informace dočíst

Práce s databází
 pokud chceme pracovat s databázemi máme ve Visual Basicu v podstatě dvě možnosti – buď pomocí objektu Data nebo pomocí programového kódu (respektive propojení s knihovnou programu Microsoft Access)

Skrytá třída TApplication,

která je vždy automaticky přidána do každé aplikace a je jakýmsi "prostředníkem" mezi aplikací a Windows, na první pohled pro začínajícího uživatele nic nenabízí a mnozí o její existenci ani netuší. Pokud vytvoříte novou aplikaci a otevřete si její projektový soubor (koncovka .DPR), zpravidla uvidíte něco podobného tomuto:
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};

{$R *.RES}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

Monday, November 14, 2005

Ovládací prvky ActiveX

 pomocí ActiveX vlastně vytváříme nové ovládací prvky
 jsou prvky, které jsou podporováný firmou Microsoft
 ActiveX je program, který je možné vkládat například do :
o Internet Exploreru
o Microsoft Office
o do Visual Basicu…
 program je uložen v jednom souboru a to s příponou *.OCX
 velkou nevýhodou je funkčnost těchto programů pouze na platformě MS Windows
 vytváření je následující : dejte volbu z menu New Project a vyberte ActiveX Control, dále pomocí standardních postupů vytvořtě vámi požadovaný ovládací pvek a pomocí contextového menu FileMake jméno_vašeho_projektu.ocx zkompilujte a pak ho již můžete vložit do vaši aplikace jako nový ovládací prvek

Sunday, November 13, 2005

Základní ovládací prvky

 PictureBox – slouží pro práci s obrázky, jeho rozšířenější variantou je Image
 Label - objekt nejčastěji používaný k popiskám, lze do něj ukládat jakýkoliv text
 TextBox – používá se pokud potřebujeme aby uživatel zadal nějakou hodnotu
 CommandButton – tlačítko – bez komentáře
 ListBox – je vlastně grafické vyjádření pole, funguje na stejném principu
 ComboBox – je výběrové pole, se kterým se pracuje podobně jako s ListBoxem
 DriveListBox, DirListBox, FileListBox – slouží pro práci se soubory a adresáři

Friday, November 11, 2005

Projekt a jeho části

 projekt se ve Visual Basicu může skládat prakticky z těchto částí :
 Form – je základní prvek umíťují se na něj ovládací prvky, představuje každé jedno okno, které se nám otevře po spuštění programu
 MDIForm – je v podstatě mateřský form pro formy jejichž vlastnost MDIChild je nastavena na True, neumisťují se na něj ovládací prvky, zpravidla jen kontextová menu
 Module – standardní basický modul slouží pro deklarování globálních proměných a pro definici globálních procedur a funkcí
 Class Module – v class modulu se také definují proměnné a procedury, jeho využítí je však globálnější, programuje se tak aby ho někdo mohl vzít a použít ve svém programu
 User Control – část, která se využívá při programování ActiveX – viz. dále

Thursday, November 10, 2005

visual basic

Program řízený událostmi
 je vlastně objektovým programováním
 každému ovládacímu prvku jsou přiřazeny nějaké události, do kterých se píše programový kód, a které se vykonají právě jen, když je splněna podmínka pro spuštění dané události
 nejčastějšími událostmi jsou Click, DblClick, Change…
 jméno události se vždy skládá z názvu ovládacího prvku a názvu události : tedy například událost Click prvku Command1 je Command1_Click

Wednesday, November 09, 2005

cas

Žijeme v době, kdy nás počítače obklopují na každém kroku. Jejich výhodou je možnost ovlivnit své chování podle našich potřeb. Proto i ten nejlepší počítač nedokáže pracovat bez programu, který mu dává instrukce, jak se za kterých okolností chovat. Proto bude vždy nutné, aby určitá skupina lidí byla schopna tyto programy tvořit. Myslím si, že programátoři budou i při sebedokonalejším technickém vybavení spolutvůrci systémů, které ulehčují lidem práci. Mezi základní znalosti každého programátora patří alespoň minimální znalost Jazyka symbolických adres, kterému říkáme assembler. Protože tvorba složitějších programů jen v ASM86 by byla zdlouhavá, nabízí se možnost vytvářet je ve vyšším programovacím jazyce, a v assembleru tvořit jen ty jeho části, které se často opakují, a přitom není jejich tvorba náročná. Tyto bloky se nejlépe programují v tzv. vloženém assembleru.

Monday, November 07, 2005

php

Kdo se psaní stránek věnuje delší dobu, zjistí, že některé věci nemůže realizovat bez serverových programů. PHP je (zjednodušeně řečeno) programovací jazyk vsuvek, které se dají vkládat do obyčejných HTML souborů. Symbolicky zapsáno:html zdroj, a zase html zdroj Soubory s takovými vsuvkami se pojmenovávají příponou *.php (a jinými). Při požadavku na php stránku server prochází soubor a vsuvky programově vyhodnocuje, takže klientovi odesílá už čisté HTML.

Sunday, November 06, 2005

prikazy


Tento párový příkaz mění velikost písma. Hodnota x může nabývat hodnot 1 až 6, přičemž 1 je velikost největší a 6 nejmenší.

Pokud chcete použít písmo, které neodpovídá žádnému ze zde uvedených stylů použijte příkaz:


Tento příkaz dokáže naprosto změnit písmo, velikost, styl i barvu. Je párový a má následující parametry:

FACE="název_fontu" Určuje jméno písma, které bude použito. Toto písmo musí mít úplný název, tj. takový, jaký má písmo ve vašem OS.
SIZE=x Určuje velikost písma v stupnici od -3 do 6 (-3 nejmenší, 6 největší)
COLOR=#RRGGBB Určuje barvu písma v hexadecimálních číslech RGB (#RRGGBB). Opět můžete použít základní barvy.

Wednesday, November 02, 2005

tvorba netovych obchodu

Design internetového obchodu je jedna z důležitých částí celého souboru faktorů, které působí na zákazníka – pozitivně i negativně. Do tohoto souboru patří například přehlednost obchodu, množství informací o zboží, dostupnost kontaktů na provozovatele obchodu, prodejní funkce obchodu, jako je možnost srovnání více druhů zboží nebo vyhledávání podle zadaných kritérií, a mnoho dalšího.Každý tento faktor je však pro každého zákazníka důležitý jinak. Stejně tak i design hraje více či méně důležitou roli v tom, jestli se potenciální zákazník rozhodne své těžce vydělané peníze utratit u nás nebo u naší konkurence. Vycházet musíme ze dvou hlavních faktů:
Zákazník se v drtivé většině o nákupu rozhoduje podvědomě a teprve poté si jej racionálně zdůvodní.
Internetový zákazník nakoupí jen v tom obchodě, kterému bude důvěřovat.