Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.05;
Скачать: CL | DM;

Вниз

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

 
dimak   (2008-04-26 23:28) [0]

Имя файла имеет пробел в начале(про который я не знаю)...
Мои действия:
.....
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. Помогите в решении этой проблемы...


 
Kolan ©   (2008-04-26 23:33) [1]

> Помогите в решении этой проблемы&#133

Там наверно Trim В диалоге&#133
Ну, может, проверяй FileExists и если нет, то пытайся найти " "+FileName


 
dimak   (2008-04-26 23:35) [2]


> Имя файла имеет пробел в начале

Или несколько пробелов...


 
dimak   (2008-04-26 23:39) [3]


> Ну, может, проверяй FileExists и если нет, то пытайся найти
> " "+FileName

Если он отсутствует, то что мне надо делать, прибавить пробел или наоборот убавить...?


 
Loginov Dmitry ©   (2008-04-26 23:51) [4]

> При таком открытии файла OpenDialog.FileName игнорирует
> все пробелы в имени файла, которые находятся в начале


Ничего он не игнорирует. Возвращает все честно, как и положено!


 
dimak   (2008-04-27 08:54) [5]


> Ничего он не игнорирует

Может и не игнорирует, но я их(пробелы) не вижу при пошаговой компиляции... Т.е. если у меня путь к файлу:
D:\Programs\ file.txt, то при компиляции OpenDialog.FileName возвращает D:\Programs\file.txt
Файл не найден...


 
ZENsan ©   (2008-04-27 09:37) [6]

Я вообще не понял как ты такой файл создал. Я даже такой создать не могу...Может там какой другой символ пробельный из уникода?


 
dimak   (2008-04-27 09:56) [7]


> Я вообще не понял как ты такой файл создал

Лично я не создавал... Просто у меня программа проверяет содержание определенных файлов и нарвался на файл у которого пробел в начале имени. Программа у меня не создает файлы... А в TotalCommandere файл с таким именем создать можно. И чтобы мне в ручную не править имена, есть ли решение этой задачи?


 
{RASkov} ©   (2008-04-27 10:23) [8]

> [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 12:32) [9]

Заметил вот что... эта проблема в 98 винде происходит, пробовал в Висте такого нет... Может там проводник глючный???


 
{RASkov} ©   (2008-04-27 12:35) [10]

> [9] dimak   (27.04.08 12:32)
> Заметил вот что... эта проблема в 98 винде происходит, пробовал
> в Висте такого нет... Может там проводник глючный???

Может ФАТ тому вина? Причем здесь проводник?


 
ZENsan ©   (2008-04-27 13:43) [11]

Да я тоже подумал, может это просто баг в ФАТ32? CheckDsk делал? Я просто не помню чтоб легально вообще когда-то было бы создать файл с пробелом в начале или конце..


 
Тыщ   (2008-04-27 14:13) [12]

FAT32. Отлично создается файл " spaced . txt".
Но я бы советовал придерживаться порядка, и не создавать таких файлов.
А тех, кто создает - бить.


 
{RASkov} ©   (2008-04-27 15:20) [13]

> может это просто баг в ФАТ32?

Почему баг? Не баг. Расширение - это только образное понятие, а посему оно такое же имя как собсно и само имя(О, как)....
Вот если файл в файловой системе можно будет создать вообще с пустым именем, то вот - Баг.
Впрочем согласен... давать файлам имена из пробелов не есть гуд.


 
{RASkov} ©   (2008-04-27 15:21) [14]

> давать файлам имена из пробелов не есть гуд.

И мне кажеться вот это одна из причин почему виндовый проводник убирает пробелы :)


 
dimak   (2008-04-27 16:03) [15]

Ну если уж есть пробел в начале, то как его убрать при открытии его с помощью OpenDialog1.Execute?


 
{RASkov} ©   (2008-04-27 16:31) [16]

> [15] dimak   (27.04.08 16:03)

Переименовать файл?
Trim(OpemDialog.FileName)?


 
{RASkov} ©   (2008-04-27 16:33) [17]

> Переименовать файл?

Вообще-то ужасно как-то.... требовалось всего-то открыть файл.... и для этого его переименовываем :)
Что-то наверное мне не ясен вопрос автора стал.... Сорри...


 
dimak   (2008-04-27 18:53) [18]

Переименовать файл чтобы суть содержания файла потерять это одно дело, чем я и не занимаюсь, а убрать, как говорят выше "баг", я думаю нелишне... Спасибо за внимание!!!


 
Anatoly Podgoretsky ©   (2008-04-27 19:14) [19]

> dimak  (27.04.2008 18:53:18)  [18]

Баг у тебя в голове.


 
dimak   (2008-04-27 21:29) [20]

Удалено модератором



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

Текущий архив: 2009.04.05;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.016 c
1-1209392487
ZENsan
2008-04-28 18:21
2009.04.05
DesignIntf, DesignEditors...


2-1234283158
Dr. Genius
2009-02-10 19:25
2009.04.05
Подводные камни при автоматическом выключении компьютера


2-1234361101
JVtheGost
2009-02-11 17:05
2009.04.05
ODAC без клиента Oracle


15-1234017094
oldman
2009-02-07 17:31
2009.04.05
Два вопроса от человека без интернета...


11-1199012224
=BuckLr=
2007-12-30 13:57
2009.04.05
С новым годом!