Avatar billede epo_blackdevil Nybegynder
23. juni 2008 - 16:00 Der er 12 kommentarer og
1 løsning

gemme data i fil

jeg er ved og lave et lille program til at lave bestillinger i.

selve programmet er færdigt og når der trykkes bestil gemmes alt data i variablen "bestilling"

mit problem er nu jeg ikke kan finde ud af at lave en funktion så den data bliver gemt i en fil.

selve filen skal altid gemmes i mappen "C:\Documents and Settings\Christensen 7306\Dokumenter\bestilling\"

fil navnet skal være sammen sat af variablen "dato" og "navn" så filnavnet vil blive f.eks. 13/7 - René Christensen.doc. dette er for senere at kunne finde bestillingen

fil typen skal helst være .doc da teksten skal være centreret
Avatar billede wosgam Nybegynder
23. juni 2008 - 17:00 #1
Denne kode opretter filen og skriver til den:

Dim file As System.IO.FileStream
Dim oFile as System.IO.File
Dim oWrite as System.IO.StreamWriter

file = System.IO.File.Create("C:\Documents and Settings\Christensen 7306\Dokumenter\bestilling\bestillinger.doc")
oWrite = oFile.CreateText("C:\Documents and Settings\Christensen 7306\Dokumenter\bestilling\bestillinger.doc")
oWrite.WriteLine("Variabel eller andet her som skal skrives til filen")
oWrite.Close()

Kan den bruges???
Avatar billede epo_blackdevil Nybegynder
23. juni 2008 - 18:01 #2
jo hvis filen istedet for at heddde bestillinger.doc kan komme til hedde:
dato + " - " navn.doc = 13/7 - rené christensen.doc
Avatar billede thesurfer Nybegynder
23. juni 2008 - 19:16 #3
Filnavne kan ikke indeholde følgende tegn:

\ / : * ? " < > |
Avatar billede epo_blackdevil Nybegynder
23. juni 2008 - 19:22 #4
hov, nej så: 13-7 - rené christensen.doc

min fejl :)
Avatar billede thesurfer Nybegynder
23. juni 2008 - 19:45 #5
Dato: day & "-" & month

Men hvor kommer navnet fra..?
Avatar billede epo_blackdevil Nybegynder
23. juni 2008 - 23:01 #6
datoen er den dato bestillingen ska laves, den tastes ind og gemmes i variablen dato. navnet er det navn på den der har bestilt ordren.

ved godt det er et lidt spøjst system, men dem der skal have det vil gerne beholde det system de køre nu med filnavne. da det er nemt at se hvilke ordre der skal printes ud til den givne dag.

er et caterering firma, så der reservres mad bestillinger til langt ud i fremtiden.
Avatar billede thesurfer Nybegynder
23. juni 2008 - 23:05 #7
Jamen, så er det vel bare at bruge:

"C:\Documents and Settings\Christensen 7306\Dokumenter\bestilling\" & dato & " - " & navn & ".doc"

?

Hvor variablen "dato" indeholder den indtastede dato, og variablen "navn" indeholder det indtastede navn..

Hvis det svar ikke er korrekt, bliver du nødt til lige at vise noget kode..
Avatar billede epo_blackdevil Nybegynder
24. juni 2008 - 08:52 #8
jeg får en fejl med user-defined variables is not defined....


jeg har indsat:
Dim file As System.IO.FileStream
Dim oFile as System.IO.File
Dim oWrite as System.IO.StreamWriter
både i general og under gem knappen. men fejl begge gange...

oWrite.Close() står med rød tekst....


lige til en advarsel det er mange år siden jeg har kodet noget sidst så kan forestille mig det er lavet lidt efter en simpel molbo metode...

koden:

Private Sub Command3_Click()

Dim file As System.IO.FileStream
Dim ofile As System.IO.file
Dim oWrite As System.IO.StreamWriter

Dim navn As String
Dim adresse As String
Dim by As String
Dim dato As String
Dim klokslet As String
Dim kuverter As String
Dim bemærkning As String
Dim forret As String
Dim hovedret As String
Dim dessert As String
Dim natmad As String
Dim pris As String



If Not Text2.Text = "Navn" Or Text2.Text = "" Then
navn = Text2.Text
Else
navn = ""
End If

If Not Text3.Text = "Adresse" Or Text3.Text = "" Then
adresse = Text3.Text
Else
adresse = ""
End If

If Not Text5.Text = "Evt by" Or Text5.Text = "" Then
by = Text5.Text
Else
by = ""
End If

If Not Text1.Text = "Dato" Or Text1.Text = "" Then
dato = Text1.Text
Else
dato = ""
End If

If Not Text7.Text = "Klokslet" Or Text7.Text = "" Then
klokslet = Text7.Text
Else
klokslet = ""
End If

If Not Text11.Text = "Kuverter" Or Text11.Text = "" Then
kuverter = Text11.Text
Else
by = ""
End If

If Not Text12.Text = "Evt bemærkning" Or Text12.Text = "" Then
bemærkning = Text12.Text
Else
bemærkning = ""
End If

forret = Text4.Text
hovedret = Text8.Text
dessert = Text9.Text
natmad = Text10.Text


bestilling = dato + vbNewLine + vbNewLine + navn + vbNewLine + adresse + ", " + by + vbNewLine + "Kl: " + klokslet + vbNewLine + kuverter + " personer" + vbNewLine + "Bemærkning: " + bemærkning + vbNewLine + vbNewLine + "--- --- FORRET --- ---" + vbNewLine + forret + vbNewLine + vbNewLine + "--- --- HOVEDRET --- ---" + vbNewLine + hovedret + vbNewLine + vbNewLine + "--- --- DESSERT --- ---" + vbNewLine + dessert + vbNewLine + vbNewLine + "--- --- NATMAD --- ---" + vbNewLine + natmad
'Text13.Text = bestilling



file = System.IO.file.Create("C:\Documents and Settings\Christensen 7306\Dokumenter\bestilling\" & dato & " - " & navn & ".doc")
oWrite = ofile.CreateText("C:\Documents and Settings\Christensen 7306\Dokumenter\bestilling\" & dato & " - " & navn & ".doc")
oWrite.WriteLine (bestilling)
oWrite.Close()

gemt = True

End Sub
Avatar billede epo_blackdevil Nybegynder
25. juni 2008 - 16:17 #9
det er vidst "file As System.IO.FileStream" der skyld i fejlen
Avatar billede kabbak Professor
25. juni 2008 - 18:33 #10
Prøv med denne, men den er ikke centreret, det kan du gøre i Word bagefter

Private Sub Command3_Click()

Dim navn As String
Dim adresse As String
Dim by As String
Dim dato As String
Dim klokslet As String
Dim kuverter As String
Dim bemærkning As String
Dim forret As String
Dim hovedret As String
Dim dessert As String
Dim natmad As String
Dim pris As String



If Not Text2.Text = "Navn" Or Text2.Text = "" Then
navn = Text2.Text
Else
navn = ""
End If

If Not Text3.Text = "Adresse" Or Text3.Text = "" Then
adresse = Text3.Text
Else
adresse = ""
End If

If Not Text5.Text = "Evt by" Or Text5.Text = "" Then
by = Text5.Text
Else
by = ""
End If

If Not Text1.Text = "Dato" Or Text1.Text = "" Then
dato = Text1.Text
Else
dato = ""
End If

If Not Text7.Text = "Klokslet" Or Text7.Text = "" Then
klokslet = Text7.Text
Else
klokslet = ""
End If

If Not Text11.Text = "Kuverter" Or Text11.Text = "" Then
kuverter = Text11.Text
Else
by = ""
End If

If Not Text12.Text = "Evt bemærkning" Or Text12.Text = "" Then
bemærkning = Text12.Text
Else
bemærkning = ""
End If

forret = Text4.Text
hovedret = Text8.Text
dessert = Text9.Text
natmad = Text10.Text


bestilling = dato + vbNewLine + vbNewLine + navn + vbNewLine + adresse + ", " + by + vbNewLine + "Kl: " + klokslet + vbNewLine + kuverter + " personer" + vbNewLine + "Bemærkning: " + bemærkning + vbNewLine + vbNewLine + "--- --- FORRET --- ---" + vbNewLine + forret + vbNewLine + vbNewLine + "--- --- HOVEDRET --- ---" + vbNewLine + hovedret + vbNewLine + vbNewLine + "--- --- DESSERT --- ---" + vbNewLine + dessert + vbNewLine + vbNewLine + "--- --- NATMAD --- ---" + vbNewLine + natmad
'Text13.Text = bestilling


Open "C:\Documents and Settings\Christensen 7306\Dokumenter\bestilling\" & dato & " - " & navn & ".doc" For Append As #1
Print #1, bestilling
Close
gemt = True

End Sub
Avatar billede arne_v Ekspert
30. juni 2008 - 22:19 #11
System.IO.FileStream er VB.NET !
Avatar billede epo_blackdevil Nybegynder
02. august 2008 - 16:42 #12
okay, hvad bruger man så i vb6?
Avatar billede epo_blackdevil Nybegynder
02. august 2008 - 16:44 #13
lukket
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