![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Программа меняет все значения, со знаком (=), в порядке убывания. А когда ввожу без знака ( =) то возникает ошибка.
И вот вопрос: Как, место сообщения Is not valid integer value - Вывести свой текст. К примеру, сообщение: "Внимание, вы ввели неправильные - значения". Прикрепил картинки: Код:
function MySort(L: TStringList; ind1, ind2: integer): integer;
var i1, i2: integer;
begin
i1 := StrToInt(L.ValueFromIndex[ind1]);
i2 := StrToInt(L.ValueFromIndex[ind2]);
if i1 = i2 then result := 0
else if i1 > i2 then result := 1
else result := -1;
end;
procedure TForm1.Button2Click(Sender: TObject);
var L: TStringList;
begin
L := TStringList.Create;
L.Text := Memo1.Text;
L.CustomSort(MySort);
Memo2.Text := L.Text;
L.Free;
end; |
|
#2
|
|||
|
|||
|
Код:
begin
Caption := '=';
try
i := StrToInt(Caption);
except on E: EConvertError do
begin
MessageDlg(PChar('Внимание, вы ввели неправильные - значения'), mtError, mbOKCancel, 0);
end;
end;
end; |
| Этот пользователь сказал Спасибо nixon232 за это полезное сообщение: | ||
Taras2020 (24.04.2018)
| ||
|
#3
|
||||
|
||||
|
Не очень хорошо в таком виде обрабатывать исключение. Метод прервется и динамически созданный TStringList не будет уничтожен - привет утечка.
Код:
procedure TForm1.Button2Click(Sender: TObject);
var L: TStringList;
begin
L := TStringList.Create;
try
L.Text := Memo1.Text;
try
L.CustomSort(MySort);
except
... обработка исключения ...
end;
Memo2.Text := L.Text;
finally
L.Free;
end;
end; |
| Этот пользователь сказал Спасибо dr. F.I.N. за это полезное сообщение: | ||
Taras2020 (25.04.2018)
| ||