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

Pascal, rad sa datotekama

[es] :: Pascal / Delphi / Kylix :: Pascal, rad sa datotekama

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

zyclon.maya

Član broj: 319706
Poruke: 7
*.dynamic.isp.telekom.rs.



+1 Profil

icon Pascal, rad sa datotekama23.01.2014. u 22:32 - pre 78 meseci
Imam zadatak da napravim imenik, tako da se prilikom pokretanja programa pojavljuje pitanje da li želim da unesem informacije ili da ispišem na ekran već postojeće. Ja sam napisao za unos i to valjda radi, ali primetio sam da mi se datoteka ne kreira u direktorijumu kojim sam naveo prilikom pisanja programa, pa pretpostavljam da mi se prilikom ponovnog pokretanja programa neće sačuvati već postojeća imena i brojevi telefona. Imam problem takođe sa ispisivanjem podataka, ne izbacuje mi ništa..
Program moram da odradim bez korišćenja procedura i funkcija.

Ako možete malo da mi pomognete bio bih vam mnogo zahvalan..
Ja ću i dalje da pokušavam da rešim problem, a za to vreme ako još neko može malo da baci oko i proba da pomogne, evo kodova:



[Ovu poruku je menjao zyclon.maya dana 24.01.2014. u 00:09 GMT+1]
 
Odgovor na temu

zyclon.maya

Član broj: 319706
Poruke: 7
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Pascal, rad sa datotekama23.01.2014. u 23:07 - pre 78 meseci
Pronašao sam grešku, ispustio jedan reset.. oleeeeeee =)
 
Odgovor na temu

zyclon.maya

Član broj: 319706
Poruke: 7
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Pascal, rad sa datotekama11.02.2014. u 01:00 - pre 77 meseci
Imam datoteku sa slogovima i na primer imam 2 banane, 3 jabuke i 1 krusku.. To je ukupno 6 vocki.. A kako ja da izvucem iz datoteke koliko ukupno imam vrsta vocki.. Kako ja ovde da dobijem broj 3.. Svasta sam pokusavao i da napravim niz, pa da uporedjujem i odstranjujem ali nikako ne uspevam.. Moze li pomoc, dobri ljudi, hvala unapred..

Da preciziram, izgleda otprilike ovako..

voce.naziv
...
...
...

podaci u datoteci:
banana
jabuka
jabuka
kruska
banana
jabuka


kako ja iz datoteke da izvucem koliko ima vrsta voca?

[Ovu poruku je menjao zyclon.maya dana 11.02.2014. u 02:11 GMT+1]
 
Odgovor na temu

franjo_tahi2
Franjo Tahi
Zagreb

Član broj: 289851
Poruke: 43
*.adsl.net.t-com.hr.



Profil

icon Re: Pascal, rad sa datotekama11.02.2014. u 15:45 - pre 77 meseci

Način koji mi prvi pada na pamet, a najednostavnije je:
- definirati vrste: array [0..maxBrojVrstaVoca] of string
- definirati broj: array [0..maxBrojVrstaVoca] of integer

- čitati redom iz file-a vočke
- provjeravati da li postoji u vrste da li postoji upisana vočka. ako postoji, index na kom je upisana pamtiš
- ako ne postoji upisana u vrste - dodaš ju na kraju, pamtiš index gdje si ju dodao
- broj[index] (index koji si pamtio ranije) povečaš za jedan

ispisuješ sve dok imaš i vrse <> ''
- 'vrsta voća: ' + vrste + ' broj zapisa:' + IntToStr(broj)
 
Odgovor na temu

((BugA))
Igor Djordjevic
Bor, Srbija

Član broj: 29241
Poruke: 196
*.dynamic.sbb.rs.

ICQ: 66516695
Sajt: www.MalamutKlub.com


+17 Profil

icon Re: Pascal, rad sa datotekama11.02.2014. u 19:29 - pre 77 meseci
franjo_tahi2 ti je vec dao ideju, a evo i primera jedne od mogucnosti, rad sa TStringList:

Code:
var
  i: integer;
  slFajl,
  slVoce: TStringList;
begin
  slFajl := TStringList.Create();
  try
    slFajl.LoadFromFile('voce.txt'); // ucitaj tekst iz fajla
    slVoce := TStringList.Create();
    try
      for i := 0 to slFajl.Count-1 do
      begin
        if (slVoce.IndexOf(slFajl[i]) = -1) then // dodaj novu vocku
          slVoce.Add(slFajl[i]);
      end;
      //
      ShowMessage('Razlicitih vocaka '+ IntToStr(slVoce.Count)
        + ', ukupno ' + IntToStr(slFajl.Count));
    finally
      slVoce.Free();
    end;
  finally
    slFajl.Free();
  end;
end;
 
Odgovor na temu

zyclon.maya

Član broj: 319706
Poruke: 7
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Pascal, rad sa datotekama11.02.2014. u 19:29 - pre 77 meseci
Rešio sam ga u međuvremenu, uz pomoć skupova.. Franjo, sinoć sam pokušavao na način sličan tvom, nije davao rezultata...

Hvala obojici..


EDIT: Evo koda, ako nekome nekada zatreba..

Code:
reset(x);
while not eof(x) do
 begin
  read(x,voce);
if (voce.naziv in a) then      //a - prethodno definisan prazan skup
continue;
a:=a+[voce.nazic];
inc(k);                                        //k - br različitih vrsta
end;



[Ovu poruku je menjao zyclon.maya dana 11.02.2014. u 20:41 GMT+1]
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 789
..ppoe.dyn.broadband.blic.net.



+61 Profil

icon Re: Pascal, rad sa datotekama11.02.2014. u 19:46 - pre 77 meseci
Ako se ne varam, sa skupovima si ogranicen na 256 vrsta vocki (Delphi), odnosno 32 (TurboPascal).

Za resenje sa TStringList, zar ne postoji property TStringList.Sorted..? (kad vec koristimo IndexOf())

Pravo resenje bi bilo (ako treba i broj pojavljivanja pojedinih vocki), deklarisati record za svaku vocku (ime i brojac pojavljivanja), i u TList instancu dodavati dinamicki alociran record/vocku po potrebi, odnosno uvecavati brojac pojavljivanja u (vec) alociranom record-u. Takodje ne bi bilo lose TList drzati sortiran, radi brzeg nalazenja (metodom polovljenja) vec unete vocke... tandara broc ;).

Pozz


 
Odgovor na temu

((BugA))
Igor Djordjevic
Bor, Srbija

Član broj: 29241
Poruke: 196
*.dynamic.sbb.rs.

ICQ: 66516695
Sajt: www.MalamutKlub.com


+17 Profil

icon Re: Pascal, rad sa datotekama11.02.2014. u 20:37 - pre 77 meseci
Citat:
Za resenje sa TStringList, zar ne postoji property TStringList.Sorted..? (kad vec koristimo IndexOf())

Sto, je l` neko rekao da ne postoji? (kad vec pitamo) :) Da, ako listu sortiramo, pretraga ce biti jos brza, hvala na dopuni. Ja ne mislim da sam dao najkompletnije moguce resenje, niti mi je to bio cilj (niti smatram da takvo kao generalno postoji), vec samo jedan vrlo, vrlo prost primer kako konkretno i lako moze da se resi ono sto je postavljacu pitanja zadavalo probleme, i to resi koristeci nesto sto vec postoji i lako se upotrebljava - TStringList.

Inace se slazem da je verovatno najelegantnije resenje koriscenje sopstvenih tipova - kad se ima vremena i znanja (a postoji potreba), mogu se tu lepe klase razviti... ;)
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 789
..ppoe.dyn.broadband.blic.net.



+61 Profil

icon Re: Pascal, rad sa datotekama12.02.2014. u 10:00 - pre 77 meseci
NHF (nema ljutis)... ;)

Pascal je stvorio Wirth da bi naucio svoje studente da pravilno razmisljaju; sto ce reci, tipovi + strukture + algoritmi = Pascal :) . Ili kako negde davno procitah, "Pascal je jezik koji opisuje algoritme". Kako to zvuci spram "nesto jednostavno, samo da radi", ne bih znao.

Pozz
 
Odgovor na temu

((BugA))
Igor Djordjevic
Bor, Srbija

Član broj: 29241
Poruke: 196
*.dynamic.sbb.rs.

ICQ: 66516695
Sajt: www.MalamutKlub.com


+17 Profil

icon Re: Pascal, rad sa datotekama12.02.2014. u 19:43 - pre 77 meseci
Of skroz ;) Nego kad bi se alati (ne samo programski) koristili iskljucivo onako kako su prvobitno zamisljeni/namenjeni, daleko bi mi do sad dogurali... :D
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Pascal, rad sa datotekama

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

Postavi temu Odgovori

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