Главная страница
    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
15-1233558588
УбицоМух
2009-02-02 10:09
2009.04.05
Сообщение от сервера


2-1234591942
K
2009-02-14 09:12
2009.04.05
одновременная запись в файл на ftp


2-1234501240
dark_volk
2009-02-13 08:00
2009.04.05
Копирование таблиц


1-1209223583
Zilog
2008-04-26 19:26
2009.04.05
генерация таблиц в RTF формате


15-1232570914
Cyrax
2009-01-21 23:48
2009.04.05
Чем отличаются Nokia N95, Nokia N95 1 year navigation...





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