Niestrukturalna obsługa wyjątków

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

Download "Niestrukturalna obsługa wyjątków"

Transkrypt

1 Niestrukturalna obsługa wyjątków Do ustawienie pułapkowania błędów w VB 6 stosuje się wyrażenie On Error. W VB.Net korzysta się z wyrażenia Try... Catch (aby wyeliminować wyrażenie GoTo) On Error (Go To) ustawia się przed miejscem, w którym spodziewany jest błąd w jakiejś procedurze. Zanim pojawi się kod z obsługą błędów pojawić się powinno wyrażenie Exit Sub (aby nie wykonywać obsługi błędu, kiedy on nie wystąpił) Obiekt Err istnieje w zasięgu globalnym i zawiera stan błędów, które mogły wystąpić. Własność Number oddaje numer błędu, własność Description jest opisem błędu Private Sub drvlist_change() On Error GoTo driveerror dirlist.path = drvlist.drive Exit Sub driveerror: MsgBox Err.Description, vbexclamation, "Drive Error" End Sub Wyrażenie Resume Resume pozwala określić, do którego miejsca powinno wrócić sterowanie wykonaniem programu. Miejsce to może być określone etykietą albo wyrażeniem Next. W przypadku Next wykonywanie programu będzie kontynuowane począwszy od wyrażenie następującego po wyrażeniu powodującym błąd Private Sub drvlist_change() On Error GoTo driveerror retrydrive: dirlist.path = drvlist.drive Exit Sub driveerror: Dim response As Integer, description As Integer description = vbexclamation + vbretrycancel response = MsgBox(Err.Description, description, "Drive Error") If response = vbretry Then Resume retrydrive End If End Sub Wyrażenie On Error Resume Next pozwala opuścić wszystkie błędy wykonania, Wyrażenie On Error GoTo 0 wyłącza pułapkowanie

2 Private Sub drvlist_change() On Error Resume Next dirlist.path = drvlist.drive End Sub Zgłaszanie błędu Do zgłoszenia błędu (ponownego jego zgłoszenia) używa się metody Raise obiektu Err. description = "Unable to process the data provided" Err.Raise Err.Number, "myobject", description W przykładzie obsługiwane są wszystkie błędy, które mogą zostać zgłoszone przez InputBox, za wyjątkiem niezgodnego typu danych (Error code 13). Dim age As Integer On Error GoTo incorrectdatatype age = InputBox("Enter your name", "Age") Me.Print "You are " & age & " years old" Exit Sub incorrectdatatype: If Err.Number = 13 Then Err.Raise 13 Else MsgBox Err.description, vbexclamation, "Error" End If Strukturalna obsługa błędów (wyjątków) Wyrzucanie i przechwytywanie wyjątków (zgłaszanie i obsługiwanie) Wyjątki są obiektami. Służą one do przenoszenia informacji, które generowane są w szczególnych momentach wykonywania programu. Można powiedzieć, że wyjątek to sygnał, który jest emitowany w sytuacji krytycznej. Sygnał ten należy przechwycić, aby na sytuację krytyczną odpowiednio zareagować. Klasą bazową wszystkich wyjątków jest System.Exception. W środowisku.net zaimplementowano szereg klas wyjątków, m.in.: ArgumentNullException (używany gdy argumentem metody jest Nothing), InvalidCastException, (błędne rzutowanie typu) OverflowException, (wystąpienie przepełnienia). Klasy wyjątków posiadają szereg metod i właściwości. Są to, m.in.: Message (właściwość tylko do odczytu, ustawiana w konstruktorze podczas tworzenia obiektu wyjątku) HelpLink (właściwość do odczytu i zapisu, określająca powiązanie z plikiem pomocy dotyczącego wyjątku)

3 StackTrace (właściwość tylko do odczytu ustawiana przez środowisko uruchomieniowe (runtime), dostarczająca informacje o śladzie stosu dla wyrzucanego błędu (metodach, poprzez które był propagowany wyjątek)). Wyrzucanie i przechwytywanie wyjątków jest mechanizmem, który pozwala reagować na krytyczne sytuacje. Do implementacji tego mechanizmu używa się wyrażenia Throw, obiektu wyjątku oraz bloku Try...Catch. Wyrażenie Throw Throw służy do wyrzucania wyjątków. Aby wyrzucić wyjątek na początek tworzy się obiekt wyjątku, a następnie obiekt ten przekazuje się do wyrażenia Throw. Throw New System.Exception( ) Wyrażenie Throw umieszczane jest w metodach. Wykonanie Throw natychmiast kończy metodę, w której jest umieszczone (podobnie jak Return). Jednak zakończenie działania metody przez wyrzucenie wyjątku jest przypadkiem specjalnym. Wartość zwraca przez metodę przerwaną przez wykonanie Throw nie jest określona. Metody zgłaszające wyjątek mogą być wywoływane wewnątrz innych metod. W takich przypadkach wyrzucanie wyjątków przez metody wewnętrzne przerywa działanie metod zewnętrznych. Jeśli zagnieżdżeń wywołań jest więcej, następuje propagacja wyrzucanego wyjątku (i przerywania metod). Aby zakończyć propagację wyrzucanego wyjątku należy go przechwycić. Jeśli się tego nie zrobi, program zakończy się błędem. Option Strict On Imports System Namespace ExceptionHandling Class Tester Shared Sub Main() Console.WriteLine("Enter Main...") Dim t As New Tester t.run() Console.WriteLine("Exit Main...") End Sub 'Main Public Sub Run() Console.WriteLine("Enter Run...") Func1() Console.WriteLine("Exit Run...") End Sub 'Run Public Sub Func1()

4 Console.WriteLine("Enter Func1...") Func2() Console.WriteLine("Exit Func1...") End Sub 'Func1 Public Sub Func2() Console.WriteLine("Enter Func2...") Throw New System.Exception Console.WriteLine("Exit Func2...") End Sub 'Func2 End Class 'Tester End Namespace 'ExceptionHandling Wynik działania programu: Enter Main... Enter Run... Enter Func1... Enter Func2... Unhandled Exception: System.Exception: Exception of type System.Exception was thrown. at DebuggingVB.ExceptionHandling.Tester.Func2( ) in C:...\Module1.vb:line 27 at DebuggingVB.ExceptionHandling.Tester.Func1( ) in C:...\Module1.vb:line 21 at DebuggingVB.ExceptionHandling.Tester.Run( ) in C:...\Module1.vb:line 14 at DebuggingVB.ExceptionHandling.Tester.Main( ) in C:...\Module1.vb:line 8 Wyrażenie Try...Catch Wyrażenie Try..Catch służy do przechwytywania wyjątków. W bloku Try umieszcza się kod, w którym mogą pojawić się wyjątki, natomiast obsługę wyjątków umieszcza się w bloku Catch. Składnia tego wyrażenia jest następująca: Try [ trystatements ] [ Catch [ exception [ As type ] ] [ When expression ] [ catchstatements ] ] [ Exit Try ]... [ Finally [ finallystatements ] ] End Try Wiele elementów w powyższym wyrażeniu jest opcjonalnych. Użycie bloku Try...Catch w postaci generycznej (najprostszej) przedstawia następujący przykład: Option Strict On

5 Imports System Namespace ExceptionHandling Class Tester Shared Sub Main() Console.WriteLine("Enter Main...") Dim t As New Tester t.run() Console.WriteLine("Exit Main...") End Sub 'Main Public Sub Run() Console.WriteLine("Enter Run...") Func1() Console.WriteLine("Exit Run...") End Sub 'Run Public Sub Func1() Console.WriteLine("Enter Func1...") Func2() Console.WriteLine("Exit Func1...") End Sub 'Func1 Public Sub Func2() Console.WriteLine("Enter Func2...") Try Console.WriteLine("Entering Try block...") Throw New System.Exception Console.WriteLine("Exitintg Try block...") Catch Console.WriteLine("Exception caught and handled") End Try Console.WriteLine("Exit func2...") End Sub 'Func2 End Class 'Tester End Namespace 'ExceptionHandling Wynik działania programu (wyjątek wygenerowany w Func2 obsłużony w Func2): Enter Main... Enter Run... Enter Func1... Enter Func2... Entering try block... Exception caught and handled! Exit Func2... Exit Func1...

6 Exit Run... Exit Main... Inny przykład (wyjątek wygenerowany w Func2 obsłużony w Func1): Option Strict On Imports System Namespace ExceptionHandling Class Tester Shared Sub Main() Console.WriteLine("Enter Main...") Dim t As New Tester t.run() Console.WriteLine("Exit Main...") End Sub 'Main Public Sub Run() Console.WriteLine("Enter Run...") Func1() Console.WriteLine("Exit Run...") End Sub 'Run Public Sub Func1() Console.WriteLine("Enter func1...") Try Console.WriteLine("Entering Try block...") Func2() Console.WriteLine("Exiting Try block...") Catch Console.WriteLine("Exception caught and handled") End Try Console.WriteLine("Exit func1...") End Sub 'Func1 Public Sub Func2() Console.WriteLine("Enter Func2...") Throw New System.Exception Console.WriteLine("Exit Func2...") End Sub 'Func2 End Class 'Tester End Namespace 'ExceptionHandling Wynik działania programu: Enter Main... Enter Run...

7 Enter Func1... Entering try block... Enter Func2... Exception caught and handled! Exit Func1... Exit Run... Exit Main... Poza tym, że można w ogóle przechwytywać wyjątki, można jeszcze zdefiniować typ wyjątków jakie mają zostać przechwycone. Przykład przechwytywania wyjątków konkretnych typów przedstawiony jest poniżej: Option Strict On Imports System Namespace ExceptionHandling Class Tester Public Sub Run() Try Dim a As Double = 5 Dim b As Double = 0 Console.WriteLine("Dividing {0} by {1}...", a, b) Console.WriteLine("{0} / {1} = {2}", _ a, b, DoDivide(a, b)) ' most derived exception type first Catch e As System.DivideByZeroException Console.WriteLine("DivideByZeroException caught!") Catch e As System.ArithmeticException Console.WriteLine("ArithmeticException caught!") ' generic exception type last Catch Console.WriteLine("Unknown exception caught") End Try End Sub ' do the division if legal Public Function DoDivide(ByVal a As Double, ByVal b As Double) As Double If b = 0 Then Throw New System.DivideByZeroException End If If a = 0 Then Throw New System.ArithmeticException End If Return a / b End Function

8 Public Shared Sub Main() Console.WriteLine("Enter Main...") Dim t As Tester = New Tester t.run() Console.WriteLine("Exit Main...") End Sub End Class End Namespace Wynik działania programu: Enter Main... Dividing 5 by 0... DivideByZeroException caught! Exit Main... Uwaga: Kolejność umieszczania bloków Catch z konkretnymi typami wyjątków ma znaczenie. Jeśli bowiem pierwszy z bloków Catch będzie przechwytywał wyjątki klasy nadrzędnej (rodzicielskiej), zaś pozostałe bloki Catch wyjątki klas potomnych, to faktycznie nigdy sterowanie nie dojdzie do bloków Catch z wyjątkami klas potomnych. Powodem jest to, że pierwszy blok Catch dokona obsługi takich wyjątków (wszędzie tam, gdzie jest referencja do obiektu klasy rodzicielskiej można wstawić referencję do obiektu klasy potomnej). W przykładzie powyżej wyjątek DivideByZeroException jest klasą potomną klasy ArithmeticException. Stąd, jeśli pierwszy blok Catch obsługiwałby wyjątek klasy ArithmeticException, to sterowanie programem nigdy nie doszłoby do bloku Catch z wyjątkiem typu DivideByZeroException. Blok Finally jest blokiem, który jeśli został zadeklarowany, to wykona się zawsze (niezależnie od tego, czy został wyrzucony wyjątek, czy też nie). W bloku Finally nie można używać Exit, Throw, Return ani GoTo (tzn. nie można go przerywać wymienionymi instrukcjami). Option Strict On Imports System Namespace ExceptionHandling Class Tester Public Sub Run() Try Console.WriteLine("Open file here") Dim a As Double = 5 Dim b As Double = 0 Console.WriteLine("{0} / {1} = {2}", a, b, DoDivide(a, b)) Console.WriteLine("This line may or may not print") ' most derived exception type first Catch e As System.DivideByZeroException Console.WriteLine( _

9 "DivideByZeroException! Msg: {0}", e.message) Console.WriteLine( _ "Helplink: {0}", e.helplink) Console.WriteLine( _ "Stack trace: {0}", e.stacktrace) Catch Console.WriteLine("Unknown exception caught!") Finally Console.WriteLine("Close file here.") End Try End Sub 'Run ' do the division if legal Public Function DoDivide( _ ByVal a As Double, ByVal b As Double) As Double If b = 0 Then Dim e As New System.DivideByZeroException e.helplink = " Throw e End If If a = 0 Then Throw New System.ArithmeticException End If Return a / b End Function 'DoDivide Shared Sub Main() Console.WriteLine("Enter Main...") Dim t As New Tester t.run() Console.WriteLine("Exit Main...") End Sub 'Main End Class 'Tester End Namespace 'ExceptionHandling Wynik działania programu Output: Enter Main... Open file here DivideByZeroException! Msg: Attempted to divide by zero. HelpLink: Stack trace: at ExceptionHandling.Tester.DoDivide(Double a, Double b) in...module1.vb:line 38 at ExceptionHandling.Tester.Run( ) in...module1.vb:line 10

10 Close file here. Exit Main... Wyjątki użytkownika Aby zaimplementować własny wyjątek (dostarczając mu arbitralnych właściwości i metod) należy utworzyć klasę wyjątku dziedziczącą po klasie System.ApplicationException. Przykład: Option Strict On Imports System Namespace ExceptionHandling ' custom exception class Public Class MyCustomException Inherits System.ApplicationException Public Sub New(ByVal message As String) ' pass the message up to the base class MyBase.New(message) End Sub 'New End Class 'MyCustomException Class Tester Public Sub Run() Try Console.WriteLine("Open file here") Dim a As Double = 0 Dim b As Double = 5 Console.WriteLine("{0} / {1} = {2}", a, b, DoDivide(a, b)) Console.WriteLine("This line may or may not print") ' most derived exception type first Catch e As System.DivideByZeroException Console.WriteLine( _ "DivideByZeroException! Msg: {0}", e.message) Console.WriteLine("HelpLink: {0}", e.helplink) ' catch custom exception Catch e As MyCustomException Console.WriteLine( _ "MyCustomException! Msg: {0}", e.message) Console.WriteLine("HelpLink: {0}", e.helplink) Catch ' catch any uncaught exceptions

11 Console.WriteLine("Unknown exception caught") Finally Console.WriteLine("Close file here.") End Try End Sub 'Run ' do the division if legal Public Function DoDivide( _ ByVal a As Double, ByVal b As Double) As Double If b = 0 Then Dim e As New DivideByZeroException e.helplink = " Throw e End If If a = 0 Then ' create a custom exception instance Dim e As New _ MyCustomException("Can't have zero divisor") e.helplink = _ " Throw e End If Return a / b End Function 'DoDivide Shared Sub Main() Console.WriteLine("Enter Main...") Dim t As New Tester t.run() Console.WriteLine("Exit Main...") End Sub 'Main End Class 'Tester End Namespace 'ExceptionHandling Wynik działania programu: Enter Main... Open file here MyCustomException! Msg: Can't have zero divisor HelpLink: Close file here. Exit Main... Uwaga: Konstruktory nie mogą być dziedziczone, dlatego każda klasa potomna powinna mieć zaimplementowany własny konstruktor.

12 ************ Visual Basic.NET expands file-handling capabilities while providing compatibility with previous versions of Visual Basic file I/O functions. Visual Basic 6.0 In Visual Basic 6.0, file handling is accomplished using various file I/O functions such as Open, Input, Output, and Append. The File System Object provides an object-oriented method of working with files. Visual Basic.NET In Visual Basic.NET, file handling is accomplished through the System.IO namespace, which duplicates and expands upon the File System Object. In addition, the System.IO.File namespace includes functions that provide compatibility with the older Visual Basic file I/O functions. The FileStream class provides access to standard input and output files and error devices. The following table lists file-related enumerations available in Visual Basic.NET. Enumeration FileAccess Enumeration FileMode Enumeration FileShare Enumeration FileAttributes Enumeration Purpose Defines constants for read, write, or read/write access to a file Specifies how the operating system opens a file Provides constants for controlling the level of access other FileStream members have to the same file Provides access to stored attributes, such as whether a file is a directory, is encrypted, hidden, or read-only, or is a system file or a temporary file Visual Basic allows you to process drives, folders, and files in several different ways: through the use of the.net System.IO model, through traditional methods such as the FileOpen and Write functions, and through the File System Object (FSO) model. The following sections discuss these methods in detail. The.NET System.IO model provides an object-based tool for working with folders and files. Like FileSystemObject (as described in Accessing Files with FileSystemObject ), it allows you to use standard object.method syntax with its own set of properties, methods, and events to process text and data, giving your applications the ability to read from and write to files easily. The.NET System.IO namespace includes a class library that facilitates string, character, and file manipulation. These classes contain properties, methods, and events for creating, copying, moving, and deleting files. And, since both strings and numeric data types are supported, they also allow you to incorporate data types in files. The most commonly used classes are FileStream, BinaryReader, BinaryWriter, StreamReader, and StreamWriter.

13 File Operations Do operacji na plikach na platformie.net wprowadzono przestrzeń nazw System.IO. W przestrzeni tej zawarte są klasy, które pozwalają czytać dane z i pisać dane do plików fizycznych bądź też strumieni. Są tam też klasy pozwalające wykonywać operacje na systemie plików (jak np. wylistowywanie katalogów, monitorowanie zmian w systemie plików, itp.). W VB.Net wprowadzono możliwość asynchronicznego czytania i pisania plików. Directory Listing We wcześniejszych wersjach VB do wylistowania katalogów służyła funkcja Dir(). Sposób jej wykorzystania przedstawia poniższy przykład: Dim sfile As String 'Obtain an initial value for sfile sfile = Dir("C:") 'Loop until Dir() returns empty string Do Until sfile = vbnullstring Debug.Print sfile sfile = Dir() Loop VB 6.0 pozwalał używać Microsoft Scripting Runtime Library. W bibliotece tej udostępniono obiekt Scripting.FileSystemObject oraz obiekty pochodne. W VB 6.0 realizacja zadania wylistowania katalogów wyglądała następująco: '*************************************************** 'This example requires a reference to be set to the 'Microsoft Scripting Runtime '*************************************************** Dim ofs As Scripting.FileSystemObject Dim ofolder As Scripting.Folder Dim ofile As Scripting.File 'Create the FileSystemObject Object Set ofs = New Scripting.FileSystemObject 'Get reference to folder through FileSystemObject Set ofolder = ofs.getfolder("c:\") 'Enumerate Files For Each ofile In ofolder.files Debug.Print ofile.name Next ofile W VB.NET udostępniono przestrzeń System.IO. W przestrzeni tej występuje klasa System.IO.Directory, która odpowiedzialna jest za działania na katalogach, oraz klasa System.IO.File, która służy do wykonywania operacji na plikach. Oto przykład, jak można wylistować katalog w VB.NET: Imports SYSTEM.IO Module Module1 Sub Main() 'Obtain reference to Directory Dim odir As Directory = New Directory("C:\") Dim ofile As File For Each ofile In odir.getfiles() debug.writeline(ofile.name) Next End Sub End Module

14 Pliki danych It is important to consider the type and use of data before storing data in local files on a client.when accessing data files, you will most likely use ADO and databases.the benefits of using databases as opposed to binary files are tremendous, with indexing and sorting and the like built-in. For small amounts of data, such as configuration data, you may want to store information in the registry. From the standpoint of debugging, you may want to store the information locally in a text file this will allow you to view the information with a simple text editor such as Notepad.This can aid in the debugging process.that being said, you may find that sometimes you need to store information in data files on the client. Data files on the client are usually in binary format. As mentioned earlier in the chapter, the System.IO namespace is used to provide us with file access methods. At the top of our module, we need to provide an Imports statement for System.IO namespace.the following example shows us how to use the System.IO namespace to perform file I/O to and from a data file. The BinaryReader and BinaryWriter classes may be more familiar to Visual Basic users as DataReader and DataWriter from the filesystem object. Although the names have been changed for the System.IO model, the functionality remains similar. BinaryReader is used for reading strings and primitive data types, whereas BinaryWriter writes strings and primitives types from a stream.the following example demonstrates reading from a binary file and writing to a binary file: 1 Dim InFile As String 2 Dim OutFile As String 3 InFile = "c:\someinfile.bin" 4 OutFile = "c:\someoutfile.bin" 5 Dim inf As New System.IO.File(InFile) 6 Dim outf As New System.IO.File(OutFile) 7 Dim x As Integer 8 Dim aretval As Integer ' create streams for input and output 9 Dim myinstream As System.IO.FileStream 10 Dim myoutstream As system.io.filestream 11 Dim afoo(100) As System.Byte ' data to read and write 12 For x = 1 To 99 afoo(x) = x 13 Next 14 Try 15 myinstream = inf.openread ' Open a new stream for input. 16 myoutstream = outf.openwrite 17 aretval = myoutstream.write(afoo, 0, 10) 18 myoutstream.flush() 19 aretval = myinstream.read(afoo, 0, 10) ' read 10 bytes 20 Catch IOExcep As IO.IOException 21 ' Some kind of error occurred. Display error message 22 MessageBox.Show(IOExcep.Message) 23 Finally 24 myinstream.close() ' Close the files 25 myoutstream.close() 26 End Try In this code fragment, the file name variables are declared and assigned in lines 1 through 4.As we progress to lines 5 and 6, the objects for the files are declared and instantiated. Line 7 declares an integer that will be used later in the load logic.the stream objects for input and output are created and instantiated. Line 8 declares an integer to hold the returned value from the call. Lines 9 and 10 initialize the stream variables. In lines 11 through 13, the variable used to send and receive data is initialized and loaded.we load the variable with numeric data.

15 Lines 15 and 16 open the streams for reading and writing and associate them with the files. Line 17 writes some data to the file and line 18 completes the operation by flushing the buffer.the data written to the file will look like this: Line 19 reads data from the other file (we assume that the file exists; if it doesn t exist, we would get an error). Assuming we were to use the file we had written previously, the data read from the file will look like this: Lines 20 through 26 contain exception-handling code, which will handle any exceptions that occur. Lines 24 and 25 the close the streams. Line 26 is the end of the exception-handling code. That s all there is to reading and writing to files. Additionally, the filesystem object provides other methods for file I/O, as do many third-party products.the filesystem object has been available for use within Visual Basic since Visual Basic 6.0.This is an object that provides methods for manipulating a computer s files. The following code fragment demonstrates the use of the filesystem object: 1 Set fs = CreateObject("Scripting.FileSystemObject") 2 Set ofile = fs.createtextfile("c:\mytestfile.txt", True) 3 ofile.writeline("this is a test.") 4 ofile.close Pliki tekstowe The following example shows how to read and write from a text file.this example opens a file, reads one line at a time from the file, converts the line to uppercase, and then appends the line to the output file.writing to and reading from text files is a common programming task in Visual Basic. Text files are generally carriage-return delimited and are limited to ASCIIreadable characters. Data files generally contain control characters: 1 Imports System.ComponentModel 2 Imports System.Drawing 3 Imports System.WinForms 4 Imports SYSTEM.IO 5 Public Class Case_Converter 6 Private LinesCounted As Integer = 0 7 Public Event Status(ByVal LinesCounted As Integer) 8 Public Event FinishedConverting() 9 Sub ToUpper(ByVal InFile As String, ByVal OutFile As String) ' first handle files 10 Dim inf As New SYSTEM.IO.File(InFile) 11 Dim outf As New SYSTEM.IO.File(OutFile) ' create streams for input and output 12 Dim myinstream As SYSTEM.IO.StreamReader 13 Dim myoutstream As SYSTEM.IO.StreamWriter ' temporary string to hold work 14 Dim mystr As String = " " ' initialize to not empty 15 Dim OutStr As String = " " 16 Try 17 myinstream = inf.opentext ' Open a new stream for input. ' Do until the stream returns Nothing at end of file. 18 myoutstream = outf.createtext 19 Do Until isnothing(mystr) 20 mystr = myinstream.readline ' perform conversion 21 OutStr = ucase(mystr) 22 myoutstream.writeline(outstr) 23 LinesCounted += 1 ' Increment line count

16 ' raise an event so the form can monitor progress 24 RaiseEvent Status(LinesCounted) 25 Loop 26 Catch eof As IO.EndOfStreamException ' No action is necessary, the end of the stream has been reached. 27 Catch IOExcep As IO.IOException ' Some kind of error occurred. 28 MessageBox.Show(IOExcep.Message) 29 Finally 30 myinstream.close() ' Close the files 31 myoutstream.close() 32 End Try 33 RaiseEvent FinishedConverting() 34 End Sub 35 End Class In this example, we can see that the class Case_Converter contains a method called ToUpper, which includes two parameters: InFile and OutFile. Note that importing the System.IO namespace (shown in line 4 of the code) is very important. This allows us to use the methods and functions contained in that namespace. Next, as we progress through the code, line 6 declares a local variable for use within the class. Lines 7 and 8 declare public events that are exploited later in this chapter. It is good programming practice to declare everything in Visual Basic. NET for type safety as well as to help understand the data in a particular variable. Line 9 is the beginning of the method.when we declare the method, notice that the parameters (InFile and Outfile) include both a type (String) and a calling method (ByVal).This is very important in Visual Studio.NET because the default calling type has changed from Byref to Byval, and you may not get the expected results using the default calling type. NOTE Remember to include the Imports System.IO command at the beginning of your code when you are working with file I/O. If you don t include it, your code won t compile. This is not so much a problem if you are writing a routine from scratch, because Microsoft s IntelliSense won t work, and you will quickly be aware of the issue. However, look out for if you are pasting code in from another project. Lines 10 through 15 declare the objects we use to work with file I/O. Some important things to note here are the System.IO.File object, the System.IO.StreamReader object, and the System.IO.StreamWriter object.the System.IO.File class is used to help create FileStream objects and provides routines for creating, copying, deleting, moving, and opening of files. In lines 10 and 11, file objects are created for the input and output files.these are used later with the FileStream objects that are created in lines 12 and 13.The System.IO.StreamReader class implements a text reader that will read characters in from the file.this class does the work when it comes to reading data in from the file.the System.IO.StreamWriter class implements a text writer that will read characters in from the file. Dopisywanie do plików Appending to files is pretty simple. If we use the code shown in the text files example, only a minor change is necessary. Appending means that we have an existing file, and we want to add data to the end of it, which is a common programming task. Oftentimes, you ll need to write information out to files for logging, troubleshooting, and saving information. 17 myinstream = inf.opentext ' Open a new stream for input. ' Do until the stream returns Nothing at end of file.

17 18 myoutstream = outf.createtext Line 18 would change to: 17 myinstream = inf.opentext ' Open a new stream for input. ' Do until the stream returns Nothing at end of file. 18 myoutstream = outf.appendtext Changing the stream type from CreateText to AppendText causes text to be appended to the file as opposed to overwriting the file.

Visual Basic Debugging and Error Handling

Visual Basic Debugging and Error Handling Visual Basic Debugging and Error Handling Typy błędów 1. Compile-Time, (wykrywane w czasie kompilacji np. błąd w składni) 2. Run-Time, (pojawiające się podczas wykonywania programu, np. zły typ danych

Bardziej szczegółowo

Strumienie oraz operacje na plikach

Strumienie oraz operacje na plikach Strumienie oraz operacje na plikach Uwaga: Tekst zamieszczony w tej sekcji był przygotowany jako wstęp do tematu implementacji strumieni w języku C/C++. Samo pojęcie strumieni jest na tyle uniwersalne,

Bardziej szczegółowo

Programowanie obiektowe w VB cz 2

Programowanie obiektowe w VB cz 2 Programowanie obiektowe w VB cz 2 Interfejsy Interfejsy są listą metod, właściwości, zdarzeń i indeksowników. Jeśli jakaś klasa implementuje jakiś interfejs, znaczy to, że użytkownik tej klasy może skorzystać

Bardziej szczegółowo

Zakopane, plan miasta: Skala ok. 1: = City map (Polish Edition)

Zakopane, plan miasta: Skala ok. 1: = City map (Polish Edition) Zakopane, plan miasta: Skala ok. 1:15 000 = City map (Polish Edition) Click here if your download doesn"t start automatically Zakopane, plan miasta: Skala ok. 1:15 000 = City map (Polish Edition) Zakopane,

Bardziej szczegółowo

Wyjątki. try - except

Wyjątki. try - except Wyjątki Wyjątek jest obiektem Pythona reprezentującym błąd. Innymi słowy, jest on zdarzeniem, które pojawia się podczas wykonania programu przerywając jego normalny przebieg. Wyobraźmy sobie dłuższy fragment

Bardziej szczegółowo

Tychy, plan miasta: Skala 1: (Polish Edition)

Tychy, plan miasta: Skala 1: (Polish Edition) Tychy, plan miasta: Skala 1:20 000 (Polish Edition) Poland) Przedsiebiorstwo Geodezyjno-Kartograficzne (Katowice Click here if your download doesn"t start automatically Tychy, plan miasta: Skala 1:20 000

Bardziej szczegółowo

11.1 Obsługa błędów i wyjątków Polecenia try, throw, catch CLI C++, klasa Exception... 9

11.1 Obsługa błędów i wyjątków Polecenia try, throw, catch CLI C++, klasa Exception... 9 11.1 Obsługa błędów i wyjątków... 1 11.2 Polecenia, throw, catch... 1 11.3 CLI C++, klasa Exception... 9 11.1 Obsługa błędów i wyjątków błąd - przyczyna, która powoduje niewłaściwe działanie programu.

Bardziej szczegółowo

Zarządzanie sieciami telekomunikacyjnymi

Zarządzanie sieciami telekomunikacyjnymi SNMP Protocol The Simple Network Management Protocol (SNMP) is an application layer protocol that facilitates the exchange of management information between network devices. It is part of the Transmission

Bardziej szczegółowo

Klasy cd. Struktury Interfejsy Wyjątki

Klasy cd. Struktury Interfejsy Wyjątki Klasy cd. Struktury Interfejsy Wyjątki Struktury Struktura pozwala na zdefiniowanie typu danych, który nie charakteryzuje się zbyt złożoną funkcjonalnością (np. punkt, kolor, etc). Do definiowania struktury

Bardziej szczegółowo

www.irs.gov/form990. If "Yes," complete Schedule A Schedule B, Schedule of Contributors If "Yes," complete Schedule C, Part I If "Yes," complete Schedule C, Part II If "Yes," complete Schedule C, Part

Bardziej szczegółowo

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition) Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition) Robert Respondowski Click here if your download doesn"t start automatically Wojewodztwo Koszalinskie:

Bardziej szczegółowo

MaPlan Sp. z O.O. Click here if your download doesn"t start automatically

MaPlan Sp. z O.O. Click here if your download doesnt start automatically Mierzeja Wislana, mapa turystyczna 1:50 000: Mikoszewo, Jantar, Stegna, Sztutowo, Katy Rybackie, Przebrno, Krynica Morska, Piaski, Frombork =... = Carte touristique (Polish Edition) MaPlan Sp. z O.O Click

Bardziej szczegółowo

SubVersion. Piotr Mikulski. SubVersion. P. Mikulski. Co to jest subversion? Zalety SubVersion. Wady SubVersion. Inne różnice SubVersion i CVS

SubVersion. Piotr Mikulski. SubVersion. P. Mikulski. Co to jest subversion? Zalety SubVersion. Wady SubVersion. Inne różnice SubVersion i CVS Piotr Mikulski 2006 Subversion is a free/open-source version control system. That is, Subversion manages files and directories over time. A tree of files is placed into a central repository. The repository

Bardziej szczegółowo

SSW1.1, HFW Fry #20, Zeno #25 Benchmark: Qtr.1. Fry #65, Zeno #67. like

SSW1.1, HFW Fry #20, Zeno #25 Benchmark: Qtr.1. Fry #65, Zeno #67. like SSW1.1, HFW Fry #20, Zeno #25 Benchmark: Qtr.1 I SSW1.1, HFW Fry #65, Zeno #67 Benchmark: Qtr.1 like SSW1.2, HFW Fry #47, Zeno #59 Benchmark: Qtr.1 do SSW1.2, HFW Fry #5, Zeno #4 Benchmark: Qtr.1 to SSW1.2,

Bardziej szczegółowo

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition) Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition) Robert Respondowski Click here if your download doesn"t start automatically Wojewodztwo Koszalinskie:

Bardziej szczegółowo

Karpacz, plan miasta 1:10 000: Panorama Karkonoszy, mapa szlakow turystycznych (Polish Edition)

Karpacz, plan miasta 1:10 000: Panorama Karkonoszy, mapa szlakow turystycznych (Polish Edition) Karpacz, plan miasta 1:10 000: Panorama Karkonoszy, mapa szlakow turystycznych (Polish Edition) J Krupski Click here if your download doesn"t start automatically Karpacz, plan miasta 1:10 000: Panorama

Bardziej szczegółowo

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................

Bardziej szczegółowo

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0  Zofia Kruczkiewicz Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 http://www.junit.org/ Zofia Kruczkiewicz 1. Aby utworzyć test dla jednej klasy, należy kliknąć prawym przyciskiem myszy w oknie Projects na wybraną

Bardziej szczegółowo

Katowice, plan miasta: Skala 1: = City map = Stadtplan (Polish Edition)

Katowice, plan miasta: Skala 1: = City map = Stadtplan (Polish Edition) Katowice, plan miasta: Skala 1:20 000 = City map = Stadtplan (Polish Edition) Polskie Przedsiebiorstwo Wydawnictw Kartograficznych im. Eugeniusza Romera Click here if your download doesn"t start automatically

Bardziej szczegółowo

OpenPoland.net API Documentation

OpenPoland.net API Documentation OpenPoland.net API Documentation Release 1.0 Michał Gryczka July 11, 2014 Contents 1 REST API tokens: 3 1.1 How to get a token............................................ 3 2 REST API : search for assets

Bardziej szczegółowo

METHOD 2 -DIAGNOSTIC OUTSIDE

METHOD 2 -DIAGNOSTIC OUTSIDE VW MOTOMETER BOSCH METHOD 1 - OBD 2 METHOD 2 -DIAGNOSTIC OUTSIDE AFTER OPERATION YOU MUST DISCONECT ACU OR REMOVE FUSE FOR RESTART ODOMETER PO ZROBIENIU LICZNIKA ZDJĄĆ KLEMĘ LUB WYJĄĆ 2 BEZPIECZNIKI OD

Bardziej szczegółowo

Helena Boguta, klasa 8W, rok szkolny 2018/2019

Helena Boguta, klasa 8W, rok szkolny 2018/2019 Poniższy zbiór zadań został wykonany w ramach projektu Mazowiecki program stypendialny dla uczniów szczególnie uzdolnionych - najlepsza inwestycja w człowieka w roku szkolnym 2018/2019. Składają się na

Bardziej szczegółowo

www.irs.gov/form990. If "Yes," complete Schedule A Schedule B, Schedule of Contributors If "Yes," complete Schedule C, Part I If "Yes," complete Schedule C, Part II If "Yes," complete Schedule C, Part

Bardziej szczegółowo

Obsługa błędów za pomocą wyjątków. Paweł Motofa (140746)

Obsługa błędów za pomocą wyjątków. Paweł Motofa (140746) Obsługa błędów za pomocą wyjątków Paweł Motofa (140746) Co zrobić, gdy wystąpi błąd Przykład Co zrobić, gdy wystąpi błąd Co zrobić, gdy wystąpi błąd Co zrobić, gdy wystąpi błąd Jak wyglądałaby funkcja

Bardziej szczegółowo

Rev Źródło:

Rev Źródło: KamPROG for AVR Rev. 20190119192125 Źródło: http://wiki.kamamilabs.com/index.php/kamprog_for_avr Spis treści Introdcution... 1 Features... 2 Standard equipment... 4 Installation... 5 Software... 6 AVR

Bardziej szczegółowo

Stargard Szczecinski i okolice (Polish Edition)

Stargard Szczecinski i okolice (Polish Edition) Stargard Szczecinski i okolice (Polish Edition) Janusz Leszek Jurkiewicz Click here if your download doesn"t start automatically Stargard Szczecinski i okolice (Polish Edition) Janusz Leszek Jurkiewicz

Bardziej szczegółowo

Arrays -II. Arrays. Outline ECE Cal Poly Pomona Electrical & Computer Engineering. Introduction

Arrays -II. Arrays. Outline ECE Cal Poly Pomona Electrical & Computer Engineering. Introduction ECE 114-9 Arrays -II Dr. Z. Aliyazicioglu Electrical & Computer Engineering Electrical & Computer Engineering 1 Outline Introduction Arrays Declaring and Allocation Arrays Examples Using Arrays Passing

Bardziej szczegółowo

ARNOLD. EDUKACJA KULTURYSTY (POLSKA WERSJA JEZYKOWA) BY DOUGLAS KENT HALL

ARNOLD. EDUKACJA KULTURYSTY (POLSKA WERSJA JEZYKOWA) BY DOUGLAS KENT HALL Read Online and Download Ebook ARNOLD. EDUKACJA KULTURYSTY (POLSKA WERSJA JEZYKOWA) BY DOUGLAS KENT HALL DOWNLOAD EBOOK : ARNOLD. EDUKACJA KULTURYSTY (POLSKA WERSJA Click link bellow and free register

Bardziej szczegółowo

Obsługa blędów i zewnętrznych plików

Obsługa blędów i zewnętrznych plików Obsługa blędów i zewnętrznych plików Rafał Zduńczyk Programowanie arkuszy kalkulacyjnych 2017 Wyłapanie błędu Sub error1() Dim x, y, z x = InputBox("x:") y = InputBox("y:") On Error GoTo handler1 On Error

Bardziej szczegółowo

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition) Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition) Robert Respondowski Click here if your download doesn"t start automatically Wojewodztwo Koszalinskie:

Bardziej szczegółowo

Wyjątki (exceptions)

Wyjątki (exceptions) Instrukcja laboratoryjna nr 6 Programowanie w języku C 2 (C++ poziom zaawansowany) Wyjątki (exceptions) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp Wyjątki (ang.

Bardziej szczegółowo

Zmiany techniczne wprowadzone w wersji Comarch ERP Altum

Zmiany techniczne wprowadzone w wersji Comarch ERP Altum Zmiany techniczne wprowadzone w wersji 2018.2 Copyright 2016 COMARCH SA Wszelkie prawa zastrzeżone Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci

Bardziej szczegółowo

Pielgrzymka do Ojczyzny: Przemowienia i homilie Ojca Swietego Jana Pawla II (Jan Pawel II-- pierwszy Polak na Stolicy Piotrowej) (Polish Edition)

Pielgrzymka do Ojczyzny: Przemowienia i homilie Ojca Swietego Jana Pawla II (Jan Pawel II-- pierwszy Polak na Stolicy Piotrowej) (Polish Edition) Pielgrzymka do Ojczyzny: Przemowienia i homilie Ojca Swietego Jana Pawla II (Jan Pawel II-- pierwszy Polak na Stolicy Piotrowej) (Polish Edition) Click here if your download doesn"t start automatically

Bardziej szczegółowo

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition) Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition) Robert Respondowski Click here if your download doesn"t start automatically Wojewodztwo Koszalinskie:

Bardziej szczegółowo

Miedzy legenda a historia: Szlakiem piastowskim z Poznania do Gniezna (Biblioteka Kroniki Wielkopolski) (Polish Edition)

Miedzy legenda a historia: Szlakiem piastowskim z Poznania do Gniezna (Biblioteka Kroniki Wielkopolski) (Polish Edition) Miedzy legenda a historia: Szlakiem piastowskim z Poznania do Gniezna (Biblioteka Kroniki Wielkopolski) (Polish Edition) Piotr Maluskiewicz Click here if your download doesn"t start automatically Miedzy

Bardziej szczegółowo

Weronika Mysliwiec, klasa 8W, rok szkolny 2018/2019

Weronika Mysliwiec, klasa 8W, rok szkolny 2018/2019 Poniższy zbiór zadań został wykonany w ramach projektu Mazowiecki program stypendialny dla uczniów szczególnie uzdolnionych - najlepsza inwestycja w człowieka w roku szkolnym 2018/2019. Tresci zadań rozwiązanych

Bardziej szczegółowo

Wybrzeze Baltyku, mapa turystyczna 1: (Polish Edition)

Wybrzeze Baltyku, mapa turystyczna 1: (Polish Edition) Wybrzeze Baltyku, mapa turystyczna 1:50 000 (Polish Edition) Click here if your download doesn"t start automatically Wybrzeze Baltyku, mapa turystyczna 1:50 000 (Polish Edition) Wybrzeze Baltyku, mapa

Bardziej szczegółowo

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian 1 / 12 Content list / Spis Treści 1. Hardware and software requirements, preparing device to upgrade Wymagania sprzętowe i programowe, przygotowanie urządzenia do aktualizacji 2. Installing drivers needed

Bardziej szczegółowo

Emilka szuka swojej gwiazdy / Emily Climbs (Emily, #2)

Emilka szuka swojej gwiazdy / Emily Climbs (Emily, #2) Emilka szuka swojej gwiazdy / Emily Climbs (Emily, #2) Click here if your download doesn"t start automatically Emilka szuka swojej gwiazdy / Emily Climbs (Emily, #2) Emilka szuka swojej gwiazdy / Emily

Bardziej szczegółowo

User s manual for icarwash

User s manual for icarwash User s manual for icarwash BKF Myjnie Bezdotykowe Sp. z o.o. Skarbimierzyce 22 72 002 Dołuje (k. Szczecina) Skarbimierzyce, 2014.11.14 Version v0.2 Table of Contents Table of Contents Settings Login Navigation

Bardziej szczegółowo

Projekt: Mikro zaprogramowane na sukces!

Projekt: Mikro zaprogramowane na sukces! Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Projekt: Mikro zaprogramowane na sukces! Opis autoryzowanych szkoleń Oracle planowanych do realizacji w ramach

Bardziej szczegółowo

Dolny Slask 1: , mapa turystycznosamochodowa: Plan Wroclawia (Polish Edition)

Dolny Slask 1: , mapa turystycznosamochodowa: Plan Wroclawia (Polish Edition) Dolny Slask 1:300 000, mapa turystycznosamochodowa: Plan Wroclawia (Polish Edition) Click here if your download doesn"t start automatically Dolny Slask 1:300 000, mapa turystyczno-samochodowa: Plan Wroclawia

Bardziej szczegółowo

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty MeetingHelper Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania Instrukcja obsługi dla programisty W tej części został zawarty opis uruchamiania projektu programistycznego,

Bardziej szczegółowo

Instrukcja obsługi User s manual

Instrukcja obsługi User s manual Instrukcja obsługi User s manual Konfigurator Lanberg Lanberg Configurator E-mail: support@lanberg.pl support@lanberg.eu www.lanberg.pl www.lanberg.eu Lanberg 2015-2018 WERSJA VERSION: 2018/11 Instrukcja

Bardziej szczegółowo

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX UNIWERSYTETU BIBLIOTEKA IEGO UNIWERSYTETU IEGO Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX 1. Make a new connection Open the System Preferences by going to the Apple menu

Bardziej szczegółowo

SQL 4 Structured Query Lenguage

SQL 4 Structured Query Lenguage Wykład 5 SQL 4 Structured Query Lenguage Instrukcje sterowania danymi Bazy Danych - A. Dawid 2011 1 CREATE USER Tworzy nowego użytkownika Składnia CREATE USER specyfikacja użytkownika [, specyfikacja użytkownika]...

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

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition) Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition) Robert Respondowski Click here if your download doesn"t start automatically Wojewodztwo Koszalinskie:

Bardziej szczegółowo

Programowanie Obiektowe w Visual Basic.NET 2005. Konrad Lipiński 07.04.2008

Programowanie Obiektowe w Visual Basic.NET 2005. Konrad Lipiński 07.04.2008 Programowanie Obiektowe w Visual Basic.NET 2005 Konrad Lipiński 07.04.2008 O czym będzie mowa OOP a VB Klasy, interfejsy, struktury Operatory Zdarzenia Typy uogólnione Obsługa błędów Przestrzenie nazw

Bardziej szczegółowo

Pobieranie argumentów wiersza polecenia

Pobieranie argumentów wiersza polecenia Pobieranie argumentów wiersza polecenia 2. Argumenty wiersza polecenia Lista argumentów Lista argumentów zawiera cały wiersz poleceń, łącznie z nazwą programu i wszystkimi dostarczonymi argumentami. Przykłady:

Bardziej szczegółowo

www.irs.gov/form990. If "Yes," complete Schedule A Schedule B, Schedule of Contributors If "Yes," complete Schedule C, Part I If "Yes," complete Schedule C, Part II If "Yes," complete Schedule C, Part

Bardziej szczegółowo

Miedzy legenda a historia: Szlakiem piastowskim z Poznania do Gniezna (Biblioteka Kroniki Wielkopolski) (Polish Edition)

Miedzy legenda a historia: Szlakiem piastowskim z Poznania do Gniezna (Biblioteka Kroniki Wielkopolski) (Polish Edition) Miedzy legenda a historia: Szlakiem piastowskim z Poznania do Gniezna (Biblioteka Kroniki Wielkopolski) (Polish Edition) Piotr Maluskiewicz Click here if your download doesn"t start automatically Miedzy

Bardziej szczegółowo

Programowanie. Sylwester Arabas. prowadzący ćwiczenia: Magdalena Kuich, Krzysztof Piasecki, Łukasz Dulny. Wydział Fizyki Uniwersytetu Warszawskiego

Programowanie. Sylwester Arabas. prowadzący ćwiczenia: Magdalena Kuich, Krzysztof Piasecki, Łukasz Dulny. Wydział Fizyki Uniwersytetu Warszawskiego Programowanie Sylwester Arabas prowadzący ćwiczenia: Magdalena Kuich, Krzysztof Piasecki, Łukasz Dulny Wydział Fizyki Uniwersytetu Warszawskiego wykład XIV 10. czerwca 2015 r. rozwiązanie zadań z testu:

Bardziej szczegółowo

1. CZYM JEST SERIALIZACJA

1. CZYM JEST SERIALIZACJA SERIALIZACJA O CZYM POWIEMY? 1. Czym jest serializacja? 2. Jak przeprowadzić proces serializacji? 3. Jak przeprowadzić proces deserializacji? 4. Serializacja własnych klas. 5. Dobre praktyki. 6. SoapFormatter.

Bardziej szczegółowo

!850016! www.irs.gov/form8879eo. e-file www.irs.gov/form990. If "Yes," complete Schedule A Schedule B, Schedule of Contributors If "Yes," complete Schedule C, Part I If "Yes," complete Schedule C,

Bardziej szczegółowo

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017 Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania

Bardziej szczegółowo

Programowanie Obiektowe Ćwiczenie 4

Programowanie Obiektowe Ćwiczenie 4 Programowanie Obiektowe Ćwiczenie 4 1. Zakres ćwiczenia wyjątki kompozycja 2. Zagadnienia Założeniem, od którego nie należy odbiegać, jest by każdy napotkany problem (np. zatrzymanie wykonywanej metody)

Bardziej szczegółowo

Test sprawdzający znajomość języka angielskiego

Test sprawdzający znajomość języka angielskiego Test sprawdzający znajomość języka angielskiego Imię i Nazwisko Kandydata/Kandydatki Proszę wstawić X w pole zgodnie z prawdą: Brak znajomości języka angielskiego Znam j. angielski (Proszę wypełnić poniższy

Bardziej szczegółowo

ERASMUS + : Trail of extinct and active volcanoes, earthquakes through Europe. SURVEY TO STUDENTS.

ERASMUS + : Trail of extinct and active volcanoes, earthquakes through Europe. SURVEY TO STUDENTS. ERASMUS + : Trail of extinct and active volcanoes, earthquakes through Europe. SURVEY TO STUDENTS. Strona 1 1. Please give one answer. I am: Students involved in project 69% 18 Student not involved in

Bardziej szczegółowo

DODATKOWE ĆWICZENIA EGZAMINACYJNE

DODATKOWE ĆWICZENIA EGZAMINACYJNE I.1. X Have a nice day! Y a) Good idea b) See you soon c) The same to you I.2. X: This is my new computer. Y: Wow! Can I have a look at the Internet? X: a) Thank you b) Go ahead c) Let me try I.3. X: What

Bardziej szczegółowo

Laboratorium Programowania Kart Elektronicznych

Laboratorium Programowania Kart Elektronicznych Laboratorium Programowania Kart Elektronicznych Programowanie BasicCard Marek Gosławski Przygotowanie do zajęć dokumentacja ZeitControl BasicCard środowisko programistyczne karta BasicCard Potrzebne wiadomości

Bardziej szczegółowo

Blow-Up: Photographs in the Time of Tumult; Black and White Photography Festival Zakopane Warszawa 2002 / Powiekszenie: Fotografie w czasach zgielku

Blow-Up: Photographs in the Time of Tumult; Black and White Photography Festival Zakopane Warszawa 2002 / Powiekszenie: Fotografie w czasach zgielku Blow-Up: Photographs in the Time of Tumult; Black and White Photography Festival Zakopane Warszawa 2002 / Powiekszenie: Fotografie w czasach zgielku Juliusz and Maciej Zalewski eds. and A. D. Coleman et

Bardziej szczegółowo

Egzamin maturalny z języka angielskiego na poziomie dwujęzycznym Rozmowa wstępna (wyłącznie dla egzaminującego)

Egzamin maturalny z języka angielskiego na poziomie dwujęzycznym Rozmowa wstępna (wyłącznie dla egzaminującego) 112 Informator o egzaminie maturalnym z języka angielskiego od roku szkolnego 2014/2015 2.6.4. Część ustna. Przykładowe zestawy zadań Przykładowe pytania do rozmowy wstępnej Rozmowa wstępna (wyłącznie

Bardziej szczegółowo

Poland) Wydawnictwo "Gea" (Warsaw. Click here if your download doesn"t start automatically

Poland) Wydawnictwo Gea (Warsaw. Click here if your download doesnt start automatically Suwalski Park Krajobrazowy i okolice 1:50 000, mapa turystyczno-krajoznawcza =: Suwalki Landscape Park, tourist map = Suwalki Naturpark,... narodowe i krajobrazowe) (Polish Edition) Click here if your

Bardziej szczegółowo

How to share data from SQL database table to the OPC Server? Jak udostępnić dane z tabeli bazy SQL do serwera OPC? samouczek ANT.

How to share data from SQL database table to the OPC Server? Jak udostępnić dane z tabeli bazy SQL do serwera OPC? samouczek ANT. Jak udostępnić dane z tabeli bazy SQL do serwera OPC? samouczek ANT How to share data from SQL database table to the OPC Server? ANT tutorial Krok 1: Uruchom ANT Studio i dodaj do drzewka konfiguracyjnego

Bardziej szczegółowo

Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip)

Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip) Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip) Embeded systems Architektura układów PSoC (Cypress) Możliwości bloków cyfrowych i analogowych Narzędzia

Bardziej szczegółowo

Hard-Margin Support Vector Machines

Hard-Margin Support Vector Machines Hard-Margin Support Vector Machines aaacaxicbzdlssnafiyn9vbjlepk3ay2gicupasvu4iblxuaw2hjmuwn7ddjjmxm1bkcg1/fjqsvt76fo9/gazqfvn8y+pjpozw5vx8zkpvtfxmlhcwl5zxyqrm2vrg5zw3vxmsoezi4ogkr6phieky5crvvjhriqvdom9l2xxftevuwcekj3lktmhghgniauiyutvrwxtvme34a77kbvg73gtygpjsrfati1+xc8c84bvraowbf+uwnipyehcvmkjrdx46vlykhkgykm3ujjdhcyzqkxy0chur6ax5cbg+1m4bbjptjcubuz4kuhvjoql93hkin5hxtav5x6yyqopnsyuneey5ni4keqrxbar5wqaxbik00icyo/iveiyqqvjo1u4fgzj/8f9x67bzmxnurjzmijtlybwfgcdjgfdtajwgcf2dwaj7ac3g1ho1n4814n7wwjgjmf/ys8fenfycuzq==

Bardziej szczegółowo

Installation of EuroCert software for qualified electronic signature

Installation of EuroCert software for qualified electronic signature Installation of EuroCert software for qualified electronic signature for Microsoft Windows systems Warsaw 28.08.2019 Content 1. Downloading and running the software for the e-signature... 3 a) Installer

Bardziej szczegółowo

Obsługa wyjątków. Język C++ WW12

Obsługa wyjątków. Język C++ WW12 Obsługa wyjątków Pozwala zarządzać błędami wykonania w uporządkowany sposób. Umożliwia automatyczne wywołanie części kodu, funkcji, metod klas, który trzeba wykonać przy powstaniu błędów. try //blok try

Bardziej szczegółowo

Wprowadzenie do psql i SQL. Język komend psql. Podstawy instrukcji SELECT

Wprowadzenie do psql i SQL. Język komend psql. Podstawy instrukcji SELECT Wprowadzenie do psql i SQL 1 Bazy Danych Wykład p.t. Wprowadzenie do psql i SQL. Język komend psql. Podstawy instrukcji SELECT Antoni Ligęza ligeza@agh.edu.pl http://galaxy.uci.agh.edu.pl/~ligeza Wykorzystano

Bardziej szczegółowo

Wroclaw, plan nowy: Nowe ulice, 1:22500, sygnalizacja swietlna, wysokosc wiaduktow : Debica = City plan (Polish Edition)

Wroclaw, plan nowy: Nowe ulice, 1:22500, sygnalizacja swietlna, wysokosc wiaduktow : Debica = City plan (Polish Edition) Wroclaw, plan nowy: Nowe ulice, 1:22500, sygnalizacja swietlna, wysokosc wiaduktow : Debica = City plan (Polish Edition) Wydawnictwo "Demart" s.c Click here if your download doesn"t start automatically

Bardziej szczegółowo

Zaawansowane techniki programowania C#

Zaawansowane techniki programowania C# Wykład 2 Piotr Błaszyński Wydział Informatyki Zachodniopomorskiego Uniwersytetu Technologicznego 18 października 2017 służą do informowania o niepowodzeniu pewnego elementu programu, dawniej używano tzw.

Bardziej szczegółowo

Programowanie Komputerów

Programowanie Komputerów Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 28 1. Tablice w C# Indeksowane od zera

Bardziej szczegółowo

Ćwiczenie VB3.4 Struktura Try...Catch, obiekt Err, metoda Err.Raise (Strukturalna obsługa wyjątków)

Ćwiczenie VB3.4 Struktura Try...Catch, obiekt Err, metoda Err.Raise (Strukturalna obsługa wyjątków) Ćwiczenie VB3.4 Struktura..., obiekt Err, metoda Err.Raise (Strukturalna obsługa wyjątków) Jeśli wpiszemy do okna tekstowego zamiast cyfr litery (np. abc), a następnie spróbujemy ten ciąg znaków przekonwertować

Bardziej szczegółowo

Automatyczne generowanie testów z modeli. Bogdan Bereza Automatyczne generowanie testów z modeli

Automatyczne generowanie testów z modeli. Bogdan Bereza Automatyczne generowanie testów z modeli Automatyczne generowanie testów z modeli Numer: 1 (33) Rozkmina: Projektowanie testów na podstawie modeli (potem można je wykonywać ręcznie, lub automatycznie zwykle chce się automatycznie) A ja mówię

Bardziej szczegółowo

Obsługa błędów w SQL i transakcje. Obsługa błędów w SQL

Obsługa błędów w SQL i transakcje. Obsługa błędów w SQL Obsługa błędów w SQL i transakcje Zacznijmy od najprostszego przykładu: CREATE PROCEDURE podziel1 Obsługa błędów w SQL Powyższa procedura w większości przypadków zadziała prawidłowo, lecz na przykład poniższe

Bardziej szczegółowo

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje. Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje. 1. W języku VHDL zdefiniowano mechanizm odczytywania i zapisywania danych z i do plików. Pliki te mogą być wykorzystywane

Bardziej szczegółowo

Zestawienie czasów angielskich

Zestawienie czasów angielskich Zestawienie czasów angielskich Present Continuous I am, You are, She/ He/ It is, We/ You/ They are podmiot + operator + (czasownik główny + ing) + reszta I' m driving. operator + podmiot + (czasownik główny

Bardziej szczegółowo

Zadanie. Menu Plik niech posiada dwie pozycje: Tekstowy i Excel, a każda z nich niech posiada dwie pozycje Otwórz i Zapisz, patrz rys. 2.

Zadanie. Menu Plik niech posiada dwie pozycje: Tekstowy i Excel, a każda z nich niech posiada dwie pozycje Otwórz i Zapisz, patrz rys. 2. Zadanie Wykonać aplikację posiadającą możliwość komunikowania się (zapis/odczyt) pomiędzy obiektem DataGridView, a plikiem tekstowym i plikiem MS Excel. Niech formularz ma postać jak na rys. 1. Rysunek

Bardziej szczegółowo

Konwencje obsługi błędów

Konwencje obsługi błędów Obsługa błędów Rakieta Ariane 5 spadła 40 sekund po starcie. Straty 0,5 miliarda dolarów. Przyczyna: wyjątek (exception) rzucony przez kod napisany pierwotnie dla Ariane 4. Feralna procedura była niepotrzebna

Bardziej szczegółowo

Zasady rejestracji i instrukcja zarządzania kontem użytkownika portalu

Zasady rejestracji i instrukcja zarządzania kontem użytkownika portalu Zasady rejestracji i instrukcja zarządzania kontem użytkownika portalu Rejestracja na Portalu Online Job Application jest całkowicie bezpłatna i składa się z 3 kroków: Krok 1 - Wypełnij poprawnie formularz

Bardziej szczegółowo

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe III. Refleksja Małgorzata Prolejko OBI JA16Z03 Plan Klasa Class. Analiza funkcjonalności klasy. Podstawy obsługi wyjątków. Zastosowanie refleksji do analizy obiektów. Wywoływanie

Bardziej szczegółowo

Class1.vb. _Dlugosc_stopnia = value End Set End Property Public Property Faza As Single Get Return _Faza End Get

Class1.vb. _Dlugosc_stopnia = value End Set End Property Public Property Faza As Single Get Return _Faza End Get Tematy: Xml Zapis i odczyt stopnia przy pomocy serializacji. Zapis i odczyt całego wału przy pomocy własnych procedur. Zamierzamy dodać do aplikacji nowe funkcjonalności: 1. Zapis i odczyt pojedynczego

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

www.irs.gov/form990. If "Yes," complete Schedule A Schedule B, Schedule of Contributors If "Yes," complete Schedule C, Part I If "Yes," complete Schedule C, Part II If "Yes," complete Schedule C, Part

Bardziej szczegółowo

Analysis of Movie Profitability STAT 469 IN CLASS ANALYSIS #2

Analysis of Movie Profitability STAT 469 IN CLASS ANALYSIS #2 Analysis of Movie Profitability STAT 469 IN CLASS ANALYSIS #2 aaaklnictzzjb9tgfmcnadpg7oy0lxa9edva9kkapdarhyk2k7gourinlwsweyzikuyiigvyleiv/cv767fpf/5crc1xt9va5mx7w3m/ecuqw1kuztpx/rl3/70h73/w4cog9dhhn3z62d6jzy+yzj766txpoir9nzszisjynetqr+rvlfvyoozu5xbybpsxb1wahul8phczdt2v4zgchb7uecwphlyigrgkjcyiflfyci0kxnmr4z6kw0jsokvot8isntpa3gbknlcufiv/h+hh+eur4fomd417rvtfjoit5pfju6yxiab2fmwk0y/feuybobqk+axnke8xzjjhfyd8kkpl9zdoddkazd5j6bzpemjb64smjb6vb4xmehysu08lsrszopxftlzee130jcb0zjxy7r5wa2f1s2off2+dyatrughnrtpkuprlcpu55zlxpss/yqe2eamjkcf0jye8w8yas0paf6t0t2i9stmcua+inbi2rt01tz22tubbqwidypvgz6piynkpobirkxgu54ibzoti4pkw2i5ow9lnuaoabhuxfxqhvnrj6w15tb3furnbm+scyxobjhr5pmj5j/w5ix9wsa2tlwx9alpshlunzjgnrwvqbpwzjl9wes+ptyn+ypy/jgskavtl8j0hz1djdhzwtpjbbvpr1zj7jpg6ve7zxfngj75zee0vmp9qm2uvgu/9zdofq6r+g8l4xctvo+v+xdrfr8oxiwutycu0qgyf8icuyvp/sixfi9zxe11vp6mrjjovpmxm6acrtbia+wjr9bevlgjwlz5xd3rfna9g06qytaoofk8olxbxc7xby2evqjmmk6pjvvzxmpbnct6+036xp5vdbrnbdqph8brlfn/n/khnfumhf6z1v7h/80yieukkd5j0un82t9mynxzmk0s/bzn4tacdziszdhwrl8x5ako8qp1n1zn0k6w2em0km9zj1i4yt1pt3xiprw85jmc2m1ut2geum6y6es2fwx6c+wlrpykblopbuj5nnr2byygfy5opllv4+jmm7s6u+tvhywbnb0kv2lt5th4xipmiij+y1toiyo7bo0d+vzvovjkp6aoejsubhj3qrp3fjd/m23pay8h218ibvx3nicofvd1xi86+kh6nb/b+hgsjp5+qwpurzlir15np66vmdehh6tyazdm1k/5ejtuvurgcqux6yc+qw/sbsaj7lkt4x9qmtp7euk6zbdedyuzu6ptsu2eeu3rxcz06uf6g8wyuveznhkbzynajbb7r7cbmla+jbtrst0ow2v6ntkwv8svnwqnu5pa3oxfeexf93739p93chq/fv+jr8r0d9brhpcxr2w88bvqbr41j6wvrb+u5dzjpvx+veoaxwptzp/8cen+xbg==

Bardziej szczegółowo

EXCEL PL PROGRAMOWANIE PDF

EXCEL PL PROGRAMOWANIE PDF EXCEL PL PROGRAMOWANIE PDF ==> Download: EXCEL PL PROGRAMOWANIE PDF EXCEL PL PROGRAMOWANIE PDF - Are you searching for Excel Pl Programowanie Books? Now, you will be happy that at this time Excel Pl Programowanie

Bardziej szczegółowo

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO LABORATORIUM Temat: QNX Neutrino Interrupts Mariusz Rudnicki 2016 Wstęp W QNX Neutrino wszystkie przerwania sprzętowe przechwytywane są przez jądro systemu. Obsługę

Bardziej szczegółowo

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wyjątki Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wydaje się, że żaden użytkownik oprogramowania nie lubi, kiedy stosowany program nagle zawiesza się,

Bardziej szczegółowo

www.irs.gov/form990. If "Yes," complete Schedule A Schedule B, Schedule of Contributors If "Yes," complete Schedule C, Part I If "Yes," complete Schedule C, Part II If "Yes," complete Schedule C, Part

Bardziej szczegółowo

Aktualizacja Oprogramowania Firmowego (Fleszowanie) Microprocessor Firmware Upgrade (Firmware downloading)

Aktualizacja Oprogramowania Firmowego (Fleszowanie) Microprocessor Firmware Upgrade (Firmware downloading) Aktualizacja Oprogramowania Firmowego (Fleszowanie) Microprocessor Firmware Upgrade (Firmware downloading) ROGER sp.j. Gościszewo 59 82-416 Gościszewo Poland tel. 055 2720132 fax 055 2720133 www.roger.pl

Bardziej szczegółowo

ABOUT NEW EASTERN EUROPE BESTmQUARTERLYmJOURNAL

ABOUT NEW EASTERN EUROPE BESTmQUARTERLYmJOURNAL ABOUT NEW EASTERN EUROPE BESTmQUARTERLYmJOURNAL Formanminsidemlookmatmpoliticsxmculturexmsocietymandm economyminmthemregionmofmcentralmandmeasternm EuropexmtheremismnomothermsourcemlikemNew Eastern EuropeImSincemitsmlaunchminmPw--xmthemmagazinemhasm

Bardziej szczegółowo

POLITYKA PRYWATNOŚCI / PRIVACY POLICY

POLITYKA PRYWATNOŚCI / PRIVACY POLICY POLITYKA PRYWATNOŚCI / PRIVACY POLICY TeleTrade DJ International Consulting Ltd Sierpień 2013 2011-2014 TeleTrade-DJ International Consulting Ltd. 1 Polityka Prywatności Privacy Policy Niniejsza Polityka

Bardziej szczegółowo

Machine Learning for Data Science (CS4786) Lecture11. Random Projections & Canonical Correlation Analysis

Machine Learning for Data Science (CS4786) Lecture11. Random Projections & Canonical Correlation Analysis Machine Learning for Data Science (CS4786) Lecture11 5 Random Projections & Canonical Correlation Analysis The Tall, THE FAT AND THE UGLY n X d The Tall, THE FAT AND THE UGLY d X > n X d n = n d d The

Bardziej szczegółowo

Jak zasada Pareto może pomóc Ci w nauce języków obcych?

Jak zasada Pareto może pomóc Ci w nauce języków obcych? Jak zasada Pareto może pomóc Ci w nauce języków obcych? Artykuł pobrano ze strony eioba.pl Pokazuje, jak zastosowanie zasady Pareto może usprawnić Twoją naukę angielskiego. Słynna zasada Pareto mówi o

Bardziej szczegółowo

Proposal of thesis topic for mgr in. (MSE) programme in Telecommunications and Computer Science

Proposal of thesis topic for mgr in. (MSE) programme in Telecommunications and Computer Science Proposal of thesis topic for mgr in (MSE) programme 1 Topic: Monte Carlo Method used for a prognosis of a selected technological process 2 Supervisor: Dr in Małgorzata Langer 3 Auxiliary supervisor: 4

Bardziej szczegółowo

MS Visual Studio 2005 Team Suite - Performance Tool

MS Visual Studio 2005 Team Suite - Performance Tool MS Visual Studio 2005 Team Suite - Performance Tool przygotował: Krzysztof Jurczuk Politechnika Białostocka Wydział Informatyki Katedra Oprogramowania ul. Wiejska 45A 15-351 Białystok Streszczenie: Dokument

Bardziej szczegółowo

Laboratorium Programowania Kart Elektronicznych

Laboratorium Programowania Kart Elektronicznych Laboratorium Programowania Kart Elektronicznych Marek Gosławski Przygotowanie do zajęć dokumentacja ZeitControl BasicCard środowisko programistyczne karta BasicCard Potrzebne wiadomości język angielski

Bardziej szczegółowo