![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пробел в начале имени файла... [D7, Win95/98, WinXP]
dimak © (2008-04-26 23:28:00)Имя файла имеет пробел в начале(про который я не знаю)...
Мои действия:
.....
var
log : TFileStream;
file_name : String;
...
...
if OpenDialog.Execute then log := TFileStream.Create(OpenDialog.FileName, fmOpenRead)
else exit;
...
...
При таком открытии файла OpenDialog.FileName игнорирует все пробелы в имени файла, которые находятся в начале, и соответственно при передаче его log происходит ошибка в открытии файла(так как без пробела файла на винте не существует).
Пробовал file_name := Extract.FileName(OpenDialog.File Name);
Все равно не видно пробела, но это и логично, т.к. я беру имя уже без пробела из OpenDialog.File Name. Помогите в решении этой проблемы...
dimak (2008-04-27 21:29:00) [1]Удалено модератором
Anatoly Podgoretsky (2008-04-27 19:14:00) [2]> dimak (27.04.2008 18:53:18) [18]
Баг у тебя в голове.
dimak (2008-04-27 18:53:00) [3]Переименовать файл чтобы суть содержания файла потерять это одно дело, чем я и не занимаюсь, а убрать, как говорят выше "баг", я думаю нелишне... Спасибо за внимание!!!
{RASkov} (2008-04-27 16:33:00) [4]> Переименовать файл?
Вообще-то ужасно как-то.... требовалось всего-то открыть файл.... и для этого его переименовываем :)
Что-то наверное мне не ясен вопрос автора стал.... Сорри...
{RASkov} (2008-04-27 16:31:00) [5]> [15] dimak (27.04.08 16:03)
Переименовать файл?
Trim(OpemDialog.FileName)?
dimak (2008-04-27 16:03:00) [6]Ну если уж есть пробел в начале, то как его убрать при открытии его с помощью OpenDialog1.Execute?
{RASkov} (2008-04-27 15:21:00) [7]> давать файлам имена из пробелов не есть гуд.
И мне кажеться вот это одна из причин почему виндовый проводник убирает пробелы :)
{RASkov} (2008-04-27 15:20:00) [8]> может это просто баг в ФАТ32?
Почему баг? Не баг. Расширение - это только образное понятие, а посему оно такое же имя как собсно и само имя(О, как)....
Вот если файл в файловой системе можно будет создать вообще с пустым именем, то вот - Баг.
Впрочем согласен... давать файлам имена из пробелов не есть гуд.
Тыщ (2008-04-27 14:13:00) [9]FAT32. Отлично создается файл " spaced . txt".
Но я бы советовал придерживаться порядка, и не создавать таких файлов.
А тех, кто создает - бить.
ZENsan (2008-04-27 13:43:00) [10]Да я тоже подумал, может это просто баг в ФАТ32? CheckDsk делал? Я просто не помню чтоб легально вообще когда-то было бы создать файл с пробелом в начале или конце..
{RASkov} (2008-04-27 12:35:00) [11]> [9] dimak (27.04.08 12:32)
> Заметил вот что... эта проблема в 98 винде происходит, пробовал
> в Висте такого нет... Может там проводник глючный???
Может ФАТ тому вина? Причем здесь проводник?
dimak (2008-04-27 12:32:00) [12]Заметил вот что... эта проблема в 98 винде происходит, пробовал в Висте такого нет... Может там проводник глючный???
{RASkov} (2008-04-27 10:23:00) [13]> [7] dimak (27.04.08 09:56)
> И чтобы мне в ручную не править имена, есть ли решение этой
> задачи?
Да ты выдумываешь что-то..... все нормально даже вообще без имени.... пробелы и расширение
procedure TForm1.Button2Click(Sender: TObject);
var F: TextFile;
begin
AssignFile(F, ExtractFilePath(ParamStr(0))+' .txt');
ReWrite(F);
CloseFile(F);
AssignFile(F, ExtractFilePath(ParamStr(0))+' test.txt');
ReWrite(F);
CloseFile(F);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then Memo1.Lines.Add(OpenDialog1.FileName);
end;
dimak (2008-04-27 09:56:00) [14]
> Я вообще не понял как ты такой файл создал
Лично я не создавал... Просто у меня программа проверяет содержание определенных файлов и нарвался на файл у которого пробел в начале имени. Программа у меня не создает файлы... А в TotalCommandere файл с таким именем создать можно. И чтобы мне в ручную не править имена, есть ли решение этой задачи?
ZENsan (2008-04-27 09:37:00) [15]Я вообще не понял как ты такой файл создал. Я даже такой создать не могу...Может там какой другой символ пробельный из уникода?
dimak (2008-04-27 08:54:00) [16]
> Ничего он не игнорирует
Может и не игнорирует, но я их(пробелы) не вижу при пошаговой компиляции... Т.е. если у меня путь к файлу:
D:\Programs\ file.txt, то при компиляции OpenDialog.FileName возвращает D:\Programs\file.txt
Файл не найден...
Loginov Dmitry (2008-04-26 23:51:00) [17]> При таком открытии файла OpenDialog.FileName игнорирует
> все пробелы в имени файла, которые находятся в начале
Ничего он не игнорирует. Возвращает все честно, как и положено!
dimak (2008-04-26 23:39:00) [18]
> Ну, может, проверяй FileExists и если нет, то пытайся найти
> ' '+FileName
Если он отсутствует, то что мне надо делать, прибавить пробел или наоборот убавить...?
dimak (2008-04-26 23:35:00) [19]
> Имя файла имеет пробел в начале
Или несколько пробелов...
Kolan (2008-04-26 23:33:00) [20]> Помогите в решении этой проблемы
Там наверно Trim В диалоге
Ну, может, проверяй FileExists и если нет, то пытайся найти' '+FileName