powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / в Textbox- е как обращаться только на цифры?
14 сообщений из 14, страница 1 из 1
в Textbox- е как обращаться только на цифры?
    #38173536
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый день!
Я работаю на Visual Basic.net 2010.
На форме есть два текстбок и кнопка:
1-TextBox1
2-TextBox1
3-Button1

В Textbox1 есть цифры и числи на пример FG4511H126.
Как сделать при нажатии кнопки на TextBox2 показал буквы тоже самое, а цифры (Каждые) умножение на два
Вот так должно получатся: FG81022H2412
За ранее Спасибо!
...
Рейтинг: 0 / 0
в Textbox- е как обращаться только на цифры?
    #38173550
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008Всем добрый день!
Я работаю на Visual Basic.net 2010.
На форме есть два текстбок и кнопка:
1-TextBox1
2-TextBox1
3-Button1

В Textbox1 есть цифры и числи на пример FG4511H126.
Как сделать при нажатии кнопки на TextBox2 показал буквы тоже самое, а цифры (Каждые) умножение на два
Вот так должно получатся: FG81022H2412
За ранее Спасибо!

за 1000руб сделаю
...
Рейтинг: 0 / 0
в Textbox- е как обращаться только на цифры?
    #38173554
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pation,
Пожалуйстааааа, сделайте бесплатно у меня денег нету!
...
Рейтинг: 0 / 0
в Textbox- е как обращаться только на цифры?
    #38173561
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008pation,
Пожалуйстааааа, сделайте бесплатно у меня денег нету!
на бесплатно у метя времени нету!
...
Рейтинг: 0 / 0
в Textbox- е как обращаться только на цифры?
    #38173564
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pation,

Ладно за это и Спасибо!
...
Рейтинг: 0 / 0
в Textbox- е как обращаться только на цифры?
    #38173585
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008,
Код: 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.
string get_multiply(string  s)
{
  List<byte> RESULT = new List<byte>();
            byte[] BB = Encoding.Default.GetBytes(s);
            int Q = 0;
            List<byte> BL = new List<byte>();
            while (true)
            {
                if (Q >= BB.Length) break;
                if (BB[Q] >= 48 && BB[Q] <= 57)
                {
                    while (true)
                    {
                        if (Q >= BB.Length) break;
                        if (BB[Q] >= 48 && BB[Q] <= 57) BL.Add(BB[Q]);
                        else break;
                        Q++;
                    }
                    string Val = Encoding.Default.GetString(BL.ToArray());
                    RESULT.AddRange(Encoding.Default.GetBytes((Convert.ToInt32(Val) * 2).ToString()));
                    BL = new List<byte>();
                    
                    continue;
                }
                RESULT.Add(BB[Q]);
                Q++;
            }
            return .......................
}


500 рублей для pation , и можно открыть последнюю строку )))
...
Рейтинг: 0 / 0
в Textbox- е как обращаться только на цифры?
    #38173590
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
beg-in-er,

Этот код не для VB.NET
...
Рейтинг: 0 / 0
в Textbox- е как обращаться только на цифры?
    #38173612
Syrex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
string s = textBox1.Text;
string s1 = "";
if (!string.IsNullOrEmpty(s)) {
   for (int i = 0; i < s.Length; i++) {
      if (Char.IsDigit(s[i])) s1 += (Convert.ToInt32(s[i) * 2);
      else s1 += s[i];
   }
   this.Text = s1;
}
...
Рейтинг: 0 / 0
в Textbox- е как обращаться только на цифры?
    #38173624
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Syrex,

Можно на VB.NET?
...
Рейтинг: 0 / 0
в Textbox- е как обращаться только на цифры?
    #38173634
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008, также можно с помощью регулярных выражений:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Imports System.Text.RegularExpressions
...
Private Function MultiplyByTwoEvaluator(ByVal match As Match) As String
    Return (Int32.Parse(match.Value) * 2).ToString()
End Function
...
Dim input As String = "FG4511H126"
input = Regex.Replace(input, "\d", (AddressOf MultiplyByTwoEvaluator))
...
Рейтинг: 0 / 0
в Textbox- е как обращаться только на цифры?
    #38173641
Syrex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008Syrex,

Можно на VB.NET?

Самостоятельно
...
Рейтинг: 0 / 0
в Textbox- е как обращаться только на цифры?
    #38173662
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-er
Код: c#
1.
2.
3.
byte[] BB = Encoding.Default.GetBytes(s);
...
if (BB[Q] >= 48 && BB[Q] <= 57)


Это яркий пример неправильной работы с кодировками. Во-первых, Encoding.Default возращает разную кодировку в зависимости от локализации Windows. Во-вторых, не всех кодировках коды цифр находятся в диапазоне 48-57. В-третьих, твой код исходит из того что одному символу всегда соответствует один байт, что неверно. В итоге работа кода начинает зависеть от локализации ОС и будет приводить к ошибкам.

Запусти этот пример:
Код: 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.
private static void Main(string[] args)
{
	const string digits = "0123456789";
	byte[] expectedDigitCodes = Encoding.ASCII.GetBytes(digits);
	DumpArray(expectedDigitCodes);

	int errorCount = 0;

	EncodingInfo[] encodings = Encoding.GetEncodings();
	foreach (EncodingInfo ei in  encodings)
	{
		Encoding enc = ei.GetEncoding();
		byte[] digitCodes = enc.GetBytes(digits);
		if (expectedDigitCodes.Length != digitCodes.Length)
		{
			errorCount++;
			Console.WriteLine("Legnth is different for encoding " + ei.Name);
			DumpArray(digitCodes);
			Console.WriteLine();
		}
		else
		{
			errorCount++;
			for (int i = 0; i < digitCodes.Length; i++)
			{
				if (digitCodes[i] != expectedDigitCodes[i])
				{
					Console.WriteLine("Unexpected values for " + ei.Name);
					DumpArray(digitCodes);
					Console.WriteLine();
					break;
				}
			}
		}
	}

	Console.WriteLine("Total encodings: {0}, errors: {1}", encodings.Length, errorCount);
}

private static void DumpArray(byte[] bytes)
{
	foreach (var b in bytes)
	{
		Console.Write("{0:X2} ", b);
	}
	Console.WriteLine();
}
...
Рейтинг: 0 / 0
в Textbox- е как обращаться только на цифры?
    #38173688
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile,
автор не всех кодировках коды цифр находятся в диапазоне 48-57.
я в курсе. даже очень.
для самых распространённых ASCII,UTF-8 нормально. Unicode давно не попадался .

более того , я дописал стандартные контролы, что бы они с клавиатуры заполняли символы „” ’ “ • · »« ¦§ …
ничего особлиго сложного , но зато часто очень полезно. в кодировке есть , а ввести нельзя.

так что не надо про
авторяркий пример неправильной работы с кодировками.

пс. некоторые символы тут не правильно показываются .
в частности: ” и “ это разные символы.
...
Рейтинг: 0 / 0
в Textbox- е как обращаться только на цифры?
    #38173741
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erя в курсе. даже очень.
Зачем тогда приводишь плохой пример?

beg-in-erтак что не надо про
яркий пример неправильной работы с кодировками.
Мое замечаение относится к твоему примеру кода, а не к тебе лично. Пример будет работать по разному при разных локализациях Windows. Это плохо. Syrex и я привели примеры как сделать правильнее.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / в Textbox- е как обращаться только на цифры?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]