
C# - Problemi i rješenja


je,instalira sam xna,doda njegove dll-ove pod reference i onda ga stavia pod using, al imam problem, ako sam stavia zvučni zapis u array byte-ova, kako ga izbacim?? tj pošaljem na zvucnike,koja je naredba za to u xna? i sta mislis pod pokretanje iz templatea.
Pokreneš projket kao XNA C# projekt, znaći imaš standardni template koji ti sve uključi i postavi main run za XNA.
Što se tiče mog rada s XNA , s njim sam malo radio u verziji 2.0 i 3.0 , 4.0 nisam probao, a što sam konkretno napravio je bio neki prototip TPS-a , ništa posebno.

I ja sam onako nešto malo radio u XNA 3.0 i 4.0 samo 2D sam radio ,onako nije lose moze se dobri stvari napravit, proba sam i nesto za wp7 u xna zgodna stvar za napravit neke igrice i tako nesto.Toplo preporucam nije problem neki za shvatit kako radi !!!

Ma za WP ja preferiram Silverlight, jer ne radim igrice, mada se i u njemu da napraviti.

Zanima me koji je najjednostavniji način za popuniti DataTable sa više list<string> lista. Nalazim samo načine kako samo jednu listu ubaciti u tablicu ili u gridview a nikako nać jednostavan način kako tablicu popuniti sa više lista (da svaka lista završi u svom stupcu). Liste su jedankih veličina.

Kreiraj datatable odgovarajuće veličine i sa odgovarajućim brojem kolona i onda napravi for petlju i za svaku kolonu (listu) dodaj redak u kojem element sa trenutnim indeksom ubacuješ na odgovarajuće mjesto u datarow.

Evo mene natrag... Nebi bogu natjerati ovaj je***i VS da išta igdje spremi! Ne mogu kreirati foldere sa Directory.CreateDirectory, ne mogu spremiti nikakav file. Isprobao sam sve živo - VS pokrećem kao administrator, folder u koji pokušavam spremit .xml fajl je čak i sharean - mogu svi u mreži pisati po njemu - svi osim je****g visual studia koji uporno baca "Permission Denied".
Više sam lud od te proklete 2010. Problem je isti kao i ovdje (kod mene su VS2010 i Win7) - pokušao sam sve osim gašenja UACa (to mi nikako ne odgovara). Jel itko ima sličan problem i dal netko zna kako riješiti tu ludoriju a da se ne gasi UAC.
riješeno
[edit] - nakon mnogo psovanja i 2 reseta laptopa kasnije (naglašavam, 2 reseta - jedan mu nije bio dovoljan), sve radi ko' urica. BTW, ako nekome slučajno zatreba, solution iz 2010 se može otvoriti u 2008 (dakle, downgrade je moguć - ne pitajte zašto sam to pokušavao). Nađite .sln fajl od projekta, backupirajte ga i otvorite u notepadu.
Microsoft Visual Studio Solution File, Format Version 11.0# Visual Studio 2010
zamijenite sa
Microsoft Visual Studio Solution File, Format Version 10.00# Visual Studio 2008
It just works, kako bi rekli ovi u truloj jabuci...

jel zna itko kako natjerat textbox da se autimatski refresha, znaci da stanje mikrofona (started ili stopped) bude automatski ispisano a ne da moram kliknit na textbox:
private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
{
textBox1.Text = microphone.State.ToString();
}

jel zna itko kako natjerat textbox da se autimatski refresha, znaci da stanje mikrofona (started ili stopped) bude automatski ispisano a ne da moram kliknit na textbox:
private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
{
textBox1.Text = microphone.State.ToString();
}
Pa jel mozes napraviti da ti se mijenja kada se okine nekakav event vezan za mikrofon tipa microphone.OnStateChanged()?? Ako vec nema event onda stavi timer koji ce svako toliko gledati stanje mica i upisivati ga u txtbox?

jel zna itko kako natjerat textbox da se autimatski refresha, znaci da stanje mikrofona (started ili stopped) bude automatski ispisano a ne da moram kliknit na textbox:
private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
{
textBox1.Text = microphone.State.ToString();
}
Pa jel mozes napraviti da ti se mijenja kada se okine nekakav event vezan za mikrofon tipa microphone.OnStateChanged()?? Ako vec nema event onda stavi timer koji ce svako toliko gledati stanje mica i upisivati ga u txtbox?
e da, timere moram malo proucit jer mi tribaju za jos nesto u ovom programu,vidit cu njih onda pa probat.

jel zna itko kako natjerat textbox da se autimatski refresha, znaci da stanje mikrofona (started ili stopped) bude automatski ispisano a ne da moram kliknit na textbox:
private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
{
textBox1.Text = microphone.State.ToString();
}
Pa jel mozes napraviti da ti se mijenja kada se okine nekakav event vezan za mikrofon tipa microphone.OnStateChanged()?? Ako vec nema event onda stavi timer koji ce svako toliko gledati stanje mica i upisivati ga u txtbox?
e da, timere moram malo proucit jer mi tribaju za jos nesto u ovom programu,vidit cu njih onda pa probat.
Iako bi bilo bolje da nekako ubacis u klasu microphone event ako nije zatvorena klasa. To je nekako "vise po zanatu".

napravi Timer sa Intervalom 100 milisec i u u Tick event stavi da ti taj textBox ispisuje stanje mikrofona minut posla!!!
edit:
nisam vidio da je covjek ponudio timer kao rijesenje :D

Probaj bindati ako bude prošlo. Nešto tipa...
textBox1.DataBindings.Add(new Binding("Text", microphone, "State"));
Sad ovisi o tome kakvog je tipa State property ali možda prođe.

Probaj bindati ako bude prošlo. Nešto tipa...
textBox1.DataBindings.Add(new Binding("Text", microphone, "State"));
Sad ovisi o tome kakvog je tipa State property ali možda prođe.
system.windows.control.textbox does not contain a definition for databindings, da nebi trebao includat jos nesto mozda?

Probaj bindati ako bude prošlo. Nešto tipa...
textBox1.DataBindings.Add(new Binding("Text", microphone, "State"));
Sad ovisi o tome kakvog je tipa State property ali možda prođe.
system.windows.control.textbox does not contain a definition for databindings, da nebi trebao includat jos nesto mozda?
Probaj koristiti System.Windows.Forms.Textbox

Probaj bindati ako bude prošlo. Nešto tipa...
textBox1.DataBindings.Add(new Binding("Text", microphone, "State"));
Sad ovisi o tome kakvog je tipa State property ali možda prođe.
system.windows.control.textbox does not contain a definition for databindings, da nebi trebao includat jos nesto mozda?
Probaj koristiti System.Windows.Forms.Textbox
the type or namespace forms does not exist in the namespace System.Windows - are you misslin an assemby reference? xd

System.Windows.Forms.dll referenca ti treba. I odgovarajući using

System.Windows.Forms.dll referenca ti treba. I odgovarajući using
pa to i pitam, samo di da nađem tu referencu xd, da je downloadam?


ajme da, to je implementirano po .NET, mislia sam da je moram browsat na svo pc-u xd

sad je samo obrnia tj umisto:
system.windows.control.textbox does not contain a definition for databindings
sad kaze
system.windows.forms.textbox does not contain a definition for databindings

Stavi timer i miran si.
Iako ih nevolim :)

Stavi timer i miran si.
Iako ih nevolim :)
ma ocu,moram ih proc veceras imam posla sad.

Stavi timer i miran si.
Iako ih nevolim :)
ma ocu,moram ih proc veceras imam posla sad.
Nemas ih sta prolazit...
Nema tu neke pameti, stavis koliki period zelis za timeout, on tick ti je event koji se okida nakon odradjenog tajmauta, imas timer.stop(), timer.start() i to je to.
Nakevis neki delegat na ontick, cak nemoras ni to i zdravo. Sekund posla.

Evo nečeg zgodnog... Program koji izvuče sve šifre od wirelessa sa kompa i prikaže ih. Može spremit izvještaj u xml fajl. Jedino što zahtjeva je .net 3.5 i da ga pokrećete kao admin (dakle, desni klik - Run As administrator). Zasad radi samo na windowsima vista i 7. U planu je dodavanje podrške za XP i još ponešto (više na blogu).
A sad jedno pitanje za vas - kad prvi put pokrenete program, nećete dobiti ništa. Nakon drugog pokretanja, pokazat će sve šifre kako treba. Ako netko ima volje (i znanja), nek mi se javi na PP da mu pošaljem cijeli solution - nikako doznat di je taj prokleti bug.
[edit] - zaboravio sam napomenuti da ako imate više wireless adaptera, morate ih imati spojene(ili na laptopima morate uključiti wireless na prekidač, ako ga ima) da bi program skupio šifre. To nije do programa nego do windowsa.
Source neću objavljivat jer me je sram :D
Program možete skinuti od ovuda.

Evo nečeg zgodnog... Program koji izvuče sve šifre od wirelessa sa kompa i prikaže ih. Može spremit izvještaj u xml fajl. Jedino što zahtjeva je .net 3.5 i da ga pokrećete kao admin (dakle, desni klik - Run As administrator). Zasad radi samo na windowsima vista i 7. U planu je dodavanje podrške za XP i još ponešto (više na blogu).
A sad jedno pitanje za vas - kad prvi put pokrenete program, nećete dobiti ništa. Nakon drugog pokretanja, pokazat će sve šifre kako treba. Ako netko ima volje (i znanja), nek mi se javi na PP da mu pošaljem cijeli solution - nikako doznat di je taj prokleti bug.
Source neću objavljivat jer me je sram :D
Program možete skinuti od ovuda.
cool ideja, ovo bi mi puno puta došlo korisno da sam ga ima, bravo :)

Pozdrav!
Otvaram temu, u dogovoru sa @athlon64, vezanu za programiranje u C#-u.
Ovdje pitajte sve što vas zanima u vezi C#-a, za neke veće probleme otvarajte nove teme, ovdje ćemo rješavati neke kraće probleme i raspravljati o C#-u.
Moje pitanje koje me muči već neko vrjeme je:
Što je po vama bolje za pristup bazama podataka LINQ ili ADO.NET Entity Framework?
EF sam radio neko vrjeme za pristup bazama iz ASP.NET aplikacije i super mi je. LINQ sam onako gledao, više manje, EF mi je bolji. Dakle šta je vama bolje i čemu bi se trebao više posvetiti?
Nemam previše iskustva sa entity framework-om, jer prvi ORM sa kojim sam se susreo je ms Enterprise library i tu sam i ostao. On mi pruža sve što mi je potrebno za rad i nisam imao neku veću potrebu da istražujem entity kao ni nhibernate. Al iz iskustva drugih koji su radili sa svim ovim ORM-ovima je da enteprise najbolji za sada.
Jedina prednost Entity framoworka, po meni je što je uključen u sam .Net tako da ne mora da se uključuju dodatni dll-ovi, ako ovo i može da se nazove prednost.
LINQ ne bih da poredim jer je dosta ograničen prilikom kompleksnijeg mapiranja, a sigurno da mu i nije namena da bude kvalitetan ORM. Njega više posmatram kao ispomoć kod CRUD operacija. Drugo LINQ je po meni odličan u radu sa XML-om i LINQ 2 XML je trenutno najbolji način da se uređuju XML šeme.
Moja preporuka da se rad za bazama koristi enteprise library, a za rad sa objektima, kolekcijama/nizovima i XML-om naravno LINQ.

...
A sad jedno pitanje za vas - kad prvi put pokrenete program, nećete dobiti ništa. Nakon drugog pokretanja, pokazat će sve šifre kako treba. Ako netko ima volje (i znanja), nek mi se javi na PP da mu pošaljem cijeli solution - nikako doznat di je taj prokleti bug.
...Malo detalja - pri prvom pokretanju tmpfolder se ispravno napravi (možete ga vidjeti u C:\Testdir1) i ispravno se popuni sa XML fajlovima. Problem nastaje u parsiranju jer ako pri prvom pokretanju (tj. dok tmp foldera nema) pokušate spremiti xml fajl, dobit ćete prazan file. Taj file se generira iz tablice koja nastaje parsiranjem XML fajlova.
Očito nešto zapne nakon kreiranje foldera i punjenja istog sa xml fajlovima (array koji sadrži putanja do fajlova je ispravno popunjen) - parser jednostavno ne želi popuniti tablicu.
Zanimljivo je što se dogodi u drugom pokretanju - folder se NE kreira ponovno ali xml fajlovi se kreiraju (vidljivo iz vremena nastanka fajla), parser očita fajlove i tablica te dataGridView se ispravno popune.
Za ovo postoji workaround - korištenje nekog foldera koji sigurno postoji na svim instalacijama windowsa (a to je npr. %temp%) i korištenje njega za privremeno spremanje fajlova. Mene zanima zašto ne mogu koristiti svoj folder tj. zašto parser prvi put ne dobije nikakve informacije.
[edit] - u %temp% folderu ima zbilja svačeg a parser je napisan tako da dohvati imena i putanje svih fajlova iz tmp foldera... A .exe i .png fajlovi baš i nisu probavljivi za XDoc
[edit 2] - ako mu zadam već postojeći folder, događa se isto. Prvi put prazna tablica, drugo pokretanje sve ok. Jel itko zna što se događa?

uspia sam sa timerom riješit ono i radi ali mi se kod paljenja svaki put javlja exception koji me pila,eto tu dole slika, trebalo bi napravit instacu textboxa prije nego je timer koristi a kad napisem TextBox textBox1 = new TextBox(); uporno mi podcrtava TextBox -.-

Mozda ti se timer instancira prije textboxa, pa je problem jer nemoze naci instancu textboxa. Pokusaj aktivirati timer nakon form load eventa ili rucno pritiskom na neki button
i trebalo bi mi obijasnit kako u c# dodat XNA framework, trebaju i neke metode iz njega, kad stavim u program: using Microsoft.Xna.Framework.Audio; podcrta mi xna, trebao bi dodat referencu ali ne mogu među .NET referencama nac xna nigdje.
EDIT: uspiaa!
Moraš dodati frameworkove , jer tvoj poziv frameworka bez ekslpicitnog addanja ne govori compileru gdje da pogleda dotični framework.
Inače ako radiš s XNA onda ti je najbolje da pokreneš projekt iz templatea.
je,instalira sam xna,doda njegove dll-ove pod reference i onda ga stavia pod using, al imam problem, ako sam stavia zvučni zapis u array byte-ova, kako ga izbacim?? tj pošaljem na zvucnike,koja je naredba za to u xna? i sta mislis pod pokretanje iz templatea.