Variable in Textfeld oÄ ausgeben

Hallo,

danke Leute. Jetzt habe ich die Anzeige genau so, wie sie sein soll:
KW xx Tag.Monat.Jahr Stunde:Minute:Sekunde Uhr

Das ist ja schon einmal super.
Jetzt muss ich nur noch die KW in einer externen Datei abspeichern lassen, um sie mit einem anderen Programm weiterverarbeiten zu können. Wie mache ich das am besten? Eine txt Datei wäre ok.

Danke im vorraus!
Termi
 
Hallo,
dazu verweise ich auf die Forensuche oder auf vbarchiv.de bzw. activevb.de
Der Code kann dir nicht einfach so vorgelegt werden, da man auch mal suchen muss.
mfg
 
Hallo,

ok, damit bin ich ein wenig weiter gekommen. Aber ich finde den fehler nicht. Ich bekomme immer eine Meldung "Falscher Dateimodus". Wo liegt da der Fehler? Übrigens, die zu speichernde Variable heißt sKW.

hier der Quelltext (ist in Public Function geschrieben):
Code:
Kanal = FreeFile                                  
Open "C:\Variablen.txt" For Append As Kanal
Line Input #Kanal, sKW                            
Text1.Text = sKW                                
Close Kanal

Danke im vorraus!
 
Hallo,

habe jetzt noch einmal den Quelltext überarbeitet. Die Ausgabe klappt soweit, nur dass halt meien Variable nicht ausgegeben wird. Immer nur Das gschriebene. Aber seht selbst:

Code:
Private Sub Timer1_Timer()
Dim Datum As Date
Date = Now()
Dim sKW As String
sKW = fConvKW(Date)
Label1.Caption = "KW " & Right$(sKW, 2) & "/" & Left$(sKW, 4) & " - " & Now
End Sub

Public Function fConvKW(ByVal ZuKonvertDat As Date) As String
   If Weekday(ZuKonvertDat) = vbMonday Then _
    ZuKonvertDat = ZuKonvertDat + 1

  fConvKW = DatePart("ww", ZuKonvertDat, vbMonday, vbFirstFourDays)

  If fConvKW < 10 Then
    fConvKW = Year(ZuKonvertDat + 6) & "0" & fConvKW
  Else
    fConvKW = Year(ZuKonvertDat - 6) & fConvKW
  End If

Dim KaWo As String
KaWo = "KW " & Right$(sKW, 2)

Dim Kanal As Integer
Kanal = FreeFile
Open "C:\Variablen.txt" For Output As #Kanal
Print #Kanal, KaWo
Close #Kanal

End Function

So, dass ist jetzt alles vom Herausholen der Kalenderwoche bis zum abspeichern.
Oder könnte es sein, dass sich die Variable zu oft aktualisiert und deshalb nicht in der Textdatei abgespeichert wird?

mfg
Termi
 
Hallo,
hier der richtige Code:
Private Sub Timer1_Timer()
Dim Datum As Date
Date = Now()
Dim sKW As String
Dim KaWo As String


sKW = fConvKW(Date)
KaWo = "KW " & Right$(sKW, 2)
Label1.Caption = "KW " & Right$(sKW, 2) & "/" & Left$(sKW, 4) & " - " & Now

Dim Kanal As Integer
Kanal = FreeFile
Open "C:\Variablen.txt" For Output As #Kanal
Print #Kanal, KaWo
Close #Kanal
End Sub

Public Function fConvKW(ByVal ZuKonvertDat As Date) As String
If Weekday(ZuKonvertDat) = vbMonday Then _
ZuKonvertDat = ZuKonvertDat + 1

fConvKW = DatePart("ww", ZuKonvertDat, vbMonday, vbFirstFourDays)

If fConvKW < 10 Then
fConvKW = Year(ZuKonvertDat + 6) & "0" & fConvKW
Else
fConvKW = Year(ZuKonvertDat - 6) & fConvKW
End If
End Function
Ciao
 
Hallo,
also du kannst nicht so einfach aus einer Prozedur auf die andere zugreifen.
Das muss schon innerhalb dieser sein.
Z.B. geht folgendes nicht:
Private Sub Command1_click()
Dim Zeichenfolge as String
Zeichenfolge = "ein beliebiger Text"
End sub

Private Sub Command2_click()
Text1.Text=Zeichenfolge
End sub

Das hast du nämlich in deinem Code gemacht.

Nun gehen wir einen Schritt weiter, und zwar muss der Code zum speichern der Variable in den Timer. Das reicht aber nicht aus, denn bei jedem Durchlauf des Timers (z.B. jede Sekunde) wird der Wert der Variablen auf 0 gesetzt (wegen Dim....).
Deshalb muss die Variable KaWo unter sKW, da die Variable KaWo auf die Variable sKW zugreift und das nicht gehen würde, wenn KaWo über sKw wäre, da diese zu dem Zeitpunkt noch leer ist.

Ich hoffe, ich habe dir geholfen.
Grüße
 
Zurück