Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const NoValid = 'save';
- if Pos(Edit1.Text, NoValid) <> 0 then
- begin
- ShowMessage('Обрабатывать в файлы в указанной папке запрещено');
- Exit;
- end;
- // Получаем путь к запрещенной папке, без на конце
- restrictedPath := ExtractFilePath(Application.ExeName) + 'save';
- // Проверяемый путь приводим к стандартному виду,
- // чтобы нам не подсунули ".save" или "каталог программыsave..save"
- testPath := ExcludeTrailingPathDelimiter(ExpandFileName(Edit1.Text));
- if SysUtils.SameText(testPath, restrictedPath) then
- begin
- ShowMessage('Обрабатывать в файлы в указанной папке запрещено');
- Exit;
- end;
- procedure TForm1.Button1Click(Sender: TObject);
- var
- s, s1, s2: string;
- p, p2: integer;
- begin
- // Строка где ищем
- s := Edit1.Text;
- // Слово 1 по которому ищем (с большой буквы)
- s1 := 'Save';
- // Слово 1 по которому ищем (с маленькой буквы)
- s2 := 'save';
- // Осуществляем поиск в Edit используя функцию Pos
- p := pos(s1, s);
- p2 := pos(s2, s);
- { Проверка: Если в строке (Edit) существует слово - Save (с большой буквы) }
- if p > 0 then // если слово есть
- begin
- // если слово первое
- if ((p = 1) and (s[p + length(s1)] = ''))
- // или в середине
- or ((s[p - 1] = '') and ((s[p + length(s1)] = '')
- // или в конце
- or (p + length(s1) - 1 = length(s))))
- // Тогда очищаем Edit
- then Edit1.clear;
- // И выводим сообщение
- ShowMessage('Обрабатывать в файлы в указанной папке запрещено');
- // Выходим
- Exit
- end;
- { Проверка: Если в строке (Edit) существует слово - Save (с маленькой буквы) }
- if p2 > 0 then // если слово есть
- begin
- // если слово первое
- if ((p2 = 1) and (s[p2 + length(s2)] = ''))
- // или в середине
- or ((s[p2 - 1] = '') and ((s[p2 + length(s2)] = '')
- // или в конце
- or (p2 + length(s2) - 1 = length(s))))
- // Тогда очищаем Edit
- then
- Edit1.clear;
- // И выводим сообщение
- ShowMessage('Обрабатывать в файлы в указанной папке запрещено');
- // Выходим
- Exit
- end;
- end;
Add Comment
Please, Sign In to add comment