VB - Save do txt - na jeden řádek   otázka

VB.NET, WinForms, I/O operace

Dobrý den, dělám aplikaci. A potřebuji aby se label1.text uložil na disk C a aby se z něj zase program vyčetl po zapnutí zpět do label1.text. Ale to se mi podařilo, akorád když je v label1 číslo 10, tak při načtení do label1 je to na 2 řádky

např.

1

4

(já to potřebuju 14 vedle sebe)

ale já to potřebuji aby to bylo vedle sebe, protože save to zapíše vždy podsebe do txt. Prosím, jak mám udělat aby se to zapisovalo vždy na jeden řádek?¨

Díky dopředu za odpovědí (jsem začátečník)

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Prozkoumejte my.settings, tohle umí VB.NET sám od sebe a není to třeba programovat.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

vyzkouším.. dik za TIP

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Ten program má ukazovat jak dlouho běží PC, takže až se restartuje pc tak musí take běžet tento program se stejnýma hodnotami. Když použiju settings hází to chybu: převod řetězce na typ Double není platny...

Nevim co to znamena

Public Class Form1

Const mfilename As String = "C:\casovac\soubor.txt"

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Timer1.Start()

Dim minuta As Integer = 0.0R

Dim hodina As Integer = 0.0R

Dim pocet As Integer = 0.0R

Dim dnu As Integer = 0.0R

Dim tydny As Integer = 0.0R

Dim měsíce As Integer = 0.0R

Dim roky As Integer = 0.0R

loadData.Start()

Label1.Text = pocet 'label1 se bude vzdy rovnat poctem sekund

Label6.Text = hodina 'label6 se bude vzdy rovnat poctem hodin

Label5.Text = minuta 'label5 se bude vzdy rovnat poctem minut

Label12.Text = dnu 'label12 se bude vzdy rovnat poctem dnu

Label11.Text = tydny 'label11 se bude vzdy rovnat poctem tydnu

Label10.Text = tydny 'label10 se bude vzdy rovnat poctem tydnu

Label13.Text = tydny 'label13 se bude vzdy rovnat poctem roky

If Label1.Text = 10.0R Then

minuta += 1

End If

If Label5.Text = 10.0R Then

hodina += 1

End If

save.Start()

End Sub

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

Label1.Text += 1

If Label10.Text = 12.0R Then 'ROKY

TimeRok.Start()

Label10.Text = 0

TimeMes.Stop()

TimeMes.Start()

End If

If Label11.Text = 4.0R Then 'mesice

TimeMes.Start()

Label11.Text = 0

TimeTyd.Stop()

TimeTyd.Start()

End If

If Label12.Text = 7.0R Then 'TYDNY

TimeTyd.Start()

Label12.Text = 0

TimeDnu.Stop()

TimeDnu.Start()

End If

If Label1.Text = 60 Then 'SEKUNDY

Timer1.Stop()

Label1.Text = 0

TimeMin.Start()

Timer1.Start()

save.Start()

End If

If Label5.Text = 60 Then 'MINUTY

TimeMin.Stop()

TimeMin.Start()

TimeHod.Start()

Label5.Text = 0

End If

If Label6.Text = 24 Then 'DNY

TimeDnu.Start()

TimeHod.Stop()

TimeHod.Start()

Label6.Text = 0

End If

End Sub

Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick

Label1.Text += 1

End Sub

Private Sub TimeMin_Tick(sender As Object, e As EventArgs) Handles TimeMin.Tick 'TIMER ZPUSOBI , ŽE SE KE DNU PŘIČTE 1 MINUTA a tIMER SE ZASTAVI

Label5.Text += 1

TimeMin.Stop()

End Sub

Private Sub TimeHod_Tick(sender As Object, e As EventArgs) Handles TimeHod.Tick 'TIMER ZPUSOBI , ŽE SE KE DNU PŘIČTE 1 HODINA A TIMER SE ZASTAVI

Label6.Text += 1

TimeHod.Stop()

End Sub

Private Sub Button1_Click_2(sender As Object, e As EventArgs) Handles Button1.Click 'RESET CASOVACE NA 0 0 0

Label1.Text = 0 'VYNULOVANI SEKUND

Label5.Text = 0 'VYNULOVANI MINUT

Label6.Text = 0 'VYNULOVANI HODIN

Label12.Text = 0 'VYNULOVANI DNŮ

Label11.Text = 0 'VYNULOVANI TYDNU

Label10.Text = 0 'VYNULOVANI mesicu

Label13.Text = 0 'VYNULOVANI roku

End Sub

Private Sub save_Tick(sender As Object, e As EventArgs) 'PRUBEZNE UKLADANI CASOVACE

My.Settings.hod = Label1.Text

End Sub

Private Sub TimeDnu_Tick(sender As Object, e As EventArgs) Handles TimeDnu.Tick 'TIMER ZPUSOBI , ŽE SE KE DNU PŘIČTE 1 DEN A TIMER SE ZASTAVI

Label12.Text += 1

TimeDnu.Stop()

End Sub

Private Sub TimeTyd_Tick(sender As Object, e As EventArgs) Handles TimeTyd.Tick

Label11.Text += 1

TimeTyd.Stop()

End Sub

Private Sub TimeMes_Tick(sender As Object, e As EventArgs) Handles TimeMes.Tick

Label10.Text += 1

TimeMes.Stop()

End Sub

Private Sub TimeRok_Tick(sender As Object, e As EventArgs) Handles TimeRok.Tick

Label13.Text += 1

TimeRok.Stop()

End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

End

End Sub

Private Sub save_Tick_1(sender As Object, e As EventArgs) Handles save.Tick

My.Settings.sekundy = Label1.Text

End Sub

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

End Sub

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click

Dim fileReader As String

fileReader = My.Computer.FileSystem.ReadAllText("C:\casovac\soubor.txt")

Label1.Text = (fileReader)

End Sub

Private Sub loadData_Tick(sender As Object, e As EventArgs) Handles loadData.Tick

Label1.Text = My.Settings.sekundy

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

NO, když jsem to udělal přes settings, tak to fungovalo, ale jak jsem aplikaci restartoval HÁZÍ TO CHYBY

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Děláte to zbytečně složitě. Do My.Settings si vytvořte záznam typu Long, Pojmenujte ji např. Runtime. Při startu programu si uložte datum a čas do proměnné typu Date. Při ukončení programu si opět zjistíte aktuální datum a čas, zjistíte rozdíl oproti času startu, a hodnotu přičtete k My.Settings.Runtime. V My.Settings.Runtime se vám tedy bude uchovávat celkový čas běhu aplikace, od jejího prvního spuštění. Zde záleží na vás jetli My.Settings.Runtime bude v sekundách, minutách, atd.

Pro aktualizaci hodnot ve formuláři vám pak úplně postačí jeden Timer. Zde opět stačí zjisťovat rozdíly datumů. Aktuální datum proti času spuštění pro aktuální čas běhu. A celkový čas běhu = aktuální čas běhu + My.Settings.Runtime.

Návody, jak pracovat s datumy a časem, by jste měl najít zde na webu.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Děkuju za odpověď, nakonec jsem to dořešil upravou toho mého programu. DĚKUJU MOC.

TOTO TEMA KONČÍ

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback