اثر پروانه ای

برنامه نویسی حرفه ای کامپیوتر به زبان سی شارپ - لیست کامل کلمات کلیدی در ʚĭɞ - ßữʈʨɾflỵ ⓔⓕⓕⓔⓒⓣ

مشخصات بلاگ
اثر پروانه ای

اثر پروانه‌ای نام پدیده‌ای است که به دلیل حساسیت سیستم‌های آشوب‌ناک به شرایط اولیه ایجاد می‌شود. این پدیده به این اشاره می‌کند که تغییری کوچک در یک سیستم آشوب‌ناک چون جو سیارهٔ زمین (مثلاً بال‌زدن پروانه) می‌تواند باعث تغییرات شدید (وقوع توفان در کشوری دیگر) در آینده شود.

ایده‌ٔ این‌که پروانه‌ای می‌تواند باعث تغییری آشوبی شود نخستین بار در ۱۹۵۲ در داستان کوتاهی به نام آوای تندر اثر ری بردبری مطرح شد. عبارت «اثر پروانه ای» هم در ۱۹۶۱ در پی مقاله‌ای از ادوارد لورنتس به وجود آمد. وی در صد و سی و نهمین اجلاس ای‌ای‌ای‌اس در سال ۱۹۷۲ مقاله‌ای با این عنوان ارائه داد که «آیا بال‌زدن پروانه‌ای در برزیل می‌تواند باعث ایجاد تندباد در تکزاس شود؟»

آخرین نظرات
  • ۱۱ بهمن ۹۵، ۱۷:۱۸ - فاروق کریمی زاده
    خوب بود.
اثر پروانه ای

شاید برای شما هم اتفاق افتاده باشه

پنجشنبه, ۵ دی ۱۳۹۲، ۰۲:۴۳ ب.ظ
how to solve programming code

- من کدی که نوشتی رو نگرفتم (درک نکردم). این خط های برنامه برای چیه؟

- من ایده ای ندارم (که این خط ها چی هستن). ولی برنامه بدون این ها کار نمی کنه!

نظرات  (۱۸)

سلام وققتون بخیر من میخواهم DLL ایجاد کنم ولی همش error زیر را می دهد.میشه لطف کنید و هرچه سریعتر جواب من را بدهید.با تشکر

The name 'connect' does not exist in the current context

که برنامه ام هم این هست :

private void button1_Click(object sender, EventArgs e)

{

strConnection =

"Data Source = " + textBox1.Text.Trim() + " ; Initial Catalog = " + textBox2.Text.Trim() + " ; Integrated Security =True";

connect =

new SqlConnection(strConnection);

Connect.Open();

MessageBox.Show("Connection OK");

}

}

پاسخ:
سلام.
مطمئن شوید که جملات using مربوطه را به اول برنامه خود اضافه کرده اید.
using System.Data;
using System.Data.SqlClient;
موفق باشید
یاعلی

ممنون از اینکه قسمت دوم سوالمو جواب دادین منظورم از قسمت اول سوالم این بود که تصویر به طور عمودی و افقی دائم تکرار بشه
پاسخ:
برای اینکه تصویر بصورت کاشیکاری نمایش داده شود، کافی است که تصویر پس زمینه را بصورت زیر تغییر دهید:
pictureBox1.BackgroundImage = Image.FromFile("i:\\y.jpg");
سلام وقتتون بخیر من میخوام برنامه ای بنویسم که  یک تصویری رو بصورت کاشیکاری  و آینه وار با برنامه سی شارپ نشون بده اگه ممکنه راهنماییم کنید
پاسخ:
سلام.
منظورتون رو از کاشیکاری متوجه نشدم. یعنی فقط می خواهید یکسری خط افقی و عمودی روی تصویر رسم کنید؟ یا اینکه می خواهید تصویر رو برش بزنید و هر قسمت رو هرجایی که خواستید نمایش دهید؟ یا....
اما اگر منظورتون رو از آینه وار درست متوجه شده باشم، با کد زیر می توان تصویر رو به این شکل در آورد:
pictureBox1.Image.RotateFlip(RotateFlipType.Rotate180FlipX);
pictureBox1.Refresh();
موفق باشید.
سلام ببخشید بازم مزاحم میشم من یک کدی برای پایین اومدن مربعها توی button1نوشتم میخوام که مربعها خودکار بیاندپایین برا همین این کد رو مینویسم

for (int s = 0; s {
button1_Click(null, null);
System.Threading.Thread.Sleep(500);
}

مشکل اینجاس که وقتی اجراش میکنم هیچی نمیبینم یعنی اصلا اجرای فرم رو نمی بینم
اگه ممکنه بهم بگین چکار کنم که خود به خود باتن 1اجرا بشه
پاسخ:
سلام.
این کار شما سربار اضافی داره و ممکنه برنامه با خطای Stack Overflow مواجه بشه. در ضمن بهتره متد مربوطه به رویداد کلیک button1 رو بصورت زیر صدا بزنید:
button1.Click(sender,e);

من پیشنهاد می کنم خودتون یه متد بصورت زیر بسازید و کد های مربوط به دکمه رو داخل این متد قرار دهید. سپس این متد رو در دکمه صدا بزنید. (کد های قبلی دکمه رو بعد از اینکه در داخل متد قرار دادید، پاک کنید و فقط متد رو صدا بزنید). این متد رو در حلقه for هم صدا بزنید. بصورت زیر:

private void myMethod()
{
    کدی که قرار است دکمه آنرا اجرا کند
}

private void button1_Click(object sender, EventArgs e)
{
    myMethod();
}

حلقه for را بصورت زیر بازنویسی کنید:

for (int i = 0; i < 100; i++)
{
    myMethod();
    System.Threading.Thread.Sleep(100);
}
سلام وقتتون بخیر .نمیدونم چرا برای رویدا key down هرچی مینویسم تو پروژم اجرا نمیشه وقتی یک فایل جدید ایجاد میکنم مینویسم میشه ولی تو برنامه پروژه ام نمیشه میخواستم بپرسم فرم باید تنظیمات خاصی داشته باشه تا برای کلید ها بتونیم برنامه بنویسیم؟
پاسخ:
سلام. وقت شما هم بخیر.
خاصیت KeyPreview فرم رو برایر True قرار دهید تا دکمه های فشرده شده علاوه بر کنترل فعلی به فرم هم برسد.
موفق باشید.
ببخشید مزاحمتون شدم تصادفی رو هم نوشتم بدون enumخیلی ممنون شما خیلی کمکم کردید خداخیرتون بده
سلام وقتتون بخیر خیلی ممنون از لطفتون که کمکم کردین بازی رنگها رو بنویسم دارم مینویسم تقریبا آخراشم فقط یه دونه مشکل دارم اونم اینه که من میخوام سه تا مربعی که دارند از بالا میاند بصورت تصادفی سه رنگ آبی و سبز و زرد رو به خود بگیرند برا همین یک enum به نام رنگها تعریف میکنم فقط بلد نیستم که چه جوری بنویسم که تابع random از بین اون سه تابطور تصادفی برداره اگه بشه راهنماییم کنید خیلی خوب میشه
پاسخ:
یکی از راه حل ها اینه که اول یک عدد تصادفی تولید کنید، بعد بر حسب باقی مانده تقسیم اون عدد بر 3 ، تصمیم گیری کنید که چه رنگی رو انتخاب کنید. از سه حالت خارج نیست:
  1. باقیمانده 0
  2. باقیمانده 1
  3. باقیمانده 2
ممنون از لطفتون پس با همون روشی که فرمودین مینویسم .ولی خیلی دوست داشتم با اون روش بنویسم
پاسخ:
خواهش می کنم.
با اون روش به بن بست نمی رسید...
سلام وقتتون بخیر ببخشین مزاحمتون میشم بازم با کلی سوال اومدم اگه میشه لطف کنین جواب بدین .با این کدها برنامه ای نوشته شده که فرم رو به 4رنگ در میاره و سپس اونرو به عنوان تصویر ذخیره میکنه بعد هرجا که کلیک میکنم رنگش میاد تو رنگ تکست باکس و مختصاتش میره تو دو تا تکست باکس دیگه . الان مشکلی که دارم اینه که میخوام بررسی کنه که اگر بالا و پایین جایی که کلیک کردم همرنگ باشه رنگ بالا و پایینشون و خودش سفید بشه تا بررسیشو درست انجام میده ولی وقتی میخوادسفید رنگ کنه خطا میگیره این خطا روNullRefrenceExceptionwasunhandled
Object reference not set to an instance of an object
امیدوارم ناراحت نشین که دارم با این روش حل میکنم از این کارام یه هدف دیگه ای دارم.کدهایی که نوشتم ایناند
namespace copy1ofsefid
{
public partial class Form1 : Form
{
//int y = 100; int x = 100;
Color c; Graphics g;
Brush b; int x1 = 300; int y1 = 100; Brush b2, b3, b4;

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{

}

private void Form1_Paint(object sender, PaintEventArgs e)
{
c = Color.Blue;
b = System.Drawing.Brushes.Green;
b2 = System.Drawing.Brushes.White;
b3 = System.Drawing.Brushes.Yellow;
b4 = System.Drawing.Brushes.Red;
Pen p = new Pen(c, 4);
//g.DrawRectangle(p, x, y, 500, 500);
Image img = Image.FromFile("sefid.jpg");
using (Graphics g = Graphics.FromImage(img))
{
g.FillRectangle(Brushes.Green, 0, 0, this.Width / 2, this.Height / 2);
g.FillRectangle(Brushes.Yellow, 0, this.Height / 2, this.Width / 2, this.Height);
g.FillRectangle(Brushes.Red, this.Width / 2, this.Height / 2, this.Width, this.Height);
g.FillRectangle(Brushes.Blue, this.Width / 2, 0, this.Width, this.Height / 2);
}
this.BackgroundImage = img;
}

private void Form1_MouseUp(object sender, MouseEventArgs e)
{
Bitmap bmp = new Bitmap(this.BackgroundImage);
textBox1.BackColor = bmp.GetPixel(e.X, e.Y);
Color t; t = textBox1.BackColor;
this.Refresh();
int x = e.X;
int y = e.Y;
Color t1; t1 = bmp.GetPixel(x, y + 60); Color t2; t2 = bmp.GetPixel(x, y - 30);
if (t == t1 && t == t2)
{ g.FillRectangle(b2, x, y, 50, 50); g.FillRectangle(b2, x1, y1 +50, 50, 50); g.FillRectangle(b2, x1, y1 -50, 50, 50); }

textBox2.Text = x.ToString();
textBox3.Text = y.ToString();




}

private void pictureBox1_Click(object sender, EventArgs e)
{

}
}
پاسخ:
سلام...
خواهش می کنم. مزاحم نیستید.

علت این خطا این هست که قبل از اینکه شیئ g را مقدار دهی کنید، از آن استفاده کرده اید. دستور using بعد از اینکه از شیئ g استفاده کرد ، آنرا از بین می برد. من شیئ سراسری g رو به ggg تغییر نام دادم، همچنین دستور using رو بصورت زیر تغییر دادم:
using (Graphics g = Graphics.FromImage(img))
{
    g.FillRectangle(Brushes.Green, 0, 0, this.Width / 2, this.Height / 2);
    g.FillRectangle(Brushes.Yellow, 0, this.Height / 2, this.Width / 2, this.Height);
    g.FillRectangle(Brushes.Red, this.Width / 2, this.Height / 2, this.Width, this.Height);
    g.FillRectangle(Brushes.Blue, this.Width / 2, 0, this.Width, this.Height / 2);
    ggg = g;
}
در ضمن در رویداد موس آپ هم تمام اشیاء g را به ggg تغییر دادم. با این کار خطای برنامه برطرف شد. اما مقصود شما برآورده نمیشه و علتش هم اینه که رویداد فرم پینت بعد از موس آپ به اجرا در میاد و نتایج رو خراب می کنه. این هم یه مشکل اساسی هست که متأسفانه فعلا هیچ ایده ای برای حلش ندارم بجز نوشتن برنامه به همون روشی که سورسش رو براتون ارسال کردم.

موفق باشید.

  • سارا حسابی
  • سلام ببخشین وقتتونو میگیرم میشه بگین معنی این کدها چیه؟
    p[i, j].MouseEnter += new EventHandler(p_mouseEnter); در این کد معنی کلمه
    new EventHandlerچیه؟و در کدزیر
    p[i, j].BackColor = Color.FromArgb(rnd.Next(0,255), rnd.Next(0,255), rnd.Next(0,255));معنی FromArgbچیه؟
    وrnd.Next(0,255)یعنی اینکه یه عدد تصادفی بین 0 تا 255؟ پس چرامن 255 رو تو این دستور کم میکنم همون رنگاند فقط کم رنگ میشند ؟
    پاسخ:
    سلام.
    اگه بخوام خیلی ساده در حد یک پاراگراف توضیح بدم باید بگم:
    برای اینکه بخواهیم برای رویداد MouseEnter (یاهر رویداد دیگری / البته برای رویدادهای دیگه ، پارامتر EventArgs متفاوت خواهد بود) یک متد (تابع) تعریف کنیم که در هنگامی که این رویداد اتفاق می افته اجرا بشه باید به اینصورت عمل کنیم. EventHandler در واقع یک وکیل (delegate) هست که برای ما تابعی رو که بهش معرفی کردیمو اجرا می کنه. در اینجا بهش گفتیم تابع p_mouseEnter رو اجرا کنه.
    بله! (rnd.Next(0,255 یعنی یک عدد تصادفی بین 0 تا 255.
    FromArgb یه متد هست که با استفاده از ترکیب 4 پارامتر آلفا (A) ، رنگ قرمز (R) ، رنگ سبز (G) و رنگ آبی (B) ، یک رنگ برای ما می سازه. حداکثر مقداری که این پارامترها می تونند به خودشون بگیرن 255 و حداقل 0 . بله اگر هرسه عدد RGB رو همزمان به یک اندازه کم یا زیاد کنید، رنگ نهایی به سمت سیاه یا سفید متمایل خواهد شد. در غیر اینصورت فقط درجه همان رنگی که عدد آنرا کم یا زیاد کرده اید، تغییر خواهد کرد.
  • سارا حسابی
  • ضمنا من آموزش های سی شارپتون رو هم میبینم خیلی مفیدند
    پاسخ:
    شما لطف دارید خواهر...
    ممنون از لطفتون
    سلام وقتتون بخیر شرمنده اون برنامه اولی که برا get pixelفرستاده بودین هم درست کارمیکرد فقط باید بعد از زدن اجرا فرم رو miximize میکردم ازبابت فایلی که فرستادین هم ممنون الان یه سوال دیگه دارم اگه میشه لطف کنین جواب بدین من میخوام تو هرجای فرم که کلیک کردم x اش رو تو textbox1بزاره و y اش رو تو textbox2 بزاره برا همین این کدو تو سی شارپ نوشتم
    textBox1.Text = e.X.ToString;
    خطای
    Error 1 Cannot convert method group 'ToString' to non-delegate type 'string'.
    رو میده میشه راهنماییم کنین چطور میتونم عدد رو به متن تبدیل کنم وبعد بزارمش تو جعبه متن ؟
    پاسخ:
    سلام...
    پرانتزها رو فراموش کردید. اینطوری بنویسید:
    TextBox1.Text=e.X.ToString();
    سلام شرمنده من بهتون خیلی زحمت میدم ولی چاره ای ندارم. کدی که برام فرستادین رو تو سی شارپ نوشتم ولی طوری که من میخواستم عمل نکرد من میخواستم توی get pixel هرمختصاتی میدم رنگ اون مختصات رو برام تشخیص بده و بک گراندlabel1 همون رنگ مختصاتی که دادم باشه ولی باکدی که خودم نوشته بودم هر مختصاتی که میدادم رنگ label1، سفید می شد و با کدی که شما نوشتید هر نقطه ای که توget pixelمیدم براش فرقی نمی کنه وlabel1،همون رنگی میشه که روی اون رنگه یعنی label1روهرجای فرم بذارمش رنگ همون جا رو به خودش میگیره خواهش میکنم راهنماییم کنیدچیکارکنم ؟
    پاسخ:
    سلام...
    خواهش می کنم. خوشحال می شم اگه بتونم کمکتون کنم.
    امیدوارم مشکلتون رو حل کنه.
  • سارا حسابی
  • سلام وقتتون بخیر من اول فرم رو چهارتا رنگ میکنم بعد فرم رو به عنوانbitmapذخیره میکنم بعد که با getpixelرنگ نقطه ای رو میخونم همش سفیدتشخیص میده چرا این اتفاق میفته ؟باید کدوم دستور رو بنویسم که رنگ رودرست بخونه کدهایی که نوشتم اینان
    private void Form1_Paint(object sender, PaintEventArgs e)
    {
        Graphics g; g = Form1.ActiveForm.CreateGraphics();
        Brush b; b = System.Drawing.Brushes.Yellow;
        Brush b1; b1 = System.Drawing.Brushes.Green; 
        Brush b2; b2 = System.Drawing.Brushes.Red;
        Brush b3; b3 = System.Drawing.Brushes.Brown;
        g.FillRectangle(b, 0, 0, this.Width / 2, this.Height / 2);
        g.FillRectangle(b2,0,this.Height/2,this.Width/2,this.Height);
        g.FillRectangle(b1, this.Width / 2, this.Height / 2,this.Width,this.Height);

        g.FillRectangle(b3, this.Width / 2,0, this.Width,this.Height/2);
        Bitmap bm = new Bitmap(this.Width, this.Height);
        this.DrawToBitmap(bm, this.ClientRectangle);
        Color pcolor; pcolor = bm.GetPixel(this.Height/3,this.Width/3);
        label1.BackColor = pcolor;
    }
    نمیدونم کجاش اشتباهه اگه میشه راهنماییم کنید
    پاسخ:
    سلام...
    از این کد استفاده کنید، همون کد خودتون هست فقط یه کم دستکاری شده. درضمن اینجا دیگه نیازی به استفاده از متد DrawToBitmap نیست.
    Graphics g = e.Graphics;
    Brush b = System.Drawing.Brushes.Yellow, 
          b1 = System.Drawing.Brushes.Green, 
          b2 = System.Drawing.Brushes.Red,
          b3 = System.Drawing.Brushes.Brown;
    g.FillRectangle(b, 0, 0, this.Width / 2, this.Height / 2);
    g.FillRectangle(b2, 0, this.Height / 2, this.Width / 2, this.Height);
    g.FillRectangle(b1, this.Width / 2, this.Height / 2, this.Width, this.Height);
    g.FillRectangle(b3, this.Width / 2, 0, this.Width, this.Height / 2);

    Bitmap bm = new Bitmap(this.Width, this.Height, g);
    Color pcolor = bm.GetPixel(this.Height / 3, this.Width / 3);
    label1.BackColor = pcolor;
    موفق باشید...
    سلام خیلی ممنون ازلطفتون کدهایی که کارمو راه انداخت
    پاسخ:
    سلام...
    الحمدلله که کارتون راه افتاد.
    سلام از لطفتون بی نهایت ممنونم فقط میبخشین شما فرمودین با تکنیک های شی گرایی و با استفاده از آرایه ها می تونم مساله بازی رنگها رو بنویسم ولی مشکل من اینه که سی شارپ رو تا این حد بلد نیستم الان دوتا سوال دارم جواب بدید ممنون میشم اولی اینکه آیا دستوری هست که از تو فرم رنگ نقطه ای رو بخونه ؟و اگه هست چیه .دومی اینکه میشه درعرض یک هفته تکنیک شی گرایی رو از روی پی دی اف هایی که از اینترنت دانلود کردم یادبگیرم و با اون روش بنویسم ؟منظورم اینه که راحته؟
    خداخیرتون بده خیلی به درد بخورین
    پاسخ:
    سلام...
    متأسفانه بطور مستقیم دستوری برای این کار وجود نداره. اما می تونید فرم رو توی یک Bitmap بریزید و ازش استفاده کنید. البته یه سری معایب هم داره که خودتون متوجه خواهید شد. برای ذخیره تصویر فرم در یک Bitmap از روش زیر استفاده کنید:
    Bitmap bmp = new Bitmap(this.Width, this.Height);
    this.DrawToBitmap(bmp,this.ClientRectangle);
    Color pColor = bmp.GetPixel(20, 43);

    شیئ گرایی علاوه بر اینکه یادگرفتنش راحته، کار برنامه نویسی رو خیلی ساده می کنه. البته یادگیری شیئ گرایی در یک هفته بستگی به استعداد شما داره.
    شما لطف دارید./ سربلند باشید.
    سلام وقتتون بخیر من دارم یه بازی خیلی ساده به زبان سی شارپ می نویسم بازی رنگها (که سه تا مستطیل از بالا میاد و ما اونا رو سرجاشون میندازیم و سه تا همرنگ عمودی یا افقی یا ضربدری حذف میشند ) مشکلم اینجاست که دستور getpixel(x,y) رو که مینویسم که رنگ نقطه ای که میخوام رو تشخیص بده خطا ی
    Error 1 The name 'getpixel' does not exist in the current context
    رومیده
    به این صورت دستور رو وارد میکنم
    (Color m; m = getpixel(200, 200
    اگه زودراهنمایی کنید خیییی....لی ممنون میشم ضمنا از سایت خوبی که دارین تشکر میکنم امیدوارم روزی مثل شما بشم
    پاسخ:
    سلام...
    البته به نظر من این بازی نیازی به متد GetPixel نداره و با تکنیک های شیئ گرایی و با استفاده از آرایه ها می تونید این مسأله رو حل کنید.
    اما حالا که می خواهید با این متد مشکلتون رو حل کنید باید بگم این متد مربوط به کلاس Bitmap هست و رنگ نقطه ای در مختصات x و y رو در یک عکس برمی گردونه...
    به این مثال دقت کنید:
    Bitmap bmp=new Bitmap("c:\picture.jpg");
    Color pColor=bmp.GetPixel(30,15);
    در این مثال رنگ پیکسل با مختصات 30 و 15 مربوط به عکس picture.jpg که در درایو c قرار داره رو برمیگردونه و در pColor ذخیره می کند.

    موفق باشید...

    ارسال نظر

    لطفا اگر می خواهید در بخش نظرات، کد برنامه مورد نظر خود را بنویسید، قسمت زیر (Program Code) را کپی کرده، و در کادر "پیام" ، paste کنید. سپس برنامه مورد نظر خود را در کادری که ایجاد می شود، وارد کنید.

    • کلید میانبر برای Copy کردن: Ctrl+C

    • کلید میانبر برای paste کردن: Ctrl+V

    //Program Code

    از همکاری شما کمال تشکر را دارم.

    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی