• Keine Ergebnisse gefunden

1. Aufgabe: Aufgaben Überblick Einlesen einer ASCII-Datei Versuchsziele

N/A
N/A
Protected

Academic year: 2021

Aktie "1. Aufgabe: Aufgaben Überblick Einlesen einer ASCII-Datei Versuchsziele"

Copied!
5
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Hochschule Harz FB Automatisierung und Informatik 1. Vorleungsübung

Dialog mit IO

Grafische Nutzerschnittstellen mit .net Thema:

Erstellen eines dialogbasierten Programms mit Ein- und Ausgabe

Versuchsziele

• Konzepte der .net-Programmierung am Beispiel eines Dialogfenster anwen- den können

• Kenntnisse in der Implementierung von GUI-Elementen und Befehlen zum Einlesen von ASCII-Dateien

• Dynamisches Erzeugen von GUI-Elementen

Einlesen einer ASCII-Datei

Überblick

Erstellen eines Dialogprogramms mit C# und .net zum Einlesen von ASCII-Dateien.

Das Fenster hat eine Schalterleiste mit einem Registern. Im Einzelnen sollen folgende Ziele vermittelt werden:

• Verwendung von eines toolStripContainers

• TabControl verwenden

• Laden einer Ascii-Datei mit StreamReader

• Zeitmessung bei den unterschiedlichen Varianten

• Dynamisches Eintragen neuer komponenten

• Anzahl der Zeilen 148 Zeilen

Aufgaben

1. Aufgabe:

Erstellen einer Form in C#

Einbau eines MenüContainers

o Eintragen des Hauptmenüs „Datei“, Name MainFile o Eintragen eines Eintrags „Schließen, Name: MnClose

Einbau eines toolStripContainers

Dock auf DockStyle=Fill setzen

Einfügen eines toolStrip

Einfügen dreier Schalter o Name: BnRead1 o Name: BnRead2 o Name: BnRead3

Einfügen eines Separators

Einfügen eines Labels o Name: LTimer

Einfügen eines Separators

Einfügen eines weiteren Schalters o Name: BnMemo

Einfügen eines TabControl

(2)

o Name: MainTab

o Löschen des zweiten Registers

Einfügen eines Editors in das erste Registers o Name: Editor

o Scrollbar auf both setzen o wordwrap ausschalten

Doppelklick in Form, Erstellen load_form

Eintragen:

o MainTab.Dock = DockStyle.Fill;

o Editor.Dock = DockStyle.Fill;

o LTime.Text = "0";

Testen

Abbildung 1 Anfangsdialog

2. Aufgabe: BnRead1_Click

Erstellen der OnClick-Methode vom Schalter „BnRead1“

Aufrufen eines Open-Dialogs

Filter *.txt

Öffnen der Datei

Aufruf der Methode read1(string sFilename)

Zeit 1 setzen

Zeilenweise Einlesen

nach jedem Lesen wird die Zeile in den Editor eingefügt

Zeit 2 setzen

Zeitspanne mit LTimer ausgeben

3. Aufgabe: BnRead2_Click

Erstellen der OnClick-Methode vom Schalter „BnRead1“

Aufrufen eines Open-Dialogs

Filter *.txt

Öffnen der Datei

Aufruf der Methode read2(string sFilename)

(3)

Zeit 1 setzen

Zeilenweise Einlesen

nach jedem Lesen wird die Zeile in den Editor eingefügt

der eingelesene Inhalt wird erst nach der Schleife dem Editor zugewiesen (Text)

Zeit 2 setzen

Zeitspanne mit LTimer ausgeben

4. Aufgabe: BnRead3_Click

Erstellen der OnClick-Methode vom Schalter „BnRead1“

Aufrufen eines Open-Dialogs

Filter *.txt

Öffnen der Datei

Aufruf der Methode read3(string sFilename)

Zeit 1 setzen

hier wird mit einem Befehl die Datei eingelesen

der Inhalt wird danach dem Editor zugewiesen (Text)

Zeit 2 setzen

Zeitspanne mit LTimer ausgeben

5. Aufgabe: Delegate-Fuinktion einbauen

Erstellen einer Delegate-Funktion

o public delegate void Read_Delegate(string sFilename);

Einbauen in die drei Read-Click-Methoden

Beispiel:

private void BnRead1_Click(object sender, EventArgs e) {

OpenFilename(Read1);

}

private void OpenFilename(Read_Delegate Read) {

// Aktion }

6. Aufgabe: BnMemo_Click

Erstellen der OnClick-Methode vom Schalter „BnMemo“

Erstellen eines neuen Registers

Erstellen eines neuen Editors

Setzen der Eigenschaften (Scrollbars, wordwrap etc.)

Setzen der Caption für das neue Register

Setzen des Namens für den Editor

Einfügen eines Editors in das neue Register

(4)

7. Aufgabe: BnEinst_Click

Erstellen eines neuen Frames, o Name: FEinst

o Schalter BnOk erhält den DialogResult Ok o Schalter BnEsc erhält den DialogResult Cancel

Einbau der get-Methoden für die Atribute

o public int getSize() // Cast nach int o public int getColor() 0,1,2

Eintragen des Hauptmenüs „Hilfe“, Name MainHelp

Eintragen eines Eintrags „Einstellungen, Name: MnEinst

Erstellen der Click-Methode

Aufrufen des Einstellungs-Dialog

Abfragen des Ok-Schalter

Setzen der Werte im Haupt-Editor

Abbildung 2 Vollständiges Programm

Abbildung 3 Einstellungsdialog

Globale Variable des Dialogs:

private Color _fontcolor;

private Font _font;

Setzen eines Fonts

Editor.Font = new System.Drawing.Font("Tahoma", size, System.Drawing.FontStyle.Regular,

System.Drawing.GraphicsUnit.Point, ((byte)(0)));

(5)

Anhang

Öffnen einer Datei:

OpenFileDialog openFileDialog1 = new OpenFileDialog();

openFileDialog1.Filter =

"pdf files (*.pdf)|*.pdf|All files (*.*)|*.*";

openFileDialog1.FilterIndex = 2;// zählt von 1 ! openFileDialog1.DefaultExt = ".txt";

openFileDialog1.InitialDirectory="c:\\daten\\0";

// oder System.Environment.CurrentDirectory;

openFileDialog1.Multiselect=false;

openFileDialog1.RestoreDirectory = true;

if (openFileDialog1.ShowDialog() == DialogResult.OK){

string sFile=openFileDialog1.FileName.ToString() }

Speichern einer Datei:

SaveFileDialog saveFileDialog1 = new SaveFileDialog();

saveFileDialog1.Filter =

"pdf files (*.pdf)|*.pdf|All files (*.*)|*.*";

saveFileDialog1.FilterIndex = 1;// zählt von 1 ! saveFileDialog1.DefaultExt = ".txt";

saveFileDialog1.InitialDirectory = "c:\\daten";

// oder System.Environment.CurrentDirectory;

saveFileDialog1.RestoreDirectory = true;

if (saveFileDialog1.ShowDialog() == DialogResult.OK) {

string sFile = saveFileDialog1.FileName.ToString();

MessageBox.Show(sFile, Application.ProductName);

}

Lesen einer Datei

FileStream inFile = new FileStream(sFilename, FileMode.Open);

StreamReader inStream = new StreamReader(inFile);

while (! inStream.EndOfStream) {

String value = inStream.ReadLine();

}

inStream.Close();

inFile.Close

Zeitmessung

DateTime Time1 = DateTime.Now;

// Aktion

DateTime Time2 = DateTime.Now;

TimeSpan duration1 = Time2 - Time1;

Farbdialog

ColorDialog colDialog = new ColorDialog();

if ( colDialog.ShowDialog()==DialogResult.OK ) { fontcolor = colDialog.Color;

}

Schriftdialog

FontDialog fDialog = new FontDialog();

fDialog.Font = _font;

if (fDialog.ShowDialog() == DialogResult.OK){

font = fDialog.Font;

}

Abbildung

Abbildung 2  Vollständiges Programm

Referenzen

ÄHNLICHE DOKUMENTE

Begin: Befehl zur Initialisierung des DBMS (Relationale DB) Query: Über dieses Feld können nur bestimmte Datensätze einer.. Datenbank

The first part of the selection indicates the host (either the EIA port or the AUX port) and the second part of the selection indicates the printer port (if a serial printer is used,

If you are running in dual session mode, press Ctrl-Enter (kpd), and set the “Host/Printer” selection in the Quick (F1) menu to the proper host and printer ports for Session two..

Beim Einlesen von Dateien ist zu beachten, dass R anstatt eines Backslash ( \ ) einen einfachen Schr¨agstrich (/) f¨ ur Pfadangaben verwendet.. Weiterhin muss die

• type [℄ name ; deklariert eine Variable für ein Feld (array), dessen Elemente vom Typ type sind.. •

If you did not opt to install a printer (did not complete E, F, G, or H), you must set the Printer portion of the Host/Printer selection in the Quick (F1) Setup menu to “None.”

Information for defining the SELECT values is described in IBM 3164 ASCII Color Display Station... 12 Place keyboard overlay

connecting an ASCII Device to a 7171 Port 27 connecting the host channel cables to the 7171 25 connecting the power cord 23. connection to the host 24 customer responsibility