Текущий архив: 2008.12.28;
Скачать: CL | DM;
Вниз
Создать файл Найти похожие ветки
← →
Костик (2008-11-18 10:50) [0]Как быстро создать файл, влить в него строку "Файл создан такойто программой" + либо что, чтобы получилось повно 512 байт на диске?
← →
Palladin © (2008-11-18 10:53) [1]В чем проблемы?
← →
{RASkov} © (2008-11-18 10:59) [2]...и для чего такая бестолковая задача?
← →
Костик (2008-11-18 11:12) [3]
> В чем проблемы?
Не пойму что надо дописывать в файл чтобы получить ровно столько байт?
← →
@!!ex © (2008-11-18 11:13) [4]> [3] Костик (18.11.08 11:12)
что угодно. пробелы, например.
← →
Правильный$Вася (2008-11-18 11:32) [5]
> Не пойму что надо дописывать в файл
если "такой-то программой" будет длинное, то как бы отрезать не пришлось
← →
Костик (2008-11-18 11:38) [6]Как мне расчитать? Это надо две строки Write(f, string) записать с любыми символами?
← →
Palladin © (2008-11-18 11:41) [7]
> Как мне расчитать?
что именно расчитать то? ты хоть 5тый класс закончил?
← →
{RASkov} © (2008-11-18 11:44) [8]1 символ = 1 байт
перенос строки(каретки) = 2 символа...
← →
Костик (2008-11-18 11:46) [9]У меня есть строка "такой-то программой". Как мне посчитать сколько она занимает байт в файле если ее туда записать. Потом, как мне записать в файл ровно 512 - столько сколько занимет эта строка?
← →
{RASkov} © (2008-11-18 11:51) [10]> [9] Костик (18.11.08 11:46)
> Как мне посчитать сколько она занимает байт в файле если ее туда записать.
Пальцы загибай при виде букв.... и того тебе нужно 51 раз на руках все пальцы загнуть и два пальца на ноге(один раз)...
Не забывай по два пальца сразу загибать при переносе каретки....
:о)
← →
Костик (2008-11-18 11:53) [11]спасибо
← →
Palladin © (2008-11-18 11:58) [12]
> {RASkov} © (18.11.08 11:51) [10]
:) ты чего насоветовал?! он при задаче записать 1мег в больницу попадет с производственной трамвой... да и уточнить ему сразу не мешало бы в какую сторону загибать :)
а то может прямо сейчас загреметь
← →
Костик (2008-11-18 12:00) [13]
var f: TextFile;
i: Byte;
s: String;
begin
s := Application.Title + " file";
for i := length(s) to 255 do
s := s + " ";
for i := 0 to 255 do
s := s + " ";
assign(f, NextFileName);
rewrite(f);
Write(f, s);
Flush(f);
CloseFile(f);
end;
← →
{RASkov} © (2008-11-18 12:02) [14]> [12] Palladin © (18.11.08 11:58)
> да и уточнить ему сразу не мешало бы в какую сторону загибать
Ой... надеюсь сообразит... если будет свои загибать, иначе сразу в глаз получит :)
← →
{RASkov} © (2008-11-18 12:03) [15]> [13] Костик (18.11.08 12:00)
И что это за дурь? Кто тебя так учит? :)
← →
Костик (2008-11-18 12:05) [16]
> И что это за дурь? Кто тебя так учит? :)
напиши как правильно
← →
sniknik © (2008-11-18 12:17) [17]циклы замени на
s:= s + StringOfChar(" ", 512 - Length(s));
← →
{RASkov} © (2008-11-18 12:18) [18]> [16] Костик (18.11.08 12:05)
Может быть я бы тебе и написал как правильно, но я так и не пойму что тебе нужно и для чего это....
Да и смысла я не вижу в этих твоих пробелах в файле..... А размер файла можно указать произвольный и никаких марОк с пробелами или пальцами...
Ну а код [13] может быть и написан синтаксически верно, но логически - дурь полнейшая...
← →
MsGuns © (2008-11-18 12:19) [19]Пиши на физическом уровне :)
← →
{RASkov} © (2008-11-18 12:25) [20]
var F: TextFile; S: String;
begin
AssignFile(F, <filename.ext>);
Rewrite(F);
try
S:=Application.Title;
SetLength(S, 512);
Write(F, S);
finally
CloseFile(F);
end;
end;
← →
Костик (2008-11-18 12:31) [21]Это все круто, а как чтобы 2000 таких файлов занимало на диске ровно 2000*512 байт
← →
Amoeba © (2008-11-18 12:41) [22]
> Костик (18.11.08 12:31) [21]
>
> Это все круто, а как чтобы 2000 таких файлов занимало на
> диске ровно 2000*512 байт
А это еще зачем понадобилось? В чем хоть заключается собственно "сверхзадача"?
← →
Костик (2008-11-18 12:54) [23]Чтобы убрать следы
← →
Anatoly Podgoretsky © (2008-11-18 13:02) [24]> Правильный$Вася (18.11.2008 11:32:05) [5]
Не надо отрезать, надо ноги удлиннить.
← →
Anatoly Podgoretsky © (2008-11-18 13:04) [25]> {RASkov} (18.11.2008 12:03:15) [15]
Да учат то нормально, тут не в учителях дело.
← →
Костик (2008-11-18 13:10) [26]
> Да учат то нормально, тут не в учителях дело.
А в чём? В том что я не знаю пару функций? По моему это естественно...
← →
Amoeba © (2008-11-18 13:14) [27]
> Костик (18.11.08 12:54) [23]
>
> Чтобы убрать следы
>
Чьи следы? И вместо кого-то наследить самому?
Опиши всю задачу, партизан!
← →
{RASkov} © (2008-11-18 13:21) [28]> [26] Костик (18.11.08 13:10)
Да тут не в функциях дело, а в тумане в твоей голове...)
← →
Костик (2008-11-18 13:22) [29]
> Опиши всю задачу, партизан!
Будем считать, что меня пытали: хочу, чтобы то, что удаляется с винта, нельзя было восстановить никогда в жизни...
← →
{RASkov} © (2008-11-18 13:26) [30]> [29] Костик (18.11.08 13:22)
И что, ты решил забить все свободное место на винчестере файлами с пробелами? :)
← →
Костик (2008-11-18 13:28) [31]
> {RASkov} © (18.11.08 13:26) [30]
Да, а что не поможет?
← →
sniknik © (2008-11-18 13:33) [32]> Будем считать, что меня пытали:
считай что не зря. нет никаких гарантий что создание нового файла, не даст восстановить старый удаленный...
для того чтобы сделать то что ты хочешь нужно не создавать, а удалять старые с предварительно перезаписанным началом.
т.е. перед удалением открываешь файл на редактирование, пишешь в начало свою фигню, делаешь ему транкейт до 512 байт, и только после этого удаляешь.
← →
sniknik © (2008-11-18 13:34) [33]> Да, а что не поможет?
то что новые запишутся совсем не туда куда ты хочешь, а туда куда удобнее системе.
← →
Anatoly Podgoretsky © (2008-11-18 13:35) [34]> sniknik (18.11.2008 13:33:32) [32]
Вот и вирус готов.
← →
Костик (2008-11-18 13:49) [35]
> то что новые запишутся совсем не туда куда ты хочешь, а
> туда куда удобнее системе.
я ж весь винт забиваю, и ничего не сканирую, удалил то что не надо, перезалил и все, просто как не знаю даже что...
← →
sniknik © (2008-11-18 13:52) [36]ну если весь, и если не жалко времени... флаг тебе руки в общем. делай.
← →
Юрий Зотов © (2008-11-18 14:00) [37]> чтобы получилось повно 512 байт на диске?
На диске - не получится. На диске файл размером 512 байт займет 1 кластер.
← →
Костик (2008-11-18 14:24) [38]Да, 80Мб за час - долговато... Зато на работу почти не влияет. Я правильно понимаю что размер 512 в данном случае оптимально подходит?
← →
clickmaker © (2008-11-18 14:29) [39]> хочу, чтобы то, что удаляется с винта, нельзя было восстановить
> никогда в жизни...
тут магнит нужен.
остальное все - фигня, ФСБ найдет
← →
Костик (2008-11-18 14:42) [40]
> тут магнит нужен.остальное все - фигня, ФСБ найдет
ну это слишком
← →
Anatoly Podgoretsky © (2008-11-18 15:07) [41]> clickmaker (18.11.2008 14:29:39) [39]
Не просто магнит, а очень мощный магнит.
Гораздо лучше шредер или печка.
← →
Vayrus (2008-11-18 15:36) [42]Попробуй это:
procedure TForm1.OpenClick(Sender: TObject);
var
FileName: string;
begin
OpenDialog1.Execute;
FileName:=OpenDialog1.FileName;
Path.Caption:= FileName;
end;
procedure TForm1.DeleteClick(Sender: TObject);
var
buffer: array [0..4095] of Byte;
max, n: LongInt;
i,j,k: Integer;
fs: TFileStream;
FileName: String;
begin
case Num.Position of
0: k:=1;
1: k:=3;
2: k:=5;
3: k:=10;
4: k:=15;
end;
FileName:= Path.Caption;
fs := TFilestream.Create(FileName, fmOpenReadWrite or fmShareExclusive);
try
for i := 1 to k do
begin
for j := Low(buffer) to High(buffer) do
buffer[j] := Random(256);
max := fs.Size;
fs.Position := 0;
while max > 0 do
begin
if max > SizeOf(buffer) then
n := SizeOf(buffer)
else
n := max;
fs.Write(Buffer, n);
max := max - n;
end;
FlushFileBuffers(fs.Handle);
end;
finally
fs.Free;
end;
Deletefile(FileName);
ShowMessage("Все пучком");
end;
← →
Костик (2008-11-18 15:55) [43]
> Vayrus (18.11.08 15:36) [42]
> Попробуй это:
спасибо
← →
@!!ex © (2008-11-18 16:10) [44]> OpenDialog1.Execute;
>
> FileName:=OpenDialog1.FileName;
>
> Path.Caption:= FileName;
:))
2 замечания:
1) Не стоит игнорировать нажатие на Cancel в диалоге.
2) Зачем лишняя переменная?
← →
Костик (2008-11-18 16:51) [45]Черт - реальный вирус. 80 метров удалить до сих пор не могу...
← →
Костик (2008-11-18 17:05) [46]Скажите плиз как файл удалить?
← →
Anatoly Podgoretsky © (2008-11-18 17:06) [47]> Костик (18.11.2008 16:51:45) [45]
Пригласи прогаммиста/системного администратора.
← →
Костик (2008-11-18 17:12) [48]Анатолий вы не поверите, но реально я только с помощью DeleteFile() справился, ну тобишь программно.
← →
Anatoly Podgoretsky © (2008-11-18 19:29) [49]Знаешь я доверчивый после 48 сообщений.
Правда зачем было создавать файл, вливать в него строку и тут же удалять с помощью DeleteFile.
← →
palva © (2008-11-19 00:45) [50]
> Скажите плиз как файл удалить?
Вот как удаляют файлы правильные пацаны:
"Если слежка угрожает вашей жизни, то необходимо заменить жесткий диск на новый, а старый диск разобрать и сточить с него верхний слой с помощью наждачной бумаги."
http://computerix.narod.ru/inter/gold3/pub/bez.htm
← →
Германн © (2008-11-19 00:50) [51]Бред.
Имхо.
Страницы: 1 2 вся ветка
Текущий архив: 2008.12.28;
Скачать: CL | DM;
Память: 0.59 MB
Время: 0.014 c