Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Корректность имени файла. Как проверить? [D7]


Страницы:   1 2

CaptainAlex ©   (2005-10-18 13:07:00) 

Вводит нам пользователь имя файла в TEdit и говорит - а создай-ка мне такой файл. Есть ли стандартные средства для проверки его (имени) корректности.


begin...end   (2005-10-18 18:53:00) [21]

> CaptainAlex   (18.10.05 17:44) [5]

"У меня от Вас появляются седые волосы"
(с) моя школьная учительница физики

:-)


Fay   (2005-10-18 18:52:00) [22]

2 CaptainAlex   (18.10.05 17:44) [5]

Из приведённого кода следует, что Keyможет иметь несколько значений одновременно.
Странно это очень.

И как возникла такая необходимость делать спеременной?


CaptainAlex   (2005-10-18 18:21:00) [23]

Ну так с самого начала и спрашивал про стандартное решение...


Gugle   (2005-10-18 18:05:00) [24]

А не проще в SaveDialog поставить ofNoValidate = true ?!?

Зачем такие проблемы если есть все стандартное?


Джо   (2005-10-18 18:05:00) [25]

ЗЫ. Если на то пошло, слышал о set'ах?


Джо   (2005-10-18 18:04:00) [26]


>  [7] CaptainAlex   (18.10.05 17:56)

Тогда причем здесь "корректность имени файла" в постановке вопроса?


CaptainAlex   (2005-10-18 17:56:00) [27]


> 8-()
> Кстати, а почто обидел + ~ - ( ) и прочие?


У меня это имя программы в скрипте кроме прочего. Так что в моем случае это нужно именно в этом виде.А если говорить за имя файла в файловой системе, то таки да, треть символов из списка нужно исключить.


Джо   (2005-10-18 17:47:00) [28]


>  [5] CaptainAlex   (18.10.05 17:44)
> вот так сделал пока:

8-()
Кстати, а почто обидел + ~ - ( ) и прочие?


CaptainAlex   (2005-10-18 17:44:00) [29]

вот так сделал пока:
procedure TfrmProject.edtProjectNameKeyPress(Sender: TObject;
 var Key: Char);
var
 c: char;
begin
 c := chr(0);
 if Key = '.' then Key := c;
 if Key = ';' then Key := c;
 if Key = ':' then Key := c;
 if Key = '/' then Key := c;
 if Key = '\' then Key := c;
 if Key = '$' then Key := c;
 if Key = '%' then Key := c;
 if Key = '@' then Key := c;
 if Key = '!' then Key := c;
 if Key = '?' then Key := c;
 if Key = '*' then Key := c;
 if Key = '^' then Key := c;
 if Key = '&' then Key := c;
 if Key = '(' then Key := c;
 if Key = ')' then Key := c;
 if Key = '-' then Key := c;
 if Key = '=' then Key := c;
 if Key = '+' then Key := c;
 if Key = '[' then Key := c;
 if Key = ']' then Key := c;
 if Key = '{' then Key := c;
 if Key = '}' then Key := c;
 if Key = '''' then Key := c;
 if Key = '"' then Key := c;
 if Key = ' ' then Key := c;
 if Key = '#' then Key := c;
 if Key = '`' then Key := c;
 if Key = '~' then Key := c;
 if Key = '' then Key := c;
 if Key = ',' then Key := c;
end;


Ega23   (2005-10-18 13:48:00) [30]

2 Loginov Dmitry ©   (18.10.05 13:26) [3]

> Можно например так проверить:


Иногда лучше жевать, чем говорить


Loginov Dmitry   (2005-10-18 13:26:00) [31]

Можно например так проверить:

for I := 1 to Length(Edit1.Text) do
  if Edit1.Text[I] in ['\', '/', ':' и т.д.] then
    Halt();


Andy BitOff   (2005-10-18 13:21:00) [32]

Да был уже такой вопрос, давано правда, растянули там тягомотину всякую.

По сабжу, возьми и создай файл. Будет ошибка, проверь какая и все. Если ошибки нет, значит все чики-пуки.


Ega23   (2005-10-18 13:15:00) [33]

А что значит корректность?
Имя \\DBSrv\Data\test1.txt  - корректно или нет?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо