• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    SLUPKA
    SLUPKA --- ---
    CERMINEK: Hele, sry, ale to tvé bez obtíží bych chtěl vidět. Nedokázal jsi udělat v C# ani quicksort. A to se implementace v C# a v C neliší. Jak jsi se tu ptal, tak jsi demonstroval, že nemáš moc tušení ani o rekurzi. A z toho jak se tu projevuješ, tak mi přijde, že obecně nemáš schopnost jakékoliv abstrakce.

    Pokud máš jako součást oboru informační systémy, tak bys měl zvládat oop naprosto bez problémů. A povinně. Je to stavební kámen většiny informačních systémů. A i kdyby jsi to tedy v praxi nepoužil (jak se snažíš naznačit, že tys to nepotřeboval a ani potřebovat nebudeš), tak pokud umíš alespoň trochu programátorsky myslet, tak bys neměl mít problém se naučit programovat jazyky objektovými, prototypovacími, ale třeba i funkcionálními. A čím víc těch typů budeš umět, tím víc ti to obohatí schopnosti v tom, kde se nakonec pohybuješ.

    Možná by stálo za to přestat vykřikovat, jak to nepotřebuješ a prostě se to naučit. Nakonec, pokud opravdu softíš bez problémů v C, tak základy C# musíš zvládnout za víkend.
    CERMINEK
    CERMINEK --- ---
    ANDY_WARHOL: Tak s IS jako takovým jsem se ve škole pořádně nesetkal... Celý obor je koncipovaný jako běžná automatizace, jen se to jinak jmenuje... A hlavně já sám se snažím co nejvíce specializovat na HW jako takový... A pro programování řadičů displejů, frekv. měničů a všemožných jiných krabiček do fabrik se programuje na úrovni hw, takže assebler či C, které si dávám :D
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    CERMINEK: no ale pak nechapu jak chces vytvaret informacni systemy, pokud to nema byt okynko v dosu s par volbama nebo neco jako konverzant, tak nevim jak to chces dokazat
    CERMINEK
    CERMINEK --- ---
    ANDY_WARHOL: Ale programuju :) Jen ne v OOP jako .NET. Bez obtíží softím kdejaké PLC, dělám ve VHDL a Assembleru pro MCU a FPGA, C, skipty pro Matlab :) Softím toho dost, ale nic z toho není OOP a nikdy jsem to v praxi nepotřeboval...
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    SLUPKA: to asi ne kdyz neprogramuje, jak by to asi udelal ? :))) bude o tom moudre skolene vypravet, delat prezentace v power pointu a tak dal
    SLUPKA
    SLUPKA --- ---
    CERMINEK: jakože vytváření těch systémů?
    CERMINEK
    CERMINEK --- ---
    ANDY_WARHOL: tak vlezlá nápověda mi vnutila toto:
    h.cisla.ListChanged += new ListChangedEventHandler(cisla_ListChanged);
    A vypadá to, že to funguje :D

    TENCOKACISTROMY: Jasné chápu, ale když uvážím, že kromě tohoto předmětu, to zvládám sám, bez cizí pomoci a s minimální námahou, tak na tom tak bídně nejsem :D
    CERMINEK
    CERMINEK --- ---
    SLUPKA: Elektronický informační a řídicí systémy... Při skladbě ostatních předmětů je tam .NET naprosto mimo...
    SLUPKA
    SLUPKA --- ---
    CERMINEK: Co že to máš za obor, že tam přibíráš programování kvůli kreditům, ačkoliv je to pro tebe hovadina?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    CERMINEK: Ja se vubec nehodlam prit o tom, jestli to v tvym oboru k necemu je nebo neni. Ja sam povazuju soucasnej system za nevyhovujici. Ale i presto jsem presvedcenej, ze by se melo hrat fer. Ty pravidla jsou jaky jsou a mit to odjinud je proste podvod. Ne ze bych si nikdy nenechal s necim vypomoct, ale nejsem na to hrdej, a nebylo to spravne.

    Proste pak nakonci nekolik lidi dostane titul. A ja jakozto zamestnavatel bych byl rad, aby kdyz ke mne nekdo s titulem prijde, tak jsem mel +- jistotu, ze to je JEHO titul. Ne nekoho jinyho, kdo se slitoval. To mi je k nicemu.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    CERMINEK: jenze nic nenajdes na google
    Numbers_ListChanged - se podivej jestli tahle metoda existuje. jinak to smaz i s tim plusem, a napis plus rovnitko znova, visual studio ti nabidne tu metodu vytvorit
    a do ni pak dej prislusny kod
    CERMINEK
    CERMINEK --- ---
    ANDY_WARHOL: Pascal je pohoda :)

    ANDY_WARHOL: ač Anglicky umím relativně dobře, tak se mi ve Visual Studiu dělá líp v čeětině, už jen proto, že .NETu nerozumím tak, jak bych chtěl.

    ANDY_WARHOL: TENCOKACISTROMY psal do kódu toto:
    asdf.Numbers.ListChanged += Numbers_ListChanged;
    ale to mi taky háže error :/
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    CERMINEK: no ty prirazujes udalsost na stejnou udalost ? to je nejaky divny, musis tam dat metodu co se tou udalosti spusti
    h.cisla.ListChanged += necodelej() ;

    nebo tak
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    CERMINEK: ps: kdyz vidim, ty mas hlasky v cestine, pak se div ze ti to nejde, protoze tezko najdes nejakej help, nejsem si jistej, ale snad by melo byt mozny vypnout hlasky v lokalizaci, nebo muzes pouzit server unlocalize.com
    ver mi, ze to ti hodne pomuze umet si to najit na google
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    CERMINEK: no ja nevim, ne ze by me pascal delal nejaky problemy, ale je to proti krasnymu netu opravdu hruza
    CERMINEK
    CERMINEK --- ---
    TENCOKACISTROMY: A prosím ještě o help... v kódu Form1(){} je h.cisla.ListChanged += h.cisla.ListChanged; čož mi hlásí, že:
    "Chyba 1 Událost System.ComponentModel.BindingList<T>.ListChanged se může nalézat pouze na levé straně výrazu += nebo -=."

    Plus ještě v některých metodách mám u listu cisla.Sort(); což převedením na binding list hlásí chybu... Budu asi muset napsat extra metodu pro seřazení?
    CERMINEK
    CERMINEK --- ---
    ANDY_WARHOL: Jop stojaři mi za Pascal nosí cigára... Mám na hodně dlouho co kouřit... Jenže pascal, C a Assembler pro mě jsou minimální problém.. .NET je velký problém... OOP není pro mě :D
    CERMINEK
    CERMINEK --- ---
    TENCOKACISTROMY: Tak to budu dělat sám za sebe : D jen kdybych fakt nevěděl..Hlavně při mém oboru je .NET naprostá hovadina... Prostě předmět, aby se vešli do 180 kreditů za Bc.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    TENCOKACISTROMY: si pamatuju jak na skole na koleji mel kamos fabriku na seminarky z programovani, protoze tomu tam nikdo nerozumel (byla to strojarna, a tehdy se tam jel pascal), tolik flasek ruznyho chlastu sem snad po hromade pak uz nevidel
    :)))
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    CERMINEK: Poradit neni problem. Od toho to tu je.
    Ale zkousku delej sam za sebe. K cemu by to pak bylo? Nepodporuju devalvaci akademickejch titulu, i kdyz mi jejich koncept nevyhovuje.
    CERMINEK
    CERMINEK --- ---
    TENCOKACISTROMY: Super! Fachčí to...

    Jinak ale doufám, že zítra u zkoušky bude nějaké ze zadáních, které byly v minulosti. Mohl bych Vás ale někoho požádat, zda-li byste nebyli zítra mezi 9:00 a 12:00 on-line pro případný help? S .NET se fakt nekámoším a zkoušku bych rád měl z krku :D
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    TENCOKACISTROMY: oprava - misto:
    public class MyClass {
        public List<int> Numbers {get; private set; }
    

    ma byt
    public class MyClass {
        public BindingList<int> Numbers {get; private set; }
    
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    CERMINEK: Pouzij "BindingList<T>" misto "List<T>". Nachazi se v namespacu "System.ComponentModel".

    public class MyClass {
        public List<int> Numbers {get; private set; }
        
        public MyClass() {
            var rnd = new Random();
            var capacity = 10;
            this.Numbers = new List<int>(capacity);
            for(int i = 0; i < capacity; i++) {
                this.Numbers[i] = rnd.Next(0,100);
            }
        }
    }
    
    // .... ve formu
    private MyClass asdf = new MyClass();
    public Form1() {
        asdf.Numbers.ListChanged += Numbers_ListChanged;
        this.RefreshLabel();
    }
    void Numbers_ListChanged(object sender, ListChangedEventArgs e) {
        this.RefreshLabel();
    }
    void RefreshLabel() {
        this.label1.Text = string.Concat(this.asdf.Numbers.ToArray());
    }
    void button1_Click(object sender, EventArgs e) {
        this.asdf.Numbers.Add(int.Parse(this.textBox1.Text));
    }
    


    Pisu to z hlavy, mozna tam je nekde preklep.
    CERMINEK
    CERMINEK --- ---
    TENCOKACISTROMY: Díky, už to valí...

    Jen mám další dotaz. V tom formu mám label, kam si vypisuju metodou všecha čísla z toho listu. Je nějaké řešení, jak nadefinovat tomu labelu, aby se při každé změně toho listu aktualizoval text v tom labelu?

    Zatím to mám jen pří form_Load a to není moc praktické ani elegantní..

    private void Form1_Load(object sender, EventArgs e)
    {
    histogram h = new histogram();
    h.vypiscisla();
    lblVypis.Text = h.vypiscisel;
    }
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    THEBYS: To musi vyhodit chybu (NullReferenceException). Field "mujSeznam" bude dobe behu konstruktoru vzdycky null.
    CERMINEK: Zkus to takhle:
    public class MyClass {
        public List<int> Numbers {get; private set; }
        
        public MyClass() {
            var rnd = new Random();
            var capacity = 10;
            this.Numbers = new List<int>(capacity);
            for(int i = 0; i < capacity; i++) {
                this.Numbers[i] = rnd.Next(0,100);
            }
        }
    }
    
    // .... ve formu
    private MyClass asdf = new MyClass();
    void button1_Click(object sender, EventArgs e) {
        this.asdf.Numbers.Add(int.Parse(this.textBox1.Text));
    }
    
    THEBYS
    THEBYS --- ---
    Třída bude vypadat nějak takhle: http://pastebin.com/xJ0dQtiS
    a zavoláš to tam kde to máš instancovaný jako NazevMojiInstance.PridejDoSeznamu(69);
    Kdyby něco nešlo klidně napiš.
    CERMINEK
    CERMINEK --- ---
    Ahoj mám dotaz... značně elementární a značně lamácký, ale nevím si s tím rady...

    Mám vytvořenou třídu, ve které mám public vytvořený list. Při Form_Load vytvořím novou instanci třídy, kdy v defaultním konstruktoru naplním list v té třídě náhodnými čísly. Do listu chci ale přidávat i další čísla z textboxu. Mám ošetřené načítání a přetypování čísel z textboxu po stisku tlačítka, ale zaboha nemůžu přijít na to, jak to číslo přidat do toho listu, resp. jak vyvolat metodu té třídy, kteá to přidání provede...

    Zkouším googlit, ale asi volím špatná hesla pro hledání.

    Pomůže někdo prosím?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    JACHYMKO: To by asi slo. Jeste budu muset zaridit, abych rozlisil zmenu toho obsahu na zaklade ty puvdoni akce. Cili jestli to udelal uzivatel a nebo ja. To bude chutovka :P.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    Priklad, jak ta kompozice UI muze vypadat:
    + Window
    |-+ nejakej ovladaci bar
    |-+ content kontajner (zde bud budu prepinat jiny control, nebo na nem budu volat back/forward)
      |-+ content (bud browser, nebo custom usercontrol. pro tento pripad usercontrol)
        |-+ content (napr. nejaky tab-control, ktery ma reagovat na zpet/vpred prepinanim tabu jak je uzivatel klikal)
        |-+ content (napr. nejaky jiny tab-control)
    


    Jak urcim pri "back", kterymu z tech tab-controlu mam zavolat "back/forward"? To budu muset mit nejakou nadrizenou navigation service, ktera na zaklade udalosti zmen tech tabu bude muset sestavovat nejaky ty Uri, a za nich to pak budu muset dekodovat predpokladam.

    Takhle jsi to myslel?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    JACHYMKO: No jasne, ale kdyz budu mit ty views uvnitr views uvnitr views (atd...) a ty budou mit teda tu svoji navigation service. Jak najdu tu spravnou navigation service, kde mam volat back/forward?
    Kliknutím sem můžete změnit nastavení reklam