Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Delphi Задача со строкой http://www.cyberforum.ru/delphi-beginners/thread1316711.html
Здравствуйте, вот условие задачи: Найти в строке самое короткое и самое длинное слова. Подсчитать, сколько раз каждая буква слова встречается в этом слове. Первый пункт задачи(по нахождению самого...
Delphi Отображение русских букв в шифре Цезаря и шифре Атбаш Доброго времени суток. Нужна помощь в доработке приложения по шифрованию и дешифрование некой сточки на русском языке. У меня получается шифровать и дешифровать строчку. Нужно чтобы програма... http://www.cyberforum.ru/delphi-beginners/thread1316682.html
Delphi - Разработать структуру объекта "Гильотинные ножницы" Delphi
Объект должен иметь не менее пяти методов и не менее трех свойств
Дана произвольная строка, надо отсортировать по алфавиту Delphi
Я попытался сделать пузырьком, но безуспешно const n=1000; var Form2: TForm2; sn: array of string; sn_num, j, x, k ,m :integer; s, buf : string; implementation
Delphi Прошу, пожалуйста, проверить код согласно приложенной методике. В программировании я новичок http://www.cyberforum.ru/delphi-beginners/thread1316664.html
uses crt; var V, a, n, b, k, c, V1, d, h, c1, z, V2, c2, T, A1, W, y, s, F, g: real; begin if (V>1) and (V<=10) then a:=sqrt(V)*0.765; if (V>10) and (V<=20) then a:=sqrt(V)*0.645; if (V>20) and...
Delphi Написание теста в Delphi столкнулся с проблемой у меня вопросы к тесту хранятся в текстовом файле ,прочитать файл я смог только у меня выводит все вопросы сразу ,незнаю как сделать что б выводился в начале первый вопрос... подробнее
falcon178
0 / 0 / 1
Регистрация: 27.01.2014
Сообщений: 8
0

Проверка на совпадение + проверка строки на содержание спец. символов

02.12.2014, 00:18. Просмотров 1564. Ответов 2
Метки (Все метки)

В общем ситуация такая: есть типизированный файл, форма для добавления пользователей (которые пишутся в файл). Для записи данных использую record. Все записи пишу в динамический массив dataMas. При запуске проги появляется окно аутентификации (логин/пароль). Теперь суть проблемы:
1.
Delphi
1
2
3
4
5
6
7
8
9
10
11
   for i := Low(dataMas) to High(dataMas) do begin        
      if (dataMas[i].Name = EditLog.Text) And (dataMas[i].Password = EditPwd.Text) then begin
        if dataMas[i].Name = 'ADMIN' then FAdmin.Show  //открыть админскую форму
          else FUser.Show; //открыть пользовательскую форму
        FAuth.Hide;
        Exit;  
        end
        else begin //если введёного логина в файле нет, выводить ошибку.
            MessageDlg('Invalid login or password!', mtError, [mbOk],0 );
            Exit;
         end;//else
Если нет ветки else, то всё нормально работает (ну т.е. при неправильном логине ничего не происходит, а при совпадении открывается нужная форма). Если ветка else есть, то корректно определяет только первую запись (ADMIN), на остальные выдаёт ошибку. Не пойму в чём дело.

2.
И второй вопрос! Нужно проверить строку на наличие в ней знаков пунктуации и цифр.
Кликните здесь для просмотра всего текста

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
procedure TFUser.ButtonOKUClick(Sender: TObject);
var
  Login : String[15];
  Pwd : String[15];
  NewPwd : String[15];
 
  i : Integer;
  n : Integer; //счётчик проверки на ограничения
  ChkSymb :  Boolean; //флаг наличия знаков
  ChkNum : Boolean; //флаг цифр
 
  symb : array of char := ['.',',','-',':',';','!','?','(',')','"'];
  numbers : array of Integer := [0..9]; 
 
begin
  Label1.Hide;
  Login := FAuth.EditLog.Text;
  Pwd := FAuth.EditPwd.Text;
  ChkSymb := False;
  ChkNum := False;
 
  //SetLength(numbers,10);
 
  symb := ['.',',','-',':',';','!','?','(',')','"'];
  numbers := [0..9];
  if (EditOldPwd.Text = Pwd) And (EditNewPwd.Text = EditConPwd.Text) then begin
    for i := Low(dataMas) to High(dataMas) do
      if length(EditNewPwd.Text) < 8 then begin
        MessageDlg('The new password is less then 8 characters', mtError, [mbOk],0 );
        break;
      end;
      if dataMas[i].Name = Login then begin
       
        if dataMas[i].Restrictions = True then begin
          NewPwd := EditNewPwd.Text;
          for n:=1 to length(NewPwd) do begin
            if NewPwd[n] in symb then ChkSymb:=True;
            if NewPwd[n] in numbers then ChkNum:=True;
            if (ChkSymb = False) AND (ChkNum = False) then begin
              MessageDlg('the new password does not match the security policies ',
                mtError, [mbOk],0 );
              beep;
              EditNewPwd.Clear;
              EditConPwd.Clear;
              break;
            end;//if Chk
          end;//for
        end;//if Restrictions
 
      
        dataMas[i].Password := EditNewPwd.Text;
        dataMas[High(dataMas)].ChangePwd := False;
      end;//if


Выдаёт ошибку в строках:
if NewPwd[n] in symb then ChkSymb:=True;
if NewPwd[n] in numbers then ChkNum:=True;
И ругается на массив symb : array of char := ['.',',','-',':',';','!','?','(',')','"'];

Помогите пожалуйста.

Вернуться к обсуждению:
Проверка на совпадение + проверка строки на содержание спец. символов
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2014, 00:18
Готовые ответы и решения:

проверка содержимого строки символов
Имеется строка символов. Нужно программным путём определить состоит ли строка...

Проверка на совпадение с массивом
Есть какой-то рэндомно заполненный целочисленный массив. Берется он из файла. ...

Проверка в Srtinggrid вводимых данных на совпадение в строке
Всем привет!!! помогите кто чем может) В чём суть, имеется таблица в которой...

Проверка ввода символов
Всем доброго утра. Хочу спросить: кто знает, как запретить вставку текста из...

Проверка символов в строке
Народ помогите пожалуйста мне надо в переменной типа стринг, где у меня...

2
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru