[ djdejan @ 25.12.2004. 10:28 ] @
Nisam bas vest sa Pascal-om, pa bih zamolio da mi neko pomogne oko probleme.

Problem je sledeci: potreban mi je mali programcic koji ucitava jedan INTEGER broj iz reci fajla d:\fajl.txt
Dobijeni broj treba da uveca za 1 i da ga ponovo upise u taj isti d:\fajl.txt

Verujem da to pravim pascalcima nije problem..... :)

Hvala unapred! :)
[ Burgos @ 25.12.2004. 11:16 ] @
A jel taj broj na početku linije (koje?) ili mu je mesto randomizirano?
[ djdejan @ 25.12.2004. 11:24 ] @
Da, broj je na pocetku samog fajla.
[ Srki_82 @ 25.12.2004. 14:54 ] @
Kako su reci upisane u fajl?

Ovako (svaka rec u novom redu):
prva
druga
treca
cetvrta

Ili (sve reci u jednom redu):
prva druga treca cetvrta

Ili (nije odredjeno koliko ce reci biti u redu):
prva
druga treca
cetvrta

Sta sluzi kao separator reda: #13 ili #10 ili kombinacija #13#10?

Sta sve moze da sluzi kao separator reci? Sve sto nije slovo ni broj ili nesto odredjeno?

Da li 063-123-456 treba da broji kao jednu rec ili 3 reci i da li uopste brojeve treba da broji kao reci?
[ Srki_82 @ 25.12.2004. 15:29 ] @
Sad citam ponovo tvoj post i resenje je ustvari preterano lako :) S obzirom da se sa procitanim recima nista ne radi ne moras ni da ih citas :)
Citat:
djdejan:Problem je sledeci: potreban mi je mali programcic koji ucitava jedan INTEGER broj iz reci fajla d:\fajl.txt
Dobijeni broj treba da uveca za 1 i da ga ponovo upise u taj isti d:\fajl.txt

Znaci ucitas samo prvi red u kojem se nalazi taj integer, dodas mu jedan i ponovo ga upises na prvo mesti i kraj :)
Code:

var F:Text; I:Integer;
begin
    Assign( F, 'D:\Fajl.txt' );
    Reset( F );
    ReadLn( F, I );
    Close ( F );
    Inc( I );
    Rewrite( F );
    WriteLn( F, I );
    Close( F );
end;

Nisam siguran da li Text moze da koristi seek da se vrati na pocetak, ali ovo ce sigurno da radi.
[ djdejan @ 25.12.2004. 19:36 ] @
pAZI STVARNO, RADI! :)

jos kada bi samo neko znao da mi kaze kako da pozovem neki drugi eksterni program (bat,exe...)

brobao sam exec.. ali nista se ne izvrsava. :(
[ Burgos @ 25.12.2004. 20:06 ] @
ovako:
Koristi se komanda exec(putanja, parametri) a moraš ubaciti dos komandom
uses dos; .

Primer

Code:

uses dos;
var s,s1: string;
writeln('Putanja do programa: ');
readln(s);
writeln('[opcijonalno] Komandni parametri: ');
readln(s1);
swapvectors;
exec(s,s1);
swapvectors;
writeln('Posle izvršenja programa ');
if doserror = 0 then
writeln('Izlazni kod = ',dosexitcode)
else writeln('Dos error # = ',doserror);
end.
[ djdejan @ 25.12.2004. 20:51 ] @
da, ali uvek prijavljuje doserror: 8 !!!
a u options je memory heap podeseno na maksimum??!! :(
[ Srki_82 @ 26.12.2004. 01:33 ] @
Dodaj {$M 4096,1024,4096} pre uses dos;
Tako ce da radi 100%

Procitaj ovo: http://student.vub.ac.be/~bvingerh/FAQ1.htm
[ djdejan @ 26.12.2004. 10:08 ] @
100% ???

izgleda da ovako bar pokusa da izvrsi program, ali javi gresku!

[ djdejan @ 26.12.2004. 10:12 ] @
100% ???

izgleda da ovako bar pokusa da izvrsi program, ali javi gresku!

Evo i slike ....
[ Srki_82 @ 26.12.2004. 11:12 ] @
Probao sam kod mene i radi lepo :) Pokrecu se i DOS i Win programi bez problema. Sta imas u tom bat fajlu?