Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
{ **** UBPFD *********** by delphibase.endimus.com **** >> Проверка на соответствие имени файла заданной маске Зависимости: sysutils Автор: Dmitry Raduzhan Copyright: Dmitry Raduzhan Дата: 24 марта 2004 г. ***************************************************** } functionFileMaskEquate(F, M: string
): boolean; var
Fl, Ml: byte; // length of file name and mask Fp, Mp: byte; // pointers begin
F := UpperCase(F); M := UpperCase(M); result := true; Fl := length(F); Ml := length(M); Fp := 1; Mp := 1; while
Mp <= Ml do
begin
// wildcard case
M[Mp] of
// '?': begin
// if one any char inc(Mp); // next char of mask inc(Fp); // next char of file name end
; // '*': begin
// if any chars if
Mp = Ml then
exit; // if last char in mask then exit if
M[Mp + 1] = F[Fp] then
begin
// if next char in mask equate char in Inc(Mp); // file name then next char in mask and end
else
begin
// else if
Fp = Fl then
begin
// if last char in file name then result := false; // function return false exit; // end
; // else, if not previous, then inc(Fp); // next char in file name end
; // end
; // else
begin
// other char in mask if
M[Mp] <> F[Fp] then
begin
// if char in mask not equate char in result := false; // file name then function return exit; // false end
; // else inc(Fp); // next char of mask inc(Mp); // next char of file name end
// end
; end
; end
;
Пример использования:
procedureTForm1.Button1Click(Sender: TObject); var
s: string
; begin
s := ExtractFileName(openDialog1.Files[0]); if
opendialog1.Execute then
begin
if
FileMaskEquate(s, Edit1.text) then
ShowMessage('Ok') else
ShowMessage('Failed'); end
; end
;