Diskuze: počítadlo správných odpovědí
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 15 zpráv z 15.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
ten formular, ve kterem je promena pro pocet spravnych odpovedi musis poslat jako parametr do tech formularu, ve kterych odpovidas -> ziskas pristum k promene formulare pro spravne odpovedi. A nebo to muzes vyeresit pres delegaty.
Do ostatní oken to můžeš posílat přes konstruktor (jako proměnnou a
pak si í přiřadit v každé třídě do privátní proměnné, on se ti do
proměnné uloží odkaz na tu tvojí jednu promměnou). Nebo si můžeš
udělat třeba třídu, která ti to bude počítat, pak by stačilo instanci na
tuto třídu sdílet se všema oknama. Udělal bys tam něco jako metodu
pricti() a v jednotlivých oknech bys jí už jen volal..
U intu se ti zrovna odkaz nezkopíruje, ale zkopíruje se hodnota. Viz primitivní typy.
Nebo mě spíš napadá, že by sis mohl udělat nějakou třídu se statickou vlastností, která bude znázornovat počet, pak tam bude statická metoda, která bude onu hodnotu zvětšovat.. něco takového
public class Pocitadlo
{
public static int Pocet {get; set;}
public static void pricti()
{
pocet++;
}
}
Pak bys mohl odkudkoliv onu proměnnou zvětšivat
Pocitadlo.pricti();
a stejně tak si onu hodnotu zjistit přes
Pocitadlo.Pocet
Odpadne ti nutnost sdílet instance s ostatníma oknama pokud jich máš hodně..
Proč ne? Pokud těch oken má hodně a nechce vytvářet hodně instancí,
tak se to tak dá řešit nebo ne? Pouč mě.
Vytvářet hodně instancí? Ty si snad má předávat jako závislosti. A
hodně oken jako "výmluvu" fakt neberu
Mám co otázka to jiný formulář, takže to musím vyřešit přes
txt.
jakou podmínku pro cyklus mám použít, když:
mám v textaku na první řádku otázku, na druhé 1. odpoved, na třetím 2.
odpoved a na čtvrtém řádku 3. odpoveď, a páty řádek už zase začíná
novou otázkou a tak pořád. potřebuju aby mě to do jednoho textboxu vypsalo
otazku a do zbylích tří tři možné odpovědi. Navíc aby to vybralo
náhodně a nějak identifikovat jednu z ětch odpověíd jako správnou aby se
dalo nějak odpovídat, no prostě katastrofa.. pročetl jsme si http://www.dotnetportal.cz/…e-se-soubory
ale vůbec nepomohlo
protože já potřebuji uplně něco jiného
Můžeš hodit screeny těch formů - jen z důvodu abych chápal, proč máš pro každou otázku jiný form.
..a jinak co se týče onoho ukládání do .txt, tak to máš možná už lepší si uložit na jeden řádek otázku a všechny odpovědi za to, kdy mezi jednotlivé položky vložíš nějaký oddělovací znak (dá se to pak "rozřezat" podle onoho znaku), např by to v souboru vypadalo takto..
otázka1|odpověd1|odpověd2|odpověd3
otázka2|odpověd1|odpověd2|odpověd3
přičemž třeba první odpověd bude správná, pak při vygenerování otázek si je rozhodíš náhodně..
Mám každou otázku v jiném formu, protože nevím jak vytvořit podmínku
streamreaderu, tak aby mi z textáku vypsal náhodně vybranou otázku s
odpovědmi , každá do jiného pole + to ještě musí mít identifikátor,
který určí co je správná odpoveď.. a jeste je nejspíš prohazovat aby
nebyla správná odpoved vždy ve stejném poli.
Jak budu doma nahodím screen.
EDIT:
Dim soubor As New IO.StreamReader("databaseotazekaodpovedi.txt")
While Not soubor.EndOfStream
Dim otazka As string = soubor.ReadLine() //takhle mi to ale čte po řádcích, není to lepší?
Dim odpoved1 As string = soubor.ReadLine()
Dim odpoved2 As String = soubor.ReadLine()
Dim odpoved3 as string = soubot.readline()
Dim otazka As New textbox1()
dim odpoved1 as new textboy2()
dim odpoved2 as new textbox3()
dim odpoved3 as new textbox4()
If odpoved1,2,3 = "nějaký identifikátor, nevím jak to napsat" Then polozka = jako správná odpoved
End While
Máš si uložit odpovědi do paměti a z nich náhodně vybírat. Ty, na které už ses ptal, tak můžeš smazat, protože tě už dále nezajímají.
Zobrazeno 15 zpráv z 15.