Kompilacja i kompilatory
|
|
- Małgorzata Nowak
- 2 lat temu
- Przeglądów:
Transkrypt
1 Kompilacja i kompilatory Konwersja XML do REG Xml2reg Grzegorz Surdyka WGGiOŚ, Informatyka Stosowana IV rok, AGH 2010 Strona 1 z 10
2 Spis treści 1. Cel oraz podstawowe wiadomości o XML i REG O programie Podstawowe informacje Wykorzystane biblioteki i opis niektórych bloków programu Wczytywanie pliku Krótki opis klasy XmlTextReader, przykładowych metod oraz własności Opis niektórych bloków programu Przykłady działania programu Kod źródłowy programu... 8 Strona 2 z 10
3 1. Cel oraz podstawowe wiadomości o XML i REG Celem projektu było napisanie prostego konwertera plików w formacie XML do plików w formacie REG. XML 1 (ang. Extensible Markup Language) jest uniwersalnym językiem formalnym przeznaczonym do reprezentowania danych w strukturalizowany sposób. Niewątpliwą zaletą XML a jest to, że jest niezależny od platformy. Poprawny składniowo dokument XML powinien byd stworzony zgodnie z kilkoma zasadami: Powinien zawierad deklarację XML na początku pliku, wraz z atrybutem version oraz opcjonalnymi atrybutami encoding, standalone; Musi zawierac dokładnie JEDEN element głowny (tzw. root node); Każdy element musi zaczynad się znacznikiem początku elementu np. <ksiazka> oraz kooczyd się znacznikiem kooca elementu np. </ksiazka>; Nazwy złożone ze znaków alfanumerycznych (litery a-z, A-Z oraz cyfry 0-9) oraz ze znaków interpunkcyjnych ( _ ; - ;. ); Nazwy nie mogą zaczynad się od znaku łącznika -, kropki., dodatkowo nie mogą zaczynad się od ciągu znaków postaci xml wielkośd liter nie ma znaczenia; Elementy można zagnieżdżad (element wewnątrz nazywany jest dzieckiem child ); Każdy element może posiadad atrybuty np. książka ma swój numer ISBN - <ksiazka ISBN = >; Informacje jak np. tytuł książki są zapisane pomiędzy znacznikiem początkowym, a koocowym <tytul>symfonia C++</tytul>; W danych, atrybutach oraz nazwach elementów nie mogą pojawid się znaki: <, & ; Można używad sekcji znakowych (np. z kodem html lub xml), które rozpoczynają się od <![CDATA[, a kooczą znacznikiem kooca ]]>; Można używad komentarzy pomiędzy znacznikami <! tu jest komentarz -->; <?xml version="1.0"?> <catalog> <book id="bk101"> <author>gambardella, Matthew</author> <title>xml Developer's Guide</title> <genre>computer</genre> <price>44.95</price> <publish_date> </publish_date> <description>an in-depth look at creating applications with XML.</description> </book> <book id="bk102"> <author>ralls, Kim</author> <title>midnight Rain</title> <genre>fantasy</genre> <price>5.95</price> <publish_date> </publish_date> <description>a former architect battles corporate zombies, an evil sorceress, and her own childhood to become queen of the world.</description> </book> </catalog> 1 za Strona 3 z 10
4 Pliki REG 2 następująco: są to pliki rejestru systemu Windows. Budowa pliku REG wygląda Windows Registry Editor Version 5.00 wartości domyślnej" "xxx"="dane wartości ciągu o nazwie xxx" "yyy"=dword: f "binarnawar"=hex:74,6f,20,64,6f,20,63,68,75,6a,61,20,6a,65,73,74,20,77,61,72,\ 74,6f,63,73,20,62,69,6e,61,72,6e,61 wartości domyślnej innego klucza" "vvv"="dane wartości ciągu o nazwie vvv" "aaa"=dword: c "bbb"=dword: d "ccc"=dword: e "zzz"=dword: f Linijka Windows Registry Editor Version 5.00 jest obowiązkowa, informuje ona system o wersji programu Regedit. W nawiasach kwadratowych zapisana jest ścieżka do modyfikowanego klucza. W następnej linijce podana jest wartośd domyślna klucza, a w następnych nazwy oraz ich wartości dla danego klucza. 2. O programie 1. Podstawowe informacje Program xml2reg został napisany w języku C# przy użyciu środowiska Microsoft Visual C# 2008 Express Edition. Program jest aplikacją okienkową, umożliwia otwieranie, zapisywanie plików z poziomu menu, oraz dokonywanie konwersji z formatu XML do REG. Rys. 1 Zrzut ekranu z programu xml2reg z załadowanym plikiem XML 2 za Strona 4 z 10
5 2. Wykorzystane biblioteki 3 i opis niektórych bloków programu Program został napisany z wykorzystaniem biblioteki, która standardowo jest częścią języka C#, System.Xml. 1. Wczytywanie pliku Wczytywanie pliku odbywa się poprzez standardowa klasę StreamReader do Textbox a nr 1, do toolstripstatuslabel1 przekazujemy ścieżkę otwieranego pliku, która później posłuży jako ścieżka dla XmlTextReader a. xmlreader = new StreamReader(open_file); opened_file = xmlreader.readtoend(); textbox1.text = opened_file; toolstripstatuslabel1.text = open_file; xmlreader.close(); 2. Krótki opis klasy XmlTextReader, przykładowych metod oraz własności Klasa XmlTextReader służy do odczytu wprzód strumienia danych XML owych. Poruszanie się po danych XML owych opiera się na nawigacji po węzłach (node ach). Przykładowe metody klasy XmlTextReader: MoveToFirstAttribute() przechodzi do pierwszego atrybutu ; MoveToNextAttribute() przechodzi do następnego atrybutu; MoveToAttribute() przchodzi do konkretnego (po wcześniejszym ponumerowaniu) atrybutu; Read() odczytuje następny węzeł ze stream u; MoveToContent() sprawdza czy aktualny węzeł nie jest węzłem pustym, elementem zamykającym, sekcją znakową, jeśli jest (czyli nie ma zawartości), przechodzi do następnego węzła (do węzła content node ); IsStartElement() sprawdza czy aktualny content node jest elementem startowym bądź elementem pustym (przy użyciu MoveToContent()); Drugim ważnym elementem klasy XmlTextReader są jej własności (Property). Poniżej zostało przedstawione kilka z nich: NodeType zwraca typ węzła, gdzie typem może byd nazwa elementu, wartośd tekstowa, sekcja znakowa, komentarz, deklaracja XML; HasAttributes sprawdza czy są atrybuty; Name pobiera nazwę aktualnego node a; Value pobiera wartośd tekstową aktualnego node a; 3 całośd za Strona 5 z 10
6 3. Opis niektórych bloków programu Program do konwersji wykorzystuje ww. bibliotekę System.Xml. Program nie analizuje składni, odczytuje typy węzłów, ich wartości oraz zagnieżdżenia, po czym tak uzyskane informacje zapisuje do zmiennej typu String, odpowiednio formatuje i zapisuje do textbox2. W pierwszej kolejności stworzony zostaje obiekt typu XmlTextReader: XmlTextReader xmlreader = new XmlTextReader(toolStripStatusLabel1.Text); // czytanie pliku Stosujemy pętle while w celu przeczytania całego stream a XML owego. Dzięki zastosowaniu instrukcji switch przeskakujemy pomiędzy węzłami i wydobywamy nazwy oraz wartości poszczególnych node ów. while (xmlreader.read()) switch (xmlreader.nodetype) case XmlNodeType.Element: // kod case XmlNodeType.EndElement: // kod case XmlNodeType.Text: // kod default: Nazwy oraz wartości atrybutów zapisywane są w tablicy typu Hashtable o nazwie attributes. Jest to o tyle wygodne rozwiązanie że dane zapisywane są parami nazwa+wartośd. Wyłuskane nazwy węzłów zapisywane są do zmiennej sbnodename, która jest zmienną typu StringBuilder dzięki temu mamy możliwośd edytowania, w tym doklejania kolejnych znaków \\ dzięki wyrażeniu sbnodename.append( \\ ). Odpowiednio sformatowany ciąg sbnodename jest konwertowany do stringa metodą ToString() i zapisywany w zmiennej typu String - printnodename. Aktualny string jest przechowywany w zmiennej buffer ma to na celu zapobiec sytuacji wrzucania do textbox2 tych samych nazw jeśli trzeba zmienna buffer jest czyszczona i wtedy nic nie dorzucamy do textbox2. Powyższe rozwiązanie zastosowano także do eliminacji znaczników zamykających. Zmienne up, down, licznik oraz poziom odpowiadają za poprawne radzenie sobie programu z zagnieżdżeniami. Strona 6 z 10
7 3. Przykłady działania programu Plik XML przed konwersją: <?xml version="1.0" encoding="iso "?> <!-- Edited by XMLSpy --> <CATALOG> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY> <STATE>NY</STATE> </COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> <CD> <TITLE>Hide your heart</title> <ARTIST>Bonnie Tyler</ARTIST> <COUNTRY>UK</COUNTRY> <COMPANY>CBS Records</COMPANY> <PRICE>9.90</PRICE> <YEAR>1988</YEAR> </CD> </CATALOG> Plik wynikowy REG po konwersji z XML: Windows Registry Editor Version 5.00 [CATALOG] [CATALOG\CD] "TITLE"=Empire Burlesque "ARTIST"=Bob Dylan [CATALOG\CD\COUNTRY] "STATE"=NY [CATALOG\CD] "COMPANY"=Columbia "PRICE"=10.90 "YEAR"=1985 [CATALOG\CD] "TITLE"=Hide your heart "ARTIST"=Bonnie Tyler "COUNTRY"=UK "COMPANY"=CBS Records "PRICE"=9.90 "YEAR"=1988 Strona 7 z 10
8 3. Kod źródłowy programu Kompilacja i kompilatory: xml2reg Niektóre zakomentowane linie odnoszą się do wersji konsolowej programu, wersji pierwotnej, miały na celu zobrazowanie, które elementy są usuwane / dodawane do stringa, oraz w którym miejscu aktualnie znajduje się XmlTextReader. // Konwerter plikow XML do formatu REG // (C) Grzegorz Surdyka, Informatyka Stosowana, IV rok, AGH 2010 // using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Xml; using System.Collections; namespace xml2reg public partial class Form1 : Form string opened_file; string open_file; string clear = ""; string elname1; string elname2; string buffer = ""; int dlugosc1; int dlugosc2; string printnodename; char[] dowywalenia = '\\' ; int down; int up; int poziom; int licznik; public Form1() InitializeComponent(); private void zamknijtoolstripmenuitem_click(object sender, EventArgs e) Close(); private void otwórztoolstripmenuitem_click(object sender, EventArgs e) // otwarcie pliku i wrzucenei do textboxa StreamReader xmlreader; openfiledialog1.showdialog(); open_file = openfiledialog1.filename; xmlreader = new StreamReader(open_file); opened_file = xmlreader.readtoend(); textbox1.text = opened_file; toolstripstatuslabel1.text = open_file; xmlreader.close(); textbox2.text = clear; buffer = ""; down = 0; up = 0; Strona 8 z 10
9 poziom = 0; licznik = 0; private void xmlregtoolstripmenuitem_click(object sender, EventArgs e) StringBuilder sbnodename = new StringBuilder(); XmlTextReader xmlreader = new XmlTextReader(toolStripStatusLabel1.Text); // czytanie pliku textbox2.appendtext("windows Registry Editor Version 5.00" + Environment.NewLine); while (xmlreader.read()) switch (xmlreader.nodetype) case XmlNodeType.Element: Hashtable attributes = new Hashtable(); down++; poziom = poziom + 1; //textbox2.appendtext("[element] W DOL [DOWN]= " + down + " POZIOM = " + poziom + Environment.NewLine); //textbox2.appendtext("[element] W GORE [UP]= " + up + " POZIOM = " + poziom + Environment.NewLine); textbox2.appendtext(buffer); sbnodename.append(xmlreader.name); elname2 = xmlreader.name; sbnodename.append("\\"); // dorzucamy \ pomiedzy galezie wywalamy ost. znak \ Environment.NewLine; printnodename = sbnodename.tostring().trimend(dowywalenia); // buffer = Environment.NewLine + "[" + printnodename + "]" + if (xmlreader.hasattributes) textbox2.appendtext(environment.newline + "[" + printnodename + "]" + Environment.NewLine); // gotowa galaz // sprawdzamy czy sa atrybuty, jak tak to do hashatable'a i wypisujemy for (int i = 0; i < xmlreader.attributecount; i++) xmlreader.movetoattribute(i); attributes.add(xmlreader.name, xmlreader.value); ///Console.Write("\"" + xmlreader.name + "\"=" + xmlreader.value + Environment.NewLine); textbox2.appendtext("attr_\"" + xmlreader.name + "\"=" + xmlreader.value + Environment.NewLine); textbox2.appendtext(environment.newline + "[" + printnodename + "]" + Environment.NewLine); // gotowa galaz buffer = ""; case XmlNodeType.EndElement: ///Console.WriteLine(" USUN: " + xmlreader.name); // nazwa usuwanej galezi dlugosc1 = sbnodename.length; // dlugosc nazwy node'a elname1 = xmlreader.name.tostring(); // elementu do wyrzucenia dlugosc2 = elname1.length + 1; // dlugosc elem. do wyrzucenia sbnodename.remove(dlugosc1 - dlugosc2, dlugosc2); up++; poziom = poziom - 1; licznik++; //textbox2.appendtext("[endelement] W DOL [DOWN]= " + down + " POZIOM = " + poziom + Environment.NewLine); //textbox2.appendtext("[endelement] W GORE [UP]= " + up + " POZIOM = " + poziom + " LICZNIK = " + licznik + Environment.NewLine); Strona 9 z 10
10 if (up == 1 && licznik == 4 up == 2 && poziom == 2 && licznik == 4) printnodename = sbnodename.tostring().trimend(dowywalenia); // wywalamy ost. znak / textbox2.appendtext(environment.newline + "[" + printnodename + "]" + Environment.NewLine); // gotowa galaz licznik = 0; case XmlNodeType.Text: buffer = ""; up--; textbox2.appendtext("\"" + elname2 + "\"" + "=" + xmlreader.value + Environment.NewLine); default: private void zapisztoolstripmenuitem_click(object sender, EventArgs e) String save_file; if (savefiledialog1.showdialog() == DialogResult.OK) save_file = savefiledialog1.filename; StreamWriter saved_file = new StreamWriter(save_file); saved_file.writeline(textbox2.text); saved_file.close(); Strona 10 z 10
Microsoft IT Academy kurs programowania
Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT
LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT 1. Wstęp XML (Extensible Markup Language Rozszerzalny Język Znaczników) to język formalny przeznaczony do reprezentowania danych
I - Microsoft Visual Studio C++
I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i
Wykład 12. Programowanie serwera MS SQL 2005 w C#
Wykład 12 Programowanie serwera MS SQL 2005 w C# Budowa procedur składowanych w C# Budowa funkcji składowanych w C# Wykorzystanie funkcji składowanych w C# po stronie klienta Tworzenie typów definiowanych
XML w.net. Dominik Baś nr alb. 160345. Wrocław, 29 maja 2007
XML w.net Dominik Baś nr alb. 160345 Wrocław, 29 maja 2007 Przetwarzanie dokumentów XML API: SAX Simple Api for XML - przetwarzanie strumieniowe DOM - Document Object Model - odwzorowanie dokumentu XML
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu
Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include
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
Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach
Ćwiczenia laboratoryjne Oprogramowanie i badanie prostych metod sortowania w tablicach Sprawozdanie Na każdym zajęciu laboratoryjnym sporządza się za pomocą edytora Word sprawozdanie. Bazowa zawartość
Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych
1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje
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
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
Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi.
Ekspert radzi mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8 Spis treści 1. Zarys rozwiązania...3 1.2 Case study...3 1.3 Wymagania...3 2. Projekt...3
Zaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
Rozdział 4 KLASY, OBIEKTY, METODY
Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
Podstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)
I. WSTĘP Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych) Algorytm - sposób na osiągnięcie celu w pewnych ograniczonych krokach. Program komputerowy realizuje zawsze algorytm.
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:
Java Podstawy. Michał Bereta www.michalbereta.pl mbereta@pk.edu.pl
Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu
Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Język ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, 2015. Wydział Matematyki Stosowanej Politechniki Śląskiej
Laboratorium 1 - Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Punkty Na laboratorium można zdobyć 60 punktów. Ocena ogólna z zajęć:
Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
XHTML - Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania.
XHTML - Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania. Reformuje on znane zasady języka HTML 4 w taki sposób, aby były zgodne z XML (HTML przetłumaczony na XML).
Języki skryptowe w programie Plans
Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów
Programowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Programowanie RAD Delphi
Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje
Python wstęp. Michał Bereta www.michalbereta.pl
Python wstęp Michał Bereta www.michalbereta.pl Wprowadzenie... 1 Źródła wiedzy... 1 Uruchomienie interpretera Pythona... 2 Python jako kalkulator użycie interaktyne... 2 Uruchamianie skryptów z plików...
POLITECHNIKA POZNAŃSKA. Oprogramowanie dla telefonów z systemem Windows Phone 8 obsługujących technologię NFC do sprawdzania listy obecności.
POLITECHNIKA POZNAŃSKA Oprogramowanie dla telefonów z systemem Windows Phone 8 obsługujących technologię NFC do sprawdzania listy obecności. Programowanie Kart Elektronicznych Systemy Informatyczne w Zarządzaniu
4 C#. Tworzenie aplikacji sieciowych. 101 gotowych projektów
Wstęp... 7 Rozdział 1. Język C# i platforma.net... 9 Technologia.NET. Krótki wstęp... 9 Elementy języka C# i programowanie zorientowane obiektowo... 10 Przestrzenie nazw... 13 Kolekcje... 14 Zdarzenia
Programowanie 3 - Funkcje, pliki i klasy
Instytut Informatyki Uniwersytetu Śląskiego Laborki funkcja; parametry funkcji; typ zwracany; typ void; funkcje bez parametrów; napis.length() - jako przykład funkcji. Zadania funkcja dodająca dwie liczby;
Zaawansowany kurs języka Python
Wykład 5. 30 października 2013 Plan wykładu 1 2 3 4 yield from Zamiast Example for item in iterable: yield item: można pisać Example yield from iterable Plan wykładu 1 2 3 4 Przykłady wyrażeń regularnych
Db4o obiektowa baza danych wersja.net
Wstęp Db4o obiektowa baza danych wersja.net Db4o (database for objects) to obiektowa baza danych na platformę Java i.net. Pełna wersja bazy db4o jest dostępna na dwóch licencjach: open source: pozwala
BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR
BAZY DANYCH Dr hab. Sławomir Zadrożny, prof. PR Co to jest baza danych? Wiele możliwych definicji Zbiór danych, który istnieje przez dłuższy okres czasu Współdzielony zestaw logicznie powiązanych danych
Programowanie telefonów z Windows Phone 7, cz. 4
Programowanie telefonów z Windows Phone 7, cz. 4 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój
Programowanie obiektowe i zdarzeniowe
Programowanie obiektowe i zdarzeniowe wkład 2 klas i obiekt namespace ConsoleApplication1 // współrzędne punktu int, ; Jak zdefiniować w programie punkt? = 3; = 2; Może tak? // wpisanie informacji Console.WriteLine("
Programowanie obiektowe
Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;
Wprowadzenie do technologii XML
Katedra Mikroelektroniki i Technik Informatycznych Łódź, 6 października 2005 roku 1 Informacje organizacyjne Omówienie przedmiotu 2 vs HTML Struktura 3 Struktura Informacje o przedmiocie Informacje organizacyjne
Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych
rk Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych pojęć, prawdopodobnie zastanawiasz się, kiedy zaczniesz
Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com
Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,
Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.
Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego
Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki
Konwersje napis liczba Struktury, unie Scanf / printf Wskaźniki Konwersje liczba napis Ćwiczenia 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12,
Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl
Budowa aplikacji sieciowych. Usługi WWW dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Usługi WWW W3C Working Group, Web Services Architecture,
Podstawy programowania - 1
Podstawy programowania - 1 doc. dr inż. Tadeusz Jeleniewski Wykład: sobota B, godz. 10.30 12.55 sala 12 Laboratorium: sobota B, godz. 13.00 15.25 sala 2 sobota B, godz. 15.30-17.55 sala 2 e-mail: tadeusz.jeleniewski@pwr.wroc.pl
Laboratorium 1 - Programowanie proceduralne i obiektowe
Laboratorium 1 - Programowanie proceduralne i obiektowe mgr inż. Kajetan Kurus 4 marca 2014 1 Podstawy teoretyczne 1. Programowanie proceduralne (powtórzenie z poprzedniego semestru) (a) Czym się charakteryzuje?
Podstawy programowania (1)
Podstawy programowania (1) doc. dr inż. Tadeusz Jeleniewski Konsultacje pokój 19 Poniedziałki, godz. 9:45 11:20 e-mail: tadeusz.jeleniewski@neostrada.pl Podstawy programowania (1) - wykład 1. Wprowadzenie
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
Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML
Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML Wyrażenia regularne c:\> dir *.exe $ rm *.tmp Wyrażenia regularne 'alamakota' '(hop!)*' { '',
Warunek wielokrotnego wyboru switch... case
Warunek wielokrotnego wyboru switch... case Działanie instrukcji switch jest zupełnie inne niż w przypadku instrukcji if o czym będziesz mógł się przekonać w niniejszym rozdziale. Różnice pomiędzy instrukcjami
Programowanie w środowiskach graficznych. Wykład 3 Język C#
Programowanie w środowiskach graficznych Wykład 3 Język C# 1 Zagadnienia 1. Wprowadzenie 2. Przestrzenie nazw 3. Typy, parametry, konwersje 4. Klasy 5. Instrukcje sterujące 6. Właściwości 7. Interfejsy,
Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego
Programowanie w językach
Programowanie w językach wysokiego poziomu Obsługa plików za pomocą strumieni Elektronika i Telekomunikacja, semestr III rok akademicki 2013/2014 dr inż. Paweł Myszkowski Plan zajęć a) otwieranie i zamykanie
Powtórka algorytmów. Wprowadzenie do języka Java.
Powtórka algorytmów. Wprowadzenie do języka Java. Przypomnienie schematów blokowych BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż
Katalog książek cz. 2
Katalog książek cz. 2 Odczytywanie danych z XML Do ćwiczenia dołączony jest plik books.xml zawierający pełen katalog książek. Poniższy listing zawiera przykładowy fragment danych w stosowanym formacie.
Języki programowania zasady ich tworzenia
Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie
Historia kodowania i format plików XML. Jolanta Bachan
Historia kodowania i format plików XML Jolanta Bachan Co to jest format? Format to, w ogólnym znaczeniu, reguły określające strukturę fizyczną, sposób rozmieszczenia, zapisu informacji danego typu. Inaczej:
XPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Location paths. Osie (axes)
XPath XML Path Language XPath. XSLT część 1. Problem: jednoznaczne adresowanie fragmentów struktury dokumentu XML. Rozwiązanie: drzewiasty model struktury dokumentu, normalizacja zawartości dokumentu (ten
XML extensible Markup Language 7
XML extensible Markup Language 7 XQuery Co to jest XQuery? XQuery to język zapytań dla XML. XQuery jest dla XML tym czym SQL dla baz danych, a SPARQL dla RDF. XQuery wykorzystuje wyrażenia XPath. XQuery
Wykład 10 Architektura ADO.NET Dostawcy danych Modele dostępu do danych model połączeniowy Model bezpołączeniowy
Wykład 10 Architektura ADO.NET Dostawcy danych Modele dostępu do danych model połączeniowy Model bezpołączeniowy 1 Architektura ADO.NET - zestaw abstrakcyjnych klas, które udostępniają dane z poziomu środowiska.net
#include int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
#include void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
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
Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.
Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice
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,
JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak
JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard
Komunikator internetowy w C#
PAŃSTWOWA WYśSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie Komunikator internetowy w C# autor: Artur Domachowski Elbląg, 2009 r. Komunikacja przy uŝyciu poczty internetowej
Rola języka XML narzędziem
Wprowadzenie do XML dr inż. Adam Iwaniak Szkolenie w Luboradzy, ZCPWZ, 12-13.02.2009r. Rola języka XML narzędziem Pierwszą rewolucją internetową było dostarczenie ludziom informacji. Znajdujemy się teraz
Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe
Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)
Wykorzystywanie parsera DOM w programach Java i PL/SQL
Wykorzystywanie parsera DOM w programach Java i PL/SQL Maciej Zakrzewicz mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Parser DOM Aplikacja DOM API Parser DOM Dokument XML Drzewo DOM Parser
Programowanie telefonów z Windows Phone 7, cz. 2
Programowanie telefonów z Windows Phone 7, cz. 2 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój
Laboratorium 10 - Web Services
Laboratorium 10 - Web Services W ramach laboratorium zapoznamy się z koncepcją Web Service ów (odmiana point-to-point Web Service). W kolejnych krokach utworzony zostanie projekt, w którym wykorzystana
Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE
Budowa i oprogramowanie komputerowych systemów sterowania Laboratorium 4 Metody wymiany danych w systemach automatyki DDE 1 Wprowadzenie do DDE DDE (ang. Dynamic Data Exchange) - protokół wprowadzony w
LINQ TO XML. Autor ćwiczenia: Marcin Wolicki
LINQ TO XML Celem ćwiczenia jest zapoznanie się z możliwościami przetwarzania dokumentów XML na platformie.net. W toku zadania zostaną przedstawione dwie technologie: LINQ TO XML i XPath. Autor ćwiczenia:
Windows Workflow Foundation (wprowadzenie - prosty przykład Sequential Workflow):
Windows Workflow Foundation (wprowadzenie - prosty przykład Sequential Workflow): 1. Utworzenie projektu - Sequential Workflow. File - New Project - Visual C# -Workflow- Sequential Workflow Console Application
Pytania sprawdzające wiedzę z programowania C++
Pytania sprawdzające wiedzę z programowania C++ Wstęp 1. Zaprezentuj mechanikę tworzenia programu napisanego w języku C++. 2. Co to jest kompilacja? 3. Co to jest konsolidacja? 4. Co to jest kod wykonywalny?
Programowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Metodyka programowania. Podstawy C#
Metodyka programowania Podstawy C# Platforma.NET Platforma.NET (.NET Framework) Platforma programistyczna Microsoft, Obejmuje - środowisko uruchomieniowe CLR (Common Language Runtime) - biblioteki klas
LINQ TO SQL w dużym skrócie jest to zintegrowany język zapytao pozwalający na mapowanie relacyjnych baz danych na model obiektowy.
LINQ TO SQL w dużym skrócie jest to zintegrowany język zapytao pozwalający na mapowanie relacyjnych baz danych na model obiektowy. Zanim ktokolwiek postanowi użyd tego w swoim projekcie, należy zaznaczyd
Programowanie aplikacji okienkowych Windows
Programowanie aplikacji okienkowych Windows Tworzenie aplikacji okienkowych w C# na bazie.net 2.0 Michał Turek, AGH Kraków W czym piszemy aplikacje.net Microsoft Visual Studio.NET Microsoft [] Express,
Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:
Skrypty powłoki Skrypty są zwykłymi plikami tekstowymi, w których są zapisane polecenia zrozumiałe dla powłoki. Zadaniem powłoki jest przetłumaczenie ich na polecenia systemu. Aby przygotować skrypt, należy:
Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16
M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16
Prosta aplikacja klient - serwer na bazie protokoªu UDP. Sprawozdanie.
Prosta aplikacja klient - serwer na bazie protokoªu UDP. Sprawozdanie. Autor Pierwszy, Autor Drugi, Autor Trzeci Stycze«2012r Wy»sza Szkoªa Biznesu w D browie Górniczej Informatyka, I rok Studiów UM Spis
KURS C/C++ WYKŁAD 1. Pierwszy program
KURS C/C++ WYKŁAD 1 Pierwszy program Tworzenie programu odbywa sie w dwóch etapach: 1. opracowanie kodu źródłowego 2. generowanie kodu wynikowego Pierwszy etap polega na zapisaniu algorytmu za pomocą instrukcji
Smarty PHP. Leksykon kieszonkowy
IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK
Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia
Dynamiczne przetwarzanie stron dr Beata Kuźmińska-Sołśnia KLIENT Witaj INTERNET SERWER Plik HTML Witaj wyświetlanie przez przeglądarkę Witaj! Serwer WWW komputer
Wykład 6 Dziedziczenie cd., pliki
Wykład 6 Dziedziczenie cd., pliki Autor: Zofia Kruczkiewicz 1. Dziedziczenie cd. 2. Pliki - serializacja Zagadnienia 1. Dziedziczenie aplikacja Kalkultory_2 typu Windows Forms prezentująca dziedziczenie
Zacznij Tu! Poznaj Microsoft 2012. Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska
Zacznij Tu! Poznaj Microsoft 2012 Visual Basic Michael Halvorson Przekład: Joanna Zatorska APN Promise, Warszawa 2013 Spis treści Wstęp...................................................................vii
Podstawy programowania obiektowego
Podstaw programowania obiektowego wkład 5 klas i obiekt namespace ConsoleApplication1 // współrzędne punktu int, ; Jak, korzstając z dotchczasowej wiedz, zdefiniować w programie punkt? = 3; = 2; Może tak?
Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio
Podstawy programowania Ćwiczenie Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Tematy ćwiczenia algorytm, opis języka programowania praca ze środowiskiem, formularz, obiekty
Kurs języka Python Wykład 6. Pliki tekstowe Pliki rekordów Pliki CSV Strumienie
Kurs języka Python Wykład 6. Pliki tekstowe Pliki rekordów Pliki CSV Strumienie Operacje na plikach Otwarcie i zamknięcie pliku: fh = open('plik', 'r') Atrybuty: 'r' odczyt 'w' zapis 'a' dopisanie 'r+'
Zapisywanie algorytmów w języku programowania
Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym
Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/
Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu