Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

C# Przechowywanie sporej ilości danych

#1
C# Przechowywanie sporej ilości danych
Witam.

Na programowaniu znam się tylko hobbystycznie, ale potrzebuję sobie stworzyć pewną aplikację. Chodzi o dość ubogi edytor pliku intel hex. Planuję ją wykonać za pomocą środowiska Visual Studio i w języku C# bo w sumie tylko ten język ma w Visualu możliwość tworzenia interfejsu graficznego przy pomocy gotowych kontrolek. Co prawda język C# to język obiektowy, ale planuję napisać tę aplikację tak jakbym pisał przy pomocy C++, bo raz że to możliwe a dwa jakoś nie potrafię zrozumieć sensu tego programowania obiektowego.
Ale do rzeczy - zakładam ten wątek ponieważ chcę prosić o radę. Aplikacja ma umożliwiać wygenerowanie pliku intel hex z pustymi danymi (taki mi są akurat potrzebne). I teraz się zastanawiam jak te dane przechowywać? Czy w jakiejś tablicy czy może jest coś bardziej odpowiedniego do tego celu? Planuję też zrobić możliwość podglądu tych danych w oknie aplikacji, ale póki co zastanawiam się nad sposobem ich przechowywania Wesoły Mogę prosić o rady?
 System operacyjny: windows_ten Przeglądarka: firefox
#2
RE: C# Przechowywanie sporej ilości danych
1. C++ też jest obiektowy Wesoły I to bardzo. To czysty ANSI C jest proceduralny. Ale programowanie proceduralne w porównaniu z obiektowym jest moim zdaniem mocno ograniczone i o wiele trudniejsze.
2. Nie tylko w Visual C# możesz tworzyć interfejsy z gotowych kontrolek. Również w Visual Basicu i Visual C++ Wesoły
3. Nie napisałeś, ile ma być tych danych. Jeśli w miarę nie dużo, możesz je trzymać w tablicy. Jeśli ma to być kilka megabajtów, możesz stworzyć plik tekstowy lub binarny i zapisać na dysku. Jeśli nie wiesz, ile ma ich być, możesz użyć mechanizmu kolekcji. Tu masz ładnie opisane tablice i kolekcje:

https://4programmers.net/C_sharp/Wprowad...ia%C5%82_7

A przyszło mi do głowy jeszcze jedno. W sumie nigdy nie próbowałem, ale może da się stworzyć kolekcję tablic Wesoły Każda tablica by miała taką samą ilość pól - dokładnie tyle ile jest pół w jednej linii pliku Intel HEX.

P.S. Nie wyobrażam sobie programowania nieobiektowego w C# Wesoły Tam WSZYSTKO jest obiektem. Dzięki czemu jest łatwiej. ładniej i przyjemniej.
Pozdrawiam.
Ajgor
 System operacyjny: windows_ten Przeglądarka: chrome
#3
RE: C# Przechowywanie sporej ilości danych
Witam ponownie.

Dziękuję bardzo za pomoc. Zapoznałem się, trochę poczytałem i już co nieco wiem. Mam teraz takie pytanie. Załóżmy, że mam jakieś tam dane przechowywane w listach. Czy da się to jakoś wyświetlić w formie tabeli (kolumny wiersze)?

Czytałem coś o RichTextBox ale nie wiem jak się za to zabrać...
 System operacyjny: windows_ten Przeglądarka: firefox
#4
RE: C# Przechowywanie sporej ilości danych
Da się, ale nie w RichTextBox. RichTextBox to jest tylko pole tekstowe. Tabelki w nim raczej nie stworzysz. Ale możesz użyć komponentu DataGridView. To jest gotowa tabela, w której możesz wstawiać tekst, grafikę, linki, checkboksy, przyciski.
A jeszcze lepiej by Ci było zrobić to w WPF (Windows Presentation Foundation) z komponentem DataGrid. Większe możliwości, ale trzeba więcej się pouczyć Wesoły I bardziej podłubać.
Pozdrawiam.
Ajgor
 System operacyjny: windows_ten Przeglądarka: chrome
#5
RE: C# Przechowywanie sporej ilości danych
Właśnie robię to w WPF i tam mam tylko DataGrid. Ale nie wiem jak to wyświetlić. Znalazłem w necie poradniki do DataGridView i tam się pisało:

DataGridView1.DataSource = jakas_tam_tabela

W DataGrid nie ma czegoś takiego jak DataSource. I jeszcze kolejne pytanie, czy chcąc wyświetlić dane trzeba przejść z listy na tabelę (DataTable)?
 System operacyjny: windows_ten Przeglądarka: firefox
#6
RE: C# Przechowywanie sporej ilości danych
https://wpftutorial.net/DataGrid.html

Może to Ci coś pomoże. Sam nie bawiłem się tym komponentem, więc Ci tu nie pomogę. Ale na Youtube widziałem sporo tutoriali na ten temat
Pozdrawiam.
Ajgor
 System operacyjny: windows_ten Przeglądarka: chrome
#7
RE: C# Przechowywanie sporej ilości danych
Dzięki za pomoc Wesoły

A jeszcze jedno... bo zaczynam mieć dość tego WPF... Potrzebuję stworzyć po trzy niezależne radio buttony - czyli trzy do wyboru czegoś i trzy do wyboru czegoś innego. Z tego co wiem to trzeba dodać dwa GroupBoxy aby to był dwie grupy po trzy a nie jedna grupa sześciu radiobuttonów. Problem w tym, że gdy chcę dodać nawet dwa to po wstawieniu drugiego pierwszy znika... 0_o
 System operacyjny: windows_ten Przeglądarka: firefox
#8
RE: C# Przechowywanie sporej ilości danych
Spokojnie. To nie WPF jest kiepski, tylko TY go jeszcze nie znasz Wesoły WPF ma większe możliwości niż Windows Forms. Ale ZAWSZE jest tak, że większe możliwości oznaczają więcej opcji czyli więcej dłubania i więcej potrzebnej wiedzy.
Groupbox może przechowywać tylko jeden element. Jak więc to ugryźć? W najprostszy możliwy sposób. Wstawić do niego jakiś panel, który poukłada kontrolki. Na przykład Grid. I dopiero do tego Grida wstawiasz Radiobuttony.
Czyli (Masz tu całą zawartość pliku XAML - łącznie z nagłówkiem):

Kod PHP:
<Window x:Class="WpfApp2.MainWindow"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp2"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="408.017">
    <Grid HorizontalAlignment="Left" Width="486">
        <GroupBox Header="GroupBox" HorizontalAlignment="Left" Height="299" Margin="10,10,0,0" VerticalAlignment="Top" Width="177">

            <Grid HorizontalAlignment="Left" Height="265" Margin="10,10,-2,0" VerticalAlignment="Top" Width="186">
                <RadioButton Content="RadioButton" HorizontalAlignment="Left" Margin="23,26,0,0" VerticalAlignment="Top"/>
                <RadioButton Content="RadioButton" HorizontalAlignment="Left" Margin="23,70,0,0" VerticalAlignment="Top"/>
                <RadioButton Content="RadioButton" HorizontalAlignment="Left" Margin="23,114,0,0" VerticalAlignment="Top"/>
            </Grid>
        </GroupBox>
        <GroupBox Header="GroupBox" HorizontalAlignment="Left" Height="298" Margin="204,11,0,0" VerticalAlignment="Top" Width="187">
            <Grid HorizontalAlignment="Left" Height="278" VerticalAlignment="Top" Width="177" Margin="0,0,-2,-2">
                <RadioButton Content="RadioButton" HorizontalAlignment="Left" Margin="26,39,0,0" VerticalAlignment="Top"/>
                <RadioButton Content="RadioButton" HorizontalAlignment="Left" Margin="26,83,0,0" VerticalAlignment="Top"/>
                <RadioButton Content="RadioButton" HorizontalAlignment="Left" Margin="26,122,0,0" VerticalAlignment="Top"/>
            </Grid>
        </GroupBox>
    </Grid>
</
Window
Zamiast Grid możesz użyć StackPanel, ale on daje mniejsze możliwości poukładania radiobuttonów.
Pozdrawiam.
Ajgor
 System operacyjny: windows_ten Przeglądarka: chrome
#9
RE: C# Przechowywanie sporej ilości danych
Dziękuję bardzo serdecznie koledze za pomoc Wesoły Faktycznie ten WPF ma dużo więcej możliwości i związanych z tym dodatkowych opcji w porwaniu do Windows Form. Trzeba będzie troszkę to wszystko ogarnąćOczko

P.S. W zasadzie to wystarczy zamiast GroupBox-ów z Grid-em w środku użyć samych Grid-ów i też działa Wesoły
 System operacyjny: windows_ten Przeglądarka: firefox
#10
RE: C# Przechowywanie sporej ilości danych
Największą wadą WPF jest to, że utrzymuje go Microsoft. Co jakiś czas projekt jest niemal uśmiercany, by narodzić się na nowo. Na początku WPF był niemal rewolucją. Niemal - bo bardzo szybko Microsoft wstrzymał jego rozwój, kosztem Silverlight (to samo tylko działa na stronach internetowych). Gdy HTML5 okazał się sukcesem, Microsoft zarzucił rozwój Silverlight i z powrotem spojrzał łaskawiej na WPF. Pamiętam, że jeszcze kilka lat temu, WPF nie posiadał podstawowych kontrolek do obsługi formularzy biznesowych (np. kalendarz) i o ile nadawał się do ciekawych aplikacji, to biznesowo był nieużywalny. Jeżeli uczysz się dla przyjemności, to warto go poznać, ale z punktu widzenia praktycznego, Formsy jeszcze długo będą górą.
 System operacyjny: windows_seven Przeglądarka: firefox
Programy: Polecane / Nowe / Inne




Podobne wątki (C# Przechowywanie sporej ilości danych)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  wczytanie danych z pliku, filtrowanie danych, zapis wyniku do pliku tekstowego - C++ Martus 1 7355 21.10.2015, 22:43
Ostatni post: Szachista
  [Bash] Sprawdzanie ilości wywoływanych parametrów dpolak154 0 4437 26.05.2014, 20:23
Ostatni post: dpolak154
  [C] Funkcja jako parametr funkcji o różnej ilości argumentów Faayzol 0 2382 25.02.2013, 20:16
Ostatni post: Faayzol

Skocz do:


Wybrane wątki (C# Przechowywanie sporej ilości danych)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
Scared Ipad Pro programowanie? NissmoOne 4 5489 06.10.2018 12:22
Ostatni post: NissmoOne
  C# pierwsza pusta komórka Excel DonCorleone 0 5270 21.09.2018 16:58
Ostatni post: DonCorleone
  .bat nie kompresuje plików GIENTY 3 5659 06.09.2018 07:20
Ostatni post: broda99
  problem z programem .bat wiktrom12 4 6664 30.08.2018 08:25
Ostatni post: wiktrom12
  Silnik do gier ZigglerGames 1 5636 23.08.2018 09:03
Ostatni post: Szachista
  Chciałbym zrobić prosty plik exe z jedną funkcją densour 4 6307 09.08.2018 16:24
Ostatni post: Ajgor
  Który język wybrać do stworzenia aplikacji synchronizujące pliki z urządzeniem mobiln Elemental 2 2196 18.07.2018 12:05
Ostatni post: Ajgor
  Pomysł napisania programu ROM FireBytes 3 7001 28.06.2018 16:56
Ostatni post: FireBytes
  [VBA] Tworzenie nowego arkusza z danymi z TextBox'a Pioro 4 7085 19.06.2018 23:24
Ostatni post: broda99
  Potwierdzenie na maila po wysłaniu pliku coci 0 6412 13.06.2018 20:37
Ostatni post: coci
  Pieczętowanie Archiwum Jar - Po co? wanhelsing 3 7040 19.05.2018 20:55
Ostatni post: koneton
  Wyszukiwarka w spawnerze nie reaguje na polskie znaki kazik666 0 6794 16.05.2018 12:04
Ostatni post: kazik666
  BASH symulator silnika dawswi1 3 7232 13.05.2018 10:43
Ostatni post: Szachista
  Autohotkey automatyczny zapis TheProgson 0 6854 07.05.2018 21:27
Ostatni post: TheProgson
  VBA Pobieranie wybranych plików z danymi julietta03 1 7031 04.05.2018 08:25
Ostatni post: broda99