C# - Problemi i rješenja izdvojena tema

poruka: 2.151
|
čitano: 705.834
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
13 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Zapravo najbolje bi ih bilo staviti na decimal, jesam li u pravu Firday?

15 godina
offline
Re: C# - Problemi i rješenja
royalhero kaže...

Zapravo najbolje bi ih bilo staviti na decimal, jesam li u pravu Firday?

Double pokriva sve sta mi moze trebat koliko mi se cini...

Nikad te necemo zaboraviti. RIP EnlightenedPhoenix 24.6.2011.
15 godina
offline
Re: C# - Problemi i rješenja
athlon64 kaže...

Je friday u pravu si, mogu ja odabrat koji je tip varijabble kad definiran scalar property. Neznam kako mi je promaklo ali sredit cu to obvezno. Cijene ce bit double-ovi

Za cijene se u SQL-u koristi money (u EF-u se pretvara u decimal).

14 godina
neaktivan
offline
C# - Problemi i rješenja

Pitanjce, radim ja radim... kad ono: ERROR??? (zapravo nije error nego exception pri pokretanju). Ugl kaze "unable to load DLL "kerne132"". Koristio sam djelove C-a (mislim [DllImport("kerne132")]). Malo surfajuci nadjem da je to dio starijih windowsa??? Ako je dali postoji neka novija verzija toga (da ucitam nesto drugo?).  Ako posotji kakvo drugo jsenje...

 

 

 

 

Puno hvala i pusa...

 

 

EDIT: kaze da kada je racunalo zahvaceno nekim virusom (koji valjda obrise taj dll??), pa se onda druge (vec gotove) aplikacije koje ga koriste nece upaliti. (procito na nekom random site-u)

Potpis
Poruka je uređivana zadnji put pon 19.11.2012 21:33 (Luka Ivanković).
Moj PC  
0 0 hvala 0
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
royalhero kaže...

U tabeli cijene, polje cijena postavi na float, ne na int, nije cijena, nužno, cjelobrojan podatak.

 

Mi radimo isključivo sa decimal podacima - npr decimal(8,2) je dovoljno "široko" polje za cijene. Jedina mana toga je što eksport u excel ne radi dobro. Ako ćeš rezultate nekog selecta eksportati u excel moraš sve castati u float.

Freak Show Inc.
12 godina
neaktivan
offline
Re: C# - Problemi i rješenja
athlon64 kaže...
royalhero kaže...

Zapravo najbolje bi ih bilo staviti na decimal, jesam li u pravu Firday?

Double pokriva sve sta mi moze trebat koliko mi se cini...

Realne tipove u bazi općenito treba izbjegavati i ne koristiti ih bez opravdanog razloga.

 

Brojčani podaci koji se unose su zadani u dekadskom brojevnom sustavu pa ih float tipovi (najčešće) moraju aproksimirati (npr. količina od 0,30 je pohranjena kao 0,299999999997) kn. Decimalni tipovi nemaju ovaj problem jer su uvijek točna reprezentacija unesene vrijednosti (količina od 0,30 je pohranjena točno kao 0,30).

14 godina
neaktivan
offline
Re: C# - Problemi i rješenja
Luka Ivanković kaže...

sram me i sprd bilo... napiso sam kerne132 a trebo sam kernel32 {#}

sry na spamu

Potpis
14 godina
neaktivan
offline
C# - Problemi i rješenja

Malo, hipotetsko pitanje, dali mogu imati ovakvo nesto:

 

 

...

     Form1()

   {

           ...

           ...

           void Nesto (double ElapsedTime)

            {

                  ...

            }

   }

 

Puno hvala!

Potpis
Moj PC  
0 0 hvala 0
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Luka Ivanković kaže...

Malo, hipotetsko pitanje, dali mogu imati ovakvo nesto:

 

 

...

     Form1()

   {

           ...

           ...

           void Nesto (double ElapsedTime)

            {

                  ...

            }

   }

 

Puno hvala!

 

Pa možeš, zašto?

Freak Show Inc.
14 godina
neaktivan
offline
Re: C# - Problemi i rješenja
Friday kaže...
Luka Ivanković kaže...

Malo, hipotetsko pitanje, dali mogu imati ovakvo nesto:

 

 

...

     Form1()

   {

           ...

           ...

           void Nesto (double ElapsedTime)

            {

                  ...

            }

   }

 

Puno hvala!

 

Pa možeš, zašto?

ma skroz mi daje eror da fali } iznad void i da imam viska na kraju

 

Potpis
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Luka Ivanković kaže...
Friday kaže...
Luka Ivanković kaže...

Malo, hipotetsko pitanje, dali mogu imati ovakvo nesto:

 

 

...

     Form1()

   {

           ...

           ...

           void Nesto (double ElapsedTime)

            {

                  ...

            }

   }

 

Puno hvala!

 

Pa možeš, zašto?

ma skroz mi daje eror da fali } iznad void i da imam viska na kraju

 

 

Pa jel ti to smješteno unutar neke klase?

Freak Show Inc.
13 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Postaj na pastebin cijelu klasu, pa stavi ovdje link.

14 godina
neaktivan
offline
C# - Problemi i rješenja

namespace GameLoop
{
    public partial class Game : Form
    {
        FastLoop _fastLoop;

        public Game()
        {
            _fastLoop = new FastLoop(GameLoop);
            InitializeComponent();
            render.InitializeContexts();

          
      
       

            void GameLoop (double elapsedTime)
            {
               
            }
        }
    }



znam da fali sad } na kraju, ali daje mi gresku da fali } iza render.initializeContexts(); 

 

(izbacio sam ostatak koda da bude jednostavnije ovdje)

Potpis
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Re: C# - Problemi i rješenja

U konstruktoru si napisao i još jednu metodu, metodu GameLoop izvadi iz konstruktora i napiši u klasi Game.

14 godina
neaktivan
offline
Re: C# - Problemi i rješenja
royalhero kaže...

U konstruktoru si napisao i još jednu metodu, metodu GameLoop izvadi iz konstruktora i napiši u klasi Game.

jesam ali je onda nece pokrenuti

evo izvadak iz tutoriala kojeg pratim

 

 

Hvala

Potpis
14 godina
neaktivan
offline
C# - Problemi i rješenja

puno hvala svima, sve sam sredio

 

Potpis
Moj PC  
0 0 hvala 0
13 godina
offline
Print Preview Control

Napravio sam vlastiti print&preview (ispisujem tablicu, samo tekst bez slika) za data grid. Primjere koje sam pronašao na netu nisam koristio (nisu dovoljno 'lijepi'), te sam kreirao vlastiti preview. Na običnu formu sam dodao PrinDocument i PrintPreviewControl (imam još i PrintDialog, ali on mi ne stvara problema). Želim postići preview kao što je npr. u word-u ili excel-u, odnosno, da se u samom preview-u mogu mjenjati postavke (npr. margine, orjentacija papira, veličina papira) te da se one reflektiraju na samoj PrinPreviewControl-i.

Pretpostavljam (pretpostavka je majka svih zaj...ba) da bi u kodu nakon promjene orjentacije papira trebao resetirati samo kontrolu, ponovo pozvati PrintPage event, ali nisam uspio pronaći kako ovo napraviti.

Sve sam evente napravio preko vs dizajnera (nemam u kodu ovo: docPrint.PrintPage += new PrintPageEventHandler ......).

Sada kad kliknem na promjenu orjentacije papira, zbrka mi već postojeći preview, nemam više brojeve stranica (ovo sam pokušao preko InvalidatePreview, naravno, nije uspjelo).

Kako dalje?

Stavljam slikicu dijela prozora.

 

 

Ma naravno da radi, ubacio sam jedan int kojeg nisam prije InvalidatePreview vratio na nulu!!{#}

Izgled print&preview forme Izgled print&preview forme
Poruka je uređivana zadnji put pon 26.11.2012 23:37 (Badjo_5).
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: C# - Problemi i rješenja
Luka Ivanković kaže...
royalhero kaže...

U konstruktoru si napisao i još jednu metodu, metodu GameLoop izvadi iz konstruktora i napiši u klasi Game.

jesam ali je onda nece pokrenuti

evo izvadak iz tutoriala kojeg pratim

 

 

Hvala

 

Ako mozes izbjegni kombinaciju OpenGL + C#. 

Ako ti C# sluzi samo zbog preview kontrole na formi probaj isto napravit  u C++ i Win Formsima. 

 

 

 

http://www.norgems.com
16 godina
offline
C# - Problemi i rješenja

radim jedan programčić u c#. imam recimo button i richtextbox. klikom na button se izvršava nekoliko funkcija od kojih jedna kad nesto obavi ispise određeni tekst u rtbox. problem je sto to izvrsavanje moze trajati i do 2, 3 sekunde pa mi se cijela forma zamrzne, ako kliknem bilo gdje na nju gore se doda (Not responding). kako mogu rijesiti to da se ne zablokira? mislio sam napraviti da se to obavlja u novoj dretvi, ali jel postoji jos koji nacin?

Atomska bubamara | edomovina.blog.hr
 
0 0 hvala 0
16 godina
neaktivan
offline
Re: C# - Problemi i rješenja
jurluk kaže...

radim jedan programčić u c#. imam recimo button i richtextbox. klikom na button se izvršava nekoliko funkcija od kojih jedna kad nesto obavi ispise određeni tekst u rtbox. problem je sto to izvrsavanje moze trajati i do 2, 3 sekunde pa mi se cijela forma zamrzne, ako kliknem bilo gdje na nju gore se doda (Not responding). kako mogu rijesiti to da se ne zablokira? mislio sam napraviti da se to obavlja u novoj dretvi, ali jel postoji jos koji nacin?

 

mislim da nikako osim tako.

 

Upotrijebi backgroundworker.

17 godina
offline
C# - Problemi i rješenja

Ne, napravi odvojenu dretvu koja ce to raditi ako zelis da ti forma i dalje bude responzivna, jer sama aplikacija ceka da se te tvoje metode izvrse kako bi nastavila sa radom.

Rvat katolik!
 
1 0 hvala 1
17 godina
odjavljen
offline
C# - Problemi i rješenja

Napravi sa Task-om (u buttonclick metodi):

 

var t0 = Task.Factory.StartNew(() =>

{

nekaDugotrajnaMetoda();

};

 

A sama metoda (ako trebaš nešto ispisati u richtexteditu iz drugog threada)

 

void NekaDugotrajnaMetoda()

{

//obavi nekakav posao

            MethodInvoker mi = delegate
            {
                richtextedit1.text=nekakvavrijednost;
            };
            this.BeginInvoke(mi);

}

Freak Show Inc.
Poruka je uređivana zadnji put sri 28.11.2012 14:27 (Friday).
 
1 0 hvala 0
16 godina
offline
Re: C# - Problemi i rješenja

konkretno ja sam to ovako riješio. jel to dobro?

 

private void button5_Click(object sender, EventArgs e)
{
    string descr = "...
    ProcessStartInfo procInfo = new ProcessStartInfo(....
    Thread thread = new Thread(()=>doWork(descr, procInfo, true, false));
    thread.Start();
}

public void doWork(string description, ProcessStartInfo procInfo, bool windows, bool printDetails)
{
    ...
    if (richTextBox1.InvokeRequired)
    {
       this.Invoke(new MethodInvoker(delegate
       {
          richTextBox1.Text += "neki tekst...";
       }));
    }
    else
    {
          richTextBox1.Text += "neki tekst...";
    }
    ...
}

Atomska bubamara | edomovina.blog.hr
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
jurluk kaže...

konkretno ja sam to ovako riješio. jel to dobro?

 

private void button5_Click(object sender, EventArgs e)
{
    string descr = "...
    ProcessStartInfo procInfo = new ProcessStartInfo(....
    Thread thread = new Thread(()=>doWork(descr, procInfo, true, false));
    thread.Start();
}

public void doWork(string description, ProcessStartInfo procInfo, bool windows, bool printDetails)
{
    ...
    if (richTextBox1.InvokeRequired)
    {
       this.Invoke(new MethodInvoker(delegate
       {
          richTextBox1.Text += "neki tekst...";
       }));
    }
    else
    {
          richTextBox1.Text += "neki tekst...";
    }
    ...
}

 

Ako radi - radi {#}

Freak Show Inc.
16 godina
neaktivan
offline
Re: C# - Problemi i rješenja

3 osobe tri odgovora :) Kako rece kolega iznad ako radi... :D

16 godina
offline
Re: C# - Problemi i rješenja

hmm, s onim kodom sam zapravo omogucio novom threadu da pristupi richtextboxu koji je kreiran u main threadu. ali koliko vidim to ne rjesava moj problem, forma se i dalje zablokira, ne znam zasto :/

Atomska bubamara | edomovina.blog.hr
Poruka je uređivana zadnji put sri 28.11.2012 16:38 (jurluk).
17 godina
offline
C# - Problemi i rješenja

Hmmm a da pokusas sa BackgroundWorkerom?

Rvat katolik!
 
0 0 hvala 0
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
jurluk kaže...

hmm, s onim kodom sam zapravo omogucio novom threadu da pristupi richtextboxu koji je kreiran u main threadu. ali koliko vidim to ne rjesava moj problem, forma se i dalje zablokira, ne znam zasto :/

 

Ma nemoguće, startanje taska ti neće zablokirati formu. Nešto je drugo još posrijedi. Daj malo koda pa da nađemo krivca!

Freak Show Inc.
16 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Ovako iz prve bih rekao da je problem u ovom dijelu:

 

 

this.Invoke(new MethodInvoker(delegate
       {
          richTextBox1.Text += "neki tekst...";
       }));

iskoristi this.BeginInvoke() jer se izvršava asinkrono na drugom threadu a običan invok se izvršava na main threadu i onda bi moglo blokirati.

Ako ni to ne riješi onda treba vidjeti kod da bi pronašli problem.

16 godina
offline
Re: C# - Problemi i rješenja

neće ni sa begininvoke

možda je problem što moram pristupit varijablama koje su deklarirane u main threadu. imam naprimjer neki integer ili bilo sta drugo u main threadu, i kako ga iz nekog drugog threada postaviti na neku vrijednost?

 

edit: evo dio koda koji je bitan, mislim da ono podcrtano stvara problem

dok doWork dođe do izvršavanja, ta dva stringa vec poprime određene vrijednosti, ne budu null

 

public partial class Form1 : Form
{
    ...
   string office14Dir = null;
   string office15Dir = null;
   
    public void doWork(string description, ProcessStartInfo procInfo, bool windows, bool printDetails)
    {
       if (richTextBox1.InvokeRequired)
       {
          this.Invoke(new MethodInvoker(delegate()
          {
             richTextBox1.Text += ...
          }));
       }
       else
       {
          richTextBox1.Text += ...
       }

       ProcessStartInfo cmdInfo1 = procInfo;

       if (windows)
       {
          cmdInfo1.WorkingDirectory = ...
       }
       else //if (office)
       {
          if (tabControl1.InvokeRequired)
          {
             this.Invoke(new MethodInvoker(delegate()
             {
                if (tabControl1.SelectedIndex == 2)
                {
                  cmdInfo1.WorkingDirectory = office14Dir;
                }
                else if (tabControl1.SelectedIndex == 3)
                {
                  cmdInfo1.WorkingDirectory = office15Dir;
                }
             }));
          }
          else
          {
             ...
          }
       }
        ...
    }
}

Atomska bubamara | edomovina.blog.hr
Poruka je uređivana zadnji put čet 29.11.2012 23:50 (jurluk).
Nova poruka
E-mail:
Lozinka:
 
vrh stranice