Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Stvaranje velikog broja .txt datoteka??

[es] :: Pascal / Delphi / Kylix :: Stvaranje velikog broja .txt datoteka??

[ Pregleda: 2798 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Passwd

Član broj: 54624
Poruke: 640
*.adsl.net.t-com.hr.



Profil

icon Stvaranje velikog broja .txt datoteka??16.06.2005. u 21:01 - pre 191 meseci
Na ovaj princip...

Code:

procedure TForm1.Button1Click(Sender: TObject);
var a:file;
begin
assignfile(a,'c:\Podatak1.txt');
rewrite(a);
end;



....kako napravit 100 fajlova redom:
Podatak1.txt
Podatak2.txt
Podatak3.txt

Ako netko ima ideju kako tu upotrijebiti naprimjer:
for ......to
ili
repeat until
ili
while??????

for neki_broj:=1 to 100 do
begin
assignfile(fajl,'c:\Podatak'+neki_broj,'.txt');
rewrite(fajl);

Naravno ovo ne radi ali ako netko zna kako na taj ili slican nacin........
 
Odgovor na temu

PeraKojotSuperGenije
Sasa Popovic
Beograd

Član broj: 44507
Poruke: 126
*.152.eunet.yu.



Profil

icon Re: Stvaranje velikog broja .txt datoteka??16.06.2005. u 22:06 - pre 191 meseci
Code:

var i: integer;
    a: textfile;
begin
for i:=1 to 100 do
begin
  assignfile(a, 'c:\podatak'+IntToStr(i)+'.txt');
  rewrite(a);
end;


Kod nisam testirao ali bi trebalo da radi!

Vrednost funkcije IntToStr(1234) je string '1234'. Imas i obrnutu funkciju StrToInt, kao i slicne FloatToStr, TimeToStr, ... Za dalje informacije pogledaj u Help.
Sendvic uvek pada na namazanu stranu!
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Stvaranje velikog broja .txt datoteka??16.06.2005. u 22:46 - pre 191 meseci
Ne zaboravi i CloseFile!!!

@Passwd
Evo ti primer kako mozes da trazis fajlove... pisao sam ga da brzaka pa je kod malo bezveze, ali radi posao.
Prikačeni fajlovi
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Stvaranje velikog broja .txt datoteka??17.06.2005. u 05:55 - pre 191 meseci
Ja bih to uradio preko API-ja ipak... :

Code:

uses
  Windows, SysUtils;

var
  C1 : Integer;

begin
  For C1 := 1 to 100 Do
    CloseHandle(CreateFile(PAnsiChar('C:\file' + IntToStr(C1) + '.txt'),
                           0,
                           0,
                           nil,
                           CREATE_NEW,
                           FILE_ATTRIBUTE_NORMAL,
                           0));
end;
 
Odgovor na temu

Passwd

Član broj: 54624
Poruke: 640
*.adsl.net.t-com.hr.



Profil

icon Re: Stvaranje velikog broja .txt datoteka??17.06.2005. u 08:31 - pre 191 meseci
Hval, hvala...
@Srki_82-program je odlican samo ga nista ne kuzim (al bitno da radi svoje)!!

A dal se moze napravit jedan fajl koji ce imati 50 MB??
(na sto jednostavniji i meni razumljiviji nacin) :)
 
Odgovor na temu

Nemanja Avramović
Software architect
Tap medical
Beograd, Srbija

Član broj: 32202
Poruke: 4383
193.251.169.*

Sajt: https://avramovic.info


+45 Profil

icon Re: Stvaranje velikog broja .txt datoteka??17.06.2005. u 08:54 - pre 191 meseci
pazi 1 karakter ti je jedan bajt... 1 * 1024 ti je jedan kb a 1 * 1024 * 1024 ti je 1mb dok je, logicno, 50 * 1024 * 1024 = 50 mb

i onda ides (pseudo-code):
Code:

var i,mb:integer; //i sve ostale promenljive koje su ti potrebne
begin
//otvoris fajl
mb:=50 * 1024 * 1024; //ne znam koliko je tacno pa cemo u runtime-u da izracunamo
 for i:=1 to mb do
 begin
 //kod za upisivanje jednog bajta u fajl
 end;
//zatvoris fajl
end;


nadam se da bi tako nekako ishlo
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Stvaranje velikog broja .txt datoteka??17.06.2005. u 14:04 - pre 191 meseci
Ovaj kod koji ja JaHvram predlozio bi pisao do sutra bajt po bajt u fajl :>
Mislim da postoji API koji rezervise unapred odredjeni prostor na hard disku, tj kreira fajl odredjene velichine i popunjava ga NULL karakterima, ali nisam sad na mom kompu da vidim koji je to API. A ako kojim slucajem ne postoji, onda napisi kod slican JaHvram-ovom samo povecaj buffer, recimo neka pise po 1mb svaki put u petlji :>
 
Odgovor na temu

Nemanja Avramović
Software architect
Tap medical
Beograd, Srbija

Član broj: 32202
Poruke: 4383
193.251.169.*

Sajt: https://avramovic.info


+45 Profil

icon Re: Stvaranje velikog broja .txt datoteka??17.06.2005. u 15:58 - pre 191 meseci
pa dobro, ja sam mu dao pseudo kod... ja tako radim, mada nikad nisam hteo 50mb da pisem u fajl :)

eh da, da ti se aplikacija ne bi zamrzla dok ide kroz petlju, bilo gde u for petlji dodaj:
Application.ProcessMessages; //dal' se ovako pise?? pises app(alt+space, enter).proc(alt+space, enter); <- hihihi
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
*.vdial.verat.net.

Sajt: www.diy-fever.com


+1 Profil

icon Re: Stvaranje velikog broja .txt datoteka??17.06.2005. u 17:37 - pre 191 meseci
mozes sa stream:
Code:

var buffer: array [1..1024*1024] of byte; //1mb
     F: TStream;
begin
  FillChar(a, SizeOf(a), 0);
  for i := 1 to 1000 do
   begin
      F := TFileStream.Create('c:\test' + IntToStr('i') + '.txt', fmCreate);
      try
        for j := 1 to 50 do //50 mb
          F.Write(buffer, SizeOf(buffer));
      finally
        F.Free;
      end;
   end
end;


mislim da ce to da radi
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Stvaranje velikog broja .txt datoteka??17.06.2005. u 18:54 - pre 191 meseci
Izgleda da ne postoji API namenjen za to...
Ovaj kod pishe 1 mb u fajl :

Code:

const
  bufsize = 1024 * 1024; // 1mb
var
  buf       : Array[1..bufsize] of Byte;
  fHnd      : THandle;
  lpWritten : Cardinal;
begin
  fHnd := CreateFile(PAnsiChar('C:\file.dat'),
                                   0,
                                   0,
                                   nil,
                                   CREATE_NEW,
                                   FILE_ATTRIBUTE_NORMAL,
                                   0));
  WriteFile(fHnd, buf, bufsize, lpWritten, nil);
  CloseHandle(fHnd);
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Stvaranje velikog broja .txt datoteka??

[ Pregleda: 2798 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.