IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Последовательность, Ввод чисел
Tauka
сообщение 21.08.2004 17:30
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 28

Репутация: -  0  +


Дано n действительных чисел.
Как наиболее удобно реализовать ввод чисел последовательности, если вводить не из файла?
С помощью какой компоненты и как?

Спасибочки!


--------------------
С уважением,
Таука.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
xds
сообщение 22.08.2004 17:38
Сообщение #2


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


Вот пример ввода с помощью 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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 13.07.2025 13:25
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"