Daten in Datei schreiben

esdesign

Grafikdesigner
Hallo liebe tutorials´ler,

ich möchte gerne folgendes realisieren. Ich habe eine Oberfläche (siehe Screenshot). Nun möchte ich, wenn ich 3 Buttons geklickt habe, dass dann die Schrift die Auf den Buttons ist, in einer .txt Datei gespeichert wird.

Ich habe die einzelnen Buttongruppen mal farbig umrandet. Klicke ich also auf einen Button der Orangenen und einen von den schwarzen und einen von den roten, speichert er es so:

Code:
Datum   /   Uhrzeit
ROT für den SCHWARZ
Funkruf: ORANGE

Man soll aber vorher auf Speichern klicken. Hat da jemand eine Idee****?

Eike
 

Anhänge

  • Screenshot.png
    Screenshot.png
    52 KB · Aufrufe: 13

DrSoong

Iss was, Doc!
Gehts dir rein, wie man Text in eine Textdatei speichert (in diesem Fall anhängt)? Dann würde das so aussehen:
Visual Basic:
System.IO.File.AppendAllText("C:\datei.txt", "der anzuhängende Text")
Dazu würde ich mir man die System.IO.File-Klasse ansehen.


Der Doc!
 

esdesign

Grafikdesigner
Hallo,

das oben von Dir habe ich soweit verstanden. Es funktioniert auch. Nun habe ich aber noch 3 wahrscheinlich einfache Fragen:

1. Wie mache ich einen Zeilenumbruch?
2. Wie füge ich das aktuelle Daten und die Aktuelle Uhrzeit ein?`
3. Wie füge ich das ein, was auf dem Button als Beschriftung steht und wie füge ich etwas aus einer Textbox ein?

Eike
 

DrSoong

Iss was, Doc!
1. Wie mache ich einen Zeilenumbruch?
Dazu gibts die vordefinierte vbNewLine-Konstante, die in einem String einen Zeilenumbruch erzeugt:
Visual Basic:
MeinText = "Zeile 1" & vbNewLine & "Zeile 2"

2. Wie füge ich das aktuelle Daten und die Aktuelle Uhrzeit ein?
VB kennt verschiedene Funktionen für Datum und Uhrzeit, am einfachsten ist eine Kombination mit Now() (für die aktuelle Zeit) und Format() (um eine gewisse Formatierung zu erreichen):
Visual Basic:
MeinText = Format(Now, "ddMMyyyy-HHmmss")

3. Wie füge ich das ein, was auf dem Button als Beschriftung steht und wie füge ich etwas aus einer Textbox ein?
Die Beschriftung eines Steuerelement wird mittels der .Text-Eigenschaft des Elements gesetzt bzw. ausgelesen. Dies würde bei dir aus so aussehen:
Visual Basic:
MeinText = Command1.Text
Um etwas einer Textbox oder Variable hinzuzufügen, benutzt du das Kaufmann-Und "&":
Visual Basic:
MeinText = MeinText & "Neuer Text"
Textbox1.Text = Textbox1.Text & "Neuer Text" 'Bei Steuerelementen muss du immer die Eigenschaft mit angeben

Ich persönlich würde dir die Literatur zu VB ans Herz legen, unter
http://openbook.galileocomputing.de/einstieg_vb_2010/ und
http://openbook.galileocomputing.de/einstieg_vb_2008/
findest du je nach deiner Version so ziemlich alles, was man als Grundlagen benötigt.


Der Doc!
 
Zuletzt bearbeitet:

esdesign

Grafikdesigner
Hallo "Der Doc",

ich habe mir bereits ein VB Buch geholt. "Visual Basic für Dummies". Leider komme ich mit dem Buch nicht zurecht. Aber all Deine Tipps haben bisher funktioniert. Trotzdem hätte ich noch 2 Fragen. Wenn Du mir die noch beantworten könntest, wäre ich sehr froh!

1. Frage: Ich möchte gerne die Datei, in die ich schreibe wie folgt benennen:

Code:
 funk_DATUM.txt

nun ´kenne ich aus PHP das so, dass man das so schreibt:

Code:
 "funk".DATUM.".txt"

leider funktioniert das nicht. Was mache ich falsch****?


2. Frage: Ist etwas komplizierter... Ich möchte gerne, dass ich nur auf einen Button der schwarzen-Gruppe, und nur auf einen Button der roten Gruppe, und nur auf einen Button der Orangenen Gruppe klicken kann. Wenn ich auf Speichern klicke, dann soll er aber erst speichern. Wenn ich gespeichert habe, dann kann ich wieder auf einen x-belibigen Button klicken. Wenn ich aber auf einen schwarzen Button geklickt habe, dann kann ich nicht noch einmal auf einen schwarzen Button klicken, befor ich gespeichert habe. Auch kann ich nicht auf Speichern klicken, bevor ich nicht noch auf einen roten und einen orangenen geklickt habe.

LG, Eike
 

DrSoong

Iss was, Doc!
Wie ich schon gesagt habe, verknüpft man Strings in VB mit dem "&", in deinem Fall würde das also so aussehen:
Visual Basic:
"funk" & Format(Now, "ddMMyyyy") & ".txt" 'ergäbe den Namen "funk17062011.txt"


Zu 2, hier verwendest du am besten nicht normale Buttons sondern sogenannte RadioButtons. Hier kannst du mit der Appearance-Eigenschaft einstellen, dass sie wie normale Buttons aussehen, du brauchst dann keine aufwändige Prüfung mehr, um nur eine Auswahl je Gruppe zu ermöglichen.

Welche Wahl je Gruppe gewählt ist, kannst du einfach über die CheckedChanged-Eigenschaft der RadioButtons abfragen, du kannst das einfach in einer einzige Prozedur (auch bei mehreren Buttons) machen:
Visual Basic:
    Dim Gruppe1 As String
    Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged, RadioButton2.CheckedChanged, RadioButton3.CheckedChanged
       Gruppe1 = sender.name
    End Sub


Der Doc!
 

esdesign

Grafikdesigner
Hallo "Der Doc",

danke schön für das erste. Mit dem Kaufmanns- & hat geklappt. Werde ich mir merken. Das zweite habe ich nun anders gelöst. Ich habe einfach 3 Variablen erstellt, und ihm gesagt, dass wenn er auf einen Button klickt, die eine Variable füllen soll. Wenn er dann auf einen Button der zweiten Gruppe klickt, soll er das in der zweiten Variable ablegen. usw...