Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.04.2006, 12:38
ARM ARM вне форума
Прохожий
 
Регистрация: 21.04.2006
Сообщения: 13
Репутация: 10
По умолчанию Растущий файл

Приветствую может кто подскажет как написать растущий файл до размера свободного места на жестком диске че то не получается ...
Ответить с цитированием
  #2  
Старый 21.04.2006, 13:20
AlexZL AlexZL вне форума
Новичок
 
Регистрация: 06.01.2006
Сообщения: 87
Репутация: 20
По умолчанию

А что конкретно не получается то, поподробней можно?

хм... если файловая система FAT32 то и не получится больше 4Гб файл создать.
Ответить с цитированием
  #3  
Старый 21.04.2006, 13:41
ARM ARM вне форума
Прохожий
 
Регистрация: 21.04.2006
Сообщения: 13
Репутация: 10
По умолчанию

Да проблема в криворучии но совета не у кого спросить
короче так
включаем таймер
узнаем рамер жесткого диска именно его свободного места
создаем файл растущий на скажем 1024 кб
сравниваем размеры места с файлом если место меньше чем файл то конец
кода щя нету с собой дома лежит но в общем программа останавливается когда места на винте еще до хрена голову сломал уже может есть готовое решение ?
Ответить с цитированием
  #4  
Старый 21.04.2006, 17:12
AlexZL AlexZL вне форума
Новичок
 
Регистрация: 06.01.2006
Сообщения: 87
Репутация: 20
По умолчанию

ну например так: (без таймера но работает)
Код:
const Size = 8192;

procedure TForm1.Button1Click(Sender: TObject);
var fFile: TFileStream;
    Free,Total,TotFree: int64;
begin
    fFile:= TFilestream.Create('file.dat',fmOpenWrite);
    repeat
       If fFile.Write(Total,Size) <> Size then ShowMessage('Не все записалось'); 
       GetDiskFreeSpaceEx('C:\',Free,Total,@TotFree);
    until Free<= 8192;//пока на диске не останется 8килобайт
    fFile.Free;
end;

заполняем файл мусором (тем что в переменной Total и тем что следует после нее- криво, но для примера сойдет...) Схавал у меня все место
Ответить с цитированием
  #5  
Старый 21.04.2006, 17:19
ARM ARM вне форума
Прохожий
 
Регистрация: 21.04.2006
Сообщения: 13
Репутация: 10
По умолчанию

Блин как ты это ? как я далек до твоего уровня.. не скажешь где обучался ?
Ответить с цитированием
  #6  
Старый 21.04.2006, 17:22
AlexZL AlexZL вне форума
Новичок
 
Регистрация: 06.01.2006
Сообщения: 87
Репутация: 20
Смех

:d :d :d
Как, все работает??
я тока 1 гиг умучал, на большее нервов не хватило смотреть.
Ответить с цитированием
  #7  
Старый 21.04.2006, 17:22
ARM ARM вне форума
Прохожий
 
Регистрация: 21.04.2006
Сообщения: 13
Репутация: 10
По умолчанию

заполняем файл мусором (тем что в переменной Total и тем что следует после нее- криво, но для примера сойдет...) Схавал у меня все место [/quote]


спасибо кстате ))
Ответить с цитированием
  #8  
Старый 21.04.2006, 22:49
ARM ARM вне форума
Прохожий
 
Регистрация: 21.04.2006
Сообщения: 13
Репутация: 10
По умолчанию

Дома не заработало
стрелку сюда завела "fFile:= TFilestream.Create('file.dat',fmOpenWrite);"
с ошибкой ((
Ответить с цитированием
  #9  
Старый 21.04.2006, 23:08
AlexZL AlexZL вне форума
Новичок
 
Регистрация: 06.01.2006
Сообщения: 87
Репутация: 20
По умолчанию

ну, какую ошибку то хоть выдал??? может модуль не подключен нужный?, TFileStream
в classes объявлен...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:17.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter