Zápis do souboru v Java

Jako první v Eclipse vytvořím soubor “soubor.txt” který musí být umístěn v adresáři nějak takto:

zapis do souboru v java 1

Soubor si načtu pro zápis takto. Musím tam hodit include stejnojmené třídy.

Soubor je ready a můžu do něj zapsat. Můžu dokonce psát na řádky pomocí “\n”.

Do svého .txt souboru jsem ale ještě nic nenapsal, můj text “ahoj” a odrádkování je uložen do nějaké mezi paměti, abych to ale zapsal do souboru musím ukončit zápis.

Abych četl soubor musím si ho iniciovat pro čtení. Musím taky nastavit BufferedReader na soubor, který chci číst. Buffer vezme chary v tom souboru a připraví je pro čtení.

Vytvořím si pomocný string a pomocí while vypisuji obsah souboru, dokud je co vypisovat.

Potom po sobě uklidím a zavřu jak soubor tak ten BufferedReader.

Pokud by jste chtěli do souboru zapisovat efektivněji, máte možnost použít BufferedWriter. Jeho výhoda je že malé zápisy si uloží a zapíše pak při dostatečné velikosti vše jako jeden velký zápis.

 

stahnout_zdrojak
Klikni pro zdroják

Ukazatele v C++

Ukazatel má v sobě adresu paměti.  Ukazuje na místo v paměti, kde je něco uloženého. Pokud je to celé číslo, vytvoříme ukazatel např. takto:

Máme dvě možnosti jak uložit do paměti nějaké data:

První možnost s použitím new:

Výstup pak bude: 7 003E4BA8. Nesmíme zapomenout, že paměť, kterou jsme použili musíme vyčistit:

Pozor: Nesmaže se adresa, ale to, co bylo uložené v té paměti, v našem případě hodnota 7, adresa zůstane a můžeme jí používat dál.

Druhá možnost bez new:

Výstup pak bude: 5 008AF810. Protože jsme nepoužili new nejde uvolnit paměť. Adresa je číslo, které jednoznačně určuje pozici v celé paměti počítače. Značíme pomocí “&” (& = “ampersand“).

Můžeme si udělat pole pomocí ukazatelů a naplnit ho:

Takle se dají vypsat prvky v tom poly:

Takle uvolníme paměť. Výhoda je, že po uvolnění paměti pole můžu definovat pole jiné velikosti, ale ukazatel bude pořád stejný.

stahnout_zdrojak
Klikni pro zdroják

Operátory v C++

Kdyby operátor (např.: “+”) nebyl přetížen, nebude sčítat – neví totiž jak, aby fungoval musím ho přetížit.

Když si vezmu příklad s komplexníma číslama a vytvořím si v hlavičce třídu Complex a dám do ní vlastnosti takle:

Můžu potom vytvořit konstruktor (místo dva – s a bez vstupních parametrů jsem to napsal tak, že vstupní parametr je nadefinovaná nula a jen když do konstruktoru jde vstupní hodnota, tak se přepíše. A metodu na přetížení operátoru +.

Všimněte si, že jsem tam dal i metodu na přetížení “+=”. Ta ale nemá návratovou hodnotu – protože výsledek přičtu ke vstupní hodnotě.

Tady je definice konstruktoru, který je definován výše:

Tady pak definice metody pro přetížení opetárotu “+”. Výsledkem operátoru plus je nové komplexní číslo.

a tady definice metody bez návratové hodnoty pro operátor “+=”. Plus rovná se (přičítání), nevracím novou hodnotu ale upravím vstupní hodnotu.

Kdyby jste chtěli přetipovat celé číslo na double. Dá se tak automaticky pomocí metody double(). Všimněte si, že návratová metoda je definovaná pomocí toho double() a nedefinuje se stupeň přístupu (public, private…)

 Instanční nebo statická. Naše příklady jsou v instančních metodách, poznáte to tak, že se pracuje s “this”. Přetížení instanční metody -> posílám tam jen jeden vstupní parametr, druhý si beru pomocí toho this. Kdyby se dělala staticky, musí tam být oba vstupní parametry a this nemůžu využít.

V C++ existují i funkce nejsou vázány na třídu, pochází z jazyka C, kdy nebylo objektové programování.

stahnout_zdrojak
Klikni pro zdroják

Zápis do souboru v c++

Začnu tím, že si ve Visual studiu vytvořím prázdný c++ projekt. Potom si vytvořím třídu main a hlavičku. Tohle se mimochodem dá dělat i pomocí čarovného Class Wizard.

zapis do souboru v c++ 0
Class Wizard: CTRL + SHIFT+ X nebo pravým v solution explorer

Pro zápis do souboru v c++ musíme nejdřív vytvořit soubor ve složce “Resource Files“.

zapis do souboru v c++ 1

.txt se nachází v kartě utility nebo prostě do vyhledávání v pravo nahoře v novém okně napište .txt. Můj soubor se jmenuje: Text.txt

Do souboru se dá zapsat takto. Všimněte si, že soubor jsem si otevřel pro zápis, zapsal a zavřel.

Do souboru jsem tedy vložil úspěšně svůj text. Teď bych ho rád přečetl.  Musím soubor zase otevřít.

Když mám otevřený soubor musím definovat nějaký string, kam si uložím hodnoty, které přečtu + nějak to vypsat. Nejlepší je pro to while, který pojede tak dlouho, dokud v souboru bude, co číst.

Soubor pak už zase zavřu pomocí tohodle:

A je hotovo. Stáhni si zdroják, kde je funkční příklad. ;)

stahnout_zdrojak
Klikni pro zdroják

 

 

Java JFrame

Třída JFrame má v sobě konstruktor, který je title. Vytvořím si tedy okno.

Eclipse zase pomůže a řekne, že si musím naimportovat knihovnu:

java jframe 1

Když tak udělám a postím svůj program nic se nestane. Můj objekt okno má vlastnosti viditelnosti a velikosti, které musím udat abych okno nějak zobrazil.

Normálně tam má být i vlastnost setDefaultCloseOperation, ta je ale defaultně ve widlích nastavená na zavření okna křížkem v roku, takže nemusíte nastavovat a ono to funguje i bez toho. wow! Tady už vidíte okno, které jsem si udělal.

java jframe 2

Do okna bych si rád přidal nějaké prvky, klasika je nějaký text (text label) nebo tlačítko. Začnu tlačítkem. V java se používá pro přidávání prvků do okna takovej panel. Můžete to tam fláknout, ale pak se s tím nedá moc pracovat.

Panel si deklarujete takle. Musíte samozřejmě přidat knihovnu na JPanel – eclipse ale ráda  pomůže. :)

Panel není vidět, ale má vlastnost background, kde mu můžete nastavit barevné pozadí a on pak vidět bude. Můžete to udělat takto:

Výsledek pak bude, okno s černým panelem, což vlastně je výplň okna:

java jframe 3

Přidáme tlačítko. To se přidá do panelu. Všimněte té hierarchie.
Button -> Panel -> Okno

Výsledek je pak tahle super krása:

java jframe 4
Hodím si tam ještě nějaký text pomocí JLabel. Musím změnit barvu, protože mám černé pozadí, tak aby bylo něco vidět. :)

Tady je pak výsledek:

java jframe 5

Rozhodl jsem se přidat ještě ActionListener – prostě akci po kliku na tlačítko. Vytvořím si třídu akce a vytvořím event, kde se po kliku ukáže error okno s textem “ahoj!”.

Do mainu pak přidám tento event na tlačítko, které tam už mám:

Výsledek po kliknutí na tlačítko je pak tohle:

java jframe 6

Nezapomeň si stáhnout i zdroják, kde najdeš celý funkční příklad. :)

stahnout_zdrojak
Klikni pro zdroják

Pole v Java

Deklarace pole v javě musí mít definovanou velikost, to je jeden ze tří důvodů mezi Polem a ArrayListem. U ArrayListu se totiž velikost definovat nemusí. Další rozdíl je, že pole spotřebovává méně paměti než ArrayListy, které mají stejnou kapacitu a poslední, k prvkům v poli se přistupuje rychleji.

Tady vidíte jak deklarovat pole v java.

Pro naplnění pole použiji for cyclus a protože tam nechci mít stejné hodnoty jako je index tzn. index 0 = 0, index 1 = 1 atd. udělám naplnění pomocí třídy Random.

Hodná Eclipse, poradí, že se musí přidat util Random. Tak přidáme.

pole v java 1

Takto pak vypadá výstup:

pole v java 2

Více rozměrné pole v java můžeme udělat následovně. Může sloužit třeba pro zapamatování hodnot z nějakého souřadnicového systému.

Moje krásné pole s náhodnýma hodnotama od 0 do 100 jsem se rozhodl seřadit. Nejjednoduší cestou je použití fukce sort().

Výpis pak je následovný:

pole v java 3

Stáhněte si zdroják, je tam i možnost zápisu do pole z klávesnice.

stahnout_zdrojak
Klikni pro zdroják

C# aplikace pro připojení k MS SQL pomocí SqlConnection

Použiju databázi, kterou jsem si nedavno udělal v rámci hrátek v MS SQL Manageru. Vypadá následovně:

navod na tvorbu klienta v c# 1
Databáze ke které chci udělat připojení pomocí C#

Celé kouzlo připojení tvoří třída SqlConnection. Stačí když přidáme using nahoru a můžeme s touto třídou dál pracovat.

Kdyby jste byli líný jako já a napsali rovnou ten objekt:

Nic se neděje, protože Visual Studio 2012 rádo poradí a udělá vše.

navod na tvorbu klienta v c# 2

Když už máte objekt z třídy SqlConnection, v mém případě se jmenuje “Spojeni”, tak můžete zavolat konstruktor, kde doplníte, jak se má ten objekt dostat k Vaší databázi. V mém případě je to takle:

V mém případě se pro připojení používá tzv. Windows Authentication. Normálně, protože je bezpečnější se používá tzv. SQL Server Authentication ta vypadá trochu jinak, třeba takto:

Celé tohle připojení jsem hodil do try a catch. Abych viděl, jestli to funguje píše to pak “Připojeno!” – “Chyba!”. :D Raději bych použil exceptions, ale to jindy.

Aby jste mohli pracovat, je potřeba připojení otevřít a je hezké po sobě uklidit a zavřít.

Pomocí SqlCommand si můžu udělat nějaký select na mojí databázi, musí se to ale stát když je připojení otevřené.

Pomocí SqlDataReader jsem schopen s tím, co vrátí databáze jako výsledek mého dotazu pracovat. Tady vidíte, jak vypisuji vysledek pomocí while a for.

 

Takto pak vypadá apka, co jsem si udělal, po připojení zmáčknu enter a ono to vypíše abecedně seřazené příjmení zaměstnanců, co mám v databázi.

navod na tvorbu klienta v c# 3

Toť zatím vše, stáhněte si níže zdroják celé easy apky, co používá SqlConnection.

stahnout_zdrojak

MS SQL Server – Popis, instalace, verze, popis služeb (4)

Část 4: Verze & edice

V předchozí části byla instalace SQL serveru, instalace SQL manageru a nějaké hrátky s Managerem, teď se podíváme jaké jsou vlastě verze a edice SQL serverů.

Verze Microsoft SQL Server

Verze MS SQL serveru se dají rozdělit na dvě části. Vše před verzí 8.0 a vše potom. Od verze 8. totiž MS SQL kompletně přepsali, všechny předešlé verze byli totiž na Sybase. Hlavní výhodou verzí 8 a výše je kompatibilita.

  • Microsoft SQL Server 1.0 (1989) – založeno na systému Sybase
  • Microsoft SQL Server 4.21 (1995)
  • Microsoft SQL Server 6.0 (1995)
  • Microsoft SQL Server 6.5 (1996)
  • Microsoft SQL Server 7.0 (1998)
  • Microsoft SQL Server 2000 – 8.0 (2000) – přepsáno jádro
  • Microsoft SQL Server 2005 – 9.0 (2005)
  • Microsoft SQL Server 2008 – 10.0 (2008)
  • Microsoft SQL Server 2010
  • Microsoft SQL Server 2012
  • Microsoft SQL Server 2014

Edice Microsoft SQL Server

edice_mssql2012
Zdroj: Zive.cz/…

Nejčastěji používána edice je Enterprise. Rozdíl mezi edicema je hlavně v tom, na co se používají.

 

 

MS SQL Server – Popis, instalace, verze, popis služeb (3)

Část 3: Hrátky v Server Management Studio 2012

Už víme, jak nainstalovat SQL, jak nainstalovat Management Studio, ale ještě jsme pořádně nic neudělali s tou SQL databází, tak jdeme na to.

Vytvořil jsem si databázi “Firma” a v ní zatím jen dvě tabulky. Chci udělat aby zaměstnanci byli rozděleni do platových skupin.

Server Management Studio 2012 1 hrátky

Nějaké atributy tabulky… Důležitá věc, protože jsem línej a nechci furt psát čísla ID, chci je generovat automaticky, tak v properties dám na hodnodu “Identity Specification” na yes. Btw. v MySQL se to jmenuje auto-increasement a dost často se mě to plete. Server Management Studio 2012 2 hrátkyTady jsem si spojil v diagramu ty dvě tabulky pomocí cizího klíče. Server Management Studio 2012 3 hrátky

Napráskám tam nějaká data ať můžu něco vypsat a ukázat, že to funguje. Server Management Studio 2012 4 hrátky

Server Management Studio 2012 5 hrátky

Lehce si vypíšu si pomocí následujícího SQL obě tabulky:

Výsledek: Server Management Studio 2012 6 hrátky

Napadla mě super věc, chci vědět kolik lidí je na jaké pozici a jaký je jejich proměrný plat:

 

Server Management Studio 2012 7 hrátky

Další část

MS SQL Server – Popis, instalace, verze, popis služeb (2)

Část 2: Server Management Studio 2012 Express

V předchozí části jsem instaloval Instalace Microsoft SQL Server 2012.

Server Management Studio 2012 Express instalace1
Můj SQL server funguje!

Tady vidíte funkční server, to je vidět v programu SQL Server Configuration Manager.

Při instalaci jsem ale zapoměl na program  (Management Studio), kterým budu ovládat tu databázi. :D Takže jí musím doinstalovat.

Otevřu znovu setup jako při instalaci, tam:

  1. New SQL Server stand-alone installation or add features to an existing installation.
  2. Add features to an existing instance of SQL Server 2012
  3. Zase odsouhlasím licenci.
  4. Zaškrtnu “Management Tools – Basic” a odklikám doinstalaci.

Server Management Studio 2012 Express instalace2

Server Management Studio 2012 Express instalace3
ok, hotovo a mám Server Management Studio 2012
Server Management Studio 2012 Express instalace4
První spuštění bylo úspěšné. Tady vidíte, že jsem i připojený do své databáze. ;)

Další část