Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 3

Windows Forms C#

07.05.2011, 20:14. Показов 2979. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Идея: Сделать програмку
Вопрос: Создаём рандомное трёхзначное число. Юзер вводит в текстбокс трёхзначное число. Снизу на лейбле должно отобразиться: 1) число угаданных цифр из этих трёх 2) на втором лейбле - угаданные позиции цифр
Позиции пока не трогал, возникла проблема с первым пунктом, вылезает ошибка. Первое число получается выдрать из строки,второе не получается, соответственно третье еще не пробовал.
Вот эта часть работает для первго числа:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
groupBox1.Enabled = true;
            //PC zagadivaet 4islo kak INT
            Random rnd = new Random();
            int pc_input;
            pc_input = rnd.Next(100,999);
 
            //User vvodit 4iso v textbox, mi eto 4islo perevodim v int
            int user_input;
            int.TryParse(textBox1.Text, out user_input);
 
 
            //iz INT v STRING perevodim to, wto vvel user
            string convert_user = user_input.ToString();
 
            //iz INT v STRING perevodim to, wto zagadal pc
            string convert_pc = pc_input.ToString();
 
            //teper sravnivaem toze samoe, tolko kak stroki
            if (convert_pc == convert_user)
            {
                Console.WriteLine("Ugadal");
            }
            else 
            { 
                Console.WriteLine("Ne ugadal"); 
            }
 
 
            //vitaskivaem pervij simvol izz vvedennogo userom 4isla
            string sub_user;
            sub_user = convert_user.Substring(0,1);
 
            string sub_pc;
            sub_pc = convert_pc.Substring(0,1);
 
 
            Console.WriteLine(convert_pc);
            if (sub_user == sub_pc )
            {
                count++;
                
                label1.Text = "Ugadano cifr:" + count;
                Console.WriteLine("Pervaja cifra sovpala");
               
            }
            else Console.WriteLine("Pervaja cifra ne sovpala");
мб подскажите Ваши варианты как выдернуть второе число и соответственно увеличить общий count
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.05.2011, 20:14
Ответы с готовыми решениями:

Windows.Forms - Процедуры, цикл for и System.Windows.Forms.Button
Доброго времени суток. Есть WinForms программа: ... private ClickedButtonId, ClickedButtonX, ClickedButtonY:Integer; ...

Код для Windows Forms не работает в Web Forms?
В том году я делал лабораторки по Winforms. Естественно, они все у меня сохранились, и я полез в их код, вспоминать былое, так сказать,...

Выражение типа "System.Windows.Forms.Control" не может быть выражением типа "System.Windows.Forms.Menu"
Перевёл проект с версии 2008 на версию 2010 Наткнулся при компиляции на кучу не объявленных переменных и на 2 ошибки. Собственно с...

4
 Аватар для Sergei
1513 / 780 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
07.05.2011, 20:29
Цитата Сообщение от iloverussia Посмотреть сообщение
//User vvodit 4iso v textbox, mi eto 4islo perevodim v int
int user_input;
int.TryParse(textBox1.Text, out user_input);
Не понятно зачемы вы переводите в число если потом опять переводите в строку,
также что будет если пользователь ввело не число а какой либо текст?
0
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 3
07.05.2011, 20:33  [ТС]
Я на самом деле уже думал над тем, что зачем 2 раза перевожу, но сомневался. Валидация есть на количество символов и только цифры, я просто не стал кидать весь ког проги.
0
 Аватар для Sergei
1513 / 780 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
07.05.2011, 20:35
Выложите код вашей программы сюда как файл посмторим что у вас там
0
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 3
08.05.2011, 15:36  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
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;
using System.IO;
 
 
namespace Game
{
    public partial class Form1 : Form
    {
        int count = 0;
        int chance = 0; // must use later
        
        Timer timer1;
     
     
    
 
        public Form1()
        {
            InitializeComponent();
           //button1.Click += new EventHandler(button1_Click);
 
            timer1 = new Timer();
            timer1.Interval = 1000;
            timer1.Tick += new EventHandler(timer1_Tick);
            timer1.Start();
            GetTime();
 
        }
     
 
       
 
 
        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }
 
        //start button
        private void button1_Click(object sender, EventArgs e)
        {
            
            //groupBox1.Enabled = true;
            //flag = true;
            //Random rnd = new Random();
            //int a;
            //a = rnd.Next(100, 999);
            //int temp;
            //chance++;
            //label4.Text = "Popitok:"+(chance-1);
 
            //if (int.TryParse(textBox1.Text, out a))
            //{
            //    Console.WriteLine("OK");
            //}
            //else
            //{ Console.WriteLine("ERR"); }
 
            ////if (a == temp)
            ////{
            ////    count++;
            ////    label1.Text = "Ugadano:"+count;
            ////    Console.WriteLine("UGADAL");
                
            ////}
 
            ////convert to string
            //string var = a.ToString();
            //string var2;
            //var2 = var.Substring(0,1);
            //Console.WriteLine(var);
 
            //string rez;
            //rez = var.Substring(0,1);
            //Console.WriteLine(rez);
 
            //if (var2 == rez)
            //{
            //    Console.WriteLine("pervaja cifra sovpala");
            //}
            //else Console.WriteLine("Pervaja cifra ne sovpala!!!!!!!");
 
 
            groupBox1.Enabled = true;
            //PC zagadivaet 4islo kak INT
            Random rnd = new Random();
            int pc_input;
            pc_input = rnd.Next(100,999);
 
            //User vvodit 4iso v textbox, mi eto 4islo perevodim v int
            int user_input;
            int.TryParse(textBox1.Text, out user_input);
 
 
            //iz INT v STRING perevodim to, wto vvel user
            string convert_user = user_input.ToString();
 
            //iz INT v STRING perevodim to, wto zagadal pc
            string convert_pc = pc_input.ToString();
 
            //teper sravnivaem toze samoe, tolko kak stroki
            if (convert_pc == convert_user)
            {
                Console.WriteLine("Ugadal");
            }
            else 
            { 
                Console.WriteLine("Ne ugadal"); 
            }
 
 
            //vitaskivaem pervij simvol izz vvedennogo userom 4isla
            string sub_user;
            sub_user = convert_user.Substring(0,1);
 
            string sub_pc;
            sub_pc = convert_pc.Substring(0,1);
 
 
            Console.WriteLine(convert_pc);
            if (sub_user == sub_pc )
            {
                count++;
                
                label1.Text = "Ugadano cifr:" + count;
                Console.WriteLine("Pervaja cifra sovpala");
               
            }
            else Console.WriteLine("Pervaja cifra ne sovpala");
            
            
 
 
            Button curBtn = (sender as Button);
            curBtn.Text = "Stop";
 
        }
 
        private void Button_Click3(object sender, EventArgs e)
        {
          
        }
 
 
    
 
        
 
        //textbox
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
          
        }
 
        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar != 8 && (e.KeyChar < 48 || e.KeyChar > 57))
                e.Handled = true;
 
 
 
            //pri nazatii na ENTER osuwestvljaetsa sobitie nazatija knopki
            if ((int)e.KeyChar == 13)
            {
                InvokeOnClick(button1, EventArgs.Empty);
            }
 
 
         
            //ograni4ivaem vvod do 3 simvolov
            if (textBox1.Text.Length > 2)
            {
                e.Handled = true;
                //allow backspace
                if (e.KeyChar == '\b')
                {
                    e.Handled = false;
                }
            }
 
 
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            
        }
 
 
        
       void timer1_Tick(object sender, EventArgs e)
        {
 
            if (sender == timer1)
            {
                GetTime();
            }
            this.Invalidate();
 
        }
 
        private void GetTime()
        {
            DateTime data = DateTime.Now;
            this.Text = data.ToString();
            this.Text = String.Format("{0}", data.ToLongTimeString());
 
            int sec = DateTime.Now.Second;
 
            this.Text = String.Format("{0:D2} sekund", sec);
        }
    
 
      
 
 
        
    }
 
 
 
    class Program
    {
        public static void Main(String[] args)
        {
            //stili windows
            Application.EnableVisualStyles();
            //sozdajom Objekt
            Application.Run(new Form1());
        }
    }
}
Сорри я пока так скинул, разберусь хоть с форумом немного. ПС: То, что комменты, не обращай внимания, для себя оставлял...

Добавлено через 26 минут
Sergei, ок,буду использовать теги!

Добавлено через 16 часов 21 минуту
Раз с этим не в силах помочь, может другой вариант поможете разобрать?

C#
1
2
3
4
5
6
 if (convert_user[0] == convert_pc[0] || convert_user[1] == convert_pc[1] || convert_user[2] == convert_pc[2])
            {
                count++;
                label1.Text = "Ugadano:" + count;
                Console.WriteLine("Pervaja cifra sovpala");
            }
[0] - всё нормально проверяет и сравнивает
[1] [2] - выкидывает ошибку что вылез за пределы массива...Почему? Если convert_user и convert_pc = по 3 символа...Не въехать почему за массив выхожу...

Добавлено через 2 часа 4 минуты
Всё спасибо, сам разобрался
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.05.2011, 15:36
Помогаю со студенческими работами здесь

Установить курсор из файла *.cur имея Windows.Forms и Windows.Input
Имеется форма на Windows.Forms. Нужно заменить стандартный курсор, на курсор расположенный например по адресу 'C:\cursor.cur'. Как это...

Как переделать Windows Forms приложение в Windows Service с UI?
Здравствуйте, уважаемые посетители форума! Вопрос такой. У меня есть приложение C# Win Forms с интерфейсом. Как из него сделать...

Будут ли работать приложения написанные на Windows Forms на Windows 8
Будут ли работать приложения написанные на Windows Forms на Windows 8? И собсно еще вопрос, вы считаете что время Windows Forms...

Создание приложения Windows Forms на C++/CLI в Windows 8
Добрый день! Нужно создать windows приложение на Си++, стоит 8, на 2013 много заморочек с созданием windows forms. Не подскажите, можно ли...

Перенос приложения Windows Forms в Windows Market
Как с минимальными затратами времени перенести десктопное приложение на магазин Windows ? Есть ли какая то возможность Использовать тот же...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru