Inżynieria Programowania Laboratorium 6 Pierwsza finalna wersja. Paweł Paduch

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

Download "Inżynieria Programowania Laboratorium 6 Pierwsza finalna wersja. Paweł Paduch paduch@tu.kielce.pl"

Transkrypt

1 Inżynieria Programowania Laboratorium 6 Pierwsza finalna wersja Paweł Paduch

2 Rozdział 1 Wstęp Dzisiejsze zajęcia będą kontynuacją implementowania interfejsu. Skupimy się także na testowaniu aplikacji pod kontem ergonomii i niezawodności. W ocenie interfejsu może pomóc lista kontrolna Ravdena Johnsona (do znalezienia w Internecie). Jest to opracowany w 1989 r. zbiór pytań i punktów kontrolnych dotyczących projektu informatycznego. Między innymi sprawdzana jest spójność interfejsu, komunikaty do użytkownika, klarowność łatwość obsługi itd. Listę tę, należy sobie przeczytać i stosować także w swoich przyszłych projektach. 1

3 Rozdział 2 Okno edycji użytkowników Na ostatnich zajęciach poradziliśmy sobie ze zunifikowaniem nazewnictwa w bazie danych a co za tym idzie także w naszej bibliotece RezerwacjeLib. Poznaliśmy podstawowe elementy programowania aplikacji WPF takie jak kontrolki, zdarzenia czy tworzenie nowych okien. Na koniec został pokazany przykład podpięcia danych słownikowych jako kontrolki typu ComboBox w tabelce Zasoby. Pierwszym zadaniem będzie stworzenie okna zarządzającego osobami. Będzie to tabelka ze wszystkimi potrzebnymi danymi takimi jak imię, nazwisko, uprawnienie, tytuł, mail, hasło czy daty dodania i modyfikacji. Do tej pory w większości okien nie przywiązywaliśmy uwagi do zachowania się kontrolek podczas skalowania okna. Tym razem postaramy się prawidłowo i w miarę estetycznie rozmieścić elementy i skonfigurować ich zachowanie podczas zmiany rozmiaru okna. 2.1 Konfiguracja wyglądu Zadanie zaczynamy oczywiście od dodania nowego okna z menu projektu wybieramy Add Window. Nazywamy go WinOsoby. Po utworzeniu zmieniamy jego tytuł na Osoby. Dodajemy tabelkę i przyciski. Oprogramowujemy pozycję Osoby w menu głównego okna tak by otworzyło nam się okienko z wypełnioną tabelką. Jak zwykle pamiętamy o ustawieniu odpowiedniej przestrzeni nazw w pliku *.cs. Można uruchomić i sprawdzić czy dane dociągnęły się jak należy. Wygląd okna powinien przypominać ten na rysunku 2.1. Rysunek 2.1: Okienko edycji osób. Proszę zwrócić uwagę na kolejność kolumn, poprawione nagłówki i format daty. Dodatkowo wszystkie kolumny gdzie występował klucz obcy zastąpione 2

4 zostały odpowiednimi polami combobox zawierającymi słowniki. Jak stworzyć słowniki można sobie przypomnieć z ostatniej instrukcji laboratoryjnej. Po utworzeniu domyślnej tabeli, daty dodania i modyfikacji osadzone zostaną w bardzo funkcjonalnej kontrolce pozwalającej wprowadzać datę z kalendarza. Jednak nasze daty, zarówno dodania jak i edycji aktualizują się same. Powinniśmy więc ustawić je tylko do odczytu. Zamieniamy je na pole typu DataGridTextColumn tak jak na listingu 2.1 Listing 2.1: Kolumny z datą tylko do odczytu <DataGridTextColumn x:name="datadodaniacolumn" Header="Data dodania" Binding="Binding DataDodania, StringFormat=\0:dd.MM.yyyy HH:mm:ss\" Width="Auto" MinWidth="110" IsReadOnly="True"/> <DataGridTextColumn x:name="datamodyfikacjicolumn" Header="Data modyfikacji" Binding="Binding DataModyfikacji, StringFormat=\0:dd.MM.yyyy HH:mm:ss\" Width="Auto" MinWidth="110" IsReadOnly="True"/> We właściwościach widzimy, że są to pola tylko do odczytu. Widać też, że zastosowano ciąg formatujący datę (niestety ten domyślny nam nie odpowiada. Z ciekawości można usunąć parametr StringFormat w jednej z kolumn i zobaczyć efekt działania. 2.2 Rozmieszczenie elementów Okno w WPF może posiadać tylko jeden element. Nie można wstawiać bezpośrednio pod tagiem Window elementy typu guziki, etykietki i inne. Tym jedynym elementem jest panel. Jest to element układający inne elementy wewnątrz siebie. W WPF mamy do dyspozycji kilka takich paneli. Canvas - klasyczne rozmieszczenie elementów, tam gdzie je ustawimy tam pozostaną DockPanel - przyczepa element do określonej krawędzi (góra, dół, prawa, lewa) StackPanel - Elementy układane są jeden na drugim, lub jeden za drugim WrapPanel - Podobnie jak StackPanel ale powoduje zawijanie wiersza elementów. W podobny sposób zorganizowane jest menu. Grid - siatka składająca się często z wielu komórek, w każdej komórce można rozmieszczać elementy. Jest to domyślny panel w kodzie wygenerowanym automatycznie. Nasz Grid będzie zawierał dwa wiersze oraz jedną kolumnę. W pierwszym wierszu umieścimy tabelkę w drugim guziki. W listingu 2.2 widzimy prosty grid o podanej wysokości wierszy. 3

5 <Grid.RowDefinitions> <RowDefinition Height="260*" /> <RowDefinition Height="40" /> </Grid.RowDefinitions> Listing 2.2: Definicja panelu siatki. Gwiazdka przy wartości 260* świadczy o tym, że wiersz ten może zmieniać rozmiar. Gdy wstawimy weń tabelę też będzie trzeba określić jej sposób wyrównywania w pionie i poziomie ( VerticalAlignment= Stretch HorizontalAlignment= Stretch ). Przy drugim wierszu gdzie będą guziki nie chcemy by były one zakrywane albo rozciągane przy zmianie rozmiaru okna dlatego stosujemy stałą wysokość wiersza. Ponadto chcemy, by zarówno tabelka jak i guziki nie przylegały do krawędzi okna. Do określenia marginesu jaki należy zachować dookoła danego elementu służy atrybut Margin Określenie do jakiej komórki należy dana kontrolka dokonamy za pomocą tzw. właściwości dołączanych jak widzimy to w listingu 2.3. Listing 2.3: Przykład przycisków w gridzie. <Button Content="Zapisz" Grid.Row="1" Height="25" HorizontalAlignment="Left" Margin="10,0,10,10" Name="buttonZapisz" VerticalAlignment="Top" Width="75" Click="buttonZapisz_Click" /> <Button Content="Wyjdź" Grid.Row="1" Height="25" HorizontalAlignment="Right" Margin="10,0,10,10" Name="buttonWyjdz" VerticalAlignment="Top" Width="75" Click="buttonWyjdz_Click" /> Widzimy tu też przykład przyklejenia jednego przycisku do lewej krawędzi drugiego do prawej. Przy zmianie szerokości okna przyciski te będą albo się od siebie oddalać albo przybliżać. Wyrównywanie kolumn. Praktycznie wszystkie kolumny powinny mieć szerokość ustawioną na Auto. Wtedy szerokość będzie brana taka by zmieścił się najszerszy element. Kolumny z datą można ustawić na stałe 110, natomiast szerokość kolumny Opis ustawiamy na *. Wtedy kolumna ta będzie rozszerzalna wraz z rozszerzaniem się tabelki. Po ustawieniu odpowiednich właściwości przetestować działanie w programie. Jedyną rzeczą, której tu nie zrobimy a mogłaby się przydać to maskowanie haseł. Ze względów bezpieczeństwa, nawet admin nie powinien znać haseł użytkowników. Powinniśmy zastosować typ pola PasswordBox. Jednak związanie z danymi z bazy jest trochę bardziej skomplikowane i pominiemy ten problem. Zwłaszcza, że hasła i tak są w bazie trzymane jawnie. Docelowo nasz system będzie oparty o autentykację Active Directory i wtedy problem zmiany haseł będzie leżał po stronie domeny. 4

6 Rozdział 3 Przegląd rezerwacji Teraz zajmiemy się najtrudniejszą (jak do tej pory) częścią naszego programu, przeglądem i łatwym wyszukiwaniem rezerwacji. Do tego celu posłużą nam 3 tabelki typu datagrid umieszczone na głównym oknie. Wygląd będzie mniej więcej taki jak na rysunku 3.1. W tabelce osób zaznaczamy użytkowników, których rezerwacje chcemy przeglądać, w tabelce zasoby zaznaczamy interesujące nas sale, sprzęty czy grupy. Ctrl+A oczywiście zaznacza wszystko w danej tabelce. Przy zaznaczonych wszystkich elementach w obu tabelkach mamy wgląd we wszystkie rezerwacje. Rysunek 3.1: Projekt głównego okna. 5

7 3.1 Rozmieszczenie i zawartość tabelek Aby zapewnić odpowiednie wyrównywanie i skalowanie, tabelki umieścimy w siatce (grid). Siatka będzie składać się z dwóch kolumn oraz 4 wierszy. Definicje kolumn i wierszy umieszczamy bezpośrednio pod tagiem Grid, listing 3.1 W zerowym wierszu umieścimy menu. W kolejnych dwóch będą umieszczone tabelki rezerwacji, osób i zasobów. W ostatniej umieścimy zagnieżdżoną siatkę, w której będą elementy potrzebne do dodawania rezerwacji. Listing 3.1: Definicja grida dla głównego okna. <Grid.ColumnDefinitions> <ColumnDefinition Width="320*" /> <ColumnDefinition Width="180*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="22" /> <RowDefinition Height="125*" /> <RowDefinition Height="125*" /> <RowDefinition Height="50" /> </Grid.RowDefinitions> Gwiazdki przy rozmiarach oznaczają, że dany rozmiar może się zmieniać, jednak będzie się to odbywać proporcjonalnie. W pierwszym wierszu o stałej wysokości 22 umieścimy pasek z menu. Robimy to za pomocą właściwości dołączanej (informującej element rodzicielski o parametrach dla elementu potomnego). Grid.Row - oznacza w którym wierszu umieszczamy menu, Grid.ColumnSpan określa na ile kolumn rozciągnąć pasek. Określamy też rozciągliwość paska na całą szerokość obu kolumn grida oraz wyrównywanie do samej góry. Tak jak na listingu 3.2 Listing 3.2: Umieszczenie paska menu w siatce. <Menu Height="22" Grid.Row="0" Grid.ColumnSpan="2" HorizontalAlignment="Stretch" VerticalAlignment="Top" Name="menuGlowne"> Kolejnym elementem będzie tabelka rezerwacji. Umieścimy ją w gridzie w kolumnie 1 oraz wierszach 1-2. Skonfigurujemy od razu jakie informacje chcemy w niej zawrzeć. Będą to kolumny: Id - identyfikator, docelowo zniknie ale dla testów i celów edukacyjnych narazie zostawimy. Imię osoby, której dotyczy rezerwacja Nazwisko osoby której dotyczy rezerwacja Nazwa zasobu Czas początku rezerwacji Czas końca rezerwacji Stan rezerwacji oraz Typ rezerwacji 6

8 W tabelce ustawimy odstęp od każdej sąsiadującej krawędzi na 5. Tabelka powinna też rozciągać się wraz ze zmianą wysokości jak i szerokości okna. Definicja rozmieszczenia tabelki oraz jej kolumn zawarto w listingu 3.3. Listing 3.3: Rozmieszczenie tabelki rezerwacji oraz jej kolumny. <DataGrid AutoGenerateColumns="False" Margin="5,5,5,5" Grid.Row="1" Grid.RowSpan="2" ItemsSource="Binding" Name="rezerwacjeDataGrid" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> <DataGrid.Columns> <DataGridTextColumn Header="Id" Binding="Binding IdRezerwacji" Width="30" MinWidth="30" /> <DataGridTextColumn Header="Imię" Binding="Binding Imie" Width="*" MinWidth="50"/> <DataGridTextColumn Header="Nazwisko" Binding="Binding Nazwisko" Width="*" MinWidth="50"/> <DataGridTextColumn Header="Zasób" Binding="Binding Nazwa" Width="*" MinWidth="60"/> <DataGridTextColumn Header="Początek" Width="Auto" MinWidth="115" Binding="Binding Od, StringFormat=\0:dd.MM.yyyy HH:mm:ss\"/> <DataGridTextColumn Header="Koniec" Width="Auto" MinWidth="115" Binding="Binding Do, StringFormat=\0:dd.MM.yyyy HH:mm:ss\"/> <DataGridTextColumn Header="Stan" Binding="Binding Stan" Width="Auto" MinWidth="55"/> <DataGridTextColumn Header="Typ" Binding="Binding Typ" Width="Auto" MinWidth="55"/> </DataGrid.Columns> </DataGrid> Wierszu 1 i kolumnie 1 siatki umieścimy prostą tabelkę osób z danymi tytuł, imię i nazwisko. Tabelkę przeciągamy z bocznego paska Data Sources i konfigurujemy tak jak pokazano na listingu 3.4. Listing 3.4: Rozmieszczenie tabelki osób oraz jej kolumny. <DataGrid AutoGenerateColumns="False" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ItemsSource="Binding Source=StaticResource osobyviewsource" Margin="5,5,5,5" Name="osobyDataGrid" SelectionChanged="osobyDataGrid_SelectionChanged"> <DataGrid.Columns> <DataGridTextColumn x:name="tytulcolumn" Binding="Binding Path=Tytuly.Tytul" Header="Tytuł" Width="Auto" /> <DataGridTextColumn x:name="imiecolumn" Binding="Binding Path=Imie" Header="Imię" Width="Auto" /> <DataGridTextColumn x:name="nazwiskocolumn" Binding="Binding Path=Nazwisko" Header="Nazwisko" Width="*" /> </DataGrid.Columns> </DataGrid> 3.2 Kod obsługujący Gdy już mamy zdefiniowane tabelki (na razie dwie, trzecia będzie do zrobienia samodzielnego) należy wypełnić je danymi. Najłatwiej będzie z tabelką osób. Należy to zrobić analogicznie jak w przypadku innych prostych tabelek. W funkcji wywoływanej podczas ładowania głównego okna (Window Loaded) należy dodać linię: osobyviewsource.source = zalogowany.znajdzosobyponazwisku( * ).ToList(); Tabela rezerwacji ma nieco więcej danych. Dodatkowo dane te pochodzą z tabel w relacji wiele-do-wielu. Gdy tabelki połączeniowe np. RezerwacjeZasoby 7

9 lub RezerwacjeOsoby posiadały tylko klucze obce generator modelu Entity Framework stworzyłby relację *-*. O ile z rezerwacjami można by się pokusić o takie rozwiązanie o tyle połączenie z osobami jest nieco bardziej skomplikowane ze względu na pole Zgoda. Tak czy inaczej stworzymy sobie nowy typ danych klasę będącą reprezentacją pojedynczego wiersza rezerwacji. Wiersza, w którym będzie zawarty jeden zasób i jedna osoba. Nową klasę jak na listingu 3.5 umieszczamy w pliku Rezerwacje.cs w bibliotece RezerwacjeLib. Listing 3.5: Nowa klasa RezerwacjoZasoboOsoby. public class RezerwacjoZasoboOsoby public Rezerwacje rez get;set; public Zasoby zas get; set; public Osoby os get; set; Kolejnym elementem jest implementacja funkcji szukającej rezerwacje związane z danymi osobami i zasobami. Podając listy odpowiednich identyfikatorów powinniśmy dostać zbiór rezerwacji. Zrealizujemy tą funkcjonalność w listingu 3.6 w pliku Rezerwacje.cs w bibliotece RezerwacjeLib. Listing 3.6: Funkcja szukająca rezerwacje. public IQueryable<RezerwacjoZasoboOsoby> znajdzrezerwacje(list<long> idkiludzikow, List<long> idkizasobow) IQueryable<RezerwacjoZasoboOsoby> rezos = (from rz in context.rezerwacje from zas in context.rezerwacjezasoby from os in context.rezerwacjeosoby from osobydowyszukania in idkiludzikow from zasobydowyszukania in idkizasobow where rz.idrezerwacji == zas.idrezerwacji //zlaczenie tabeli rezerwacji z tabela zawierajaca identyfikatory zasobow && os.idrezerwacji == rz.idrezerwacji //i czy dane osoby tez nie sa zajete w tym czasie && os.idosoby == osobydowyszukania //uwzględniamy tylko podane id && zas.idzasobu == zasobydowyszukania //uwzględniamy tylko podane id select new RezerwacjoZasoboOsoby rez=rz, os=os.osoby, zas=zas. Zasoby ).AsQueryable(); return rezos; Teraz należy stworzyć funkcję wypełniającą tabelkę rezerwacji (listing 3.7. Oczywiście funkcja ta będzie w pliku MainWindow.xaml.cs. Listing 3.7: Funkcja wypelnijtabelkerezerwacji. private void wypelnijtabelkerezerwacji() try Zasoby zasoby = new Zasoby(); List<long> idkiosob = new List<long>(); idkiosob = (from os in osobydatagrid.selecteditems.oftype<osoby>() select os. IdOsoby).ToList(); //Chwilowo weźmiemy pod uwagę wszystkie zasoby List<long> idkizasobow = (from zas in zasoby.getall() select zas.idzasobu).tolist (); 8

10 //znajdź rezerwacje List<RezerwacjoZasoboOsoby> rez = rezerwacje.znajdzrezerwacje(idkiosob, idkizasobow).tolist(); ListCollectionView reztest = new ListCollectionView((from rz in rez select new rz.rez.idrezerwacji, opiszas = rz.zas.opis, rz.zas.nazwa, rz.os.imie, rz.os. Nazwisko, rz.rez.od, rz.rez.do, rz.rez.stanyrezerwacji.stan, rz.rez. TypyRezerwacji.Typ ).ToList()); rezerwacjedatagrid.itemssource = reztest; catch (Exception ex) MessageBox.Show("złapałem wyjątka: " + ex.message); Tabelkę wypełniamy na samym początku podczas ładowania głównego okna. Aby zawartość tabelki zmieniała się wraz ze zmianą zaznaczonych osób, należy podpiąć wypełnianie tabelki do zdarzenia osobydatagrid SelectionChanged. Jeżeli wszystko zostało wykonane poprawnie możemy przebudować bibliotekę (F6) oraz skompilować program (F5). 3.3 Dodanie tabelki zasobów Jeżeli działa wyszukiwanie po osobach należałoby dodać jeszcze analogiczną tabelkę zasobów. Jest to zadanie samodzielne weryfikujące wiedzę nabytą w tym rozdziale. 3.4 Kolejne usprawnienia Kolejną dość łatwym zadaniem, które można przy okazji zrobić to upewnić się, że tabelki operują na listach. Listy dadzą się sortować nie da się na nich robić operacji dodawania i usuwania natomiast IQueryable odwrotnie, dodawać i usuwać da się, niestety nie działa sortowanie. Problem ten oczywiście można obejść w dość łatwy sposób jednak wymaga on dopisania jeszcze pewnej części kodu. Tabelki operujące na listach nie powinny mieć możliwości dodawania przez użytkownika nowych rekordów. Należy odszukać i poustawiać odpowiednie atrybut CanUserAddRows= False. Wtedy zniknie nam dodatkowy pusty wiersz w tabelkach. Aby użytkownik mógł sortować należy mu na to pozwolić ustawiając odpowiednio atrybut CanUserSortColumns= True. Uwaga w edytorze Visual Studio pomimo iż domyślnie te atrybuty we właściwościach są ustawione to trzeba je wyłączyć i jeszcze raz włączyć by jawnie pojawiły się w pliku konfiguracyjnym. 9

11 Rozdział 4 Formularz dodawania rezerwacji Dodawanie rezerwacji umieścimy w głównym oknie na dole. Metodę dodającą rezerwacje stworzyliśmy na 4 laboratoriach. Nazywa się dodajrezerwacje i potrzebuje następujących danych wejściowych: identyfikator dodającego rezerwacje czas startu czas końca lista identyfikatorów osób którym rezerwujemy czas lista identyfikatorów zasobów typ rezerwacji 4.1 Zmiany w bibliotece Do tej pory metoda ta nie zwracała nic, a w razie niepowodzenia wypisywała na konsolę odpowiednie komunikaty. Obecnie chcemy, aby w dodawanie rezerwacji informowało nas czy operacja się powiodła. Jeżeli wystąpi błąd, będziemy mogli odczytać podstawową informację na jego temat. W tym celu musimy dokonać małej przeróbki w kodzie naszej biblioteki. Do klasy Rezerwacje dodajemy zmienną typu string i określamy dostęp do niej jako tylko do odczytu, tak jak na listingu 4.1 To tu zapiszemy stosowny komunikat w razie niepowodzenia. private string _mesg = null; public string Message get return _mesg; Listing 4.1: Zmienna do zapisu komunikatu. 10

12 Oczywiście trzeba zmienić w nagłówku funkcji dodajrezerwacje zwracany typ z void na bool. Oraz wszędzie tam gdzie gdzie funkcja wychodziła, dodać odpowiednio return true lub false np. (listing 4.2) Listing 4.2: Przykład zapisu komunikatu i wyjście z błędem. try context.savechanges(); //ostatecznie zapisujemy zmiany, EF robi to w transakcji. catch (Exception ex) _mesg = "Wystąpił błąd podczas dodawania rezerwacji" + ex.message; if (ex.innerexception!= null) _mesg = _mesg + "\n\nbłąd wewnętrzny:\n\n" + ex.innerexception.message; Console.WriteLine(_mesg); return false; Przy okazji testów, wyszedł jeden błąd. Złe zapytanie LINQ wyszukujące konfliktowe rezerwacje nie znajdywało rezerwacji w tym samy terminie tych samych zasobów gdy rezerwacja była na inną osobę. Przyczyna prosta. Pomiędzy warunkiem określającym zasoby oraz osoby było złączenie AND. To oznacza, że konfliktowa rezerwacja byłaby wtedy kiedy oprócz dat musiał zaistnieć warunek zasób i osoba. Gdy osoba była inna, konfliktu nie było. Dlatego ten fragment należy poprawić jak w listingu 4.3. Listing 4.3: Poprawione zapytanie wyszukujące konfliktowe rezerwacje. var konfliktowerez = (from rz in context.rezerwacje from zas in context.rezerwacjezasoby from zasobydorezerwacji in idkizasobow from os in context.rezerwacjeosoby from osobydorezerwacji in idkiludzikow where ((rz.od <= dtstart && rz.do > dtstart) (dtstart <= rz.od && dtstop > rz. Od)) && (( rz.idrezerwacji == zas.idrezerwacji && zas.idzasobu == zasobydorezerwacji ) (os.idrezerwacji == rz.idrezerwacji && os.idosoby == osobydorezerwacji )) select rz).distinct(); 4.2 Dodatkowa biblioteka W bogatym zestawie kontrolek WPF brakuje tak przydatnej kontrolki jak choćby TimePicker (pobieranie czasu) czy DecimalUpDown (zwiększanie i zmniejszanie liczby typu decimal za pomocą dwóch małych przycisków). Na szczęście możemy sobie stworzyć sami własne kontrolki. Tutaj nie będziemy tego robić. Posłużymy się darmową wersją biblioteki Extended WPF Toolkit Community Edition. Zaczniemy od ściągnięcia biblioteki ze strony wpftoolkit.codeplex.com Zawartość należy rozpakować do dowolnego katalogu do którego mamy dostęp, ale najlepiej stworzyć sobie w obrębie projektu katalog ExtendedWPFToolkit i tam wypakować albo całą zawartość pliku albo tylko Xceed.Wpf.Toolkit.dll. Następnie w przypadku systemów Windows 2008 Server 11

13 (możliwe że 7 lub 8 też należy tę operację wykonać) należy wejść we właściwości pliku i go odblokować klikając na guzik Odblokuj. Tak jak na pokazano na rysunku 4.1 Rysunek 4.1: Odblokowanie obcej biblioteki. Teraz we właściwościach projektu należy dodać referencję do pliku Xceed.Wpf.Toolkit.dll. Aby używać przestrzeni nazw z nowej biblioteki w plikach xaml należy dodać jeszcze: xmlns:xctk= Nazwa ta powinna nam się pojawić po wpisaniu xmlns:xctk= gdyby tak się nie stało należy sprawdzić czy dodaliśmy referencję po odblokowaniu pliku. Ewentualnie można też uruchomić ponownie Visual Studio. Szczegóły instalacji oraz używania biblioteki można doczytać w dokumentacji na stronie producenta. 4.3 Nowe komponenty Nowa biblioteka dostarczyła nam ciekawego komponentu DataTimePicker. Jest to komponent zawierający kalendarz ale i pozwalający na wpisanie godziny. Możemy określić sposób formatowania daty oraz czasu. Nowe elementy umieścimy w dodatkowej siatce (grid) a tę umieścimy w ostatnim wierszu siatki głównej. Jak było to już wspomniane, dodawanie rezerwacji wymaga list identyfikatorów użytkowników i zasobów. Te weźmiemy z istniejących tabel. Identyfikator osoby dodającej będzie wzięty z zalogowanej osoby. Osoba niezalogowana dostanie informację o braku uprawnień lub inny stosowny komunikat. Typ rezerwacji będzie pobierany z pola typu combi. Oczywiście trzeba będzie go wypełnić danymi z bazy. Daty od do będą wprowadzane za pomocą nowych kontrolek. Będzie też potrzebny guzik rozpoczynający proces dodawania rezerwacji. Cała konfiguracja wyglądu zawarta jest w kodzie 4.4 Listing 4.4: Konfiguracja nowych elementów potrzebnych do dodawania rezerwacji. 12

14 <Grid Grid.Row="3" Grid.ColumnSpan="2" VerticalAlignment="Top" Margin="0,5,0,0" HorizontalAlignment="Stretch"> <Grid.ColumnDefinitions> <ColumnDefinition Width="125*" /> <ColumnDefinition Width="125*" /> <ColumnDefinition Width="125*" /> <ColumnDefinition Width="125*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="40"/> </Grid.RowDefinitions> <ComboBox Grid.Row="0" Height="25" HorizontalAlignment="Left" Margin="95,0,0,0" Name="comboTypRezerwacji" VerticalAlignment="Center" Width="110" DisplayMemberPath="Typ" ItemsSource="Binding"/> <Label Content="Typ Rezerwacji:" Grid.Row="0" Height="25" Margin="5,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Center" Name="label1"/> <Label Content="Data Od:" Grid.Row="0" Grid.Column="1" Height="25" Margin="5,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Center" Name="label2"/> <Label Content="Data Do:" Grid.Row="0" Grid.Column="2" Height="25" Margin="5,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Center" Name="label3"/> <xctk:datetimepicker Height="25" Width="130" Grid.Row="0" Grid.Column="1" Margin="60,0,0,0" Name="dtpickerOd" HorizontalAlignment="Left" VerticalAlignment="Center" FormatString="dd.MM.yyyy HH:mm" Format="Custom" ValueChanged="dtpickerOd_ValueChanged"/> <xctk:datetimepicker Height="25" Width="130" Grid.Row="0" Grid.Column="2" Margin="60,0,0,0" Name="dtpickerDo" HorizontalAlignment="Left" VerticalAlignment="Center" FormatString="dd.MM.yyyy HH:mm" Format="Custom"/> <Button Content="Dodaj" Height="23" Width="75" Grid.Row="0" Grid.Column="3" Margin="0,0,0,0" Name="buttonDodaj" HorizontalAlignment="Center" VerticalAlignment="Center" Click="buttonDodaj_Click" /> </Grid> 4.4 Kod W pliku xaml widzimy, podpięte procedury obsługi zdarzeń ValueChanged oraz Click. Przed kompilacją należy wygenerować puste funkcje. Teraz powinniśmy wypełnić pole combi. Wykonamy to za pomocą jednej linii combotyprezerwacji.itemssource = typyrezerwacji.getall(); Daty można podawać ręcznie, jednak miłym udogodnieniem było by gdyby wypełnione były one bieżącą datą. Użytkownik i tak nie będzie ustawiał daty wcześniejszej ale będzie miał trochę mniej szukania czy pisania. Może zgodzi mu się rok i miesiąc, a może nawet i godzina. Niestety pobranie bieżącego czasu będzie z dokładnością do sekund a to skutkowałoby zmuszeniem użytkownika do zerowania części sekundowej a i zapewne ustawiania części minutowej. Dobrym rozwiązaniem było by zaokrąglenie daty do 5 minut na przód. Wykonamy to za pomocą prostej funkcji zaczerpniętej ze strony: Tworzymy nową klasę 4.5 w pliku Enumeracje.cs (lub innym dostępnym w projekcie). public class TimeTools Listing 4.5: Funkcja zaokrąglająca czas. 13

15 public DateTime RoundUp(DateTime dt, TimeSpan d) return new DateTime(((dt.Ticks + d.ticks/2) / d.ticks) * d.ticks); Teraz wystarczy jej użyć w kodzie 4.6 ładującym główne okno. Listing 4.6: Ustawienie czasu. TimeTools tt = new TimeTools(); dtpickerod.value = tt.roundup(datetime.now, TimeSpan.FromMinutes(5)); Jak widzimy zrobiliśmy to tylko dla czasu początkowego. Czas końcowy ustawimy w funkcji 4.7 dtpickerod ValueChanged podpiętej do zdarzenia ValueChanged. Jest on ustawiany za każdym razem gdy pole Do jest mniejsze niż Od lub jest ono nie ustawione. Logicznym jest fakt, że czas końca rezerwacji nie może być wcześniejszy niż jej początek. Dlatego kolejnym ułatwieniem dla użytkownika jest automatyczne ustawienie czas końca na czas przynajmniej taki jak czas początku. Listing 4.7: Funkcja zaokrąglająca czas. private void dtpickerod_valuechanged(object sender, RoutedPropertyChangedEventArgs< object> e) //jeżeli po zmianie w pierwszym polu data w drugim jest mniejsza //to można już ją nastawić przynajmniej na taką samą if (dtpickerdo.value == null) //gdyby nie było to ustawiamy czas bieżący z zaokrągleniem do 5 minut w górę. TimeTools tt = new TimeTools(); dtpickerdo.value = tt.roundup(datetime.now, TimeSpan.FromMinutes(5)); if (dtpickerdo.value.value < dtpickerod.value.value) dtpickerdo.value = dtpickerod.value; Kolejną pracą samodzielną jest ustawienie automatycznej zmiany czasu początku w przypadku, gdy użytkownik zmieni czas końca tak, by czas początku nie był późniejszy niż czas końca. Pozostała nam jeszcze tylko obsługa guzika Dodaj. Pod kliknięcie podpinamy kod 4.8 Listing 4.8: Funkcja obsługi guzika Dodaj. private void buttondodaj_click(object sender, RoutedEventArgs e) if (zalogowany==null) MessageBox.Show("Nie jesteś zalogowany, nie możesz dodawać rezerwacji"); List<long> idkiosob = new List<long>(); idkiosob = (from os in osobydatagrid.selecteditems.oftype<osoby>() select os. IdOsoby).ToList(); List<long> idkizasobow = new List<long>(); idkizasobow = (from zs in zasobydatagrid.selecteditems.oftype<zasoby>() select zs.idzasobu).tolist(); if (rezerwacje.dodajrezerwacje(zalogowany.idosoby, dtpickerod.value.value, dtpickerdo.value.value, idkizasobow, idkiosob, (TypyRezerwacji) combotyprezerwacji.selecteditem)) 14

16 MessageBox.Show("ok nowa rezerwacja"); wypelnijtabelkerezerwacji(); else MessageBox.Show("Nie dodano rezerwacji: \n" + rezerwacje.message); Jak widać identyfikatory osób i zasobów brane są z zaznaczonych wierszy tabelek. Użytkownik dodający to ten zalogowany (niezalogowany nie będzie mógł dodać rezerwacji). Typ rezerwacji pobierany jest z pola combo. Sprawdzamy też poprawność wykonania operacji i w razie niepowodzenia wyświetlamy komunikat jaki przygotowała nam funkcja dodajrezerwacje. 15

17 Rozdział 5 Testowanie i wnioski Jak widać aplikacja jest niemal gotowa. Jednak do bardzo podstawowej funkcjonalności jeszcze jej brakuje dwóch rzeczy. Usuwania rezerwacji oraz przegląd i zatwierdzanie lub odrzucanie propozycji. Zauważyliśmy też, że na chwilę obecną nie ma obsługi uprawnień. Każdy zalogowany lub nie może robić co chce. W zaufanym środowisku to jeszcze nie jest problemem, jednak usuwanie i akceptacja rezerwacji są kluczowe. Aplikację można zacząć już sprawdzać i wypisywać element, które należy zmienić, usprawnić, dodać lub zabrać. Przykładowo: skoro nie możemy dodawać w tabelkach to należy ustawić zakaz usuwania (przynajmniej w tabeli osób i zasobów w głównym oknie). Jeżeli te tabelki służą jedynie do edycji należy ustawić je jako tylko do odczytu. Bindowanie nie powinno być TwoWay co oznacza możliwości nanoszenia zmian na bazę. Idąc dalej można pokusić się o dodatkowe usprawnienia np. guzik zaznacz wszystko, opcje filtrowania tylko aktywne, ukryj archiwalne itp. Ostatnim zadaniem jest spisanie tego typu uwag pomocnych w dalszym rozwoju. Tak by interfejs był spójny i jak najbardziej wygodny, czy skalując okna nie tracimy nic z czytelności, czy wszystkie wyświetlane guziki i pozycje w menu są obsługiwane. Czy wyświetlane są odpowiednie komunikaty w razie powodzenia i niepowodzenia. Trzeba oczywiście wyłapać wszystkie przypadki gdy program nam się zakończy błędem (jest bardzo wiele takich miejsc ponieważ praktycznie nie nastawialiśmy się na obsługę wyjątków). Oprócz błędów krytycznych trzeba znaleźć też błędy w działaniu, np. czy da się dodać rezerwacje tak, by były one kolidujące ze sobą, albo gdy data początku jest późniejsza niż data końca. Czy wprowadzając błędny format daty program to przyjmie, co gdy błędnie podamy konfiguracje serwera bazodanowego itd. 16

18 Rozdział 6 Oceny Jak zawsze całość wykonanego ćwiczenia jest na 5 punktów w skład których wchodzi: Stworzenie okna edycji osób (wraz ze skalowaniem i poprawnym rozmieszczeniem elementów) 1 pkt. Rozmieszczenie i skonfigurowanie wyglądu elementów wchodzących w skład przeglądu rezerwacji (oczywiście ze skalowaniem itp.) 0,5 pkt Dodanie kodu obsługującego przegląd rezerwacji 0,5 pkt. Dodanie swojej tablicy zasobów i uwzględnienie jej przy przeszukiwaniu rezerwacji 0,5 pkt. Zmiany w RezerwacjeLib potrzebne do dodawania rezerwacji 0,5 pkt. Dodanie nowej biblioteki z kontrolkami i użycie ich w projekcie 0,5 pkt. Kod obsługujący dodawanie rezerwacji 0,5 pkt Automatyczna zmiana czasu Od w przypadku zmian czasu Do 0,5 pkt. Testowanie i raport z testów 0,5 pkt. Na sprawozdania jak zawsze czekam do końca poniedziałku. 17

Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego

Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego 1/34 Wymagania wstępne: Znajomość podstaw programowania. Efekty kształcenia: Umiejętność tworzenia prostych aplikacji

Bardziej szczegółowo

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1 1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 2 Zaprojektowaliśmy stronę dodaj_dzial.aspx proszę jednak spróbować dodać nowy dział nie podając jego nazwy

Bardziej szczegółowo

xmlns:prism=http://www.codeplex.com/prism c.

xmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname=mainregion /> 1 Tworzenie Shella a. W pierwszej kolejności tworzymy nowy projekt: WPF Application. Name: Shell SolutionName: PrismApp b. Dodajemy bibliotekę PRISM za pomocą NuGet Managera (dla.net Framework 4.5 Prism

Bardziej szczegółowo

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia nowego projektu (poniżej są utworzone projekty) Po kliknięciu

Bardziej szczegółowo

Podręcznik użytkownika Obieg dokumentów

Podręcznik użytkownika Obieg dokumentów Podręcznik użytkownika Obieg dokumentów Opracowany na potrzeby wdrożenia dla Akademii Wychowania Fizycznego im. Eugeniusza Piaseckiego w Poznaniu W ramach realizacji projektu: Uczelnia jutra wdrożenie

Bardziej szczegółowo

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych Paweł Paduch paduch@tu.kielce.pl 06-04-2013 Rozdział 1 Wstęp Na dzisiejszych zajęciach zajmiemy się projektem bazy danych.

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

Formularze w programie Word

Formularze w programie Word Formularze w programie Word Formularz to dokument o określonej strukturze, zawierający puste pola do wypełnienia, czyli pola formularza, w których wprowadza się informacje. Uzyskane informacje można następnie

Bardziej szczegółowo

Instrukcja obsługi Modułu Payu dla Moodle 2.x

Instrukcja obsługi Modułu Payu dla Moodle 2.x Instrukcja obsługi Modułu Payu dla Moodle 2.x Wersja z 10 lutego 2015r. Spis treści 1. Wymagania............................................ 1 2. Instalacja.............................................

Bardziej szczegółowo

Jak zainstalować szablon allegro?

Jak zainstalować szablon allegro? Jak zainstalować szablon allegro? W mailu z zakupionym szablonem otrzymali państwo plik zip z numerem szablonu w nazwie. Należy najpierw go rozpakować. W paczce znajduję się pliki: 1. index[nrszablonu].txt

Bardziej szczegółowo

MATERIAŁY - udostępnianie materiałów dydaktycznych w sieci SGH

MATERIAŁY - udostępnianie materiałów dydaktycznych w sieci SGH MATERIAŁY - udostępnianie materiałów dydaktycznych w sieci SGH SPIS TREŚCI i EKRANÓW WSTĘP Ekran1: Wstęp. Logowanie Ekran2: Strona początkowa UDOSTEPNIONE MATERIAŁY Ekran3: Dostępne materiały Ekran4: Zawartość

Bardziej szczegółowo

KASK by CTI. Instrukcja

KASK by CTI. Instrukcja KASK by CTI Instrukcja Spis treści 1. Opis programu... 3 2. Pierwsze uruchomienie... 4 3. Okno główne programu... 5 4. Konfiguracja atrybutów... 6 5. Nadawanie wartości atrybutom... 7 6. Wybór firmy z

Bardziej szczegółowo

TWORZENIE FORMULARZY WORD 2007

TWORZENIE FORMULARZY WORD 2007 TWORZENIE FORMULARZY WORD 2007 Witam serdecznie. Poniżej przedstawię w jaki sposób tworzyć formularze w programie WORD 2007. Poprzednie wersje programu WORD 2007 również udostępniały opcję tworzenia formularzy,

Bardziej szczegółowo

Leszek Stasiak Zastosowanie technologii LINQ w

Leszek Stasiak Zastosowanie technologii LINQ w Leszek Stasiak Zastosowanie technologii LINQ w C# 1. Wstęp - połączenie Do naszych zadań będziemy używać Microsoft Visual Studio 2010. Stwórzmy nowy projekt Windows Form Application. Mając do dyspozycji

Bardziej szczegółowo

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Microsoft.NET: LINQ to SQL, ASP.NET AJAX Microsoft.NET: LINQ to SQL, ASP.NET AJAX Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2008 oraz serwer bazy danych SQL Server Express 2005 (lub

Bardziej szczegółowo

Inżynieria Programowania Laboratorium 5 Część Wizualna. Paweł Paduch paduch@tu.kielce.pl

Inżynieria Programowania Laboratorium 5 Część Wizualna. Paweł Paduch paduch@tu.kielce.pl Inżynieria Programowania Laboratorium 5 Część Wizualna Paweł Paduch paduch@tu.kielce.pl 11-05-2013 Rozdział 1 Wstęp Na dzisiejszych zajęciach poznamy jeden ze sposobów tworzenia okienkowej aplikacji w

Bardziej szczegółowo

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS UNIWERSYTET ZIELONOGÓRSKI INSTYTUT INFORMATYKI I ELEKTROTECHNIKI ZAKŁAD INŻYNIERII KOMPUTEROWEJ Przygotowali: mgr inż. Arkadiusz Bukowiec mgr inż. Remigiusz Wiśniewski LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Bardziej szczegółowo

Telesprzedaż by CTI Instrukcja

Telesprzedaż by CTI Instrukcja Telesprzedaż by CTI Instrukcja 1 Spis treści 1. Opis programu...4 2. Konfiguracja...5 2.1. Połączenie z serwerem MS SQL...6 2.2. Połączenie z serwerem MS SQL systemu Call Center...7 2.3. Nawiązanie połączenia

Bardziej szczegółowo

INSTRUKCJA OBSŁUGI PROGRAMU PRZEDSZKOLE (CZ.1)

INSTRUKCJA OBSŁUGI PROGRAMU PRZEDSZKOLE (CZ.1) INSTRUKCJA OBSŁUGI PROGRAMU PRZEDSZKOLE (CZ.1) Uruchomienie programu Po uruchomieniu programu wyświetlane jest okno logowania, w którym wprowadza się nazwę użytkownika (opis w dalszej części instrukcji)

Bardziej szczegółowo

1. Proszę wejść na stronę: poczta.home.pl i zalogować się do nowej skrzynki e-mail za pomocą otrzymanych danych.

1. Proszę wejść na stronę: poczta.home.pl i zalogować się do nowej skrzynki e-mail za pomocą otrzymanych danych. 1. Proszę wejść na stronę: poczta.home.pl i zalogować się do nowej skrzynki e-mail za pomocą otrzymanych danych. 2. Po poprawnym zalogowaniu się, przejdziemy do nowej skrzynki. Ważną informacją jest zajętość

Bardziej szczegółowo

Instrukcja obsługi programu DHL EasySHip v. 5.3.x

Instrukcja obsługi programu DHL EasySHip v. 5.3.x Instrukcja obsługi programu DHL EasySHip v. 5.3.x I n s t r u k c j a E a s y S h i p 5. 3. x Strona 1 Spis treści 1. Konfiguracja aplikacji... 3 2. Przygotowanie listu przewozowego... 4 3. Dodawanie Nadawcy...

Bardziej szczegółowo

1. Wprowadzenie do WPF i XAML. Tworzenie interfejsu użytkownika.

1. Wprowadzenie do WPF i XAML. Tworzenie interfejsu użytkownika. Tematy zajęć: 1. Wprowadzenie do WPF i XAML. Tworzenie interfejsu użytkownika. 2. Posługiwanie się podstawowymi kontrolkami. 3. Własności i zdarzenia w WPF. 4. Zadania aplikacji. Okna. 5. Polecenia. Zasoby.

Bardziej szczegółowo

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Ćwiczenie 1. Kolejki IBM Message Queue (MQ) Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając

Bardziej szczegółowo

Obszar Logistyka/Zamówienia Publiczne

Obszar Logistyka/Zamówienia Publiczne Obszar Logistyka/Zamówienia Publiczne Plany Zamówień Publicznych EG_LOG Plany Zamówień Publicznych Instrukcja Użytkownika. Instrukcja użytkownika 2 Spis treści SPIS TREŚCI... 3 NAWIGACJA PO SYSTEMIE...

Bardziej szczegółowo

Konfiguracja szablonu i wystawienie pierwszej aukcji allegro

Konfiguracja szablonu i wystawienie pierwszej aukcji allegro Konfiguracja szablonu i wystawienie pierwszej aukcji allegro Metod na wystawienie aukcji na allegro jest co najmniej 2. W pierwszej przechodzimy do zakładki MOJA SPRZEDAŻ, w USTAWIENIACH SPRZEDAŻY odnajdujemy

Bardziej szczegółowo

Instalacja systemu zarządzania treścią (CMS): Joomla

Instalacja systemu zarządzania treścią (CMS): Joomla Instalacja systemu zarządzania treścią (CMS): Joomla Na stronie http://www.cba.pl/ zarejestruj nowe konto klikając na przycisk:, następnie wybierz nazwę domeny (Rys. 1a) oraz wypełnij obowiązkowe pola

Bardziej szczegółowo

Program dla praktyki lekarskiej

Program dla praktyki lekarskiej Program dla praktyki lekarskiej ErLab Instrukcja konfiguracji i obsługi Spis Treści 1. Wstęp... 2 2. Konfiguracja... 3 2.1. Serwer... 3 2.2. Laboratorium... 3 2.3. Punkt pobrań... 4 3. Wysyłanie skierowania...

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 3 przejdziemy teraz do zaprojektowania strony przegladaj_dzialami.aspx na której użytkownicy będą przeglądać

Bardziej szczegółowo

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Projekt Hurtownia, realizacja rejestracji dostaw produktów Projekt Hurtownia, realizacja rejestracji dostaw produktów Ćwiczenie to będzie poświęcone zaprojektowaniu formularza pozwalającego na rejestrację dostaw produktów dla naszej hurtowni. Dane identyfikujące

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych widok ankiety w przeglądarce Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy

Bardziej szczegółowo

Kurs walut. Specyfikacja projektu. Marek Zając 2013-12-16

Kurs walut. Specyfikacja projektu. Marek Zając 2013-12-16 Kurs walut Specyfikacja projektu Marek Zając 2013-12-16 Spis treści 1. Podsumowanie... 2 1.1 Wstęp... 2 1.2 Projekt interfejsu... 2 1.2.1 Rozmiar głównego okna... 2 2. Słownik pojęć... 2 2.1 Definicja

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy dwie Encje (tabele) prawym

Bardziej szczegółowo

Instrukcja laboratoryjna cz.3

Instrukcja laboratoryjna cz.3 Języki programowania na platformie.net cz.2 2015/16 Instrukcja laboratoryjna cz.3 Język C++/CLI Prowadzący: Tomasz Goluch Wersja: 2.0 I. Utworzenie projektu C++/CLI z interfejsem graficznym WPF 1 Cel:

Bardziej szczegółowo

Notowania Mobilne wersja Java

Notowania Mobilne wersja Java Notowania Mobilne wersja Java Instrukcja obsługi programu Notowania Mobilne to aplikacja, która pozwala na dostęp do notowań giełdowych w czasie rzeczywistym z każdego miejsca na świecie, gdzie tylko możliwe

Bardziej szczegółowo

FAQ Systemu EKOS. 1. Jakie są wymagania techniczne dla stanowiska wprowadzania ocen?

FAQ Systemu EKOS. 1. Jakie są wymagania techniczne dla stanowiska wprowadzania ocen? 27.06.11 FAQ Systemu EKOS 1. Jakie są wymagania techniczne dla stanowiska wprowadzania ocen? Procedura rejestracji ocen wymaga podpisywania protokołów (w postaci wypełnionych formularzy InfoPath Forms

Bardziej szczegółowo

Serwis jest dostępny w internecie pod adresem www.solidnyserwis.pl. Rysunek 1: Strona startowa solidnego serwisu

Serwis jest dostępny w internecie pod adresem www.solidnyserwis.pl. Rysunek 1: Strona startowa solidnego serwisu Spis treści 1. Zgłoszenia serwisowe wstęp... 2 2. Obsługa konta w solidnym serwisie... 2 Rejestracja w serwisie...3 Logowanie się do serwisu...4 Zmiana danych...5 3. Zakładanie i podgląd zgłoszenia...

Bardziej szczegółowo

Projektowanie i programowanie aplikacji biznesowych. Wykład 2

Projektowanie i programowanie aplikacji biznesowych. Wykład 2 Projektowanie i programowanie aplikacji biznesowych Wykład 2 Kontrolki w Windows API Aby korzystać z kontrolek należy dołączyć plik nagłówkowy o nazwie commctrl.h oraz bibliotekę o nazwie libcomctl32.a.

Bardziej szczegółowo

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0. Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2 Instrukcja tworzenia bazy danych dla programu AUTOSAT 3 wersja 0.0.4 2z12 1. Wymagania systemowe. Przed rozpoczęciem instalacji

Bardziej szczegółowo

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem. WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy

Bardziej szczegółowo

Instrukcja użytkownika. Aplikacja dla Comarch ERP XL

Instrukcja użytkownika. Aplikacja dla Comarch ERP XL Instrukcja użytkownika Aplikacja dla Comarch ERP XL Instrukcja użytkownika Aplikacja dla Comarch ERP XL Wersja 1.0 Warszawa, Listopad 2015 Strona 2 z 12 Instrukcja użytkownika Aplikacja dla Comarch ERP

Bardziej szczegółowo

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Projekt Hurtownia, realizacja rejestracji dostaw produktów Projekt Hurtownia, realizacja rejestracji dostaw produktów Ćwiczenie to będzie poświęcone zaprojektowaniu formularza pozwalającego na rejestrację dostaw produktów dla naszej hurtowni. Dane identyfikujące

Bardziej szczegółowo

Instrukcja użytkownika. Aplikacja dla WF-Mag

Instrukcja użytkownika. Aplikacja dla WF-Mag Instrukcja użytkownika Aplikacja dla WF-Mag Instrukcja użytkownika Aplikacja dla WF-Mag Wersja 1.0 Warszawa, Kwiecień 2015 Strona 2 z 13 Instrukcja użytkownika Aplikacja dla WF-Mag Spis treści 1. Wstęp...4

Bardziej szczegółowo

Co nowego w systemie Kancelaris 3.31 STD/3.41 PLUS

Co nowego w systemie Kancelaris 3.31 STD/3.41 PLUS Ten dokument zawiera informacje o zmianach w wersjach: 3.31 STD w stosunku do wersji 3.30 STD 3.41 PLUS w stosunku do wersji 3.40 PLUS 1. Kancelaria 1.1. Opcje kancelarii Co nowego w systemie Kancelaris

Bardziej szczegółowo

,Aplikacja Okazje SMS

,Aplikacja Okazje SMS , jest rozwiązaniem, które umożliwia bez umiejętności programistycznych uruchomić własną aplikację na fanpage-u firmy lub marki. Pozwala ona na dodanie numeru telefonu do swojej bazy w SerwerSMS.pl, umożliwiając

Bardziej szczegółowo

Instrukcja obsługi programu Profile GT

Instrukcja obsługi programu Profile GT Instrukcja obsługi programu Profile GT 1. Instalacja i pierwsze uruchomienie Instalacja programu jest prosta. Należy uruchomić plik setup.exe i w zasadzie wszystkie pytania można pominąć przyjmując domyślne

Bardziej szczegółowo

Instrukcja obsługi Modułu Płatności dla Moodle 1.7, 1.8, 1.9

Instrukcja obsługi Modułu Płatności dla Moodle 1.7, 1.8, 1.9 Instrukcja obsługi Modułu Płatności dla Moodle 1.7, 1.8, 1.9 Wersja z 4 kwietnia 2011r. Spis treści 1. Wymagania............................................ 1 2. Jak kupić.............................................

Bardziej szczegółowo

System rezerwacji online

System rezerwacji online Spis treści 1. Część widoczna dla klientów dokonujących rezerwacji...1 1.a. Ogólne informacje...1 1.b. Etapy w rezerwacji...3 I. Etap 1 wybór dat początku i końca pobytu oraz wybór pokoi...3 II. Etap 2

Bardziej szczegółowo

System magazynowy małego sklepu.

System magazynowy małego sklepu. System magazynowy małego sklepu. dokumentacja użytkownika. Mariusz Grabowski e-mail: mariosh@interia.pl Jabber ID: mariosh@jabber.autocom.pl Spis treści 1 Wstęp. 2 2 Przed uruchomieniem. 3 3 Korzystanie

Bardziej szczegółowo

AKTYWNY SAMORZĄD. Instrukcja użytkownika. www.as.tylda.pl

AKTYWNY SAMORZĄD. Instrukcja użytkownika. www.as.tylda.pl AKTYWNY SAMORZĄD Instrukcja użytkownika TYLDA Sp. z o.o. 65-001 Zielona Góra ul. Wazów 6a tel. 68 324-24-72 68 325-75-10 www.tylda.pl tylda@tylda.pl wersja 1.1 2014.12.01 2 Spis treści 1. Konta użytkowników...

Bardziej szczegółowo

Miejskie Wodociągi i Oczyszczalnia sp. z o.o. w Grudziądzu. ibok. Internetowe Biuro Obsługi Klienta. Instrukcja obsługi

Miejskie Wodociągi i Oczyszczalnia sp. z o.o. w Grudziądzu. ibok. Internetowe Biuro Obsługi Klienta. Instrukcja obsługi Miejskie Wodociągi i Oczyszczalnia sp. z o.o. w Grudziądzu ibok Internetowe Biuro Obsługi Klienta Instrukcja obsługi SPIS TREŚCI 1. AUTORYZACJA UŻYTKOWNIKA W SYSTEMIE IBOK... 3 1.1 Logowanie... 3 1.2 Przywracanie

Bardziej szczegółowo

Instrukcja użytkownika. Aplikacja dla Comarch Optima

Instrukcja użytkownika. Aplikacja dla Comarch Optima Instrukcja użytkownika Aplikacja dla Comarch Optima Instrukcja użytkownika Aplikacja dla Comarch Optima Wersja 1.0 Warszawa, Sierpień 2015 Strona 2 z 12 Instrukcja użytkownika Aplikacja dla Comarch Optima

Bardziej szczegółowo

5.4. Tworzymy formularze

5.4. Tworzymy formularze 5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania

Bardziej szczegółowo

Karty pracy. Ustawienia. W tym rozdziale została opisana konfiguracja modułu CRM Karty pracy oraz widoki i funkcje w nim dostępne.

Karty pracy. Ustawienia. W tym rozdziale została opisana konfiguracja modułu CRM Karty pracy oraz widoki i funkcje w nim dostępne. Karty pracy W tym rozdziale została opisana konfiguracja modułu CRM Karty pracy oraz widoki i funkcje w nim dostępne. Ustawienia Pierwszym krokiem w rozpoczęciu pracy z modułem Karty Pracy jest definicja

Bardziej szczegółowo

Zmiany w programie VinCent Office v.1.09

Zmiany w programie VinCent Office v.1.09 Zmiany w programie VinCent Office v.1.09 1. Zmiany ogólne dotyczące modułów FK i GM. a) Zmiana sposobu wyświetlania danych w tabelach Do wersji 1.08 dane prezentowane w tabelach miały zdefiniowane określone

Bardziej szczegółowo

Notowania Mobilne (wersja BlackBerry)

Notowania Mobilne (wersja BlackBerry) Notowania Mobilne (wersja BlackBerry) Instrukcja obsługi programu Notowania Mobilne to aplikacja, która pozwala na dostęp do notowań giełdowych w czasie rzeczywistym z każdego miejsca na świecie, gdzie

Bardziej szczegółowo

Forex PitCalculator INSTRUKCJA UŻYTKOWNIKA

Forex PitCalculator INSTRUKCJA UŻYTKOWNIKA Forex PitCalculator Forex PitCalculator jest aplikacją służącą do obliczania podatku należnego z tytułu osiągniętych na rynku walutowym zysków. Jest to pierwsze tego typu oprogramowanie na polskim rynku.

Bardziej szczegółowo

Nowy szablon stron pracowników ZUT

Nowy szablon stron pracowników ZUT Nowy szablon stron pracowników ZUT Uczelniane Centrum Informatyki ZUT przygotowało nowy szablon stron pracowników, zunifikowany z obecnymi stronami ZUT. Serdecznie zachęcamy Państwa do migracji na nowy

Bardziej szczegółowo

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3 3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0

Bardziej szczegółowo

OPTIMA PC v2.2.1. Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA 255 2011 ELFON. Instrukcja obsługi. Rev 1

OPTIMA PC v2.2.1. Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA 255 2011 ELFON. Instrukcja obsługi. Rev 1 OPTIMA PC v2.2.1 Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA 255 Instrukcja obsługi Rev 1 2011 ELFON Wprowadzenie OPTIMA PC jest programem, który w wygodny sposób umożliwia konfigurację

Bardziej szczegółowo

Instalacja programu:

Instalacja programu: Instrukcja programu Konwerter Lido Aktualizacja instrukcji : 2012/03/25 INSTALACJA PROGRAMU:... 1 OKNO PROGRAMU OPIS... 3 DODANIE MODUŁÓW KONWERSJI... 3 DODANIE LICENCJI... 5 DODANIE FIRMY... 7 DODAWANIE

Bardziej szczegółowo

Skrócona instrukcja obsługi programu EndymionKOL 2012-12-17

Skrócona instrukcja obsługi programu EndymionKOL 2012-12-17 Skrócona instrukcja obsługi programu EndymionKOL 2012-12-17 1. Do czego służy ten program: Program został stworzony z myślą o ułatwieniu wyliczania danych na temat kolejek oczekujących sprawozdawanych

Bardziej szczegółowo

URLOPY BY CTI. Instrukcja obsługi

URLOPY BY CTI. Instrukcja obsługi URLOPY BY CTI Instrukcja obsługi 1. Wstęp.... 3 2. Uruchomienie programu.... 4 3. Rozpoczęcie pracy w programie.... 6 4. Widok kalendarza.... 8 5. Widok pracowników.... 10 6.Tabela z danymi... 11 1. Wstęp.

Bardziej szczegółowo

OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi

OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi OpenOfficePL Zestaw szablonów magazynowych Instrukcja obsługi Spis treści : 1. Informacje ogólne 2. Instalacja zestawu a) konfiguracja połączenia z bazą danych b) import danych z poprzedniej wersji faktur

Bardziej szczegółowo

Instrukcja użytkownika. Aplikacja dla Comarch Optima

Instrukcja użytkownika. Aplikacja dla Comarch Optima Instrukcja użytkownika Aplikacja dla Comarch Optima Instrukcja użytkownika Aplikacja dla Comarch Optima Wersja 1.1 Warszawa, Luty 2016 Strona 2 z 14 Instrukcja użytkownika Aplikacja dla Comarch Optima

Bardziej szczegółowo

Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1

Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1 Viatoll Calc Instrukcja użytkownika Strona 1 Spis treści 1 Wstęp...3 2 Opis panelu głównego...3 2.1 Menu aplikacji...4 2.2 Tabela z trasami...5 2.3 Strona kalkulatora viatoll...6 2.4 Pasek statusu...7

Bardziej szczegółowo

Praca w programie dodawanie pisma.

Praca w programie dodawanie pisma. Praca w programie dodawanie pisma. Wybór zakładki z danymi z Currendy (1) (tylko w przypadku włączenia opcji korzystania z danych Currendy). Wyszukanie i wybranie pisma. Po wybraniu wiersza dane z Currendy

Bardziej szczegółowo

WOJEWÓDZTWO PODKARPACKIE

WOJEWÓDZTWO PODKARPACKIE WOJEWÓDZTWO PODKARPACKIE UNIA EUROPEJSKA EUROPEJSKI FUNDUSZ ROZWOJU REGIONALNEGO Instrukcja instalacji generatora wniosku o dofinansowanie projektu ze środków EFRR w ramach I osi priorytetowej Regionalnego

Bardziej szczegółowo

Sposób tworzenia tabeli przestawnej pokażę na przykładzie listy krajów z podstawowymi informacjami o nich.

Sposób tworzenia tabeli przestawnej pokażę na przykładzie listy krajów z podstawowymi informacjami o nich. Tabele przestawne Tabela przestawna to narzędzie służące do tworzenia dynamicznych podsumowań list utworzonych w Excelu lub pobranych z zewnętrznych baz danych. Raporty tabeli przestawnej pozwalają na

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5 Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

I. Informacje ogólne. Jednym z takich systemów jest Mambo. MAMBO (CMS) I. Informacje ogólne CMS, Content Management System ("system zarządzania treścią") jest to jedna lub zestaw aplikacji internetowych pozwalających na łatwe utworzenie oraz późniejszą aktualizację

Bardziej szczegółowo

Zanim zaczniesz. Warto ustawić kartę sieciową naszego serwera.

Zanim zaczniesz. Warto ustawić kartę sieciową naszego serwera. Zanim zaczniesz. Warto ustawić kartę sieciową naszego serwera. Wchodzimy w Centrum sieci -> Połączenia sieciowe -> następnie do właściwości naszej karty sieciowej. Następnie przechodzimy do Protokół internetowy

Bardziej szczegółowo

DODAJEMY TREŚĆ DO STRONY

DODAJEMY TREŚĆ DO STRONY DODAJEMY TREŚĆ DO STRONY SPIS TREŚCI Pasek narzędzi i wyszukiwarka aplikacji... 2 Dodawanie portletów... 3 Widok zawartości stron... 4 Zawartość portletu... 5 Ikonki wybierz oraz dodaj zawartość stron...

Bardziej szczegółowo

Elektroniczny Urząd Podawczy

Elektroniczny Urząd Podawczy Elektroniczny Urząd Podawczy Dzięki Elektronicznemu Urzędowi Podawczemu Beneficjent może wypełnić i wysłać formularz wniosku o dofinansowanie projektów w ramach Regionalnego Programu Operacyjnego Województwa

Bardziej szczegółowo

Bazy danych Karta pracy 1

Bazy danych Karta pracy 1 Bazy danych Karta pracy 1 Bazy danych Karta pracy 1 1. Utwórz katalog Bazy danych służący do przechowywania wszelkich danych dotyczących kursu. 2. W katalogu Bazy danych stwórz podkatalog BD1 służący jako

Bardziej szczegółowo

WebMobile7 and Sello Integrator wersja 1.1.2

WebMobile7 and Sello Integrator wersja 1.1.2 Instrukcja obsługi aplikacji WebMobile7 and Sello Integrator wersja 1.1.2 Piotr Taraszkiewicz Strona 1 Spis treści 1 WSTĘP O APLIKACJI 3 2 KONFIGURACJA APLIKACJI 4 2.1 KONFIGURACJA POŁĄCZENIA 4 2.2 POZOSTAŁE

Bardziej szczegółowo

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller Dokumentacja systemu NTP rekrut Autor: Sławomir Miller 1 Spis treści: 1. Wstęp 1.1 Wprowadzenie 1.2 Zakres dokumentu 2. Instalacja 2.1 Wymagania systemowe 2.2 Początek 2.3 Prawa dostępu 2.4 Etapy instalacji

Bardziej szczegółowo

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

Uzupełnij pola tabeli zgodnie z przykładem poniżej, 1. Wykonaj bazę danych biblioteki szkolnej, Otwórz MS Access a następnie z menu plik wybierz przycisk nowy, w oknie nowy plik wybieramy pusta baza danych nadaj jej nazwę Biblioteka i wybierz miejsce w

Bardziej szczegółowo

Baza danych. Program: Access 2007

Baza danych. Program: Access 2007 Baza danych Program: Access 2007 Bazę danych składa się z czterech typów obiektów: tabela, formularz, kwerenda i raport (do czego, który służy, poszukaj w podręczniku i nie bądź za bardzo leniw) Pracę

Bardziej szczegółowo

Dokumentacja serwisu internetowego Zespołu Szkół Technicznych w Radomiu.

Dokumentacja serwisu internetowego Zespołu Szkół Technicznych w Radomiu. Dokumentacja serwisu internetowego Zespołu Szkół Technicznych w Radomiu. Wykonanie: Radom Maj 2008 1 Serwis WWW szkoły w Internecie to obecnie najszybszy i najtańszy sposób dotarcia do największego kręgu

Bardziej szczegółowo

Skrócona instrukcja korzystania z Platformy Zdalnej Edukacji w Gliwickiej Wyższej Szkole Przedsiębiorczości

Skrócona instrukcja korzystania z Platformy Zdalnej Edukacji w Gliwickiej Wyższej Szkole Przedsiębiorczości Skrócona instrukcja korzystania z Platformy Zdalnej Edukacji w Gliwickiej Wyższej Szkole Przedsiębiorczości Wstęp Platforma Zdalnej Edukacji Gliwickiej Wyższej Szkoły Przedsiębiorczości (dalej nazywana

Bardziej szczegółowo

WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ WWW.KACZMARSKI.PL INSTRUKCJA UŻYTKOWNIKA

WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ WWW.KACZMARSKI.PL INSTRUKCJA UŻYTKOWNIKA WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ WWW.KACZMARSKI.PL INSTRUKCJA UŻYTKOWNIKA WSTĘP... 2 1 UWARUNKOWANIA TECHNICZNE... 2 2 UWARUNKOWANIA FORMALNE... 2 3 LOGOWANIE DO SERWISU... 2 4 WIDOK STRONY GŁÓWNEJ...

Bardziej szczegółowo

I. Interfejs użytkownika.

I. Interfejs użytkownika. Ćwiczenia z użytkowania systemu MFG/PRO 1 I. Interfejs użytkownika. MFG/PRO w wersji eb2 umożliwia wybór użytkownikowi jednego z trzech dostępnych interfejsów graficznych: a) tekstowego (wybór z menu:

Bardziej szczegółowo

Instrukcja instalacji programu serwisowego NTSN krok po kroku

Instrukcja instalacji programu serwisowego NTSN krok po kroku Instrukcja instalacji programu serwisowego NTSN krok po kroku 1. Pobieramy program serwisowy ze strony http://serwis.monument9.pl/program_serwisowy/ - bezpośredni link znajduje się w polu POBIERZ PROGRAM.

Bardziej szczegółowo

Instrukcja krok po kroku instalacji Windows Vista w nowym komputerze

Instrukcja krok po kroku instalacji Windows Vista w nowym komputerze Instrukcja krok po kroku instalacji Windows Vista w nowym komputerze Dostajemy wiele sygnałów od użytkowników portalu VISTA.PL w sprawie instalacji Windows Vista krok po kroku. W tym FAQ zajmę się przypadkiem

Bardziej szczegółowo

Instrukcja obsługi systemu zarządzania treścią dwajeden.pl

Instrukcja obsługi systemu zarządzania treścią dwajeden.pl Instrukcja obsługi systemu zarządzania treścią dwajeden.pl Tworzenie i edycja danych na stronie www 1. Rozpoczęcie pracy. Logowanie się do systemu zarządzania treścią dwajeden.pl ropocząć należy od podania

Bardziej szczegółowo

Widżety KIWIPortal. tworzenie umieszczanie na stronach internetowych opcje zaawansowane. Autor: Damian Rebuś Data: 29.06.2015 Wersja: 1.

Widżety KIWIPortal. tworzenie umieszczanie na stronach internetowych opcje zaawansowane. Autor: Damian Rebuś Data: 29.06.2015 Wersja: 1. Widżety KIWIPortal tworzenie umieszczanie na stronach internetowych opcje zaawansowane Autor: Damian Rebuś Data: 29.06.2015 Wersja: 1.3 Strona 1 z 17 1 SPIS TREŚCI 2 Metody osadzania widżetów... 3 2.1

Bardziej szczegółowo

Programowanie w MS Visual Studio 2005 z wykorzystaniem MS SQL Server 2005

Programowanie w MS Visual Studio 2005 z wykorzystaniem MS SQL Server 2005 Programowanie w MS Visual Studio 2005 z wykorzystaniem MS SQL Server 2005 Lekcja 3 Zapisywanie i anulowanie zmian wprowadzonych w DataGridView do pliku z Bazą Danych. Formatowanie DataGridView. Wymagania:

Bardziej szczegółowo

Instrukcja obsługi aplikacji Karty Pojazdów dla Dealerów Samochodowych

Instrukcja obsługi aplikacji Karty Pojazdów dla Dealerów Samochodowych Instrukcja obsługi aplikacji Karty Pojazdów dla Dealerów Samochodowych ver. 0.6 1 Instalacja 1. Proces instalacji należy rozpocząć od sprawdzenia, czy w systemie MS Windows jest zainstalowana aplikacja

Bardziej szczegółowo

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI LABORATORIUM TECHNOLOGIA SYSTEMÓW INFORMATYCZNYCH W BIOTECHNOLOGII Aplikacja bazodanowa: Cz. II Rzeszów, 2010 Strona 1 z 11 APLIKACJA BAZODANOWA MICROSOFT ACCESS

Bardziej szczegółowo

FlowSoft02. Przeznaczenie programu

FlowSoft02. Przeznaczenie programu FlowSoft02 Przeznaczenie programu FlowSoft02 jest programem przeznaczonym do obsługi systemu zdalnych odczytów w systemach opartych o magistralę MBUS. Program jest przygotowany dla systemu Windows. Wymagania

Bardziej szczegółowo

System Informatyczny Oddziału Wojewódzkiego NFZ

System Informatyczny Oddziału Wojewódzkiego NFZ Publikator informacji o postępowaniach w sprawie zawarcia umów o udzielanie świadczeń opieki zdrowotnej. System Informatyczny Oddziału Wojewódzkiego NFZ Publikator informacji o postępowaniach w sprawie

Bardziej szczegółowo

S P I S T R E Ś C I. Instrukcja obsługi

S P I S T R E Ś C I. Instrukcja obsługi S P I S T R E Ś C I Instrukcja obsługi 1. Podstawowe informacje o programie.................................................................................... 2 2. Instalacja programu.....................................................................................................

Bardziej szczegółowo

Podręcznik użytkownika Publikujący aplikacji Wykaz2

Podręcznik użytkownika Publikujący aplikacji Wykaz2 Podręcznik użytkownika Publikujący aplikacji Wykaz2 TiMSI Sp z o o ul Czapli 63, 02-781 Warszawa tel : +48 22 644 86 76, fax: +48 22 644 78 52 NIP: 951-19-39-800 Sąd Rejonowy dla mst Warszawy w Warszawie,

Bardziej szczegółowo

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta

Bardziej szczegółowo

Obsługa Panelu Menadżera

Obsługa Panelu Menadżera Obsługa Panelu Menadżera Wersja 3.59.305 4.04.2013 r. Panel Menadżera pozwala na dostęp do wybranych informacji systemu Streamsoft Prestiż, poprzez przeglądarkę internetową. Ponadto panel ten można obsługiwać

Bardziej szczegółowo

IIIIIIIIIIIIIIIMMIMMIII

IIIIIIIIIIIIIIIMMIMMIII IIIIIIIIIIIIIIIMMIMMIII O programie Program Itelix itender Manager przeznaczony jest do zarządzania zapytaniami ofertowymi przesyłanymi za pomocą poczty elektronicznej przez firmy korzystające z systemu

Bardziej szczegółowo

Instrukcja obsługi programu PowRek

Instrukcja obsługi programu PowRek Instrukcja obsługi programu PowRek środa, 21 grudnia 2011 Spis treści Przeznaczenie programu... 4 Prezentacja programu... 5 Okno główne programu... 5 Opis poszczególnych elementów ekranu... 5 Nowy projekt...

Bardziej szczegółowo

Notowania Mobilne wersja BlackBerry. Instrukcja obsługi programu

Notowania Mobilne wersja BlackBerry. Instrukcja obsługi programu Notowania Mobilne wersja BlackBerry Instrukcja obsługi programu Notowania Mobilne to aplikacja, która pozwala na dostęp do notowań giełdowych w czasie rzeczywistym z każdego miejsca na świecie, gdzie tylko

Bardziej szczegółowo