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

Вниз

Как проверить является ли имя файла допустимым?   Найти похожие ветки 

 
Nikolai_S   (2002-12-16 16:30) [0]

Необходимо, чтобы в программе пользователь вводил имя файла, который далее будет создан программой. Как проверить является ли введенное пользователем имя файла допустимым?


 
Alexei113   (2002-12-16 16:34) [1]

Что значит Доступным - по корректности введенного имени или по
факту существует файл или нет ?


 
Reindeer Moss Eater   (2002-12-16 16:35) [2]

Вроде все просто: проверить на наличие во введенном имени недопустимых символов.
Правда в зависимости от тома, на котором будет сохраняться файл, набор недопустимых символов может сильно отличаться


 
FreeLancer   (2002-12-16 16:43) [3]

Проще всего пробовать его создать... try


 
Nikolai_S   (2002-12-16 16:48) [4]

Я имел в виду то, чтобы в имени файла содержались только допустимые символы. Как это проверить?
Если использовать try при создании, то тогда он ругнется на все, что будет не так: нет места на диске, нельзя записать в данную директорию и т.д. и т.п.
Нужна функция, которая просто обрабатывала бы строку с именем файла и выдавала True (если все ОК) или False (если строка содержит не допустимые для имени файла символы)


 
Alexei113   (2002-12-16 16:51) [5]

Попробуй создать массив некорректных символов а затем просто сверяй каждый введенный символ с содержимым массива...


 
Reindeer Moss Eater   (2002-12-16 16:53) [6]

Если файл предназначен для Windows, набор символов один и небольшой.
Если для тома NetWare3.x,то набор несколько иной.
А есть еще UNIX, DOS, .....


 
Anatoly Podgoretsky   (2002-12-16 17:01) [7]

Nikolai_S © (16.12.02 16:48)
Это сильно зависит от тома
На try он не ругнется, если ты после него поставишь except


 
Юрий Зотов   (2002-12-16 18:41) [8]

В Delphi (и в ее справке) есть функция MatchesMask.


 
Nikolai_S   (2002-12-19 11:09) [9]

Мне нужна проверка имен файлов только в Windows. А где узнать какие символы являются недопустимыми для имен файлов в Windows? И есть ли различия для разных Windows?


 
Anatoly Podgoretsky   (2002-12-19 11:15) [10]

У тебя проводник есть* Если есть, то пробуй переминовать и быстро у тебя будет этот список, это если конечно не хочешь покопаться у свалке у Микрософта
Но Windows это не файловая система, а ОС на которой могут быть установленные различные файловые системы. Вполне обычная с ситуация FAT, NTFS, CDFS, SMBFS


 
Reindeer Moss Eater   (2002-12-19 11:16) [11]

Попробуй в проводнике создать файл c именем "*.txt" и сразу увидишь полный набор недопустимых символов для Windows


 
Nikolai_S   (2002-12-19 11:25) [12]

Спасибо. Это помогло. В проводнике высвечивается полный список недопустимых символов


 
Anatoly Podgoretsky   (2002-12-19 11:35) [13]

Ketmar © (19.12.02 11:23)
Но ты особо не доверяй этой полноте, могут оказаться неожиданности, этот список для текущей версии файловой системы FAT


 
Nikolai_S   (2002-12-23 15:35) [14]

Но я не думаю, что следующая версия FAT запертит еще какие-нибудь символы. Ведь тогда невозможно будет перенести файлы из старой FAT в новую. Вряд ли на такое пойдут.


 
Smithson   (2002-12-23 16:47) [15]

Но могут разрешить. Плюс есть NTFS. Плюс есть Unicode (мать его) и сомволы национадбных языков...


 
Илайдж   (2002-12-23 16:52) [16]

Куда как проще не запрещать, а разрешать: a..z, A..Z,0..9 и все. Шаг влево - шаг вправо -> попытка обмануть программу ;)


 
Nikolai_S   (2002-12-24 11:50) [17]

2 Илайдж
Может так и проще... Но еще нужно и не только латинские символы разрешать. Так как имя файла у меня - это еще и заголовок сохраненного файла. Просто заставлять юзеров вводить отдельно заголовок и имя файла - слишком сложно для них будет. А вот если сразу ввести заголовок и сохранить данные в файл с таким же именем - то так проще. Потому и нужно запрещать ввод некоторых символов....


2 Smithson
У меня тут с после фразы "символы национадбных языков" появился еще вопрос: А что нужно сделать, чтобы разрабатываемый софт поддерживал все эти языки? Даже китайский, японский и другие примудрые языки (в которых справа налево пишут и т.д.)?




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

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

Наверх





Память: 0.48 MB
Время: 0.009 c
1-15039
MXA
2002-12-24 01:05
2003.01.06
OnCreate и OnActivate в Delphi7 CLX


14-15212
TTCustomDelphiMaster
2002-12-18 20:15
2003.01.06
Kaр Кар


14-15250
Axis_of_Evil
2002-12-16 11:17
2003.01.06
А есть ли среди местных геймеры ?


8-15169
Aric
2002-09-18 19:09
2003.01.06
Скроллинг изображения


7-15341
TRW
2002-10-26 13:26
2003.01.06
Новое соединение





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский