Ani statický event handling (čiže pomocou Handles ... ) to nevyriešil, nevadí... Išlo v podstate o udalosť, ktorá sa spúšťala počas prehrávania pesničky -> namiesto udalosti som použil Timer, zatiaľ to funguje spoľahlivo.
Ďakujem za všetky rady.
Příspěvky odeslané z IP adresy 85.248.56.–
To djanosik : Díky za link, prečítal som to celé, ale tam bolo opäť len toto:
AddHandler udalosť, AddressOf procedúra
V C# neprogramujem, ale predpokladám, že tam sa to zapíše takto:
udalosť += new EventHandler( procedúra);
A problém je v tom, že vo VB je AddHandler keyword, ale v C# môže byť nie len new eventHandler, ale napr. aj new BASSProgessHandler. A ja nerozumiem aký je v tom rozdiel. Je v tom vôbec rozdiel? Ak áno, tak potom by sa to malo nejako dať zapísať aj vo VB.
Tento C# kód
stream.End += new EventHandler( SongEnd);
sa vo VB .NET napíše takto:
AddHandler stream.End, AddressOf SongEnd
Ale ako napíše tento kód vo VB .NET ???
stream.Progress += new BASSProgessHandler( Progress);
Ak by som to napísal tak ako v 1. prípade, tak mi to vyhodí "Cross-thread operation not valid: Control 'lblMinutes' accessed from a thread other than the thread it was created on." - Jednoducho potrebujem vytvoriť new BASSProgessHandler a nie new EventHandler.
Poradí mi niekto?
Mám pocit, že MO je o tom, aby sa na riešenie prišiel ty a nie aby si ho našiel skúšaním - čo v podstate pri algoritme prechádzajúcom napr. 10000 čísel robíš - teda vlastne nie ty, ale PC, ale to je IMHO jedno. A pokiaľ viem, tak kalkulačky nie sú povolené, aspoň posledné roky neboli (na krajskom kole; na domácom to aj tak nikto nezistí...)
Ale odporúčam http://www.ksp.sk/oi/.
Podľa mňa to nie je až taký zlý nápad, určite lepšie ako tá internetová zbierka receptov na varenie... :-D
Zrejme by to najlepšie fungovalo vrámci mesta - 2 ľudia si vymenia knižky zadarmo, nemusia platiť rôzne poplatky ako v knižnici (napr.). Ale je tu 1 problém - tá stránka by musela mať skutočne vysokú návštevnosť, aby sa tam našiel dostatočný počet ľudí z 1 mesta, aby tie výmeny mohli fungovať. Lebo ak by som mal posielať knižky poštou a platiť poštovné, tak to už radšej pôjdem do knižnice. :)
To meneltharion : Čiastočne máš pravdu - pri hibernácii môžeš kľudne vytiahnuť PC zo zásuvky a svoj stav si aj tak zachová, ale keď ho necháš v zásuvke, môže sa sám zapnúť. Napr. mne sa vo Viste stalo, že som dal hibernovať PC, PC sa vyplo a o minútu opäť zaplo.
To Bald3rr : Skús v BIOSe vypnúť rôzne PowerOn[dačo] (PowerOnLAN, myslím, že aj power on keyboard...) a režim spánku nastav na S1, nie S3 (STR), mne to pomohlo - odvtedy sa mi PC neprebúdza ani z hibernácie ani zo spánku.
Shell ? Ale to len tipujem...
To zonda : Možno by bolo lepšie a efektívnejšie využiť programy určené na tvorbu inštalátorov, napr. veľmi dobrý je InnoSetup, ale aj CreateInstal... Môžeš si tam nastaviť texty, licenčné podmienky, súbory ktoré sa budú inštalovať, zástupcov na plochu, do ponuky Štart, zápis do registrov a automaticky sa vytvorí aj odinštalátor. Nič v zlom, ale keď máš problém spustiť 1 súbor z disku, ako chceš vytvoriť plnohodnotný inštalátor?
Btw, jednoduchý inštalátor sa dá urobiť aj ako SFX archív, napr. WinRar má veľmi bohaté možnosti pri samorozbaľovacích archívoch, dokonca vytvorí aj zástupcov a výhodou je, že nič nezapisuje do registrov, v podstate sa tak dá vytvoriť aj "portable" inštalácia.
To zonda : Veď si písal, že ho máš v bin/Debug, tak je tam alebo nie? Nevieš kde čo máš? Skús použiť Explorer. A ak tam je, tak potom neverím, že ti tento kód nebude fungovať:
Process.Start(IO.Path.Combine(Application.StartupPath, "Ahojpeter.exe"));
Keď mám spustený Firefox a z nejakého iného programu otvorím internetovú stránku (napr. Win Explorer, Thunderbird, QIP) tak sa mi tá stránka otvorí ako nová záložka v už spustenom Firefoxe. Dá sa nejako nastaviť, aby sa mi spustila nová inštancia Firefoxu a aby sa tá stránka otvorila v nej?
To zonda :
Ten súbor by mal byť podľa mňa fakt v tom bin/Release (Debug), lebo keď už ten program budeš chcieť spustiť mimo VS, tak to nepôjde s ../../
Ešte by si mohol odskúšať
Process.Start(Application.StartupPath + "\Ahojpeter.exe");
resp. najistejšie by malo byť
Process.Start(IO.Path.Combine(Application.StartupPath, "Ahojpeter.exe"));
tento kód tam '\' pridá keď treba.
Ak by to nešlo, tak si niekde do consoly vypíš tú cestu, nech vieme, čo je tam zlé.
A si si istý, že používaš správny vzorec?
S = sqrt ( s (s – a)(s – b)(s – c) ) s = (a + b + c) / 2
http://sk.wikipedia.org/wiki/Trojuholn%C3%ADk
Z tvojho kódu res = sqrt((x-s)*(y-s)*(z-s)) by som povedal, že to tam máš nejaké prehodené: x - s, malo by byť s - x a chýba ti tam pod odmocninou * s.
To ghibulo : OK, uznávam, že to nebolo najlepšie riešenie, napísal som to sem ako riešenie v prípade, že by sa zondovi nepodarilo nájsť tú udalosť, ktorá spustí program pri vypínaní PC.
Jak spustit při startu a ukončení je jasný z předchozích příspěvků (složka po spuštění, gpedit.msc - konf.počítače/nastavení systému win/skripty(spouštěcí nebo ukončovací)).
No ale gpedit.msc nefunguje všade. Napr. ja som mal XP Home a teraz mám Vistu Home Premium a gpedit.msc nefunguje.
To zonda : V ponuke štart v programoch je okrem zložiek nainštalovaných programov aj zložka "Pri spustení". Otvor ju a skopíruj tam odkaz na ten tvoj program. Pri spustení programu sa zapíše aktuálny čas, program necháš bežať (niekde v pozadí, systray...) a keď sa bude vypínať PC, vypne sa aj ten tvoj program a opäť zapíše aktuálny čas.