ماشین حساب
سلام دوستان
ماشین حسابی که استاد درست کردن رو یه جورایی کاملش کردم
1 : حذف عددی که اشتباه وارد کردی رو داره
2 : حذف کل محاسبات انجام شده رو داره
3 : مساوی هم داره . ظاهرش هم که ساده و شیک هستش
و این هم از سورس و اسکرین شات . تو بازار هم گزاشتم . اگه تایید کنن . گفتم بزارم برای اولین پروژم . به امید موفقیت های بیشتر

آفرین ؛ ولی به نظر من چون ساده و حالت کلاسیک داره ؛
اگه از گرافیک کودکانه ی زیبایی استفاده می کردی اختصاصی تر می شد و البته جالبتر هم، چون ماشین حساب روی هرگوشی هست ولی اگر یه تفاوتی داشته باشه خلاقانه تر هست.
به امید موفقیت های روزافزون
سلام دوستان من این سورس رو دانلود کردم
یک سوال دارم
جطور میتونم تعریف کنم که مثلا اگر کاربر عددی بیشتر از 10 رقم زد یک toast بیاد بگه که بیشتر از 10 رقم شده یعنی دکمه مساوی کار خودش رو انجام نده و یک کار دیگه انجام بده (با یک دستور if) مشکل من اینجاست نمیدونم کد دستورم رو کجا بزارم که درست کار کنه و برنامه دچار مشکل نشه
اینم سورس کد :
public class ClActivity extends Activity {
public Typeface lcd_font;
public String LastOperator;
public double LastNumber;
public int Reset = 0;
public boolean MustClearLcd;
public boolean mustOverrideOperator;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn0 = (Button) findViewById(R.id.btn0);
Button btn1 = (Button) findViewById(R.id.btn1);
Button btn2 = (Button) findViewById(R.id.btn2);
Button btn3 = (Button) findViewById(R.id.btn3);
Button btn4 = (Button) findViewById(R.id.btn4);
Button btn5 = (Button) findViewById(R.id.btn5);
Button btn6 = (Button) findViewById(R.id.btn6);
Button btn7 = (Button) findViewById(R.id.btn7);
Button btn8 = (Button) findViewById(R.id.btn8);
Button btn9 = (Button) findViewById(R.id.btn9);
Button btnDevide = (Button) findViewById(R.id.btnDevide);
Button btnPlus = (Button) findViewById(R.id.btnPlus);
Button btnMinus = (Button) findViewById(R.id.btnMinus);
Button btnMultiplay = (Button) findViewById(R.id.btnMultiplay);
Button btnC = (Button) findViewById(R.id.btnC);
Button btnEqual = (Button) findViewById(R.id.btnEqual);
Button btnPoint = (Button) findViewById(R.id.btnPoint);
Button btnClear = (Button) findViewById(R.id.btnClear);
final TextView txtResult = (TextView) findViewById(R.id.txtResult);
final TextView txtMini = (TextView) findViewById(R.id.txtMini);
lcd_font = Typeface.createFromAsset(getAssets(), "lcd" + ".ttf");
txtResult.setTypeface(lcd_font);
txtMini.setTypeface(lcd_font);
OnClickListener operatorClickListener = new OnClickListener() {
@Override
public void onClick(View view) {
double number = Double.parseDouble(txtResult.getText().toString());
Button btn = (Button) view;
String operator = btn.getText().toString();
MustClearLcd = true;
if (mustOverrideOperator) {
LastOperator = operator;
String oldMiniText = txtMini.getText().toString();
String croppedString = oldMiniText.substring(0, oldMiniText.length() - 1);
txtMini.setText(croppedString + operator);
return;
}
String oldMiniText = txtMini.getText().toString();
txtMini.setText(oldMiniText + number + operator);
mustOverrideOperator = true;
if (LastOperator == null)
{
LastNumber = number;
} else
{
double result = 0;
if (LastOperator.equals("/"))
{
result = LastNumber / number;
} else if (LastOperator.equals("*"))
{
result = LastNumber * number;
}
else if (LastOperator.equals("-"))
{
result = LastNumber - number;
}
else if (LastOperator.equals("+"))
{
result = LastNumber + number;
}
else if (LastOperator.equals("="))
{
txtResult.setText("" + result);
LastNumber = result;
}
txtResult.setText("" + result);
LastNumber = result;
}
LastOperator = operator;
}
};
btnC.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (txtResult.length() == 1)
{
txtResult.setText("" + Reset);
} else if (txtResult.length() > 0)
{
String oldtxtResult = txtResult.getText().toString();
String croppedString = oldtxtResult.substring(0, oldtxtResult.length() - 1);
txtResult.setText(croppedString);
}
}
});
btnClear.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
mustOverrideOperator = false;
MustClearLcd = false;
LastOperator = null;
txtMini.setText(null);
txtResult.setText("" + Reset);
}
});
OnClickListener NumberclickListener = new OnClickListener() {
@Override
public void onClick(View view) {
mustOverrideOperator = false;
Button btn = (Button) view;
String btnText = btn.getText().toString();
String oldText = txtResult.getText().toString();
if (MustClearLcd)
{
txtResult.setText(btnText);
MustClearLcd = false;
return;
}
if (btnText.equals("."))
{
if ( !oldText.contains("."))
{
txtResult.setText("" + oldText + btnText);
return;
}
return;
}
if (oldText.equals("0"))
{
txtResult.setText(btnText);
} else
if (txtResult.length() < 10)
{
txtResult.setText("" + oldText + btnText);
}
}
};
btnDevide.setOnClickListener(operatorClickListener);
btnPlus.setOnClickListener(operatorClickListener);
btnMinus.setOnClickListener(operatorClickListener);
btnMultiplay.setOnClickListener(operatorClickListener);
btnEqual.setOnClickListener(operatorClickListener);
btn0.setOnClickListener(NumberclickListener);
btn1.setOnClickListener(NumberclickListener);
btn2.setOnClickListener(NumberclickListener);
btn3.setOnClickListener(NumberclickListener);
btn4.setOnClickListener(NumberclickListener);
btn5.setOnClickListener(NumberclickListener);
btn6.setOnClickListener(NumberclickListener);
btn7.setOnClickListener(NumberclickListener);
btn8.setOnClickListener(NumberclickListener);
btn9.setOnClickListener(NumberclickListener);
btnPoint.setOnClickListener(NumberclickListener);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 1, 1, "برنامه نویس : سعید کاظمی");
return super.onCreateOptionsMenu(menu);
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .