Zapis danych programu

0

Witam,
Szukam konkretnego rozwiązania jak zapisywać stan programu w C#.NET.

Chodzi o to, że chciałbym np. zapisywać informację jaką aktualnie trzyma label1.Text ;

label1.Text trzyma wartość DataTime.Now() - DataTime.Now() z chwili włączenia programu.
chciałbym do TXT zapisywać dane tak:

DATA WARTOŚĆ

np.

10.20.2013 0504
11.20.2013 0605

i teraz jak 11.20.2013 (dzisiejsza data) otwieram program to labe1.Text; przyjmuje automatycznie wartość 0504 po wyłączeniu programu do tej wartości doda się wartość 0605

zakładamy, że te godzinki to czas jaki został obliczony przez x = DataTime.Now - teraz;
gdzie teraz to stan przy włączeniu programu sprawdzony jako Data.Time.Now w form LOAD.

0

Masz na myśli logowanie? Hasło do wpisania: "c# logger".

0

Nie, nie o to mi chodzi ...

Załóżmy że w label1.Text pojawia się jakaś cyferka np. 1.
Chcę zapisywać stan label1.Text aby po ponownym otworzeniu programu znów mieć w label1.Text napisane 1.

  1. Odpalam program stanLabel.Text = "1"
  2. Przy wyłączaniu programu stanLabel.Text = "10"
  3. Ponowne włączenie programu stanLabel.Text "11"

a w pliku TXT
Data value
dziś 1
dziś 10
jutro 11

itd.

0

Może JSON?
{"timetrack": [{"data1": 1},{"data2": 3},{"data3": 5}]}

C# na pewno ma jakąś bibliotekę do obsługi tego formatu przechowywania danych.
Ewentualnie możesz mieć obiekt z mapą (data,czas) i ją serializować do pliku.

0

Ma ktoś jakiś konkretny pomysł jak to zrealizować ?

0

Zapisywać do pliku ini, bibliotek jest sporo pod to do c#

0

Czy to ma wyglądać jakbyś chciał mierzyć łączny czas uruchomienia programu na tym konkretnym stanowisku?

0

A po co jakieś ini czy jsony? Jak to ma być jedna wartość to zwykły txt wystarczy.

1

Jeżeli to nie jakiś super hiper wypasiony program PRO z podziałami na warstwy itp. to chyba najprościej trzymać tą daną w zwykłym pliku textowym.

Całość może działać w oparciu o obsługę zdarzeń FormClosing i Load głównego okna programu.
Obsługa Load może wyglądać tak że, szuka pliku w którym trzymasz ŁącznyCzasPoprzednichUruchomienProgramu, pobierasz z niego wartość i trzymasz w programie. Ponadto ustawiasz do swojego pola BierzącyCzasStartuProgramu czyli DateTime.Now().

Obsługa FormClosing może wyglądać tak, że najpierw pobierasz BierzącyCzasUruchomieniaProgramu -> obliczasz CzasPracyProgramu = BierzącyCzasZamknieciaProgramu - BierzącyCzasStartuProgramu dodajesz do tego ŁącznyCzasPoprzednichUruchomienProgramu wcześniej odczytany w Load albo nawet tutaj w FormClosing i nadpisujesz w pliku wartość na tą zaktualizawaną o te ostatnie uruchomienie.

Mozesz dodac zabezpieczenia w stylu, jeżeli program nie znajdzie pliku z dotychczasowym licznikiem to niech wyswietli komunikat ze to uruchomienie nie bedzie brane pod uwage do calosciowego zliczania itp.

1 użytkowników online, w tym zalogowanych: 0, gości: 1