Profil de JurajYuraj's BlogPhotosBlogListesPlus Outils Aide

Yuraj's Blog

Vitam Vás v mojom blogu!
31 octobre

Pauza v C#

/// <summary>
/// Pause execution for given time (ms).
/// It doesn't freeze GUI.
/// </summary>
/// <param name="ms">Milliseconds.</param>
public static void Pause(int ms)
{
    int startTick = Environment.TickCount;
    while (true)
    {
        if ((Environment.TickCount - startTick) >= ms)
            break;

        //Refresh Application
        Application.DoEvents();
    }
}
10 octobre

Lua skriptovací engine.

Lua je jednoduchý skriptovací jazyk, ktorý sa používa najmä na rozširovanie aplikácií. LuaInterface je .net rozhranie pre lua.Vytvoril som aplikáciu, ktorá využíva Lua a LuaInterface. Taktiež som vytvoril vlastný zvýrazňovač syntaxe (založ. na richtextboxe).
Projek stiahnete tu:


18 septembre

Ukážka použitia FindAll v List<T>

Metóda FindAll slúži na vyhľadanie reťazcov podľa danej podmienky. Použil som lambda výraz na skrátenie zápisu. Výraz vo FindAll musí vrátiť true/false:

//Vytvor List<string>
List<string> zoznam = new List<string>() { "červená","čierna","modrá","biela","oranžová" };
//Hladaj vsetky polozky, ktore zacinaju s pismenom č
List<string> najdenePolozky = zoznam.FindAll(s => s.StartsWith("č"));
//Prejdi vsetky najdene polozky a vypis ich
foreach (string polozka in najdenePolozky)
{
Console.WriteLine(polozka);
}
25 août

Náhodná veľkosť znakov v C#

public class RandomHelper
{
    private static Random random = new Random();

    /// <summary>
    /// Random boolean.
    /// </summary>
    /// <returns>Returns True or False.</returns>
    public static bool RandomBool()
    {
        return (random.NextDouble() > 0.5);
    }

    /// <summary>
    /// Randomize (capital or small) string letters.
    /// </summary>
    /// <param name="text">Input Text.</param>
    /// <returns>Output randomized string.</returns>
    public static string RandomizeLetters(string text)
    {
        StringBuilder builder = new StringBuilder();

        int num = 0;
        do
        {
            if (RandomBool())
                builder.Append(char.ToLowerInvariant(text[num]));
            else
                builder.Append(char.ToUpperInvariant(text[num]));

            num++;
        }
        while (num < text.Length);

        return builder.ToString();
    }
}
5 août

Visual C# Express 2008 – Tutoriál pre začiatočníka

Krátky video-tutoriál (flash) pre úplneho začiatočníka vo VC# Express. Po rozbalení musíte spustiť súbor vs08.htm.

13 mai

6. Vytvárame jednoduché GUI (okno) v AutoIt-e

Teraz si ukážeme ako jednoducho sa dá vytvoriť okno v AutoIt-e. Existuje mnoho už predefinovaných funkcií na vytváranie najbežnejších ovládacích prvkov. Síce existujú rôzne designeri okien (vôbec najznámejší Koda Form Designer, ukážka , existuje doň aj čeština), ktoré vám automatický vygenerujú kód.

jednoduche_okno

Tu je kód (+podrobne okomentovaný):


  1. ; Zahrn subor, jeden zo zaklad. pri praci s GUI,
  2. ; obsahuje konstanty ako napr. $GUI_EVENT_CLOSE ....
  3. #include <GUIConstants.au3>
  4.  
  5. GUICreate("Ahoj svet!",350,300) ; Vytvor okno s titulkom "Ahoj svet!" a s velkostou 350x300
  6. $tlacidlo1 = GUICtrlCreateButton("Klik!",120,130,100) ; Vytvori tlacidlo s titulkom, potom X a Y pozicia a sirka...
  7. $vstup1 = GUICtrlCreateInput("Blaaa",100,100,150,20) ; Vytvori pole pre vstup textu,Predvoleny text,X,Y,sirka,vyska
  8. GUISetState() ; Zobraz okno, automaticky pouzije @SW_SHOW makro
  9.  
  10. ; Slucka, v ktorej sa bude udrziavat tok programu,
  11. ; cize ak by tu nebola slucka, tak by sa ihned okno zatvorilo
  12.     ; Odchyt spravy/udalosi okna
  13.     $msg = GUIGetMsg() ; Taktiez sposobi, ze program nezamrza v slucke
  14.     Switch $msg
  15.         Case $GUI_EVENT_CLOSE  ; Udalost, ked okno uzivatel zatvara
  16.             Exit ; Jednoducho ukonc program
  17.         Case $tlacidlo1 ; Udalost, ked sa stlaci tlacidlo1
  18.             $text = GUICtrlRead($vstup1) ; Nacita data/stav ovlad. prvku, v nasom pripade text upravovacieho pola
  19.             MsgBox(64,"Ahoj svet!","Stla&#269;il si tla&#269;idlo!" & @LF & "A zadal si ešte k tomu: " & $text)
  20.     EndSwitch

5. Niektoré funkcie v AutoIt-e

  1. ; Zisti aktualny text v schranke
  2. $schranka = ClipGet()
  3. MsgBox(0, "Schránka obsahuje:", $schranka)
  4.  
  5. ; Zapise text do schranky
  6. ClipPut("Nejaky ten text..")
  7. ; Opet vypise aktualny obsah schranky, obsah = vid. vyssie
  8. MsgBox(0, "Schránka obsahuje:", ClipGet())

  1. ; Zisti informacie o pameti, vrati vo forme pola:
  2. ; Jednotlive indexi:
  3. ;[0] = V % vyuzitie pamete
  4. ;[1] = Celkovo fyzickej RAM
  5. ;[2] = K dispozicii fyz. RAM
  6. ;[3] = Celkovo strankovanie
  7. ;[4] = K dispozicii strankovanie
  8. ;[5] = Celkovo virtualna
  9. ;[6] = K dispozicii virtualna
  10. ; Velkosti su v kilobytoch
  11.  
  12. $mem = MemGetStats()
  13. MsgBox(0, "Celkovo fyzickej RAM (KB):", $mem[1])

  1. ; Zo sys. repracika vyda zvuk
  2. ; Taktiez moznost nastavit [ Frekvenciu[, Trvanie(ms)]]
  3. ; Zvuk frekvencie 500Hz dlzky 2 sekund
  4. Beep(500, 2000)

  1. ; Prehra zvukovy subor: "subor" [, pockat(0 - pokracovat v skripte, ked sa prehrava,1 - pockat pokym sa pesnicka neprehra)]
  2. ; Ak sa nachadza vo Windows priecinku Media zvuk tada.wav, tak ho prehra
  3. SoundPlay(@WindowsDir & "\media\tada.wav",1)
  4. ; Ak date prazdny parameter za subor, tak vlastne zastavite prehravanu pesnicku
  5. ; Zmena hlasitosti wave v systeme (v %, cislo medzi 0 - 100)
  6. SoundSetWaveVolume(50) ; Napriklad na 50%
  7.  

  1. ; Simuluje stlacenie klavies do aktualneho okna:  "klavesy" [, typ]
  2. ; Tabulku klavies najdete v navode
  3. ; Win+R = dialog spustit
  4. Send("#r")
  5. ; Zopar klavies:
  6. ; # = klavesa 'Windows'
  7. ; ! - Klavesa Alt
  8. ; + - Klavesa Shift
  9. ; ^ - Klavesa Ctrl
  10. ; {SPACE} - Medzernik
  11. ; {ENTER} - Enter
  12. ; Poznamka: Mozete samozrejme posielat aj text, nielen specialne klavesy...
  13.  
  14. ; Nastavenie glob. klavesovej skratky, ktora zavola urcitu funkciu: "klavesy-rovnaky format ako send" [, "funkcia"]
  15. HotKeySet("{ESC}","Ukoncit")
  16.  
  17. Func Ukoncit()
  18.   Exit ; ukonci program

  1. ; Pauzne skript na urcitu dobu v milisekundach:
  2. Sleep(5000) ; Na 5 sekund
  3.  
  4. ; Zobrazi spravu: typ, "titulok", "text" [, timeout [, hwnd]]
  5. ; Vrati ID stlaceneho gombika (OK = 1,Zrusit = 2 ... viac info v navode)
  6. ; Typ: IKONKY 0 - ziadna ikonka, 16 - ikonka chyba, 32 - ikonka otazka, 48 - ikonka upozornenie, 64 - ikonka info
  7. ; GOMBIKY: 0 - OK, 1 - Ok a Zrusit atd...
  8. MsgBox(0,"Nieco","Toto je sprava!")
  9. ; Zlozitejsia sprava (48 - ikonka s vykricnikom + gombiky Ano a nie)
  10. $hodnota = MsgBox(48 + 4,"Dokument","Chcete ulozit tento subor?")
  11. If $hodnota == 6 Then
  12.  ; Ak stlacil gombik ANO
  13.  ; Ak stlacil gombik NIE
  14.  
  15. ; Zobrazi okno, ktore ziada uzivatela zadanie urcitej hodnoty: "titulok", "text poziadavky" [, "predvolena hodnota" [, "znak hesla" [, sirka, vyska[, x, y[, timeOut [, hwnd]]]]]]
  16. $odpoved = InputBox("Titulok","Ako sa volas?")
  17. If Not @error Then ; Kontrola ci nenastala chyba (cize ked napr. stlacil zrusit alebo nic nezadal)
  18.  MsgBox(0,"Meno","Ahoj " & $odpoved & "!")
  19.  MsgBox(0,"Meno","Skoda...") ; ak uzivatel nezadal nic
  20.  

Toto je len veľmi málo funkcíí z AutoIt-u. Viac nájdete v návode…

18 avril

4. Makrá a funkcie v AutoIt-e

AutoIt ma niekoľko makier, ktoré sú špeciálne premenné len na čítanie (hodnôt). Makro začína znakom @ namiesto $ pre lepšie odlíšenie.

Zoznam všetkých predefinovaných makier, ktoré podporuje AutoIt nájdete v návode, tu je zopár :

@AutoItExe – úplna cesta a názov exe z ktorého je skript spúšťaný.
@AutoItVersion – verzia AutoIt-u.
@ComputerName – názov počítača.
@UserName – meno prihláseného užívateľa OS.
@CR – znak návratu vozíka, občas používane, ascii 13.
@LF – posun riadka (nový riadok), často používané, znak ascii 10
@CRLF – nový riadok, znaky ascii 13 a 10.
@DesktopHeight – výška obrazovky.
@DesktopWidth – šírka obrazovky.
@error – posledná chyba, kt. nastala (pozri funkciu SetError v návode).
@extended – rozšírená návratová hodnota funkcie.

a mnoho iných užitočných makier…

Napríklad:

  1. MsgBox(0,"Vitaj!","Ahoj " & @UserName & "!" & @LF & "Ako sa mas?")

Takže zobrazí správu a pozdraví aktuálne prihláseného užívateľa systému.

makra_1

Poznámka: Ako som už v minule spomínal, & (and) slúži na spájanie reťazcov.

Funkcie

Funkcia je to časť kódu, ktorá môže byť volaná zo skriptu hocikedy a vykonáva určitú “funkciu”. AutoIt má vlastné vstavané funkcie a samozrejme, že môžete vytvárať aj vlastné funkcie. Zoznam AutoIt funkcií je v návode.
Funkcia sa vykonáva nasledovne: NazovFunkcie(parametre) . Nie vždy parametre musí mať funkcia. Taktiež nie každá funkcia musí niečo vracať.

Vlastné funkcie

Func nazovfunkcie ($parameter1, … $parameterN)
    ...
    [Return [navratova hodnota]]
EndFunc

Napríklad:

  1. MsgBox(0,"Datum",Dnes())
  2.  
  3. ; Vrati dnesni datum
  4. Func Dnes()
  5.     Return (@MON & "/" & @MDAY & "/" & @YEAR)

Toto je úplne to isté, ak by sme návratovú hodnotu funkcie uložili do premennej:
$datum = Dnes()
MsgBox(0,"Datum",$datum)

#include

Slúži na pripojenie ďalšieho súbora (au3) k skriptu. Najlepšie je dávať #include na začiatok skriptu.

#include "[cesta\]názovSúbora" – pripojí súbor, napr. #include “moje_funkcie.au3”
#include <názovSúbora> – pripojí súbor defaultnej knižnice, napr. #include <string.au3>
#include-once – pripojí súbor len jeden krát

3. Podmienkové príkazy a cyklusy v AutoIt-e

Ako napríklad zistím, že jedno číslo je väčšie ako druhé? Alebo, obsahuje reťazec danú hodnotu? Podmienky sú vyhodnocované buď true (pravda;1) alebo false (nepravda;0). Podmienky používajú tieto operátory na porovnávanie: == , <> , >=, <=.

3 typy podmienk. príkazoch (najčastejšie používaný je If):

  • If...Then...Else
  • Switch...Case
  • Select...Case

If … Then … [Else] … EndIf

Príklad:

  1. $cislo = 10
  2. If $cislo > 5 Then
  3.     MsgBox(0,"Porovnavanie","Cislo je vacsie ako 5!")
  4.     MsgBox(0,"Porovnavanie","Cislo je mensie ako 5!")

V ľudskej reči by to znamenalo:
Ak číslo 10 je väčšie ako 5 Potom zobraz správu “Cislo je vacsie ako 5!Inak zobraz správu “Cislo je mensie ako 5! Koniec podmienky
V našom prípade podmienku vyhodnotilo ako true, pretože číslo je väčšie ako 5. Preto spracovalo prvý príkaz, inak ak by číslo bolo menšie ako 5, tak by spracovalo príkazy za else.

Pozn.: Else nie je nevyhnutné, môžete ho vynechať.

Existuje aj skrateny zapis, ale iba pre jeden prikaz: If nieco Then prikaz

Switch … Case … [Case Else] … EndSwitch

Podobné ako viacnásobné if. Switch premenna .. case hodnotaN … EndSwitch. To zahŕňa nejakú hodnotu od (To) do.

Switch <logický výraz>
Case <hodnota> [To <hodnota>] [,<hodnota> [To <hodnota>] ...]
príkazy1
        ...
    [Case <hodnota> [To <hodnota>] [,<hodnota> [To <hodnota>] ...]
príkazy2
        ...]
    [Case Else
príkazyN
        ...]
EndSwitch

 

  1. $cislo = 5
  2. Switch $cislo
  3.     $sprava = "Cislo je 5"
  4. Case 10
  5.     $sprava = "Cislo je 10"
  6.     $sprava = "Cislo je ine ako 5 a 10."
  7.        
  8. MsgBox(0, "", $sprava)

Cyklusy

Cyklus je to slučka, v ktorej sa časť skriptu opakuje podľa uvedenej podmienky.

  • For...Next
  • While...WEnd
  • Do...Until
  • With...Endwith
  • For...In...Next

For...Next

Takto sa zapisuje, Step je voliteľné (defaultne je 1) je to vlastne hodnota, ktorou má byť každá slučka zväčšená.

For <premenna> = <od> To <do> [Step <krok>]
    ...
Next

 

  1. ; Zobrazi postupne cisla od 1 do 5
  2. For $i = 1 to 5
  3.     MsgBox(0, "Slucka", $i)

While … WEnd

Slučka pokračuje dovtedy, kým výraz nevráti logickú hodnotu false.

While <logický výraz>
    ...
WEnd

  1. $i = 1
  2. While $i <= 10
  3.     MsgBox(0, "Aktuálna hodnota:", $i)
  4.     $i += 1

Poznámka: $i += 1 to je vlastne skrátený zápis: $i = $i + 1
Taktiež existujú tieto skrátené zápisy aj pre iné operátor: –= ; *= ; /= ; &=

Do … Until

Podobné ako While … WEnd akurát, že logický výraz je testovaný po vykonaný slučky.

Do
    ...
Until <logický výraz>

17 avril

2. Premenné v AutoIt-e

Premenné v AutoIt-e sú dosť podobné s php. Každá premenná musí začínať dolárovým znakom $. Názov premennej môže obsahovať len písmená a čísla alebo znak “_”. AutoIt automatický priradí typ premennej podľa priradenia :) . Premenná je to vlastne miesto na ukladanie dát v pamäti, takže môže byť pristupovaná rýchlo.

Príklady názvoch premenných

$premenna
$moja_premenna
$nieco1

Varianty premenných v AutoIt-e:

  • Číslo (32/64 bitové; decimálne; desatinné; hexadecimálne), napr. 10 ; 1.5 ; 0x4fff
  • Reťazec (String; max. môže obsahovať 2147483647 znakov), napr. “Toto je retazec”, alebo môžete použiť aj apostrofy ‘Sem niečo…’ . Reťazce sa spájajú znakom and &. Napr. “Ahoj ” & “svet!” a to je rovné “Ahoj svet!”.
  • Boolean (logická hodnota), môže obsahovať len true (pravda alebo 1) alebo false (nepravda alebo 0). Spolu s booleanmi sa používajú tieto operátory: and, or, not. Not – neguje logickú hodnotu. And – ak obidva logické hodnoty sa rovanjú, tak vráti true. Or – ak jedna z log. hodnôt sa rovná, tak vráti true.
  • Binárna hodnota (max. 2147483647 bytov)
  • Ukazovateľ (Pointer; 32/64 bitové)

Deklarovanie premenných

Premenné môžu mať deklarovaný obor platnosti, rozlišujeme tieto: Dim, Local, Global. Nie je nutný. Dim, local – lokálny obor platnosti, napr. vo funkcií. Global – globálny, napr. vo viacerých súboroch. Ak chcete zabezpečiť, aby ste v kóde zakázali vytvárať premenné bez deklarovania - na začiatku kódu vložte: Opt(“MustDeclareVars”,1)

Príklady:

Dim $premenna
Dim $premenna2 = “Priradená hodnota”
Local $premenna3 = 99
Dim $x,$y
$text = “Bez deklárovania…”
$z = 25

Existujú aj konštanty, to sú premenné, ktorých hodnota sa za behu skriptu nedá meniť. Proste raz, keď sú zadefinované, potom už nemôžu byť menené. Používate sa kľúčové slovo Const

Napríklad:

Const $PI = 3.14 ; Ludolfovo cislo

Polia

Pole obsahuje rád dátových prvkov rovnakého typu a veľkosti (alebo inak povedané rád premenných). Každý prvok v poli môže byť pristupovaný indexom (číslom). Index vždy začína od nuly.

Napríklad:

; Vytvoríme pole
$pole[0] = “a”
$pole[1] = “h”
$pole[2] = “o”
$pole[3] = “j”
; Teraz pristúpime napríklad k druhému prvku (od nuly!)
$pismenko = $pole[1] ; do premennej $pismenko bude uložené “h”.

Poznámka: Existujú aj viac rozmerové polia - matice. Max. 64 dimenzií. Napr. $tabulka[0][0] = 20

 
Photo 1 sur 4
Autres albums (1)
Ďakujeme za návštevu.
Veuillez patienter...
Le commentaire entré est trop long. Raccourcissez-le.
Vous n'avez rien entré. Réessayez.
Il est actuellement impossible d'ajouter votre commentaire. Réessayez plus tard.
Pour ajouter un commentaire, tu dois avoir l'autorisation de tes parents. Demander l'autorisation
Tes parents ont désactivé les commentaires.
Il est actuellement impossible de supprimer votre commentaire. Réessayez plus tard.
Vous avez dépassé le nombre maximal de commentaires qu'il est possible d'envoyer le même jour. Réessayez dans 24 heures.
Votre compte a pu laisser les commentaires désactivés parce que nos systèmes indiquent que vous risquez d'arroser d'autres utilisateurs de messages. Si vous pensez que votre compte a été désactivé par erreur, contactez l'assistance en ligne de Windows Live.
Effectuez la vérification de sécurité ci-dessous pour finaliser l'envoi de votre commentaire.
Les caractères entrés pour la vérification de sécurité doivent correspondre à ceux de l'image ou du fichier audio.

Juraj

Occupation
Centres d'intérêt