Já bych se na to klidně podíval. Samozřejmě záleží na tom, o co přesně jde, ale pokud to bude v mých silách, tak rád pomůžu.
Kontakt:
LukoSS.B (zavináč) seznam.cz
Příspěvky odeslané z IP adresy 88.103.252.–
Problém je podle mě v této části kódu:
if (sachovnice[i][j]=='v'){ //jestlize na pozici i,j je znak 'v' predstavujici vez
if ((i==r) or (j==s)){ //jestlize je radek a sloupec na kterem je vez totozny se zadavanym
return true;
}
}
else{
return false;
}
}
Když při prvním průchodu cyklu není na políčku znak 'v', funkce vrátí false a další kontrola se neprovede.
Ale je třeba myslet na to, že při instalaci XPček nebude možné nabootovat sedmičky, protože XPčka jsou starší systém a nerozpoznají, že jsou na druhém oddílu nainstalované sedmičky.
Myslím, že pro takové přenášení informací mezi formulářema je nejlepší použít Eventy. Stačí před zavřením toho Form2 zavolat událost, která vezme obsah těch proměnných a předá je prvnímu formuláři.
Neuvědomil jsem si, že to funguje jenom se soubory, doufal jsem že to půjde i u složek. Sice pro složky existuje metoda Directory.GetLastAccessTime(cesta), která hlídá čas posledního přístupu, ale když jsem tento příkaz zkoušel, tak jsem zjistil, že při otevření složky se tento čas bohužel nemění, takže mě nenapadá jak ten problém vyřešit. Pokud však chceš zajistit, aby se adresář nemohl otevřít když běží nějaký program, tak pokud vím tak tomuhle se jen tak zabránit nedá, snad jen změnou práv k adresáři, ale to by pak asi do adresáře nemohl přistupovat ani program. A po pravdě mě ani nenapadá důvod, proč by měla aplikace bránit v přístupu do adresářů.
Tato událost lze zachytit pomocí komponenty FileSystemWatcher, který sleduje dění v souborovém systému. Stačí mu nastavit aby kontroloval zvolený adresář a vlastnost NotifyFilter nastavit na NotifyFilters.LastAccess. Na netu se určitě válí dost tutoriálů které se tímto zabývají.
Pokud si dobře pamatuju, tak ve winforms se string píše s velkým S nebo případně takto: String^ promenna;
Hups, špatně jsem označil kód :smile5: tak znovu
if(listBox1.SelectedIndex != -1)
{
listBox2.Items.Add(listBox1.SelectedItem);
listBox1.Items.Remove(listBox1.SelectedItem);
}
No dobře, že jsi to ty, tak tahle by to mělo vypadat:
if(listBox1.SelectedIndex != -1)
{
listBox2.Items.Add(listBox1.SelectedItem);
listBox1.Items.Remove(listBox1.SelectedItem);
}
U druhého tlačítka jenom prohodíš názvy těch listBoxů..
Sorry za OT, ale na jaké škole to vlastně jsi, že se tam učíte C#? Na střední, na které jsem, nedávno přešli z pascalu na visual basic 6 z roku 97, takže C# tam dorazí tak za 20 let :smile5:
Jinak ještě bys tam měl ošetřit, že při kliknutí na to tlačítko je nějaký záznam v listBoxu vybrán, pokud nebude, tak ti to vyhodí error (když není nic označené, vrací metoda SelectedIndex hodnotu -1).
Nechci tě odrazovat od programování, ale pokud máš problém s takovým příkladem, tak bude asi lepší se poohlédnout po něčem jiném :smile1:
Ale abych jen nerýpal, tahle nějak by měla vypadat událost kliku na jedno z těch tlačítek:
listBox2.Items.Add(listBox1.SelectedItem);
listBox1.Items.Remove(listBox1.SelectedItem);