![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Позиционная система кодирования информации. Необходимо провести проверку кода на изменение. Типа ввели признаки, они классифицируются и выводятся в Memo.
Если в Memo изменили полученный код, то должна выйти "ошибка, код не совпадает". Может кто проверку эту помочь сделать? У меня не получается провести проверку ( стоит на Button3) |
|
#2
|
|||
|
|||
|
столько сложных слов
![]() |
|
#3
|
|||
|
|||
|
Ну если попытаться проще сформулировать, необходимо, чтобы при изменении текста в Мемо программа брякнула что-нибудь по этому поводу.
Честно, я сам не очень понимаю зачем это. Если мы уже изначально забили код, зачем нам его тогда изменять?! |
|
#4
|
|||
|
|||
|
а может быть, что текст в memo изменён, но сообщение выводить не надо?
|
| Этот пользователь сказал Спасибо Pyro за это полезное сообщение: | ||
Silverstone (02.06.2012)
| ||
|
#5
|
|||
|
|||
|
ну под сообщением я подразумеваю вывод в этом же поля слова "ошибки"
я думаю, необходимо то, что вы предложили |
|
#6
|
|||
|
|||
|
сори, вобще ничего не понимаю
|
|
#7
|
|||
|
|||
|
ну что, поможет кто?
вот код мой Код:
I:=0;
found :=false;
while (i< memo1.Lines.Count) and (not found) do
begin
j:=1;
while (memo1.Lines[i][j]<>'0') and (j<length(memo1.Lines[i])) and (not found) do
begin
if trystrtoint(memo1.lines[i][j],p) then found:=true;
if not found then inc(j);
end;
if not found then inc(i);
end;
v:='';
l:=0;
if found then
begin
v:=copy(memo1.Lines[i],j,3);
if TryStrToInt(v,p) then l:=l+strtoint(v);
v:=copy(memo1.Lines[i],j+4,2);
if TryStrToInt(v,p) then l:=l+strtoint(v);
v:=copy(memo1.Lines[i],j+7,2);
if TryStrToInt(v,p) then l:=l+strtoint(v);
v:=copy(memo1.Lines[i],j+10,2);
p:=0;
TryStrToInt(v,p);
if (round((l)/5*10)-5)<>p then
Memo1.Lines[i]:=Memo1.Lines[i]+'ОШИБКА ВВОДА';
end; |
|
#8
|
||||
|
||||
|
Может достаточно обработать сообщение OnChange? Тогда не придётся городить такие проверки.
|
| Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
Silverstone (02.06.2012)
| ||
|
#9
|
|||
|
|||
|
а поточнее можно?
|
|
#10
|
|||
|
|||
|
Код:
procedure TForm1.Memo1Change(Sender: TObject);
begin
ShowMessage('Error!');
end;Последний раз редактировалось Bargest, 02.06.2012 в 17:37. |