Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2009, 10:37   #1
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
Радость Получение данных функцией FileSize

Здравствуйте.
Получаю данные следующим кодом
Код:
procedure TAddData.Button1Click(Sender: TObject);
var
f:file;
begin
OP.Filter:='Граф файлы jpg|*.jpg|*.jpg';
if op.Execute = true then
begin
   image2.Picture.LoadFromFile(op.FileName);
   assignfile(f,op.FileName);
   Reset(f);
   LFileSize.caption:=inttostr(FileSize(f));
end;
end;
в итоге в лэйбеле появляются цифирки но какие обсолютно не ясоно(((
Проверял с помощью свойств в виндовс не совпадает не как.
Вопрос в каких единицах данная функциия возвращает значение? я так палагаю в байтах должна.
Lokos вне форума Ответить с цитированием
Старый 23.12.2009, 12:53   #2
DarkEvil
Форумчанин
 
Аватар для DarkEvil
 
Регистрация: 08.05.2009
Сообщений: 247
По умолчанию

Количество байт
Мой сайт
Цитата:
Сообщение от Scream In Darkness
Кровь не даёт покоя! Кровь не знает сна!
Кровь бежит на волю – Вены рвёт сама!
DarkEvil вне форума Ответить с цитированием
Старый 23.12.2009, 12:59   #3
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от Lokos Посмотреть сообщение
Проверял с помощью свойств в виндовс не совпадает не как.
А почему они должны совпадать? Ты Тотал командером сравни или Фаром каким-нибудь.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 23.12.2009, 13:08   #4
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
А почему они должны совпадать? Ты Тотал командером сравни или Фаром каким-нибудь.
хы а почему они не должны совпадать?
Lokos вне форума Ответить с цитированием
Старый 23.12.2009, 13:11   #5
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от Lokos Посмотреть сообщение
хы а почему они не должны совпадать?
А по разным причинам. Например, зависит от настроек ФС. Есть вариант когда файлы занимают строго выделенные блоки - допустим блок 512 байт, а файл 128 байт. Так он скажет что файл занимает 512 байт.
Ну, а для больших файлов Проводник просто округляет. Скажет, что 1,7 Гб и абзац.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 23.12.2009, 13:22   #6
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
А по разным причинам. Например, зависит от настроек ФС. Есть вариант когда файлы занимают строго выделенные блоки - допустим блок 512 байт, а файл 128 байт. Так он скажет что файл занимает 512 байт.
Ну, а для больших файлов Проводник просто округляет. Скажет, что 1,7 Гб и абзац.
а знаешь там есть такое значение в байтах указывается в скобочках
Lokos вне форума Ответить с цитированием
Старый 23.12.2009, 13:26   #7
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от Lokos Посмотреть сообщение
а знаешь там есть такое значение в байтах указывается в скобочках
Ага, я тебе уже писал про настройки файловой системы. Сравнивай Тотал Коммандером.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 23.12.2009, 13:32   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

все там нормально.

насчет св-в то не забывайте что там два размера.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.12.2009, 13:35   #9
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
все там нормально.

насчет св-в то не забывайте что там два размера.
я не спорю что там 2 размера округленный и более точный но у меня не совпадал примерно с таким соотношением 38 976 в проводнике 41 234
))) сравню фаром или тотал командером посмотрю что будет
Lokos вне форума Ответить с цитированием
Старый 23.12.2009, 13:47   #10
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Проверь еще раз, ты уверен? У меня все работает. Ну если не получается делай через потоки.



--------------------------------------------- Добавлено ---------------------------------------------

Пробовал разновидность Вашего примера. Тоже не работает . Похоже у Вас не глюки...



--------------------------------------------- Добавлено ---------------------------------------------

Нашел, чего это Вы синтаксис не читаете? FileSize - определяет размер файла в записях.
Поэтому переменную нужно определять как f: File of Byte;
У меня сначала так все и было, а попробывал Ваш пример, таки удивился вместе с Вами .
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 23.12.2009 в 15:11.
Utkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
получение данных avis Win Api 0 19.12.2009 19:24
не работает FileSize Alex Cones Общие вопросы Delphi 2 11.12.2009 19:34
Получение данных с БД. urgu_st SQL, базы данных 5 13.01.2009 15:11
Получение пользовательской функцией данных с закрытой книги KozakMamaj Microsoft Office Excel 18 22.10.2008 06:55
Получение типа данных Proof БД в Delphi 2 14.05.2008 20:38