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

Вниз

Отключение Exception: Stream.LoadFromFile(FileName);   Найти похожие ветки 

 
Leaner ©   (2004-09-25 17:39) [0]

Подскажите, пожалуйста, каую директиву компилятора надо временно
изменить ( не в свойствах проекта ),
чтобы при отладке  Stream.LoadFromFile(FileName);
не давал исключения ?
Спасибо.


 
Palladin ©   (2004-09-25 17:42) [1]

Какого исключения? Они разные могут возникнуть...


 
Leaner ©   (2004-09-25 17:52) [2]

>Какого исключения? Они разные могут возникнуть...
Не найден файл.


 
Palladin ©   (2004-09-25 17:54) [3]

Проверить на существование прежде чем делать LoadFromFile...


 
Leaner ©   (2004-09-25 18:02) [4]

>Проверить на существование прежде чем делать LoadFromFile...
Хотелось бы, не делая лишних проверок.
function Get_FileSizeStream(const FName:string;Ms:TMemoryStream):Int64;
begin
try
 Ms.LoadFromFile(FName);
 Result:=Ms.Size;
except
 Result:=-1;
end;
end;


 
Palladin ©   (2004-09-25 18:05) [5]

1 Не понял смысла функции...
2 Чем тебе лишние проверки не угодили?

function Get_FileSizeStream(const FName:string;Ms:TMemoryStream):Int64;
begin
If Not FileExists(FName) Then Result:=-1 Else
try
 Ms.LoadFromFile(FName);
 Result:=Ms.Size;
except
 Result:=-1;
end;
End;

Религия не позволяет?


 
Leaner ©   (2004-09-25 18:13) [6]

Эта процедура будет очень много раз запрашиваться.
Надо подобрать самый быстрый алгоритм полученя
размера файла.
Вот я и сравниваю разные


 
Palladin ©   (2004-09-25 18:15) [7]

с ума сойти, а FileSize, GetFileSize, FileSizeByName кому даны? тоесть что бы узнать размер 4 гигабайтного файла ты собрался его весь грузить в память? оригинальное решение...


 
Leaner ©   (2004-09-25 18:19) [8]

Я начинающий. Вот и пытаюсь сравнивать разные способы.


 
Palladin ©   (2004-09-25 18:23) [9]

Даже невооруженным взглядом, следуя простой логике, понятно что чтобы узнать размеры всех файлов в директории тебе нужно их все последовательно позагружать в память... и это один из самых неоптимальных способов, второй после способа: читать по байту из файла и прибавлять к переменной по единице... начинающий то понятно, но голова то на плечах должна быть...


 
Leaner ©   (2004-09-25 18:26) [10]

А какой способ Вы порекомендуете ?


 
Palladin ©   (2004-09-25 18:31) [11]


> FileSize, GetFileSize, FileSizeByName

Я уже перечислил функции предназначеные именно для этого...
FileSize и FileSizeByName используют GetFileSize из WinAPI, причем FileSizeByName функция от третьих разработчиков... Какой воспользоватся? Зависит от ситуации... если работать с файлами через WinAPI то соответственно и использовать GetFileSize, работая с функциями из System, соответственно использовать FileSize...


 
Leaner ©   (2004-09-25 18:36) [12]

Спасибо !



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

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

Наверх




Память: 0.49 MB
Время: 0.057 c
11-1081096004
Delphi5.01
2004-04-04 20:26
2004.10.10
To: Владимиром Кладовым


8-1090306981
SNV-Soft
2004-07-20 11:03
2004.10.10
Создаем визуальный редактор объетов


14-1095429006
DeadMeat
2004-09-17 17:50
2004.10.10
HDD Image


3-1094733630
Алексей
2004-09-09 16:40
2004.10.10
ADO,FOX: файл уже используется???


4-1094731421
Aleksandr
2004-09-09 16:03
2004.10.10
Запуск программы при выключении компьютера