Nie ten tekst

0
procedure TForm1.Button1Click(Sender: TObject);
var
FileStream : TFileStream;
txt : string;
begin
txt := 'Coś tam';
FileStream := TFileStream.Create('tekst.txt', fmCreate);
FileStream.Write(txt,SizeOf(txt));
FileStream.Free;
end;

po czymś takim tekst ze zmiennej tekst nie zapisuje się jako "Coś tam" tylko RUD. Jak zrobić żeby był identyczny?

0
procedure TForm1.Button1Click(Sender: TObject);
var
FileStream : TFileStream;
txt : string;
begin
txt := 'Coś tam';
FileStream := TFileStream.Create('tekst.txt', fmCreate);
FileStream.Write(pchar(txt),length(txt));
FileStream.Free;
end;

F1, F1 i jeszcze raz F1!!!!

0

It's not working

0

no właśnie nie działa, bo po co sprawdzać, lepiej zaśmiecać forum [diabel]

Sprawdzałem:

procedure TForm1.Button1Click(Sender: TObject);
var
  FileStream : TFileStream;
  txt : array[0..6] of char;
begin
  txt := 'Coś tam';
  FileStream := TFileStream.Create('d:\tekst.txt', fmCreate);
  FileStream.WriteBuffer(txt, length(txt));
  FileStream.Free;
end;

/// Jest tylko jedno małe ale próbowałem wykombinować to z tablicą dynamiczą, ale buggy były. Więc jest tak, że tam gdzie jest szóstka (sekcja var) myci być długość stringa.

0

no właśnie nie działa, bo po co sprawdzać, lepiej zaśmiecać forum [diabel]

nie mam delphi na stanie aktualnie. ale zamiast tablicy mozna bylo cos z pcharem zrobic, ale nie pamietam. moze to bylo pchar(@text)^ czy cos. nie pamietam dokladnie.

0

Ehh, ja kiedyś wpadłem na inny sposób:

...
FileStream.write(txt[1],Length(txt));
...
0

Filestream czym sie rozny od assignfile, rewrite itp ?

0
...
FileStream.write(txt[1],Length(txt));
...

Thx

procedure TForm1.Button1Click(Sender: TObject);
var
  FileStream : TFileStream;
  txt : array[0..1] of ShortString;
begin
  txt[1] := 'Coś tam';
  FileStream := TFileStream.Create('d:\tekst.txt', fmCreate);
  FileStream.WriteBuffer(txt[1], length(txt[1])+1);
  FileStream.Free;
end;

tylko nie wiem skąd się wziął ten pierwszy znak w pliku, ale można zdzierżyć :d

0

Za dużo nakombinowałeś :P

procedure TForm1.Button1Click(Sender: TObject);
var FileStream : TFileStream;
      txt : string;
begin
  txt := 'Coś tam';
  FileStream := TFileStream.Create('d:\tekst.txt', fmCreate);
  FileStream.Write(txt[1],Length(txt));
  FileStream.Free;
end;

I nie ma tego zbędnego znaku.

0

szukałem trochę za daleko...

1 użytkowników online, w tym zalogowanych: 0, gości: 1