IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Generace z List<string> pomoci TIMERU

Aktivity
Avatar
Veganekk
Člen
Avatar
Veganekk:4.3.2013 1:48

Ahoj lidi chci se zeptat proc nejde tato generace. Normalne jde kdyz je kod v BUTTONU ale kdyz je dany v Timeru nejak to nejde a nevim si moc rady.Chtěl bych radu a chci zjistit kde je chyba abych se poučil do budoucna. Jinak do JMENSL a SLOVESA se pridavaji slova pomoci TEXTBOXU.
Dekuji Veganekk

Random rnd = new Random();
        List<string> jmensl = new List<string>();
        List<string> slovesa = new List<string>();
        private void timer1_Tick(object sender, EventArgs e)
        {
            **int i = rnd.Next(0, slovesa.Count() - 1);
            int j = rnd.Next(0, jmensl.Count() - 1);
            textBox3.Text += "\n" + jmensl[j] + " " + slovesa[i] + " " + "\n\r";  **
        }
        private void button3_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
        }
Odpovědět
4.3.2013 1:48
Rád se učím novým věcem. A věci co nechápu rád pochopím a naučím.
Avatar
Theodor Johnson
Tvůrce
Avatar
Theodor Johnson:4.3.2013 2:13

Spustí se ti ten timer? Normálně by jsi měl spíš použít timer1.Start(); namísto timer1.Enabled = true;

(Jestli se ti spustí zjistíš pomocí breakpointů.)

Nahoru Odpovědět
4.3.2013 2:13
Mo8ilε 15 Ѐλđ
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Theodor Johnson
matesax:4.3.2013 5:29

Ne - Enabled je v C# v pořádku... Start snad ani neexistuje. Spíš bude chyba v přidání metody do Handleru...

 
Nahoru Odpovědět
4.3.2013 5:29
Avatar
Veganekk
Člen
Avatar
Veganekk:4.3.2013 7:47

A mužes mi napsat jak by to bylo správně? Děkuji

Nahoru Odpovědět
4.3.2013 7:47
Rád se učím novým věcem. A věci co nechápu rád pochopím a naučím.
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Veganekk
matesax:4.3.2013 7:50
new Panel(){ Size = new Size(100, 60) }.Controls.Add(new Button(){ Text = "Click" });
Editováno 4.3.2013 7:51
 
Nahoru Odpovědět
4.3.2013 7:50
Avatar
Veganekk
Člen
Avatar
Veganekk:4.3.2013 8:07

Nechapu nemohl bys to dat cely kod? Nechapu co stim prikazem. Kam ho vlozit.
Dekuji

Nahoru Odpovědět
4.3.2013 8:07
Rád se učím novým věcem. A věci co nechápu rád pochopím a naučím.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Veganekk
David Hartinger:4.3.2013 8:14

Ozkoušej jestli ti jede ten Timer, dej tam třeba MessageBox.Show("Tes­t"); Jinak se nehneme z místa.

Nahoru Odpovědět
4.3.2013 8:14
New kid back on the block with a R.I.P
Avatar
Veganekk
Člen
Avatar
Veganekk:4.3.2013 8:26

Dal jsem do Timeru prikaz.
Interval je 800.

//Timer
private void timer1_Tick(object sender, EventArgs e)
         {
             MessageBox.Show("Zkouška");
         }
//A v buttnu mám furt nastaveno
 private void button3_Click(object sender, EventArgs e)
         {
             timer1.Enabled = true;
         }

A nic zadny message se neobjvil bohuzel. Asi je nefunkcni timer ale nevim proc. :(

Nahoru Odpovědět
4.3.2013 8:26
Rád se učím novým věcem. A věci co nechápu rád pochopím a naučím.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Veganekk
David Hartinger:4.3.2013 8:34

Z toho kódu nepoznáme proč to nefunguje, ale takhle to vypadá dobře. Možná zkus přidat z toolboxu nový timer a nakliknout mu tu událost.

Nahoru Odpovědět
4.3.2013 8:34
New kid back on the block with a R.I.P
Avatar
Veganekk
Člen
Avatar
Veganekk:4.3.2013 8:42

Zkusim to vse prepsat do noveho projektu uvidime jestli se to rozbehne.... :)
Asi bude problem v timeru

Nahoru Odpovědět
4.3.2013 8:42
Rád se učím novým věcem. A věci co nechápu rád pochopím a naučím.
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Veganekk
matesax:4.3.2013 8:46

Už jsem to psal - máš přidanou metodu v Handleru?

Děláš si srandu - ten můj kód přidává do panelu Button. Kam ten panel dáš je na tobě... (Co takhle do okna? - Controls.Add(pa­nel))

ddd.Tick += new EventHandler...
Editováno 4.3.2013 8:47
 
Nahoru Odpovědět
4.3.2013 8:46
Avatar
Veganekk
Člen
Avatar
Veganekk:4.3.2013 9:00

Už je to vyřešeno. Po přepsání do nového projektu tak už vše funguje asi nastala chyba a po přepsanín už to jde. Děkuji za po moc :)

Nahoru Odpovědět
4.3.2013 9:00
Rád se učím novým věcem. A věci co nechápu rád pochopím a naučím.
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Veganekk
matesax:4.3.2013 9:03

Takže to byl handler - když budeš pokaždé zakládat nový projekt, moc se toho nenaučíš... Měl jsi jen přidat tu metodu do eventu - v Designeru klikneš v Properties na blesk a v příslučném inputu přidáš onu metodu... A to by jsi měl umět i kódem - jak jsem psal:

ddd.Tick += new Handler...
Editováno 4.3.2013 9:04
 
Nahoru Odpovědět
4.3.2013 9:03
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na matesax
David Hartinger:4.3.2013 13:30

Nevšiml jsem si, že by se tu někdo ptal na nějaký panel.

Nahoru Odpovědět
4.3.2013 13:30
New kid back on the block with a R.I.P
Avatar
matesax
Tvůrce
Avatar
Odpovídá na David Hartinger
matesax:4.3.2013 13:34

Jo - to také netuším...

Editováno 4.3.2013 13:35
 
Nahoru Odpovědět
4.3.2013 13:34
Avatar
Mediel
Tvůrce
Avatar
Odpovídá na Veganekk
Mediel:4.3.2013 13:48

Ahoj, vim, ze uz je problem vyreseny, ale ve firme po me vzdy sli, kdyz jsme nepojmenovaval komponenty... :) Bylo by dobré je pojmenovávat :)

Nahoru Odpovědět
4.3.2013 13:48
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Mediel
Kit:4.3.2013 13:56

Některé komponenty se ani pojmenovat nedají, protože by to narušilo jejich funkci a v ostatních případech by to mělo být jedno.

Nahoru Odpovědět
4.3.2013 13:56
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Mediel
Tvůrce
Avatar
Odpovídá na Kit
Mediel:4.3.2013 14:01

Aha, to jsem nevedel, po me prave vzdy chteji abych vsechno pojmenovaval...
Napriklad Button = btnNazevJehoFunkce a tak dale :)

Nahoru Odpovědět
4.3.2013 14:01
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Avatar
Odpovídá na Kit
Luboš Běhounek Satik:4.3.2013 14:02

Jak by jiné pojmenování komponenty mělo narušit její funkci?

A jedno to určitě není, aspoň ne u větších formulářů, až někdy budeš něco upravovat na formuláři s 200 controly s defaultními názvy, tak budeš tvůrce proklínat :)

Nahoru Odpovědět
4.3.2013 14:02
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Luboš Běhounek Satik
Kit:4.3.2013 14:09

Anonymní komponenty mají přístup k privátním objektům v rodiči. Oddělením se tato vazba ztratí.

Zase jdeš do extrémů. Pokud mám dodržet pravidlo, že metoda by neměla být delší než 15 řádek, tak tam ani nemohu nacpat těch 200 controlů a stejně to musím rozdělit. To dá přece rozum.

Nahoru Odpovědět
4.3.2013 14:09
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Mediel
Kit:4.3.2013 14:11

Pokud jde o pojmenování anonymní funkce, tak to je v pořádku a funkci to nenaruší. Je to lepší než komentář.

Nahoru Odpovědět
4.3.2013 14:11
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Luboš Běhounek Satik:4.3.2013 14:34

Nejsem si teď jistej, jak to přesně myslíš, ale většinou je rodičem komponenty formulář a obsluhu komponenty taky provádíš ve formuláři, takže k privátním objektům rodiče (formuláře) přístup pořád máš, ne?

Proč by někdo používal těch 200 controlů v jedné metodě?
Prostě máš na formu 200 controlů, který se jmenujou třeba TextBox17, TextBox18 apod., pak může lehce dojít k tomu, že někde omylem při copy&paste do nějaký funkce posíláš hodnotu ze špatnýho controlu a strašně blbě se to hledá.
Zatímco kdyš názvy budou třeba tbDluznaCastka a tbUrok, tak se ti podobná věc tak lehce nestane a víš přesně, co někam dál posíláš.

Editováno 4.3.2013 14:34
Nahoru Odpovědět
4.3.2013 14:34
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Luboš Běhounek Satik
Kit:4.3.2013 14:46

Proč bych je měl pojmenovávat tak blbě? TextBox17, TextBox18, ...? Takové názvy proměnných jsou úplně k ničemu. To už je lepší, když jsou anonymní.

Názvy tbDluznaCastka a tbUrok jsou OK.

Nahoru Odpovědět
4.3.2013 14:46
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Luboš Běhounek Satik:4.3.2013 15:10

Jestli se nepletu, tak o to právě šlo, že se Medielovi nezdály ty názvy komponent, které Veganekk nechal defaultní (že je nepřejmenoval - byly očíslovány automaticky od IDE).

Tím "nepojmenováním" nejspíš nemyslel, že by byly anonymní, ale že nechal ty defaultní názvy.

Nahoru Odpovědět
4.3.2013 15:10
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Luboš Běhounek Satik
Kit:5.3.2013 8:44

Tím je to jasné, v průběhu debaty mě to také napadlo. IDE nepoužívám, zpočátku jsem ani netušil, že dělá takové hovadiny.

Nahoru Odpovědět
5.3.2013 8:44
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 25 zpráv z 25.