/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Hvorfor virker Append ikke ?
Fra : -= SpookiePower=-


Dato : 23-10-01 16:48

Hvorfor virker Append ikke i dette program ?? Jeg får beskeden -
Incompatible types.
Programmet virker med Rewrite, men så sletter jeg jo indholdet i filen.


type
TPrisliste = Record
VareNavn : String[15];
VarePris : Integer;


public { Public declarations }
Pris : File of TPrisListe;


procedure TTestRecordForm.btnTilfojvarerClick(Sender: TObject);
Var
PrisListe : TPrisListe;
begin
AssignFile(Pris, Filenavn);
try
Append(Pris); // Virker ikke
PrisListe.VareNavn := edtVarerNavn.Text;
PrisListe.VarePris := StrToInt(edtVarerPris.Text);
write(Pris, PrisListe);
finally
CloseFile(Pris);
end;
end;





 
 
Uffe Kousgaard (23-10-2001)
Kommentar
Fra : Uffe Kousgaard


Dato : 23-10-01 17:02

Prøv at tilføje "system." foran append. Gør det nogen forskel ?
Hvis det gør, så har compileren fat i en anden append procedure end den i
system.pas. Ellers ser det rigtigt ud.

Hilsen
Uffe




-= SpookiePower=- (23-10-2001)
Kommentar
Fra : -= SpookiePower=-


Dato : 23-10-01 17:41


"Uffe Kousgaard" <uffe@routeware.dk> wrote in message
news:3bd59492$0$240$edfadb0f@dspool01.news.tele.dk...
> Prøv at tilføje "system." foran append. Gør det nogen forskel ?
> Hvis det gør, så har compileren fat i en anden append procedure end den i
> system.pas. Ellers ser det rigtigt ud.
>
> Hilsen
> Uffe

Nej, det virker desværre ikke.



Claus Christiansen (23-10-2001)
Kommentar
Fra : Claus Christiansen


Dato : 23-10-01 18:21

"-= SpookiePower=-" <boxjunk2600@hotmail.com> wrote in
news:9r43aa$jak$1@news.cybercity.dk:

> Hvorfor virker Append ikke i dette program ?? Jeg får beskeden -
> Incompatible types.
> Programmet virker med Rewrite, men så sletter jeg jo indholdet i
> filen.
>
>
<klip>
> procedure TTestRecordForm.btnTilfojvarerClick(Sender: TObject);
> Var
> PrisListe : TPrisListe;
> begin
> AssignFile(Pris, Filenavn);
> try
> Append(Pris); // Virker ikke
<klip>

Append er kun til Text filer, hvis du vil gøre det samme med andre
typer skal du anvende reset(handle) og så seek

fx: seek(fHandle, FileSize(fHandle) div sizeof(TPrisliste));

det skulle vist gøre det.

/Claus

--
Claus Christiansen, <mailto:cch@unipeople.dk>

personal: http://www.bigfoot.com/~kruc/; pythia: http://www.pythia.dk
============================================--------------------------
"Computers are useless. They can only give you answers."
- Pablo Picasso (1881-1973)

-= SpookiePower=- (23-10-2001)
Kommentar
Fra : -= SpookiePower=-


Dato : 23-10-01 22:23


"Claus Christiansen" <kruc@bigfoot.com> wrote in message
news:Xns9143C46E9A876krucsid@192.168.1.2...

> Append er kun til Text filer, hvis du vil gøre det samme med andre
> typer skal du anvende reset(handle) og så seek
>
> fx: seek(fHandle, FileSize(fHandle) div sizeof(TPrisliste));
>
> det skulle vist gøre det.
>
> /Claus

Jeg er forholdsvis ny inden for Delphi, og forstår ikke helt din hjælp.
Kan du ikke vise mig hvordan du ville sætte det ind i min programstump ?


procedure TTestRecordForm.btnTilfojvarerClick(Sender: TObject);
Var
PrisListe : TPrisListe;
begin
AssignFile(Pris, Filenavn);
try
Append(Pris); // Virker ikke
PrisListe.VareNavn := edtVarerNavn.Text;
PrisListe.VarePris := StrToInt(edtVarerPris.Text);
write(Pris, PrisListe);
finally
CloseFile(Pris);
end;
end;




Uffe Kousgaard (24-10-2001)
Kommentar
Fra : Uffe Kousgaard


Dato : 24-10-01 08:11

Tak til Claus. Det med Append's begrænsning til txt filer, vidste jeg ikke.
Til gengæld skal der ikke anvendes "div sizeof(TPrisliste))", da filesize
returnerer antallet af records.

procedure TTestRecordForm.btnTilfojvarerClick(Sender: TObject);
Var
PrisListe : TPrisListe;
begin
AssignFile(Pris, Filenavn);
try
Reset(Pris);
seek(Pris, FileSize(Pris));
PrisListe.VareNavn := edtVarerNavn.Text;
PrisListe.VarePris := StrToInt(edtVarerPris.Text);
write(Pris, PrisListe);
finally
CloseFile(Pris);
end;
end;

Hilsen
Uffe




Claus Christiansen (24-10-2001)
Kommentar
Fra : Claus Christiansen


Dato : 24-10-01 17:56

"Uffe Kousgaard" <uffe@routeware.dk> wrote in
news:3bd6695d$0$767$edfadb0f@dspool01.news.tele.dk:

> Tak til Claus. Det med Append's begrænsning til txt filer, vidste jeg
> ikke. Til gengæld skal der ikke anvendes "div sizeof(TPrisliste))",
> da filesize returnerer antallet af records.

Du har fuldstændig ret, man bør sgu slå sådan noget op inden man kommer
med en påstand :)

--
Claus Christiansen, <mailto:cch@unipeople.dk>

personal: http://www.bigfoot.com/~kruc/; pythia: http://www.pythia.dk
============================================--------------------------
"Computers are useless. They can only give you answers."
- Pablo Picasso (1881-1973)

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste