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

Вниз

Отключение 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.035 c
4-1094233172
musk
2004-09-03 21:39
2004.10.10
ширина текста-подсчет


4-1093933617
alex732
2004-08-31 10:26
2004.10.10
не определяется хендл дочернего окна


14-1095292657
Мистер Х
2004-09-16 03:57
2004.10.10
Будущее MS Windows


3-1095155532
_alex_
2004-09-14 13:52
2004.10.10
FireBird


14-1095860037
Soft
2004-09-22 17:33
2004.10.10
HeatPC.com





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