Anonymní profil Petrroll – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Petrroll – Programujte.comAnonymní profil Petrroll – Programujte.com

 

Příspěvky odeslané z IP adresy 92.62.224.–

Blender › Blender 2.6.0 - použití modi…
9. 4. 2012   #156355

Zdravím, zajímalo by mne jak v Blenderu docílit toho, že se modifier aplikuje pouze na určité (vybrané) faces. Konkrétně třeba subdivision surface omezit jen na kulaté části modelu (tj. aby nezaobloval hrany co nemají být zaobleny) a pod.

//nebo stejně jako v 3DMaxu rozdělit různé polygony do skupin modifierů. Tj. že se na každou skupinu aplikuje 'samostatně'.

.NET › publish v VS2010
6. 4. 2012   #156166

Do věci moc nevidím, ale možná by chtělo rozepsat jak funguje onen auto-upgrade.

.NET › Binding s property mimo Data…
4. 4. 2012   #156005

Zdravím,

dělám WP7 appku a snažím se alespoň minimálně dodržovat MVVM pattern. K jedné stránce mám tak ModeView, který načte data a uloží si je do vlastnosti. Tu pak nastavím jako DataContext samotné stránce.

Problém je, že na stránce bych potřeboval nabindovat data ještě kromě toho k jedné proměnné v samotném ModelView. To se mi ale nedaří, protože DataContext je již nastaven na jinou vlastnost ModelView.

Chtěl bych se tak zeptat, jestli je možné nastavit Binding na vlastnost, která je hierarchicky nad DataContextem, případně jak to jinak elegantně vyřešit.

.NET › XNA-problem s obrázkem
3. 1. 2012   #151945

Překrýt černou by to nestačilo? Pakliže ano, tak si zjistíš souřadnice doteku a potom na to místo jen umístíš něco čim to překreješ.

    private void HandleTouches()  
    {  
        TouchCollection touches = TouchPanel.GetState();  
        if (!touching && touches.Count > 0)  
        {  
		//projdeš kolekci a každej prvek má .x a .y souřadnici	
        }  
    }  
.NET › prvociselne delitele
6. 11. 2011   #149626

Co přesně znamená menší čísla? Long by měl stačit i na docela dost dlouhá čísla.

Java › Android - Java
20. 9. 2011   #147718

Předem bych tě také upozornil na časté reinstalování, instalování a další reinstalování různých edic Javy.
//Osobne mne instalace dev tools Androida naštvala tak, že jsem svůj první projekt raději rozjel pod WP7 (a to ani WP7 telefon nevlastním) ;)

Java › Android - Java
19. 9. 2011   #147693

Eclipse + plugin ADT plug-in

.NET › Windows Phone
13. 9. 2011   #147484
.NET › Windows Phone
13. 9. 2011   #147482

Yep.

.NET › Windows Phone
12. 9. 2011   #147434

Reklamy fungovat budou, jen ne ty od MS (prozatím only US) ;). Osobně kvůli tomu žádné reklamy dávat nebudu, ale kdo chce tak může použít třeba konkurenční Ad-Mob.

.NET › Windows Phone
12. 9. 2011   #147423

30% Jde vždy MS, 70% vždy tobě ;).

.NET › Windows Phone
12. 9. 2011   #147418

30%, 70% jde tobě. Celkově bych ale u klasických her jako Arkanoid (pokud nebude obzvláště dobře provedená) volil spíše Trial s reklamou plus možnost koupení na odstranění reklam.

Sice si to tolik lidí nezakoupí, ale alespoň se třeba dostaneš do podvědomí.

.NET › Windows Phone
11. 9. 2011   #147410

Ano, mám to zdarma skrze DreamSpark program.

.NET › Windows Phone
11. 9. 2011   #147408

Tak dneska to nějak nevyšlo, do konce týdne to ale ke schválení pošlu.
//Musím ještě pořádně doimplementovat achievementy.

.NET › Windows Phone
11. 9. 2011   #147404

Bohužel nemám páru. Kdyžtak, jsem sice začátečník, ale když budeš mít otázky tak klidně gTalk /MSN / email - houskape(at)gmail(dot)com.

A nakonec ještě, pokud budeš chtít mít ve hře online žebříčky, ale nebude se ti chtít programovat vlastní server appku, tak doporučuji řešení Mogade

.NET › Windows Phone
11. 9. 2011   #147400
.NET › Windows Phone
11. 9. 2011   #147396

1. Sám vlastním jen SGS a s pomocí pár lidí budu zítra svou první WP7 aplikaci vydávat, takže toho bych se nebál. //Jen občas blbnou animace (hlavně s Mango SDK beta).

2. Ano, lze distribuovat samotné .xap, do telefonu si jej ale dají registrovaní vývojáři (s odemknutým systémem). Pokud bude ale hra kvalitní, tak ti ji rád budu distribuovat přes svůj AppHub acc.

3. http://vbnet.cz/blog-clanek--379-programovani_her_v_xna_serie_webcastu.aspx //XNA had

Akcelerometr se bez telefonu nedá testovat, tedy dá ale jen neoficiálně s tímto projektem (neozkoušeno): http://www.codeproject.com/KB/windows-phone-7/WP7AccelerometerEmulator.aspx
 

› Petrroll alias česká lama
6. 9. 2011   #147188

Záhadná osoba vystupující pod přezdívkou Petrroll studuje první ročník gymnásia, učí se programovat v C# a píše pro nejlepší zajímavý český web o androidu http://androidmarket.cz. Taktéž momentálně bastlí první větší projekt a sice hru Numerous pro WP7, kterou můžete všichni vyzkoušet, otestovat a hlavně okomentovat zde.

.NET › WCF - Kde a jak hostovat
23. 8. 2011   #146668

Zdravím,

s WCF nemám vůbec žádné zkušenosti, ale kvůli své WP7 hře jsem vyvtořil jednoduchou službu uchovávající dosažené skóre. Konrkétně jsem postupoval podle tohoto http://www.nielsderdaele.be/post/2011/04/11/Building-a-high-score-web-service-for-a-WP7-Game-%28Part-I%29.aspx návodu.

Bohužel teď nemám absolutně páru kde, a jak službu hostovat. Jak jsem již říkal na začátku, do teďka jsem kromě jednoduché sl appky psal jenom desktopové věci a tak je to pro mě všechno špaňelská vesnice.

.NET › WPF - změna v nastavení Temp…
19. 8. 2011   #146545

Jednoduše řečeno, Oppacity mask má rozměr 40*10 ale aby se zobrazil celý, tak musí mít button alespoň 75x40, jinak se zančne deformovat.

BTW: Tohle je jen testovací solution, tak nedbejte na ostatní chyby.

.NET › WPF - změna v nastavení Temp…
18. 8. 2011   #146530

Ok, tak se objevil nový problém. Button sice OpacityMask má, ale jeho background vyplňuje jenom malou část na středu, takže abych dosáhl cíleného "klikatelného" obrázku, tak bych musel dávat control přibližně o 100% větší než je obrázek, což kompletně ničí vzhled.

Any ideas?

.NET › WPF - změna v nastavení Temp…
17. 8. 2011   #146469

Vyřešeno, já blbej si nevšiml, že i samotnej button má v SLku Oppacity Mask.

.NET › WPF - změna v nastavení Temp…
16. 8. 2011   #146380

Kokuknu na to, vypadá to jako jednodušší řešení. Díky.

.NET › WPF - změna v nastavení Temp…
15. 8. 2011   #146349

Zdravím, v code behind generuji tabluku buttonů, kterým z určitých důvodů potřebuji dát šablonu Rectangle. Používám je totiž na vytvoření graficky hezké šachovnice, kde u Rectangle využívám OppacityMask a u Buttonů schopnosti být klikatelný. Pokud znáte lepší způsob s klikatelným "obrázkem" s možností změny barvy, tak sem s ním.

A teď k problému, extrahuji VisualTree z Rectangle a změním barvu pozadí, načež ho vložím jako Template Buttonu.

Button tlacitko = new Button();
ControlTemplate template = new ControlTemplate(typeof(Button));
var rectangle = new FrameworkElementFactory(typeof(Rectangle));
rectangle.SetValue(Rectangle.FillProperty, Brushes.Red);
template.VisualTree = rectangle;
tlacitko.Template = template; //TEST

Problém je, že následně již nejsem schopen property Fill změnit.

tlacitko.Template.VisualTree.SetValue(Rectangle.FillProperty, Brushes.Red); //NEFUNGUJE

Otázkou je, jak to vyřešit?

Java › Defaultní cesta k "základním…
10. 8. 2011   #146028
Java › Defaultní cesta k "základním…
10. 8. 2011   #146026

#1 Hoffik

Používat relatvní cestu "/soubor.txt" která odkazuje do stejné složky jako je .exe soubor.

.NET › Attached & Dependency Pr…
25. 6. 2011   #143459

Řešení (vysvětlení) nalezeno.
http://blog.hackedbrain.com/2004/12/04/understanding-dependencyobject-and-dependencyproperty/

.NET › C# Práce s třídami z různých…
25. 6. 2011   #143457

2KIIV: Na tohle se IMHO více hodí použít opravdové rozhraní (Interface). Je to jednodušší, modulárnější a IMHO elegantnější.

.NET › Attached & Dependency Pr…
24. 6. 2011   #143412

Zdarec, po delší době bych zas potřeboval vysvětlit / potvrdit jestli jsem něco pochopil správně. Konkrétně se jedná o Attached & Dependency Property.

Dependency property je v podstatě jedna statická třída obsahující dictonary vždy s názvem daného prvku a hodnotou (i když je odkazováno na stejnou Depend property tak má každý prvek vlastní 'hodnotu'. Výhodou oproti normálním vlastnostem je umístění mimo daný (většinou GUI) objekt, díky čemuž je možné odkazovat na ni z více objektů a umožnit tak dědičnost.

Nechápu však jaký je vztak mezi prvkem (typem prvků?) pro který jsou registrováni a poté následnou instancí daného prvku. Jak vlastně probíhá dědění a podobně.

Další problém je, že tak nechápu co Attached Property. Vím, že oproti Dependency property k nim jde přistupovat i odjinut než z prvku pro který jsou registrovaný, ale jinak v tom mám nepořádek.

Jde mi o základní pochopení proč využít attached property v následujícím příkladu link (v novém okně ) namísto jednoduchého oddědění od TextBoxu.

.NET › Binding - vstup doprostřed p…
4. 6. 2011   #142918

Pravda kouknu se na to trochu lépe, kdyžtak pak dám vědět.

.NET › Binding - vstup doprostřed p…
4. 6. 2011   #142863

Jenže tím, že nastavím Vadilaci, tak se zase zbavím možnosti klasického bindingu. Nebo jsem to tak alespoň pochopil.

.NET › Binding - vstup doprostřed p…
2. 6. 2011   #142819

Zdravím,
mám třídu nastavení obsahující pár int vlastností a poté v GUI pát TextBoxů. Potřeboval bych mezi nimi vytvořit binding a zároveń nějak inteligentně zabránit tomu, aby mi tam uživatelé psali něco jiného než čísla. Napadl mě utvořit kopie těch vlastností ve stringu a bindovat s nimi, přičemž kontrola by se prováděla na straně vlastností. To se mi však zdá trochu moc problematické a náročné, přeci jen vytvářet kvůli tomu cca 20 stringů není IMO ideální.
Druhým řešením by byl vlastní 'binding'. Co si myslíte, že je lepší?

.NET › Silverlight - MetroUI controls
2. 6. 2011   #142814

Zdravím, neví někdo o nějakým packu controlů pro Silverlight ve stylu MetroUI? Opradvu se mi s tím nechce samotnému dělat. Za příadný odkaz děkuji.

.NET › GUI aplikace v C#
2. 6. 2011   #142813

Osobně jsem u programování v C# začínal s WPF (tedy pořád začínám) a když některé věci porovnám s WinForms (používá taťka) tak musím uznat, že na jednodušší věci je WPF někdy až příliš složité.
Na druhou stranu poskytuje určité úžasné mechanizmy jako je binding a podobně. Další výhodou může být také snadná přenositelnost pod Silverlight.

Xelenderus
.NET › Eventy a zjištění jejich obs…
31. 5. 2011   #142711

            private IHlidatelnyHodinyStrojek hlidanyObjekt;

public IHlidatelnyHodinyStrojek HlidanyObjekt
{
get { return this.hlidanyObjekt; }
set { this.hlidanyObjekt = value; if (value != null) { HlidanyObjekt.IsEnabledChanged += (referencedObject, name) => aktualizujHlidaciStrojek();
} }
}

Xelenderus
.NET › Eventy a zjištění jejich obs…
30. 5. 2011   #142675

Zdarec,
v jedné třídě mám Event, v druhé pak chci k odběru eventu přihlásit jednu metodu. Problém je, že chci zjistit jestli už k odběru něco přihlášené není (tj. jestli je event zatím prázný). Řeším to takto:

if(HlidanyObjekt.IntervalChanged != null) { hlidanyObjekt.IntervalChanged += (referencedObject, name) => aktualizujHlidaciStrojek(); };

public event PropertyChangedEventHandler IntervalChanged;

Jenže to nejde, může mi někdo vysvětlit proč?

.NET › Zjištění doby provedení akce
18. 5. 2011   #142274

Jasně, v konečném důsledku tam rozdíl vlastně není, ale třeba mu to pomůže pro ilustraci.

.NET › Zjištění doby provedení akce
18. 5. 2011   #142270

DataTime.Now vrací datový typ, který podle mě neposkytuje zrovna dvakrát ideální metodu .ToString. Osobně bych to vyřešil jinak:

textBox1.Text = rozdil.Hours.ToString() + " : " + rozdil.Minutes.ToString() + " : " + rozdil.Seconds.ToString()

.NET › Zjištění doby provedení akce
18. 5. 2011   #142247
.NET › Help me please - C#
15. 5. 2011   #142005

Špatná neni kniha MS Visual C# Krok za Krokem 2010 od Johna Sharpa.

.NET › Silverlight - dataBinding
14. 5. 2011   #141984

Již to vím, šlo o trochu zmatení z absence metody GetBinding třídy BindingOperations.

Petrroll
.NET › Přehrávání mp3 souboru
5. 5. 2011   #141625
Petrroll
.NET › Silverlight a PHP hosting
3. 5. 2011   #141526

Ne nezáleží. Co přesně neběží, plus jak máš SL vložení do stránky?

Petrroll
.NET › Silverlight - dataBinding z…
2. 5. 2011   #141475

Hlídač musí být dekladován jako public. (VYŘEŠENO)

Petrroll
.NET › Silverlight - dataBinding z…
1. 5. 2011   #141447

Vše je právě naprosto bez chyb, dokonce pokud místo bindingu použiji "vlastní binding"

hlidacProgres1.PropertyChanged += (Object,nazev) => { progressBar.Value = hlidacProgres1.ProcentUplynulo; };

Tak vše funguje. Problém prostě musí být někde v nastavení bindingu.

.NET › Silverlight - dataBinding z…
27. 4. 2011   #141344

Zdravím, předchozí problém jsem nakonec částečně vyřešil, ale nastal další problém. Binding z pro mne neznámého důvodu prostě nefunguje.

progressBar je komponenta ProgressBar umístěná ve formuláři. Zbytek kódu hlídače funguje dobře. Dokonce i ProcentUplynulose mění jak má.

    public partial class MainPage : UserControl

{
IntervalovyHodinovyStrojek interval;
MediaElement prehravac;
HlidacHodinovehoStrojku hlidacProgres1;
public MainPage()
{
//http://www.robtowns.com/music/blind_willie.mp3
//http://petrroll.asp2.cz/songs/gong.wav
InitializeComponent();
inicializujZvuk();
interval = new IntervalovyHodinovyStrojek(new TimeSpan(0,0,5));
interval.eTikTak += () => pomocneMetody.ZahrajZvuk(prehravac);
hlidacProgres1 = new HlidacHodinovehoStrojku();
Binding progressBind = new Binding();
progressBind.Path = new PropertyPath("ProcentUplynulo"); ;
progressBind.Mode = BindingMode.OneWay;
progressBind.Source = hlidacProgres1;
progressBar.SetBinding(ProgressBar.ValueProperty, progressBind);
hlidacProgres1.HlidanyObjekt = interval;


}

private void inicializujZvuk()
{
//smazatGong
prehravac = new MediaElement();
prehravac.AutoPlay = false;
//prehravac.Source = new Uri("http://www.robtowns.com/music/blind_willie.mp3", UriKind.Absolute);
prehravac.Source = new Uri("http://www.petrroll.asp2.cz/songs/gong.MP3", UriKind.Absolute);
LayoutRoot.Children.Add(prehravac);
}


private void button1_Click_1(object sender, RoutedEventArgs e)
{
interval.IsEnabled = true;
//progressBar.Value = 50;
}
}

        class HlidacHodinovehoStrojku : HodinovyStrojek, INotifyPropertyChanged

{
...
private int procentUplynulo;
public int ProcentUplynulo
{
get { return procentUplynulo; }
set { procentUplynulo = value; NotifyPropertyChanged("ProcentUplynulo"); }
}
public event PropertyChangedEventHandler PropertyChanged;

private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
...
}

Petrroll
.NET › Silverlight - dataBinding
27. 4. 2011   #141335

Zdar existuje nějaký způsob jak získat objekt, který mám pomocí bindingu navázaný na určitou komponentu v Silverlightu? Možná ještě lépe řečeno existuje způsob jak do kódu dostat objekt, který vytvořím přímo v XAML?

Xelenderus
.NET › Přidání metody do delegátu r…
25. 4. 2011   #141244

Díky moc, takhle by to opravdu dávalo smysl.

.NET › Přidání metody do delegátu r…
25. 4. 2011   #141243

Chápu to podobně jako djanosik, ale osobně si mi trochu nasadil brouka do hlavy. Nikde to totiž není pořádně rozvedeno.

Xelenderus
.NET › Přidání metody do delegátu r…
25. 4. 2011   #141241

Omlouvám se za vydatnou dávku spamu, ale jsem zmaten čím dál tím více.
Tento kus kódu přihlašuje vyvolání eventu k delegátu:

dTikTak += eTikTak

A tento při zavolání delegátu zavolá event:
dTikTak += () => { eTikTak(); };

Může mi někdo jednoduše vysvětlit proč ten druhý akceptuje pozdní přidávání metod do eventu, zatímco ten první nikoliv?
//Pravděpodobně jsem jen šíleně natvrdlý, ale já to tu opravdu nevidím.

Xelenderus
.NET › Přidání metody do delegátu r…
25. 4. 2011   #141240

Tak už je to jasné, pokud do delegátu přidám něco po jeho přihlášení k eventu, tak je to ignorováno. Může mi, ale někdo prosím vysvětlit proč.

Xelenderus
.NET › Přidání metody do delegátu r…
25. 4. 2011   #141238

Jednoduše řečeno, jaktože když přihlásím k odběru událostí delegát ke kterému později přihlásím další metodu, tak se ta daná metoda již nezavodá. Vždyď událost zavolá delegát a delegát by měl zavolat všechny právě přihlášené metody ne?

Xelenderus
.NET › Přidání metody do delegátu r…
25. 4. 2011   #141237

Ať to čtu jak to čtu, nevidím odpověď. Nikde tam není napsáno, že do delegátu nemohu přidat metodu z odvozené třídy.

Xelenderus
.NET › Přidání metody do delegátu r…
24. 4. 2011   #141215

//Nehleďte na to, že tam nesedí názvy, je to jenom ukázkový příklad ořezaný o další zbytečné věci. Místo "IntervalovyHodinovyStrojeků" má být "Syn" a místo "HodinovyStrojek" "otec".
//Kód je původně kamarádovo

Xelenderus
.NET › Přidání metody do delegátu r…
24. 4. 2011   #141214

    class Otec

{
protected DispatcherTimer tikac;
protected EventHandler dTikTak;

public HodinovyStrojek(string cestaKSouboru, TimeSpan interval)
{
tikac = new DispatcherTimer(); //Vytvoření časovače
Interval = interval; //Nastavení časovače na daný interval
dTikTak += /*new EventHandler*/((Object, EventArgs) => provedAkci1()); /
tikac.Tick += dTikTak;
}


}

class Syn : Otec
{
public IntervalovyHodinovyStrojek(string cestaKSouboru, TimeSpan interval)
: base(cestaKSouboru, interval)
{
dTikTak += ((Object, EventArgs) => this.akce2());
}



Při vytvoření objektu syn a vyvolání eventu se akce2 neprovede.

Xelenderus
.NET › Přidání metody do delegátu r…
23. 4. 2011   #141201

Zdravím, mám další problém související s dědičností.
V rodiči mám protected delegát do kterého v potomkovské třídě přiřazuji jednu metodu. K volání delegátu dojde, k volání přidané metody však nikoliv. Jedná se o normální chování? Musím si vytvořit nový delegát?

Petrroll
.NET › Stopky jako vlákno
21. 4. 2011   #141165
Petrroll
.NET › indexer na List<List<T…
19. 4. 2011   #141139

A co přesně to dělá/nedělá?

Petrroll
.NET › Kniha C#
16. 4. 2011   #141081
.NET › Stažení souboru v jiném vlák…
6. 4. 2011   #140735

Jeden z nejlepších návodů na vlákna na českém internetu, stačí relativně základní znalost C#. http://programujte.com/?rubrika=26&sekce=139&kategorie=361

Jinak pokud bys to nechtěl řešit do hloubky ale zajímá tě jenom tohle, tak by to jednoduše šlo asi takhle:



Thread noveVlakno = new Thread(() => {provedKod();});
noveVlakno.Start();
private void provedKod ()
{
foreach(item In Files)
{
downloadFile(item)
}
}

Xelenderus
.NET › Dědičnost - změna metod rodi…
4. 4. 2011   #140660

Zdravím,
V třídě rodiče mám jednu protected metodu, tu volám z kontruktoru. V potomkovo kontruktoru poté volám základní kontruktor a danou metodu zde mám předefinovanou. Je nějak možné z potomka zamezit volání původní metody a zavolat namísto toho novou implementaci?

class jedna

{
public jedna()
{
stihej();
}
protected void stihej()
{
Console.WriteLine("stihej");
}
}

class dva : jedna
{
public dva()
:base()
{
stihej();
}
new protected void stihej()
{
Console.WriteLine("nestihej");
}
}

.NET › Načtení dat z klávesnice
14. 3. 2011   #140020

Není to neodborné, a upřímně se mi to zdá i lepší řešit to přes externí tlačítko. Málokoho totiž napadne mačkat enter, zatímco tlačíto "OK" napadne skoro každého.

.NET › Načtení dat z klávesnice
14. 3. 2011   #140004

private void textBox1_KeyDown(object sender, KeyEventArgs e) 

//Metoda, která je přihlášená k odběru události(eventu) KeyDown, která je volána vždy když je na daný objekt focus a je zmáčknuta nějaká klávesa
{
if (e.Key == Key.Enter) //Kontroluješ, jestli je daná stisknutá klávesa enter
{
this.Text = textBox1.Text; //Pokud je, uložíš do proměnné
}
}

K všemožným událostem se dostaneš v VS10 v properties daného controlu nahoře ikonka blesku. O událostech pojednává (nevím jak dobře) tento http://www.zive.cz/clanky/poznavame-c-a-microsoftnet-16-dil--udalosti/sc-3-a-123623/default.aspx článek (doporučuji celý seriál, i když možná více bych doporučil knihu C# 2010 Krok za krokem).

.NET › Jak změnit vzhled programu ?
12. 3. 2011   #139925

Nebo pokud máš raději češtinu tak mohu doporučit:
http://www.vyvojar.cz/Articles/451-3-wpf-sablony-trigry.aspx - pro začátečníky
http://www.aglight.cz/Wpf/Detail/4 - pro pokročilejší
//linkuju přímo články co mám právě otevřený, oba jsou to ale seriály

.NET › Zapouzdření
13. 2. 2011   #138795

Objektově orientované programování.
//Pro učení C# silně doporučuji knihu Microsoft Visual C# Krok za Krokem, její verzi 2008 bych ti i prodal, ale neni v úplné ideálním stavu. Kdyžtak mi napiš e-mail.

.NET › Zapouzdření
13. 2. 2011   #138791

Nejlepší způsob bych viděl v použití statické metody v externí třídě.

.NET › Zapis a cteni v TxT
10. 2. 2011   #138707

Pokud tam máš jednotnou strkukturu, tj. čísla jsou vždy oddělená mezerou tak to není tak složité.



string radek = streamReader.ReadLine(); //přečteš celý řádek ze souboru, uložíš ho do proměnné.
string[] cisla //Dekladuješ pole, do kterého později promenou radek rozprazuješ (rozsekáš)
cisla = radek.Split(" ") //Zavoláš metodu, která do pole uloží hodnoty rozsekáním původního stringu, znak podle kterého to bude rozsekávat je jako parametr, zde mezera
//A v poli máš poté rozsekaná daná čísla, pole poté projedeš např. příkazem foreach
foreach(string cislo in cisla)
{
Console.WriteLine(cislo);
}


A ten první příklad //Nejsem si úplně jistej, splácal jsem to teď z hlavy:


StreamReader precti = File.OpenText("@E:\textak.txt");
string radek;
bool zapis = false;
while ((radek = precti.ReadLine()) != null)
{
if(zapis) then{Console.WriteLine(radek);}
zapis = false;
if(radek == "Karel") then{zapis = true;}
}
precti2.Close();


//Psáno z hlavy, tj. zde mohou být syntaktické chyby a celkově to není dobrý kód, StreamReader/Writer by měl být v protivyjímkovém bloku (buďto jednodušeji pomocí usign, nebo pomocí try/finally.)

.NET › Zapis a cteni v TxT
10. 2. 2011   #138701

Čtení i zápis můžeš provádět pomocí objektů StreamWriter a StreamReader, konkrétně jejich metody (nepletu-li se) WriteLine & ReadLine. Poměrně hezky je popsáno zde: http://csharp.aspone.cz/%28A%283KOP3b4sywEkAAAAMzhhYTA2ZGItYzc5Ni00Y2U0LTk2ZDUtNThkZTAxMDZjNWNiCo_5hOF4X8k9JEAW0W1tDSPW0uw1%29%29/kody/soubory/souboryObecne.aspx

Ad1: Nevím jestli je to nejoptimálnější postup (pokud tedy nepoužíváš nějaké databáze), ale projel bych celý soubor, řádek po řádku, současně bych si zavedl nějakou bool proměnou, která pokud by byla true tak bych daný řádek zobrazil. Poté, pokud bych našel string "Karel" tak bych do danou proměnou nastavil na true, a tudíž by se další řádek (záznam) zobrazil).

Ad2: Něco jsem našel na internetu, ale nevím jestli je to nejoptimálnější, koukni http://www.techrepublic.com/article/easily-parse-string-values-with-net/6030362.

.NET › BindingList a identity field
6. 2. 2011   #138568

Ok,
Samotný kód aplikace:

namespace Dodavatele

{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class DodavatelInfo : Window
{
private NorthwindDataContext ndc = null; //Objet DataContext
private Supplier dodavatel = null; //Entitní třída tabulky dodavatel
private BindingList<Product> vyrobkyInfo = null;

public DodavatelInfo()
{
InitializeComponent();
}

private void Window_Loaded(object sender, RoutedEventArgs e)
{
ndc = new NorthwindDataContext();
this.seznamDoDodavatelu.DataContext = ndc.Suppliers;
}

private void seznamDoDodavatelu_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
dodavatel = this.seznamDoDodavatelu.SelectedItem as Supplier;
IList seznam = ((IListSource)dodavatel.Products).GetList();
vyrobkyInfo = seznam as BindingList<Product>;
this.seznamVyrobku.DataContext = vyrobkyInfo;
}

private void seznamVyrobku_KeyDown(object sender, KeyEventArgs e)
{
switch (e.Key)
{
case Key.Enter:
upravVyrobek(this.seznamVyrobku.SelectedItem as Product);
break;

case Key.Insert:
pridejVyrobek();
break;

case Key.Delete:
vymazVyrobek(this.seznamVyrobku.SelectedItem as Product);
break;
}
}

private void pridejVyrobek()
{
ForularVyrobku fv = new ForularVyrobku(); Vytvořím přidávací okno
fv.Title = "Nový výrobek pro " + dodavatel.CompanyName;
if (fv.ShowDialog().Value)
{
Product novyVyrobek = new Product();

novyVyrobek.ProductName = fv.nazevVyrobku.Text;
novyVyrobek.UnitPrice = Decimal.Parse(fv.cenaZaJednotku.Text);
novyVyrobek.QuantityPerUnit = fv.mnozstevniJednotka.Text;
novyVyrobek.SupplierID = dodavatel.SupplierID; //Pokud tento řádek dodám za vyrobkyInfo.Add... tak vše funguje, tímto naplním vlastnost, která slouží k svázání s tabulkou supliers a to očividné vadí třídě BindingList<T>.
vyrobkyInfo.Add(novyVyrobek);

dodavatel.Products.Add(novyVyrobek); //Přidám do kolekce entitních tříd, která se poté eventuelně aktualizuje do databáze
this.ulozitZmeny.IsEnabled = true;
}
}

private void vymazVyrobek(Product product)
{
MessageBoxResult odpoved = MessageBox.Show("Vymazat " + product.ProductName, "Potvrzení", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No);
if (odpoved == MessageBoxResult.Yes)
{
dodavatel.Products.Remove(product);
vyrobkyInfo.Remove(product);
this.ulozitZmeny.IsEnabled = true;
}
}

private void upravVyrobek(Product product)
{
ForularVyrobku fv = new ForularVyrobku();
fv.Title = "Úprava údajů o výrobku";
fv.nazevVyrobku.Text = product.ProductName;
fv.mnozstevniJednotka.Text = product.QuantityPerUnit;
fv.cenaZaJednotku.Text = product.UnitPrice.ToString();
if (fv.ShowDialog().Value)
{
product.ProductName = fv.nazevVyrobku.Text;
product.QuantityPerUnit = fv.mnozstevniJednotka.Text;
product.UnitPrice = decimal.Parse(fv.cenaZaJednotku.Text);
this.ulozitZmeny.IsEnabled = true;

}
}

private void ulozitZmeny_Click(object sender, RoutedEventArgs e)
{
try
{
ndc.SubmitChanges();
ulozitZmeny.IsEnabled = false;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Chyba při ukládání změn");
}
}

private void cancel_Click(object sender, RoutedEventArgs e) //BlaBlaBla
{
Window_Loaded(new object(), new RoutedEventArgs());
// ndc.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, ndc.Suppliers);
}
}
}


Kdyby mél někdo potřebu kouknout do kompletních zdrojáků, tak tady je XAML obou okonen.
XAML hlavního okna
<Window x:Class="Dodavatele.DodavatelInfo"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:app="clr-namespace:Dodavatele"
Title="Informace o dodavateli" Height="350" Width="525"
Loaded="Window_Loaded">
<Window.Resources>
<app:PrevodnikCeny x:Key="prevodnikMeny" />
<DataTemplate x:Key="dodaveteleSablona">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=SuplierID}" />
<TextBlock Text=" : " />
<TextBlock Text="{Binding Path=SuplierName}" />
<TextBlock Text=" : " />
<TextBlock Text="{Binding Path=ContactName}" />
</StackPanel>
</DataTemplate>
</Window.Resources>
<Grid>
<ComboBox IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding}" ItemTemplate="{StaticResource dodaveteleSablona}" Height="21" HorizontalAlignment="Stretch" Margin="40,16,42,0" Name="seznamDoDodavatelu" VerticalAlignment="Top" Width="Auto" SelectionChanged="seznamDoDodavatelu_SelectionChanged" />
<Button Content="Uložit změny" Height="23" HorizontalAlignment="Left" Margin="40,0,0,10" Name="ulozitZmeny" VerticalAlignment="Bottom" Width="90" Click="ulozitZmeny_Click" />
<ListView IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding}" Height="Auto" HorizontalAlignment="Stretch" Margin="40,44,40,60" Name="seznamVyrobku" VerticalAlignment="Stretch" Width="Auto" KeyDown="seznamVyrobku_KeyDown" >
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Width="75" Header="ID výrobku" DisplayMemberBinding="{Binding Path=ProductID}" />
<GridViewColumn Width="225" Header="Název" DisplayMemberBinding="{Binding Path=ProductName}" />
<GridViewColumn Width="135" Header="Množstevní jednotka" DisplayMemberBinding="{Binding Path=QuantityPerUnit, Converter={StaticResource prevodnikMeny}}" />
<GridViewColumn Width="75" Header="Jednotková cena" DisplayMemberBinding="{Binding Path=UnitPrice}" />
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
<Button Content="Cancel" Height="23" HorizontalAlignment="Right" Margin="0,0,42,12" Name="cancel" VerticalAlignment="Bottom" Width="103" Click="cancel_Click" />
</Grid>
</Window>


XAML přidávacího okna:
<Window x:Class="Dodavatele.ForularVyrobku"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ForularVyrobku" Height="225" Width="515" ResizeMode="NoResize">
<Grid>

<Button Content="OK" Height="23" HorizontalAlignment="Left" Margin="130,150,0,0" Name="ok" VerticalAlignment="Top" Width="75" Click="ok_Click" />
<Button Content="Storno" Height="23" HorizontalAlignment="Left" Margin="300,150,0,0" Name="storno" VerticalAlignment="Top" Width="75" Click="storno_Click" IsCancel="True" />
<TextBox Height="21" HorizontalAlignment="Left" Margin="130,24,0,0" Name="nazevVyrobku" VerticalAlignment="Top" Width="340" />
<TextBox Height="21" HorizontalAlignment="Left" Margin="130,64,0,0" Name="mnozstevniJednotka" VerticalAlignment="Top" Width="340" />
<TextBox Height="21" HorizontalAlignment="Left" Margin="130,104,0,0" Name="cenaZaJednotku" VerticalAlignment="Top" Width="150" />
<Label Content="Název Výrobku" Height="28" HorizontalAlignment="Left" Margin="6,20,0,0" Name="label1" VerticalAlignment="Top" Width="120" />
<Label Content="Množstevní jednotka" Height="28" HorizontalAlignment="Left" Margin="6,60,0,0" Name="label2" VerticalAlignment="Top" Width="120" />
<Label Content="Cena za jednotku" Height="28" HorizontalAlignment="Left" Margin="6,100,0,0" Name="label3" VerticalAlignment="Top" Width="120" />
</Grid>
</Window>

.NET › BindingList a identity field
5. 2. 2011   #138550

Zdravím,
potřeboval bych trochu osvětlit, pokud to tedy jde, proč jedna věc nefunguje. Pokud do BindingListu přidám objekt entitní třídy, který bude obsahovat nějakou klíčovou vlastnost (identity field) jiné tabulky, než z které je naplněný tak celá aplikace skončí chybou. Může mi někdo vysvětlit proč? Na internetu jsem nic moc navíc nevyčetl.
Předem díky.

/*Nevím jestli je to pochopitélné takže to zde trochu rozepíšu:
Mám databázi s dvěma tabulkama (dodavatelé & produkty), ke každé mám automaticky vytvořené etnitní třídy. Jsou k sobě ve vztahu One-To-Many (jeden dodavatel dodává více produktů). Pomocí GUI je zpravuji, pomocí bindingů mám nastavenou aktualizaci. Dodavatelé jsou přímo, produkty z jistých důvodů přes BindingList, mám také možnost produkt přidat a pokud ho přidám i do BindingListu s vyplňenou hodnotou SuplierID (identity field v tabulce dodavatelé) tak aplikace spadne. Otázka zní proč? Vím, že spadnout má, to jsem si vygooglil, zajímá mé jaký to má vnitřní důvod.
*/

Xelender
.NET › WPF Binding &amp; DLINQ
5. 2. 2011   #138544

Zdravím,
tentokráte bych spíše potřeboval ujistit. Pokud mám nějakou kolekci entitních tříd svázanou s např. ComboBoxem, u kterého zachytávám událost SelectionChanged a na danou tabulku zavolám metodu Refresh, tj. natáhnu z databáze nová data, ty by měl zachtit binding a updatovat objekty v ComboBoxu a tudíž by se měl vyvolat event SelectionChenged. Je to tak nebo ne?
Předem díky.

Vzdělání › Programovanie- dalsie kroky
1. 2. 2011   #138420

Jasně, že Visual Studio. Jsem občas trochu zblblej a to v tom ani neprogramuju, asi jsem právě něco řešil s otcem nebo tak. :D

Vzdělání › Programovanie- dalsie kroky
30. 1. 2011   #138315

A C++ jde hlavně použít v IMHO nejlepším IDE Visual Basic spolu s IMHO nejlepší frameworkem .NET.
//S tím frameworkem je to trochu nadnesené, s tím IDE ani ne VS je opravdu super!

Vzdělání › Programovanie- dalsie kroky
29. 1. 2011   #138287

Doplnil bych, chceš mít možnost psát pro Windows Phone 7, využívat interaktivně web (Silverlight), psát e-shopy, internetové aplikace (ASP.NET), psát aplikace všeho druhu pro windows, s možností portace pro Linux (MONO)? Vyber C#. Rozhodně bych ho nedegradoval jen pro miniaplikace. Je to prosté taková java, která běží na Winech daleko rychleji, ale na linuxu zase pomaleji s problémy.
//Ano jsem wOvce a vím to.

Offtopic › 20 000 bricháčů!
26. 1. 2011   #138176

+30 = 20 120

Xelender
.NET › C# - Multithreading - jak to…
25. 1. 2011   #138152

Pravda, blbnu. Každopádně, pokud tedy nevolám (více vlákny) statickou metodu budou data sdílená (pokud volám metodu stejné instance). Pokud volám statickou, sdílená nebudou. Rád bych, kdyby mi někdo řekl proč.
Mám osobně takovou teorii, statická metoda se vytvoří vždy znovu (když je volána), díky tomu se vždy znovu (a pro každé vlákno) přidělí vlastní paměť. Zatímco pro metoda podřízená nějakému objektu se vytvoří jen jednou a to při jeho vytvoření.

.NET › C# - Multithreading - jak to…
25. 1. 2011   #138151

No vzhledem k tomu, že Main je metoda statická tak this.bla volat nemůže. Pokud myslím správně, tak pokud bys to nevolal z statick. metody a volal to pomocí this.bla a new Thread(this.bla).Start() tak by to proměnné sdílelo.

Xelender
.NET › C# - Multithreading - jak to…
25. 1. 2011   #138149

Díky, ale pořád mi tu není jedna věc.
V kódu [CODE]static void Main()
{
new Thread(Pis).Start(); // Zavolá Pis() na novém vlákně
Pis(); // Zavolá Pis() na primárním vlákně
}
[/CODE] se vlastně také volá ze stejné instance ne? I ta třída ze které to volám musí mít nějakou instanci v momentě volání (tedy pokud není statická). V podstatě jsou oboje metody volány z 'this', tak jaký je rozdíl mezi tím, když volám ze základní instace a když volám z mnou vytvořené instance?

.NET › C# - Multithreading - jak to…
25. 1. 2011   #138148

Pravděpodobně jsi přeskočil úvod, je to zde krásně vysvětlené, viz. http://programujte.com/?akce=clanek&cl=2008061400-vlakna-v-c#-uvod

"CLR přiděluje každému vláknu jeho vlastní zásobník paměti, takže vlákna mohou mít své vlastní proměnné. "

Xelender
.NET › C# - Multithreading - jak to…
25. 1. 2011   #138147

Zdravím, měl bych pár otázek ohledně multithreadingu v C#. Snažím se to pochopit podle seriálu, který zde je. Celou dobu jsem měl za to, že vlákna sdílejí v podstatě všechno. Jenže poté v 10. díle je tento kód
[CODE] class ThreadUnsafe
{
static int x = 1000;
static void Go() { for (int i = 0; i < 100; i++) x--; }
} [CODE]
Předpokládal jsem tedy, že pokud tento kód zavolám 10 vlákny, sníží se pouze o x se sníží pouze o 100. (tedy v ideálním případě, protože občas více vláken zároveň přistoupí k proměnným etc.) V textu je však napsáno, že v ideálním případě by x bylo 0. To znamená, že každé vlákno si vytvoří vlastní kopii 'i'?

Visual Basic › DataGridView - enter - posun…
24. 1. 2011   #138115

Děkuji, ale tato metoda nezabrání po ukončení editace přesunu na další řádek.
//Píši ze synova účtu

Vhous
Visual Basic › DataGridView - enter - posun…
22. 1. 2011   #138044

Zdravím, mám problém. Když v komponentě DataGridView ukončím editaci buňky pomocí enter, přehodí se mi focus o buňku níže. Tomu bych chtěl nějak zabránit, zkoušel jsem i přehazovat focus před ukončením editace o 1 nahoru - nepomohlo.
Jedná se o WindowsForms aplikaci.

.NET › Citanie z txt.
8. 1. 2011   #137638

Jakou přesně chybu to vyhazuje? A raději sem napiš i kód vlastnosti.

.NET › Spusteni Publicu a cekani na…
3. 1. 2011   #137466

Ono je těžké to takhle říci, aby to čekalo na příkaz jaký? Nebylo by lepší to spustit až po provedení toho příkazu? Více méně bych si něco nastudoval o 'eventech', neboli událostech.
Jinak pokud tvoříš textovou hru, možná by bylo jednodušší použít místo WPF aplikace jenom konzolovou.

.NET › Spusteni Publicu a cekani na…
3. 1. 2011   #137452

Naprosto jsem nepochopil otázku a odpověděl totální blbost.

OS - Windows › w7 a účty
22. 12. 2010   #137089

Jednoduše ač jsi administrátor, tak pod administrátorskými právy nejedeš. Ty se aktivují (daný proces jede jako admin) jen když chceš (a odsouhlasíš to v UAC).

.NET › XAML - zahrnutí namespace
20. 12. 2010   #137047

Co na to říci, asi jen děkuji. Naučím se lépe googlit.

.NET › XAML - zahrnutí namespace
20. 12. 2010   #137044

Pravda, zde je také chyba, ale pořád to nejde, jen to tento řádek rozpoznalo a přihodilo další chybu. Zajímavé, hlásí to že namespace Zákazníci neexistuje, přitom existuje divné.
Error 2 Undefined CLR namespace. The 'clr-namespace' URI refers to a namespace 'Zákazníci' that is not included in the assembly. D:\C_Sharp\Vyuka_KODY\Kapitola 24\Zákazníci\Zákazníci\FormulářZákazníka.xaml 4 16 Zákazníci

.NET › XAML - zahrnutí namespace
20. 12. 2010   #137040

Zdravím, projíždím knihu Visual C# 2008 Krok za krokem a narazil jsem na takový malý problém. V kapitole 24 se řeší validace hodnot, díky tomu je do XAML zahnut namespace appky a vytvořena třída. Jenže zde je problém, VS hlásí že daná třída v namespace není. Zkoušel jsem i již hotový kód, též je prý špatně. Zkoušel jsem (lehce) i googlit nic.
Zkoušeno ve VS10 (poté i v VS2008)



<Window x:Class="Zákazníci.FormulářZákazníka"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:cust="clr-napespace:Zákazníci"
Title="Údaje zákazníka" Height="273" Width="370" ResizeMode="NoResize">
<Window.Resources>
<cust:Zakaznik x:Key="dataZakaznika" />
</Window.Resources>

namespace Zákazníci

{
class Zakaznik
{
public string jmeno;
public string prijmeni;
...
}
}

Chyby:
Error 1 The tag 'Zakaznik' does not exist in XML namespace 'clr-napespace:Zákazníci'. Line 7 Position 10. D:\...\Kapitola 24\Zákazníci\Zákazníci\FormulářZákazníka.xaml 7 10 Zákazníci

Error 2 The type 'cust:Zakaznik' was not found. Verify that you are not missing an assembly reference and that all referenced assemblies have been built. D:\...\Kapitola 24\Zákazníci\Zákazníci\FormulářZákazníka.xaml 7 10 Zákazníci

//Diakritika je zde od tvůrce kódů ke knize, ne ode mne.

Java › Problem se serazenim objektu
19. 12. 2010   #137017

Zdravím, na seřazení objektů by mohl být poměrně dobrý princip 'binárního stromu', takto je seřadit, a poté aby seděli reference tak už je jednoduše změnit.
http://cs.wikipedia.org/wiki/Bin%C3%A1rn%C3%AD_vyhled%C3%A1vac%C3%AD_strom
Kdyby byl zájem, mohu doplnit zdroják pro daný objekt (ale je to v C#, leč syntaxe je velmi podobná).

.NET › LINQ &amp; Parametrem lambda…
28. 11. 2010   #136370

Děkuji, ale leč jsou moje schopnosti angličtiny dle mého názoru na to že se učím dva roky poměrně obstojné, tak na čtení poměrně technické knihy to zatím není.
EDIT: Chápu jak fungují rozšířené metody. Jde mi o to jak je z labda výrazu vycucnuto "Func<TSource, decimal>".

.NET › LINQ &amp; Parametrem lambda…
27. 11. 2010   #136342

Ano, děkuji.

.NET › LINQ &amp; Parametrem lambda…
26. 11. 2010   #136281

Zdar, budu mít trochu abstraktnější dotaz.
Metodám třídy LINQ se předávají jako parametry metody, jsou to vlatně lambda výrazy. To chápu, chápu i jak daná metoda může vycucnout z daného lambda výrazu všechny informace co potřebuje.
Jde mi o to jestli je metodový parametr použit ještě někde jinde. Či jestli může sám programátor napsat takovou metodu.
Další věc která mě zajímá, jak taková metoda přímo pracuje s daným parametrem. Ví že má z dané enuerovatelné kolekce vybrat např. všechny metody které se nějak jmenují. Používá proto zástupné jméno. To chápu, ale není to někde rozvedené více do hloubky? Jednoduše chápu že to funguje, chápu jak to použít ale vnitřní niance mi jasné nejsou.
//Doufám že je můj dotaz alespoň trochu pochopitelný.

.NET › [C#] ovlivnění generování ná…
8. 11. 2010   #135661

Ach, teď to smysl dává. Omlouvám se za teď již zbytečné otázky.

.NET › [C#] ovlivnění generování ná…
7. 11. 2010   #135608

Asi je to tím že jsem dnes trochu mimo, ale nedochází mi proč v parametrech pro .next předává 6+1 a ne 6 nebo 7. Dle MSDN library jde o rozsah, proto mi také vrtá hlavou proč je u kostky rozsah 1-7 (neboli 6+1).
EDIT: Jde mi o to jen z čiré zvědavosti.

.NET › 8 Královen - LOGICKÝ problém
10. 8. 2010   #132455

Středoškoláka, no po prázdninách budu. Poučil jsem se z diskuze a nakonec to udělám trochu jinak a s n-královnama.

.NET › 8 Královen - LOGICKÝ problém
9. 8. 2010   #132387

// Vzhledem k tomu že tento kód byl špatně, a celkově se z něho nedalo naučit nic dobrého jsem se rozhodl že jej raději smažu.

.NET › MS SQL
7. 8. 2010   #132313

If(tabulka.Where(jmen => String.Equals(jmen.Jmeno, "Peter").Count() == 0)

{
//Přidání Petra
}

Whoever
.NET › Pořadí spouštění metod
7. 8. 2010   #132310

Dobrý den,
Nedaří se mi pochopit jak přesně posobě probíhájí tyto příkazy. Samotný význam každého prvku chápu. Jde mi o to že mám teorii že se první provedel metoda zakaznici.Select(adr => adr.Zeme), to co daná metoda vrátí se uloží do néjaké mezipaměti, na danou informaci se poté aplikuje metoda .Distinct() a poté na výstup této metody se aplikuje .Count(). Je to tak či ne?

zakaznici.Select(adr => adr.Zeme).Distinct().Count()

.NET › pohyb s myší
5. 8. 2010   #132268

Hoď to do tagů "kód" a zkusím se na to podívat. // Moje znalosti na to ale asi stačit nebudou

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý