Avatar billede halle90 Nybegynder
10. februar 2007 - 14:55 Der er 5 kommentarer og
1 løsning

Gem .txt med variabel navn

Hey eksperter (: Jeg er ved at programmere en lektiebog og i denne skal det være muligt at hvad der er for af lektier til forskellige dage.

Mit spørgsmål er så:

Når jeg har skrevet noget i en tekstbox og jeg trykker på en knap Skal den gemme det der står, til en .txt fil. Dette ville være let hvis ikke det var fordi at .txt filens navn er en variabel, eks.

Private Sub Command1_Click()
Open "C:\Dato\label1.caption.txt For Append As #1
  Print #1, Text1.Text
Close #1

End Sub

Eller

Private Sub Command1_Click()
Open "C:\Dato\Main.Calendar1.Day & "-" & Main.Calendar1.Month & _
"-" & Main.Calendar1.Year.txt For Append As #1
  Print #1, Text1.Text
Close #1

End Sub

Hvordan kan jeg gemme en .txt fil som en variabel ?
Altså når man vælger en dato, skal den gemme .txt filen som datoen

Når jeg så åbner en ny dato, skal den så gemme den med DEN dato.

Håber i forstår..

\Halle!
Avatar billede sorenstrom Nybegynder
10. februar 2007 - 15:05 #1
Jeg bruger noget lignende til at gemme backup af nogle udtræk.

Jeg gemmer dag + måned + år i en variabel sådan:

Filnavn = Day(Date) & Month(Date) & Year(Date)

Open "C:\Dato\" & Filnavn & ".txt" For Append As #1
  Print #1, text.1.text
Close #1

Det burde du kunne overføre til dit program.

\Strøm
Avatar billede halle90 Nybegynder
10. februar 2007 - 15:16 #2
Tusind tak lige hvad jeg ledte efter, du får selvfølgelig point, men kan du så også fortælle hvordan jeg så kan læse filnavnet på den .txt fil, så jeg kan få det der står i, til at komme til at stå i f.eks text2.text ?
Avatar billede sorenstrom Nybegynder
10. februar 2007 - 15:37 #3
Nu kommer det jo lidt an på, hvornår data skal indlæses i text2.text men du indlæser en fil på denne måde:

Dim tekst As String
Dim tekst1 As String
Open App.Path & "\test.txt" For Input As #1
  Do While Not EOF(1)
  Input #1, tekst
  tekst1 = tekst1 & tekst
Loop
Close #1
Me.Text1 = tekst1
Avatar billede halle90 Nybegynder
10. februar 2007 - 16:10 #4
Tusind tak :)

Hvis filen der ikke findes en fil på den dato, går den i smadder og skriver "File not found", Kan man ikke få den til at bare lade være med at skrive noget, hvis filen ikke findes ?

f.eks. "If "C:\Dato\" & Filnavn & ".txt" = False
Then Text2.text = ""
End if

?

\Halle!
Avatar billede sorenstrom Nybegynder
10. februar 2007 - 16:52 #5
On Error GoTo ErrHandler
Dim tekst As String
Dim tekst1 As String
Open App.Path & "\test.txt" For Input As #1
  Do While Not EOF(1)
  Input #1, tekst
  tekst1 = tekst1 & tekst
Loop
Close #1
Me.Text1 = tekst1
Exit Sub
ErrHandler:
If Err.Number = 53 Then
    Resume Next
Else
    Err.Raise Err.Number & " " & Err.Description
End If
Avatar billede halle90 Nybegynder
10. februar 2007 - 16:57 #6
Det der med On error havde jeg prøvet, men når man så går videre til en dag, hvor der ER noget i, så står der stadig ""

Istedet løste jeg det med følgende:

If Dir("C:\Dato\" & Filnavn & ".txt") <> "" Then
   
    Open "C:\Dato\" & Filnavn & ".txt" For Input As #1
      Do While Not EOF(1)
  Input #1, tekst
  tekst1 = tekst1 & vbNewLine & tekst
Loop
Close #1
Text2.Text = "Lektier:" & vbNewLine & tekst1
      Else
      Text2.Text = "Du har ingen lektier for til idag!"
      End If
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester