C# - Problemi i rješenja izdvojena tema

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

Evo, nakon kraće stanke stiže nova verzija mog kalkulatora, download ovdje: http://www.filedropper.com/digitron

 

Log:

v0004:

-Popravljeno: Kalkulator sada ne dozvoljava kršenje njegovih sintaksi (na primjer dugme "-" služi samo za operacije dijeljenja, a ako se pokuša koristiti za postavljanje negativnog predznaka broja kalkulator će javiti grešku)

 

-Dodana konverzija sustava (bin,oct,hex,dec), funkcija je u izgradnji i za sad samo pretvara broj iz displaya u zadani sustav, još uvijek ne radi za decimalne brojeve

-Dodana dugmad za upravljanje memorijom: MC, MR, MS, M+ i M-, memorija u koju se pohranjuje podatak pomoću ovih funkcija je odvojena od memorije "ANS" dugmeta, koje uvijek vraća zadnji igračunati broj

 

Ako nedostaje par slova "j" u poruci, nije namjerno, tipkovnica za*ebaje :/
Pitanje u vezi ovih postova, bi li bilo pametno da otvorim novu temu na forumu za ovaj projekt da ne spamam ovdje stalno?
v0004 v0004
IRebic
Poruka je uređivana zadnji put sri 16.10.2013 21:54 (IRebic).
Moj PC  
0 0 hvala 0
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Bugsplat:

 

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.FormatException: Input string was not in a correct format.
   at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
   at System.Convert.ToDouble(String value)
   at WindowsFormsApplication1.Form1.StringToDouble(String broj)
   at WindowsFormsApplication1.Form1.back_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

 

Oops Oops
Kako to dobiti? Npr 512/0. Dobiješ infinity. Klik na back baca unhandled.

 

Feature req: hvataj "Enter" tipku kao znak za =

http://nighthawk-software.blogspot.com/
17 godina
neaktivan
offline
C# - Problemi i rješenja

To je popravljeno, sada program više ne dozvoljava djeljenje s 0

 

To za tipku enter je u programu ali neće da radi ali zanimljivo meni kad nešto izračunam pomoću dugmića iza toga radi...

 

Probaj: upiši npr 5 + 5 i upri dugme = pa onda upiši - pa 10 i upri enter, nemi izračuna kad tada uprem enter... (ne razumin zašto i kako to čas radi čas ne radi o.O)

IRebic
Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
C# - Problemi i rješenja

Pozdrav imam jedan problem:

 

Imam DataTable dt;

 

foreach(DataRow row in dt.Rows)

{

Button btn = new Button();

btn.Tag = dt.Rows[0][1].ToString();

ListView.Items.Add(b);

}

 

i problem je u tome koliko god da redova ima u dt toliko napravi Button-a, ali sa istim tagom.

 

 
0 0 hvala 0
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja
YoeBoy kaže...

Pozdrav imam jedan problem:

 

Imam DataTable dt;

 

foreach(DataRow row in dt.Rows)

{

Button btn = new Button();

btn.Tag = dt.Rows[0][1].ToString();

ListView.Items.Add(b);

}

 

i problem je u tome koliko god da redova ima u dt toliko napravi Button-a, ali sa istim tagom.

 

Meni se čini da bi trebalo ovako:

 

DataTable dt;

foreach(DataRow row in dt.Rows)

{

Button btn = new Button();

btn.Tag = dt.Rows[1].ToString();

ListView.Items.Add(btn);

}

 

Ili mi je nešto promaklo.... A i ta DT je u ovom primjeru prazna tako da...

 

edit: dobro royalhero kaže, trebao bi rows[0] ili koji već column hoćeš jer ovako si cijelo vrijeme na row 0 column 1, kroz cijelu petlju.

http://nighthawk-software.blogspot.com/
Poruka je uređivana zadnji put pon 21.10.2013 22:38 (Sum_of_all_fears).
13 godina
neaktivan
offline
Re: C# - Problemi i rješenja
YoeBoy kaže...

Pozdrav imam jedan problem:

 

Imam DataTable dt;

 

foreach(DataRow row in dt.Rows)

{

Button btn = new Button();

btn.Tag = dt.Rows[0][1].ToString();

ListView.Items.Add(b);

}

i problem je u tome koliko god da redova ima u dt toliko napravi Button-a, ali sa istim tagom.

 

Isti tag dobivaš iz razloga što si postavio dt.Rows[0][1]. Valjda se trebaš iterirati kroz redove, nešto tipa row.Columns[1]. Provlačiš se kroz redove, za svaku iteraciju imaš kompletan row objekt, iskoristi njega, a ne opet pretraživati Rows kolekciju DataTable objekta.

 

I da, ovo što je sum rekao, moraš dodavati btn, a ne b koji ovdje ne postoji ili si kôd pisao kao primjer.

Poruka je uređivana zadnji put pon 21.10.2013 22:27 (royalhero).
16 godina
odjavljen
offline
C# - Problemi i rješenja

Anyway, Petko, aj daj koju pametnu o VSu 2013, ne sumnjamo da ti imaš neki "projektić" koji bi nam mogao reći svašta o novom VSu.

http://nighthawk-software.blogspot.com/
Moj PC  
1 0 hvala 0
11 godina
neaktivan
offline
C# - Problemi i rješenja

Zna li netko možda kako da kada netko pokrene moj .exe file, da se skine jedan drugi file sa ftp servera i da ga pokrene?

 
0 0 hvala 0
13 godina
neaktivan
offline
Re: C# - Problemi i rješenja
Simon_says kaže...

Zna li netko možda kako da kada netko pokrene moj .exe file, da se skine jedan drugi file sa ftp servera i da ga pokrene?

Spojiš se na server, preuzmeš fajl, spremiš putanju i pokreneš fajl sa tom putanjom.

 

Evo ti linkovi, pa se baci na proučavanje:

FTP - http://msdn.microsoft.com/en-us/library/ms229711.aspx

 

Pokretanje drugih programa iz svog programa - http://www.dotnetperls.com/process-start

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

Zna li netko možda kako da kada netko pokrene moj .exe file, da se skine jedan drugi file sa ftp servera i da ga pokrene?

Spojiš se na server, preuzmeš fajl, spremiš putanju i pokreneš fajl sa tom putanjom.

 

Evo ti linkovi, pa se baci na proučavanje:

FTP - http://msdn.microsoft.com/en-us/library/ms229711.aspx

 

Pokretanje drugih programa iz svog programa - http://www.dotnetperls.com/process-start

Upravo sam čitao te linkove maloprije, ali ne shvačam kako da spremim putanju nakon što se file skine.

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

Upravo sam čitao te linkove maloprije, ali ne shvačam kako da spremim putanju nakon što se file skine.

Znaš li raditi sa streamovima?

 

Putanja koju si dao streamu da tu spasi fajl plus naziv fajla i ekstenzija.

16 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Simon_says kaže...

Upravo sam čitao te linkove maloprije, ali ne shvačam kako da spremim putanju nakon što se file skine.

Pa nemre bit jednostavnije:

 

using System;
using System.IO;
using System.Net;
using System.Text;

namespace Examples.System.Net
{
    public class WebRequestGetExample
    {
        public static void Main ()
        {
            // Get the object used to communicate with the server.
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/test.htm");
            request.Method = WebRequestMethods.Ftp.DownloadFile;

            // This example assumes the FTP site uses anonymous logon.
            request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");

            FtpWebResponse response = (FtpWebResponse)request.GetResponse();
   
            Stream responseStream = response.GetResponseStream();
           StreamReader reader = new StreamReader(responseStream);
            Console.WriteLine(reader.ReadToEnd());

            Console.WriteLine("Download Complete, status {0}", response.StatusDescription);
   
            reader.Close();
            response.Close(); 
        }
    }
}

Ovaj boldani dio je bitan. Ovdje radi output u konzolu ali ti to nećeš napraviti nego ćeš ovaj responseStream spremiti u fajl sa StreamWriterom.

 

Ili spremi downloadani file u neki tmp folder (tamo gdje je exe ili u %temp%) sa StreamWriterom ili ga iskoristi odmah u aplikaciji (ako možeš tj. format fajla koji si skinuo je txt, xml ili nešto slično).

 

[edit] - primjer rada sa StreamWriterom:

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace StreamReadWrite
{
    class Program
    {
        static void Main(string[] args)
        {
            // Get the directories currently on the C drive.
            DirectoryInfo[] cDirs = new DirectoryInfo(@"c:\").GetDirectories();

            // Write each directory name to a file.
           using (StreamWriter sw = new StreamWriter("CDriveDirs.txt"))
            {
                foreach (DirectoryInfo dir in cDirs)
                {
                    sw.WriteLine(dir.Name);

                }
            }

            // Read and show each line from the file.
            string line = "";
           using (StreamReader sr = new StreamReader("CDriveDirs.txt"))
            {
                while ((line = sr.ReadLine()) != null)
                {
                    Console.WriteLine(line);
                }
            }
        }
    }
}

Putanja koja tebi treba je ovaj CDriveDirs.txt iz boldanog dijela.

http://nighthawk-software.blogspot.com/
Poruka je uređivana zadnji put pon 21.10.2013 23:15 (Sum_of_all_fears).
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Sum_of_all_fears kaže...

Anyway, Petko, aj daj koju pametnu o VSu 2013, ne sumnjamo da ti imaš neki "projektić" koji bi nam mogao reći svašta o novom VSu.

 

Prošli tjedan mi je stigao veći SSD u firmu (intel 530, 240 giga {#}). Za vikend sam na službeni komp instalirao win (opet sedmica) a jučer VS2012 i ostale dev stvari. Ostatak firme već ima 2013 a s obzirom kako njima radi ja ne planiram prelaziti...

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

 a s obzirom kako njima radi ja ne planiram prelaziti...

Znači lošije od 2012? Po čemu?

If debugging is the process of removing software bugs, then programming must be the process of putting them in.
Poruka je uređivana zadnji put uto 22.10.2013 10:59 (royalhero).
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
royalhero kaže...
Friday kaže...

 a s obzirom kako njima radi ja ne planiram prelaziti...

Znači lošije od 2012? Po čemu?

 

Rušenja i to grozno često...

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

Da to b jest tu greška, koristim btn, a sto se tice toga ne znam kako mi je to promaklo, napravio sam, tako sto sam izvan foreach petlje stavio int r i poslije svakoga prebrojavanja stavio r++, to koristio umjesto broja reda. Hvala na sugestiji.

 

ovako

 

Imam DataTable dt;

int r = 0;

 

foreach(DataRow row in dt.Rows)

{

Button btn = new Button();

btn.Tag = dt.Rows[r][1].ToString();

ListView.Items.Add(btn);

r++;

}

16 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Friday kaže...

Rušenja i to grozno često...

Čudno. Meni zasad radi ko urica. 50ak formi max, 10k linija koda. Mali projektići. Al budemo vidjeli....

http://nighthawk-software.blogspot.com/
17 godina
offline
Re: C# - Problemi i rješenja
YoeBoy kaže...

Da to b jest tu greška, koristim btn, a sto se tice toga ne znam kako mi je to promaklo, napravio sam, tako sto sam izvan foreach petlje stavio int r i poslije svakoga prebrojavanja stavio r++, to koristio umjesto broja reda. Hvala na sugestiji.

 

ovako

 

Imam DataTable dt;

int r = 0;

 

foreach(DataRow row in dt.Rows)

{

Button btn = new Button();

btn.Tag = dt.Rows[r][1].ToString();

ListView.Items.Add(btn);

r++;

}

 

Sa ovim si za tablicu 3X3 dobio tri buttona, s tim što si dobio tagove promjenjivog reda a fiksne kolone br. 1.

Za dobitii 9 buttona treba napraviti foreach petlju i za kolone i staviti je u foreach petlju za redove. Onda bi bilo dt.Rows[red][stupac++], s tim da red inkrementiraš nakon svakog prolaza foreach petlje za stupce. Ali postoji i način bez Rows kolekcije za dohvatiti sve elemente tablice.

Ovisi što trebaš, buttone za redove tablice ili za svaki element tablice.

 

DataRow row[kolona] - ovo je index 1D polja za kolonu pojedinog reda

dt.Rows[red][kolona] - ovo je index 2D polja za pojedini element tablice.

 

Dakle, ukoliko treba za svaki red tablice instancirati  po jedan button, i tim buttonima dodijeliti različite tagove dovoljno je raditi sa DataRow kolekcijom.

 

foreach(DataRow red in tablica.Rows)
{
   Button btn = new Button();
   btn.Tag = red[0].ToString();
}

 

A želiš li instancirati buttone za sve elemente polja s tim da im pridružiš različite tagove, onda ovako:

 

foreach(DataRow red in tablica.Rows)
{
     foreach (DataColumn stupac in tablica.Columns)
     {
            Button button = new Button();
            button.Tag = red[stupac].ToString();
     }
}

 

Poruka je uređivana zadnji put sri 23.10.2013 16:39 (Floki).
11 godina
neaktivan
offline
C# - Problemi i rješenja

trebam pomoc znaci trebam napraviti program koji bi nudio 2 opcije (spremanje i ucitavanje podataka o nekoj osobi) nesto tipa adresar

case 1 dozovio unos podataka te bi ih spremio negdje izvan programa npr u nekom txt formatu, a

u case 2 bi trebao dati unos imena i prezimena te pomocu toga it tog txt dokumenta izvuči spremljene podatke o toj osobi

ovo je samo gruba verzija treba jos doraditi

ali nzm kako da mi program sprema podatke koji su uneseni u txt format

te kako da ih ponovo ucitava nazad (nzm kako napraviti search)

zna neko mozda nekakav tut il nesta ne trezim gotov kod nego samo neke smjernice

 

#include <cstdlib>
#include <iostream>
#include <string>

using namespace std;

int main(int argc, char *argv[])
{
//Adresar v. 1.0//
    int x;
    string ime;
    string prezime;
    string adresa;
    string email;
    int telbroj;
    cout<<"Odaberite opciju:"<<endl;
    cout<<"1. Unesi podatke.\n2. Ucitaj podatke."<<endl;
    pogresan_unos:cin>>x;
switch (x)
{
       case 1:
         cout<<"Unesite ime:"<<endl;
         cin>>ime;
         cout<<"Unesite prezime:"<<endl;
         cin>>prezime;
         cout<<"Unesite adresu:"<<endl;
         cin>>adresa
         cout<<"Unesite email:"<<endl
         cin>>email;
         cout<<"Unesite telefonski broj:"<<endl;
         cin>>telbroj;
         cout<<"Unjeli ste:\nIme: "<<ime<<endl<<"Prezime: "<<prezime<<endl<<"Adresa: "<<adresa<<endl<<"Email: "<<email<<endl<<"Telefonski broj: "<<telbroj<<endl;
        //znaci ove bi podatke program trebao spremit negje
                      
             break;
    case 2:
         cout<<"Unesite ime osobe:"<<endl;
         cin>>ime;
         cout<<"Unesite prezime osobe:"<<endl;
         cin>>prezime;
         cout<<"Ime"<<ime<<endl<<"Prezime: "<<prezime<<endl;
        
         break;

//ovdje bi program trebao spremljene podatke pomocu imena i prezimena izbaciti nazad
         default :
                 cout<<"Progesan unos!"<<endl;
                 cout<<"Za unos novih podataka unesite 1!"<<endl;
                 cout<<"Za ucitavanje unesenih podataka unesite 2!"<<endl;
                 goto pogresan_unos;
}
   
 
    system("PAUSE");
    return EXIT_SUCCESS;
}

Poruka je uređivana zadnji put pon 28.10.2013 21:09 (heraklo).
 
0 0 hvala 0
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
heraklo kaže...
zna neko mozda nekakav tut il nesta ne trezim gotov kod nego samo neke smjernice

 

 

Najbolji saavjet koji OVDJE možeš dobiti je da to isto pitanje postaviš u C++ temi {#}

Freak Show Inc.
17 godina
neaktivan
offline
C# - Problemi i rješenja

Evo još jedne nove verzije mog kalkulatora: http://www.filedropper.com/digitron 

 

Log:

 

v0005:

-Popravljeno: Program više ne dozvoljava djeljenje s 0

 

-Dodano: Konverzija rimskih znamenki u arapske u obrnuto

 

-Onemogućeno: Maksimiziranje prozora, nije dizajniran za to...


Što se tiče ovog pretvaranja u rimske brojeve, to je još u izradi i on još uvijek dopušta "divljanje" sa raznim (važećim) znakovima - unesete mu nevažeći broj ali koji se sastoji od znamenki koje se nalaze u rimskom zapisu i on vrati neko rješenje, toga san svjestan i to će biti uskoro ispravljeno nego mi samo treba provjera njegovih izračuna, odnosno pravi li greške kod važećih brojeva...

Svi bug reportovi i pritužbe su dobro došli :D 

 

Napomena: pristiskom na ovaj tekst NOTES se "prošire" napomene

IRebic
Poruka je uređivana zadnji put uto 29.10.2013 11:58 (IRebic).
Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
C# - Problemi i rješenja
Pozdrav, imam jedan mali problemcic. Treba mi kopirati vrijednost iz varijable jedne klase u varijablu druge klase. Konkretno radi se o stringu. Imam klasu glavna i string polje proizvod, i drugu klasu skladiste i string proizvod_unos. Sad bih morao nakon clicka na button_Unesi prenjeti tekst iz proizvod_unos u proizvod. Hvala
 
0 0 hvala 0
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Napravi da je taj proizvod_unos bude public member, postavi mu get i set i to je to.

http://nighthawk-software.blogspot.com/
12 godina
neaktivan
offline
C# - Problemi i rješenja
Hvala, rjeseno. Zanima me kak da napravim prelazak iz forme u formu. Zapravo to nije problem, nego recimo imam prozor u kojem je recimo s gornje i lijeve strane meni za otvaranje određenih radnji, a glavni dio prozora mi je promjenjiv, znaci moze se u tom djelu prikazivati vise razlicitih formi. Napravio sam mdiparent, i onda vise formi tako da se jedna zatvori a druga pokaze, ali nakon kompajliranja i pokretanja programa mi se dogada da mi "bljeska" prijelaz iz jedne forme u drugu, znaci zatvara jednu formu i otvara drugu. Sad me zanima na koji nacin se rjesavaju takve stvari. Kako se stvaraju takve forme? Konkretno, zelim da mi se otvaranjem otvori forma za upisivanje pasworda i korisnickog imena i nakon upisivanja, ako su podatci ispravni prikaze glavnu stranicu, a ukoliko su neispravni da prikaze poruku, a zelio bih da to sve bude u jednom prozoru, bez otvaranja drugog prozora za recimo prikazivanje greske ili glavnog prozora. Nadam se da sam dobro objasnio .
Poruka je uređivana zadnji put sri 30.10.2013 9:50 (ssebastijan).
 
0 0 hvala 0
12 godina
neaktivan
offline
C# - Problemi i rješenja

Pozdrav, jeli ko od vas ovako nešto radio za svaki red iz baze podataka:

i na kraju da ima slider i da izgleda ovako:

 

 

 

 

ja kako god da pokušam, ne ide, vi imate više iskustva, hvala.

Poruka je uređivana zadnji put sri 30.10.2013 12:11 (YoeBoy).
 
0 0 hvala 0
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Custom grid kontrola u WPFu... Najlakše i najbrže.

http://nighthawk-software.blogspot.com/
17 godina
neaktivan
offline
C# - Problemi i rješenja

Koji je naj lakši način za pravljenje sučelja (grafičkog sučelja - gumbića za izbornike i ta čuda) u C#-u?
U biti treba mi neki način da napravim izbornik kad se pokreće program nešto u smislu star game , options, exit jedno ispod drugog i da onda svako to dugme "preuredi" formu svojoj namjeni

IRebic
Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
C# - Problemi i rješenja

Dakle program zamjenjuje elemente u polju prema lijevo (drugi clan postaje prvi a prvi zadnji). Zbog čega foreach petlja mi daje ovakve rezultate tj. zasto pocinje ispisivati od clana sa indexom polje[1] a ne polje[0]?

 

Kod je ovdje  http://paste.org/68485

 

Unaprijed se zahvaljujem

 
0 0 hvala 0
11 godina
neaktivan
offline
Re: C# - Problemi i rješenja

       int[] polje = new int[10];

       for (int j = 0; j < polje.Length; j++)

       {

         polje[j] = j;

       }

 

       for (int p = 0; p < polje.Length; p++)

       {

         Console.Write(polje[p] + " ");

       }

 

 

       int temp = polje[0];

 

       for (int i = 1; i < polje.Length; i++)

       {

         polje[i - 1] = polje[i];

       }

       polje[polje.Length - 1] = temp;

 

       Console.WriteLine();

 

       foreach (int k in polje)

       {

         Console.Write(polje[k]+" ");

       }

       Console.ReadKey();

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

Dakle program zamjenjuje elemente u polju prema lijevo (drugi clan postaje prvi a prvi zadnji). Zbog čega foreach petlja mi daje ovakve rezultate tj. zasto pocinje ispisivati od clana sa indexom polje[1] a ne polje[0]?

 

Kod je ovdje  http://paste.org/68485

 

Unaprijed se zahvaljujem

ili bez dodatne petlje za ispis:

    int[] polje = new int[10];

       for (int j = 0; j < polje.Length; j++)

       {

         polje[j] = j;

         Console.Write(polje[j] + " ");

       }

       Console.WriteLine();

 

 

       int temp = polje[0];

 

       for (int i = 1; i < polje.Length; i++)

       {

         polje[i - 1] = polje[i];

 

       }

       polje[polje.Length - 1] = temp;

 

 

       foreach (int k in polje)

       {

         Console.Write(polje[k] + " ");

       }

       Console.ReadKey(); 

Poruka je uređivana zadnji put ned 10.11.2013 20:28 (beginner29).
Nova poruka
E-mail:
Lozinka:
 
vrh stranice