webForumDet fria alternativet

Spara och ladda ner en en text från samma fil

.NET

10 svar · 393 visningar · startad av Mattza

Medlem sedan dec. 200363 inlägg
Frågan#1

Jag har gjort en alarm klocka men vill ha en spara funktion för påminnelser som oxå finns i programmet

Eftersom att jag knappt kan nånting om vb trodde jag att denna kod skulle funka:

Open "C:\alarm.txt" For Append As #1
Input #1, Text1.Text
Close #1

Och den funkar till att spara en text men ja vill att man ska kunna spara te.x. från tre olika textboxar som hittar tillbaka till rätt plats igen men endå bara spara i en fil

och hur läser man tillbakja texten sen???

God jul alla vb älskare ;)

Medlem sedan maj 2003924 inlägg
#2

Ska allt sparas ner till en text fil eller

Medlem sedan maj 2003924 inlägg
#3

För jag hade antingen sparat det tll registret eller en ini fil.

Medlem sedan dec. 200363 inlägg
#4

asså vill spara text från flera textboxar i en fil men vil ge dom nån identifikation så dom hittar tebax till rätt textbox då man öppnar proget igen?
ee det ini som ska användas då???

Medlem sedan juni 200032 967 inlägg
#5

OT: PsyDonia, du får gärna redigera inlägg istället för att alltid posta flera samtidigt. ;)

Mvh och god jul,
moderatorjäkeln

Medlem sedan maj 2003924 inlägg
#6

För i så fall gör så här.

Spara detta i en module.

Option Explicit
Public Declare Function getprivateprofilestring Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationname As String, ByVal lpKeyname As Any, ByVal lpdefault As String, ByVal lpreturnedstring As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public Declare Function writeprivateprofilestring Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationname As String, ByVal lpKeyname As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Global RealLen As Byte
Global AutoInput As Boolean
Function ReadINI(Section As String, KeyName As String, FileName As String) As String
    Dim sRet As String
    sRet = String(255, Chr(0))
    ReadINI = Left(sRet, getprivateprofilestring(Section, ByVal KeyName$, "", sRet, Len(sRet), FileName))
End Function

Function WriteINI(sSection As String, sKeyName As String, sNewString As String, sFileName) As Integer
    Dim r
    r = writeprivateprofilestring(sSection, sKeyName, sNewString, sFileName)
End Function

Sen Använder du denna kod till att spara.

Dim Ret
Dim i
j = List1.ListIndex
For i = 0 To List1.ListCount - 1
List1.ListIndex = i
Ret = WriteINI("Tid", List1.ListIndex, List1, App.Path & "\Alarm.ini")

Ret = WriteINI("Medelande", List1.ListIndex, Text1.Text, App.Path & "\Alarm.ini")

Next i

List1.ListIndex = j

Sen Använder du denna kod till att Läsa in data.
Skulle sätta in en listbox där tiden står och sen en text ruta där medelandet är.

Private Sub Form_Load()
strFileName = App.Path & "\Alarm.ini"
intCounters = 0
List1.Clear
Do
        strTider = ReadINI("Tid", Str(intCounters), App.Path & "\Alarm.ini")
        If strTider = "" Then
            Exit Do
        Else
            List1.AddItem strTider
        End If
        intCounters = intCounters + 1
    Loop
End Sub

Private Sub List1_Click()
On Error GoTo ErrorHand

Text1.Text = ReadINI("Medelande", List1.ListIndex, App.Path & "\Alarm.ini")
Exit Sub
ErrorHand:
MsgBox Error, vbCritical + vbOKOnly
End Sub

Snabb skrivit koden så du får kanske göra om lite men det borde funka att utgå från denna.

Sen i Alarm.ini lägg dit denna text och spara så kan du testa sen.

[Tid]
0=07:00
[Medelande]
0=Vakna

@nders Ska tänka på det Sorry.

Medlem sedan dec. 200363 inlägg
#7

hum...jo...förstog inte riktigt det men ska försöka

Medlem sedan okt. 20023 030 inlägg
#8

Var inte det där en onödigt lång kod för något sådant? ;)

För att spara:

Open "C:\alarm.txt" For Output As #1
    Write #1, Text1.Text, Text2.Text, Text3.Text
Close #1

För att läsa in:

Dim txt1 As String, txt2 As String, txt3 As String
Open "C:\alarm.txt" For Input As #1
    Input #1, txt1, txt2, txt3
    Text1.Text = txt1
    Text2.Text = txt2
    Text3.Text = txt3
Close #1
Medlem sedan dec. 200363 inlägg
#9

va ee det för att ladda sen då??

Medlem sedan okt. 20023 030 inlägg
#10

Den andra kodsnutten i mitt inlägg läser in filen. Förklarar koden nedan. :)

Kod för att spara filen:

Open "C:\alarm.txt" For Output As #1              ' Öppnar filen för skrivning
    Write #1, Text1.Text, Text2.Text, Text3.Text  ' Skriver innehållet i Text1, Text2 och Text3 till filen
Close #1                                          ' Stänger filen

Kod för att läsa in filen (ladda):

Dim txt1 As String, txt2 As String, txt3 As String  ' Skapar tre variabler som används för att läsa in filen (ladda filen)
Open "C:\alarm.txt" For Input As #1                 ' Öppnar filen för läsning
    Input #1, txt1, txt2, txt3                      ' Läser in filens innehåll till de tre variablerna
    Text1.Text = txt1                               ' Ger Text1 innehållet som sparades i filen
    Text2.Text = txt2                               ' Ger Text2 innehållet som sparades i filen
    Text3.Text = txt3                               ' Ger Text3 innehållet som sparades i filen
Close #1                                            ' Stänger filen
Medlem sedan dec. 200363 inlägg
#11

oj..hehe ska någ börja läsa lite bättre ;)...tack

274 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
134 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
134 ms — ändringar (db)