Podstawy programowania

Wielkość: px
Rozpocząć pokaz od strony:

Download "Podstawy programowania"

Transkrypt

1 Pliki Podstawy programowania Prawie w każdym programie jest potrzebne napisanie kodu do czytania danych z pliku lub do zapisywaniu danych do pliku. Każde środowisko programowania zawiera środki do czytania i zapisywania danych do plików. Najmniejszej jednostką do przechowywania danych w pliku jest bajt. Rozmiar pliku jest podawany w bajtach lub w większych jednostkach: 1 Kbajt = 1024 bajtów, 1 Mbajt = 1024 * 1024 bajtów, 1 Gbajt = 1024 * 1024 * 1024 bajtów. Istnieją dwa typu plików: binarne i tekstowe. Plik binarny jest łańcuchem zapisów reprezentujących w postaci dwójkowej liczby lub znaki tekstowe. Zapisy mają jeden rozmiar, dlatego na podstawie podanego indeksu zapisu można obliczyć miejsce tego zapisu w pliku i przeczytać lub zapisać w to miejsce porcję danych. Plik tekstowy też jest łańcuchem zapisów, ale w postaci znakowej reprezentacji liczb i znaków tekstowych. Znaki zapisywane są w kodzie ASCII lub w kodzie UNICODE. Zapisy mają zwykle różne rozmiary i rozdzielone są albo dwoma znakami Początek wiersza (Powrót karetki) (kod 13) i Nowy wiersz (kod 10), albo tylko jednym znakiem Nowy wiersz (kod 10). Aby przeczytać lub zapisać element danych z zadanym indeksem, trzeba iść od początku pliku i liczyć zapisy. Oczywiste, że plik binarny daje zwykle większą prędkość działania programu, choć w przypadku szeregowego zapisywania i czytania zapisów pliki binarny i tekstowy nie różną się prędkością operacji. Przed operacją czytania lub zapisywania plik musi być otworzony za pomocą specjalnej instrukcji. Po zakończeniu operacji plik należy zamknąć.

2 1. Operacje z plikami w języku C Otwarcie i zamknięcie plików W języku C informacja o pliku i o stanie procesu czytania lub zapisywania może być przechowywana w obiekcie typu FILE. Wymagane prototypy funkcji i struktur są włączone w pliki nagłówkowe io.h i stdio.h. Odwołanie do tych plików należy dołączyć do tekstu programu: #include <io.h> #include <stdio.h> Alokacją obiektu typu FILE wykonuje funkcja fopen, która zwraca wskaźnik na strukturę FILE. Funkcja fopen ma następujący nagłówek: FILE* fopen(const char* nazwa_pliku, const char* tryb) Argument nazwa_pliku musi być nazwą pliku razem ze ścieżką. Zamiast nazwy pliku może być jedna z nazw standardowych urządzeni komputera: con - monitor, prn - drukarka, com - port szeregowy. Argument tryb określa tryb otwarcia pliku. Tryb jest opisywany ciągiem liter. Pierwsza litera określa operację nad plikiem: r - do odczytu pliku, który musi istnieć, w - do zapisywania pliku; jeżeli plik istnieje, to najpierw jest kasowany, a - do dopisywania pliku; jeżeli plik nie istnieje, to jest kreowany. Następna litera wskazuje na typ pliku: t - plik tekstowy, b - plik binarny. Jeżeli żadna z liter t, b nie występuje, to na typ pliku wskazuje wartość globalnej zmiennej _fmode. Na końcu wiersza - argumentu tryb można napisać jeszcze znak +, aby wskazać na możliwość tak odczytu, jak i zapisywania. Przykładowo FILE* pf=fopen( C:\\TEMP\\test.txt, rt+ ); /* jest otwierany istniejący plik tekstowy z możliwością aktualizacji*/ W przypadku nieudanego otwarcia pliku, funkcja fopen zwraca zerową wartość, co można wykorzystać dla sprawdzania czy plik istnieje?. Plik jest zamykany przy pomocy funkcji fclose, która ma następujący nagłówek: int fclose(file* wskaźnik_pliku) Na przykład: fclose(pf); /* zamyka plik ze wskaźnikiem pf */

3 Operacje z plikami tekstowymi W języku C do operacji z plikami tekstowymi służą licznie funkcje: int fgetc(file* pf) - odczyt pojedynczego znaku, int fputc(int znak, FILE* pf) - zapisywanie pojedynczego znaku, char* fgets(char* pbufor, int limit, FILE* pf) - odczyt wiersza, char* fputs(char* pbufor, FILE* pf) - zapisywanie wiersza. Ostatnim znakiem w pliku tekstowym jest znak EOF (ang. End Of File), co można wykorzystać dla wyjścia z cyklu odczytu pojedynczych znaków, na przykład: FILE* pf=fopen( C:\\TEMP\\test.txt, rt ); /* jest otwierany istniejący plik tekstowy*/ FILE* pf2=fopen( C:\\TEMP\\test2.txt, wt ); /* jest otwierany plik tekstowy do zapisywania*/ int znak; do {/*przepisywanie z pliku test.txt do pliku test2.txt*/ znak=fgetc(pf); if (znak!= EOF) { fputc(znak,pf2); } } while (znak!= EOF); fclose(pf2); /* zamyka plik i zapisuje znak EOF*/ fclose(pf); /* zamyka plik*/ Funkcja fgets przepisuje do bufora łańcuch znaków do pary znaków Początek wiersza i Nowy wiersz, ale nie więcej niż (limit-1) znaków, i dodaje do bufora znaki Nowy wiersz i \ 0. Funkcja fputs pobiera z bufora i zapisuje do pliku łańcuch znaków, który musi być zakończony w buforze znakami Nowy wiersz i \0. Przykład korzystania z funkcji fgets i fputs: FILE* pf=fopen( C:\\TEMP\\test.txt, rt ); /* jest otwierany istniejący plik tekstowy*/ FILE* pf2=fopen( C:\\TEMP\\test2.txt, wt ); /* jest otwierany plik tekstowy do zapisywania*/ char buf[128]; do {/*przepisywanie z pliku test.txt do pliku test2.txt*/ char* pch=fgets(buf,128,pf); if (pch!= 0) fputs(buf,pf2); } while (pch!= 0); fclose(pf2); /* zamyka plik i zapisuje znak EOF*/ fclose(pf); /* zamyka plik*/ Operacje z plikami binarnymi W języku C do operacji z plikami binarnymi są wykorzystywane następujące funkcje:

4 size_t fread(void* buf, size_t size, size_t nn, FILE* pf); size_t fwrite(void* buf, size_t size, size_t nn, FILE* pf); long ftell(file* pf); int fgetpos(file* pf, fpos_t* pos); int fseek(file* pf, long offset, int baza); int fsetpos(file* pf, fpos_t* pos); int fflush(file* pf); W środowisku Borland C++ Builder typ size_t jest zdefiniowany jako unsigned int, typ fpos_t - jako long. Funkcja fread czyta z pliku pf do bufora buf nn bloków bajtów rozmiarem size. Funkcja fwrite zapisuje do pliku pf z bufora buf nn bloków bajtów rozmiarem size. Obie funkcje zwracają liczbę przesłanych bloków, ale nie bajtów. Liczba przesłanych bajtów równa się (nn * size). Funkcje ftell i fgetpos podają pozycję wskaźnika pliku, a funkcje fseek i fsetpos ustawia wskaźnik pliku. Argument baza funkcji fseek może mieć następujące wartości: 0 - przemieszczenie offset należy liczyć od początku pliku, 1 - przemieszczenie offset należy liczyć od aktualnej pozycji wskaźnika pliku, 2 - przemieszczenie offset należy liczyć od końca pliku. Funkcja fflush opróżnia bufor pliku wyprowadzając dane do pliku. 2. Operacje z plikami w języku C++ W języku C++ do operacji z plikami można wykorzystywać strukturę FILE i funkcje języka C. Środowisko Borland C++ Builder W środowisku Borland C++ Builder jest klasa TFileStream do obsługi operacji z plikami. Metody klasy TFileStream są przystosowane do operacji z plikami binarnymi. W celu kreacji lub otwarcia istniejącego pliku należy zaalokować obiekt typu klasy TFileStream. Klasa ma konstruktor: fastcall TFileStream(const AnsiString FileName, Word Mode); Argument FileName jest nazwą pliku ze ścieżką. Argument Mode nadaje tryb otwarcia pliku i prawa dostępu do pliku. Wartość argumentu jest sumą logicznej binarnej opcji z dwóch grup. Opcje trybu otwarcia pliku mogą być następujące: fmcreate - system operacyjny musi otworzyć plik, a jeżeli plik istnieje, to skrócić jego do zera, fmopenread - system operacyjny musi otworzyć plik tylko do odczytu,

5 fmopenwrite - system operacyjny musi otworzyć plik tylko do zapisywania, fmopenreadwrite - możliwe są odczyt i zapisywanie danych. Opcje prawa dostępu do pliku mogą być następujące: fmshareexclusive - plik jest niedostępny dla innych aplikacji dopóty dopóki nie będzie zamknięty, fmsharedenywrite - inne aplikacje mogą tylko czytać dane z pliku, fmsharedenyread - inne aplikacje mogą tylko zapisywać dane do nie zamkniętego pliku. fmsharedenynone - inne aplikacje mogą czytać i zapisywać dane do nie zamkniętego pliku. Jeżeli plik nie może być otworzony, to system operacyjny produkuje wyjątek. Operacje z plikami binarnymi W języku C++ Builder w celu operacji z plikami binarnymi do klasy TFileStream dołączone są następujące metody i właściwości: virtual int fastcall Read(void *Buf, int NN); - odczyt do tablicy Buf nie więcej niż NN bajtów, virtual int fastcall Write(const void *Buf, int NN); - zapisywanie NN bajtów z tablicy Buf, virtual int64 fastcall Seek(const int64 Offs, TSeekOrigin Origin); - odczyt wiersza, property int64 Position - aktualna pozycja wskaźnika pliku, tj. odległość od początku pliku. property int64 Size - rozmiar pliku, ale tej właściwości nie można ustawić. Do metody Seek powinny być przekazane przemieszczenie Offs i opcja kierunku Origin, która może mieć jedną z wartości: - sofrombeginning - przemieszczenie od początku pliku, - sofromcurrent - przemieszczenie od aktualnej pozycji w pliku, - sofromend - przemieszczenie od końca pliku (przemieszczenie Offs musi być nie dodatnie). Środowisko Visual C++ W środowisku Visual C++ do operacji z plikami mają zastosowanie funkcje API (ang. Application Programming Interface) Win32. Tworzenie lub otwarcie pliku Funkcja API Win32 CreateFile tworzy lub otwiera plik. HANDLE CreateFile( LPCTSTR lpfilename, DWORD dwdesiredaccess, DWORD dwsharemode, LPSECURITY_ATTRIBUTES lpsecurityattributes, DWORD dwcreationdisposition, DWORD dwflagsandattributes, HANDLE htemplatefile );

6 Argumenty funkcji: lpfilename - adres nazwy pliku ze ścieżką, dwdesiredaccess tryb dostępu do pliku: GENERIC_READ do odczytu, GENE- RIC_WRITE do zapisu, które można połączyć operatorem, dwsharemode tryb dostępu do pliku ze strony innych aplikacji (można ustawić na 0), lpsecurityattributes adres struktury SECURITY_ATTRIBUTES z informacjami o zabezpieczeniach (można ustawić na 0), dwcreationdisposition tryb otwarcia pliku: CREATE_ALWAYS kreacja nowego pliku, OPEN_EXISTING otwarcie istniejącego pliku, dwflagsandattributes dodatkowe atrybuty (można ustawić na 0), htemplatefile deskryptor pliku tymczasowego (można ustawić na 0). Funkcja zwraca deskryptor (HANDLE) pliku, który należy stosować w funkcjach plikowych. Zamknięcie pliku Do zamknięcia pliku służy funkcja API Win32 CloseHandle. BOOL CloseHandle( HANDLE hobject ); Funkcja CloseHandle ma argument: hobject deskryptor pliku. Zapisywanie do pliku Do zapisywania do pliku służy funkcja API Win32 WriteFile. BOOL WriteFile( HANDLE hfile, LPCVOID lpbuffer, DWORD nnumberofbytestowrite, LPDWORD lpnumberofbyteswritten, LPOVERLAPPED lpoverlapped ); Funkcja WriteFile ma argumenty: hfile deskryptor pliku. lpbuffer adres bufora z danymi, nnumberofbytestowrite ilość bajtów do zapisywania, lpnumberofbyteswritten adres zmiennej do przechowywania ilości zapisanych bajtów, lpoverlapped adres struktury OVERLAPPED z informacją o nadpisaniu (można ustawić na 0). Funkcja zwraca ilość faktyczne zapisanych bajtów. Odczyt z pliku Do odczytu z pliku służy funkcja API Win32 ReadFile. BOOL ReadFile( HANDLE hfile, LPVOID lpbuffer, DWORD nnumberofbytestoread, LPDWORD lpnumberofbytesread, LPOVERLAPPED lpoverlapped ); Funkcja ReadFile ma argumenty:

7 hfile deskryptor pliku. lpbuffer adres bufora do przyjmowania danych, nnumberofbytestoread ilość bajtów do odczytu (rozmiar buforu), lpnumberofbytesread adres zmiennej do przechowywania ilości odczytanych bajtów, lpoverlapped adres struktury OVERLAPPED z informacją o nadpisaniu (można ustawić na 0). Funkcja zwraca (przez rejestr EAX) ilość faktyczne odczytanych bajtów. Przemieszczenie w pliku Do przemieszczenia w pliku służy funkcja API Win32 SetFilePointer. DWORD SetFilePointer( HANDLE hfile, LONG ldistancetomove, PLONG lpdistancetomovehigh, DWORD dwmovemethod ); Funkcja SetFilePointer ma argumenty: hfile deskryptor pliku. ldistancetomove odległość (w bajtach) do wartości (2^32 2), lpdistancetomovehigh ten argument musi być równy 0, jeśli rozmiar pliku jest mniejszy niż (2^32 2), a jeśli rozmiar pliku jest większy niż (2^32 2), to ten argument musi być adresem 32-bitowej zmiennej, która razem z argumentem ldistancetomove tworzy 64-bitową odległość, dwmovemethod opcja wskazująca na regułę liczenia odległości: FILE_BEGIN odległość jest liczona od początku pliku, FILE_CURRENT odległość jest liczona od aktualnej pozycji, FILE_END odległość jest liczona od końca pliku. Funkcja zwraca (przez rejestr EAX) pozycję wskaźnika pliku. Jeśli rozmiar pliku jest większy niż (2^32 2), to argument lpdistancetomovehigh wskazuje na 32-bitową zmienną, która razem z zawartością rejestru EAX tworzy 64-bitową pozycję.

8 3. Operacje z plikami w języku Object Pascal W języku Object Pascal można zdefiniować zmienną plikową typu plikowego. Typ plikowy file opisuje plik z nieznanym typem jednostki. Typ plikowy file of typ_jednostki opisuje plik binarny z zadanym typem jednostki. Procedura AssignFile łączy zmienną plikową z konkretnym plikiem. Za pomocą procedury Reset można otworzyć plik dla odczytu, za pomocą procedury Rewrite - dla zapisywania, oraz za pomocą procedury Append - dla dopisywania. Do zamykania pliku służy procedura CloseFile, Przykład otworzenia pliku dla odczytu w środowisku Delphi w programie obsługującej formularz FormKoszty z obiektami OpenDialog1 i StringGrid1: var plikkoszty: file of Integer; var i, j, value: Integer; if OpenDialog1.Execute then AssignFile(plikKoszty,OpenDialog1.FileName); Reset(plikKoszty); try for i := 1 to 5 do for j := 1 to 5 do Read(plikKoszty,value); FormKoszty.StringGrid1.Cells[i,j]:=IntToStr(value); finally CloseFile(plikKoszty); Operacje z plikami tekstowymi W środowisku Delphi z językiem Object Pascal jest specjalny typ Text (lub TextFile). Do obsługi plików tekstowych typu Text są wykorzystywane procedury: - Eoln do sprawdzania, czy jest osiągnięty koniec pliku, - Read do odczytu sformatowanego tekstu, - Readln do odczytu wiersza tekstu, - Write do zapisu sformatowanego tekstu. - Writeln do zapisu wiersza tekstu. Przykład z przepisywaniem zawartości obiektu Memo1 do pliku i z powrotem do obiektu Memo1: var pliktest: Text; var i,nn: Integer; var str: string; if SaveDialog1.Execute then AssignFile(plikTest,SaveDialog1.FileName);

9 Rewrite(plikTest); try nn:= Memo1.Lines.Count; for i := 1 to nn do str:= Memo1.Lines[i-1]; Writeln(plikTest,str); finally CloseFile(plikTest); if OpenDialog1.Execute then AssignFile(plikTest,OpenDialog1.FileName); Reset(plikTest); try nn:=0; repeat if Eoln(plikTest)=False then Readln(plikTest,str); Memo1.Lines[nn]:=str + 'plus'; nn:=nn+1; end end until Eoln(plikTest)=True; finally CloseFile(plikTest); Operacje z plikami binarnymi W środowisku Delphi z językiem Object Pascal do operacji z plikami binarnymi jest przeznaczona klasa TStream. Do tej klasy należą metody: procedure ReadBuffer(var Buffer; Count: Longint); do odczytu do buforu Buffer bloku rozmiarem Count bajtów, procedure WriteBuffer(const Buffer; Count: Longint); do zapisu z buforu Buffer bloku rozmiarem Count bloku bajtów. function Seek(Offset: Longint; Origin: Word): Longint; overload; virtual; do ustawienia pozycji w pliku. Do metody Seek powinny być przekazane przemieszczenie Offset i opcja kierunku Origin, która może mieć jedną z wartości: - sofrombeginning - przemieszczenie od początku pliku, - sofromcurrent - przemieszczenie od aktualnej pozycji w pliku, - sofromend - przemieszczenie od końca pliku (przemieszczenie Offs musi być nie dodatnie). Właściwości klasy TStream:

10 property Position: Int64; - podaje aktualną pozycją wskaźnika pliku, tj. odległość od początku pliku. property Size: Int64; - podaje rozmiar pliku. 4. Operacje z plikami w języku Visual Basic.NET W języku Visual Basic.NET dla operacji z plikami jest specjalna klasa FileStream. Kreacja lub otwarcie istniejącego pliku są związane z alokacją obiektu typu klasy File- Stream. Klasa ma wiele konstruktorów, z których część jest przedstawiona nizej: Public Sub New(ByVal path As String, ByVal mode As FileMode) Public Sub New(ByVal path As String, ByVal mode As FileMode, ByVal access As FileAccess) Public Sub New(ByVal path As String, ByVal mode As FileMode, ByVal access As FileAccess, ByVal share As FileShare) Public Sub New(ByVal path As String, ByVal mode As FileMode, ByVal access As FileAccess, ByVal share As FileShare, ByVal buffersize As Integer) Public Sub New(ByVal path As String, ByVal mode As FileMode, ByVal access As FileAccess, ByVal share As FileShare, ByVal buffersize As Integer, ByVal useasync As Boolean) Do wszystkich konstruktorów należy podać poprzez argument path nazwę pliku ze ścieżką. Argument mode nadaje tryb otwarcia pliku. Możliwe są następujące warianty: Append - system operacyjny musi otworzyć istniejący plik lub otworzyć nowy plik oraz ustawić pozycję w pliku na koniec, Create - system operacyjny musi otworzyć plik, a jeżeli plik istnieje, to skrócić jego do zera, CreateNew - system operacyjny musi otworzyć nowy plik, a jeżeli plik istnieje, to powstaje wyjątek IOException, Open - system operacyjny musi otworzyć istniejący plik, a jeżeli plik nie istnieje, to powstaje wyjątek FileNotFoundException, OpenOrCreate - system operacyjny musi otworzyć istniejący plik lub otworzyć nowy plik, Truncate - system operacyjny musi otworzyć istniejący plik i skrócić jego długość do zera, Argument access nadaje prawa do operacji z plikiem. Możliwe są następujące warianty: Read - do pliku nie można zapisywać danych, ReadWrite - możliwe są odczyt i zapisywanie danych, Write - do pliku można tylko zapisywać dane. Argument share nadaje prawa dostępu do pliku. Możliwe są następujące warianty: None - plik jest niedostępny dla innych aplikacji dopóty dopóki nie będzie zamknięty, Read - inne aplikacje mogą czytać dane z pliku, ReadWrite - inne aplikacje mogą czytać i zapisywać dane do nie zamkniętego pliku, Write - inne aplikacje mogą zapisywać dane do nie zamkniętego pliku.

11 Argument buffersize nadaje rozmiar bufora dla danych. Argument useasync nadaje możliwość asynchronicznego odczytu i zapisywaniu. Przykład: ' Generacja danych w celu zapisywania do pliku Dim writearray(100000) As Byte Dim randomgenerator As New Random () randomgenerator.nextbytes(writearray) Dim fstream As New FileStream("Test.dat", _ FileMode.Create, FileAccess.ReadWrite, _ FileShare.None, 4096, True) Operacje z plikami tekstowymi W języku Visual Basic.NET w celu odczytu tekstu można wykorzystać klasę StreamReader, która dziedziczy od klasy TextReader. Obiekt tej klasy można zaalokować za pomocą konstruktora Public Sub New(ByVal stream As Stream), tj. na bazie otwartego strumienia, lub z argumentem path - z nazwą pliku ze ścieżką: Public Sub New(ByVal path As String). W konstruktorach klasy StreamReader mogą być dodatkowe argumenty: ByVal encoding As Encoding, ByVal detectencodingfrombyteordermarks As Boolean. Argument encoding opisuje kodowanie tekstu (ASCII, UNICODE itp.). Argument detectencodingfrombyteordermarks wskazuje, czy jest na początku pliku informacja o kolejności bajtów przy kodowaniu tekstu. W klasie StreamReader są metody do odczytu z pliku tekstowego: Overrides Overloads Public Function Read() As Integer - do pojedynczego odczytu znaków, Overrides Public Function ReadLine() As String - do odczytu wiersza zakończonego znakiem \n lub znakami \r\n. Metoda Read zwraca -1, jeżeli nie ma znaków do odczytu. W przypadku końcu pliku metoda ReadLine zwraca wartość Nothing. W klasie StreamReader jest metoda do odczytu do końca pliku: Overrides Public Function ReadToEnd() As String

12 Przykład do odczytu tekstu z pliku tekstowego: Imports System Imports System.IO Imports System.IO.TextReader Imports System.IO.StreamReader Class Test Public Shared Sub Main() Try ' alokacja obiektu typu StreamReader Dim sr As StreamReader = New StreamReader "test.txt") Dim line As String Do line = sr.readline() ' Odczyt wiersza MessageBox.Show(line,"Wiersz",MessageBoxButtons.OK,_ MessageBoxIcon.Information) 'wiersz Loop Until line Is Nothing sr.close() Catch E As Exception MessageBox.Show("Błędny odczyt", "Komunikat", _ MessageBoxButtons.OK, MessageBoxIcon.Information) MessageBox.Show(E.Message, "Komunikat", _ MessageBoxButtons.OK, MessageBoxIcon.Information) End Try End Sub End Class W celu zapisu tekstu stosuje się klasa StreamWriter, która dziedziczy od klasy TextWriter. Obiekt tej klasy można zaalokować za pomocą konstruktora Public Sub New(ByVal stream As Stream), tj. na bazie otwartego strumienia lub z argumentem path - z nazwą pliku ze ścieżką: Public Sub New(ByVal path As String) W konstruktorach klasy StreamWriter mogą być dodatkowe argumenty: ByVal encoding As Encoding, ByVal append As Boolean, ByVal buffersize As Integer. Argument encoding opisuje kodowanie tekstu (ASCII, UNICODE itp.). Argument append wskazuje, czy dane dopisać do pliku. Argument buffersize nadaje rozmiar bufora. Do zapisywania pojedynczych znaków oraz wierszy teksty służą warianty metody Write z argumentami typu Char, Char() lub String. Znaki \r\n nowego wiersza są zapisywane przez właściwość NewLine.

13 Przykład z zapisywaniem tekstu do pliku tekstowego: Imports System Imports System.IO Imports System.IO.TextWriter Imports System.IO.StreamWriter Class Test Public Shared Sub Main() ' alokacja obiektu typu StreamWriter Dim sw As StreamWriter = New StreamWriter("Test.txt") sw.write("tekst ") sw.writeline("dla testowania zapisywania.") sw.writeline(" ") sw.write("data dzisiejsza: ") sw.writeline(datetime.now) sw.close() End Sub End Class Operacje z plikami binarnymi W języku Visual Basic.NET w celu odczytu danych z pliku binarnego jest wykorzystywana klasa BinaryReader. Konstruktor tej klasy potrzebuje referencji do strumienia otwartego przez klasę FileStream: Dim fs As FileStream = New FileStream("Test.dat", FileMode.Open, FileAccess.Read) Dim br As BinaryReader = New BinaryReader(fs) Po zakończeniu operacji z plikiem należy wywołać metody Close zastosowanych klas: fs.close() br.close() Do odczytu danych z pliku binarnego służą liczne metody klasy BinaryReader, które mają w nazwę słowo Read i typ danych, na przykład ReadInt32. Aby przeczytać wszystkie dane, należy śledzić za pozycją miejsca odczytu i porównywać z rozmiarem pliku: Dim fs As FileStream = New FileStream("Test.dat", FileMode.Open, FileAccess.Read) Dim br As BinaryReader = New BinaryReader(fs) Dim leng As Long = fs.length While fs.position < leng Dim liczba As Integer liczba = br.readint32() End While br.close() fs.close()

14 W celu zapisywania danych do pliku binarnego jest wykorzystywana klasa BinaryWriter. Konstruktor tej klasy też potrzebuje referencji do strumienia otwartego przez klasę FileStream: Dim fs As FileStream = New FileStream("Test.dat", FileMode.Create) Dim br As BinaryWriter = New BinaryWriter(fs) Do zapisywania danych w postaci binarnej służą liczne warianty metody Write z argumentami typu Integer, Double itp. Przykład zapisywania zawartości ListBox'a z liczbami: Dim fs As FileStream = New FileStream("Test.dat", FileMode.Create) Dim sw As BinaryWriter = New BinaryWriter(fs) Dim nn As Integer = ListBoxWejsciowe.Items.Count Dim i As Integer For i = 0 To nn - 1 Dim liczba As Integer liczba = CInt(ListBoxWejsciowe.Items(i)) sw.write(liczba) Next i sw.close() fs.close()

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego

Bardziej szczegółowo

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych. Może posiadać określone atrybuty, a odwołanie do niego odbywa się poprzez nazwę. Każdy plik ma skończoną

Bardziej szczegółowo

Programowanie w językach

Programowanie w językach Programowanie w językach wysokiego poziomu Obsługa plików za pomocą strumieni Elektronika i Telekomunikacja, semestr III rok akademicki 2013/2014 dr inż. Paweł Myszkowski Plan zajęć a) otwieranie i zamykanie

Bardziej szczegółowo

Programowanie w językach wysokiego poziomu

Programowanie w językach wysokiego poziomu Programowanie w językach wysokiego poziomu zajęcia nr 2 Elektronika i Telekomunikacja, semestr III rok akademicki 2014/2015 Plan dzisiejszych zajęć Pliki tekstowe 1. Operacje na plikach - wprowadzenie

Bardziej szczegółowo

Pliki. Operacje na plikach w Pascalu

Pliki. Operacje na plikach w Pascalu Pliki. Operacje na plikach w Pascalu ścieżka zapisu, pliki elementowe, tekstowe, operacja plikowa, etapy, assign, zmienna plikowa, skojarzenie, tryby otwarcia, reset, rewrite, append, read, write, buforowanie

Bardziej szczegółowo

OPERACJE NA PLIKACH. Podstawowe pojęcia:

OPERACJE NA PLIKACH. Podstawowe pojęcia: OPERACJE NA PLIKACH Podstawowe pojęcia: plik fizyczny, zbiór informacji w pamięci zewnętrznej wykorzystywany do trwałego przechowywania danych lub jako przedłużenie pamięci operacyjnej w przypadku przetwarzania

Bardziej szczegółowo

Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych

Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych 1. Wczytywanie z plików tekstowych. Wczytywanie z pliku tekstowego wymaga: a) skojarzenia zmiennej plikowej z plikiem procedura assignfile b)

Bardziej szczegółowo

Operacje na plikach. Informatyka. Standardowe strumienie wejścia i wyjścia

Operacje na plikach. Informatyka. Standardowe strumienie wejścia i wyjścia Materiały Operacje na plikach Informatyka Operacje wejścia-wyjścia w C/C++: Podejście proceduralne Podejście obiektowe Standardowe strumienie wejścia i wyjścia stdin - strumień wejściowy (klawiatura) cin

Bardziej szczegółowo

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim

Bardziej szczegółowo

Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach

Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach Ćwiczenia laboratoryjne Oprogramowanie i badanie prostych metod sortowania w tablicach Sprawozdanie Na każdym zajęciu laboratoryjnym sporządza się za pomocą edytora Word sprawozdanie. Bazowa zawartość

Bardziej szczegółowo

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 4 Obsługa plików Kraków 2010 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim

Bardziej szczegółowo

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013 Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Obsługa plików Kraków 2013 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim będziemy mogli

Bardziej szczegółowo

Ćwiczenie laboratoryjne. Oprogramowanie i badanie stosu lub kolejki w środowisku Visual Basic 2005

Ćwiczenie laboratoryjne. Oprogramowanie i badanie stosu lub kolejki w środowisku Visual Basic 2005 Ćwiczenie laboratoryjne Oprogramowanie i badanie stosu lub kolejki w środowisku Visual Basic 2005 Tematy ćwiczenia realizacja stosu lub kolejki dla tablicowej lub listowej reprezentacji. operacje na stosie

Bardziej szczegółowo

7 Przygotował: mgr inż. Maciej Lasota

7 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 7 1/5 Język C Instrukcja laboratoryjna Temat: Operacje na plikach. 7 Przygotował: mgr inż. Maciej Lasota 1) Pliki. Plik (ang. file), jest to nazwany ciąg danych (inaczej zbiór danych),

Bardziej szczegółowo

Programowanie Proceduralne

Programowanie Proceduralne Programowanie Proceduralne Pliki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Operacje plikowe Plik - dokument lub inny zbiór danych zapisany na dysku, oznaczony unikatowa

Bardziej szczegółowo

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists() Paweł Gmys PHP strona 1 Lekcja 10 Uprawnienia Aby skrypt PHP mógł odwołać się do pliku, musi mieć odpowiednie uprawnienia. Szczegóły są zależne od serwera. Najczęściej chyba skrypt ma uprawnienia takie,

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych: Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część jedenasta Reprezentacja i przetwarzanie plików Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie

Bardziej szczegółowo

Urządzenia peryferyjne RS-232 oprogramowanie pod WINDOWS. Wykład 3

Urządzenia peryferyjne RS-232 oprogramowanie pod WINDOWS. Wykład 3 Urządzenia peryferyjne RS-232 oprogramowanie pod WINDOWS Wykład 3 WINDOWS - struktura System Processes Server Processes Environment Subsystem User Applications RegDB Subsystem DLLs Executive Graphics (Win32k)

Bardziej szczegółowo

Programowanie. Ćwiczenie Język C. Środowisko programowania Visual Studio

Programowanie. Ćwiczenie Język C. Środowisko programowania Visual Studio Programowanie Ćwiczenie Język C. Środowisko programowania Visual Studio Tematy ćwiczenia praca ze środowiskiem, tworzenie i uruchomienie programu, struktura programu, deklaracje i definicje typy standardowe,

Bardziej szczegółowo

Pliki. Funkcje tworzące pliki i operujące na nich opisane są w części 2 pomocy systemowej. Tworzenie i otwieranie plików:

Pliki. Funkcje tworzące pliki i operujące na nich opisane są w części 2 pomocy systemowej. Tworzenie i otwieranie plików: Pliki W celu wykonania jakiejkolwiek operacji na istniejącym pliku, plik ten musi zostać otwarty, natomiast jeśli plik jeszcze nie istnieje, to musi zostać utworzony. Plik może zostać otwarty w trybie:

Bardziej szczegółowo

۰ Elementem jednostkowym takiego pliku jest bajt. ۰ Format pliku binarnego: [bajty pliku][eof]

۰ Elementem jednostkowym takiego pliku jest bajt. ۰ Format pliku binarnego: [bajty pliku][eof] 1 Plik jest wydzielonym fragmentem pamięci (najczęściej dyskowej) posiadającym nazwę. Z punktu widzenia C plik jest ciągiem bajtów, z których każdy może zostać oddzielnie odczytany. Zgodnie ze standardem

Bardziej szczegółowo

Struktury. Przykład W8_1

Struktury. Przykład W8_1 Struktury Struktury pozwalają na grupowanie zmiennych różnych typów pod wspólną nazwą. To istotnie ułatwia organizacje danych, które okazują się w jednym miejscu kodu programu. To jest bardzo ważne dla

Bardziej szczegółowo

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane

Bardziej szczegółowo

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania. Programowanie systemów informatycznych laboratorium. Ćw. 3: Akwizycja danych. RS 232 cd.

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania. Programowanie systemów informatycznych laboratorium. Ćw. 3: Akwizycja danych. RS 232 cd. 1) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawową metodą akwizycji danych z wykorzystaniem protokołu komunikacji RS - 232. 2) Zakres niezbędnych wiadomości - Akwizycja danych - Zapis do

Bardziej szczegółowo

PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki

PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki <stdio.h> PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki Pliki TEKSTOWE zawierające ciągi liczb: TXT- 1: Kalkulator sumowanie dwóch liczb zapisanych w pliku tekstowym ( fopen, fscanf, fprintf,

Bardziej szczegółowo

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

Bardziej szczegółowo

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma}; INSTRUKCJA PUSTA Nie składa się z żadnych znaków i symboli, niczego nie robi Przykłady: for i := 1 to 10 do {tu nic nie ma}; while a>0 do {tu nic nie ma}; if a = 0 then {tu nic nie ma}; INSTRUKCJA CASE

Bardziej szczegółowo

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu

Bardziej szczegółowo

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Podstawy programowania Ćwiczenie Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Tematy ćwiczenia algorytm, opis języka programowania praca ze środowiskiem, formularz, obiekty

Bardziej szczegółowo

4. Pliki Informacje ogólne o dostępie do plików w PHP Sprawdzanie istnienia pliku file_exists()

4. Pliki Informacje ogólne o dostępie do plików w PHP Sprawdzanie istnienia pliku file_exists() 4. Pliki 4.1. Informacje ogólne o dostępie do plików w PHP Jak praktycznie każdy język programowania, PHP zapewnia dostęp do systemu plików znajdujących się na komputerze, na którym uruchamiany jest skrypt,

Bardziej szczegółowo

Zajęcia 9: operacje na plikach tekstowych

Zajęcia 9: operacje na plikach tekstowych Zajęcia 9: operacje na plikach tekstowych Python dla kognitywistów Marcin Jukiewicz Marcin Jukiewicz Zajęcia 9: operacje na plikach tekstowych 1 / 21 Obsługa plików tekstowych Dotychczas dane wprowadzaliśmy

Bardziej szczegółowo

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym

Bardziej szczegółowo

Język C++ wykład VIII

Język C++ wykład VIII Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Obiektowość języka C++ ˆ Klasa (rozszerzenie struktury), obiekt instancją klasy, konstruktory i destruktory ˆ Enkapsulacja - kapsułkowanie,

Bardziej szczegółowo

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)

Bardziej szczegółowo

MATERIAŁY POMOCNICZE PODSTAWY PROGRAMOWANIA Na podstawie: Programowanie w C - Stworzone na Wikibooks, bibliotece wolny podręczników

MATERIAŁY POMOCNICZE PODSTAWY PROGRAMOWANIA Na podstawie: Programowanie w C - Stworzone na Wikibooks, bibliotece wolny podręczników MATERIAŁY POMOCNICZE PODSTAWY PROGRAMOWANIA Na podstawie: Programowanie w C - Stworzone na Wikibooks, bibliotece wolny podręczników Funkcja getchar() Jest to bardzo prosta funkcja, wczytująca 1 znak z

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego 1 /24 Pisanie pojedynczych znaków z klawiatury do pliku #include void main(void) { FILE *fptr; // wkaznik do pliku, tzw. uchwyt

Bardziej szczegółowo

Klasa bazowa i klasy potomne - doskonalenie umiejtnoci projektowania i wykorzystania klas (45 min)

Klasa bazowa i klasy potomne - doskonalenie umiejtnoci projektowania i wykorzystania klas (45 min) Zadanie5_28 Klasa bazowa i klasy potomne - doskonalenie umiejtnoci projektowania i wykorzystania klas (45 min) Opis zadania Wykorzystaj gotowy projekt Nowe auto, a nastpnie zaprojektuj klas bazow NoweAuto

Bardziej szczegółowo

Pascal. 1. Pliki tekstowe. Przykład 1.1. Zapis do pliku tekstowego

Pascal. 1. Pliki tekstowe. Przykład 1.1. Zapis do pliku tekstowego Pascal 1. Pliki tekstowe Przykład 1.1. Zapis do pliku tekstowego {deklaracja zmiennej tekstowej 'plik'} plik: text; {skojarzenie zmiennej plikowej 'plik' z plikiem na dysku (podajemy lokalizacje)} {tworzenie

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

Formatowaniem nazywamy proces przekształcenia danych z postaci binarnej do postaci tekstowej lub proces przekształcenia danych w odwrotnym

Formatowaniem nazywamy proces przekształcenia danych z postaci binarnej do postaci tekstowej lub proces przekształcenia danych w odwrotnym Formatowanie Podstawy programowania Formatowaniem nazywamy proces przekształcenia danych z postaci binarnej do postaci tekstowej lub proces przekształcenia danych w odwrotnym kierunku. W przypadku wprowadzenia

Bardziej szczegółowo

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty

Bardziej szczegółowo

4. Wyrzuć wyjątek jeśli zmienna ist nie istnieje bloki: try, catch i wyrzucanie wyjątku

4. Wyrzuć wyjątek jeśli zmienna ist nie istnieje bloki: try, catch i wyrzucanie wyjątku Lista 7 Zad. 1 Pierwsza wersja programu 1. Przygotuj plik do w: plik tekstowy z pojedynczą liczbą. Umieść go w tym samym folderze, co projekt (*.cpp). 2. Nazwa pliku name nazwa zmiennej może być dowolna

Bardziej szczegółowo

akademia androida Składowanie danych część VI

akademia androida Składowanie danych część VI akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.

Bardziej szczegółowo

Programowanie RAD Delphi

Programowanie RAD Delphi Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje

Bardziej szczegółowo

Stałe i zmienne znakowe. Stała znakowa: znak

Stałe i zmienne znakowe. Stała znakowa: znak Stałe i zmienne znakowe. Stała znakowa: znak Na przykład: a, 1, 0 c Każdy znak jest reprezentowany w pamięci przez swój kod. Kody alfanumerycznych znaków ASCII to liczby z przedziału [32, 127]. Liczby

Bardziej szczegółowo

Laboratorium z systemów operacyjnych. System plików - funkcje systemowe. Anna Wojak

Laboratorium z systemów operacyjnych. System plików - funkcje systemowe. Anna Wojak Laboratorium z systemów operacyjnych System plików - funkcje systemowe Anna Wojak 1 Zagadnienia do samodzielnego przygotowania: podstawowe polecenia linux, podstawy programowania w jezyku C, deskryptor

Bardziej szczegółowo

Pliki. Ze względu na typ zawartych w nich danych rozróżnia się trzy podstawowe rodzaje plików:

Pliki. Ze względu na typ zawartych w nich danych rozróżnia się trzy podstawowe rodzaje plików: Pliki Dotychczas operowaliśmy danymi, które zapamiętywane były w pamięci operacyjnej komputera (RAM). Program Turbo Pascal umożliwia zapisywanie i odczyt danych, co zapewnia możliwość wielokrotnego ich

Bardziej szczegółowo

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych;

Bardziej szczegółowo

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, rok

Bardziej szczegółowo

Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi.

Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi. Przykład: $ ls more Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi. Tworzenie łącza #include int pipe(int filedes[2]); Przykład: int

Bardziej szczegółowo

PASCAL Kompendium. Środowisko TURBO PASCAL Skróty klawiaturowe. Edycja kodu Pomoc spis treści. Skopiowanie zaznaczonego bloku do schowka

PASCAL Kompendium. Środowisko TURBO PASCAL Skróty klawiaturowe. Edycja kodu Pomoc spis treści. Skopiowanie zaznaczonego bloku do schowka PASCAL Kompendium Środowisko TURBO PASCAL Skróty klawiaturowe Edycja kodu F1 Pomoc spis treści CTRL + F1 Pomoc kontekstowa SHIFT + strzałki Zaznaczanie bloku CTRL + INSERT Skopiowanie zaznaczonego bloku

Bardziej szczegółowo

Spis treści PLIKI BINARNE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF23

Spis treści PLIKI BINARNE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF23 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)

Bardziej szczegółowo

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze Podstawy Informatyki Metalurgia, I rok Wykład 3 Liczby w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 1948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie prawdopodobnych

Bardziej szczegółowo

Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi)

Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) wiczenie trzecie Temat: Potoki i ł cza nazwane w Linuksie. Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Komunikacja z wykorzystaniem

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek Nazwa implementacji: Nauka języka Python pętla for Autor: Piotr Fiorek Opis implementacji: Poznanie innego rodzaju pętli, jaką jest pętla for w języku Python. Składnia pętli for jest następująca: for

Bardziej szczegółowo

Programowanie 3 - Funkcje, pliki i klasy

Programowanie 3 - Funkcje, pliki i klasy Instytut Informatyki Uniwersytetu Śląskiego Laborki funkcja; parametry funkcji; typ zwracany; typ void; funkcje bez parametrów; napis.length() - jako przykład funkcji. Zadania funkcja dodająca dwie liczby;

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje

Bardziej szczegółowo

Strumienie, pliki. Sortowanie. Wyjątki.

Strumienie, pliki. Sortowanie. Wyjątki. Strumienie, pliki. Sortowanie. Wyjątki. Serializacja Zapisuje całą klasę Plik binarny Delimiter nieokreślony Nie da się podglądać Pliki tekstowe Zapisuje wybrane informacje Plik tekstowy Delimiter ustawiamy

Bardziej szczegółowo

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet Blok 2 - PHP Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Podstawy podstaw, czyli małe wprowadzenie do PHP, Podstawy

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2011/2012 Pracownia nr 9 (20.01.2012) dr inż. Jarosław Forenc Rok

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część trzynasta Tablice struktur, pliki struktur Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści

Bardziej szczegółowo

Wszystkie zmienne typu plikowego, z wyjątkiem Output i Input muszą być zadeklarowane w sekcji deklaracji programu, który z nich korzysta.

Wszystkie zmienne typu plikowego, z wyjątkiem Output i Input muszą być zadeklarowane w sekcji deklaracji programu, który z nich korzysta. Programowanie strukturalne - pliki 1 LEKCJA 29. TYPY STRUKTURALNE - PLIKI Wprowadzenie Zmienne proste, tablice i rekordy są wykorzystywane w programie do przechowywania danych podczas wykonywania programu;

Bardziej szczegółowo

Zasady programowania Dokumentacja

Zasady programowania Dokumentacja Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika

Bardziej szczegółowo

I znowu można jak w C, za pomocą starych struktur i metod:

I znowu można jak w C, za pomocą starych struktur i metod: Obsługa plików I znowu można jak w C, za pomocą starych struktur i metod: Odczyt (ifstream) Zapis (ofstream) Czego tu wszędzie brakuje? plik.close(); Wynik Plik testowy.txt app jak append http://www.cplusplus.com/reference/iostream/ifstream/

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część ósma Tablice znaków i przetwarzanie napisów Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Programowanie internetowe

Programowanie internetowe Programowanie internetowe Wykład 3 wprowadzenie do PHP mgr inż. Michał Wojtera email: mwojtera@dmcs.pl Formularze i ich używanie

Bardziej szczegółowo

Ćwiczenie: JavaScript Cookies (3x45 minut)

Ćwiczenie: JavaScript Cookies (3x45 minut) Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas.

Bardziej szczegółowo

Strumienie, pliki. Sortowanie. Wyjątki.

Strumienie, pliki. Sortowanie. Wyjątki. Strumienie, pliki. Sortowanie. Wyjątki. Operacje I/O w Javie Serializacja Zapisuje całą klasę Plik binarny Delimiter nieokreślony Nie da się podglądać Pliki tekstowe Zapisuje wybrane informacje Plik tekstowy

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW

STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW 1. Procedura korzystania ze strumieni danych Aby utworzyć plik: 1) Należy utworzyć obiekt (np. typu FileOutputStream), powiązany ze plikiem danych binarnych (np.

Bardziej szczegółowo

Programowanie w Sieci Internet. Python: Operacje z plikami oraz obsługa wyjątków

Programowanie w Sieci Internet. Python: Operacje z plikami oraz obsługa wyjątków Programowanie w Sieci Internet Python: Operacje z plikami oraz obsługa wyjątków Kraków, 5 grudnia 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Otwieranie plików Otwieranie plików jest realizowane

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Kurs programowania. Wykład 10. Wojciech Macyna. 05 maja 2016

Kurs programowania. Wykład 10. Wojciech Macyna. 05 maja 2016 Wykład 10 05 maja 2016 Biblioteka wejścia/wyjścia (Input/Output) import java.io.*; Umożliwia przechowywania danych na nośniku zewnętrznym Dane moga być wysyłane do plików, na drukarkę, do bufora pamięci,

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

Microsoft IT Academy kurs programowania

Microsoft IT Academy kurs programowania Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

Wskaźniki. Informatyka

Wskaźniki. Informatyka Materiały Wskaźniki Informatyka Wskaźnik z punktu widzenia programisty jest grupą komórek pamięci (rozmiar wskaźnika zależy od architektury procesora, najczęściej są to dwa lub cztery bajty ), które mogą

Bardziej szczegółowo

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji? Zadanie 01 W przedstawionym ponizej programie w jezyku ANSI C w miejscu wykropkowanym brakuje jednej linii: #include... int main() { printf("tralalalala"); return 0; } A. B. "iostream" C.

Bardziej szczegółowo

Spis treści PLIKI BINARNE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF23

Spis treści PLIKI BINARNE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF23 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)

Bardziej szczegółowo

Informatyka 2015/16 wykład 9. Pliki Sterowanie przebiegiem programu cz. 2. Dr inż. Witold Nocoń (p. 230)

Informatyka 2015/16 wykład 9. Pliki Sterowanie przebiegiem programu cz. 2. Dr inż. Witold Nocoń (p. 230) Informatyka 2015/16 wykład 9 Pliki Sterowanie przebiegiem programu cz. 2 Dr inż. Witold Nocoń (p. 230) Pliki Pliki dzielą się na dwa rodzaje: Pliki tekstowe (zawartość pliku jest typu string) Pliki binarne

Bardziej szczegółowo

PLIKI. Składnia deklaracji zmiennej plikowej: file of

PLIKI. Składnia deklaracji zmiennej plikowej: file of <typ> PLIKI Plik jest struktura składającą się z elementów tego samego typu. Liczba elementów składowych pliku jest zmienna. Nie ma zadanych ograniczeń na liczbę elementów pliku, poza rozmiarami pamięci masowych

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

Wykład 6 Dziedziczenie cd., pliki

Wykład 6 Dziedziczenie cd., pliki Wykład 6 Dziedziczenie cd., pliki Autor: Zofia Kruczkiewicz 1. Dziedziczenie cd. 2. Pliki - serializacja Zagadnienia 1. Dziedziczenie aplikacja Kalkultory_2 typu Windows Forms prezentująca dziedziczenie

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część jedenasta Reprezentacja i przetwarzanie plików Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

Ilość cyfr liczby naturalnej

Ilość cyfr liczby naturalnej Ilość cyfr liczby naturalnej Użytkownik wprowadza liczbę naturalną n. Podaj algorytm znajdowania ilości cyfr liczby n. (Np.: po wprowadzeniu liczby 2453, jako wynik powinna zostać podana liczba 4). Specyfikacja

Bardziej szczegółowo

Jak Windows zarządza pamięcią?

Jak Windows zarządza pamięcią? Jak Windows zarządza pamięcią? System Windows definiuje dwa typy pamięci, często mylone przez użytkowników. Pamięć fizyczna (pamięc RAM zainstalowana w komputerze) Pamięć widziana przez daną aplikację

Bardziej szczegółowo

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu. Wstęp Java Zadanie Celem laboratorium jest zapoznanie się z podstawami platformy oraz języka Java. W ramach zadania należy przygotować aplikację zarządzania notatkami użytkownika obsługiwaną z konsoli.

Bardziej szczegółowo