ERROR prilikom upisa recorda u datoteku?! [Delphi]

1

ERROR prilikom upisa recorda u datoteku?! [Delphi]

offline
  • Đuro Glumac
  • dipl. ing. informatike
  • Pridružio: 08 Feb 2004
  • Poruke: 3640
  • Gde živiš: ApAtIn

ovako: definisao sam ovakav record
type osoba = record
ime: string[10];
prezime: string[15];
adresa: string[40];
telefon: string[14];
end;
var
radnik: osoba;
f: file of osoba;
procedure TForm1.SnimiClick(Sender: TObject);
var
A,B,C,D: string;
begin
AssignFile(f,'c:\proba.txt');
reset(f);
Seek(f,FileSize(f));
A := Ime.Text;
B := Prezime.Text;
C := Adr.Text;
D := Tel.Text;
radnik.ime:=A;
radnik.prezime:=B;
radnik.adresa:=C;
radnik.telefon:=D;
write(f,radnik);
CloseFile(f);
end;

Svaki put kada snimam podatke u datoteku on mi izbrise prethodne podatke kao kad se koristi naredba rewrite. Treba mi nesto slicno kao APPEND u pascalu. Ako neko ima resenje nek ostavi post.[/img]



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 18 Apr 2003
  • Poruke: 1819
  • Gde živiš: Beograd

Ovo ti je iz Help-a, pa pogledaj...Ne znam da li si ga citao...

Input and output procedures and functions
Procedure or function Description
Append Opens an existing text file for appending.
AssignFile Assigns the name of an external file to a file variable.
BlockRead Reads one or more records from an untyped file.
BlockWrite Writes one or more records into an untyped file.
ChDir Changes the current directory.
CloseFile Closes an open file.
Eof Returns the end-of-file status of a file.
Eoln Returns the end-of-line status of a text file.
Erase Erases an external file.
FilePos Returns the current file position of a typed or untyped file.
FileSize Returns the current size of a file; not used for text files.
Flush Flushes the buffer of an output text file.
GetDir Returns the current directory of a specified drive.
IOResult Returns an integer value that is the status of the last I/O function performed.
MkDir Creates a subdirectory.
Read Reads one or more values from a file into one or more variables.
Readln Does what Read does and then skips to beginning of next line in the text file.
Rename Renames an external file.
Reset Opens an existing file.
Rewrite Creates and opens a new file.
RmDir Removes an empty subdirectory.
Seek Moves the current position of a typed or untyped file to a specified component. Not used with text files.
SeekEof Returns the end-of-file status of a text file.
SeekEoln Returns the end-of-line status of a text file.
SetTextBuf Assigns an I/O buffer to a text file.
Truncate Truncates a typed or untyped file at the current file position.
Write Writes one or more values to a file.
Writeln Does the same as Write, and then writes an end-of-line marker to the text file.



offline
  • Đuro Glumac
  • dipl. ing. informatike
  • Pridružio: 08 Feb 2004
  • Poruke: 3640
  • Gde živiš: ApAtIn

Pa imam i ja help u delphiju. Da sam razumeo help ne bi ostavio post ovde. Aj pojasni...

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 1819
  • Gde živiš: Beograd

Pa svi onako "ofrlje" pogledaju help, ni ne trude se da razumeju, i odmah traze pomoc...
Pa vidis da sam ti podvukla sta pise...pogledaj da li je to mozda u pitanju...
Ovo je cista pacal sintaksa...ne znam zasto to ne uradis na neki drugi nacin,ako vec radis delphi? I kad pozivas ovo, gde ti je neka petlja?
I jesi li ostao pri txt fajlu ili ces da ides na mySQL

offline
  • Đuro Glumac
  • dipl. ing. informatike
  • Pridružio: 08 Feb 2004
  • Poruke: 3640
  • Gde živiš: ApAtIn

Prvo hocu da resim ovo sa TXT datoteka da se osiguram a ne da krpim program u zadnja 2-3 dana, pa cu ako stignem da odradim i sa MySQL. Dobro si me provalila..Pascal znam odlicno i pre nikoh 2-3 meseca sam presao na Delphi tako da jos uvek trazim tu vezu izmedju njih i razlike...Jednostavno furam Pascal sintaksu a kad zapne ostavljam post Smile
Na kakvu si petlju mislila? Sto ce mi petlja za upis u datoteku?

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 1819
  • Gde živiš: Beograd

Smile
Pa treba ti petlja tipa while file.EOF do
Evo ti jedan primer pa pogledaj malo.U delphiju takodje postoji naredba append,samo da znas Smile


program ka; type zapis=record              sif:1..100;              naziv:string[20];              kol:integer;            end;      tslog=zapis;      tdat=file of tslog; var d:tdat;pom:tslog; begin   assign(d,'proizvod.dat');   rewrite(d);   while not eof do      begin        with pom do          begin            writeln('Daj sifru');readln(sif);            writeln('naziv');readln(naziv);            writeln('Kolicina');readln(kol);          end;      write(d,pom);    end; readln; close(d); end.

offline
  • Đuro Glumac
  • dipl. ing. informatike
  • Pridružio: 08 Feb 2004
  • Poruke: 3640
  • Gde živiš: ApAtIn

Puno hvala Jelena. Znam da ima append ali ne volim da rovam po helpu a sintaksa od pascala ne radi. znam za while not eof(f. npr) do al nece bas tako za delphi. Aj sad cu probati ovako. U svakom slucaju puno hvala za primer.

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 1819
  • Gde živiš: Beograd

Pa ja sam ti dala pascal sintaksu, da lepo shvatis. Da, u delphiju ide malo drugacije (ja kada radim koristim dataset-ove a ne ovako jednostavnu sintaksu), ali je princip isti. Ipak pogledaj malo i help. Ako zatreba jos neka pomoc, zovi Smile

offline
  • Đuro Glumac
  • dipl. ing. informatike
  • Pridružio: 08 Feb 2004
  • Poruke: 3640
  • Gde živiš: ApAtIn

Jel koristis ovaj ICQ sto ti je u profilu napisan? Pa negde ce zapeti opet za koji dan a mozda i danas. Smile

offline
  • Rexpen 
  • Novi MyCity građanin
  • Pridružio: 10 Jan 2004
  • Poruke: 16

Greska je sigurno u tome sto si datoteku povezao i pozvao kao tekstualnu, sa ekstenzijom .txt. Slogovi mogu da budu delovi iskljucivo tipskih i netipskih datoteka, nikako tekstualnih. Sto se samih datoteka tice, i tu postoji par razlika kako se pristupa podacima u njima.

Moje pitanje glasi: kako stampati podatke iz jedne datoteke (delovi sloga).
Koji se objekat koristi i kako se sa njim radi?

Ko je trenutno na forumu
 

Ukupno su 845 korisnika na forumu :: 9 registrovanih, 0 sakrivenih i 836 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: DPera, DragoslavS, goxin, HrcAk47, lcc, Mi lao shu, novator, ozzy, yrraf