Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[C#] - Tworzenie tablicy i zapis danych do pliku

bubu2606 15 Aug 2013 14:57 4638 17
  • #1
    bubu2606
    Level 15  
    Witam,
    próbuję stworzyć tablicę, w którą będę wpisywał dane dotyczące ilości kliknięć danego przycisku (oraz czasu jego kliknięcia).
    Czy ktoś może mi podpowiedzieć w jaki sposób można to zrealizować?
    Tablica ma wyglądać następująco:
    A, 4
    B,12
    C,13
    Gdzie A,B,C to są przyciski, natomiast druga kolumna to są powtórzenia wciśnięć danych przycisków.
  • Helpful post
    #2
    Defice
    Level 25  
    Sprawa prosta. Pod event click dla buttona podpinasz inkrementacje jakiejś zmiennej a=a+1 analogicznie dla b i c. Następnie trzeba to wysłać do pliku:

    Code: csharp
    Log in, to see the code
  • #3
    bubu2606
    Level 15  
    Dzieki:) poszło. Mam teraz pytanie co do kasowania zawartości pliku. Kasowanie to ma być uzależnione od daty. Czyli np w piątek o 18 będzie kasowany ten plik.


    A i jeszcze mam pytanie czy da się na bieżąco uzupełniać dane bo zaproponowałeś zapisanie danych po wciśnięciu przycisku (zbiorczy zapis) a ja bym potrzebował zapisywanie po każdym kliknięciu danego przycisku.


    Code: csharp
    Log in, to see the code
  • #4
    Defice
    Level 25  
    Można oczywiście zapisywać co kliknięcie, natomiast trzeba wcześniej wykasować zawartość pliku, chyba że chcesz mieć spam w pliku.

    Druga sprawa, pamiętaj o file.Close(); kiedy kończysz zapisywać dane. Co do kasowania zawartości pliku, to oczywiście można to zrobić w programie, ale czy będzie on pracował 24h/d? Lepiej coś takiego robić przy pomocy Harmonogramu Zadań i uruchomienia małego pliku BAT kasującego pliku.
  • #5
    bubu2606
    Level 15  
    Będzie pracował tak koło 12h/d, dlatego chciałem zapisywać automatycznie do pliku po kliknięciu danego przycisku. A jak zapisywać co kliknięcie i nie kasować pozostałych linii?
  • #7
    bubu2606
    Level 15  
    Poszło ale funkcja
    Code: csharp
    Log in, to see the code


    nie nadpisuje tylko tworzy kolejne wiersze



    Teraz walczę z taką funkcją:
    Code: csharp
    Log in, to see the code

    Jeżeli chodzi o pierwszy wiersz to działa. Gorzej jeżeli chcę nadpisywać 2 wiersz. Mam wtedy
    AB,3
    a nie
    A,1
    B,3
    Co zrobić żeby przeszło mi do drugiej linii??
  • #8
    bubu2606
    Level 15  
    Cały czas z tym walczę i nie mogę ruszyć dalej.. Zastanawiam się czy nie zrobić tablicy i za każdym razem zapisywać ją do pliku..
  • #10
    bubu2606
    Level 15  
    Dzięki wielkie sajmosia:) Mam jeszcze pytanie co do zapisu do pliku związanego z konkretną datą. Chodzi mi o to czy jest taka funkcja, która np codziennie o godz 16 zapisuje dany plik w takie formie: data_godzina.txt?
  • #11
    sajmosia
    Level 16  
    Dodaj taka funkcje:

    Code: csharp
    Log in, to see the code


    ... I odpal kiedy trzeba.
  • #12
    bubu2606
    Level 15  
    Dzięki wielkie kolejny raz:)
    mam przy okazji kolejne pytanie. W jaki sposób łączyć pliki txt? Chodzi mi o sumowanie danych z tych plików. Dane są zapisane w tych samych miejscach i wygląda to tak:
    pierwszy plik:
    A,3
    B,45
    C,7
    drugi plik:
    A,1
    B,4
    C,17

    plik wynikowy:
    A,4
    B,49
    C,24
  • #13
    sajmosia
    Level 16  
    Code: csharp
    Log in, to see the code
  • #14
    bubu2606
    Level 15  
    Czyli jeżeli chcę utworzyć dany plik to w aplikacji umieszczam timer i od niego uzależniam zapis danych do pliku?
    A jak zrobić zapis danych do pliku przy wychodzeniu z aplikacji?
    Ogólnie to zapis danych ma wyglądać następująco:
    otwarcie aplikacji i czekanie na dane;
    zapis na bieżąco danych do pliku;
    sumowanie danych zebranych z kilku dni do jednego pliku (i tu mam pytanie jak zsumować pliki, które w nazwie będą miały datę(różne nazwy uzależnione od daty));
    zapis danych do pliku w momencie zamykania aplikacji;
  • #15
    bubu2606
    Level 15  
    Witam,
    mam pytanie co do sumowania danych z plików. Chodzi mi o sumowanie niezależnej liczby plików.
    pliki zapisuję w ten sposób:
    Code: csharp
    Log in, to see the code


    plik jest zapisywany zatem w ten sposób: 2013-08-18-04-40.txt
    Chodzi mi o zsumowanie danych z kilki plików np : od 2013-08-10-04-40.txt do 2013-08-18-04-40.txt

    Dane zapisywanie są w ten sam sposób np:
    A,3
    B,4
    C,6
    w każdym pliku.
  • #16
    bubu2606
    Level 15  
    Witam,
    Mam pytanie co do działania aplikacji Sajmosia. U mnie po wyłączeniu aplikacji i ponownym jej włączeniu następuje nadpisanie poprzednich wyników kliknięć przycisków.. Dodam że zrobiłem nowy projekt i wkleiłem dane. Z czym to jest związane?

    Poniżej zamieszczam swój kod
    Code: csharp
    Log in, to see the code
  • #17
    marcinj12
    Level 40  
    Nie wywołujesz nigdzie metody LoadData()
  • #18
    bubu2606
    Level 15  
    Witam.
    Chciałbym zastosować do zapisu danych arkusz kalkulacyjny. Chciałbym to zrobić z wykorzystaniem arkusza kalkulacyjnego open office jednak nie mogę znaleźć w Internecie materiałów w jaki sposób to zrobić (pod Microsoft Office jest bez problemu). Prosiłbym o pomoc w tej sprawie.
    Czy może lepiej skorzystać z excellibrary?
    Link