2013-10-27, 18:20
  #1
Medlem
Hej,
Jag skriver ett program som ska rkna ut gyllene snittet.
S hr lngt har jag kommit:
Kod:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Numerics;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e) //Start Calc
        {

            

            button1.Enabled = false; //disables the button
            textBox1.Text += "1-";
            textBox1.Text += Environment.NewLine + "1-";

            BigInteger x = 1;
            BigInteger y = 1;
            BigInteger z = 1;

            for (; ; )
            {

                x = y;
                y = z;
                z = x + y;

                textBox1.Text += Environment.NewLine + z + "-";

            }
        }

        private void button2_Click(object sender, EventArgs e) // Stop Calc
        {

        }

        private void button3_Click(object sender, EventArgs e) //Div.
        {

        }

        private void textBox1_TextChanged(object sender, EventArgs e) //display
        {

        }
    }
}

jag vill break'a button1's for loop med button2 och om det gr grna se siffrorna programmet kalkulerar i textbox. Hur gr jag detta?
Citera
2013-10-27, 18:33
  #2
Medlem
simpelt.
Du skapar en if sats i din for loop och kollar en global variabel som har typen bool. S lnge den r true s kr den loopen. Nr du klickar p knapp 2 s stter du den globala variabeln till false.
Citera
2013-10-27, 18:52
  #3
Medlem
Citat:
Ursprungligen postat av newone
simpelt.
Du skapar en if sats i din for loop och kollar en global variabel som har typen bool. S lnge den r true s kr den loopen. Nr du klickar p knapp 2 s stter du den globala variabeln till false.

I C#?!? finns det?

PS. var grna lite vertydlig, jag r noobing nr det gller visual studio
Citera
2013-10-27, 18:56
  #4
Medlem
CD-skivas avatar
Citat:
Ursprungligen postat av newone
simpelt.
Du skapar en if sats i din for loop och kollar en global variabel som har typen bool. S lnge den r true s kr den loopen. Nr du klickar p knapp 2 s stter du den globala variabeln till false.

Det fungerar vl inte, programmet r enkel-trdat s for-loopen kommer ta upp all berkningskraft och programmet kommer fortstta rkna i all ondlighet.
TS, du fr nog tnka om lite
Citera
2013-10-27, 18:56
  #5
Medlem
Citat:
Ursprungligen postat av CD-skiva
Det fungerar vl inte, programmet r enkel-trdat s for-loopen kommer ta upp all berkningskraft och programmet kommer "hnga sig".
TS, du fr nog tnka om lite

Hur?!
Citera
2013-10-27, 23:08
  #6
Medlem
Citat:
Ursprungligen postat av TomRaj2
Hur?!

Han har rtt, slog mig inte ens. Du fr gra utrkningen p en annan trd.
jag har slngt upp ett litet projekt p www.fsx.se/test.zip

Tanka och kolla.

Jag har 2 knappar, buttonStart samt buttonStop.

Nr du klickar p buttonStart s skapas en ny trd och kr metoden StartCalc. StartCalc har en while loop som kommer att kras s lnge bool keep_looping r true.

Nr du klickar p buttonStop, s stter den helt enkelt vrdet till false.
__________________
Senast redigerad av newone 2013-10-27 kl. 23:40.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in