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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.006 c
3-1217515810
Dmitry S
2008-07-31 18:50
2009.04.05
Помогите с запросом с присоединением (MySQL)


2-1234347557
SingleStranger
2009-02-11 13:19
2009.04.05
Динамический массив структур (record) как свойство класса.


15-1233845470
Strate
2009-02-05 17:51
2009.04.05
Обеспечить безопасность сохранения данных


2-1234471261
Krozzz
2009-02-12 23:41
2009.04.05
Как считать данные из компонента Edit? (API)


15-1233660628
palva
2009-02-03 14:30
2009.04.05
Как изменить стиль hover?





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