ha uz ho vidim, sry
Příspěvky odeslané z IP adresy 194.213.32.–
C# ti klidne udelam, ale napis sem nejaky svuj kontakt..
To CZechBoY : tvuj prizpevek rika jen ze DrawEllipse muze jako parametr vzit Rectangle misto souradnic..
Kdyz mas ty krouzky jen dva tak treba takto:
private int stav = 30;
private void VymenaKrouzku_Paint(object sender, PaintEventArgs e) {
using (Graphics kp = e.Graphics) {
kp.DrawEllipse(Pens.Blue, stav, 30, 100, 100);
kp.DrawEllipse(Pens.Red, 200 - stav, 30, 100, 100);
}
}
private void TlacitkoVymen_Click(object sender, EventArgs e) {
stav = 200 - stav;
VymenaKrouzku.Refresh();
}
Prirad vsem tlacitkum stejnou metodu obsluhujici udalost stisku (parametr sender je reference na control ktery udalost vyvolal)
Label1.Text=(sender as Button).Text
Nejsem si jisty ze rozumim, bud je proste rucne projdes a vypises, nebo pouzi treba Reflection
http://www.kadlecek.eu/ares/
Kdyz tak si projdi 2 diskuze na builder.cz http://forum.builder.cz/search.php?31,search=ares,page=1,match_type=ALL,match_dates=0,match_forum=THISONE,body=1,author=1,subject=1
Pokud to ma vyhledavat mozna bych jeste upravil "Jmeno = @Jmeno" na "Jmeno LIKE @Jmeno" a pri vytvareni Parametru pridal k textu textboxu '%'
Oprava:
bool zadalJmeno = this.txt_vyhledavaniJmeno.Text.Trim().Length > 0;
bool zadalPrijmeni = this.txt_vyhledavaniPrijmeni.Text.Trim().Length > 0;
string commandText = string.Format("SELECT * FROM Klienti {0} {1} {2} {3}",
zadalJmeno || zadalPrijmeni ? "WHERE":string.Empty,
zadalJmeno ? "Jmeno = @Jmeno" : string.Empty,
zadalJmeno && zadalPrijmeni? "AND" : string.Empty,
zadalPrijmeni ? "Prijmeni = @Prijmeni" : string.Empty
);
try {
using (connection = new SqlConnection(Settings.Default.KlientiConnectionString)) {
connection.Open();
using (SqlCommand cmd = new SqlCommand(commandText, connection)) {
if (zadalJmeno) {
SqlParameter paramJmeno = new SqlParameter("@Jmeno", this.txt_vyhledavaniJmeno.Text.Trim());
cmd.Parameters.Add(paramJmeno);
}
if (zadalPrijmeni) {
SqlParameter paramPrijmeni = new SqlParameter("@Prijmeni", this.txt_vyhledavaniPrijmeni.Text.Trim());
cmd.Parameters.Add(paramPrijmeni);
}
reader = cmd.ExecuteReader();
while (reader.Read()) {
MessageBox.Show(reader["Prijmeni"].ToString());
}
}
}
} catch {
//Chyba
}
To Jirka : zkus treba toto..
bool zadalJmeno = this.txt_vyhledavaniJmeno.Text.Trim().Length > 0;
bool zadalPrijmeni = this.txt_vyhledavaniPrijmeni.Text.Trim().Length > 0;
string commandText = string.Format("SELECT * FROM Klienti {0} {1} {2} {3}",
zadalJmeno||zadalPrijmeni?"WHERE":string.Empty,
zadalJmeno?this.txt_vyhledavaniJmeno.Text:string.Empty,
zadalJmeno&&zadalPrijmeni?"AND":string.Empty,
zadalPrijmeni?this.txt_vyhledavaniPrijmeni.Text:string.Empty
);
try {
using (connection = new SqlConnection(Settings.Default.KlientiConnectionString)) {
connection.Open();
using (SqlCommand cmd = new SqlCommand(commandText, connection)) {
if (zadalJmeno) {
SqlParameter paramJmeno = new SqlParameter("@Jmeno", jmeno);
cmd.Parameters.Add(paramJmeno);
}
if (zadalPrijmeni) {
SqlParameter paramPrijmeni = new SqlParameter("@Prijmeni", prijmeni);
cmd.Parameters.Add(paramPrijmeni);
}
reader = cmd.ExecuteReader();
while (reader.Read()) {
MessageBox.Show(reader["Prijmeni"].ToString());
}
}
}
} catch {
}
Pri pouziti background workeru nastavuj tu property v udalosti "report progress" ci jak se jmenuje pak to vyjimku nehodi
To Krychlik : jojo, uz mi to taky doslo, jen mi prislo jednodusi vzit ty rovnice tak jak jsou ;)
To Krychlik : tady si nejsem jisty ze chapu, ale cim si pomuzu pokud dosadim jen jedno a prakticky nahradim jednu promenou jinou(X||Y za t)?
Mas nekde preklep, postup je dobre...
kvadraticka rovnice vyjde t * ( t-1) a po dosazeni do primky ti vyleze vzdalenost bodu jako odmocnina z padesati coz je tvych 5 * Sqrt(2)
To dannyk : teda za ten sport by s tebou v nekterejch jednotkach dobre vybehli ;)
(frmMain.ActiveForm.Controls["pcbMain"] as PictureBox)
jen drobnost, pokud mam blok try-finally a vyjimka je osetrena nekde jinde pak se provede finally jeste pred jejim osetrenim.
Taky bys mohl zkusit MCi, priklad treba na http://dotnet.org.za/deon/pages/3057.aspx
Myslim ze to asi nepujde jinak nez si pri otvirani menu zapamatovat nad kterym nodemse otevrelo a ten pak pouzit napr:
private TreeNode currentNode;
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) {
Point p = treeView1.PointToClient(Cursor.Position);
currentNode = treeView1.GetNodeAt(p); // nebo misto prommenne pouzit napr contextMenuStrip1.Tag
if (currentNode== null) e.Cancel = true; // pripadne do podminky lze pridat || !node.Bounds.Contains(p)
}
To Misiak : uprav si Program.cs treba podle kodu nahttp://bluehouse.wordpress.com/2006/01/24/how-to-create-a-notify-icon-in-c-without-a-form/. Pak uz lze loadovat/unloadovat libovolny form pri kliknuti na notify dle libosti.
To Tod : nejjednodusi je asi tohle http://www.miroslavnovak.com/piskvorky_algo_cz.php, trochu uprav hodnotici funkci a prohledavej tahy dopredu a mas neco co by mohlo projit u zapoctu..
kdyz uz se to nakouslo, tak pozor na to ze RightToLeft napriklad prohodi i poradi tech controlu aby se "cetli" zprava do leva coz by clovek nemusel chtit..
To Chrasty : To je sice pravda ale duvod je jinde, Right2Left je podle me kvuli podpore jazku psanych zprava do leva, takze ti tohle nastaveni pak napriklad tak trosku obrati vyznam Left a Right coz muze zpusobit zmatek.
A navic to neni odpoved na puvodni otazku(chce mit jeden vlevo a druhy vpravo, pokud mu teda rozumim).
oo, tak ja bych rek ze staci tomu labelu nastavit Alignment na Right
BTW vlastnost RightToLeft dle me vubec nesouvisi s zarovnanim kontrolu ;)
To Spectator : nemelo o moc vetsi ucinnost znamena co? BTW tusim ze nekdo(ty?) nahore v diskuzi uvadel cas na jeden pokus 200-500ms. Ze srandy jsem to zkousel a me overeni existence trva 80-110ms a pokud behem toho zaroven generuju mozne nazvy tak 120-140ms coz je i bez vice paraelnich pozadavku minimalne dvojnasobne zrychleni.
Nehlede na to ze ten INSERT je podivne, nesouhlasi ti pocet sloupcu s poctem vkladanych hodnot. Tipnul bych si ze id_contact je nejaky autoincrement ci co a mas ho tam navic..
To JannyM : A ze to nevyhodi chybu vis protoze jsi si to krokoval nebo si to jen spustil a nic ti nevyskocilo?? Ja jen ze otviras connection v Try a vyjimky neodchytavas..
To Anonymní uživatel : omluv cestinu, ted sem vstaval :)
To durmitor : Me regularni vyrazy nikdy moc nesly ale melo pokud bys je chtel pouzit mohl by vyraz vypadat treba takhle:
(?<record>#[^@]*@)
pouziti pak napr:
string input = "#TMSOP#16.10.2008;14:47:45@#OP01#0;1,412;1,404;1,380;1,373;1,380;1,412;1,412;1,412;1,420;8,7@#TMEOP#16.10.2008;14:48:51@";
Regex reg = new Regex(@"(?<record>#[^@]*@)", RegexOptions.Compiled);
MatchCollection matches = reg.Matches(input);
//pristup k jednotlivym zaznamum pak pres matches[indexZaznamu].Result("${record}")
To lolik : Nechce se mi verit ze po pul roce jeste nemas reseni...
BTW nekolik postrehu k poslednimu kodu(stale ale vlasne moc nevim co od toho cekas):
[seznam]ve static vlastnosti se odkazujes na NEstatic atribut[/seznam]
[seznam]vlastnost lolik vraci atribut i ktery neni stejneho typu (ono vubec void u vlastnosti je zvlastni[/seznam]
[seznam]neni nadefinovana promenna lolek, mozna to ma byt text pak teda chybi uvozovky[/seznam]
[seznam]ve formulari se odkazujes na privatni atribut misto verejne vlastnosti[/seznam]
For instance, here's a sample registry file to create an association between .txt files and EmEditor:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.txt]
@="emeditor.txt"
[HKEY_CLASSES_ROOT\emeditor.txt]
@="Text Document"
[HKEY_CLASSES_ROOT\emeditor.txt\DefaultIcon]
@="%SystemRoot%\\SysWow64\\imageres.dll,-102"
[HKEY_CLASSES_ROOT\emeditor.txt\shell]
[HKEY_CLASSES_ROOT\emeditor.txt\shell\open]
[HKEY_CLASSES_ROOT\emeditor.txt\shell\open\command]
@="\"C:\\Program Files\\EmEditor\\EMEDITOR.EXE\" \"%1\""
[HKEY_CLASSES_ROOT\emeditor.txt\shell\print]
[HKEY_CLASSES_ROOT\emeditor.txt\shell\print\command]
@="\"C:\\Program Files\\EmEditor\\EMEDITOR.EXE\" /p \"%1\""
To Coll : System.Security.Principal.WindowsIdentity.GetCurrent()
BTW co google.com a dotaz napr.: c# logged user?!?
To RocketBG : Aco se proste podivat do matematickejch tabulek?
BTW pokud hodlas studovat technicke obory, rad si myslim jeste dost uzijes..
To jadus : to je skoda ze neresily (i kdyz zas o tolik neslo), me to totiz vubec vtipny neprijde...
To Laik : a z ceho konkretne?
BTW jestli sem to nekde ve vedlejsim foru dobre pochopil, delas pod .NET pokud ano podivej se na System.Security.Cryptography Namespacehttp://msdn.microsoft.com/en-us/library/system.security.cryptography.aspx
To Huge : A k cemu to proboha je?? Nemyslis si snad ze tu za tebe nekdo bude ten tvuj index pocitat?
BTW: nevic nevidim souvislost mezi aktualnosti resp starim a oblibenosti ci pouzitelnosti. Nicmene je tu moznost ze sem te proste nepochopil :)
..e uvedene odkazy je na 1-2minuty a myslim ze obsahuji vcelku dost materialu. Navic uz se to tu na foru parkrat resilo.
No pokud trvas na vlastnim enginu priprav se ze to bude beh na opravdu dlouhou trat a nemyslim ze by to pro tebe melo jiny prinos nez jako pekne programovaci cviceni...
neco k tvorbe her:
GameDevhttp://www.gamedev.net/
DevMasterhttp://www.devmaster.net/
CodeProject/gamehttp://www.codeproject.com/KB/game/
javaboutique-Java Game Programminghttp://javaboutique.internet.com/tutorials/Java_Game_Programming/
Tutorialized-Java Game Programming Tutorialshttp://www.tutorialized.com/tutorials/Java/Game-Programming/1
a hotove enginy k inspiraci:
http://wiki.gamedev.net/index.php/Game_Engines
BTW: literaturu mas ale co zapatrat i trochu sam? najit vyss
To plasmo : ve WinForm se nastavovala vlastnost TabStop na false ve WPF je to tusim IsTabStop
reagoval jsem na spatny prispevek, pardon
To djanosik : jen drobnost, tlacitko [ukoncit] po dohrani zavre hlavni okno ale uz ne svoje(to az na druhy klik) a taky bych tomu hernimu tlacitku zakazal tab stop ;)
To zonda : ne ze bych to zrona potreboval ale bylo by fajn kdyby jsi sem mohl dat odkaz, nebo naznak jak si svuj problem resil. Pomohlo by to lidem v budoucnu se stejnym problemem(mozna)...
To Chrasty : jen 7 zameskanych hodin?? boze, tebe to tam musi vazne bavit :-)
:smile1:..dobrej programátor si s odšifrováním poradí..
to mas jiste pravdu ale ono si stim poradi i prumerny 9lety dite (bez prevodni tabulky a PC)
nebo rovnou ulozit cestu k tvemu programu do
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Zkus to takhle...
System.Convert.ToDouble(textBoxCislo.Text, System.Globalization.CultureInfo.InvariantCulture)
To mnn : on by se dal ten imagelist myslim vyhodit uplne. Slo by nastavit OwnerDraw na true a napsat kod do DrawItem. Ovsem stejne bych si nekde musel drzet Bitmapy s nahledama..
To petrl : kdybys to chtel do toho ListView, muzes to zkusit takhle
private void AddFiles(string[] files) {
if (files.Length > 0) {
foreach (string file in files) {
Size THUMB_SIZE = this.imageList1.ImageSize;
string file_short = Path.GetFileName(file);
if (this.imageList1.Images[file_short] == null) {
using (Bitmap thumb = new Bitmap(THUMB_SIZE.Width, THUMB_SIZE.Height)) {
using (Image img = Image.FromFile(file)) {
double r1 = thumb.Width / (double)img.Width;
double r2 = thumb.Height / (double)img.Height;
r1 = (r1 < r2) ? r1 : r2;
int width = (int)(img.Width * r1);
int height = (int)(img.Height * r1);
width = (width < (THUMB_SIZE.Width - 1)) ? width : (THUMB_SIZE.Width - 2);
height = (height < (THUMB_SIZE.Height - 1)) ? height : (THUMB_SIZE.Height - 2);
using (Graphics g = Graphics.FromImage(thumb)) {
g.DrawImage(img, (thumb.Width - width) / 2, (thumb.Height - height) / 2, width, height);
using (Pen pen = new Pen(Color.LightGray)) {
g.DrawRectangle(pen, 1, 1, thumb.Width - 2, thumb.Height - 2);
}
}
}
ListViewItem item = new ListViewItem(file_short);
item.ImageKey = item.Text;
item.Tag = file;
this.imageList1.Images.Add(item.Text, thumb);
this.listView1.Items.Add(item);
}
}
}
}
}
A pak uz jen volat AddFiles(openFileDialog1.FileNames);
Predpoklada to existenci controlu imageList1(s nastavenym ImageSize na velikost pozadovanych nahledu) a listView1(s nastavenym view na LargeIcons a LargeImageList na imageList1). Neni to genialni ale tvuj ucel to plni. Chybi osetrit jeste spousta veci a taky bych to radsi zabalil do vlastni komponenty podedene od ListView nicmene pro inspiraci to asi takhle staci..
To paul27 :
Zkus si precist http://cs.wikipedia.org/wiki/Objektov%C4%9B_orientovan%C3%A9_programov%C3%A1n%C3%AD
btw kdosi na interval.cz pise nasledujici a nelze s tim jinak nez souhlasit:
1. Dedicnost jako takovou pouziji tehdy, pokud nemam jine efektivnejsi moznosti.
2. Dedicnost mohu pouzit pouze v pripade, kdy jsem schopen potomka pretypovat zpet na rodice a dal ho pouzit (tzn., ze potomek je jen rozsirujici ci specialni objekt rodice).
3. Potomek nijak neznehodnocuje rodice.
4. Potomek je schopen vyuzit vsech vlastnosti rodice. (Pokud tomu tak neni, je chyba v navrhu a je treba vratit se o krok zpet)
V jakemkoli jinem pripade pouzijte skladani :) Skladani je to, ze trida obsahuje atribut, ktery je objektem dane tridy, kterou potrebuji.
To paul27 : zvlastni otazka :)
na jednoduchou okynkovou verzi nepotrebujes nic jinyho nez jak nacist a ulozit soubor. Formular s textboxem a dvema buttonama(menu) naklikas a doplnis jen obsluhu tech buttonu.. mozna by se hodil i fileopendialog a filesavedialog ci jak se jmenuji..
To CommanderZ : kdyz se ptas takto pak ano mel jsi pravdu. Pokud bude kosmonaut premyslet jak to vlastne je, muze se mu zdat ze se vzdaluje zeme a tudiz po jeho(jejim ;)) navratu bude ten starsi on. V jeho uvaze je ale chyba v tom ze se nejedna o inercialni vztaznou soustavu a proto tu tusim tak uplne neplati specialni teorie relativity. Resi se to snad v obecne. Jde o ty okamziky urychlovani a brzdeni kdy pusobi zdanlive sily(pisou na zminenych odkazech). Da se pak namitnout ze dva astronauti letici ruzne daleko maji tyto okamziky stejne dlouhe a meli by pak byt po navratu stejne stari, coz nejsou. Jak na to nevim. V clanku to vysvetluji takto: ..chod hodin v neinerciální soustavě závisí na potenciálu, ne na intenzitě zdánlivé gravitační síly. Když druhý z astronautů provádí otáčecí manévr, je Země dále než když se otáčel jeho kolega, a tedy je na vyšším potenciálu..
nedocetl jsem to ale vysvetluji tam zmineny paradox: http://www.vesmir.cz/clanek.php3?CID=1046#pozn1
To CommanderZ : tusim ze teorie hovori o inercialnich vztaznych soustavach, ovsem soustava spojena s raketou neni inercialni-dochazi ke zrychleni/brzdeni. To by melo byt reseni toho zdanliveho paradoxu ze pro kosmounauta vlastne jdou hodiny na zemi pomaleji ale on je po priletu mladsi.. ale nejsem expert, z maturita z fyziky bylo utrpeni za 4.
class Calc1 {
public virtual double Plus(params double[] nums) {
double res = nums[0];
for (int i = 1; i < nums.Length; i++)
res += nums[i];
return res;
}
public virtual double Minus(params double[] nums) {
double res = nums[0];
for (int i = 1; i < nums.Length; i++)
res -= nums[i];
return res;
}
public virtual double Multiply(params double[] nums) {
double res = nums[0];
for (int i = 1; i < nums.Length; i++)
res *= nums[i];
return res;
}
public virtual double Divine(params double[] nums) {
double res = nums[0];
for (int i = 1; i < nums.Length; i++)
res /= nums[i];
return res;
}
}
class Calc2 : Calc1 {
public virtual double Sqr(double num) {
return Math.Pow(num,2);
}
public virtual double Sqrt(double num) {
return Math.Sqrt(num);
}
public override double Divine(params double[] nums) {
double res = nums[0];
for (int i = 1; i < nums.Length; i++) {
if (nums[i] == 0) throw new DivideByZeroException();
res /= nums[i];
}
return res;
}
}
neni to genialni ani podle zadani a mozna pozde :) ale treba to k necemu bude..
Zbuildovat to jde, ne? BTW bezi to pak v poradku?
Nejsem si jisty, ale rekl bych ze to bude tim, ze s tim xml pracujes uz v konstruktoru a ten si designer pri zdedeni vola, jenze ta relativni cesta je ve vztahu k spustene aplikaci tj. napr. \bin\Release a ne k ceste se zdrojovymi kody.
pracovni tyden
9(10) budicek
10(11) - 19(21) prace tj PC
20(22) - 01(02) zabava tj vetsinou PC
soboty,nedele
PC nebo Sex,Drogy a Rock'n'Roll pripadne vylety do prirody s kombinaci obou predchazejicich moznosti...
Fadni? ne, obcas otevru NB v kavarne misto doma nebo bootuju do jinyho operacniho OS a zmena je na svete :)
To lolik :
treba dll
public static void ShowWarning(){
MessageBox.Show("pozorpozoor");
}
a form1
MojaDLL.ShowWarning();
jinymi slovy stale se ptas na totez pokud ti tedy rozumim..
btw MessageBox.Show nevraci string ale DialogResult
skoro se nechce verit ze si tohle vymyslel a ted nevis jak se na to odkazat, teda pokud rozumim tomu co vlastne chces...lolik napsal:
tu som ty upol ten script a potrebujem vo form1.cs odkazovat na to "loll" co je v dll. len neviem ako to mam spravt.
MojaDLL.DLL oMojaDLL = new MojaDLL.DLL();
MessageBox.Show(oMojaDLL.lol);
nebo pokud je to konstanta nastav v dll lol jako static a pak se odkazuj primo
MessageBox.Show(MojaDLL.DLL.lol)
BTW o co se vlastne ve vysledku snazis??
To Mrakoplas : Posilam kod z knihy "C# 2005 Velka kniha reseni"(Jurgen Bayer) , mozna ze by se mohl hodit..
using System;
using System.Globalization;
namespace Addison_Wesley.Codebook.DateAndTime
{
public class DateUtils
{
/// <summary>
/// Obsahuje data kalendářního týdne
/// </summary>
public class CalendarWeek
{
/// <summary>
/// Rok
/// </summary>
public int Year;
/// <summary>
/// Kalendářní týden
/// </summary>
public int Week;
/// <summary>
/// Konstruktor
/// </summary>
/// <param name="year">Rok</param>
/// <param name="week">Kalendářní týden</param>
public CalendarWeek(int year, int week)
{
this.Year = year;
this.Week = week;
}
}
/// <summary>
/// Vypočte Kalendářní týden mezinárodního data
/// </summary>
/// <param name="date">Datum</param>
/// <returns>Vrací objekt typu CalendarWeek</returns>
/// <remarks>
/// Tato metoda vypočte kalendářní týden k datu
/// pomocí metody GetWeekOfYear objektu typu Calendar
/// a koriguje v něm obsaženou chybu.
/// </remarks>
public static CalendarWeek GetCalendarWeek(DateTime date)
{
// Zjištění aktuální kultury
CultureInfo currentCulture = CultureInfo.CurrentCulture;
// Zjištění aktuálního kalendáře
Calendar calendar = currentCulture.Calendar;
// Zjištění kalendářního týdne pomocí objektu typu Calendar
int calendarWeek = calendar.GetWeekOfYear(date,
currentCulture.DateTimeFormat.CalendarWeekRule,
currentCulture.DateTimeFormat.FirstDayOfWeek);
// Testuje, zda je kalendářní týden větší než 52
// a zjistí, zda je kalendářní týden k danému datu
// ve druhém týdnu: V takovém případě
// GetWeekOfYear nespočítá datum podle ISO
// (např. pondělí 31.12.2007 bude chybně stanoveno
// jako datum v 53. kalendářním týdnu).
// V takovém případě se týden změní na 1.
if (calendarWeek > 52)
{
date = date.AddDays(7);
int testCalendarWeek = calendar.GetWeekOfYear(date,
currentCulture.DateTimeFormat.CalendarWeekRule,
currentCulture.DateTimeFormat.FirstDayOfWeek);
if (testCalendarWeek == 2)
calendarWeek = 1;
}
// Rok odpovídající kalendářnímu týdnu
int year = date.Year;
if (calendarWeek == 1 && date.Month == 12)
year++;
if (calendarWeek >= 52 && date.Month == 1)
year--;
// Vrácení zjištěného kalendářního týdne
return new CalendarWeek(year, calendarWeek);
}
/// <summary>
/// Vypočte kalendářní týden k českému datu
/// </summary>
/// <param name="date">Datum</param>
/// <returns>Vrátí objekt typu CalendarWeek</returns>
/// <remarks>
/// <para>
/// Tato metoda funguje jen v některých kulturách.
/// (Původně byla navržena pro německou kulturu.)
/// Je ale možná rychlejší než
/// <see cref="GetInternationalCalendarWeek"/>.
/// </para>
/// <para>
/// Výpočet se opírá o algoritmus v
/// C++ od Ekkeharda Hesse z příspěvku z
/// 29.7.1999 v diskusní skupině
/// borland.public.cppbuilder.language
///(je k volnému použití).
/// </para>
/// </remarks>
public static CalendarWeek GetCzechCalendarWeek(DateTime date)
{
double a = Math.Floor((14 - (date.Month)) / 12D);
double y = date.Year + 4800 - a;
double m = (date.Month) + (12 * a) - 3;
double jd = date.Day + Math.Floor(((153 * m) + 2) / 5) +
(365 * y) + Math.Floor(y / 4) - Math.Floor(y / 100) +
Math.Floor(y / 400) - 32045;
double d4 = (jd + 31741 - (jd % 7)) % 146097 % 36524 %
1461;
double L = Math.Floor(d4 / 1460);
double d1 = ((d4 - L) % 365) + L;
// Zjištění kalendářního týdne
int calendarWeek = (int)Math.Floor(d1 / 7) + 1;
// Zjištění roku kalendářního týdne
int year = date.Year;
if (calendarWeek == 1 && date.Month == 12)
year++;
if (calendarWeek >= 52 && date.Month == 1)
year--;
// Vrácení výsledku
return new CalendarWeek(year, calendarWeek);
}
}
}
To Pavel : (1<<x) vytvori masku ktera ma jednicku pouze na testovane pozici, cislo & maska vrati cislo ktere ma nastavene pouze ty bity ktere jsou zaroven v masce a testovanem cisle tj > 0 znamena ze bit na testovane pozici byl true.. Asi zmateny vyklad ale nejsem ucitel :-)
To aerkain : vidis na BitArray sem si nevzpomnel :-/ i kdyz asi zalezi na co to clovek potrebuje. V tomhle pripade mi prijde hezci jedna z moznosti
private bool[] byte2bool(byte[] bytes){
if (bytes == null)
throw new ArgumentNullException("bytes");
bool[] result = new bool[bytes.Length * 8];
for (int i = 0; i < result.Length; i++) {
result[i] = (bytes[i / 8] & (1 << (i % 8))) > 0;
}
return result;
}
private bool getBit(byte[] bytes, int index) {
if (bytes == null)
throw new ArgumentNullException("bytes");
if ((index > 8 * bytes.Length - 1) || (index < 0))
throw new ArgumentOutOfRangeException("index");
return (bytes[index/8] & (1 << (index % 8))) > 0;
}
nez pouziti BitArray a
...
public BitArray(byte[] bytes)
{
if (bytes == null)
{
throw new ArgumentNullException("bytes");
}
this.m_array = new int[(bytes.Length + 3) / 4];
this.m_length = bytes.Length * 8;
int index = 0;
int num2 = 0;
while ((bytes.Length - num2) >= 4)
{
this.m_array[index++] = (((bytes[num2] & 0xff) | ((bytes[num2 + 1] & 0xff) << 8)) | ((bytes[num2 + 2] & 0xff) << 0x10)) | ((bytes[num2 + 3] & 0xff) << 0x18);
num2 += 4;
}
switch ((bytes.Length - num2))
{
case 1:
goto Label_00DB;
case 2:
break;
case 3:
this.m_array[index] = (bytes[num2 + 2] & 0xff) << 0x10;
break;
default:
goto Label_00FC;
}
this.m_array[index] |= (bytes[num2 + 1] & 0xff) << 8;
Label_00DB:
this.m_array[index] |= bytes[num2] & 0xff;
Label_00FC:
this._version = 0;
}
...
public bool Get(int index)
{
if ((index < 0) || (index >= this.m_length))
{
throw new ArgumentOutOfRangeException("index", Environment.GetResourceString("ArgumentOutOfRange_Index"));
}
return ((this.m_array[index / 0x20] & (((int) 1) << (index % 0x20))) != 0);
}
...
(cislo & (1 << rad))>0 //rad zacina 0
vrati hodnotu bitu na pozici rad
To Hula : rekl bych ze si nemel zrovna produktivni mesic co? :)
ale k veci zkus to nejak podobne:
public partial class Form1 : Form {
private Process process = null;
public Form1() {
InitializeComponent();
}
private void StartProcess(string path) {
try {
this.process = new Process();
this.process.StartInfo.FileName = path;
this.process.StartInfo.UseShellExecute = true;
this.process.Start();
} catch {
if (this.process != null) {
this.process.Close();
this.process.Dispose();
}
}
}
private void StopProcess() {
try {
this.process.Kill();
} finally {
if (this.process != null) {
this.process.Close();
this.process.Dispose();
}
}
}
}
pokud to pouzijes takhle ujisti se ze pred zavrenim app zvolas StopProcess()
To w3q :
using (TextWriter streamWriter = new StreamWriter(cesta, true))
{
streamWriter.WriteLine(text);
}
BTW k cemu ye tam mas tu promenou stringWriter???
To aerkain : jj taky reseni.. BTW jinak nevidim duvod proc bys musel pri pouziti BW menit tu tridu ale to je uz zrejme jedno..
To aerkain : A co Background Worker? Event ProgressChanged pro update progressbaru a event RunWorkerCompleted pro vypsani vystupnich hodnot po ukonceni...
To Petr : Myslim ze tohle by mohlo helpnout. Kdyby ne, ptej se dal.. :)
To F_Lupus : to se pletes v eventu ProgressChanged ktery vyvolas nekdy v prubehu toho pracovniho vlakna BackgroundWorkeru menit vlastnosti prvku na formulari jde..
OT
a neni metoda jen divnej nazev pro funkci bez navratove hodnoty?? ;)zacatecnik napsal:
zacatek fcí a a b mate zakoncen strednikem - to je chyba
edit v 9:47 - afaik ne fcí, ale metod
tak me napada ze kdyz u me funguje muze to byt tim ze sem pouzil #include "stdafx.h"
To mephi : C++ neni muj obor ale priklonil bych se k tvemu tvrzeni ze problem bude v kodovani..
BTW u me na XP po prekladu VIsualStudiem 2005 funguje ten puvodni kod spravne :)
Taky by misto vlakna se stejnym efektem a bez problemu s pristupem k GUI prvkum mel jit pouzit BackgroundWorker..
To RiZe : hmhm, pokud na tom trvas tak se asi nevyhnes pouziti TextChanged ale byt tebou tak hlasuju pro tlacitko. Co kdyz budes chtit pripojit k portu 12345?? Behem psani cisla portu by se ve tvem pojeti napred pokusi projet porty 1,12,123,1234 a to po nem nechces.
Jedine jak by jeste mohl poznat ze je zadano a ty uz chces testovat jestli na druhy strane neco je by mohlo byt LostFocus ci neco podobneho.
To Mch81 : mozna bych doporucil nejakou knihu typu resene ulohy, z toho se clovek vetsinou taky dost nauci. Myslim ze sem videl nejakou od vydavatelstvi Kopp.
To Mch81 : Spravne ma byt
vlozeni dlg = new vlozeni();
Ty ted totiz vlastne vytvaris obecny formular misto toho sveho..
jo a tez ti to upravim :-) ve druhe casti kodu na radku 1 ti chybi mezera :))
Editoval DeaLer: Už ne ;)
To mephi : :smile3: no je to dost samopopisne, to je fakt. Jen nevim jestli ten kdo nepobral verzi z toho clanku pobere tuhle pac ty dlouhe nazvy na prvni pohled matou(teda alespon me)..
:) rekl bych ze je to jen pro predstavu jak to funguje, ale kdyz uz chces kod ktery jde zkompilovat tak treba
class MyClass {
private int _MyValue = 0;
public int MyValue {
get { return this._MyValue; }
set { this._MyValue = value; }
}
}
MyClass x = new MyClass();
x.MyValue = 10;
MyClass y = x;
y.MyValue = 20; // x.myValue a y.myValue rovnají 20
no myslim ze to na te strance bylo taky
.....metoda by měla vracet celočíselnou hodnotu, která je menší než nula pokud je první předaný objekt menší než druhý a analogicky větší než nula v případě, že je první objekt větší.....
public int Compare(object obj1, object obj2) {
Osoba lOsoba1 = (Osoba) obj1;
Osoba lOsoba2 = (Osoba) obj2;
return (lOsoba1.Vek - lOsoba2.Vek);
}
Jak na razeni je uz docela hezky videt :)
(jestli ne zkus se kouknout na http://www.msdner.com/dev-archive/79/12-39-793459.shtm
To alois : nevim napr.
foreach (Control ctl in this.Controls) {
if (ctl is TextBox) seznamTextu.Add(ctl.Text);
}
a na co to potrebujes ze se branis tomu gridu?
To alois : jmena znas :) viz radek ob.Name = Convert.ToString(id);
Lze projet Forms.Controls a pokud je control TextBox tak si jeho obsah nekam ulozit ale to vezme vsechny Textboxy na formulari.. Nebo si je uz pri vytvareni dej do nejakeho globalniho pole a pak pouzivej to.. I kdyz nejakej ten grid by byl vazne lepsi..
http://www.thescripts.com/forum/post1779953-5.html (GOOGLE)
proc nezustat u int, pokud potrebujes aby ti to pretykalo po 255 pak zkus neco jako (a + b) % 256
Try google..
napriklad hned druhy odkaz co mi to vyplivne by se mohl hodit: http://www.zive.cz/default.aspx?textart=1&article=125179
To survik1 : co prosimte rozumis pod pojmem konzolove C++??? C++ je C++ at uz si pisu programy pro konzolu nebo nejake okeni aplikace treba i s pouzitim DX,OGL ci SDL...