Форум: "Основная";
Текущий архив: 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.008 c