Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

Revgex

Knižnica a program pre generovanie náhodných testovacích dát pomocou "jazyka" nápadne podobného regulárnym výrazom.

Na projekte pracujem sám, napísaný je v C# za použitia Windows Forms.

Projekt využíva FastColoredTex­tBox komponent.

Popis jazyka

Základ jazyka je podobný regulárnym výrazom

  • negarantované znak (alebo rezervovaný ktorý je predchádzanie spätným lomítkom) -> vypísaný na výstup
  • [Abc123] -> vypísaný náhodný znak z výberu, možno používať aj intervaly - napr. Az
  • \ D, \ s pod. -> kategória znakov (možné použiť aj vo vnútri []): \ d sú číslice, \ s biele znaky, \ w písmená, číslice a _, veľkým pišťanie sa značí opak (napr. \ D -> čokoľvek okrem číslic)
  • () -> skupina, môže začínať výrazom v tvare: názov; - teda (: názov; kód) -> takto možno skupinu pomenovať
  • * -> náhodný počet opakovaní, horný limit je zadaný v aplikácii ( "Repetition limit"), častejšie generuje menej opakovaní
  • + -> ako *, ale vždy vygeneruje aspoň 1 výskyt
  • {N} -> n výskytov
  • {N,} -> aspoň n výskytov
  • {N, m} -> aspoň n, najviac m výskytov
  • (Abc | 012) -> znak '|' oddeľuje možnosti, z možností va danej skupine sa náhodne vyberie
  • . -> ľubovoľný znak
  • \ 01 -> spätná referencie na 1. skupinu
  • \: Názov; -> spätná referencie na skupinu s daným názvom
  • $ 01 -> spätná referencie na 1. skupinu, namiesto generovanie použije naposledy vygenerovanú hodnotu
  • $: Názov; -> spätná referencie na skupinu s daným názvom, namiesto generovanie použije naposledy vygenerovanú hodnotu

Pozn .: rekurzia nie je povolená

Ďalšie syntaxe

  • (! X kód) -> modifikuje všetko čo je generované jej obsahom na základe znaku za výkričníkom
U prevod na veľké písmená
l prevod na malé písmená
C veľké písmená na začiatku slov
_ nahradí medzery a pomlčky za podčiarknutia
'' nahradí pomlčky a podčiarknutia za medzery
- nahradí medzery a podčiarknutia za pomlčky
n odstráni medzery
t odoberie biele znaky zo začiatku a konca
0 odoberie nuly zo začiatku
! výstup kódu je skrytý - možno použiť ako komentár alebo pre defiince skupín ktoré majú byť použité neskôr
- (?: Kód) -> na skupinu nemožno spätne odkazovať, v číslovaní skupín je ignorovaná
  • ( "Oddeľovač; opakovanie kód) -> generuje pomocou kódu toľkokrát, koľko je dané opakovaním, vygenerovaté výrazy oddelí oddeľovačom, napr. (", \; {5} \ d {2})
  • ( 'Oddeľovač; opakovanie kód) -> ako s dvojitými úvodzovkami, ale generuje iba jeden výraz a ten opakuje

Poznámky k aplikácii

  • voľby pre ignorovanie bielych znakov v aplikácii sú tu pre umožnenie formátovanie "kódu". Pokiaľ má byť biely znak predsa len vygenerovaný, stačí použiť spätné lomítko ( "\" pre medzeru, "\ n" pre koniec riadky)
  • Filter umožňuje filtrovať vygenerované texty na základe regulárneho výrazu
  • knižnica generuje iba ASCII znaky
  • aplikácia umožňuje uložiť výstup do súboru

Vyjadrenie poroty

  • Dan Vítek - 9 bodov - Super aplikácie, osobne som niečo také už nejakú dobu hľadal. Funguje dobre, reálne mi tam chýbal nejaký, aspoň základné, syntax highlighting. Stačilo by, aby oddelil farebne skupiny, makrá a ďalšie fce od textu.
  • Adam Ježek - 10 bodov - Dobrý nápad, aplikácie funkčné, viem si predstaviť jej využitie, v GUI nie sú žiadne nepotrebné grafické prvky.

V nasledujúcom cvičení, Cvičenie 1 - Spájanie textu, si precvičíme nadobudnuté skúsenosti z predchádzajúcich lekcií.


Galéria


 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 14x (1.26 MB)
Aplikácia je vrátane zdrojových kódov v jazyku C#

 

Všetky články v sekcii
Zdrojákoviště C # .NET - Okenné aplikácie Windows Forms
Preskočiť článok
(neodporúčame)
Cvičenie 1 - Spájanie textu
Program pre vás napísal Zdeněk Pavlátka
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje spoustě zajímavých věcí ze světa informatiky a grafiky
Aktivity