Einfache Adressverwaltung
' EINFACHE ADRESSENVERWALTUNG
' VARIABLEN
' DSAnz = Datensatzanzahl entspricht dem nächsten freien Datensatz
' DS = Datensatz
' DSNr = Datensatznummer für die Abfrage
' vn = Datenvariable für Vorname
' nn = Datenvariable für Nachname
' str = Datenvariable für Strasse
' hnr = Datenvariable für Hausnummer
' plz = Datenvariable für Postleitzahl
' wo = Datenvariable für Wohnort
' em = Datenvariable für E-Mail
' tf = Datenvariable für Telefon
' GRAFIKFENSTER DEFINIEREN
' Grafikfenster Titel
GraphicsWindow.Clear()
GraphicsWindow.CanResize=0
GraphicsWindow.Title = "Einfache Adressenverwaltung Version 1.0.0-0001"
' Grafikfenster Position
GraphicsWindow.Top = 350
GraphicsWindow.Left = 750
' Grafikfenster Größe
' Breite x-Koordinate
GraphicsWindow.Width = 512
' Höhe y-Koordinate
GraphicsWindow.Height = 300
' Grafikfenster Schriftart
GraphicsWindow.FontName = "Calibri"
' Grafikfenster Schriftfarbe
GraphicsWindow.BrushColor = "MidnightBlue"
' Grafikfenster Schriftgröße
GraphicsWindow.FontSize = "12"
'GRAFIKFENSTERRAHMEN
' Grafikfensterrahmen Schriftfarbe für die ASCII Zeichen festlegen
GraphicsWindow.BrushColor = "Black"
' Linke obere Ecke
GraphicsWindow.DrawText(-3, -6, "┌")
' Obere Verbindungslinie von links nach rechts
For h = -3 To 509 Step 6
GraphicsWindow.DrawText(h, -6, "─")
EndFor
' Rechte obere Ecke
GraphicsWindow.DrawText(509, -6, "┐")
' Linke Verbindungslinie von oben nach unten
For i = 6 To 292 Step 12
GraphicsWindow.DrawText(-3, i, "│")
EndFor
' Rechte Verbindungslinie von oben nach unten
For j = 6 To 292 Step 12
GraphicsWindow.DrawText(509, j, "│")
EndFor
' Linke untere Ecke
GraphicsWindow.DrawText(-3, 292, "└")
' Untere Verbindungslinie von links nach rechts
For k = -3 To 507 Step 6
GraphicsWindow.DrawText(k, 292, "─")
EndFor
' Rechte untere Ecke
GraphicsWindow.DrawText(509, 292, "┘")
' URHEBERRECHTANZEIGE
For l = 1 To 509 Step 6
GraphicsWindow.DrawText(l, 266, "─")
EndFor
GraphicsWindow.DrawText(200,280, "© ENI-Soft 09.04.2019")
' Schriftfarbe zurücksetzen
GraphicsWindow.BrushColor = "MidnightBlue"
' Öffnet die angegebene Datei und liest aus Zeile 1 die nächste freie
Zeilenummer
DSAnz = File.ReadLine(Program.Directory +"\Adressen.txt", 1)
' Datensatz Anfangsnummer ausgeben und Textboxeigenschaften definieren
DS = 0
GraphicsWindow.DrawText(20,23, "Datensatz " + DS)
GraphicsWindow.DrawText(142,23, "0 bis 999")
DSNr = Controls.AddTextBox(100,20)
Controls.SetSize(DSNr, 34, 20)
' Dateneingabefelder linksbündig beschriften und Texteingabefelder hinzufügen
GraphicsWindow.DrawText(20, 53, "Vorname")
vn = Controls.AddTextBox(100, 50)
GraphicsWindow.DrawText(20, 83, "Nachname")
nn = Controls.AddTextBox(100, 80)
GraphicsWindow.DrawText(20, 113, "Strasse")
str = Controls.AddTextBox(100, 110)
GraphicsWindow.DrawText(270, 113, "Haus-Nr.")
hnr = Controls.AddTextBox(330, 110)
GraphicsWindow.DrawText(20, 143, "Postleitzahl")
plz = Controls.AddTextBox(100, 140)
GraphicsWindow.DrawText(270, 143, "Wohnort")
wo = Controls.AddTextBox(330, 140)
GraphicsWindow.DrawText(20, 173, "E-Mail")
em = Controls.AddTextBox(100, 170)
GraphicsWindow.DrawText(20, 203, "Telefon")
tf = Controls.AddTextBox(100, 200)
' FUNKTIONEN
' Daten speichern
Speichern = Controls.AddButton("Speichern", 20, 240)
' Maske löschen
' Schriftfarbe der Schaltfläche Maske löschen in Dunkelrot ändern
GraphicsWindow.BrushColor = "Darkred"
Loeschen = Controls.AddButton("Maske löschen", 96, 240)
' Schriftfarbe zurücksetzen
GraphicsWindow.BrushColor = "MidnightBlue"
' Daten abfragen
' Schriftfarbe der Schaltfläche Abfragen in Dunkelgrün ändern
GraphicsWindow.BrushColor = "Green"
Abfragen = Controls.AddButton("Abfragen", 198, 240)
' Schriftfarbe zurücksetzen
GraphicsWindow.BrushColor = "MidnightBlue"
' Suchen
' Schriftfarbe der Schaltflächen Suchen, Liste und Hilfe in Weiss ändern
GraphicsWindow.BrushColor = "MidnightBlue"
GraphicsWindow.DrawText(270, 224, "Schaltflächen sind in Planung!")
GraphicsWindow.BrushColor = "White"
' Suchen
Suchen = Controls.AddButton("Suchen", 272, 240)
' Liste erzeugen
Liste = Controls.AddButton("Liste", 336, 240)
' Hilfe erzeugen
Liste = Controls.AddButton("Hilfe", 386, 240)
' Schriftfarbe zurücksetzen
GraphicsWindow.BrushColor = "MidnightBlue"
' Programm beenden
Beenden = Controls.AddButton("Beenden", 438, 240)
' Unterprogrammroutine Aktion durch Ereignisaufruf starten
Controls.ButtonClicked = Aktion
' UNTERPROGRAMMROUTINE
Sub Aktion
If(Controls.LastClickedButton = Speichern) Then
Adressat[DSAnz]["Vorname"] = Controls.GetTextBoxText(vn)
Adressat[DSAnz]["Nachname"] = Controls.GetTextBoxText(nn)
Adressat[DSAnz]["Strasse"] = Controls.GetTextBoxText(str)
Adressat[DSAnz]["Hausnummer"] = Controls.GetTextBoxText(hnr)
Adressat[DSAnz]["Postleitzahl"] = Controls.GetTextBoxText(plz)
Adressat[DSAnz]["Wohnort"] = Controls.GetTextBoxText(wo)
Adressat[DSAnz]["E-Mail"] = Controls.GetTextBoxText(em)
Adressat[DSAnz]["Telefon"] = Controls.GetTextBoxText(tf)
' Öffnet die angegebene Datei und hängt Textinhalt am Ende der Datei an
File.AppendContents(Program.Directory + "\Adressen.txt", Adressat[DSAnz])
DSAnz = DSAnz + 1
' Öffnet die angegebene Datei und schreibt Textinhalt in die Zeile mit der
angegebenen Zeilennummer
File.WriteLine(Program.Directory + "\Adressen.txt", 1, DSAnz)
Controls.SetTextBoxText(DSNr, "")
Controls.SetTextBoxText(vn, "")
Controls.SetTextBoxText(nn, "")
Controls.SetTextBoxText(str, "")
Controls.SetTextBoxText(hnr, "")
Controls.SetTextBoxText(plz, "")
Controls.SetTextBoxText(wo, "")
Controls.SetTextBoxText(em, "")
Controls.SetTextBoxText(tf, "")
ElseIf(Controls.LastClickedButton = Loeschen) then
' Warnsignal erzeugen
Sound.PlayMusic("o2 e4")
Controls.SetTextBoxText(DSNr, "")
Controls.SetTextBoxText(vn, "")
Controls.SetTextBoxText(nn, "")
Controls.SetTextBoxText(str, "")
Controls.SetTextBoxText(hnr, "")
Controls.SetTextBoxText(plz, "")
Controls.SetTextBoxText(wo, "")
Controls.SetTextBoxText(em, "")
Controls.SetTextBoxText(tf, "")
ElseIf(Controls.LastClickedButton = Abfragen and DSAnz <> 0 and
Controls.GetTextBoxText(DSNr) <> "") Then
DS = Controls.GetTextBoxText(DSNr)
' Datensatz Nummer auswerten und anzeigen
GraphicsWindow.BrushColor = "White"
GraphicsWindow.DrawText(270,23, "██████████████████")
GraphicsWindow.BrushColor = "MidnightBlue"
If DS > "-1" Then
GraphicsWindow.BrushColor = "White"
GraphicsWindow.DrawText(75,23, "██")
GraphicsWindow.BrushColor = "MidnightBlue"
GraphicsWindow.DrawText(75,23, DS)
Else
' Warnsignal erzeugen
Sound.PlayMusic("o2 e4")
GraphicsWindow.BrushColor = "White"
GraphicsWindow.DrawText(270,23, "██████████████████")
GraphicsWindow.BrushColor = "Darkred"
GraphicsWindow.DrawText(270,23, "Ungültige Eingabe!")
EndIf
' Öffnet die angegebene Datei und liest Textinhalt aus der Zeile mit der
angegebenen Zeilennummer
Adressat[DS] = File.ReadLine(Program.Directory + "\Adressen.txt", DS + 2)
Controls.SetTextBoxText(vn, Adressat[DS]["Vorname"])
Controls.SetTextBoxText(nn, Adressat[DS]["Nachname"])
Controls.SetTextBoxText(str, Adressat[DS]["Strasse"])
Controls.SetTextBoxText(hnr, Adressat[DS]["Hausnummer"])
Controls.SetTextBoxText(plz, Adressat[DS]["Postleitzahl"])
Controls.SetTextBoxText(wo, Adressat[DS]["Wohnort"])
Controls.SetTextBoxText(em, Adressat[DS]["E-Mail"])
Controls.SetTextBoxText(tf, Adressat[DS]["Telefon"])
Controls.SetTextBoxText(DSNr, "")
ElseIf(Controls.LastClickedButton = Beenden)Then
Program.End()
Else
' Warnsignal erzeugen
Sound.PlayMusic("o2 e4")
GraphicsWindow.ShowMessage("Ungültige Operation!", "Fehlermeldung")
EndIf
EndSub