Vyborna vec je Zend Studio. Bud si muzes nainstalovat Zend Server nebo Zend Debugger extension pro apache2. Debug na tom funguje opravdu vyborne. Samotne Zend Studio je zalozene na Eclipse prostredi.
Dale jsem zaznamenal na webu PHP Storm od Jet Brains, ktery taky nevypada k zahozeni, ale narozdil od Zend Studia jsem ho nezkousel.
Příspěvky odeslané z IP adresy 85.135.97.–
Pokud budes muset napsat cely kod neuronove site sam, tak to si jeste uzijes. Budes muset nastudovat alespon BackPropagation metodu, ktera je takovy zaklad pro neuronove site. Pokud bys mohl pouzit nejaky engine, tak bych v tom moc problem nevidel.
Dik za nazor. S tim Snaselem mas pravdu, ten tam fakt ty matrose nema. K tomu vyhledavani v textu sem jeste tedka nasel kapitolu ve skriptech k datovym skladum, kde je taky neco popsano a mam dojem, ze to bude mozna i ono.
Nejvice me ale asi trapi to staticke a dynamicke generovani dat pro ty www, xml a xslt. Z toho jsem fakt jelen.
Kazdopadne dik.
Zdravim,
cum se tedka na statnice, ktere me zanedlouho cekaji a mam tam 3 otazky, u kterych sem celkem na vazkach, co maj konkretne na mysli, tak se ptam na vase nazory a navrhy, co by jste si pod temito tematy predstavili:
- Přesné vyhledávání v textech. (napadaj me regularni vyrazy nebo max nejake algoritmy na vyhledavani, ale nemam nejak predstavu, ktere konkretne)
- Semistrukturované dokumenty (SGML, HTML, XML) a vyhledávání v nich a na webu. (chapu to asi jako popis jednotlivych druhu dokumentu, vyhledavani asi textem nebo pomoci xpath/xquery)
- Statické a dynamické generovaní dat pro WWW, XML a XSLT. (napada me snad jen napr php, asp.net atd, ale to je tak pro dynamicke a ani nemam jistotu, jestli je to to, co maji na mysli)
Budu rad za jakekoliv navrhy/nazory ;)
Dikes
No jako ja nevim, ale vytvoris novy objekt zamestnance, tak pomoci linq si vyber objekt z oddeleni a prirad ho zamestnanci. Nevim presne, kde je problem.
Vyber provedes normalne pomoci podminky where odd_name == "pokladni".
Teda nic jineho jako problem v tom nevidim :X
Jo, to sem mel na mysli.
Nemohl bys sem postnout celou tu vyjimku, co ti to vyhodi? Hlavne mam na mysli Message a pripadne stack atd, proste komplet.
Kdyz sem to porovnaval s MSDN ukazkou, tak to mas prakticky stejne.
Jeste me napada max zkusit zadat i ip (treba localhost nebo 127.0.0.1).
Znak stříška slouží jako ukazatel v C++/CLI. Je to obdoba * ukazatele v klasickem C++.
No v prikladu vicemene chybu nevidim, ale doporucuju minimalne v konstruktoru UdpClient zadat cislo portu, pres ktery se ma komunikovat. To muze byt ten problem.
V konzolovém programu je cesta k programu pod nultym parametrem, tudiz neco takoveho:
int main( int argc, const char* argv[] )
{
char* path = argv[0];
}
Ve WinAPI programu muzes pouzit API GetModuleFileName
http://msdn.microsoft.com/en-us/library/ms683197%28VS.85%29.aspx
Hlavním problémem je, že máš velmi špatně vyřešené pozadí. Máš pro něj nastavenou pevnou velikost a proto se ti zobrazují scrollbary, protože přesahuje velikost stránky. Dál sem kód moc nestudoval, ale doporucoval bych upravit pozadí a nedávat mu hlavně pevnou šířku, ale používat repeat v css, ale nejsem si jistý, jestli to půjde nějak dobře nastříhat.
Pak pro vycentrování divu se používá:
#maindiv {
margin: auto;
nebo
margin-left: auto;
margin-right: auto;
}
Zdarec, resim tedka problem, kdy se snazim si nahodit na vzdaleny server nejaky remote debugger, abych nemusel mit na localhostu zbytecne web server.
Drive se mi osvedcila funkcnosti kombinace Zend Studio + Zend Server a chtel bych si dat nejlepe ten Zend Remote Debugger na ten server, ale nejak se mi ho ani nedari poradne najit.
Ma nekdo s necim podobnym zkusenosti? Beru jakekoliv nazory a rady.
Dikes
Edit: Po umoru sem nakonec zprovoznil Zend Debugger a Zend Studio
Normalne si vytvoris handler na nejakou Key udalost (KeyUp, KeyPress) - udalost si vytvoris jednodusse v designeru, ze na ni 2x poklikas.
A pro zbytek by ti mohlo pomoct tohle:
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keypress%28VS.80%29.aspx
ad 1, No chybi mi tam jmeno databaze a pripadne prihlasovaci udaje. To muze byt zakladni kamen urazu. Nejlepsi je pripojit se pres vnitrni prohlizec VSka a pak si nechat vygenerovat ConnectionString.
ad 2, Jestli mas na mysli simulaci stisknuti klavesy, tak hledej v Google "keybd_event" bez uvozovek. Pokud mas na mysli samotny event, kdy ti to zareaguje na nejakou klavesu, tak ve Windows Forms jsou primo na tohle eventy a v konzolovem okne musis odchytavat klavesy pomoci ReadKey().
ad 3, Samozrejme, ze jde. Bud pres Windows Media Player komponentu, nebo nejakou externi jako FMOD nebo BASS knihovnu, pripadne pomoci Direct Sound. Jeste je primo nejaky uplne zakladni player v C#, ale ten toho opravdu moc neumi, takze bych zkusil googlit na netu.
Asi tak nejak, dneska vesmes vsechny db pouzivaji stromovou strukuturu, takze se bat vykonu nema moc smysl ohledne nadbytecnych dat.
Nanestesti u tveho problemu se nevyhnes sloupci navic. Bud budes mit navic sloupec, nebo tabulku nebo nejake xml bokem, ale vzdycky budes mit nejake data bokem, kde budes mit ulozene info o schvaleni. Bohuzel to nejde obejit.
ad 1, Server by s tim nemel mit nejmensi problemy. Pro nej je to vicemene kapka v mori.
ad 2, V nicem, pro ten server je 90 PC prakticky nic. Sice jak rika Mixxy, zalezi na spustenych sluzbach, ale vicemene pokud se neprovadi silene prenosy dat nebo narocne vypocty (napr. sifrovani atd.) tak to pro server nic neni.
ad 3.1, Vicemene ano. Je ale lepsi praktikou zakazat vse (samozrejme v ramci mezi) a u akceptovanych skupin povolit potrebne sluzby. Zkratka vytvorit si nejakou hierarchickou strukturu vedeni (nejlepe pomoci Active Directory, pokud to chces mit univerzalni).
ad 3.2, Pokud to nastavis blbe, tak je to mozne, ale pri spravnem nastaveni, kdy kazdy uzivatel bude mit svoji slozku pro data neni prakticky mozne, aby se data ztracely. Vse se odviji od nastaveni uzivatelskych adresaru. Neco obdobneho lze jiz videt, kdyz se intaluje novy system a nahodou se zvoli oprava, tak se ke kazdemu uzivatelskemu uztu musi zadat prihlasovaci udaje (pokud jsou) a lze se dostat do dat pouze daneho uctu a do jinych se nelze dostat. Mam dojem, ze mi sem se dokonce ani jako admin nedostal do jinych uctu kvuli pravum.
ad 1, Tohle je trochu obtiznejsi, protoze si nejsem jisty, jestli ma .NET primo nejake funkce na to. Zakladem je vypsat si list spustenych procesu, vyhledat si ten svuj podle nazvu a zjistit si jeho PID (Process ID) a na toto PID pak poslat zpravu o ukonceni. Pohledal bych neco takoveho pro C++ a zkusil to portnout do C#.
ad 2, Ten skript neni nijak slozity. Jedine, co vlastne dela, ze zkusi vytvorit socket spojeni na nejake IP a PORT a pokud se pripoji, tak je server spusten jinak ne. Alternativou v C# muze byt trida Socket v System.Net.Sockets.
Fakticky netusim, mozna by pomohlo u PictureBoxu pouzit DoubleBuffering, ale zvysi to pametovou narocnost, ovsem mohlo by to vyresit ten problem. Nicmene celkove bych se poohlidl po nejakem jinem reseni na Google.
Jeste me napada jedna moznost, a to primo vykreslovat do nejakeho rectangle. Ale jak na to musis pohledat.
Taky presne nevim proc to dela, ale podle toho, co sem narychlo videl v tech clancich, tak je to proto, ze MDA slouzi k debugovani runtime chyb a v Managed DirectX 1.1 je v kazde assembly nejake spoustedlo, ktere to vyvolava. A vzhledem k tomu, ze MS prestal Managed DirectX podporovat a zacal vyvijet platformu XNA(MDX 2.0), tak to neopravili.
Tudiz staci pri praci s MDX 1.1 to mit vypnute a nemel by byt problem.
BTW: Setkal sem se taky s timhle problemem u MDX 1.1.
To s tim webem je zajimava vec, ale zase mi prijde pritazene za vlasy, kdyz by clovek mel mit x tech malych knihovnicek nareferencovanych, ale ma to svuj puvab, to uznavam. Jedna z moznosti by byla ten MSIL podle pozadavku slucovat dohromady do jedne libky treba, ale tohle vyresit technicky asi nebude zrovna nejjednodussi (i kdyz nevim, nevidel sem strukturu assemblies, tak nemam presne predstavu, co by to vyzadovalo).
Dalsi variantou muze byt teda neco jako ta wiki s tim tvym webem, co navrhujes, kde by se daly nahravat kody a assemblies od ruznych uzivatelu.
Kazdopadne si myslim, ze by to byla zajimava vec.
Pooling je vetsinou oznaceni techniky, kdy mas nejakou uloziste, ve kterem mas predpripravenou sadu zdroju, ktere pote pridelujes. Po skonceni nejake akce si ten zdroj zase vemes zpet. Tim ti odpadne rezije potrebna k inicializaci tech zdroju a vlastne je znovupouzivas dokola.
Prikladem muze byt web server. Ktery ma rekneme pripravenych 25 pozic po klienty. Pri novem pripojeni na server vezme 1 zdroj a priradi ho k obsluze pozadavku klienta. Po skonceni pozadavku si ten zdroj zase veme zpet.
Jiny priklad muze byt i klasicke holičství, kdy mas frontu lidi cekajicich na holeni a urcity pocet holicu, kteri tuto cinnost provadeji.
Muze to byt kolekce vseho mozneho. Nevim, v cem vidis problem v pouzivani trid. Pouzivas je dnes a denne. Udelat takova hotova reseni treba spolu s tou wiki, ale vzhledem k tomu, ze se pomalu nikdo jiny nevyjadril, tak to asi nema smysl dal probirat, coz je podle me skoda :/
Tak to ti nevylitne nikde. Maximalne E-Jay nejake verze (techno, dance atd). Ale to jsou jen smycky, z kterych by neco poskladala i opice. Pokud chces opravdu delat hudbu, zacni se ucit ve fruitym a v reasonu, jinak s tim radsi ani nezacinej a ztrat iluze.
2 valurex: Nevim, je to mozne, .NET FW 4.0 sem trochu projizdel, ale nenalsel sem zatim nejake zminky o kolekcich. Nemas nekde nejaky odkaz na info, co mas konkretne na mysli?
2 mephi: No nejaka wiki by se mohla taky vytvorit. Ja nemam na mysli ani nejak velky framework, proste treba i par trid, ktere by usnadnovaly a resili neustale problemy, na ktere se pri vyvoji narazi. Taky kolikrat patram po starych projektech, kde jsem co uz resil a nevzpominam si presne, jak sem to resil.
Napriklad ty validatory na vstupy by byly dobre jako nejaka trida nebo extension. A urcite by se naslo dost dalsich problemu, ktere by staly za poreseni a udelat pak nejakou ucelenou knihovnu trid a funkci, ktere usnadni jejich pouzivani.
Zdarec, napadla me takova myslenka na tvorbu mini frameworku pro .NET.
O co by se jednalo: Kazdy, kdo uz nejakou dobu pise pod .NET frameworkem jiste narazil na jista uskali a problemy, ktere se neustale opakuji a jejich reseni mnohdy trva i hodiny googleni a zkouseni. Diky tomu me uz nejakou dobu hloda myslenka o tvorbu nejake mini frameworku, ktery by tyhle problemy sdruzil pod nejakou knihovnu a nejak je vnitrne elegatne resil tak, aby programatora uz nejak vice nezatezoval.
Konkretne mam na mysli praci s kolekcema (editace a mazani kolekce treba v cyklech) a validovani vstupu. Tyhle 2 me zatim napadly, ale jiste by se naslo mnohem vic kazdodennich problemu, ktere by se daly nejak zpracovat.
Tak se chci zeptat, zucastnil by se nekdo na tvorbe? Jelikoz samotnemu se mi to tvorit nechce.
Mohlo by se to vest treba jako oficialni framework Programujte.com.
Tak co myslite? Piste pripominky, navrhy, proste cokoliv vas napadne.
Nanestesti tohle nelze zajistit. Je to problem aplikaci pracujicich na localhostu. At sebelepe zasifrujes/zahashujes udaje, vzdycky budou sifrovaci klice pritomne v aplikaci a bude mozno je dohledat a nasledne pomoci nich desifrovat udaje k db.
Pouzitim hashe taky temer nicemu nelze zabranit, protoze se muze odchytit dany hash a pak ho podstrcit k pristupu k db.
Nejjistejsim a zaroven jedinym opravdovym resenim, jak zabezpecit db u aplikace z localhostu je vytvorit si na serveru nejakou proxy aplikaci, ktera bude obsluhovat pozadavky od klienta (klienta posle SQL na proxy, proxy se pripoji na db a zpracuje dotaz, vysledky posle klientovi). Takhle jedine lze opravdu zabranit precteni pristupovych udaju. Nevyhodou tohoto reseni je jista narocnost na tvorbu a obsluhu db - proxy - klient (samozrejme vcetne nejake prodlevy pri zpracovani pozadavku) a nutnost mit i server s moznosti mit spustenou nejakou webovou sluzbu nebo web obstaravajici zminenou proxy funkci.
Odlehcenou verzi je mit opet nejakou miniaplikaci na serveru, ke ktere se klient pripoji a ona vytvori SqlConnection k db a tento vytvoreny objekt poslat klientovy, ktery by jej pouzil pro naslednou praci s db. Nevyhodou tohoto reseni je opet moznost odchytit at uz sitove, nebo memory dumpem pripadne prihlasovaci udaje k db. Dale si nejsem jisty, jestli neni SqlConnection vazany na danou masinu, na ktere se vytvori instance tridy. Naopak vyhodou neni zadna prodleva jako v predchozim pripade.
Jeste odlehcenejsi verzi je prakticky to same, co predchozi pripad jen s tim rozdilem, ze se neposle klientovi instance tridy, ale samotne prihlasovaci udaje k serveru. Nevyhody jsou ty same, krom te provazanosti na masinu.
Jine moznosti me prakticky nenapadaji a vsechny vicemene potrebuji nejakou proxy aplikaci na vzdalenem serveru, protoze na klientovi pujde vzdy v urcitem bode odchytit prihlasovaci udaje (at uz drive nebo pozdeji). Nejjistejsim je prvni reseni, zde neni mozno se dostat k udajum. Dalsi 2 uz maji pripadnou diru, kde by se daly ochytit.
Zrus ve tride mereni inicializaci te Komunikace() a predej ji z hlavni stejne jako predavas to Hlavni()
Mereni m = new Mereni(this, komunikace);
Proste ji nevytvarej 2x.
Pro ty Xml pouzij XmlDocument tridu. Pomoci ni muzes mit cely dokument v pameti a pak az v pripade potreby ho ulozit tim dialogem.
V metode mereni musis pouzit odkazy na jiz vytvorene instance. Sam pises, ze je znovu vytvoris a pak mas port null. Musis si je nekde globalne ulozit a pak je pouzit.
Na ukladani a nacitani souboru je na internetu tuna prikladu se zdrojovyma kodama, staci pohledat. Ja na xml pouzivam bud XmlDocument nebo XmlTextWriter/XmlTextReader.
Na spusteni vlakna s parametrem se pouziva ParametrizedThreadStart. Nastesti c# je tak chytry, ze ho pouzije automaticky, kdyz najde parametr v cilove metode, takze staci ten parametr predat do metody Start(this).
Pokud by to neslo (myval jsem s tim problemy), tak staci ten odkaz predat do konstruktoru a v kontruktoru si ho ulozit do verejne promenne.
Pro meneni udaju z jineho vlakna pouzivam invokovani
Invoke((MethodInvoker)(delegate()
{
statusText.Text = "...";
}));
Hodne zajimave tema :D
ad 1, Michani jazyku - positive :D nekdy anglictina, nekdy cestina, pak vznikaji taky zajimave hybridy.
ad 2, Sice se uz snazim komentovat, ale ono je to tezke, kdyz clovek programuje za pochodu :D Komentare funkci to delam az na konci (pokud nejaky je :/). Snazim se komentovat aspon nejake nejkritictejsi mista u kterych vim, ze jejich vymysleni mi zabralo nejaky cas. Ale samotne komentovani mi taky moc nejde, protoze pak to nefunguje, cele se to predelava a komenty muzou jit do kytek :D
ad 3, To jsem na tom uplne tak samo. Stravim x-nasobne vice casu na samotnem osetrovani vsech moznych vstupu, pripadu a ja nevim ceho vseho a stejne to padne na necem uplne jinem, co jsem jeste neosetril :D
Muj "neduh" je ten, ze treba pokud pracuju na nejakem projektu, tak bych vetsinou potreboval nejakeho spoluprogramatora, protoze ja makam na tech tezsich vecech, ktere jsou stezejni, ale nebavi me dodelavat nejake blbosti okolo a na to bych potreboval toho spoluprogramatora :D Na tom mi uz par projektu taky vytuhlo :D
Nejjednodussi mas mit neco takoveho:
v tride Ovladani
public Ovladani(Hlavni form)
{
form.label = text;
}
v tride Hlavni
{
Ovladani o = new Ovladani(this);
o.necoDelej();
}
Proste si vlozis odkaz na tvuj vytvoreny form te ovladaci tride a pak uz nemas problem to ovladat.
Tedka konkretne nevim, ale videl sem v c++ socketech ICMP_ECHO typ zpravy, takze bych zacal hledat asi tohle.
Mrkni se po socketech a jejich typech zprav nebo si zkus najit zdrojaky na Ping program, nejake jsem nasel na google a z toho bys mohl hodne veci vystrihnout. Pak poslat pozadavek na echo na adresy koncici 255 (to znaci broadcast) nebo na 255.255.255.255, ale to je globalni broadcast a muze to udelat problem na switchich (prepinacich), kdy se muze stat, ze se zahlti, pokud nemaji spanning tree.
No nevim, jestli na to neni primo nejaka funkce. Ale me napadaji 2 zpusoby:
1, Postupne projit veskere kombinace neverejnych ip
ve třídě A: 10.0.0.0 až 10.255.255.255 (celkem 16 777 216 adres)
ve třídě B: 172.16.0.0 až 172.31.255.255 (celkem 1 048 576 adres)
ve třídě C: 192.168.0.0 až 192.168.255.255 (celkem 65 536 adres
Coz osobne spis nedporocuju, protoze to muze docela dlouho trvat v A a B tride.
2, Poslat Broadcast dotaz a zaznamenat, kdo odpovi. Tohle by bylo asi nejlepsi reseni.
Primo psat sem nepsal, ale tak na rychlo me napadlo mit nejaky timestamp u kazdeho radku a pri updatu vybrat vsechny radky, ktere jsou od urciteho timestampu a zapsat je na druhy server. To mi prijde jako nejjednodussi reseni, ale jestli nejlepsi, to momentalne nevim.
2 Míša: Aha, to jsem nevedel, tu by pak leda slo udelat, ze by sis ten obrazek nacetl a ulozil do docasneho souboru, na ktery by jsi aplikoval tu GetImageSize, ale prijde mi to jako skrabat se levou rukou za pravym uchem. Opravdu mas lepsi si tu velikost primo ukladat do db, jak navrhuju ja a KIIV.
No ja teda nevim, o co se snazis, ale udalost onclick nema duvod neco vracet do puvodniho stavu. Spis bych videl chybu na strane tveho skriptu. Jestli, napis sem presneji o co se snazis a treba i kousek kodu, pak se to bude hned lepe zjistovat.
Nejde, protoze to popira uz samou logiku a podstatu interfacu. Interface ma slouzit k tomu, aby tridy, ktere ho implementuji 100% obsahovaly urcite metody a jine tridy, ktere je pouzivaji, aby mely 100% jistotu, ze dana metoda bude v dane tride existovat.
V podstate ma slouzit k tomu, aby jsi nadefinoval, co ma byt viditelne JINYM tridam, ale kdyz to bude private, tak uz to ostatni neuvidi a porusis tu jistotu a tim padem by interface postradaly smysl.
To mas stejne jako, kdyz kazdy dum musi mit dvere aby mohli lidi vstoupit. A k cemu je ti dum, ktery ty dvere nema? Pripadne jej maji pristupne pouze obyvatele daneho domu, kteri kdyz do nich vejdou, opet se objevi doma.
Je to sice takovy zajimavy popis si tedka rikam, ale je to tak :D
Stahni si a pripoj si tyhle libky:
http://www.jdom.org/downloads/index.html
http://jaxen.codehaus.org/releases.html
A pak hezky nactes xml
SAXBuilder builder = new SAXBuilder();
try {
catalog = builder.build("katalog.xml");
} catch (Exception e) {
...
}
A nasledne treba pomoci Xpath (muj pripad) vybiras nody
List list = XPath.selectNodes(catalog, "//item");
Jinak ten jdom ma pekne zpracovanou dokumentaci i priklady a da se to z nich pochopit, takze doporucuju. Pro vice informaci viz. Ja :D
Ve zkratce co me napadlo v rychlosti na příkladu: maska - ex*r.* na soubor explorer.exe.
Masku si rozdelime na bloky pevne daneho textu mezi hvezdickama. U nasi masky dostaneme ex a r. a ted postupne budeme vyhledavat tyto bloky v nazvu souboru timto stylem:
1, hledame blok ex v explorer.exe
- nalezen => explorer.exe => do dalsiho kola predame zbytek retezce za prvnim blokem
2, hledame blok r. v plorer.exe
- nalezen => plorer.exe => do dalsiho kola predame zbytek retezce za druhym blokem
3, vsechny bloky nalezeny => nazev odpovida masce
Pokud se stane, ze na nejaky blok nenarazime, tak nazev masce neodpovida.
Snad to dava smysl a snad by to melo fungovat na 99% pripadech :D
2 KIIV: Mas nejake hezci reseni? Tak ze zvedavosti se ptam.
Klasicky pomoci XmlDocument a XPathu:
XmlNamespaceManager ns = new XmlNamespaceManager(new NameTable());
ns.AddNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
XmlParserContext ctx = new XmlParserContext(null, ns, null, XmlSpace.Default);
XmlDocument doc;
MemoryStream ms = new MemoryStream(Encoding.UTF8Encoding.GetBytes(TVOJE_XML_JAKO_STRING));
using (XmlReader reader = XmlReader.Create(ms, null, ctx))
{
doc = new XmlDocument();
doc.Load(reader);
}
Timhle si nactes xml a rozparsujes vnitrne. A nyni pomoci XPathu vyberes co potrebujes:
XmlNodeList list = doc.SelectNodes("//value"); //vyber vsechny elemetny value bez ohledu na to, kde se nazachazi v xml
Tohle podle me pujde zparsovat jak pres XmlDocument, tak treba i pres XMLReader (s LINQ to XML jsem to nezkousel). Nejvetsim problemem toho dokumentu je, ze mu chybi korenovy tag. Ja to v takovem pripade proste obalim do nejakeho vlastniho korenoveho tagu (bud stringem nebo XmlElementem) a pak to pujde bez problemu zparsovat a vyhnes se vsem kravinam typu regularni vyrazy a stavove automaty :)
V tomhle pripade podle me VC++ redistributables nepomuzou, protoze projekt je C++/CLI, tudíž využíva .NET framework a tyhle knihovny musi byt na cilovem pocitaci nainstalovany (ted je akorat otazka, ktera verze je pouzita). Doporucil bych na cilovy stroj nainstalovat .NET framework 2.0 nebo 3.5 a zkusit to.
Pokud by jste chtel to napsat tak, aby nebylo potreba .NETu, tak by se to muselo nejspis cele predelavat. Ale pro vic info bych musel videt vic ze zdrojaku (nebo minimalne zrusit vyuziti tech System.*.dll)
Pomoci GROUP BY to nelze vybrat, protoze to je agregacni funkce a musi byt doplnena o nejakou agregacni funkci, ktera v tomhle pripade nema smysl a nejde pouzit.
Mozna by to slo pres JOINy, ale v nich nejsem tak zbehly. Ja bych na to asi sel pomoci subquery:
SELECT name, email FROM table WHERE email IN (SELECT DISTINCT email FROM table)
Zdravim,
snazim se vytvorit vlastni komponentu pro WPF, ktera se bude chovat prakticky jako TextBox, ale bude mit navic moznost zobrazovat obrazky a mit klikatelny text, ktery vyvola nejakou udalost. Vim, ze RichTextBox ma obdobnou funcknost, ale jde mi spis o to si tu komponentu rozsirit sam o pozadovane funkce. Ma nekdo zkusenosti nebo predstavu, jak toho dosahnout?
Mam za to, ze se bude muset prepsat vykreslovani pro textbox, ale co a jak presneji netusim.
Zatim sem nenarazil ani na moc clanku na netu, ale budu hledat dal, jesti nenajdu neco dalsiho.
Budu rad za jakekoliv rady a pripominky.
K tomu samemu jako treba u .NET. Kazde XML muze byt definovano pomoci pravidel. A tim, ze zavedes namespace, tak muzes mit duplicitni jmena tagu, ale v jinych jmennych prostorech.
<req:data></req:data>
<resp:data></resp:data>
Jak vidis, tak oba dva tagy maji jmeno data. Ale nyni muzes treba validovat oba dva nejak jinak diky namespace.
Jak rikam, to same jako v .NET :)