Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 25 Xml for dummies Parte 2

Slides:



Advertisements
Presentazioni simili
File Linguaggio C.
Advertisements

ESERCITAZIONE R 12,19 marzo 2012 Mario Mastrangelo
Linguaggi di programmazione
Java Stream e File.
Java Stream e File. La classe File Per operare con lintero file java mette a disposizione la classe File Per utilizzare la classe File è necessario importare.
Programmazione con socket
Massa Laura Mela Enrica
File system Casi di studio (3).
Operazioni di I/O da console e da file in C standard
1 System Call per Comunicazione tra Processi Pipe.
Mappare file in memoria
SC che operano su file (1)
Interfaccia del file system
Interfaccia del file system
Costruzione di Interfacce Lezione 11 Dal Java al C++ parte 2
11 Dicembre 2002Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 27 Xml for dummies Parte 2
Costruzione di Interfacce Lezione 6 Esercitazione Trasformazioni
Costruzione di Interfacce Lezione 4 Sistemi di riferimento e trasformazioni
25 Nov 2002Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 22 Estensioni Opengl, Multitexturing,
Costruzione di Interfacce Lezione 5 Trasformazioni Affini
Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 27 Estensioni Opengl, Multitexturing,
Costruzione di Interfacce Lezione 10 Dal Java al C++ parte 1
Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 26 XML read e write / Gl Selection e picking
Costruzione di Interfacce Lezione 4 Nozioni di geometria per la grafica
Costruzione di Interfacce Lezione 4 Geometria per la grafica
Costruzione di Interfacce Lezione 18 Qt Tutorial 2
Costruzione di Interfacce Lezione 19 Qt Tutorial Designer
Costruzione di Interfacce Lezione 5 Trasformazioni Affini
Costruzione di Interfacce Lezione 20 Qt + Opengl
Costruzione di Interfacce Lezione 12 C++STL
6 Dicembre 2002Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 25 anatomia di uno screen saver
Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 30 MMeditor e collision detection
25 Nov 2002Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 21 Trackball
1 Costruzione di Interfacce Primi passi in OpenGL
2 Dicembre 2002Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 23 Scene Graphs, Object Loading
Costruzione di Interfacce Lezione 8 Rasterizzazione
Fisica Computazionale I - 51 OPERAZIONI DI INPUT/OUTPUT Le operazioni di input/output sono estremamente complesse perche' implicano una sostanziale interazione.
Il linguaggio Fortran 90: 5. Formato di I/O e Files
Argomenti della lezione
Java Serialization.
Esercizio: Copiare un file in un nuovo file mediante le funzioni read e write.
1 File System ed Input/Output UNIX Implementazione del File System Caratteristiche del File System Unix/Linux System Call relative al File System Linput/output.
Fondamenti di Informatica A - Massimo Bertozzi TIPI DI DATO IN C++ What's in a name? That which we call a rose By any other name would smell as sweet.
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Lezione IX Laboratorio di Programmazione. Le Classi Una classe C++ è definita come segue: class Nomeclasse { private: // metodi e attrib. visibili solo.
Modulo 13: System call relative al File System
GESTIONE DEI FILE Per poter mantenere disponibili i dati tra le diverse esecuzioni di un programma (persi-stenza dei dati) è necessario poterli archi-viare.
Specificare una unità con cui scambiare i dati input da tastiera output a video file esterno variabili di programma unità di I/O Istruzioni di INPUT/OUTPUT.
Altri comandi avanzati Salvatore Campagna Politecnico di Torino Dipartimento di Automatica.
1 Gestione dei File. 2 Perché i file? Sono strutture dati persistenti Sono solitamente memorizzati sui dischi –Si usano dall'interno dei programmi Realizzano.
Elementi di programmazione ad oggetti a. a. 2009/2010
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Pagine ASP parte 2 La gestione dei file Stefano Schacherl.
Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 29 ancora MMeditor,
ESERCITAZIONE 12 ESERCIZIO 2 14/05/2014. Consegne 1/4 Definire la classe MyBufferedReader che estende la classe BufferedReader, implementando il metodo.
1 Il file system di Unix Caratteristiche generali dei FS comunemente usati da Unix/Linux.
1 Il file system di Unix Caratteristiche generali dei FS comunemente usati da Unix/Linux.
File binari Accesso a file con record di lunghezza costante Struct Persona { Int id; Char nome[50];// nome e cognome Double stipendio; }; Persona dipendente;
Arduino: introduzione alla programmazione
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE File Marco D. Santambrogio – Ver. aggiornata al 21 Maggio 2014.
Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 25 Xml for dummies Parte 2
1 SC che operano su processi Getpid, fork, exec, wait, waitpid, exit, dup, dup2.
Fabio Scotti – Università degli Studi – Laboratorio di programmazione per la sicurezza 1 Lezione 13 e 14 GESTIONE DEI FILE A) Nozioni sulla gestione dei.
1 Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( ) Laboratorio di programmazione Lezione 13 e 14 -
1 Chiamate di sistema Introduzione Errori : perror() Chiamate che lavorano su file.
1 File System ed Input/Output UNIX Caratteristiche del FS Unix Implementazione Il file system di Linux Organizzazione dell’ I/O.
PHP.  HTML (Hyper Text Markup Language)  CSS (Cascading Style Sheets)  Javascript (linguaggio di programmazione client)  PHP ( Hypertext Preprocessor.
Lezione 14 Tecniche di I/O Avanzate Obiettivi di apprendimento: A.Come lavorare con stream binari B.Lavorare con I datalog files C.Vantaggi e svantaggi.
Compitino di Sistemi Operativi corsi A -C 19 Maggio 2003.
Transcript della presentazione:

Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 25 Xml for dummies Parte 2

Costruzione di Interfacce - Paolo Cignoni2 Introduzione XML read e write Scene Graph design Adattare lo scene graph

Costruzione di Interfacce - Paolo Cignoni3 Leggere e scrivere file in QT un file e considerato come un particolare device I/O classe QIODevice (astratta) un mezzo da cui o su cui si puo leggere/scrivere byte La azioni importanti sono open(int mode)/close()/flush() at(Offset pos) readBlock(char * data, Q_ULONG maxlen)/writeBlock() readLine/getch/putch

Costruzione di Interfacce - Paolo Cignoni4 QIODevice bool QIODevice::open ( int mode ) mode e una combinazione di IO_Raw unbuffered file access IO_ReadOnly IO_WriteOnly IO_ReadWrite IO_Append IO_Truncate IO_Translate enables carriage returns and linefeed translation.

Costruzione di Interfacce - Paolo Cignoni5 Specializzazioni QIODevice Qbuffer buffer in memoria di char QSocket e QSocketDevice per laccesso in rete. QFile: quello che ci interessa Come ci si scrive piu ad alto livello?

Costruzione di Interfacce - Paolo Cignoni6 QFile Cose utili: QDir per gestire dir, sempre con lo / utile per manipolare pathnames QDir::setCurrent(QString) settare la dir corrente cui fanno riferimento i path specificati successivamente (se non assoluti)

Costruzione di Interfacce - Paolo Cignoni7 QTextStream classe per leggere/scrivere testo su un QIODevice QTextStream::QTextStream ( QIODevice * iod ) QTextStream::QTextStream ( QString * str, int filemode ) solito stile c++ << butta nello stream >> legge dallo stream flags e variabili per dire come si trasf i numeri flags(int ) con valori tipo bin, oct, dec, fixedpos ecc. precision(int )

Costruzione di Interfacce - Paolo Cignoni8 Esempio pratico // il costruttore di QFile non apre il file! QFile xfile("pippo.txt"); // cosi come quello di QDir non cambia dir. QDir xdir("tmptxt"); // fa riferimento al path corrente dellapp... xdir.mkdir(""); //...che adesso viene cambiato QDir::setCurrent(xdir.path()); // il file viene creato solo ora. xfile.open(IO_WriteOnly); QTextStream xstrm(&xfile); xstrm << "prova"; xfile.close();

Costruzione di Interfacce - Paolo Cignoni9 Dom model per XML Interfaccia dom per accedere e modificare file xml si costruisce una rappresentazione gerarchica (un albero!) del documento xml in memoria si lavora sulla rappresentazione in memoria leggere ~ attraversare e interpretare lalbero in mem con una qualche visita scrivere ~ creare lalbero xml in memoria visitando nel giusto ordine le nostre strutture dati e poi invocare un metodo save

Costruzione di Interfacce - Paolo Cignoni10 QDomDocument la classe che rappresenta lintero documento e la radice dellalbero xml permette laccesso a tutti gli elementi dellalbero e una specializzazione di QDomNode

Costruzione di Interfacce - Paolo Cignoni11 QDomNode Classe base QDomDocument QDomElement QDomAttr metodi accesso,inserzione/rimozione figli che son sempre QDomNode si puo sapere di che tipo e isDocument/ isElement/isAttribute

Costruzione di Interfacce - Paolo Cignoni12 QDomAttr Attributo di un elemento name() value() QDomElement e = //... QDomAttr a = e.attributeNode( "href" ); // stampa " cout << a.value() << endl; // change the node's attribute a.setValue( " ); QDomAttr a2 = e.attributeNode( "href" ); // stampa " cout << a2.value() << endl;

Costruzione di Interfacce - Paolo Cignoni13 QDomElement rappresenta un elemento tagName() che puo essere cambiato zero o piu attributes QString attribute(name, defval) QDomAttr attributeNode(name)

Costruzione di Interfacce - Paolo Cignoni14 QDomDocument gli elementi non possono esistere scollegati da un QDomDocument QDomDocument contiene i metodi per fabbricare gli elementi I nodi hanno un owner che il doc che li ha creati tutte le classi QDom sono solo references saranno cancellati quando sono cancellati tutti gli oggetti che le riferiscono e il document che li possiede

Costruzione di Interfacce - Paolo Cignoni15 QDomDocument doc( "MyML" ); QDomElement root = doc.createElement( "MyML" ); doc.appendChild( root ); QDomElement tag = doc.createElement( "Greeting" ); root.appendChild( tag ); QDomText t = doc.createTextNode( "Hello World" ); tag.appendChild( t ); QString xml = doc.toString();