Stránka 1 z 2

C# nefunguje načítaní minut

Napsal: 24 črc 2014 19:50
od Skelller
Ahoj. Potřeboval bych poradit. Jsem úplný začátečník v C# a hází mi to chybu: Cannot Implicitly convert type "string" to "int".

Je to přesně v téhle části kodu:

Kód: Vybrat vše

int minuta;
            minuta = label4.Text;


Prosím kohokoliv o radu.

Re: C# nedaří se mi konvert z string na int

Napsal: 24 črc 2014 19:53
od Tomasb98
zkus to napsat tak to

Kód: Vybrat vše

int minuta = Convert.ToInt32(label4.text);

Re: C# nedaří se mi konvert z string na int

Napsal: 24 črc 2014 19:56
od Skelller
Wow super díky moc :) Radši to nechám otevřené kdybych v tom malém projektu měl nějakou chybu zase se kterou bych si nevěděl rady.

Re: C# nedaří se mi konvert z string na int

Napsal: 24 črc 2014 20:00
od Tomasb98
Není zač, jinak tohle je docela dobrá stránka http://www.dotnetperls.com/ a nebo přímo msdn.

A naopak se to převádí zase takto

Kód: Vybrat vše

label4.text = minuta.ToString();

Re: C# nedaří se mi konvert z string na int

Napsal: 24 črc 2014 20:16
od Skelller
Ahoj, tak zase znova :D Tentokrát jde o část Label3. Sekundy se mi už načítaji (má to být jako alfa verze stopek, jenom zatím dělám načítání čísel) Ale minuty mi nefungují. Kdyby chtěl někdo celý kod tak tady je.. :

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace hodiny
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
        {

        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void label3_Click(object sender, EventArgs e)
        {
            int minuta;
            minuta = Convert.ToInt32(label4.Text);
            label4.Text = ToString();
            if (label4.Text == "60")
            {
                for (minuta = 00; minuta <= 60; minuta++)
                {
                    label3.Text = "00";
                    System.Threading.Thread.Sleep(60000);
                    label3.Text = "0" + minuta.ToString();
                    if (minuta >= 10)
                    {
                        label3.Text = minuta.ToString();
                    }
                    label3.Refresh();
                }
            }
        }

        private void label4_Click(object sender, EventArgs e)
        {
            dalsikarta:
            for (int sekunda = 00; sekunda <= 60; sekunda++)
            {
                label4.Text = "00";
                System.Threading.Thread.Sleep(1000);
                label4.Text = "0" + sekunda.ToString();
                if (sekunda >= 10)
                {
                    label4.Text = sekunda.ToString();
                }
                label4.Refresh();
            }
            goto dalsikarta;
        }
    }
}




PS: Minuty ve kterých je chyba jsou ten Label3

Re: C# nefunguje načítaní minut

Napsal: 24 črc 2014 20:58
od Tomasb98
nechceš poslat spíš v rar celý projekt a když na něco přijdu tak bych ti to poslal zpět s komentářem...

Mě teda na ty stopky přijde lepší použít timer časovač.

Re: C# nefunguje načítaní minut

Napsal: 24 črc 2014 21:00
od Skelller
Určitě je milion lepších možností, já pouze využivám to co jsem se naučil z internetu a knížek (dělal jsem hlavně v konzoli, takže skoro vůbec nevím o tom toolboxu co tam je:) Jsem zvyklý na příkazy)

--- Doplnění předchozího příspěvku (24 Črc 2014 21:01) ---


Re: C# nefunguje načítaní minut

Napsal: 24 črc 2014 21:07
od Tomasb98
Ano ale fakt není dobrý způsob :D musel jsem to vypnout přes správce...

Re: C# nefunguje načítaní minut

Napsal: 24 črc 2014 21:08
od Skelller
Já ti věřím :D Fakt? Já jenom alt f4. Asi hodně špatný způsob co

Re: C# nefunguje načítaní minut

Napsal: 24 črc 2014 21:11
od CZechBoY
Jo přes timer mnohem lepší. To pozastavování hlavního threadu je fakt hrozný... celou dobu totiž neodpovídá a nemůžu ani zobrazit okno programu :D
Buď udělej novej thread v kterým budeš aktualizovat každou sekundu form a data nebo použij hotovou komponentu - timer.

Mě stačilo vypnout to přes stop ve visual studiu :-)

Re: C# nefunguje načítaní minut

Napsal: 24 črc 2014 21:11
od Tomasb98
Alt F4 jsem nezkoušel ale pochybuji že by to tím šlo ...

No teď tu je jeden zkušenější tak ti snad poradí.

Vypnout to přes VS mě nenapadlo. :D

Re: C# nefunguje načítaní minut

Napsal: 24 črc 2014 21:15
od CZechBoY
Prej zkušenější :D jsem v C# nedělal zas nějakej ten rok ;-)

Jo ještě to goto dej pryč, vůbec nechápu proč tam je.

Jdeš na to asi úplně špatně nebo já jdu na čtení úplně špatně :lol: Jak to má fungovat?
Já si představuju stopky s funkcí START (nevidím tlačítko start) a STOP, případně PAUZA.
Takže ti stačí jedna funkce na inkrementaci (přičítání jedničky) sekund. Když bude hodnota 60 tak zvýšíš minuty o 1 a sekundy nastavíš na 1. Kdybys chtěl měřit ještě hodiny tak zkontroluješ potom jestli minuty nejsou 60 atd.