Nyílt forráskódúvá vált a Windows Calculator
A Windows 10 v1809-es vagy újabb verziójában található számológépet a Microsoft nyílt forráskódúvá tette az MIT licenc alatt. A program forráskódja mostantól megtalálható a GitHubon, amelyhez értelemszerűen bárki hozzáférhet.
Azok számára, akik eddig csak sima összeadásokhoz vagy hasonló számításokhoz használták a számológépet, valószínűleg nem tudják, milyen hasznos tud lenni más területeken is. A számológép rendelkezik egyszerű, tudományos és programozóknak szánt funkciókkal is, ráadásul különböző mértékegységek és valuták átkonvertálására is alkalmas. A számológép mérete is megváltoztatható, és minél nagyobb lesz, annál több információt (például az előzményeket) láthatunk. A valuták átkonvertálásához pedig a Bing legújabb adatait használja.
A Microsoft egy külön blogbejegyzést hozott létre, ahol elmesélik döntésük okát, és arra kérik az érdeklődőket, hogy osszák meg tapasztalataikat és fejlesztéseiket velük is. Ha feltelepítettétek a Windows 10 1803-as vagy annál újabb verzióját, illetve a Visual Studio legújabb verzióját, akkor a Microsoft szerint semmilyen fizetős eszközre nincs szükség, ha babrálni szeretnétek a számológéppel. Ha szeretnétek figyelemmel kísérni a projektet, akkor erre az oldalra érdemes ellátogatni, ahol megtalálhatjátok az idei ütemtervet.
int add(int a, int b){
return a+b;
}
return a-b;
}
int add(int c, int d){
return c*d;
}
int add(int e, int f){
return e/f;
}
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Double val = 0;
string operation = "";
bool oper_pressed = false;
int dotCount = 0;
private void operator_click(object sender, EventArgs e)
{
Button b = (Button)sender;
operation = b.Text;
val = Double.Parse(inputBox.Text);
oper_pressed = true;
equation.Text = val + " " + operation;
}
private void button_click(object sender, EventArgs e)
{
if ((inputBox.Text == "0"😉 || (oper_pressed))
{
inputBox.Clear();
dotCount = 0;
}
oper_pressed = false;
Button b = (Button)sender;
if(b.Text=="." && dotCount<1)
{
dotCount++;
inputBox.Text = inputBox.Text + b.Text;
}
if(b.Text!="."😉
{
inputBox.Text = inputBox.Text + b.Text;
}
}
private void clear_click(object sender, EventArgs e)
{
inputBox.Text = "0";
dotCount = 0;
}
private void clear_all(object sender, EventArgs e)
{
inputBox.Text = "0";
val = 0;
dotCount = 0;
}
private void equal_click(object sender, EventArgs e)
{
equation.Text = "";
switch (operation)
{
case "+":
inputBox.Text = (val + Double.Parse(inputBox.Text)).ToString();
break;
case "-":
inputBox.Text = (val - Double.Parse(inputBox.Text)).ToString();
break;
case "*":
inputBox.Text = (val * Double.Parse(inputBox.Text)).ToString();
break;
case "/":
inputBox.Text = (val / Double.Parse(inputBox.Text)).ToString();
break;
default:
break;
}
double ans = double.Parse(inputBox.Text);
if(ans==(double)ans)
{
dotCount = 1;
}
else
dotCount = 0;
}
}
}