Toon posts:

[delphi]lengte van string tijdens filewrite?

Pagina: 1
Acties:

Verwijderd

Topicstarter
als ik een file wil writen met de file- fucties gaat ie bij mij een beetje kloten...hier eventjes de code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.Button1Click(Sender: TObject);
var
  FileHandle: Integer;
  detext: string;
  written: Integer;
begin
      if savedialog1.execute then
            begin
            filehandle := filecreate(savedialog1.FileName);
            detext := edit1.text;
            written := filewrite(filehandle, detext, length(detext));
            label1.caption := inttostr(written);
            fileclose(filehandle);
            end;
end;

wat nu het probleem is...als ik in edit1 blaat ik ben een aap invul, krijg ik op me label1.caption wel netjes te zien hoeveel bytes ie eigenlijk geschreven heeft, maar als ik dan in de file kijk staat er dit: 㼀ŽÈ᱒C㘈ŽðÑB
ja idd, het is brak. weet iemand misschien wat ik fout doe?

  • ArieProductions
  • Registratie: Januari 2002
  • Laatst online: 27-11-2024
File openen als textfile, er zijn in Delphi nogal wat mogelijkheden om text/strings naar een file te schrijven,

Volgens mij schrijf je het nu 'binair' weg.

"Quidquid latine dictum sit, altum videtur" (Whatever is said in Latin sounds profound)


Verwijderd

Het wegschrijven gebeurd inderdaad goed. Door deze code toe te voegen kan je dat controleren:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.Button2Click(Sender: TObject);
var
  FileHandle: Integer;
  detext: string;
  read: Integer;
begin
      if opendialog1.execute then
            begin
            filehandle := fileopen(opendialog1.FileName, fmOpenRead);
            read := fileread(FileHandle, detext, 5);
            label2.caption := inttostr(read);
            Edit2.Text := detext;
            fileclose(FileHandle);
            end;
end;

Verwijderd

Topicstarter
Op maandag 01 april 2002 13:56 schreef ArieProductions het volgende:
File openen als textfile, er zijn in Delphi nogal wat mogelijkheden om text/strings naar een file te schrijven,

Volgens mij schrijf je het nu 'binair' weg.
jah, maar als ik dit ga writen:
code:
1
written := filewrite(filehandle, 'blaataap', 8);

dan schrijft ie het dus niet in binair en komt er gewoon blaataap in een file te staan, en hoe kan het dan dat als ik de inhoud van edit1.text wil schrijven naar een file dat ik dan binaire troep krijg? wat si de oplossing? :)

Verwijderd

code:
1
written := filewrite(filehandle, Pointer(detext)^, length(detext))

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Op maandag 01 april 2002 21:29 schreef Joosie het volgende:

ik de inhoud van edit1.text wil schrijven naar een file dat ik dan binaire troep krijg? wat si de oplossing? :)
definieer die "detext" eens als 'shortstring', dan zou het denk ik wel moeten werken..

  • porn*
  • Registratie: Januari 2001
  • Laatst online: 22:57

porn*

...take on the world!

Ik weet niet precies wat je wilt doen, maar kun je geen TStrings gebruiken? Die kan je namelijk erg makkelijk uitlezen & wegschrijven.

Bnet pindle#2913

Pagina: 1