Forum Sveta kompjutera  

Nazad   Forum Sveta kompjutera > Test Run > Programiranje

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 7.4.2013, 15:34   #641
ivan90BG
Veteran
 
Član od: 3.5.2008.
Lokacija: Beograd
Poruke: 760
Zahvalnice: 81
Zahvaljeno 213 puta na 144 poruka
Određen forumom Re: How to... C#

Pretpostavljam da si sam primetio da je podrška za čitanje u klasi Console prilično siromašnija od podrške za ispis na konzolu. Moraćeš sam da konvertuješ tekstualni ulaz u podatke koji ti trebaju. Najlakše je da brojeve koje korsinik unosi lupajući Enter između (u svakom redu po jedan broj).

Sledeći kod za čitanje možeš da staviš u neku petlju ako ćeš čitati neodređenu količinu brojeva.
Kod:
int broj;
if (int.TryParse(Console.ReadLine(), out broj))
{
    //uradi nešto sa brojem
}
else
{
    //nešto za slučaj neuspeha
}
Ako te interesuje da učitavaš brojeve koje korisnik razdvaja razmacima ili zarezima, onda moraš prvo da podeliš ulazni string.

Kod:
//negde u klasi stavi statički niz sa separatorima
static char[] separator = new char[] {' '};

//a onda u nekoj metodi
string[] txtBrojevi = Console.ReadLine().Split(separator, StringSplitOptions.RemoveEmptyEntries);
//onda u petlji parsiraš svaki od stringova u nizu
ivan90BG je offline   Odgovor sa citatom ove poruke
Stara 7.4.2013, 16:04   #642
Lucic Nemanja
Starosedelac
 
Član od: 2.12.2005.
Lokacija: Beograd
Poruke: 1.241
Zahvalnice: 65
Zahvaljeno 76 puta na 49 poruka
Slanje poruke preko Skypea korisniku Lucic Nemanja
Određen forumom Re: How to... C#

Za one koje možda malo više interesuju DLL-ovi (Dynamic-Link Librariy). Kao što voodoo_ reče njihova poenta je da se obezbedi efikasnije iskorišćenje prostora. To je postignuto tako što se potprogrami često korišćeni od strane drugih programa smeštaju memoriju u vidu .dll falova i onda ih linker dinamički povezuje u vreme izvršavanja programa, a ne statički pre izvršavanja. Pod haubom tu postoje takozvani stub-ovi (kao neka imitacija potprograma) za svaki potprogram iz dll-a pozvan iz datog programa. Kada se pozove neki protprogram prvo se proveri referenca iz stub-a koja bi trebalo da referiše na dati potprogram u memoriji (inicijalno je postavljena na null). Ako se ustanovi da je null vrednost u njoj onda se poziva sistemska usluga koja pronalazi dati dll (i učita ga sa diska u operativnu memoriju ako već nije na zahtev nekog drugog procesa), dati potprogram i vraća njegovu adresu i smešta je u svoju referencu. Time smo obezvedili da se nadalje adresiranje potprograma razrešuje odmah stub referencom, bez sistemskog poziva.
Pogodnosti ovakovog pristupa, osim efikasnijeg iskorišćenja prostora su i te da se pri kreiranu novie verzije biblioteke programi ne moraju opet statički vezivati.
Mane su nešto lošije vremenske preformanse zbog svih tih sistemskih poziva i potrage za dll-ovima i potprogramima, kao i poteškoće prilikom promene dll-ova jer se mora voditi računa o kompatibilnosti sa prethnodnim verzijama jer može doći do pucanja programa prilikom korišćenja novijih verzija.
Lucic Nemanja je offline   Odgovor sa citatom ove poruke
Sledećih 2 korisnika se zahvaljuje korisniku Lucic Nemanja na korisnoj poruci:
DarioMirovic (8.4.2013), voodoo_ (7.4.2013)
Stara 7.4.2013, 22:52   #643
infomen1
Član
 
Član od: 31.1.2013.
Poruke: 32
Zahvalnice: 1
Zahvaljeno 0 puta na 0 poruka
Određen forumom Re: How to... C#

Citat:
DarioMirovic kaže: Pregled poruke
Kod:
using System.IO;

StreamReader sr = new StreamReader(); // Konstruktor po potrebi, vidi overload-e.
StreamWriter sw = new StreamWriter(); // Konstruktor po potrebi, vidi overload-e.
Npr.
Kod:
StreamWriter sw = new StreamWriter("moj_log.txt");
ili
Kod:
StreamWriter sw = new StreamWriter("C:\\Documents and Settings\\Korisnik\\My Documents\\neki moj fajl.txt");
Time si dodijelio određen tok / stream za čitanje ili pisanje. Sad kad te varijable znaju na koje tokove podataka su povezane, samo treba da ih koristiš:

Kod:
sr.ReadLine(); sr.Read(); // argumenti koji ti su ti potrebni, pogledaj dokumentaciju
sr.WriteLine("jedna linija mog tekstualnog fajla");
sr.Write("jedan dio linije mog tekstualnog fajla -> ");
sr.Write("ovaj dio se nastavlja na prethodni jer Write nije maloprije prešao u novi red");
Da nije možda ovako
Console.Write("Poruka"); //printf
string s = Console.ReadLine(); //scanf
infomen1 je offline   Odgovor sa citatom ove poruke
Stara 8.4.2013, 0:43   #644
Lucic Nemanja
Starosedelac
 
Član od: 2.12.2005.
Lokacija: Beograd
Poruke: 1.241
Zahvalnice: 65
Zahvaljeno 76 puta na 49 poruka
Slanje poruke preko Skypea korisniku Lucic Nemanja
Određen forumom Re: How to... C#

Ono što je Dario naveo je uopšten slučaj za bilo kakav stream podataka koji, naravno, možeš preusmeriti i na konzolu. Mada nema potrebe da se koristi za standardne unose i ispise tipa "Unesi broj, rezultat je toliko i toliko, itd...". Ako vršiš obradu nekog velikog toka podataka, StreamReader i StreamWriter su daleko bolji jer imaju dosta dobrih metoda za upravljanje stream bufferom.
Lucic Nemanja je offline   Odgovor sa citatom ove poruke
Stara 5.5.2013, 14:17   #645
ETR1
Veteran
 
Član od: 7.9.2012.
Poruke: 628
Zahvalnice: 96
Zahvaljeno 99 puta na 84 poruka
Question Re: How to... C#

Da li neko moze da mi pomogne u izradi jednog programa? Radi se o testiranju vase memorije tako da kad se klikne da start vidite ispreturane brojeve po ekranu, pa se nakon 10ak sekundi prekriju brojevi slikama i vase je da po redu otvarate brojeve, znaci od 1 pa nadalje. Problem je kad hocu da napravim da ide po redu od 1 pa navise i da nema vracanje poteza, tj. ako je igrac pogresio, na ekranu mu ispise greska. Nadam se da ste razumeli, fora je u if strukturama i dve promenljive pa samo njihove vrednosti treba da se usklade.
Stavicu 1 deo programa, kada se klikne na sliku ispod koje je broj 1, ali sa ovim nije nista uradjeno posto slika hoce da se skloni, ali ne ide po redu.
Za sledecu sliku sam kontala da ide n==1, ostalo isto, ali nece da otvori.

private void pictureBox1_Click(object sender, EventArgs e)
{
timer1.Enabled = false;
if (n==0)
{
pictureBox1.Visible = false;
p++;
}
}
ETR1 je offline   Odgovor sa citatom ove poruke
Stara 5.5.2013, 15:51   #646
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: How to... C#

Kod koji je okacen ne govori ni izbliza dovoljno, kao ni opis problema.

imena varijabli ne pomazu nikako.


tesko da neko moze da resi problem ovako, treba nam ceo source.


mogu da ti napravim ispravno resenje pa vidi da li mozes da izvuces nesto iz toga.
I ako se slabo vidi tvoja postojeca ideja, veoma naginjem ka tome da je potpuno pogresno odradjeno, odnosno, rucno zbudzeno.
irreal je offline   Odgovor sa citatom ove poruke
Stara 5.5.2013, 16:37   #647
ETR1
Veteran
 
Član od: 7.9.2012.
Poruke: 628
Zahvalnice: 96
Zahvaljeno 99 puta na 84 poruka
Određen forumom Re: How to... C#

Ne znam stvarno, tako smo radili u skoli, a ne mogu da kopiram sve, kontam da nece dati zbog puno potrosenih karaktera i redova,a rar fajl je 484kb, a dozvoljeno je 100. Znaci izvuceno je 6 labela, 6 picture boxa, 1 timer, 1 button. Kao igra pamcenja, 10 sekundi vidis puno ispreturanih brojeva i zadatak je da ih tacno pogodis po redosledu i da znas gde je koji, ako promasis, na ekranu izadje novi picture box na kome pise greska i to je to. Znam da je resenje smesno, samo baratanje if-ovima i promenljivima, al eto kad ne mogu da se setim.
I da, radi se u Microsoft Visual C# 2008 Express Edition.
ETR1 je offline   Odgovor sa citatom ove poruke
Stara 5.5.2013, 17:25   #648
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: How to... C#

Okaci rar bilo gde drugde i daj link da skinem pa cu popraviti tvoju verziju.


U medjuvremenu, evo kako to treba da izgleda pravilno uradjeno.

Postoje dve klase, jedna staticna koja vodi celu igru (zove se IgraBrojeva) i jedna izvedena iz picturebox kontrole (zove se Polje)

tu je i forma sa osnovnim kontrolama za kontrolu igre.


broj polja je varijabilan i mozes da stavis bilo koji broj ili podesavas preko slajdera.


tu je i manuelni kod za organizaciju varijabilnog broja polja po formi.



elem, u zipu je i kompletan source kao i kompajlirani .exe:

https://dl.dropboxusercontent.com/u/...7/Memorija.zip
irreal je offline   Odgovor sa citatom ove poruke
Stara 5.5.2013, 17:53   #649
ETR1
Veteran
 
Član od: 7.9.2012.
Poruke: 628
Zahvalnice: 96
Zahvaljeno 99 puta na 84 poruka
Određen forumom Re: How to... C#

http://www.mediafire.com/?oaw5lo8uxnz5vd3

Nece da otvori kao project, ovo .exe hoce, super je, a ovako hoce samo da otvori form1.cs. Verovatno zato sto imas noviji program.
ETR1 je offline   Odgovor sa citatom ove poruke
Stara 5.5.2013, 18:00   #650
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: How to... C#

Citat:
ETR1 kaže: Pregled poruke
http://www.mediafire.com/?oaw5lo8uxnz5vd3

Nece da otvori kao project, ovo .exe hoce, super je, a ovako hoce samo da otvori form1.cs. Verovatno zato sto imas noviji program.
da, uradio sam u 2010.

Samo isprati ovo uputstvo i mocices da otvoris u 2008

http://www.codeproject.com/Tips/8095...tion-to-VS2008

koristio sam .net 2.0, tako da tu nema greske.


editujes ta dva fajla i radice normalno.

alternativno, sav kod ti je u form1.cs, mozes odatle da vidis sve kako radi, tu su i klase tu je sve.
irreal je offline   Odgovor sa citatom ove poruke
Stara 6.5.2013, 13:18   #651
ETR1
Veteran
 
Član od: 7.9.2012.
Poruke: 628
Zahvalnice: 96
Zahvaljeno 99 puta na 84 poruka
Određen forumom Re: How to... C#

Otvorila sam tvoj rad, odlicno je ovo, samo sto mi nismo radili tako.
Jesi pogledao moj rad sto sam uploadovala?
ETR1 je offline   Odgovor sa citatom ove poruke
Stara 6.5.2013, 14:03   #652
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Određen forumom Re: How to... C#

Daš mu prst...
Geomaster je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku Geomaster na korisnoj poruci:
irreal (6.5.2013)
Stara 6.5.2013, 14:32   #653
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: How to... C#

evo ti tvoj projekat popravljen.

https://dl.dropboxusercontent.com/u/8979187/zz1.zip

opet prepravi da mozes da otvoris u 2008.


dve varijable ti uopste nisu potrebne.


ti sa N pratis koje je polje na redu, a onda unutra povecavas P, koje nigde ni ne koristis?



Btw, ovo se ovako ne radi. Osecam se ocajno sto ti uopste pomazem da ovako zavrsis zadatak.

Ovo je jako lose odradjeno.


Drugo, uopste ne cinis sebi uslugu sa tim "ma lako je to, samo ne mogu da se setim if struktura kako ide".

Izvini, ali ocigledno je da ne razumes najosnovnije stvari u strukturnom programiranju. Ako ces samo da zbudzis i polozis/prodjes kontrolni/sta god da radis, ok, prevari sistem. Ali znaj da ne znas materiju.

A ako ti je cilj da naucis programiranje, kreni ispocetka obavezno, ovaj put polako i sa razumevanjem.
irreal je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku irreal na korisnoj poruci:
ETR1 (6.5.2013)
Stara 6.5.2013, 14:44   #654
Mocko
Veteran
 
Član od: 18.11.2005.
Lokacija: Beograd, povremeno Trebinje
Poruke: 1.141
Zahvalnice: 799
Zahvaljeno 236 puta na 157 poruka
Određen forumom Re: How to... C#

Citat:
ETR1 kaže: Pregled poruke
Otvorila sam tvoj rad, odlicno je ovo, samo sto mi nismo radili tako.
Jesi pogledao moj rad sto sam uploadovala?
Mislim da ce svaki profesor vise cijeniti ako se ponudi drugacije i bolje rijesenje od onoga sto ste radili na vjezbama/predavanju.
Mocko je offline   Odgovor sa citatom ove poruke
Stara 6.5.2013, 15:05   #655
ETR1
Veteran
 
Član od: 7.9.2012.
Poruke: 628
Zahvalnice: 96
Zahvaljeno 99 puta na 84 poruka
Određen forumom Re: How to... C#

irreal hvala ti puno! Potpuno te razumem, jeste glupost, a greska je sto se kod nas programiranje uci napamet, a ne sa razumevanjem... Sad tek vidim da smo mi to uradili kao nedovrsene programe, samo kliknemo na play i to je to, ako ne pokazuje gresku, u redu je. Nikad nismo dobijali .exe fajl niti smo radili sa klizacem... Jos jednom, hvala ti
ETR1 je offline   Odgovor sa citatom ove poruke
Stara 24.5.2013, 20:10   #656
Teva
Starosedelac
 
Član od: 23.2.2006.
Lokacija: Tamo gde su kuće od čokolade i prozori od marmelade....
Poruke: 1.579
Zahvalnice: 195
Zahvaljeno 301 puta na 171 poruka
Određen forumom Re: How to... C#

Imam sledeći problem. Treba da napravim neki simple calculator koji radi sa skupovima. Sve iz komandne linije bez GUIa.
I jel, treba da izgenerišem neko sintaksno stablo koji će da predstavlja izraz i na osnovu toga da se računa. (znam bar još dva druga načina kako bi ovo moglo da se izvede možda i lakše, al trenutno vežbam ovakav pristup).

Isprasirao sam ulaz i napravio čvorove i treba samo da formiram drvo. (Imam tri vrste čvora (skup, operacija i zagrade)). Problem pravi operacija koja ima levog i desnog sina koji predstavljaju operande. Problem nastaje da kad dodeljujem desnog sina, levi sin se deformiše i menja svoju vrednost.

Kako i zašto to može da se desi? I kako to da rešim?
Kod čvora operacije
Kod:
public HashSet<char> Calculate
            {
	           get{ 
                        switch (Type)
                        {
                            case OperationType.Union:
                                Left.Calculate.UnionWith(Right.Calculate);
                                return Left.Calculate;
                            case OperationType.Intersection:
                                Left.Calculate.IntersectWith(Right.Calculate);
                                return Left.Calculate;
                            case OperationType.Exception:
                                Left.Calculate.ExceptWith(Right.Calculate);
                                return Left.Calculate;
                            default:
                                throw new InvalidOperationException(Type.ToString() + " is not recognized operation.");
                        }
                  }
            }
        }
Problematičan deo
Kod:
#region root = SetOp
                        /* Suppose that if Set Operation is root there is left operand of that operation */
                        if (root is SetOperation)
                        {
                            Console.WriteLine("Set : SetOp");
                            (root as SetOperation).Right = foo; /* <-- ovo je problem */
                            last = root;
                            root = foo;
                            continue;
                        }
                        #endregion
EDIT: Ako treba da uploadujem ceo kod, uploadovaću nije problem. Živo me interesuje zašto se ovo dešava.

Poslednja ispravka: Teva (24.5.2013 u 20:21)
Teva je offline   Odgovor sa citatom ove poruke
Stara 26.5.2013, 12:25   #657
MG-RAY
Starosedelac
 
Član od: 15.2.2006.
Lokacija: Midlands
Poruke: 1.523
Zahvalnice: 277
Zahvaljeno 307 puta na 207 poruka
Slanje poruke preko Skypea korisniku MG-RAY
Određen forumom Re: How to... C#

Bolje postavi ceo source pošto se iz toga jako malo vidi, tj. ništa.
MG-RAY je offline   Odgovor sa citatom ove poruke
Stara 26.5.2013, 16:45   #658
Teva
Starosedelac
 
Član od: 23.2.2006.
Lokacija: Tamo gde su kuće od čokolade i prozori od marmelade....
Poruke: 1.579
Zahvalnice: 195
Zahvaljeno 301 puta na 171 poruka
Određen forumom Re: How to... C#

Nema potrebe rešio sam problem u međuvremenu
Inače ako nekog zanima problem je bio u mutaciji elementa, jer Calculate metod koji se pozivao je direktno uticao na levog sina i menjao ga pri pozivu.
Teva je offline   Odgovor sa citatom ove poruke
Stara 27.5.2013, 0:23   #659
Knindza95
Član
 
Član od: 21.5.2011.
Poruke: 185
Zahvalnice: 3
Zahvaljeno 4 puta na 4 poruka
Određen forumom Re: How to... C#

Pozz narode, imam 2 problema..

Prvi, radim aplikaciju zajedno sa SQL Server-om, podaci iz baze su vidljivi u listbox-ovima, ali kada primenim neku SQL komandu ta promena nije vidljiva u toj listi ili dataGridView-u, pa mi treba nacin za "Refresh", usput probavao sam komande tipa dgw1.Refresh .GetChanges .Update... NE POMAZU....


A drugi problem (pitanje) kako bih mogao u listbox ili dataGridView-u da pokazem podatke koji su rezultat ove sql komande:

SELECT * FROM Korisnici WHERE Grad LIKE 's%'; //Trebalo bi da izdvoji korisnike ciji grad pocinje sa 's'...
Knindza95 je offline   Odgovor sa citatom ove poruke
Stara 28.5.2013, 0:33   #660
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: How to... C#

za konkretnu pomoc moraces da postavis kod da vidim kako i gde povezujes listbox sa serverom i gde menjas upit koji se ne osvezava...


sto se tice drugog dela, to je upit kao i svaki drugi, ako ga kao takvog uneses ,takav ces rezultat dobiti.


ali ako je ideja bila da korisnik kuca deo naziva pa ti preko upita izvuces sve sto je relavantno, onda se vracamo na problem odozgo, kako da promenis upit i vidis promenu, za sta, opet, treba kod.


i jedna jako bitna napomena: ako sam upravu da na osnovu korisnickog unosa menjas upit i ucitavas novu listu gradova, uvek razmisljaj o tome koliko ukupno ima gradova i da li je bolje da ih jednom (po pokretanju aplikacije/dela za pretragu/cega god) ucitas sve i onda filtriras unutar memorije ili da stalno ucitavas opet iz baze. i ako se odlucis za bazu, pazi da ne ucitavas nakon svakog klika na tastaturi nego par stotina milisekundi nakon sto korisnik prestane da kuca, itd.


P.S.
takodje ces trebati da koristis parametre ako korisnicki unos ide u upit, al o tome vise kada postavis kod.
irreal je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Tagovi
c sharp, c# tutoriali, how to, visual studio

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno



Sva vremena su po Griniču +2 h. Sada je 21:15.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2019, vBulletin Solutions, Inc.
Hosted by Beograd.com