Skocz do zawartości
maciko

[delphi] Problem Z Zapisywaniem

Rekomendowane odpowiedzi

unit Main;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls, ComCtrls, Gauges, ScktComp;type  TForm1 = class(TForm)    grpPlik: TGroupBox;    lblRozmiar: TLabel;    txtRozmiar: TEdit;    lblSciezka: TLabel;    txtPath: TEdit;    btnOpen: TButton;    grpStatus: TGroupBox;    lblWyslano: TLabel;    lblSent: TLabel;    lblPozostalo: TLabel;    lblRemain: TLabel;    Progress: TGauge;    txtConsole: TRichEdit;    grpContacts: TGroupBox;    Edit1: TEdit;    btnSend: TButton;    lstKontakty: TListBox;    btnAdd: TButton;    btnDelete: TButton;    OpenDialog1: TOpenDialog;    SaveDialog1: TSaveDialog;    ClientSocket1: TClientSocket;    ServerSocket1: TServerSocket;    procedure btnAddClick(Sender: TObject);    procedure Zapiszkontakty;    procedure ZaladujKontakty;    procedure FormCreate(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end;type kontakt = record                   IP : string;                   Nazwa : String;                   end;var  Form1: TForm1;  KontaktIndex : integer;  Kontakty : array[0..50] of kontakt;  plikKontakty : File;  licznik : integer;implementationuses Kontakt;{$R *.dfm}procedure TForm1.btnAddClick(Sender: TObject);beginif(frmNowy.Showmodal=1) then begin Zapiszkontakty; end;end;procedure TForm1.Zapiszkontakty;beginAssignFile(plikKontakty,'kontakty.dat');Rewrite(plikKontakty,1);BlockWrite(plikKontakty,Kontakty,sizeof(Kontakty));closeFile(plikKontakty);end;procedure TForm1.ZaladujKontakty;beginif FileExists('kontakty.dat') thenbeginAssignFile(plikKontakty,'kontakty.dat');Reset(plikKontakty,1);Seek(plikKontakty,0);BlockRead(plikKontakty,Kontakty,filesize(plikKontakty));closeFile(plikKontakty);end;end;procedure TForm1.FormCreate(Sender: TObject);beginZaladujKontakty;end;end.

Mam problem z procedurą ZapiszKontakty. Mianowicie kiedy otworzę zapisany plik notatnikiem, widać tylko jakieś "krzaczki", a nie tekst. Czy dobrze odwołałem się do bufora? Proszę o pomoc!

 

P.S. Myślę, że to WinXP nie pozwala na poprwany zapis tą metodą, jeśli ktoś zna inną to proszę o odpowiedź.

Edytowane przez maciko

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

No z windowsem xp to raczej duzo wspolnego nie ma.

Daaaaawno nic nie pisalem w pascalu ale moze cos sie sprawdzi, mianowicie:

 

type kontakt = record                  IP : string[dlugosc];                  Nazwa : String[dlugosc];                  end;

Sprobuj cos takiego, sam typ String niebardzo pasuje do zapisu w pliku w ten sposob, nalezy wymusic mu jakas stala dlugosc/wielkosc.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...