C#.NET

  • Креатор на темата Креатор на темата back_rest
  • Време на започнување Време на започнување
како се лимитраше бројот на децимали?
или тоа зависеше од типот на променлива?
или може и на двете да се 'реши'?

На Math.Round(x, 2) да не мислиш?
 
Треба да креирам 12 копчиња динамички ама ми се појавува проблем еве го мојот код подоле и ако сака некој да ми каже каде ми е грашката и како да ја поправам.
Код:
 pole = new button[12];
            Button temp;
            int i;
            int j;
int index = 0;
temp = new Button();
for(i=1;i<=4;i++)
{
for(j=1;j<=3;j++;)
{
temp=new Button();
                    temp.Name = "button" + i.ToString() + j.ToString();
                    temp.Text = button.name.ToString;
                    temp.Width = 50;
                    temp.Height = 30;
                    temp.Parent = this;
                    temp.Visible=true;
                    temp.Location = new Point(10 + (j - 1) * 25, 15 + (i - 1) * 25);
                    pole[index] = temp;
                    index++;
                }
            }
 
Треба да креирам 12 копчиња динамички ама ми се појавува проблем еве го мојот код подоле и ако сака некој да ми каже каде ми е грашката и како да ја поправам.
Код:
 pole = new button[12];
            Button temp;
            int i;
            int j;
int index = 0;
temp = new Button();
for(i=1;i<=4;i++)
{
for(j=1;j<=3;j++;)
{
temp=new Button();
                    temp.Name = "button" + i.ToString() + j.ToString();
                    temp.Text = button.name.ToString;
                    temp.Width = 50;
                    temp.Height = 30;
                    temp.Parent = this;
                    temp.Visible=true;
                    temp.Location = new Point(10 + (j - 1) * 25, 15 + (i - 1) * 25);
                    pole[index] = temp;
                    index++;
                }
            }

А каква грешка ти јавува? Зошто ти е другиот дел од кодот а не само циклусот и на крај од секое повторување да го додаваш копчето на некој контејнер елемент кој е веќе дефиниран?
 
А каква грешка ти јавува? Зошто ти е другиот дел од кодот а не само циклусот и на крај од секое повторување да го додаваш копчето на некој контејнер елемент кој е веќе дефиниран?
Па ова е за проект на факултат и треба програмски да се направат тие копчиња дали ќе може да ги правам едно по едно да не мора да правам фор циклус?
 
Па ова е за проект на факултат и треба програмски да се направат тие копчиња дали ќе може да ги правам едно по едно да не мора да правам фор циклус?

Код:
for(i=1;i<=4;i++)
{
for(j=1;j<=3;j++
{
temp=new Button();
temp.Name = "button" + i.ToString() + j.ToString();
temp.Text = button.name.ToString;
temp.Width = 50;
temp.Height = 30;
temp.Location = new Point(10 + (j - 1) * 25, 15 + (i - 1) * 25);
this.Controls.Add (temp);
}
}

Пробај вака, незнам дали ќе е ок пошто немам каде да го испробам. Ако не е ок, гарант има на нет милион примери како да го средиш ова. Патем студираш некој ИТ факултет?
 
for(i=1;i<=4;i++)
{
for(j=1;j<=3;j++;)
{
temp=new Button();
temp.Name = "button" + i.ToString() + j.ToString();
temp.Text = button.name.ToString;
temp.Width = 50;
temp.Height = 30;
temp.Location = new Point(10 + (j - 1) * 25, 15 + (i - 1) * 25);
this.Controls.Add (temp);
}
}

Пробај вака, незнам дали ќе е ок пошто немам каде да го испробам. Ако не е ок, гарант има на нет милион примери како да го средиш ова. Патем студираш некој ИТ факултет?
Ми покажува грешка кај temp.Text = button.name.ToString; иначе струирам информатика на угд.
 
Ако може некој да ми помогне како да направам нели во текст бокс внесувам броеви, секој број си има посебно копче, но може да внесам и запирка за децимален број. Сакам да прашам како да направам кога ке внесам запирка, копчето што е за запирката да се деактивира и да не може да внесува повеке запирики. Нели не постои број 22.....3434 И исто така за копчето запирка се однесува тоа што кога ке се внесе еднаш запирка нели се деактивира или оневозможува, но ако се избрише внесената запирка, треба да биде овозможено пак да ја внесе.
 
Ако може некој да ми помогне како да направам нели во текст бокс внесувам броеви, секој број си има посебно копче, но може да внесам и запирка за децимален број. Сакам да прашам како да направам кога ке внесам запирка, копчето што е за запирката да се деактивира и да не може да внесува повеке запирики. Нели не постои број 22.....3434 И исто така за копчето запирка се однесува тоа што кога ке се внесе еднаш запирка нели се деактивира или оневозможува, но ако се избрише внесената запирка, треба да биде овозможено пак да ја внесе.

Ова можеш да го направиш со јаваскрипт валидација со помош на регуларен израз, нешто од типот

Код:
function DecimalValidate(control)
        {
            // regular expression
            var rgexp = new RegExp("^\d*([.]\d{2})?$");
            var input = document.getElementById(control).value;
 
            if (input.match(rgexp))
                alert("ok");
            else
                alert("no");
        }
 
Можеби е малку глупо прашањето ама се мачам веќе неколку дена. Имам низа од прашања и треба да проверам дали внесениот одговор ми е ист со одговорот кој ми е поставен за точен, доколку е точен го зголемува бројот на точни одговори доколку не, го згголемува бројот на погрешни одговори, и во двата случаја го дава следното прашање. Пробав со for циклус ама проверката ми ја врши n пати за истиот број, па пример за i=0, доколку ми е точно решението бројот на точни одговори е 1, а на погрешни е 2, а доколку ми е неточно бројот на точни решенија е 0,а бројот на погрешни е 3 и потоа ми го задава i+2 прашањето. Еве го кодот, ако некој знае каде грешам нека помогне :)
Код:
            for (int i = 0; i < 3; i++)
            {
                string r = text2.Text;
                if (r == izraz[i, 1])
                {
                    tocni++;
                    l4.Text = "Бројот на точни одговори e: " + tocni.ToString();
                    text1.Text = izraz[i, 0];
                }
                else
                {
                    greska++;
                    l5.Text = "Бројот на погрешни решенија е " + greska.ToString();
                    text1.Text = izraz[i, 0];
                }
             
                text2.Text = "";
 
            }
 
Можеби е малку глупо прашањето ама се мачам веќе неколку дена. Имам низа од прашања и треба да проверам дали внесениот одговор ми е ист со одговорот кој ми е поставен за точен, доколку е точен го зголемува бројот на точни одговори доколку не, го згголемува бројот на погрешни одговори, и во двата случаја го дава следното прашање. Пробав со for циклус ама проверката ми ја врши n пати за истиот број, па пример за i=0, доколку ми е точно решението бројот на точни одговори е 1, а на погрешни е 2, а доколку ми е неточно бројот на точни решенија е 0,а бројот на погрешни е 3 и потоа ми го задава i+2 прашањето. Еве го кодот, ако некој знае каде грешам нека помогне :)
Проблемот тука ти е шо ќе земи еден одговор и ќе спореди со сите членови во izraz[i,j] ,(претпоставувам тука имаш и одговори од други прашања) па ако имаш N прашања, ќе имаш N-1 грешни одговори + точен/грешен одговор шо е внесен.

Обратно треба да ја поставиш, со for ги вртиш прашањата, ама споредуваш со одговори кои се валидни само за даденото прашање.
 
Треба да креирам 12 копчиња динамички ама ми се појавува проблем еве го мојот код подоле и ако сака некој да ми каже каде ми е грашката и како да ја поправам.

Ако ти е за програмата “Брзи Прсти“, тогаш не се замарај да ги креираш динамички, никаде во упатството не е наведено нешто такво. Мислам, која е поентата на предмет Визуелно Програмирање ти да креираш копчиња гридови и сл. на програмски начин и да се замараш со позицонирање, големина, активирање кога сето тоа можеш многу лесно да го направиш со drag&drop на потребните алатки.
--- надополнето: 10 јануари 2013 во 11:01 ---
Можеби е малку глупо прашањето ама се мачам веќе неколку дена. Имам низа од прашања и треба да проверам дали внесениот одговор ми е ист со одговорот кој ми е поставен за точен, доколку е точен го зголемува бројот на точни одговори доколку не, го згголемува бројот на погрешни одговори, и во двата случаја го дава следното прашање. Пробав со for циклус ама проверката ми ја врши n пати за истиот број, па пример за i=0, доколку ми е точно решението бројот на точни одговори е 1, а на погрешни е 2, а доколку ми е неточно бројот на точни решенија е 0,а бројот на погрешни е 3 и потоа ми го задава i+2 прашањето. Еве го кодот, ако некој знае каде грешам нека помогне :)
Код:
            for (int i = 0; i < 3; i++)
            {
                string r = text2.Text;
                if (r == izraz[i, 1])
                {
                    tocni++;
                    l4.Text = "Бројот на точни одговори e: " + tocni.ToString();
                    text1.Text = izraz[i, 0];
                }
                else
                {
                    greska++;
                    l5.Text = "Бројот на погрешни решенија е " + greska.ToString();
                    text1.Text = izraz[i, 0];
                }
     
                text2.Text = "";
 
            }

Најверојатно и ти ја правиш истата програма :)
Овој дел од кодод претпоставувам дека ти е ставен кај копчето “Потврди“, така да немаш потреба да ставаш фор циклус што ќе ги изминува сите елементи. Едноставно, стави некој бројач (иницијално поставен на 0) и него го споредувај со вкупниот број на задачи (во случајот 3, во програмата 30). Надолу ти е точен кодот, само после проверката (било да е точен или неточен) едноставно зголеми го бројачот за 1, и во полето “Реши го изразот“ вчитај ја следната задача.
А вака како што ја правиш мислам дека потешко ќе биде да работиш со дводимензионални низи (мое мислење). Пробај, задачите ги стави во една, а решенијата во друга низа, и споредувај го и-тиот елемент од првата со и-тиот елемент од втората.
Мислам дека бев јасен, ако имаш уште нешто нејасно, слободно прашај.
--- надополнето: 10 јануари 2013 во 11:14 ---
Ако може некој да ми помогне како да направам нели во текст бокс внесувам броеви, секој број си има посебно копче, но може да внесам и запирка за децимален број. Сакам да прашам како да направам кога ке внесам запирка, копчето што е за запирката да се деактивира и да не може да внесува повеке запирики. Нели не постои број 22.....3434 И исто така за копчето запирка се однесува тоа што кога ке се внесе еднаш запирка нели се деактивира или оневозможува, но ако се избрише внесената запирка, треба да биде овозможено пак да ја внесе.

string poceten = textBox1.Text;
int dolzina = poceten.Length();
int rezultat,brojac,najden = 0;
for (int i = 0; i < dolzina; i++)
{
rezultat = poceten.IndexOf(".", najden, dolzina-najden);
if (rezultat != -1)
{
najden++;
brojac++;
}
}

Во brojac ќе го имаш вкупниот број на појавувања на стрингот (во случајот “.“). Ако тој број е еднаков на 1, значи имаш внесено една запирка и треба да го оневозможиш копчето за запирка ( btnZapirka.Enabled = false; ). Е сега, ако си ја избришал внесената запирка, ќе направиш друга проверка (if brojac == 0..) и во тој случај btnZapirka.Enabled = true;
Оваа валидација ќе треба да ја правиш во самата форма, а не при кликање на некое копче. Немам VS на овој компјутер за да го пробам кодов, но вака како што е напишано мислам дека би требало да работи.
 
Ако ти е за програмата “Брзи Прсти“, тогаш не се замарај да ги креираш динамички, никаде во упатството не е наведено нешто такво. Мислам, која е поентата на предмет Визуелно Програмирање ти да креираш копчиња гридови и сл. на програмски начин и да се замараш со позицонирање, големина, активирање кога сето тоа можеш многу лесно да го направиш со drag&drop на потребните алатки.
--- надополнето: 10 јануари 2013 во 11:01 ---
Да за таа програма ми е така ќе напавам зошто другиот дел ми е горе доле готов само во тој дел ми покажуваше грешки фала ти за советот.(y)
 
alex-st
Јас ја имам решавано задачата за еден другар, ја решив со речници и со низи..иначе за запирката да не се појавува повеќе од еднач има едноставно решение.
if (t1.Text.Contains(".")) return;
t1.Text += ".";
t1 e полето за решението на изразот. Ако има точака внесено кога ќе го кликнес нема да прави ништо :)


едит. од модератор. нема потреба да цитираш цело мислење кога е само едно мислење погоре
 
alex-st
Јас ја имам решавано задачата за еден другар, ја решив со речници и со низи..иначе за запирката да не се појавува повеќе од еднач има едноставно решение.
if (t1.Text.Contains(".")) return;
t1.Text += ".";
t1 e полето за решението на изразот. Ако има точака внесено кога ќе го кликнес нема да прави ништо :)


едит. од модератор. нема потреба да цитираш цело мислење кога е само едно мислење погоре

Не реков дека моето е најдоброто решение, но сепак врши работа :) . Како и да е, доста попрактично со 2-3 реда код е ова твоето.
 

Kajgana Shop

Back
На врв Bottom