Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.06.2012, 19:28
Silverstone Silverstone вне форума
Прохожий
 
Регистрация: 31.05.2012
Сообщения: 7
Репутация: 10
По умолчанию Delphi. Проверка введенного кода

Позиционная система кодирования информации. Необходимо провести проверку кода на изменение. Типа ввели признаки, они классифицируются и выводятся в Memo.
Если в Memo изменили полученный код, то должна выйти "ошибка, код не совпадает".

Может кто проверку эту помочь сделать?
У меня не получается провести проверку ( стоит на Button3)
Вложения
Тип файла: rar 6.rar (252.1 Кбайт, 3 просмотров)
Ответить с цитированием
  #2  
Старый 01.06.2012, 20:06
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

столько сложных слов
Ответить с цитированием
  #3  
Старый 01.06.2012, 20:15
Silverstone Silverstone вне форума
Прохожий
 
Регистрация: 31.05.2012
Сообщения: 7
Репутация: 10
По умолчанию

Ну если попытаться проще сформулировать, необходимо, чтобы при изменении текста в Мемо программа брякнула что-нибудь по этому поводу.

Честно, я сам не очень понимаю зачем это. Если мы уже изначально забили код, зачем нам его тогда изменять?!
Ответить с цитированием
  #4  
Старый 01.06.2012, 20:28
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

а может быть, что текст в memo изменён, но сообщение выводить не надо?
Ответить с цитированием
Этот пользователь сказал Спасибо Pyro за это полезное сообщение:
Silverstone (02.06.2012)
  #5  
Старый 01.06.2012, 20:47
Silverstone Silverstone вне форума
Прохожий
 
Регистрация: 31.05.2012
Сообщения: 7
Репутация: 10
По умолчанию

ну под сообщением я подразумеваю вывод в этом же поля слова "ошибки"
я думаю, необходимо то, что вы предложили
Ответить с цитированием
  #6  
Старый 01.06.2012, 21:17
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

сори, вобще ничего не понимаю
Ответить с цитированием
  #7  
Старый 02.06.2012, 01:09
Silverstone Silverstone вне форума
Прохожий
 
Регистрация: 31.05.2012
Сообщения: 7
Репутация: 10
По умолчанию

ну что, поможет кто?
вот код мой
Код:
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  
Старый 02.06.2012, 02:11
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Может достаточно обработать сообщение OnChange? Тогда не придётся городить такие проверки.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
Этот пользователь сказал Спасибо angvelem за это полезное сообщение:
Silverstone (02.06.2012)
  #9  
Старый 02.06.2012, 10:20
Silverstone Silverstone вне форума
Прохожий
 
Регистрация: 31.05.2012
Сообщения: 7
Репутация: 10
По умолчанию

а поточнее можно?
Ответить с цитированием
  #10  
Старый 02.06.2012, 12:42
m1sclick m1sclick вне форума
Начинающий
 
Регистрация: 04.07.2011
Адрес: Украина
Сообщения: 186
Версия Delphi: 2010
Репутация: 2094
По умолчанию

Код:
procedure TForm1.Memo1Change(Sender: TObject);
begin
  ShowMessage('Error!');
end;
Bargest: не забываем про теги оформления кода, читаем правила форума!

Последний раз редактировалось Bargest, 02.06.2012 в 17:37.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:19.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025