pare prostych pytan C# visual studio

pare prostych pytan C# visual studio
0

Robię quiz na informatykę w C# w visualu
Mam parę problemów, z którymi nie mogę sobie poradzić...

  1. StreamWriter Plik = new StreamWriter(TextBox1.Text); // co wpisać w Streamwriterze aby plik był tworzony w formacie .txt przy pomocy textboxa obok oraz był tworzony w miejscu gdzie przyszła aplikacja .exe będzie się znajdować? (chodzi o to, że jak przekażę quiz nauczycielowi w szkole, będzie mógł sobie zmieniać pytania i odp.
  2. listBox1.Items.Add(textBox1.Text); // chciałbym aby listbox pokazywal pliki .txt znajdujące się w miejscu gdzie aplikacja .exe będzie się znajdywać. Czy ta funkcja będzie "na stałe" pokazywać to co się znajduje czy tylko częściowo to co przed chwilą dodałem przy pomocy textboxa?
  3. wybieram z listboxa plik(nazwa epoki literackiej), klikam dalej(to już zaprogramowane) pokazuje się kolejne okienko gdzie nauczyciel będzie mógł dodawać dowolną ilość pytań i 4 odpowiedzi oraz zaznaczał która odpowiedz jest poprawna.(Tu mam największy problem) Próbowałem wczytywać za pomoca streamwriter, ale nie mam pojęcia jak później, przy skorzystaniu z funkcji streamreader program będzie wiedział która odpowiedź jest poprawna(próbowałem checkboxów - ale jakoś nie wyszło) oraz kiedy ma zliczyć punkty tzn raz pytań będzie powiedzmy 11 to po 11 ma zliczać punkty a raz powiedzmy 5 pytań to po 5 zliczanie punktów. Wszystko potrafiłbym zaprogramować gdyby "pytania i odpowiedzi były stałe " a tak za każdym razem inny checkbox może być, i inna ilość pytań oraz nieskończona ilość application forms(każde kolejne pytanie)
  4. mam menu. Klikam start>wybierz test>wybieram z listy test, klikam wybierz. Okno się zamyka(app.close) mam głowne okno quizu i przycisk "rozpocznij quiz" <- jak zrobić że właśnie quiz włączy się ze wcześniejszego wyboru testu?

Dodaje Screenshoty koncepcji...
Bardzo proszę o pomoc. Dopiero co zaczynam przygodę z C# i visual studio

d4b673e4b0.png
da55c80937.png
d8595f78ec.png
5f9e1be90c.png

0

Zapomniałem dodać w tym momencie tworzy się plik średniowiecze bez rozszerzenia .txt dlatego również jest wyświetlany w listboxie jako średniowiecze, a nie średniowiecze.txt

HI
  • Rejestracja:prawie 13 lat
  • Ostatnio:około 3 godziny
  • Postów:1856
1
Zimny Szczur napisał(a):
  1. StreamWriter Plik = new StreamWriter(TextBox1.Text); // co wpisać w Streamwriterze aby plik był tworzony w formacie .txt przy pomocy textboxa obok oraz był tworzony w miejscu gdzie przyszła aplikacja .exe będzie się znajdować? (chodzi o to, że jak przekażę quiz nauczycielowi w szkole, będzie mógł sobie zmieniać pytania i odp.

Tu masz jak zapisać plik do txt: http://www.dotnetperls.com/streamwriter
Tu masz jak pobrać ścieżkę do wykonywanego pliku: http://www.csharp-examples.net/get-application-directory/
Używając Path.Combine() stworzysz ścieżkę do pliku txt w folderze z programem (zadbaj o to żeby aplikacja miała prawo zapisu w nim)

Zimny Szczur napisał(a):
  1. listBox1.Items.Add(textBox1.Text); // chciałbym aby listbox pokazywal pliki .txt znajdujące się w miejscu gdzie aplikacja .exe będzie się znajdywać. Czy ta funkcja będzie "na stałe" pokazywać to co się znajduje czy tylko częściowo to co przed chwilą dodałem przy pomocy textboxa?

Przy otwieraniu okna wczytaj listę plików *.txt z folderu z aplikacją.
Drugi link pod poprzednim cytatem + http://www.csharp-examples.net/get-files-from-directory/

edytowany 1x, ostatnio: hipekk
Aventus
  • Rejestracja:około 9 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:UK
  • Postów:2235
1

Dopiero co zaczynam przygodę z C# i visual studio

Nie wiem jak z Twoją znajomością OOP- jeśli już znasz podstawy to może warto pomyśleć nad implementacją obiektowości do twojego programu? Stwórz klasę dla pytania i serializuj do pliku XML. Moim zdaniem to by było znacznie prostsze niż manualne ładowanie pytań z pliku tekstowego. Na dodatek będziesz miał gotowe obiekty. No i poszerzysz swoją wiedzę.

Serializacja / Deserializacja XML


Na każdy złożony problem istnieje rozwiązanie które jest proste, szybkie i błędne.
0
Aventus napisał(a):

Dopiero co zaczynam przygodę z C# i visual studio

Nie wiem jak z Twoją znajomością OOP- jeśli już znasz podstawy to może warto pomyśleć nad implementacją obiektowości do twojego programu? Stwórz klasę dla pytania i serializuj do pliku XML. Moim zdaniem to by było znacznie prostsze niż manualne ładowanie pytań z pliku tekstowego. Na dodatek będziesz miał gotowe obiekty. No i poszerzysz swoją wiedzę.

Serializacja / Deserializacja XML

No chętnie bym to przeanalizowałbym, aczkolwiek deadline mam do poniedziałku i jeszcze matura w tym roku... Cały ten system nauczania to jedno wielkie wielkie g*wno(mowie o szkole) babka nam dala tydzień czasu, na C#, gdzie jeszcze wcześniej nie mielismy zadnej styczności z nim a oprócz tego mamy inne obowiązki...(czyt. matura, życie) Ehh. Na chwilę obecną chyba w takim razie pozostanę przy *.txt a w wakacje zacznę się w końcu rozwijać w kierunku tym którym chcę. C#/obj C/C++/java jeszcze dokładnie nie wiem co:)

Dziękuję za wcześniejsze odpowiedzi a ja siadam do projektu. ;)

AreQrm
Powodzenia! :)
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)