eit2_l10.pdf

(151 KB) Pobierz
Microsoft Word - eit2_l10.doc
Językiprogramowania
Laboratorium10–Pliki
1
1.Zapisiodczytzmiennej
WdeklaracjiklasyTForm1stwórzzmiennąliczba1
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
int liczba1;
};
//---------------------------------------------------------------------------
Umieśćnaformatcenastępującekomponenty.Nadajetykietyprzyciskom.
WzdarzeniuprzyciskuZapiszwstawnastępującykod:
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
liczba1=Edit1->Text.ToIntDef(0);
TFileStream *Plik=new TFileStream("test.dat",fmCreate);
Plik->Write(&liczba1,sizeof(int));
Plik->Free();
}
//---------------------------------------------------------------------------
WzdarzeniuprzyciskuWczytajwstawnastępującykod:
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
liczba1=0;
TFileStream *Plik=new TFileStream("test.dat",fmOpenRead);
Plik->Read(&liczba1,sizeof(int));
Plik->Free();
Label1->Caption=liczba1;
}
//---------------------------------------------------------------------------
SprawdździałanieaplikacjipamiętającabywpoluEditwpisaćliczbę
DanielKról–PWSZTarnów
170470842.028.png 170470842.029.png 170470842.030.png 170470842.031.png 170470842.001.png 170470842.002.png
Językiprogramowania
Laboratorium10–Pliki
2
2.ZapisiodczytróŜnychzmiennych
WdeklaracjiklasyTForm1stwórzzmiennąliczba2
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
int liczba1;
float liczba2;
};
//---------------------------------------------------------------------------
Dodajdoformatkikolejnekomponenty
WzdarzeniuprzyciskuZapiszwstawnastępującykod:
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
liczba1=Edit1->Text.ToIntDef(0);
liczba2=Edit2->Text.ToDouble();
TFileStream *Plik=new TFileStream("test.dat",fmCreate);
Plik->Write(&liczba1,sizeof(int));
Plik->Write(&liczba2,sizeof(float));
Plik->Free();
}
//---------------------------------------------------------------------------
WzdarzeniuprzyciskuWczytajwstawnastępującykod:
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
liczba1=0;
liczba2=0;
TFileStream *Plik=new TFileStream("test.dat",fmOpenRead);
Plik->Read(&liczba1,sizeof(int));
Plik->Read(&liczba2,sizeof(float));
Plik->Free();
Label1->Caption=liczba1;
Label2->Caption=liczba2;
}
//---------------------------------------------------------------------------
SprawdździałanieaplikacjipamiętającabywpolachEditwpisaćliczby.
DanielKról–PWSZTarnów
170470842.003.png 170470842.004.png 170470842.005.png 170470842.006.png 170470842.007.png 170470842.008.png
Językiprogramowania
Laboratorium10–Pliki
3
3.Oknodialogowe
ZzakładkiDialogspobierzkomponentyOpenDialogiSaveDialog
Zaznacz komponent OpenDialog1 a następnie w Object Inspector ustaw domyślne
rozszerzenie(DefaultExt)nanp.dat
OperacjepowtórzdlakomponentuSaveDialog1.
WObject InspectorustawwłaściwośćFilter
OperacjepowtórzdlakomponentuSaveDialog1.
DanielKról–PWSZTarnów
170470842.009.png 170470842.010.png 170470842.011.png 170470842.012.png 170470842.013.png 170470842.014.png 170470842.015.png 170470842.016.png 170470842.017.png
Językiprogramowania
Laboratorium10–Pliki
4
WzdarzeniuprzyciskuZapiszwstawnastępującykod:
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
liczba1=Edit1->Text.ToIntDef(0);
liczba2=Edit2->Text.ToDouble();
if(SaveDialog1->Execute())
{
TFileStream *Plik=NULL;
try
{
Plik=new TFileStream(SaveDialog1->FileName,fmCreate);
Plik->Write(&liczba1,sizeof(int));
Plik->Write(&liczba2,sizeof(float));
}
catch(...)
{
MessageBox(0,"Nie mozna zapisac pliku","Blad",0);
}
if(Plik)
Plik->Free();
}
}
//---------------------------------------------------------------------------
WzdarzeniuprzyciskuWczytajwstawnastępującykod:
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
liczba1=0;
liczba2=0;
if(OpenDialog1->Execute())
{
TFileStream *Plik=NULL;
try
{
Plik=new TFileStream(OpenDialog1->FileName,fmOpenRead);
Plik->Read(&liczba1,sizeof(int));
Plik->Read(&liczba2,sizeof(float));
}
catch(...)
{
MessageBox(0,"Nie mozna wczytac pliku","Blad",0);
}
if(Plik)
Plik->Free();
}
Label1->Caption=liczba1;
Label2->Caption=liczba2;
}
//---------------------------------------------------------------------------
Sprawdździałanieaplikacji.
DanielKról–PWSZTarnów
170470842.018.png 170470842.019.png 170470842.020.png 170470842.021.png 170470842.022.png
Językiprogramowania
Laboratorium10–Pliki
5
4.Zadania
a) Napiszprogramzapisującyiodczytującyzdysku50cioelementowątablicętypuint.
b) NapiszprogramktóryzapiszenadyskupołoŜenieorazrozmiarformatkiwczasiejego
zamykania, oraz wczytujący te dane przy uruchomieniu. UŜyj zmiennych
pomocniczychtypuint.
c) Napisz program otwierający Open pliki .TXT i wyświetlający ich zawartość w
komponencieRichEdit.ProgrampowinienmiećmoŜliwośćedycjizawartościplikui
zapisuichpodtąsamąnazwąSaveorazpodnazwądowolnąSave AsÈ
DanielKról–PWSZTarnów
170470842.023.png 170470842.024.png 170470842.025.png 170470842.026.png 170470842.027.png
Zgłoś jeśli naruszono regulamin