Главная страница
    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.47 MB
Время: 0.023 c
1-1095766297
denis24
2004-09-21 15:31
2004.10.10
хранение строк


1-1096032495
AdmeraL
2004-09-24 17:28
2004.10.10
Tregistry


3-1094638324
Zif
2004-09-08 14:12
2004.10.10
Как посчитать количество всех строк...


14-1095916906
Dmitriy O.
2004-09-23 09:21
2004.10.10
Купил Сканер


1-1096135368
Charly22
2004-09-25 22:02
2004.10.10
MDI-интерфейс: проблемы с закрытием дочерних форм.





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