Dateiverarbeitung Pearson Education, Inc. All rights reserved.

Größe: px
Ab Seite anzeigen:

Download "Dateiverarbeitung. 2006 Pearson Education, Inc. All rights reserved."

Transkript

1 1 9 Dateiverarbeitung

2 2 9.1 Einführung 9.2 Die Datenhierarchie 9.3 Daten und Ströme 9.4 Erzeugung einer sequenziellen Datei 9.5 Daten von einer sequenziellen Datei lesen 9.6 Eine sequenzielle Datei aktualisieren 9.7 Dateien mit wahlfreiem Zugriff 9.8 Erzeugung einer Datei mit wahlfreiem Zugriff 9.9 Daten wahlfrei in eine Datei mit wahlfreiem Zugriff schreiben 9.10 Sequenzielles Lesen aus einer Datei mit wahlfreiem Zugriff 9.11 Fallstudie: Verarbeitung von Transaktionen

3 3 9.1 Einführung Dateien Werden verwendet, um Daten dauerhaft ( persistent ) zu machen Permanente Speicherung von großen Datenmengen Speicherung auf sekundären Speichereinheiten Magnetplatten Halbleiterspeicher (Flash-Speicher) Optische Speichermedien Magnetbänder

4 9.2 Die Datenhierarchie 4 Bit Darstellung von einem von zwei Zuständen, 0 oder 1 Kleinste unterstützte Dateneinheit Direkt in Hardwareschaltungen abgebildet Zeichen Ziffern, Buchstaben und spezielle Symbole Aus Bits zusammengesetzt Zeichensatz: Menge aller Zeichen, die auf einer bestimmten Plattform verwendet werden chars werden in Bytes gespeichert (8 Bits) wchar_ts werden in mindestens zwei Bytes gespeichert

5 9.2 Die Datenhierarchie 5 Feld Aus Zeichen zusammengesetzt Hat eine bestimmte Bedeutung Beispiel Groß- und Kleinbuchstaben können einen Namen darstellen Datensatz (Record) Aus mehreren Feldern zusammengesetzt Wird in C als Struktur dargestellt Beispiel Datensatz für einen Angestellten könnte Personalnummer, Name, Adresse usw. enthalten Ein Datensatz-Schlüssel ist ein Feld, das für alle Datensätze eindeutig ist.

6 9.2 Die Datenhierarchie 6 Datei Aus einer Gruppe zusammengehöriger Datensätze zusammengesetzt Beispiel: Gehaltsdatei, die einen Datensatz für jeden Angestellten enthält Unterschiedliche Varianten der Organisation von Datensätzen in einer Datei Beispiel: Sequenzielle Datei Datensätze werden nach einem Schlüssel sortiert nacheinander gespeichert Datenbank Aus einer Gruppe zusammengehöriger Dateien zusammengesetzt Verwaltet durch eine Gruppe von Programmen, die zusammen Datenbank Management System (DBMS) genannt werden

7 7 Fig. 9.1 Datenhierarchie.

8 9.3 Dateien und Ströme 8 Datei C betrachtet jede Datei als eine Folge von Bytes (Fig. 9.2). Jede Datei endet entweder mit einem end-of-file marker oder an einer speziellen Byte-Nummer, die in einer systeminternen, administrativen Datenstruktur steht. Wenn eine Datei geöffnet wird, wird ein Strom ( stream ) mit ihr verbunden. Drei Dateien und die mit ihnen assoziierten Ströme werden automatisch geöffnet, wenn die Programmausführung beginnt: standard input, standard output und standard error. Ströme stellen Kommunikationskanäle zwischen Dateien und Programmen zur Verfügung.

9 9 Fig. 9.2 C-Sicht einer Datei mit n Bytes.

10 9.3 Dateien und Ströme 10 Der Standardeingabestrom ermöglicht es einem Programm Daten von der Tastatur zu lesen und der Standardausgabestrom ermöglicht es einem Programm Daten auf den Bildschirm zu schreiben. Das Öffnen einer Datei gibt einen Zeiger auf eine FILE Struktur (definiert in <stdio.h>) zurück, die Informationen zur Bearbeitung der Datei enthält. standard input, standard output und standard error werden über die Dateizeiger stdin, stdout und stderr angesprochen.

11 9.3 Dateien und Ströme 11 Die Standardbibliothek stellt viele Funktionen für das Lesen aus Dateien und das Schreiben in Dateien zur Verfügung. Die Funktion fgetc liest ein einzelnes Zeichen aus einer Datei. Sie erwartet einen FILE Zeiger für die Datei, aus der das Zeichen gelesen werden soll, als Argument. Der Aufruf fgetc( stdin ) liest ein Zeichen von stdin (der Standardeingabe). Dies ist äquivalent mit dem Aufruf getchar(). Die Funktion fputc schreibt ein einzelnes Zeichen in eine Datei. Sie erwartet das zu schreibende Zeichen und einen FILE Zeiger für die Datei, in die das Zeichen geschrieben werden soll, als Argument.

12 9.3 Dateien und Ströme 12 Der Aufruf fputc( 'a', stdout ) schreibt das Zeichen 'a' nach stdout (der Standardeingabe). Dies ist äquivalent mit dem Aufruf putchar( 'a' ). Viele andere Funktionen, die Daten von Ein- und Ausgabe lesen bzw. schreiben, haben gleichartig benannte Dateiverarbeitungsfunktionen. So können beispielsweise die Funktionen fgets und fputs benutzt werden, um eine Zeile aus einer Datei zu lesen bzw. eine Zeile in eine Datei zu schreiben. In den nächsten Abschnitten werden die dateiverarbeitenden Äquivalente der Funktionen scanf und printf verwendet: fscanf und fprintf.

13 9.4 Erzeugung einer sequenziellen Datei 13 Dateistruktur Die Strukturierung von Dateien ist Aufgabe des Programmierers C selbst strukturiert eine Datei in keiner Weise, sondern arbeitet mit einer reinen Folge von Bytes.

14 9.4 Erzeugung einer sequenziellen Datei 14 Öffnen einer Datei zur Ausgabe Ein C Programm verwaltet jede Datei mit einer separaten FILE Struktur (deklariert in stdio.h). Hierzu wird einer Variablen vom Typ FILE* durch die Funktion fopen ein Zeiger auf die FILE Struktur der zu öffnenden Datei zugewiesen. fopen übernimmt zwei Argumente: Einen Dateinamen (einschließlich Pfadinformation zum Ort der Datei im Dateiverzeichnis) und einen Dateiöffnungs-Modus. Der Dateiöffnungs-Modus "w" zeigt an, dass die Datei zum Schreiben geöffnet wird. Falls die Datei nicht existiert und zum Schreiben geöffnet wird, erzeugt fopen die Datei.

15 15 Häufiger Programmierfehler Öffnet man eine existierende Datei zur Ausgabe (Dateiöffnungs-Modus "w"), wird der vorhandene Inhalt der Datei ohne Warnung verworfen.

16 16 Modus r w a Beschreibung Öffnet eine vorhandene Datei zur Eingabe. Erzeugt eine Datei zur Ausgabe. Falls die Datei schon existiert, wird der vorhandene Inhalt verworfen. Öffnet oder erzeugt eine Datei für die Ausgabe ans Ende der Datei. r+ Öffnet eine vorhandene Datei zur Aktualisierung (Ein- und Ausgabe). w+ Erzeugt eine Datei zur Aktualisierung. Falls die Datei schon existiert, wird der vorhandene Inhalt verworfen. a+ Öffnet oder erzeugt eine Datei zur Aktualisierung. Geschrieben wird am Ende der Datei. rb, wb, ab, rb+, wb+, ab+ Gleiche Funktionsweise wie oben beschrieben, jedoch nicht im Text-, sondern im Binärmodus. Fig. 9.5 Dateiöffnungsarten.

17 9.4 Erzeugung einer sequenziellen Datei 17 Verwendung des FILE-Zeigers In die Datei schreiben Z.B. formatiertes Schreiben unter Verwendung der Funktion fprintf, die den FILE-Zeiger als erstes Argument übernimmt. Datei schließen Funktion fclose Übernimmt den FILE-Zeiger als einziges Argument Gibt die Datei wieder frei

18 18 Tipp zur Performanz Wenn ein Programm eine Datei nicht länger benötigt, sollte sie durch einen Aufruf von fclose explizit freigegeben werden.

19 9.4 Erzeugung einer sequenziellen Datei 19 Test auf Dateiende mit feof Die Funktion feof testet, ob der end-of-file Indikator für die Datei, deren FILE-Zeiger sie übernimmt, gesetzt ist. Der end-of-file Indikator informiert das Programm, dass keine Daten mehr zu verarbeiten sind. Auch stdin kann auf end-of-file getestet werden; das Dateiende wird dann durch eine spezielle Tastenkombination simuliert. Fig. 9.6 zeigt die Tastenkombinationen um end-of-file einzulesen für verschiedene Betriebssysteme.

20 20 Plattform UNIX/Linux/Mac OS X Microsoft Windows VMS Tastenkombination <Strg-d> (in einer eigenen Zeile) <Strg-z> (manchmal mit zusätzlichem Enter) <Strg-z> Fig. 9.6 Simulation der EOF-Markierung durch Tastatureingaben.

21 9.4 Erzeugung einer sequenziellen Datei 21 Formatiertes Schreiben mit fprintf Zum formatierten Schreiben in eine Datei wird die Funktion fprintf verwendet. fprintf ist äquivalent mit printf, bis auf die Tatsache, dass fprintf einen Zeiger auf die zu schreibende Datei als erstes Argument übernimmt. Bei Erfolg gibt fprintf (wie auch printf) die Gesamtzahl der erfolgreich geschriebenen Zeichen zurück. Im Fehlerfall wird der Fehlerindikator für den Dateistrom gesetzt und eine negative Zahl zurückgegeben.

22 1 // Fig. 9.4: fig09_04.c 2 // Creating a sequential file. 3 #include <stdio.h> 4 #include <stdlib.h> // exit 5 #define NAME_SIZE int main( void ) 8 { 9 unsigned int account; 10 char name[ NAME_SIZE ]; 11 double balance; FILE* cfptr = fopen( "clients.txt", "w" ); 14 if( cfptr == NULL ) { 15 fputs( "File could not be opened", stderr ); 16 exit( 1 ); // exit program if unable to create file 17 } // end if puts( "Enter the account, name, and balance." ); 20 printf( "%s", "Enter EOF to end input.\n? " ); 21 scanf( "%d%29s%lf", &account, name, &balance ); // write account, name and balance into file with fprintf 24 while(! feof( stdin ) ) { 25 fprintf( cfptr, "%d %s %.2f\n", account, name, balance ); 26 printf( "%s", "? " ); 27 scanf( "%d%29s%lf", &account, name, &balance ); 28 } // end while fclose( cfptr ); // closes file 31 } // end main Öffnen der Datei clients.txt zur Ausgabe fclose schließt die Datei Outline fig09_04.c (1 von 2) fopen gibt NULL zurück, falls die Datei nicht erfolgreich geöffnet wurde feof gibt 1 zurück, wenn der Nutzer EOF eingibt Formatierte Ausgabe in clients.txt mit fprintf Pearson Education, Inc. All rights reserved.

23 Enter the account, name, and balance. Enter EOF to end input.? 100 Jones 24.98? 200 Doe ? 300 White 0.00? 400 Stone ? 500 Rich ? ^Z Outline fig09_04.c (2 von 2) Pearson Education, Inc. All rights reserved.

24 9.5 Daten von einer sequenziellen Datei lesen 24 Öffnen einer Datei zum Einlesen Hierzu wird einer Variablen vom Typ FILE* durch die Funktion fopen ein Zeiger auf die FILE Struktur der zu öffnenden Datei zugewiesen. fopen übernimmt zwei Argumente: Einen Dateinamen (einschließlich Pfadinformation zum Ort der Datei im Dateiverzeichnis) und einen Dateiöffnungs-Modus. Der Dateiöffnungs-Modus "r" zeigt an, dass die Datei zum Lesen geöffnet wird. Falls die Datei nicht existiert und zum Lesen geöffnet werden soll, gibt fopen den Wert NULL zurück.

25 9.5 Daten von einer sequenziellen Datei lesen 25 Formatiertes Einlesen mit fscanf Zum formatierten Einlesen aus einer Datei wird die Funktion fscanf verwendet. fscanf ist äquivalent mit scanf, bis auf die Tatsache, dass fscanf einen Zeiger auf die einzulesende Datei als erstes Argument übernimmt. Bei Erfolg gibt fscanf (wie auch scanf) die Anzahl der erfolgreich gelesenen Argumente zurück. Dies kann der Anzahl der erwarteten Werte entsprechen oder kleiner sein aufgrund eines Lesefehlers oder des Erreichens von end-of-file (EOF). Im Fehlerfall wird der passende Indikator (Fehler oder EOF) für den Dateistrom gesetzt und - falls dies vor dem erfolgreichen Einlesen von Daten passiert - EOF zurückgegeben.

26 1 // Fig. 9.7: fig09_07.c 2 // Reading and printing a sequential file. 3 #include <stdio.h> 4 #include <stdlib.h> // exit function prototype 5 #define NAME_SIZE int main( void ) 8 { 9 unsigned int account; 10 char name[ NAME_SIZE ]; 11 double balance; FILE* cfptr = fopen( "clients.txt", "r" ); if( cfptr == NULL ) { 16 fputs( "File could not be opened", stderr ); 17 exit( 1 ); // exit program if file could not be opened 18 } // end if printf( "%-10s%-13s%s\n", "Account", "Name", "Balance" ); // display each record in file 23 while( fscanf( cfptr, "%d%29s%lf", &account, name, &balance ) == 3 ) 24 printf( "%-10d%-13s%7.2f\n", account, name, balance ); fclose( cfptr ); 27 } // end main Öffnen von clients.txt zum Einlesen Outline fig09_07.c (1 von 2) fopen gibt NULL zurück, falls clients.txt nicht erfolgreich geöffnet werden konnte fscanf gibt die Anzahl der erfolgreich eingelesenen Argumente zurück; wenn das Ende der Datei clients.txt erreicht wird, ist dieser Wert ungleich 3 und die Schleife wird beendet Pearson Education, Inc. All rights reserved.

27 Account Name Balance 100 Jones Doe White Stone Rich Outline fig09_07.c (2 von 2) Pearson Education, Inc. All rights reserved.

28 9.5 Daten von einer sequenziellen Datei lesen 28 Datei-Positionszeiger Byte-Nummer des nächsten Byte zum Lesen oder Schreiben Keine Variable eines Zeigertyps, sondern ein int-wert Die Anweisung rewind( cfptr ); setzt den Datei-Positionszeiger an den Anfang (d.h. Byte 0) der Datei, der cfptr zugeordnet ist.

29 9.5 Daten von einer sequenziellen Datei lesen 29 Kreditabfrage Programm Das folgende Programm erlaubt es, Listen von Kunden mit Kontostand Null, Kunden mit Kreditstand (d.h. Kunden, denen das Unternehmen Geld schuldet) und Kunden mit Debitstand (d.h. Kunden, die dem Unternehmen Geld für Waren und Dienstleistungen schulden) auszugeben. Ein Kreditstand ist ein negativer Wert; ein Debitstand ist ein positiver Wert.

30 1 // Fig. 9.8: fig09_08.c 2 // Credit inquiry program. 3 #include <stdio.h> 4 #include <stdlib.h> // exit function prototype 5 #define NAME_SIZE enum RequestType { ZERO_BALANCE = 1, CREDIT_BALANCE, DEBIT_BALANCE, END }; 8 9 int main( void ) 10 { 11 unsigned int request; 12 unsigned int account; 13 char name[ NAME_SIZE ]; 14 double balance; FILE* cfptr = fopen( "clients.txt", "r" ); if( cfptr == NULL ) { 19 fputs( "File could not be opened", stderr ); 20 exit( 1 ); // exit program if file could not be opened 21 } // end if // display request options 24 printf( "%s", "\nenter request\n" 25 " 1 - List accounts with zero balances\n" 26 " 2 - List accounts with credit balances\n" 27 " 3 - List accounts with debit balances\n" 28 " 4 - End of run\n? " ); 29 scanf( "%u", &request ); 30 Outline fig09_08.c (1 von 3) Pearson Education, Inc. All rights reserved.

31 31 // process user's request 32 while( request!= END ) { 33 switch( request ) { 34 case ZERO_BALANCE: 35 puts( "\naccounts with zero balances:" ); 36 // read and display file contents (until eof) 37 while( fscanf( cfptr, "%d%29s%lf", &account, name, &balance ) == 3 ) 38 if( balance == 0 ) 39 printf( "%-10d%-13s%7.2f\n", account, name, balance ); 40 break; 41 case CREDIT_BALANCE: 42 puts( "\naccounts with credit balances:" ); 43 // read and display file contents (until eof) 44 while( fscanf( cfptr, "%d%29s%lf", &account, name, &balance ) == 3 ) 45 if( balance < 0 ) 46 printf( "%-10d%-13s%7.2f\n", account, name, balance ); 47 break; 48 case DEBIT_BALANCE: 49 puts( "\naccounts with debit balances:" ); 50 // read and display file contents (until eof) 51 while( fscanf( cfptr, "%d%29s%lf", &account, name, &balance ) == 3 ) 52 if( balance > 0 ) 53 printf( "%-10d%-13s%7.2f\n", account, name, balance ); 54 break; 55 } // end switch 56 rewind( cfptr ); // return cfptr to beginning of file 57 printf( "%s", "\n? " ); 58 scanf( "%u", &request ); 59 } // end while 60 puts( "End of run." ); 61 fclose( cfptr ); // close file 62 } // end main Outline fig09_08.c (2 von 3) Pearson Education, Inc. All rights reserved.

32 Enter request 1 - List accounts with zero balances 2 - List accounts with credit balances 3 - List accounts with debit balances 4 - End of run? 1 Accounts with zero balances: 400 Metzger 0.00? 2 Accounts with credit balances: 300 Muller ? 3 Accounts with debit balances: 100 Becker Schneider Schmidt 22.20? 4 End of run. Outline fig09_08.c (3 von 3) Pearson Education, Inc. All rights reserved.

33 9.6 Eine sequenzielle Datei aktualisieren 33 Aktualisierung eines Datensatzes in einer sequenziellen Datei Der neue Datensatz könnte länger als der alte sein. Falls dies so ist, werden Teile des nächsten sequenziellen Datensatzes überschrieben. Um dies zu vermeiden, müssen alle Datensätze hinter dem neuen Datensatz kopiert werden. Für große Dateien kann der entsprechende Aufwand unakzeptabel werden.

34 9.7 Dateien mit wahlfreiem Zugriff 34 Dateien mit wahlfreiem Zugriff Notwendig für Anwendungen mit direktem Zugriff Beispielsweise Systeme zur Transaktionsverarbeitung Ein Datensatz kann eingefügt, gelöscht oder modifiziert werden, ohne andere Datensätze zu beeinflussen. Verschiedene Techniken können eingesetzt werden. Voraussetzung ist, dass alle Datensätze die gleiche Länge haben und in der Reihenfolge ihrer Schlüssel angeordnet sind. Das Programm kann den genauen Ort jedes Datensatzes berechnen. Basis hierfür sind Größe und Schlüssel des Datensatzes.

35 35 Fig. 9.9 C-Sicht einer Datei mit wahlfreiem Zugriff.

36 9.8 Erzeugung einer Datei mit wahlfreiem Zugriff 36 Die Funktion fwrite schreibt eine bestimmte Anzahl von Bytes, beginnend an einer bestimmten Speicheradresse, unformatiert in eine Datei. Die Daten werden in der Datei ab der Stelle geschrieben, auf die der Dateipositions-Zeiger gerade zeigt. Entsprechend liest die Funktion fread eine bestimmte Anzahl von Bytes ab der Stelle in der Datei, auf die der Dateipositions-Zeiger gerade zeigt, in einen Speicherbereich beginnend an einer angegebenen Speicheradresse.

37 9.8 Erzeugung einer Datei mit wahlfreiem Zugriff 37 Funktion fwrite Schreibt eine Anzahl von Bytes aus einem Speicherbereich in eine Datei an die Stelle, auf die der Positionszeiger zeigt. Parameter: Ein const void*, der auf das Anfangsbyte eines Arrays im Speicher zeigt Ein size_t, der die Anzahl der Bytes angibt, die geschrieben werden sollen Ein size_t, der die Anzahl der Elemente im Array angibt, die geschrieben werden sollen Zeiger auf eine FILE-Struktur, die die Ausgabedatei angibt Beispiel: fwrite( &number, sizeof( int ), 1, fptr );

38 38 Portabilitäts-Tipp Die Verwendung von fwrite ist systemabhängig und kann dazu führen, dass sich Programme auf verschiedenen Plattformen unterschiedlich verhalten. Die Daten werden nicht formatiert (wie im Fall von fprintf ), sondern in Form von rohen Daten (also als Bytes) geschrieben.

39 39 Portabilitäts-Tipp Ein Programm, das unformatierte Daten liest (die mit fwrite geschrieben wurden), muss auf einem System kompiliert und ausgeführt werden, das mit dem Programm kompatibel ist, das die Daten geschrieben hat. Unterschiedliche Systeme können unterschiedliche interne Datendarstellungen verwenden (Beispiel: Big Endian Little Endian).

40 9.8 Erzeugung einer Datei mit wahlfreiem Zugriff 40 Headerdateien Separate Dateien, die nur Typdefinitionen, Funktionsprototypen und Konstanten enthalten Erlauben dem Compiler nutzerdefinierte Typen und Funktionen zu erkennen, wenn sie anderswo eingesetzt werden Haben im allgemeinen.h Erweiterung für Dateinamen Testanwendungsdateien (Driver files) Programme zum Testen von Typen und Funktionen Enthalten eine main Funktion und sind ausführbar Haben im allgemeinen.c Erweiterung für Dateinamen.h und.c Dateien werden als Quelldateien (source code files) bezeichnet.

41 9.8 Erzeugung einer Datei mit wahlfreiem Zugriff 41 #include Präprozessor-Direktive Wird benutzt, um Headerdateien einzufügen Weist den C Präprozessor an, die Direktive durch eine Kopie des Inhalts der angegebenen Datei zu ersetzen Anführungszeichen kennzeichnen eine nutzerdefinierte Headerdatei Der Präprozessor sucht zuerst im aktuellen Verzeichnis Falls die Datei nicht gefunden wird, sucht er im C Standard-include-Verzeichnis Winkelklammern kennzeichnen die C Standardbibliothek Präprozessor sucht nur im C Standard-include-Verzeichnis

42 9.8 Erzeugung einer Datei mit wahlfreiem Zugriff 42 Präprozessordirektiven zur Vermeidung des mehrfachen Einbindens von Headerdateien Verhindern, dass Code mehr als einmal eingebunden wird #ifndef if not defined Überspringe diesen Code, falls schon definiert, d.h. eingebunden #define Definiere einen Namen zur Vermeidung des nochmaligen Einbindens #endif Falls der Header schon zuvor eingebunden wurde Name ist schon definiert und Headerdatei wird nicht mehr eingebunden Verhindert Fehlermeldungen durch Mehrfachdefinitionen Beispiel: #ifndef CLIENTDATA_H #define CLIENTDATA_H // code #endif

43 9.8 Erzeugung einer Datei mit wahlfreiem Zugriff 43 Aufgabenstellung: Es soll ein Kreditverarbeitungs-Programm geschrieben werden, das bis zu 100 Datensätze fester Länge in einer Datei speichern kann. Jeder Datensatz soll aus einer Kontonummer (die auch als Schlüssel für den Datensatz dient), einem Nachnamen, einem Vornamen und dem Kontostand bestehen. Das Programm soll ein bestehendes Konto aktualisieren können, einen Datensatz für ein neues Konto einfügen, ein Konto löschen und die Datensätze aller vorhandenen Konten als formatierte Textdatei abspeichern können. Es soll eine Datei mit wahlfreiem Zugriff verwendet werden.

44 9.8 Erzeugung einer Datei mit wahlfreiem Zugriff 44 Das Kreditverarbeitungs-Programm wird in mehreren Schritten / Teilprogrammen entwickelt. Das erste Teilprogramm dient nur dazu, die Grundstruktur der verwendeten Datei zu erzeugen, indem 100 leere Datensätze erzeugt und in eine Datei mit wahlfreiem Zugriff geschrieben werden. Die Datensätze werden als Variablen vom Typ einer struct Clientdata erzeugt.

45 1 // Fig. 9.11: ClientData.h 2 // Type ClientData definition used in Fig Fig #ifndef CLIENTDATA_H 4 #define CLIENTDATA_H 5 6 typedef struct { 7 unsigned int accountnumber; 8 char lastname[ 15 ]; 9 char firstname[ 10 ]; 10 double balance; 11 } ClientData; // end definition of type ClientData #endif Headerdatei, die die Definition des Typs ClientData enthält. Outline ClientData.h (1 von 1) Pearson Education, Inc. All rights reserved.

46 1 // Fig. 9.12: fig09_12.c 2 // Creating a random-access file sequentially. 3 #include <stdio.h> 4 #include <stdlib.h> // exit 5 6 #include "ClientData.h" // Definition of type ClientData 7 8 int main( void ) 9 { 10 size_t i; // loop counter 11 ClientData blankclient = { 0, "", "", 0.0 }; // default record FILE* cfptr = fopen( "credit.dat", "wb" ); if( cfptr == NULL ) { 16 fputs( "File could not be opened.", stderr ); 17 exit( 1 ); // exit program if unable to open file 18 } // end if // output 100 blank records to file 21 for( i = 0; i < 100; ++i ) 22 fwrite( &blankclient, sizeof( ClientData ), 1, cfptr ); fclose( cfptr ); 25 fputs( "File written." ); 26 } // end main Einfügen der Headerdatei, die die Definition des Typs ClientData enthält. Daten in blankclient als Bytes in credit.dat abspeichern Outline fig09_12.c (1 von 1) credit.dat im Binärmodus öffnen Pearson Education, Inc. All rights reserved.

47 9.9 Daten wahlfrei in eine Datei mit wahlfreiem Zugriff schreiben 47 Daten an bestimmte Position schreiben Für Ein- und Ausgabe im Binärmodus öffnen Verwenden der Dateiöffnungsart "rb+" Einsatz der Funktion fseek, um den Positionszeiger an die gewünschte Position zu setzen Beispiel: ( n 1 ) * sizeof( ClientData ) Byteposition für nten ClientData Datensatz Verwendung von fwrite, um Daten zu schreiben

48 1 // Fig. 9.13: fig09_13.c 2 // Writing data randomly to a random-access file. 3 #include <stdio.h> 4 #include <stdlib.h> // exit 5 6 #include "ClientData.h" // ClientData type definition 7 8 int main( void ) 9 { 10 ClientData client = { 0, "", "", 0.0 }; // default record FILE* cfptr = fopen( "credit.dat", "rb+" ); if( cfptr == NULL ) { 15 fputs( "File could not be opened.", stderr ); 16 exit( 1 ); // exit program if unable to open file 17 } // end if // require user to specify account number 20 printf( "%s", "Enter account number (1 to 100, 0 to end input)\n? " ); 21 scanf( "%d", &client.accountnumber ); Outline fig09_13.c (1 von 3) Verwenden von rb+, um credit.dat zur Ein- und Ausgabe im Binärmodus zu öffnen Pearson Education, Inc. All rights reserved.

49 22 23 // user enters information, which is copied into file 24 while( client.accountnumber > 0 && client.accountnumber <= 100 ) { 25 // user enters last name, first name and balance 26 printf( "%s", "Enter lastname, firstname, balance\n? " ); // set record lastname, firstname and balance values 29 fscanf( stdin, "%14s%9s%lf", client.lastname, 30 client.firstname, &client.balance ); // seek position in file of user-specified record 33 fseek( cfptr, ( client.accountnumber - 1 ) * 34 sizeof( ClientData ), SEEK_SET ); // write user-specified information in file 37 fwrite( &client, sizeof( ClientData ), 1, cfptr ); // enable user to enter another account 40 printf( "%s", "Enter account number\n? " ); 41 scanf( "%d", &client.accountnumber ); 42 } // end while fclose( cfptr ); 45 } // end main Outline fig09_13.c (2 von 3) Positionszeiger wird auf gewünschte Byteposition gesetzt Der ClientData Datensatz wird an die gewünschte Position geschrieben Pearson Education, Inc. All rights reserved.

50 Enter account number (1 to 100, 0 to end input)? 37 Enter lastname, firstname, balance? Barker Doug 0.00 Enter account number? 29 Enter lastname, firstname, balance? Brown Nancy Enter account number? 96 Enter lastname, firstname, balance? Stone Sam Enter account number? 88 Enter lastname, firstname, balance? Smith Dave Enter account number? 33 Enter lastname, firstname, balance? Dunn Stacey Enter account number? 0 Outline fig09_13.c (3 von 3) Pearson Education, Inc. All rights reserved.

51 9.9 Daten wahlfrei in eine Datei mit wahlfreiem Zugriff schreiben 51 Daten an bestimmte Position schreiben Der Funktionsprototyp für fseek ist int fseek( FILE* stream, long int offset, int whence ); Hierbei ist offset die Anzahl der Bytes für das Setzen des Positionszeigers gerechnet ab whence in der Datei, auf die stream zeigt - ein positiver offset sucht vorwärts und ein negativer sucht in Rückwärtsrichtung. Das Argument whence ist einer der Werte SEEK_SET, SEEK_CUR oder SEEK_END (alle definiert in <stdio.h>), die den Ort angeben, an dem die Suche beginnt.

52 9.9 Daten wahlfrei in eine Datei mit wahlfreiem Zugriff schreiben 52 Daten an bestimmte Position schreiben Die symbolische Konstante SEEK_SET gibt an, dass der Positionszeiger relativ zum Anfang der Datei um die Größe des Offset erhöht wird. SEEK_CUR gibt an, dass die Suche an der aktuellen Position des Positionszeigers in der Datei beginnt und SEEK_END gibt an, dass die Suche am Ende der Datei beginnt.

53 9.9 Daten wahlfrei in eine Datei mit wahlfreiem Zugriff schreiben 53 Um die Programme dieses Kapitels übersichtlich zu halten, wird nicht auf mögliche Fehlerfälle getestet. Professionelle Programme sollten jedoch testen, ob Funktionen wie fscanf, fseek und fwrite korrekt arbeiten, indem ihre Rückgabewerte überprüft werden. fscanf gibt die Anzahl der erfolgreich gelesenen Datenwerte zurück oder den Wert EOF falls beim Einlesen der Daten ein Problem auftritt. fseek gibt einen Wert ungleich Null zurück, falls die Suchoperation nicht durchgeführt werden kann. fwrite gibt die Anzahl der erfolgreich ausgegebenen Werte zurück. Falls diese Zahl kleiner als das dritte Argument des Funktionaufrufs ist, trat ein Fehler auf.

54 9.10 Sequenzielles Lesen aus einer Datei mit wahlfreiem Zugriff Funktion fread Liest eine Anzahl von Bytes aus dem Eingabestrom (der mit der aktuellen Dateiposition verknüpft ist) in ein Objekt im Speicher Parameter: Ein const void*, der auf das Anfangsbyte eines Arrays im Speicher zeigt Ein size_t, der die Anzahl der Bytes angibt, die gelesen werden sollen Ein size_t, der die Anzahl der Elemente im Array angibt, die gelesen werden sollen Zeiger auf eine FILE-Struktur, die die Eingabedatei angibt Beispiel: fread( &client, sizeof( ClientData ), 1, cfptr ); 54

55 1 // Fig. 9.14: fig09_14.c 2 // Reading a random-access file sequentially. 3 #include <stdio.h> 4 #include <stdlib.h> // exit 5 6 #include "ClientData.h" // ClientData type definition 7 8 int main( void ) 9 { 10 ClientData client = { 0, "", "", 0.0 }; // default record FILE* cfptr = fopen( "credit.dat", "rb" ); if( cfptr == NULL ) { 15 fputs( "File could not be opened.", stderr ); 16 exit( 1 ); // exit program if unable to open file 17 } // end if printf( "%-10s%-16s%-11s%10s\n", "Account", "Last Name", 20 "First Name", "Balance" ); // read all records from file 23 while( fread( &client, sizeof( ClientData ), 1, cfptr ) == 1 ) { 24 // display record 25 if( client.accountnumber!= 0 ) 26 printf( "%-10d%-16s%-11s%10.2f\n", client.accountnumber, 27 client.lastname, client.firstname, client.balance ); 28 } // end while fclose( cfptr ); 31 } // end main Outline fig09_14.c (1 von 2) Daten aus credit.dat als Bytes in client abspeichern Pearson Education, Inc. All rights reserved.

56 Account Last Name First Name Balance 29 Brown Nancy Dunn Stacey Barker Doug Smith Dave Stone Sam Outline fig09_14.c (2 von 2) Pearson Education, Inc. All rights reserved.

57 9.11 Fallstudie: Verarbeitung von Transaktionen 57 Ausführliches Beispiel: Durchführung verschiedener Transaktionen von Kontendaten Sequenzielles Lesen aus einer Binärdatei mit wahlfreiem Zugriff und Schreiben der gelesenen Informationen in eine Textdatei Aktualisieren eines zuvor in die Datei geschriebenen Datensatzes Schreiben eines neuen Datensatzes in die Datei Löschen eines vorhandenen Datensatzes aus der Datei

58 1 // Fig. 9.15: fig09_15.c 2 // Bank-account program reads a random-access file sequentially, 3 // updates data previously written to the file, creates data to 4 // be placed in the file, and deletes data previously in the file. 5 #include <stdio.h> 6 #include <stdlib.h> // exit 7 8 #include "ClientData.h" // ClientData type definition 9 10 // prototypes 11 unsigned int enterchoice( void ); 12 void createtextfile( FILE* readptr ); 13 void updaterecord( FILE* fptr ); 14 void newrecord( FILE* fptr ); 15 void deleterecord( FILE* fptr ); enum Choices { PRINT = 1, UPDATE, NEW, DELETE, END }; int main( void ) 20 { 21 unsigned int choice; // user's choice 22 FILE* cfptr = fopen( "credit.dat", "rb+" ); if( cfptr == NULL ) { 25 fputs( "File could not be opened.", stderr ); 26 exit( 1 ); // exit program if unable to open file 27 } // end if 28 Outline fig09_15.c (1 von 7) Pearson Education, Inc. All rights reserved.

59 29 // enable user to specify action 30 while( ( choice = enterchoice() )!= END ) { 31 switch( choice ) { 32 case PRINT: // create text file from record file 33 createtextfile( cfptr ); 34 break; 35 case UPDATE: // update record 36 updaterecord( cfptr ); 37 break; 38 case NEW: // create record 39 newrecord( cfptr ); 40 break; 41 case DELETE: // delete existing record 42 deleterecord( cfptr ); 43 break; 44 default: // display message if user does not select valid choice 45 puts( "Incorrect choice\n" ); 46 break; 47 } // end switch 48 } // end while fclose( cfptr ); 51 } // end main 52 Outline fig09_15.c (2 von 7) Pearson Education, Inc. All rights reserved.

60 53 // enable user to input menu choice 54 unsigned int enterchoice( void ) 55 { 56 unsigned int menuchoice; 57 // display available options 58 printf( "%s", "\nenter your choice\n" 59 "1 - store a formatted text file of accounts" 60 " called \"accounts.txt\" for printing\n" 61 "2 - update an account\n" 62 "3 - add a new account\n" 63 "4 - delete an account\n" 64 "5 - end program\n? " ); scanf( "%u", &menuchoice ); // receive choice from user 67 return menuchoice; 68 } // end function enterchoice 69 Outline fig09_15.c (3 von 7) Pearson Education, Inc. All rights reserved.

61 70 // create formatted text file for printing 71 void createtextfile( FILE* readptr ) 72 { 73 ClientData client = { 0, "", "", 0.0 }; // default record 74 FILE* writeptr = fopen( "accounts.txt", "w" ); // open accounts.txt // exit program if file cannot be opened 77 if( writeptr == NULL ) { 78 fputs( "File could not be opened.", stderr ); 79 exit( 1 ); // exit program if unable to open file 80 } // end if fprintf( writeptr, "%-10s%-16s%-11s%10s\n", "Account", 83 "Last Name", "First Name", "Balance" ); rewind( readptr ); // set file-position pointer to beginning of file // copy all records from record file into text file 88 while( fread( &client, sizeof( ClientData ), 1, readptr ) == 1 ) { 89 // write single record to text file 90 if( client.accountnumber!= 0 ) // skip empty records 91 fprintf( writeptr, "%-10d%-16s%-11s%10.2f\n", client.accountnumber, 92 client.lastname, client.firstname, client.balance ); 93 } // end while 94 printf( "File %s written.\n", "'accounts.txt'" ); 95 fclose( writeptr ); 96 } // end function createtextfile 97 FILE*-Zeiger als Parameter für das Einlesen von Daten aus credit.dat Outline fig09_15.c (4 von 7) Verwendung von rewind, um sicherzustellen, dass der Positionszeiger am Anfang der Datei ist Pearson Education, Inc. All rights reserved.

62 98 // update balance in record 99 void updaterecord( FILE* fptr ) 100 { 101 unsigned int account; // account number 102 double transaction; // transaction amount 103 ClientData client = { 0, "", "", 0.0 }; // default record printf( "%s", "Enter account to update ( ): " ); 106 scanf( "%d", &account ); 107 // move file-position pointer to correct record in file 108 fseek( fptr, ( account - 1 ) * sizeof( ClientData ), SEEK_SET ); // read record from file 111 fread( &client, sizeof( ClientData ), 1, fptr ); if( client.accountnumber!= 0 ) { // update record 114 printf( "%-10d%-16s%-11s%10.2f\n\n", client.accountnumber, 115 client.lastname, client.firstname, client.balance ); 116 // request transaction amount from user 117 printf( "%s", "\nenter charge ( + ) or payment ( - ): " ); 118 scanf( "%lf", &transaction ); 119 client.balance += transaction; // update record balance 120 printf( "%-10d%-16s%-11s%10.2f\n\n", client.accountnumber, 121 client.lastname, client.firstname, client.balance ); 122 // move file-position pointer to correct record in file 123 fseek( fptr, ( account - 1 ) * sizeof( ClientData ), SEEK_SET ); 124 // write updated record over old record in file 125 fwrite( &client, sizeof( ClientData ), 1, fptr ); 126 } // end if 127 else // display message if account does not exist 128 printf( "Account #%d has no information\n", account ); 129 } // end function updaterecord Feststellen, ob der Datensatz Informationen enthält Outline fig09_15.c (5 von 7) Daten aus dem Objekt client mit fwrite in die Binärdatei schreiben Pearson Education, Inc. All rights reserved.

63 // create and insert record 132 void newrecord( FILE* fptr ) 133 { 134 unsigned int account; // account number 135 ClientData client = { 0, "", "", 0.0 }; // default record printf( "%s", "Enter new account number ( ): " ); 138 scanf( "%d", &account ); 139 // move file-position pointer to correct record in file 140 fseek( fptr, ( account - 1 ) * sizeof( ClientData ), SEEK_SET ); // read record from file 143 fread( &client, sizeof( ClientData ), 1, fptr ); if( client.accountnumber == 0 ) { // create record 146 // user enters last name, first name and balance 147 printf( "%s", "Enter lastname, firstname, balance\n? " ); 148 scanf( "%14s%9s%lf", client.lastname, client.firstname, &client.balance ); client.accountnumber = account; // move file-position pointer to correct record in file 153 fseek( fptr, ( account - 1 ) * sizeof( ClientData ), SEEK_SET ); 154 // insert record in file 155 fwrite( &client, sizeof( ClientData ), 1, fptr ); 156 } // end if 157 else // display message if account does not exist 158 printf( "Account #%d already contains information\n", account ); 159 } // end function newrecord Feststellen, ob der Datensatz keine Informationen enthält Outline fig09_15.c (6 von 7) Daten aus dem Objekt client mit fwrite in die Binärdatei schreiben Pearson Education, Inc. All rights reserved.

64 // delete an existing record 162 void deleterecord( FILE* fptr ) 163{ 164 unsigned int account; // account number 165 ClientData client; // stores record read from file 166 ClientData blankclient = { 0, "", "", 0.0 }; // blank client printf( "%s", "Enter account number to delete ( ): " ); 169 scanf( "%d", &account ); 170 // move file-position pointer to correct record in file 171 fseek( fptr, ( account - 1 ) * sizeof( ClientData ), SEEK_SET ); // read record from file 174 fread( &client, sizeof( ClientData ), 1, fptr ); if( client.accountnumber!= 0 ) { // delete record 177 // move file-position pointer to correct record in file 178 fseek( fptr, ( account - 1 ) * sizeof( ClientData ), SEEK_SET ); 179 // replace existing record with blank record 180 fwrite( &blankclient, sizeof( ClientData ), 1, fptr ); 181 printf( "Account #%d deleted.\n", account ); 182 } // end if 183 else // display message if account does not exist 184 printf( "Account #%d does not exist.\n", account ); 185 } // end function deleterecord Feststellen, ob der Datensatz Informationen enthält Outline fig09_15.c (7 von 7) Leeren Datensatz in die Datei kopieren, um Konto wieder auf Null zu setzen Pearson Education, Inc. All rights reserved.

Dateiverarbeitung Pearson Education, Inc. All rights reserved.

Dateiverarbeitung Pearson Education, Inc. All rights reserved. 1 9 Dateiverarbeitung 2 9.1 Einführung 9.2 Die Datenhierarchie 9.3 Daten und Ströme 9.4 Erzeugung einer sequenziellen Datei 9.5 Daten von einer sequenziellen Datei lesen 9.6 Eine sequenzielle Datei aktualisieren

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Ein-/Ausgabe, Dateisystem. Kapitel 9: Ein-/Ausgabe. Programmieren in C für Elektrotechniker. Programmieren in C. Dateisystem. Programmieren in C

Ein-/Ausgabe, Dateisystem. Kapitel 9: Ein-/Ausgabe. Programmieren in C für Elektrotechniker. Programmieren in C. Dateisystem. Programmieren in C für Elektrotechniker Kapitel 9: Dateisystem, Dateisystem E/A-Konzept in UNIX und C UNIX (und damit auch C) verwendet Datenströme (streams) als Konzept zur Verbindung von Programmen mit E/A-Geräten und

Mehr

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam Aktuelle Fileposition ermitteln long pos; pos=ftell(fp); //aktuelle Bytenummer Filelaenge in Bytes fseek(fp,0,seek_end); pos=ftell(fp); Fileendeerkennung int rc; rc = feof (fp) //!= 0 bei Fileende // ==

Mehr

Informatik Grundlagen, WS04, Seminar 13

Informatik Grundlagen, WS04, Seminar 13 Informatik Grundlagen, WS04, Seminar 13 Informatik Informatik Grundlagen, Seminar 13 WS04 1 Was wir heute besprechen Nachbesprechen von Übungsblatt 11 Rekursion Grundprinzipien Übung Besprechung Übungsblatt

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Dateien (1) Datenströme

Dateien (1) Datenströme Dateien (1) Datenströme Standardbibliothek bietet sogenannte Datenströme (engl. Streams) Objekte, in die Informationen geschrieben oder von denen Daten gelesen werden können Zum Arbeiten mit Dateien benötigt

Mehr

Dateioperationen Fachhochschule Würzburg-Schweinfurt Prof. Dr. Martin Ochs. Abspeichern und Einlesen von Texten (Strings) in Dateien

Dateioperationen Fachhochschule Würzburg-Schweinfurt Prof. Dr. Martin Ochs. Abspeichern und Einlesen von Texten (Strings) in Dateien Informatik I SS 2003 Dateioperationen 1 Textdateien, Öffnen Abspeichern und Einlesen von Texten (Strings) in Dateien 1. Das Öffnen einer Datei a) Deklaration eines Zeigers auf eine Datei FILE *pfile; b)

Mehr

8. Arbeiten mit Dateien

8. Arbeiten mit Dateien 8. Arbeiten mit Dateien www.c-programme.de Stefan Thiemert Kapitel 8 - Seite 1 von 6 8. 1. Allgemeines Bisher haben wir Daten, die wir in unseren Programmen erzeugt und verarbeitet haben, nur über den

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung Nach dem Update auf die Version 1.70 bekommen Sie eine Fehlermeldung,

Mehr

Kleines Handbuch zur Fotogalerie der Pixel AG

Kleines Handbuch zur Fotogalerie der Pixel AG 1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

12. Dokumente Speichern und Drucken

12. Dokumente Speichern und Drucken 12. Dokumente Speichern und Drucken 12.1 Überblick Wie oft sollte man sein Dokument speichern? Nachdem Sie ein Word Dokument erstellt oder bearbeitet haben, sollten Sie es immer speichern. Sie sollten

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Grundlagen. Kapitel 1

Grundlagen. Kapitel 1 Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die

Mehr

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i

Mehr

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:

Mehr

10 Lesen und Schreiben von Dateien

10 Lesen und Schreiben von Dateien 10 Lesen und Schreiben von Dateien 10 Lesen und Schreiben von Dateien 135 10.1 Mit load und save Binäre Dateien Mit save können Variableninhalte binär im Matlab-Format abgespeichert werden. Syntax: save

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Aufgaben zur C-Programmierung für die Praktikumsperiode des 1.Semesters

Aufgaben zur C-Programmierung für die Praktikumsperiode des 1.Semesters Prof. Dr. Ulrich Breitschuh Hochschule Anhalt(FH) Fachbereich Informatik Aufgaben zur C-Programmierung für die Praktikumsperiode des 1.Semesters Hinweis: Die Aufgaben 3, 6 und 8 sind testatpichtige Aufgaben.

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

Dateizugriff unter C

Dateizugriff unter C Begriffe Dateizugriff unter C Datei = sequentielle Ansammlung von Datenbytes, z.b. auf einer Festplatte Auch Bildschirm und Tastatur werden wie Dateien behandelt: Bildschirm ist die Datei stdout Tastatur

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 10: Arbeiten mit Prof. Dr. Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen 3. Variable und Datentypen in C 4. Bildschirm

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann, 2005. 1

Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann, 2005. 1 Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann, 2005. 1 Starten der CD Nach dem Einlegen der CD in Ihr CD-Laufwerk müsste die CD von selbst

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Objektbasierte Entwicklung

Objektbasierte Entwicklung Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife Praktikum Ingenieurinformatik Termin 2 Verzweigungen (if-else), printf und scanf, while-schleife 1 1. Import/Export von Eclipse-Projekten 2. Verzweigungen (if-else-anweisung) 3. printf und scanf 4. Übungsaufgaben

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

Stapelverarbeitung Teil 1

Stapelverarbeitung Teil 1 Stapelverarbeitung Teil 1 In jedem Unternehmen gibt es von Zeit zu Zeit Änderungen in Normen und Firmenstandards, an die aktuelle und bereits bestehende Zeichnungen angepasst werden müssen. Auch Fehler

Mehr

Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller

Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit, 08:00 09:30 Uhr (90 min) Aufgabenblätter 14 Seiten (einschl. Deckblatt) erreichbare Punktzahl 54 zugelassene

Mehr

Beheben von verlorenen Verknüpfungen 20.06.2005

Beheben von verlorenen Verknüpfungen 20.06.2005 Vor folgender Situation ist sicher jeder Solid Edge-Anwender beim Öffnen von Baugruppen oder Drafts schon einmal gestanden: Die Ursache dafür kann sein: Die Dateien wurden über den Explorer umbenannt:

Mehr

Programmieren I. Kapitel 15. Ein und Ausgabe

Programmieren I. Kapitel 15. Ein und Ausgabe Programmieren I Kapitel 15. Ein und Ausgabe Kapitel 15: Ein und Ausgabe Ziel: einen kleinen Einblick in die vielfältigen IO Klassen geben Grober Überblick Klasse File zur Verwaltung von Dateien Random

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Zentrale Installation

Zentrale Installation Einführung STEP 7 wird durch ein Setup-Programm installiert. Eingabeaufforderungen auf dem Bildschirm führen Sie Schritt für Schritt durch den gesamten Installationsvorgang. Mit der Record-Funktion steht

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Die Dateiablage Der Weg zur Dateiablage

Die Dateiablage Der Weg zur Dateiablage Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung)

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Hochschule München, FK 03 SS 2014 Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Zulassung geprüft: (Grundlagenteil) Die Prüfung ist nur dann gültig, wenn Sie die erforderliche Zulassungsvoraussetzung

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch Einfache und effiziente Zusammenarbeit in der Cloud EASY-PM Office Add-Ins Handbuch Inhaltsverzeichnis 1. Einführung... 3 2. Ribbonmenü... 4 3. Dokument... 5 3.1 Öffnen... 5 3.2 Speichern... 6 3.3 Speichern

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen) 1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise

Mehr

Benutzeranleitung Superadmin Tool

Benutzeranleitung Superadmin Tool Benutzeranleitung Inhalt 1 Einleitung & Voraussetzungen... 2 2 Aufruf des... 3 3 Konto für neuen Benutzer erstellen... 3 4 Services einem Konto hinzufügen... 5 5 Benutzer über neues Konto informieren...

Mehr

1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten

1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten 1. Einschränkung für Mac-User ohne Office 365 Mac-User ohne Office 365 müssen die Dateien herunterladen; sie können die Dateien nicht direkt öffnen und bearbeiten. Wenn die Datei heruntergeladen wurde,

Mehr

Problem crazytrickler unter Windows 8:

Problem crazytrickler unter Windows 8: Problem crazytrickler unter Windows 8: Für die Kommunikation mit dem PC ist im crazytrickler der Chip PL2303HXA/XA zuständig. Er wird unter Windows 8 nicht mehr vom Hersteller Prolific unterstützt. Geräte

Mehr

182. stdio. 183. stdio. Eingabe. Ausgabe. Typisch für Zeileneingabe und Analyse: #include <stdio.h>

182. stdio. 183. stdio. Eingabe. Ausgabe. Typisch für Zeileneingabe und Analyse: #include <stdio.h> 182. stdio Eingabe int getchar (), getc (FILE * fp), fgetc (FILE * fp); char * gets (char * buf), * fgets (char * buf, int len, FILE * fp); int scanf (const char * fmt,...); int fscanf (FILE * fp, const

Mehr

2. Semester, 2. Prüfung, Lösung

2. Semester, 2. Prüfung, Lösung 2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie importiere und exportiere ich Daten zwischen myfactory und Outlook? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Daten aus Outlook importieren Daten aus myfactory nach Outlook

Mehr

OSF Integrator für Btracking und Salesforce Anleitung für die Nutzer

OSF Integrator für Btracking und Salesforce Anleitung für die Nutzer OSF Integrator für Btracking und Salesforce Anleitung für die Nutzer Inhalt Beschreibung... 2 Beginn der Nutzung... 2 OSF Integrator für Btracking und Salesforce... 3 1. Fügen Sie Rechnungs- und Versandadressen

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18 Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.

Mehr

Übersichtlichkeit im Dokumentenmanagement

Übersichtlichkeit im Dokumentenmanagement Übersichtlichkeit im Dokumentenmanagement Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 www.workshop-software.de Verfasser: SK info@workshop-software.de Datum: 02/2012

Mehr

Benutzerhandbuch - Elterliche Kontrolle

Benutzerhandbuch - Elterliche Kontrolle Benutzerhandbuch - Elterliche Kontrolle Verzeichnis Was ist die mymaga-startseite? 1. erste Anmeldung - Administrator 2. schnittstelle 2.1 Administrator - Hautbildschirm 2.2 Administrator - rechtes Menü

Mehr

www.computeria-olten.ch Monatstreff für Menschen ab 50 WORD 2007 / 2010

www.computeria-olten.ch Monatstreff für Menschen ab 50 WORD 2007 / 2010 www.computeria-olten.ch Monatstreff für Menschen ab 50 Merkblatt 86 WORD 2007 / 2010 Etiketten erstellen Umschläge/Couverts bedrucken Etiketten erstellen z.b. Namen-Etiketten / Adress-Etiketten Als Grundlage

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

Sie wollen Was heißt das? Grundvoraussetzung ist ein Bild oder mehrere Bilder vom Wechseldatenträger

Sie wollen Was heißt das? Grundvoraussetzung ist ein Bild oder mehrere Bilder vom Wechseldatenträger Den Speicherplatz wechseln oder eine Sicherungskopie erstellen. Es lässt sich nicht verhindern. Manche Sachen liegen am falschen Platz, können gelöscht werden oder man will vor der Bearbeitung eine Sicherungskopie

Mehr

Internet online Update (Internet Explorer)

Internet online Update (Internet Explorer) Um Ihr Consoir Beta immer schnell und umkompliziert auf den aktuellsten Stand zu bringen, bieten wir allen Kunden ein Internet Update an. Öffnen Sie Ihren Internetexplorer und gehen auf unsere Internetseite:

Mehr

O UTLOOK EDITION. Was ist die Outlook Edition? Installieren der Outlook Edition. Siehe auch:

O UTLOOK EDITION. Was ist die Outlook Edition? Installieren der Outlook Edition. Siehe auch: O UTLOOK EDITION Was ist die Outlook Edition? Outlook Edition integriert Microsoft Outlook E-Mail in Salesforce. Die Outlook Edition fügt neue Schaltflächen und Optionen zur Outlook- Benutzeroberfläche

Mehr

ARAkoll 2013 Dokumentation. Datum: 21.11.2012

ARAkoll 2013 Dokumentation. Datum: 21.11.2012 ARAkoll 2013 Dokumentation Datum: 21.11.2012 INHALT Allgemeines... 3 Funktionsübersicht... 3 Allgemeine Funktionen... 3 ARAmatic Symbolleiste... 3 Monatsprotokoll erzeugen... 4 Jahresprotokoll erzeugen

Mehr

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

Abschluss Version 1.0

Abschluss Version 1.0 Beschreibung Der Abschluss wird normalerweise nur einmal jährlich durchgeführt. Dieses Tech-Note soll helfen, diesen doch seltenen aber periodisch notwendigen Vorgang problemlos durchzuführen. Abschlussvarianten

Mehr

Profi cash 10. Electronic Banking. Installation und erste Schritte. Ihre Spezialisten für den elektronischen Zahlungsverkehr und moderne Bezahlsysteme

Profi cash 10. Electronic Banking. Installation und erste Schritte. Ihre Spezialisten für den elektronischen Zahlungsverkehr und moderne Bezahlsysteme Electronic Banking Ihre Spezialisten für den elektronischen Zahlungsverkehr und moderne Bezahlsysteme Profi cash 10 Installation und erste Schritte Legen Sie bitte die CD ein. Sollte die CD nicht von alleine

Mehr

Programmliste bearbeiten

Programmliste bearbeiten Alle im folgenden Kapitel erklärten und von Ihnen durchführbaren Änderungen an den Programmund Favoritenlisten werden nur dann vom Receiver gespeichert, wenn Sie beim Verlassen des Menüs durch die -Taste

Mehr

3 ORDNER UND DATEIEN. 3.1 Ordner

3 ORDNER UND DATEIEN. 3.1 Ordner Ordner und Dateien PC-EINSTEIGER 3 ORDNER UND DATEIEN Themen in diesem Kapitel: Erstellung von Ordnern bzw Dateien Umbenennen von Datei- und Ordnernamen Speicherung von Daten 3.1 Ordner Ordner sind wie

Mehr

OUTLOOK-DATEN SICHERN

OUTLOOK-DATEN SICHERN OUTLOOK-DATEN SICHERN Wie wichtig es ist, seine Outlook-Daten zu sichern, weiß Jeder, der schon einmal sein Outlook neu installieren und konfigurieren musste. Alle Outlook-Versionen speichern die Daten

Mehr

Verarbeitung der Eingangsmeldungen in einem Callcenter

Verarbeitung der Eingangsmeldungen in einem Callcenter Q-up ist ein Produkt der: Anwendungsbeispiele Verarbeitung der Eingangsmeldungen in einem Callcenter Der Testdatengenerator Der Testdatengenerator Verarbeitung der Eingangsmeldungen in einem Callcenter

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

Mehr

Prozessarchitektur einer Oracle-Instanz

Prozessarchitektur einer Oracle-Instanz 6. Juni 2008 Inhaltsverzeichnis Oracle Instanz 1 Oracle Instanz 2 3 Redo Log Buffer Shared Pool Java Pool & Large Pool Oracle Instanz Eine Oracle-Instanz ist Hauptbestandteil des Oracle Datenbank Management

Mehr

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und

Mehr

desk.modul : WaWi- Export

desk.modul : WaWi- Export desk.modul : WaWi- Export Die Schnittstelle besteht aus einem Programm, welches die Daten aus der OfficeLine ausliest und in eine XML-Datei exportiert. Die Schnittstelle ist als ein eigenständiges Programm

Mehr

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken Betriebliche Datenverarbeitung Wirtschaftswissenschaften AnleitungzurEinrichtungeinerODBC VerbindungzudenÜbungsdatenbanken 0.Voraussetzung Diese Anleitung beschreibt das Vorgehen für alle gängigen Windows

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und

Mehr

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012 Access 2010 Grundlagen für Anwender inkl. zusätzlichem Übungsanhang ACC2010-UA 3 Access 2010 - Grundlagen für Anwender 3 Daten in Formularen bearbeiten

Mehr

Liebe Eltern, Alles weitere zum MensaMax -Programm sehen Sie in der folgenden Anleitung. Die Gemeinschaftsschule am Federsee

Liebe Eltern, Alles weitere zum MensaMax -Programm sehen Sie in der folgenden Anleitung. Die Gemeinschaftsschule am Federsee Die Gemeinschaftsschule am Federsee Auf dem Bahndamm 3 88422 Bad Buchau Fon: 07582/93290 Fax: 07582/932922 Mail: sekretariat@federseeschule.de Liebe Eltern, Ab sofort kann bei uns an der Federseeschule

Mehr

Tutorium Informatik 1. Aufgabe 2: Formatierte Ein- und Ausgabe

Tutorium Informatik 1. Aufgabe 2: Formatierte Ein- und Ausgabe Tutorium Informatik 1 Aufgabe 2: Formatierte Ein- und Ausgabe Fachbereich: Elektrotechnik Inhaltsverzeichnis 1 Aufgabe 1 2 Benötigte Funktionen und Schlüsselwörter 2 Robert Halas / FH Regensburg - 2003

Mehr

Neue Schriftarten installieren

Neue Schriftarten installieren .DIE Neue Schriftarten installieren Die Informationen zu jeder Schriftart (Font) sind in jeweils einer Datei untergebracht, der sog. Font-Datei mit der Endung.ttf ttf steht für True Type Font und bedeutet,

Mehr

Neuanlage des Bankzugangs ohne das bestehende Konto zu löschen

Neuanlage des Bankzugangs ohne das bestehende Konto zu löschen 1 Neuanlage des Bankzugangs ohne das bestehende Konto zu löschen In moneyplex lässt sich ein Konto und ein Bankzugang nur einmal anlegen. Wenn sich der Bankzugang geändert hat oder das Sicherheitsmedium

Mehr

Benutzerverwaltung Business- & Company-Paket

Benutzerverwaltung Business- & Company-Paket Benutzerverwaltung Business- & Company-Paket Gemeinsames Arbeiten mit der easyfeedback Umfragesoftware. Inhaltsübersicht Freischaltung des Business- oder Company-Paketes... 3 Benutzerverwaltung Business-Paket...

Mehr