Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
 Аватар для florgas
6 / 5 / 0
Регистрация: 28.09.2010
Сообщений: 366

Почему кнопка одноразовая?

29.04.2013, 23:05. Показов 1058. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
private: System::Void button4_Click(System::Object^  sender, System::EventArgs^  e) 
         {
            ifstream T_in(L"C:\\My dоcuments\\chatlog.txt");
            if (!T_in)
            {
                    String^ aas = gcnew String("Обновление чата не возможно...");
                    textBox1->Text = aas;
                    button4->Enabled = false;
            }
            else
            {
            
            char str[5000];
            for(int i = 0; !T_in.eof(); i++)
            {
                T_in.getline(str, 5000);
                if(i >= CHAT_COUNT)
                {
                    sprintf(str, "%s \n", str);
                    String^ conv = gcnew String(str);
                    textBox1->AppendText(conv);
                    CHAT_COUNT++;
                }
            }
            }
    T_in.close();
         }
Суть такая: после нажатия клавиши считать текстовый файл и вывести в TextBox. Все работает, но только одни раз. Если после нажатия клавиши очистить поле и снова ее нажать, то ничего не произойдет. Почему?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.04.2013, 23:05
Ответы с готовыми решениями:

Одноразовая кнопка!
Кто-нить может подсказать мне как сделать так, чтобы после нажатия на кнопку она больше не была активной? Заранее спасибо!

Одноразовая кнопка
Как сделать кнопку одноразовой, чтобы после нажатия на нее она блокировалась и нажать на неё повторно было нельзя?

Почему в коде указано, что " кнопка 1 " и " кнопка 2 " добавлены в центр, а они добавляются "по умолчанию"?
Вот мой код: import java.awt.*; import javax.swing.*; @SuppressWarnings("serial") public class App3 extends JApplet{ ...

3
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
30.04.2013, 00:51
Цитата Сообщение от florgas Посмотреть сообщение
после нажатия клавиши считать текстовый файл
При нажатии кнопки
C++
1
 i = 0;
а переменной CHAT_COUNT ноль не присваивается .
У вас Добавление строки в текстбокс возможно только при условии
C++
1
if(i >= CHAT_COUNT)
Потому при повторном нажатии ничего не происходит
0
128 / 86 / 10
Регистрация: 03.02.2011
Сообщений: 477
30.04.2013, 11:09
Цитата Сообщение от MrCold Посмотреть сообщение
При нажатии кнопки
C++
1
 i = 0;
а переменной CHAT_COUNT ноль не присваивается .
У вас Добавление строки в текстбокс возможно только при условии
C++
1
if(i >= CHAT_COUNT)
Потому при повторном нажатии ничего не происходит
у него этот if внутри цикла:
C++
1
for(int i = 0; !T_in.eof(); i++)
так что i у него всё равно снова будеот от 0 до конца.

Поставь точку останова на T_in.close(); запусти в дебаге, он на ней остановится?

Не по теме:

невозможно пишется слитно

0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
30.04.2013, 21:16
Цитата Сообщение от KokosSPb Посмотреть сообщение
у него этот if внутри цикла:
еще раз .
При повторном нажатии кнопки добавление в текстбокс будет
если обнулить, уменьшить CHAT_COUNT.
Или
если между нажатиями были добавлены строки в тестовый файл

Вот без файла ,
так при повторном нажатии текст в Тексбоксе будет добавляться
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
static int CHAT_COUNT = 0;
 
private: System::Void button4_Click(System::Object^  sender, System::EventArgs^  e) 
         {
             CHAT_COUNT = 0;
               for(int i = 0; i < 10; i++)
            {
                if(i >= CHAT_COUNT)
                {                   
                    textBox1->AppendText("Any String\r\n");  
                    CHAT_COUNT++;
                }
            }
 
         }
а так нет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
static int CHAT_COUNT = 0;
 
private: System::Void button4_Click(System::Object^  sender, System::EventArgs^  e) 
         {
               for(int i = 0; i < 10; i++)
            {
                if(i >= CHAT_COUNT)
                {                   
                    textBox1->AppendText("Any String\r\n");  
                    CHAT_COUNT++;
                }
            }
 
         }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.04.2013, 21:16
Помогаю со студенческими работами здесь

Почему не работает кнопка ?
#include &quot;stdafx.h&quot; #include &lt;windows.h&gt; LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch...

Почему не работает кнопка?
Доброе время суток. Пишу веб-калькулятор. Скажите, почему не работает кнопка сложения. Заранее спасибо. &lt;html&gt; &lt;head&gt; ...

Почему кнопка не работает?
В общем на кнопку нажимаю и ничего не происходит. #define RED 11 #define GREEN 9 #define BLUE 10 int buttonstate = 0; void...

Почему кнопка НЕ СТАНОВИТСЯ НЕВИДИМОЙ?
Среда Visual Basic STUDIO’2010 Professional Почему кнопка НЕ СТАНОВИТСЯ НЕВИДИМОЙ? Form1.Button12.Visible = False строка кода...

Почему кнопка ресет не реагирует?
Помогите пожалуйста. Где у меня ошибка? Почему не работает кнопка ресет? &lt;!DOCTYPE HTML PUBLIC &quot;-//W4C//DTD HTML 4.01...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru