Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2008, 18:41   #1
ANTI1
 
Регистрация: 12.10.2008
Сообщений: 4
По умолчанию Ограничение на ввод символов

помогите пожалуйста ограничить сделать в программе ограничение...дело в том есть у меня код программы который я нашел на этом же сайте но там берутся все символы, а мне нужно чтобы программа брала тольво вот эти симболы "а б в г д е ё ж з и" програма вообше считает шифрование по методу виженера вот сам код..
шифрование:
Код:
procedure TForm1.Button1Click(Sender: TObject);

Var
res:String;
i,j:Word;
begin
If Edit1.Text='' then
  begin
  ShowMessage ('Не введен "ключ". Продолжение НЕВОЗМОЖНО!');
  Exit;
  end;
If Edit2.Text='' then
  begin
  ShowMessage ('Не введено "слово". Продолжение НЕВОЗМОЖНО!');
  Exit;
  end;
SetLength (res,Length (Edit2.Text)); {Динамически устанавливается длина строки "Edit2.Text" и динамический массив "res"}
i:=1;
j:=1;
Repeat
Res[i]:=Chr (Ord (Edit2.Text[i])+Ord(Edit1.Text[j]));
Inc (i);
Inc(j);
If j>length (Edit1.Text) then
j:=1;
Until i>Length (Edit2.Text);
Edit3.Text:=res;

рас шифрование: 

procedure TForm1.Button2Click(Sender: TObject);
Var
text:String;
i,j:Word;
begin
If Edit1.Text='' then
  begin
  ShowMessage ('Не введен "ключ". Продолжение НЕВОЗМОЖНО!');
  Exit;
  end;
If Edit2.Text='' then
  begin
  ShowMessage ('Не введено "слово". Продолжение НЕВОЗМОЖНО!');
  Exit;
  end;
SetLength (text,Length (Edit2.Text));
i:=1;
j:=1;
Repeat
text[i]:=Chr(Ord (Edit2.Text[i])-Ord (Edit1.Text[j]));
Inc(i);
Inc(j);
If j>Length (Edit1.Text)then
j:=1;
Until i>Length (Edit2.Text);
Edit4.Text:=text;

end;

Последний раз редактировалось rpy3uH; 14.12.2008 в 19:21.
ANTI1 вне форума Ответить с цитированием
Старый 14.12.2008, 22:15   #2
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Можно пройтись циклом по всех символах и сравнить:

Код:
function checkwww(str:string):boolen;
var n:integer;
     s:string;
begin
  result:=true;
  for n:=1 to length(str) do begin
    s:=str[n];
    case s of
       'а' ,'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и':{чтонибудь} else result:=false;
    end;
  end;
end;
То есть если хоть одна буква не из а...и то цикл будет испорчен.
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 17.12.2008, 15:39   #3
ANTI1
 
Регистрация: 12.10.2008
Сообщений: 4
По умолчанию

Dj_smart спасибо тебе большое..но понимаешь такое дело я плоховато соображаю куда вставить этот осколок от проги чтобы она заработала.. ( если можешь выложи полность код со своим куском в нем...
ANTI1 вне форума Ответить с цитированием
Старый 17.12.2008, 15:55   #4
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Код:
function checkwww(str:string):boolen;
var n:integer;
     s:string;
begin
  result:=true;
  for n:=1 to length(str) do begin
    s:=str[n];
    case s of
       'а' ,'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и':{чтонибудь} else result:=false;
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);

Var
res:String;
i,j:Word;
begin
If checkwww(Edit1.Text)=false then
  begin
  ShowMessage ('Ключ содержит недопустимые символы. Продолжение НЕВОЗМОЖНО!');
  Exit;
  end;
If checkwww(Edit2.Text)=false then
  begin
  ShowMessage ('Слово содержит недопустимые символы. Продолжение НЕВОЗМОЖНО!');
  Exit;
  end;
If Edit1.Text='' then
  begin
  ShowMessage ('Не введен "ключ". Продолжение НЕВОЗМОЖНО!');
  Exit;
  end;
If Edit2.Text='' then
  begin
  ShowMessage ('Не введено "слово". Продолжение НЕВОЗМОЖНО!');
  Exit;
  end;
SetLength (res,Length (Edit2.Text)); {Динамически устанавливается длина строки "Edit2.Text" и динамический массив "res"}
i:=1;
j:=1;
Repeat
Res[i]:=Chr (Ord (Edit2.Text[i])+Ord(Edit1.Text[j]));
Inc (i);
Inc(j);
If j>length (Edit1.Text) then
j:=1;
Until i>Length (Edit2.Text);
Edit3.Text:=res;

рас шифрование: 

procedure TForm1.Button2Click(Sender: TObject);
Var
text:String;
i,j:Word;
begin
If Edit1.Text='' then
  begin
  ShowMessage ('Не введен "ключ". Продолжение НЕВОЗМОЖНО!');
  Exit;
  end;
If Edit2.Text='' then
  begin
  ShowMessage ('Не введено "слово". Продолжение НЕВОЗМОЖНО!');
  Exit;
  end;
If checkwww(Edit1.Text)=false then
  begin
  ShowMessage ('Ключ содержит недопустимые символы. Продолжение НЕВОЗМОЖНО!');
  Exit;
  end;
If checkwww(Edit2.Text)=false then
  begin
  ShowMessage ('Слово содержит недопустимые символы. Продолжение НЕВОЗМОЖНО!');
  Exit;
  end;
SetLength (text,Length (Edit2.Text));
i:=1;
j:=1;
Repeat
text[i]:=Chr(Ord (Edit2.Text[i])-Ord (Edit1.Text[j]));
Inc(i);
Inc(j);
If j>Length (Edit1.Text)then
j:=1;
Until i>Length (Edit2.Text);
Edit4.Text:=text;
end;
кстати спасибо в карман не положишь)
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 17.12.2008, 16:30   #5
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Так не относительно темы... а просто относительно синтаксиса...

'а' ,'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и': заменить на 'a'..'и': лучше ведь смотрится ?
BOBAH13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ограничение по вводу символов в Edit-e Alexij Общие вопросы Delphi 1 26.06.2008 16:27
Ограничение ввода символов. Delphi Alex_2017 Общие вопросы Delphi 2 05.06.2008 18:45
Ограничение ввода символов. Delphi Alex_2017 Помощь студентам 0 04.06.2008 17:26
Ограничение на вводимое кол-во символов??? serjii Microsoft Office Excel 3 05.10.2007 10:55
ввод нестандартных символов Freedom Общие вопросы Delphi 10 16.11.2006 17:56