Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.07.11;
Скачать: [xml.tar.bz2];

Вниз

Проверка имени файла   Найти похожие ветки 

 
Ilg   (2005-06-21 21:32) [0]

Здравствуйте!
Есть ли возможность проверить правильность имени файла до сохранения или чтения, т. е., например, не содержит ли имя запрещенных символов. (Что-то типа IsValidIdent)?
Заранее, Большое Спасибо!


 
Sulimxar ©   (2005-06-21 22:57) [1]

Вроде не встречал, но накрайняк можно сделать что-то вроде этого
(библиотечная функция наверняка будет делаеть что-то наподобие, хоть конечно это "тупо влоб")

function IsValidName(s: string): boolean;
begin
  Result := true;
  len := Length(s);
  if len > 0 then
   begin
      i := 0;
      repeat
         inc(i);
         Result := not (s[i] in ["*", "?" {, другие запрещённые символы}]);
      until not Result or (i = len)
   end;
end;

вобщем что-то в таком духе...


 
ANB ©   (2005-06-21 23:11) [2]

Я обычно пробую его создать и проверяю на ошибку. Если создался - можно удалить. Чтобы не мешал - можно завести пустой каталог в каталоге программы.


 
Virgo_Style ©   (2005-06-21 23:15) [3]

Помнится, была такая тема, но найти ее я не смог, если хочешь - поищи, может, тебе повезет =)

Насколько я помню, остановились на том, что точный результат можно получить только экспериментально. К примеру, "A:\file.txt" - корректное имя? А если диска нет в дисководе? А если есть, но защищен от записи? А если на нем места не хватит? И так далее в том же духе.

Если же нужна именно предпроверка на корректность имени - то, видимо, нужно что-то вроде [1].


 
Sulimxar ©   (2005-06-21 23:15) [4]

2ANB
В ТЗ сказано "проверить правильность имени файла до сохранения или чтения" ;-) А то может у него диск для записи закрыт...
Ну а вообще так пожалуй действительно все и делают :-)


 
Faraday   (2005-06-22 07:34) [5]

Для чтения - FileExists(PathToFile).
Для записи удобнее юзать диалог SaveFile - он сам все проверит.


 
Anatoly Podgoretsky ©   (2005-06-22 08:25) [6]

Sulimxar ©   (21.06.05 23:15) [4]
Это не ТЗ, в ТЗ должно быть дано полное толкование правильность имени

Которое и на фиг не нужно, поскольку ничего не дает ни гарантии чтения, ни гарантии записи и даже ни гарантии видимости.


 
-=XP=- ©   (2005-06-22 09:46) [7]

"Чтобы почувствовать вкус груши, надо ее попробовать." (С) Кажись-это-был-Конфуций



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.07.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.038 c
4-1115983214
Бульбаш
2005-05-13 15:20
2005.07.11
Каким образом можно получить email пользователя?


3-1117356716
_RusLAN
2005-05-29 12:51
2005.07.11
Firebird Embedded 1.5. Не могу подключиться.


6-1112696972
lexales
2005-04-05 14:29
2005.07.11
7 Файлов


14-1116828273
Priest
2005-05-23 10:04
2005.07.11
Кто-нибудь качал Update 3 для D2005


1-1119509721
r9000
2005-06-23 10:55
2005.07.11
Вопрос по word-у





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский