Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
1 / 1 / 0
Регистрация: 15.04.2022
Сообщений: 48

Ввод массива чисел в многострочном поле

27.07.2022, 12:24. Показов 5321. Ответов 64
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть вопрос, подскажите пожалуйста:
если я ввожу массив чисел А и В в столбик в многострочном поле
в Delphi, то фрагмент программы выглядит следующим образом:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.FormCreate(Sender: TObject);
begin
 Memo1.Clear; Memo2.Clear;
 Memo1.Lines.Add('A =');
 Memo1.Lines.Add('B =');
end;
procedure TForm1.Button1Click(Sender: TObject);
 var
  A,B,C:real;
begin
  A:=StrToFloat(Memo1.Lines.ValueFromIndex[0]);
  B:=StrToFloat(Memo1.Lines.ValueFromIndex[1]);
  C:=A+B;
  Memo2.Lines.Add('C= '+FloatToStr(C));
end;
а как записать тоже самое в Visual Basic.NET ?
т.е. ввод массива А и В в многострочном поле в VB.NET ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.07.2022, 12:24
Ответы с готовыми решениями:

Прокрутка в многострочном поле
Элемент разметки создан тегом textarea. Как сделать, чтоб когда много строк, чтоб появлялась вертикальная прокрутка, а когда текст не...

Удаление строки в многострочном поле
Решил добавить к каждой записи поле с историей. (Кто и когда ее изменял) Там в многострочном виде хранятся такие данные типа: ...

Работа с текстом в многострочном поле ввода
Создайте приложение для работы с текстом в многострочном поле ввода. В зависимости, от того, какая кнопка нажата, соответственно изменяется...

64
Любитель
 Аватар для Тим70
1072 / 784 / 161
Регистрация: 27.01.2019
Сообщений: 1,552
29.07.2022, 09:40
Студворк — интернет-сервис помощи студентам
Shackih, Вот вариант по совету Yury Komar, полосы прокрутки синхронизированы
Кликните здесь для просмотра всего текста
VB.NET
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
Public Class Form1
    Dim A(), SUM, PRO, RAZ As Double
    'Для синхронизации полос прокрутки от OVVA
    Const WM_USER As Integer = &H400
    Const EM_GETSCROLLPOS As Integer = WM_USER + 221
    Const EM_SETSCROLLPOS As Integer = WM_USER + 222
    Declare Function SendMessage Lib "user32.dll" Alias "SendMessageW" (ByVal hWnd As IntPtr, ByVal msg As Integer, ByVal wParam As Integer, ByRef lParam As Point) As Integer
    '…
    Private Sub RichTextBox1_VScroll(sender As Object, e As EventArgs) Handles RichTextBox1.VScroll
        Dim pt As Point
        SendMessage(RichTextBox1.Handle, EM_GETSCROLLPOS, 0, pt)
        SendMessage(RichTextBox2.Handle, EM_SETSCROLLPOS, 0, pt)
    End Sub
 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        For i = 0 To 98
            RichTextBox2.Text &= "A(" & i & ")=" & vbNewLine
            Button2.Enabled = False
        Next
    End Sub
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ListBox1.Items.Clear()
        Button2.Enabled = True
        Try
            'oчищаем переменные
            PRO = 1
            SUM = 0
            'Удаляем пустые строки
            RichTextBox1.Text = RichTextBox1.Text.Replace(New Char() {vbLf, vbCr}, "").TrimEnd(New Char() {vbLf, vbCr})
            RichTextBox1.Text = RichTextBox1.Text.Replace(".", ",") 'меняем точки на запятые
 
            For i = 0 To RichTextBox1.Lines.Count - 1
                ReDim Preserve A(i) 'Инициализируем массив
                A(i) = CDbl(RichTextBox1.Lines(i))
                ListBox1.Items.Add("A(" & i & ")=" & A(i))
                SUM += A(i)
                PRO *= A(i)
            Next
            ListBox1.Items.Add("Сумма=" & SUM)
            ListBox1.Items.Add("Произведение=" & PRO)
        Catch ex As Exception
            '  MsgBox(ex.ToString)
        End Try
 
    End Sub
 
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        RAZ = A(0)
        For i = 1 To UBound(A) - 1
            RAZ -= A(i)
        Next
        ListBox1.Items.Add("Разность=" & RAZ)
    End Sub
End Class
Миниатюры
Ввод массива чисел в многострочном поле  
Вложения
Тип файла: rar Поле1.rar (51.4 Кб, 3 просмотров)
2
1 / 1 / 0
Регистрация: 15.04.2022
Сообщений: 48
29.07.2022, 10:06  [ТС]
Спасибо. Программу получил. Текст кода проанализировал. Он также решает задачу. Буду применять в своей работе.
Но программа с двумя многострочными полями TextBox1 и TextBox2 чуть проще.
Еще раз спасибо за помощь.
0
Любитель
 Аватар для Тим70
1072 / 784 / 161
Регистрация: 27.01.2019
Сообщений: 1,552
29.07.2022, 10:45
Shackih, Если Вы нашли ответ на свой вопрос,то в этом посте нажмите кнопку Лучшее решение!
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4375 / 3445 / 512
Регистрация: 27.01.2014
Сообщений: 6,267
29.07.2022, 11:41
Тим70, если скролл на оба текстовых поля, тогда, я бы выбрал отдельный компонент ScrollBar, расположил бы его справа от всех и прокручивал бы все 3 поля одновременно.

Но если всетаки нужна именно такого рода реализация, то, Shackih, помотрите в сторону табличного представления данных, типа ListView или DataGridView, а результат выводить внизу в отдельном поле снизу, например.
А "имена переменных" А,Б,В и.т.д. сделать как заголовки строк в таблице, если выбирать DataGridView.
2
Любитель
 Аватар для Тим70
1072 / 784 / 161
Регистрация: 27.01.2019
Сообщений: 1,552
29.07.2022, 12:01
Yury Komar, Спасибо за советы,но я толком со ScrollBar никогда не работал,просто это не было нужно.Поэтому знаний по нему у меня нет.
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4375 / 3445 / 512
Регистрация: 27.01.2014
Сообщений: 6,267
29.07.2022, 16:01
Тим70, Вот как раз и поупражняетесь
0
Любитель
 Аватар для Тим70
1072 / 784 / 161
Регистрация: 27.01.2019
Сообщений: 1,552
29.07.2022, 16:14
Цитата Сообщение от Yury Komar Посмотреть сообщение
если скролл на оба текстовых поля, тогда, я бы выбрал отдельный компонент ScrollBar, расположил бы его справа от всех и прокручивал бы все 3 поля одновременно.
Вот и ищю ,как это сделать.Пока безуспешно.
0
4709 / 3662 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
29.07.2022, 20:32
Судя по последним вводным, использование DataGridView наилучший вариант. Приведу пример.
Кликните здесь для просмотра всего текста
VB.NET
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
Public Class Form4
    Private n As Integer
    Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        n = 10 
        With DataGridView1
            .Columns.Add("nm", "Name")
            .Columns.Add("vv", "Value")
            .Columns(1).ValueType = GetType(Double)
            For i = 0 To n - 1
                .Rows.Add({"a" & (i + 1).ToString, 0})
            Next
            .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
            .Rows.Add(1)
        End With
    End Sub
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Sample("Max")
    End Sub
 
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Sample("Sum")
    End Sub
 
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Sample("Average")
    End Sub
 
    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Sample("Multiplication")
    End Sub
 
    Private Sub Sample(tt As String)
        Dim aa(n - 1) As Double
        For i = 0 To n - 1
            aa(i) = DataGridView1.Rows(i).Cells(1).Value
        Next
        DataGridView1.Rows(n).Cells(0).Value = tt & " ="
        Select Case tt
            Case "Max"
                DataGridView1.Rows(n).Cells(1).Value = aa.Max
            Case "Sum"
                DataGridView1.Rows(n).Cells(1).Value = aa.Sum
            Case "Average"
                DataGridView1.Rows(n).Cells(1).Value = aa.Average
            Case "Multiplication"
                DataGridView1.Rows(n).Cells(1).Value = aa.Aggregate(Function(t1, t2) t1 * t2)
        End Select
        DataGridView1.FirstDisplayedCell = DataGridView1.Rows(n).Cells(0)
        DataGridView1.Rows(n).Cells(1).Selected = True
    End Sub
End Class
Изображения
  
2
1 / 1 / 0
Регистрация: 15.04.2022
Сообщений: 48
30.07.2022, 08:32  [ТС]
Примечание: такие тексты кодов (к тому же без комментариев) - это "темный лес" для новичка.
И здесь нет двух многострочных полей ввода(вывода), - я не зациклился на двух многострочных полях,
просто так надо по задаче. Ваш первый вариант кода остается в приоритете, за него спасибо.
0
Любитель
 Аватар для Тим70
1072 / 784 / 161
Регистрация: 27.01.2019
Сообщений: 1,552
30.07.2022, 08:37
Shackih, Если хотите сказать за какое то предложение спасибо,нажмите в этом посте кнопку +1 Спасибо!
0
1 / 1 / 0
Регистрация: 15.04.2022
Сообщений: 48
30.07.2022, 09:36  [ТС]
Я понял.
1
1 / 1 / 0
Регистрация: 15.04.2022
Сообщений: 48
19.08.2022, 01:10  [ТС]
А как этот код будет выглядеть в Visual C++/CLI ?
(То есть код для решения сформулированной выше задачи ввода-вывода в двух многострочных полях.)
Или этот вопрос здесь не правомерен ? - вопрос к администрации.
Если этот вопрос здесь не правомерен, то как его адресовать в раздел по Visual C++/CLI ?
Или там его нужно формулировать с "чистого листа" ?
Заранее благодарен.
0
Любитель
 Аватар для Тим70
1072 / 784 / 161
Регистрация: 27.01.2019
Сообщений: 1,552
19.08.2022, 04:58
Цитата Сообщение от Shackih Посмотреть сообщение
Если этот вопрос здесь не правомерен, то как его адресовать в раздел по Visual C++/CLI ?
Или там его нужно формулировать с "чистого листа" ?
Именно так,создайте там новую тему.В этом разделе Вам врятли ответят.

Добавлено через 7 минут
Это совершенно разные языки.
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4375 / 3445 / 512
Регистрация: 27.01.2014
Сообщений: 6,267
19.08.2022, 05:19
Shackih, Создайте новую тему с четко изложенным вопросом в нужном Вам разделе, так же можете приложить ссылку на эту тему, чтоб форумчане имели представление о том, что вам действительно нужно.
0
1 / 1 / 0
Регистрация: 15.04.2022
Сообщений: 48
19.08.2022, 08:17  [ТС]
Подскажите, если не трудно, как прикладывается ссылка.
Напишите пример.
0
Любитель
 Аватар для Тим70
1072 / 784 / 161
Регистрация: 27.01.2019
Сообщений: 1,552
19.08.2022, 09:20
Лучший ответ Сообщение было отмечено Shackih как решение

Решение

Shackih, Копируете нужную ссылку в Буфер обмена.
Нажмите кнопку.
В появившемся окне вставьте ссылку и нажмите ОК.
Миниатюры
Ввод массива чисел в многострочном поле   Ввод массива чисел в многострочном поле   Ввод массива чисел в многострочном поле  

1
Модератор
Эксперт .NET
 Аватар для Yury Komar
4375 / 3445 / 512
Регистрация: 27.01.2014
Сообщений: 6,267
19.08.2022, 09:56
Лучший ответ Сообщение было отмечено Shackih как решение

Решение

Shackih, Тим70, если это ссылка на тему данного форума, то можно просто вставить ее как текст. Форум сам подтянет название темы и использует его как имя ссылки.
2
21.08.2022, 21:00

Не по теме:

Yury Komar, Подскажите ,пожалуйста,а как вставить ссылку не на тему,а на какой нибудь пост в теме?

0
21.08.2022, 21:58

Не по теме:

Тим70, ПКМ по номеру поста, Копировать адрес ссылки, вставить в редактор.
Ваш пост номер 58 https://www.cyberforum.ru/post16411960.html

а если permalink то будет показывать с того поста, что вставили и дальше, если там есть посты.
Вот Ввод массива чисел в многострочном поле

1
22.08.2022, 08:07

Не по теме:

January29, Спасибо.Все оказалось просто.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.08.2022, 08:07

Приложение позволяет управлять работой с текстом в многострочном поле ввода
Помогите сделать лабу 2. Приложение позволяет управлять работой с текстом в многострочном поле ввода. Два флажка позволяют...

Как раскрасить только кусок текста в многострочном поле Text()?
Есть код: from Tkinter import * root=Tk() n=Text(root,font="Verdana 16",width=300,wrap=WORD) #хочу выделить первую строку красным...

Создайте приложение для работы с текстом в многострочном поле ввода
Помогите сделать лабу 3. Создайте приложение для работы с текстом в многострочном поле ввода. В зависимости, от того, какая кнопка...

Ввод и вывод элементов массива. Вывести на экран все четные элементы массива из n целых чисел. Ввод элементов массива, осуществляется вручную с клавы
Ввод и вывод элементов массива. Вывести на экран все четные элементы массива из n целых чисел. Ввод элементов массива, осуществляется...

Ввод в текстовое поле чисел с плавающей точкой
Добрый вечер. Подскажите пожалуйста как можно сделать проверку на ввод в текстовое поле чисел с плавающей точкой ( причем разделительный...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru