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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.11.2011, 08:33
professor1979 professor1979 вне форума
Прохожий
 
Регистрация: 21.11.2011
Сообщения: 4
Репутация: 10
По умолчанию Программа проверки СНИЛС

Всем привет.
Помогите чайнику создать программулинку для корректности проверки ввода СНИЛС (ХХХ-ХХХ-ХХХ ХХ)
Есть вот такой код, взял с какого-то сайта:
Код:
function CheckSnils(Snilss: string): boolean;
//****************************************************
{|Проверка СНИЛС на корректность|}
const z = ord('0');
var nn,n0,n1,n2,n3,n4,n5,n6,n7,n8,n9: byte;
cc: Byte;
sm: integer;
begin
  result:= false;
  if Length(Snilss) <> 14 then exit;
  n0:= ord(Snilss[13])-z;
  nn:= ord(Snilss[14])-z;
  cc:= (n0 * 10) + nn;
  n1:= ord(Snilss[11])-z;
  n2:= ord(Snilss[10])-z;
  n3:= ord(Snilss[09])-z;
  n4:= ord(Snilss[07])-z;
  n5:= ord(Snilss[06])-z;
  n6:= ord(Snilss[05])-z;
  n7:= ord(Snilss[03])-z;
  n8:= ord(Snilss[02])-z;
  n9:= ord(Snilss[01])-z;
  sm:= ((n1 +2*n2 +3*n3 +4*n4 +5*n5 +6*n6 +7*n7 +8*n8 +9*n9) mod 101) mod 100;
  if sm <> cc then Exit;
  result:= true;
end;
Админ: Пользуемся тегами для оформления кода!

Можно будет его использовать или надо писать другой код?

Последний раз редактировалось Admin, 21.11.2011 в 09:49.
Ответить с цитированием
  #2  
Старый 21.11.2011, 09:18
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

добавляешь на форму edit, добавляешь событие onchange:
PHP код:
begin
  
if CheckSnils((sender as tedit).textthen
    caption 
:= 'правильный'
  
else 
    
caption := 'не-'
end
выше этого события сразу копируешь свой код
Ответить с цитированием
  #3  
Старый 21.11.2011, 09:58
professor1979 professor1979 вне форума
Прохожий
 
Регистрация: 21.11.2011
Сообщения: 4
Репутация: 10
Хорошо

Вот спасибо. Получилось. Только вот у меня созрел ещё один вопросик:
А как сделать, чтобы результат показывался не в заголовке окна, а на поле?
Ответить с цитированием
  #4  
Старый 21.11.2011, 10:15
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

лучше тогда кинуть на форму Shape и
caption := 'правильный'
заменить на Shape1.Brush.color := clLime
а caption := 'не-'
заменить на Shape1.Brush.color := clRed
Ответить с цитированием
  #5  
Старый 21.11.2011, 14:31
professor1979 professor1979 вне форума
Прохожий
 
Регистрация: 21.11.2011
Сообщения: 4
Репутация: 10
По умолчанию

Спасибо Pyro, очень помог.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter