Створіть проєкт який визначає скільки разів на тиждень температура була вище нуля. Результати вимірювання містяться у багаторядковому текстове полі. Результат вивести у напис. (для Lazarus)
Ответы
Ответ:
1. Додайте на форму компоненти TEdit (назва edData), TMemo (назва mmResult) та TButton (назва btnCount).
2. Визначте оброблювач натискання кнопки btnCount. У програмі цей оброблювач може мати такий вигляд:
procedure TForm1.btnCountClick(Sender: TObject);
var
i, count: Integer;
tokens: TStringList;
begin
count := 0;
tokens := TStringList.Create;
try
// Розділити введені дані на рядки
tokens.Text := edData.Text;
// Порахувати кількість температур вище нуля
for i := 0 to tokens.Count - 1 do
if StrToFloatDef(tokens[i], NaN) > 0 then
Inc(count);
// Вивести результат
mmResult.Lines.Add(Format('Температура була вище нуля %d разів.', [count]));
finally
tokens.Free;
end;
end;
3. В цьому оброблювачі використовується об'єкт TStringList, щоб розділити введені дані. Додайте код в оброблювач події OnCreate форми, щоб уникнути можливих проблем з даними у рядку, де виконуються дії з розділенням та підрахунком.
procedure TForm1.FormCreate(Sender: TObject);
begin
DecimalSeparator := '.';
end;
4. Тепер, якщо рядок даних виглядає наступним чином (для прикладу):
10
-5
20.5
15
0
Тоді після натискання кнопки ми повинні побачити такий результат: "Температура була вище нуля 3 разів."
Объяснение: