Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.022 c
14-1094813897
STM
2004-09-10 14:58
2004.10.10
Как написать mailer


3-1094792388
skr
2004-09-10 08:59
2004.10.10
InstallShield, BDE


3-1093344909
_jk_
2004-08-24 14:55
2004.10.10
inceremental fetch tclientdataset баг?


14-1095784428
Sergey_Masloff
2004-09-21 20:33
2004.10.10
Передать FIBDatabase в COM-dll


3-1094676696
PSN
2004-09-09 00:51
2004.10.10
UPPER и COLLATE




   Наверх