|
if (Code <> 0) or (N > MaxSizeVector) then
Begin
MessageDlg (StrN+' - Ошибка в задании размера вектора',
mtError, [mbOk], 0);
EdtSizeVector.SetFocus;
End
Else
Begin
edtVector.Text:= edtVector.Text +' ';
Kol:= 0;
for i:= 1 to Length (edtVector.Text)-1 do
if (edtVector.Text[i]=' ') and (edtVector.Text[i+1] <>' ') then Kol:=Kol+1;
if edtVector.Text[1] <>' ' then Kol:= Kol+1;
if Kol < N then
Begin
MessageDlg ('Число элементов вектора меньше '+#13+
'заданного размера вектора', mtError, [mbOk], 0);
EdtVector.SetFocus;
Exit;
End;
if Kol > N then
Begin
MessageDlg ('Число элементов вектора больше '+#13+
'заданного размера вектора', mtError, [mbOk], 0);
EdtVector.SetFocus;
Exit;
End;
for i:= 1 to N do
Begin
StrI:= SelectNumber (edtVector.Text, i);
Val (StrI, V[i], Code);
if Code <> 0 then
Begin
MessageDlg (StrI+' - неправильное целое число',
mtError, [mbOk], 0);
EdtVector.SetFocus;
Exit
End
End;
MessageDlg ('Количество введенных элементов равно ' +StrN,
mtInformation, [mbOk], 0);
btnVectorWork.Enabled:= True;
End;
End;
Обработчик события “нажатие на кнопку “Ввод матрицы”обеспечиваетввод и контроль размеров матрицы из полей Edit и ввод из поля Memo самих элементов матрицы. Обработчик использует функцию SelectNumber иметод SetFocus, обеспечивающий позиционирование курсора в соответствующие поля редактирования. Функция Trim предварительно удаляет лидирующие и хвостовые пробелы из строки текста. Свойство Enabled запрещает использование кнопки “Транспонирование матрицы “ до ее ввода:
procedure TForm1.btnMatrixClick(Sender: TObject);
Var
i, j: Integer;
StrRow, StrColumn: string[5];
Code: Integer;
Stroka, StrJ: string;
Begin
StrRow:= edtSizeRow.Text;
Дата добавления: 2015-07-10; просмотров: 55 | Нарушение авторских прав