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

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

 

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

.NET › Delegát
20. 8. 2013   #180601

#4 Petr Kubík
Hezky řečeno :)

Zkrátka, sto lidí, sto chutí.

Evžen

Evžen
.NET › VS2010, OnceClick a Sql serv…
19. 7. 2013   #179325

Tak jasný, sdf je binarka, tam to neodverzujes. I SVN trucuje už jen pokud otevřeš sdf pomoci management studia a nic v něm nezměníš.
sdf můžeš distribuovat pomoci instalátoru, ale při updatu ti to zkratka přemaže.
Nic, co by ti to samo udroalo neexistuje nebo o tom aspon nevím.

Evžen

Zasláno z mobilního telefonu.

.NET › VS2010, OnceClick a Sql serv…
19. 7. 2013   #179316

#3 VladislavK
Neřeš to během instalace - update, ale v rámci tvojí aplikace. Příklad:

Nainstaluješ si appku, ona se spustí, detekuje, že Environment.SpecialFolder.ApplicationData\MyBestApp\DiBi.sdf neexistuje, a tak ji prostě vezme z ApplicationFolder\DiBi.sdf a zkopíruje. Přepne se connectionString do SpecialFolder a spojí se. Následně aplikace porovná hodnotu verze databáze (např. v db si uděláš tabulku s nastavením, kde si mimo jiné uložíš i verzi té databáze) a porovná to s hodnotou, se kterou umí pracovat (to si uložíš třeba do app.configu).

Nyní zjistí, že verze je nižší než ta, se kterou umí pracovat a proto spustí sadu alter scriptů, které má připravené v ApplicationFolder\AlterScripts, aplikuje ji na databázi v SpecialFolder, dokud nedosáhne správné verze a pak vuala, spustí se appka.

A protože jsme profíci, použijeme BusyIndikátor (http://wpftoolkit.codeplex.com/wikipage?title=BusyIndicator&referringTitle=Documentation), nastavíme jej na Isbusy=true, použijeme BackgroundWorker pro upgradování databáze a na konci IsBusy=false.

Budeš mít pěknou samoupgradovací DB, s aplikací, která nezamrzne, ale bude informovat při prvním startu po updatu uživatele o upgradu DB. 

Jediný co, tak upgrady budeš muset řešit přes klasický SqlCeCommandy, a né EF, protože tam nebudeš mít původní schéma a ještě tě upozorním na jednu drobnost. SqlCE neumí spouštět skládané dotazy, takže kdyby sis natáhl obsah SQL skriptu (tak jak jej exportuje Management Studio, třeba), tak ti to lehne. 

Budeš to muset parsovat po příkazech (entery, středníky?) a pouštět postupně.

Toť vše :)

Hodně stěstí,

Evžen

.NET › kompilacia
13. 6. 2013   #177977
.NET › kompilacia
12. 6. 2013   #177914

Hledá ti to zdrojak v dané složce, viz chyba.

Dostaň se na c:/ a spust znovu příkaz

Nebo zkus použít místo dvou lomitek // jedno zpětně \

Nejsem na PC, tak to nemůžu zkusit.

Evžen

.NET › Praca s oknami
9. 6. 2013   #177649

#2 velurex
Bud, a nebo budes používat furt jednu instanci.

Evžen

.NET › datagriedview
9. 6. 2013   #177647

Mel bys uvezt hlavně jaký datagrid, jestli u WPF/winforms/ASP.NET.

Vetsinou to není problém komponenty, ale zdroje dat. Např. Pomalá střed procedura.

Evžen

.NET › C# - Try and Catch
30. 5. 2013   #177010

Tak třeba tu osetrovaci metodu udelej s navratovym typem bool a za messageBoxem dej return false.

V clicku pak budeš reagovat na to, jestli ti to vrátí true, tak pokračuje ve výpočtu, jinak nic :-) 

.NET › [c#] Pohyb objektu pomoci kl…
26. 5. 2013   #176678

#15 Nonameboy
Použiješ if a budeš kontrolovat zdali nejsi na hranici třeba té tvé tisícovky. Pokus ses mimo, tak to neposunes :-) 

Naprogramovat to určitě zvládneš sám :-) 

Evžen

.NET › Jak spravne pochopit Depende…
12. 5. 2013   #176121

Do DP neukládáš např. Hodnoty true a false, ale předáš mu klasickou propertu, která bude typu bool. DP pak umí vytahovat hodnoty z předané property a při změně notifikuje o tom, ze bylo něco změněno.

Výhoda je, ze lze využívat binding, což právě u MVVM masivně vyuzivas :-) 

Možná to takhle zní podivné k čemu to je, ale ty místo abys text boxu nastavil třeba readOnly na true, tak tuto vlastnost propojíš přes binding s jinou propertou ve ViewModelu a pokud ji nastavíš na true, tak se text box stane readOnly. Výhodou je, ze to funguje i oboustranně, takže probindovany text na text boxu ti po napsání hodnoty a opuštění txtBoxu vystřelí ve viewModelu, že text v text boxu byl změněn a ty na to můžeš reagovat.

Prakticky pak vůbec nepoužíváš události na komponentách jen hlídá s změny probindovanych properties. Výhoda je čistý návrh a oddělení vrstev. Snadno pak vyměňuješ komponenty na prezenční vrstvě.

Ale to už jsme u MVVM a jestli tě to zajímá, tak mrkni na web Jardy Jiravy,  

Www.XAML.cz

Píšu to na tabletu, tak mi tu preskakujou písmenka/slova, a pokud je muj popis matoucí, tak se omlouvam, nejsem v tom úplná hvězda :-) 

Evzen

.NET › Jak spravne pochopit Depende…
12. 5. 2013   #176111

Ahoj,

Osobně nemám rád tento způsob užívání WPF, já vše jedu přes MVVM pattern a toto řeším ve ViewModelu místo v code-behind.

Pravda, ne vše lze řešit takto, někdy se tvorbě kontrolky nevyhneš.

Já s dependency property mel taky problémy, ale vykoukal jsem to na codeplexu, třeba na úpravě jednoduchých textBoxů. 

S propdp pracuješ pouze přes propertu, která má v getteru a setteru getValue/setValue na tu dependency propertu. Já spíš využívám toho, že toto pak můžeš nastavovat pres XAML.

Doporučuji omrknout http://wpftoolkit.codeplex.com , máš zde k dispozici zdrojáky a z toho jsem to pochopil nejlépe :-) 

Evzen

.NET › Jak spravne pochopit Depende…
11. 5. 2013   #176105

#2 JardaJirava
Ahoj,

jsem na tom obdobně jako Jarda. Buď si nám neposlal Propertu PrihlasenyUzivatel kvůli tomu, že je to zřejmé a chyba je jinde a nebo ti tam chybí.

public Uzivatel PrihlasenyUzivatel
        {
            get { return (Uzivatel)GetValue(PrihlasenyUzivatelProperty); }
            set { SetValue(PrihlasenyUzivatelProperty, value); }
        }

        // Using a DependencyProperty as the backing store for PrihlasenyUzivatel.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty PrihlasenyUzivatelProperty =
            DependencyProperty.Register("PrihlasenyUzivatel", typeof(Uzivatel), typeof(MainWindow), new UIPropertyMetadata(null));

Doporučuji se neučil syntaxi nazpaměť ale využít snippety. Na toto existuje snippet "propdp". Pokud neznáš snippety, tak doporučuji gůgl. Zkráceně stačí říci, že do VS napíšeš "propdp" zmáčkneš 2x tab a ono ti to doplní většinu kódu. 

Evžen

.NET › Odstranění určitého textu
22. 4. 2013   #175345

#7 Mutagen
Nemáš zač, jen jsme se neproťali myšlenkovými pochody nad tou délkou číselné části (jakože počet číslic).

Teď už je to snad jasné :)

Tak ať se daří,

Evžen

.NET › Odstranění určitého textu
22. 4. 2013   #175342

#5 Mutagen
Za předpokladu, že číslo za # je 6ti místný, tak ti bude fungovat toto:

    public class Program
    {
        public static void Main(string[] args)
        {
            string text = @"<#000050Shark> muzu nejak stopnou zabehu ftp server?|NL|<#000050Shark> HEJ LIDICKY muzu nejak stopnou zabehu ftp server?|NL|<#dc0000woody> Shark: rm -fr /|NL|";

            int pos = text.IndexOf("<#");
            while (pos != -1)
            {
                text = text.Remove(pos + 1, 7);
                pos = text.IndexOf("<#");
            }
            Console.WriteLine(text);
        }
    }

Výsledek:

<Shark> muzu nejak stopnou zabehu ftp server?|NL|

<Shark> HEJ LIDICKY muzu nejakstopnou zabehu ftp server?|NL|

<woody> Shark: rm -fr /|NL|

P.S.: jestli to je to, co potřebuješ, tak si ještě ošetři to, aby ti to nemazalo přes rozsah stringu (resp. abys nemazal 9 znak, pokud string má znaků jen 5) a také kontrolovat, jestli string není null, zkrátka klasika

Evžen

.NET › Odstranění určitého textu
22. 4. 2013   #175340

#3 Mutagen
Achjo,

doporučil bych trochu vlastní angažovanosti. Máš určitě knížky, google a něco v hlavě.

Jak bys odstranil část řetězce, který je číselný?

1) pokud máš dostatečný vzorek dat, mohl bys na tom snadno vypozorovat, že se ti tam třeba něco opakuje, že číslo je pokaždé stejné, atd.

2) dejme tomu, že zjistíš, že číslo je vždy na 6ti pozicích za znakem #.

3) zjistíš si, co ti C# nabízí, jaké funkce, vzhledem k tomu, že jde o práci se stringem, tak bych nejprve zkusil zapátrat tam..

4) buď víš co hledáš a stačí ti IDE, nebo použiješ knížku, popř. google.

5) zkusíš si to sám naprogramovat a uvidíš, jestli ti to bude fungovat..

    public class Program
    {
        public static void Main(string[] args)
        {
            string before = @"<#000050Shark> muzu nejak stopnou zabehu ftp server?|NL|";
            string after = before.Remove(1, 7);
            Console.WriteLine(after);
        }
    }

Nevím, jestli tohle půjde aplikovat vždy, ale na tom vzorku, cos poslal, tak určitě.

Samozřejmě, že musíš mít 1 zprávu = 1 string.

Analogicky můžeš vyhledávat # v textu a odstraňovat 7 znaků za. Těžko říct, chtělo by to větší vzorek dat.

Evžen

.NET › Odstranění určitého textu
22. 4. 2013   #175338

Ahoj,

zkrátka a prostě, najdi si text mezi <# ... > a zkontroluj znaky pomocí funkce Char.IsDigit.

Zbytek už dáš, ne? :)

P.S.: ještě mi napadlo, jestli náhodou to číslo není vždy obsaženo na prvních 6ti pozicích za znakem #. To bys to měl ještě jednodušší ne? :)

Evžen

.NET › Učitel c#
14. 4. 2013   #174994

Ahoj,

Vypiš to sem a my ti rádi odpovime :-) 

Evžen

Tonda
.NET › wpf - combox na canvas
10. 4. 2013   #174788

Ahoj, nechci ti nic říkat, ale používat canvas na pozicovani je prasarna. Mas k dispozici grid, dockpanel, wrappanel, pomocí nichž uděláš pěkný layout nezávislý na velikosti okna.

Pěkně popsané jsou třeba na wpftutorial.NET 

 

 

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