PDA

Просмотр полной версии : Вопрос по кнопке


ultraz
28.10.2012, 23:26
Ребят такой вопрос вот я написал программу и возник вопрос как сделать чтоб при нажатии на кнопку действие выполнялось всего 2 раза например
(Объясню точней мне нужно чтоб человек мог жать кнопку 2-3 раза после запуска программы а не по 100 раз)

Sinyss
28.10.2012, 23:42
Ребят такой вопрос вот я написал программу и возник вопрос как сделать чтоб при нажатии на кнопку действие выполнялось всего 2 раза например
(Объясню точней мне нужно чтоб человек мог жать кнопку 2-3 раза после запуска программы а не по 100 раз)
Глобальную переменную и при каждом нажатии увеличивай ее на единицу, а потом проверку значения этой переменной...

ultraz
28.10.2012, 23:52
Глобальную переменную и при каждом нажатии увеличивай ее на единицу, а потом проверку значения этой переменной...
А можно проще объяснить я просто только изучаю этот язык пока не очень силен во всех этих терминах и тд

Sinyss
29.10.2012, 01:40
А можно проще объяснить я просто только изучаю этот язык пока не очень силен во всех этих терминах и тд
Потратьте пару часов на то что бы выучить теорию, это сэкономит вам кучу времени в будущем )

OrBiT_DaRk
30.10.2012, 09:51
Здесь вариантов очень много.
Я бы создал стринг, поставил ему значение 0, и при нажатии кнопки плюсовал бы 1. Если станет 2, выключил бы кнопку. /bonk

Sinyss
30.10.2012, 13:22
Я бы создал стринг, поставил ему значение 0, и при нажатии кнопки плюсовал бы 1. Если станет 2, выключил бы кнопку.
Стринг? а ты знаешь что после "плюсования 1" у тебя выйдет "01", а потом "011" и тд. то есть 2 у тебя никогда не будет....

ultraz
30.10.2012, 22:25
Так и не смог реализовать это в программе (
(и еще только что заметил что не там написал не в том разделе программу я пишу на C# а не на C++)

Sinyss
30.10.2012, 23:11
Так и не смог реализовать это в программе (
(и еще только что заметил что не там написал не в том разделе программу я пишу на C# а не на C++)
Мое возражение остается в силе...

OrBiT_DaRk
22.11.2012, 16:11
Стринг? а ты знаешь что после "плюсования 1" у тебя выйдет "01", а потом "011" и тд. то есть 2 у тебя никогда не будет....


Public Class Form1
Dim bt1 As String = 0
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
bt1 += 1
If bt1 = 2 Or bt1 = 1 Then
'Код
End If
End Sub
End Class

Sinyss
22.11.2012, 17:39
Public Class Form1
Dim bt1 As String = 0
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
bt1 += 1
If bt1 = 2 Or bt1 = 1 Then
'Код
End If
End Sub
End Class
Мои познания в бейсике весьма ограничены...
Но насколько я понимаю тут += это не конкатенация, и значит тут будет какое то суровое приведение типов характерное только бейсику )
А человек явно про С подобный код просил )

OrBiT_DaRk
22.11.2012, 20:04
Мои познания в бейсике весьма ограничены...
Но насколько я понимаю тут += это не конкатенация, и значит тут будет какое то суровое приведение типов характерное только бейсику )
А человек явно про С подобный код просил )
Переведет на си. Тут ничего сложного.

крайслер
22.11.2012, 20:38
Ну а если так:

Push++;
if(Push==0) { }
if(Push==1) { }
if(Push==2) { }
и на нужном клике блокировать кнопку или зациклить действие...

Или использовать switch по такому же методу...

Sinyss
22.11.2012, 21:41
Переведет на си. Тут ничего сложного.
Если он такой код написать не может то для него эта задача равносильно написанию собственного компилятора )

OrBiT_DaRk
22.11.2012, 22:07
Тык. ([Ссылки могут видеть только зарегистрированные и активированные пользователи])

Sinyss
23.11.2012, 14:00
Тык.
А вы сами тестировали эти сервисы? Как минимум в шарп оно конвертит не корректно:
using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
public class Form1
{
string bt1 = 0;
private void Button1_Click(System.Object sender, System.EventArgs e)
{
bt1 += 1;
if (bt1 == 2 | bt1 == 1) {
//Код
}
}
}
Вот еще:
string bt1 = 0;


private void Button1_Click(object sender, System.EventArgs e) {
bt1++;
if (((bt1 == 2)
|| (bt1 == 1))) {
// >4
}
}