Ja, det har jeg set.
Men jeg syntes faktisk at de der FileOpen rutiner er ganske nemme at bruge.
Og jeg har fundet ud af, at man til FileOpen kan overføre mere end ét flag.
Det løste problemet.
Michael
"Jakob" <lanstorp@hotmail.com> skrev i en meddelelse
news:_3tjb.7538$jf4.465137@news000.worldonline.dk...
> Prøv at bruge AssignFile i stedet for FileOpen.
>
> Fra Delphi hjælpen:
>
> Use of the non-native Pascal file handlers such as FileOpen is not
> encouraged. These routines map to system routines and return OS file
> handles, not normal Pascal file variables. These are low-level file access
> routines. For normal file operations use AssignFile, Rewrite, and Reset
> instead.
>
>
> Jakob Lanstorp
>
http://www.lanstorp.com
>
> ----- Original Message -----
> From: "Michael Vilhelmsen" <Mivi@SHOULD.BE.REMOVED.Hunderupnet.dk>
> Newsgroups: dk.edb.programmering.pascal
> Sent: Wednesday, October 15, 2003 3:29 PM
> Subject: FileWrite procedure
>
>
> > Hej
> >
> > Jeg har lavet et ganske lille program, som kun har en knap.
> > OnClick på denne er:
> >
> > procedure TForm1.Button1Click(Sender: TObject);
> > type
> > TmpRec = Packed Record
> > Art : Byte;
> > Dato : String[8];
> > Konto : String[10];
> > Belob : Real48;
> > Navn : String[20];
> > KasseNr : Byte;
> > BonNr : Integer;
> > Unused : Packed Array [1..24] Of Byte;
> > End; {Rec TmpRec}
> > var
> > FilHandle : INteger;
> > TmpInt : Integer;
> > FRec : tmprec;
> > begin
> > FillChar(FRec,SizeOf(FRec),#00); //Initializing
> >
> > if (FileExists('E:\Gemmes\F001.OCD')) then
> > FilHandle := FileOpen('E:\Gemmes\F001.OCD',fmShareDenyNone) // Open
> > existing file
> > else
> > FilHandle := FileCreate('E:\Gemmes\F001.OCD'); // Create new file.
> > if (FilHandle>0) then // if open / create OK
> > begin
> > FRec.Art := FilHandle;
> > FRec.Dato := '20031015';
> > FRec.Konto := 'Michael';
> > FRec.Belob := 99.95;
> > FRec.Navn := 'Some information';
> > FRec.KasseNr := 1;
> > FRec.BonNr := 4587;
> > tmpInt := FileSeek(FilHandle,0,2);
> > if (tmpInt<>-1) then
> > begin
> > TmpInt := FileWrite(FilHandle,FRec,SizeOf(FRec));
> > if (not (TmpInt=SizeOf(FRec))) then
> > begin
> > ShowMessage('Could not write to file ');
> > end
> > else
> > begin
> >
> > end;
> > end
> > else
> > begin
> > ShowMessage('Unable to seek into file ');
> > end;
> >
> > FileClose(FilHandle);
> > end
> > else
> > begin
> > ShowMessage('Unable to open / create file ');
> > end;
> > end;
> >
> >
> > Når filen IKKE findes virker det.
> > Når filen findes, returnere FileWrite -1.
> >
> > Nogen der ved hvorfor (eller hvad jeg gør forkert).
> >
> > --
> > Best Regards / Med venlig hilsen
> > Michael Vilhelmsen
> >
> >
>
>