![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Tauka |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 28 Репутация: ![]() ![]() ![]() |
Дано n действительных чисел.
Как наиболее удобно реализовать ввод чисел последовательности, если вводить не из файла? С помощью какой компоненты и как? Спасибочки! -------------------- С уважением,
Таука. |
![]() ![]() |
xds |
![]()
Сообщение
#2
|
![]() N337 ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот пример ввода с помощью TMemo, для случая, когда числа должны разделяться пробельными символами (пробелы, табуляция, переводы строк):
Код procedure TForm1.Button1Click(Sender: TObject); var Data: array[0..999] of Integer; s: String; i, p: Integer; begin i := 0; p := 1; repeat if i >= 1000 then begin Application.MessageBox('Количество элементов не должно превышать 1000', 'Ошибка', MB_OK or MB_ICONERROR); Exit; end; while (p <= Length(Memo1.Text)) and (Memo1.Text[p] <= ' ') do Inc(p); s := ''; while (p <= Length(Memo1.Text)) and (Memo1.Text[p] > ' ') do begin s := s + Memo1.Text[p]; Inc(p); end; if s = '' then Break; try Data[i] := StrToInt(s); except Application.MessageBox('Ожидается целое', 'Ошибка', MB_OK or MB_ICONERROR); Memo1.SelStart := p - Length(s) - 1; Memo1.SelLength := Length(s); Memo1.SetFocus; Exit; end; Inc(i); until p >= Length(Memo1.Text); { Сделать что-нибудь полезное с Data (i - кол-во элементов) } end; -------------------- The idiots are winning.
|
![]() ![]() |
![]() |
Текстовая версия | 13.07.2025 13:25 |