Avatar
jakub
Redaktor
Avatar
jakub:16.10.2012 17:47

Ahoj,mam problém,když zadam:

string cau = odpovedCau.Text();

hodí mi to error:

Error   9       A field initializer cannot reference the non-static field, method, or property 'ChatingBot.default_Form.odpovedCau'
Odpovědět 16.10.2012 17:47
Uvnitř jsou všichni stejní...
Avatar
matesax
Redaktor
Avatar
Odpovídá na jakub
matesax:16.10.2012 17:52
string cau = odpovedCau.Text;
 
Nahoru Odpovědět 16.10.2012 17:52
Avatar
David Jančík [sczdavos]
Tým ITnetwork
Avatar
Odpovídá na jakub
David Jančík [sczdavos]:16.10.2012 17:53

Pošli zdrojový kód :)

Nahoru Odpovědět 16.10.2012 17:53
Čím více času dostaneš, tím méně ho máš.
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Jančík [sczdavos]
matesax:16.10.2012 18:13

Není třeba - leda by mu to moje nešlo - ale spíš půjde... :) (Text je accessor)

 
Nahoru Odpovědět 16.10.2012 18:13
Avatar
David Jančík [sczdavos]
Tým ITnetwork
Avatar
Odpovídá na matesax
David Jančík [sczdavos]:16.10.2012 18:22

Já měl za to, že v odpovedCau je nějaká instance jeho Třídy. Pokud je to nějaká komponenta, pak je samozřejmě Text vlastnost a né metoda.

Nahoru Odpovědět 16.10.2012 18:22
Čím více času dostaneš, tím méně ho máš.
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Jančík [sczdavos]
matesax:16.10.2012 19:12

Vidím to na TextBox - že si tam napíšeš odpověď... (A nepotřebuji kontext... :) )

 
Nahoru Odpovědět 16.10.2012 19:12
Avatar
jakub
Redaktor
Avatar
jakub:16.10.2012 19:42

jo,je to textbox

Nahoru Odpovědět 16.10.2012 19:42
Uvnitř jsou všichni stejní...
Avatar
jakub
Redaktor
Avatar
jakub:16.10.2012 19:45

pořád nefunguje :(
kód:

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 ChatingBot
{
    public partial class default_Form : Form
    {
        public default_Form()
        {
            InitializeComponent();
        }

        string cau = odpovedCau.Text;

        private void odkaz_na_kalkulacku_Click(object sender, EventArgs e)
        {

            // vytvor instaci formu
            kalkulacka.kalkulacka druhyForm = new kalkulacka.kalkulacka();
            druhyForm.Show();
        }





    }
}
Nahoru Odpovědět 16.10.2012 19:45
Uvnitř jsou všichni stejní...
Avatar
jakub
Redaktor
Avatar
jakub:16.10.2012 19:50

EDIT:// Už sem to rozchodil,obalil sem :

public void odpoved(object sender, EventArgs e)
        {
            string cau = odpovedCau.Text;
        }

funguje,dk za rady

Nahoru Odpovědět 16.10.2012 19:50
Uvnitř jsou všichni stejní...
Avatar
David Jančík [sczdavos]
Tým ITnetwork
Avatar
Odpovídá na jakub
David Jančík [sczdavos]:16.10.2012 19:51

Dej to do nějaké metody ;) Nebo před to napiš static

Nahoru Odpovědět 16.10.2012 19:51
Čím více času dostaneš, tím méně ho máš.
Avatar
jakub
Redaktor
Avatar
jakub:16.10.2012 20:03

ještě dotaz,jak vypíšu do resultu promněnou?

case "cau":
                    result = string.cau ;
                    break;

??
to mi ale nejde.

Nahoru Odpovědět 16.10.2012 20:03
Uvnitř jsou všichni stejní...
Avatar
jakub
Redaktor
Avatar
jakub:16.10.2012 20:30

Nebo spíš,jak do case dostanu promněnou?

Nahoru Odpovědět 16.10.2012 20:30
Uvnitř jsou všichni stejní...
Avatar
David Jančík [sczdavos]
Tým ITnetwork
Avatar
Odpovídá na jakub
David Jančík [sczdavos]:16.10.2012 20:37

Pročti si tutoriály ;) Tohle jsou zbytečné dotazy.

Nahoru Odpovědět 16.10.2012 20:37
Čím více času dostaneš, tím méně ho máš.
Avatar
matesax
Redaktor
Avatar
Odpovídá na jakub
matesax:17.10.2012 6:36

Čeština? "_"? Ani jedno do kódu nestrkej... Používej CamelCase.

http://cs.wikipedia.org/wiki/CamelCase

Respektive - názvy proměnných začínají malým, ale další slova v nich velkým. Vlastnosti, třídy,... začínají velkým.

A vůbec k názvům:

odkaz_na_kalkulacku - z toho opravdu netuším, o co GO...

odpovedCau bych viděl na: userResult

K čemu tam je:

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;

Stačí:

using System;
using System.Windows.Forms;

Zbytek vůbec nepoužíváš...

 
Nahoru Odpovědět 17.10.2012 6:36
Avatar
Kit
Redaktor
Avatar
Odpovídá na matesax
Kit:17.10.2012 7:05

Však nemá češtinu v názvech. Kde jsi to sebral? Podtržítka v názvech být mohou, ale dávám přednost jednoslovním názvům objektů a metod.

Nahoru Odpovědět 17.10.2012 7:05
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Redaktor
Avatar
Odpovídá na Kit
matesax:17.10.2012 7:07
string cau = odpovedCau.Text;

         private void odkaz_na_kalkulacku_Click(object sender, EventArgs e)
         {

             // vytvor instaci formu
             kalkulacka.kalkulacka druhyForm = new kalkulacka.kalkulacka();
             druhyForm.Show();

Aha...

No tak já nevím, ale v C# se zásadně používá CamelCase...

Ještě mi řekni, že i toto je OK:

kalkulacka.kalkulacka

...

Editováno 17.10.2012 7:10
 
Nahoru Odpovědět 17.10.2012 7:07
Avatar
Kit
Redaktor
Avatar
Odpovídá na matesax
Kit:17.10.2012 7:11

A kde máš tu češtinu? Všechny názvy jsou podle pravidel. I když jsou některé poněkud divné, například "kalkulacka.kal­kulacka".

Nahoru Odpovědět 17.10.2012 7:11
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na matesax
Kit:17.10.2012 7:12

"kalkulacka" není české slovo.

Nahoru Odpovědět 17.10.2012 7:12
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Redaktor
Avatar
Odpovídá na Kit
matesax:17.10.2012 7:14

A to je tedy Angičtina? Je to Čeština bez diakritiky... Ano - na malých projektech si to můžeš dovolit, ale je snad lepší naučit se používat Angličtinu již od začátku...

Čechu - Čeština...

Sám jsem od začátku používal Angličtinu - a jak se mi to teď hodí...

Editováno 17.10.2012 7:17
 
Nahoru Odpovědět 17.10.2012 7:14
Avatar
Kit
Redaktor
Avatar
Odpovídá na matesax
Kit:17.10.2012 7:19

Není to Angičtina ani Angličtiona. Jsou to nesémantické názvy tříd a metod. Pro pochopení takového programu jsou nutné komentáře a to je špatně.

Nahoru Odpovědět 17.10.2012 7:19
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Redaktor
Avatar
Odpovídá na Kit
matesax:17.10.2012 7:23

No já jsem tedy nikdy nepoužíval komenty... Naopak - Angličtina nabízí skvělou terminologii - co v Češtině napíšeš 3 slovy, v Angličtině jedním. Nechápu, že zrovna ty mi tvrdíš, že není lepší používat Angličtinu...

 
Nahoru Odpovědět 17.10.2012 7:23
Avatar
Kit
Redaktor
Avatar
Odpovídá na matesax
Kit:17.10.2012 7:29

V tom případě nechápu, proč v programech píšeš víceslovní názvy proměnných a metod, když ti stačí jedno slovo.

Nahoru Odpovědět 17.10.2012 7:29
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na matesax
Kit:17.10.2012 7:47

... a také nechápu, proč používáš Pascal Case, když propaguješ Camel Case...

Nahoru Odpovědět 17.10.2012 7:47
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 23 zpráv z 23.