Arsip: buat file bengkak

 
user image
more 16 years ago

esafm

teman2 semuanya, aku lg pengen sesuatu file menjadi bengkak, misalnya file gede nya 125MB nah aku inginkan gede filenya itu jadi 700MB atau 600MB tapi file itu tetep jalan. bagaimana codingnya dan pakai apa ya biar cepet prosesnya dan a[pakah setelah menjadi besar prosesnya akan lama? aku lagi butuh banget nih! terima kasih sebelumnya
user image
more 16 years ago

pebbie

tergantung dari filenya... kalau dalam format filenya ada mekanisme size checking.. percuma saja..
user image
more 16 years ago

esafm

@pebbie file yg di bengkakin-nya ga ada checking file size-nya. aku ga ngerti gimana codingnya supaya file jadi gede dan proses pembengkakannya cepat. terima kasih
user image
more 16 years ago

DelphiExpert

ngomong-ngomong file format/type apa yg anda bicarakan nih? nambahin data acak biar gendut mah gampang aja, kalo application .exe tinggal elu tulisin dibelakang, PF .exe punya header yg menunjukkan besar ukuran "image" sebenernya, jadi aplikasi tetep bisa jalan sekalipun ente timbun ama sampah 1 / 1024 GB :mrgreen:

const
  NewFileSize = 1024 * 700; // 700MB
  BufSize = 4096; // 4 MB --- semakin besar semakin cepaaaaat...
var 
  OrgFileSize, TotalWriten: Cardinal;
  F: TFileStream;
  Buf: PChar;
  WriteDataSize: Integer;
begin
  F:= TFileStream.Create('c:\sampledata.extention', fmOpenReadWrite);
  try
    OrgFileSize:= F.Size;
    F.Seek(0, soFromEnd);
    
    GetMem(Buf, BufSize);
    try
      FillChar(Buf^, BufSize, 32); // contoh: isi data dengan spasi kosong
      TotalWriten:= OrgFileSize;
      while TotalWriten < NewFileSize do
      begin
        if TotalWriten + BufSize < NewFileSize then
          WriteDataSize:= BufSize
        else 
          WriteDataSize:= NewFileSize - TotalWriten;
        F.WriteBuffer(Buf^, WriteDataSize);
        Inc(TotalWriten, WriteDataSize);
      end;
    finally
      FreeMem(Buf);
    end;
  finally
    F.Free;
  end;
end;
code tidak daku test karena writen on-the-fly, kalo ada kesalahan ketik ya silahkan perbaiki sendiri :mrgreen:
user image
more 16 years ago

cikumiyu

@DelphiExpert Cuman mau nglurusin sedikit supaya ngga salahnya ngga keterusan. 1024 = 2^10 = 1K. BUKAN 1M. Jadi, 1024 700 itu sama dengan 700K, BUKAN 700M, dan 4096 = 2^2 2^10 = 4 * 1024 = 4K. BUKAN 4M.
user image
more 16 years ago

DelphiExpert

whooo iya... dikira2 sendiri aja wis... sory salh keit wakaka... tinggal kalikan 1024 lagi deh... terus terang "kadang" diriku emang suka ngacuhin yg gituan... maap ya ;)
user image
more 16 years ago

Manz

:mrgreen: udah ta' cobain ... good idea, tapi ada masalah, executable tersebut kalo menjadi 700 Megs up, dengan spek Centrino 1.5 Ghz, RAM 1.5 Ghz ... loading nya jadi lamaaaaaaaaaaaaa ... banged... +/- 1 menot baru nonghol tuh program... Tapi bagus juga, kalo diisikan dibawah 100 megs, biar mereka mabok... nah kalo ini bisa cepret pisan ... biasa kecepatan loading program dengan spek my kompie diatas ... :mrgreen: Ada pertanyaan satu lagi ... sekarang gimana mengembalikan ke ukuran semula ???? Bantuin donk om DE
user image
more 16 years ago

ImanD

@manz_delphi itu gampang sekali, dirimu tinggal ,modif yg dari DE itu, dirimu bisa simpan informasi filesize simpan di ujung penulisan misalnya. kutipan:

FillChar(Buf^, BufSize, 32); // contoh: isi data dengan spasi kosong
klo DE kan semuanya nulis dengan karakter spasi kosong nah manfaatkan jika dah mo akhir pembengkakan dirimu tulis dengan karakter ukuran sebelumnya cuman jangan lupa tambahin juga function check size sebelum pembengkakan.
user image
more 16 years ago

Manz

:mrgreen: Thankz ... good idea juga ... hmmm.. ntar ta' cobain ...
user image
more 16 years ago

DelphiExpert

Ada beberapa cara: 1. Baca PE header, disitu ada record yg menunjukkan "image" size atau 2. Sebelum mulai menulis data sampah, tulis terlebih dahulu sebuah "signature" diawal penulisan, dengan adanya signature ini kita bisa ketahui (detect & scan) berapa ukuran file originalnya. FileSize:= SignatureOffset :mrgreen:
more ...
Share to
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com