rad/degrees

This commit is contained in:
serso 2011-11-22 23:56:46 +04:00
parent fdb0e5fea5
commit 4740e4e13d
11 changed files with 345 additions and 48 deletions

View File

@ -52,14 +52,12 @@
a:layout_height="fill_parent" a:layout_height="fill_parent"
a:layout_weight="4"/> a:layout_weight="4"/>
<org.solovyev.android.view.widgets.AngleUnitsButton xmlns:a="http://schemas.android.com/apk/res/android" <org.solovyev.android.view.widgets.ColorButton xmlns:a="http://schemas.android.com/apk/res/android"
xmlns:calc="http://schemas.android.com/apk/res/org.solovyev.android.calculator" xmlns:calc="http://schemas.android.com/apk/res/org.solovyev.android.calculator"
a:id="@+id/clearButton" a:id="@+id/clearButton"
calc:textUp="deg"
a:text="@string/c_clear" a:text="@string/c_clear"
calc:textDown="rad"
a:textStyle="bold" a:textStyle="bold"
style="?controlButtonStyle" style="?controlImageButtonStyle"
a:onClick="clearButtonClickHandler" a:onClick="clearButtonClickHandler"
a:layout_width="0dp" a:layout_width="0dp"
a:layout_height="fill_parent" a:layout_height="fill_parent"

View File

@ -46,14 +46,12 @@
a:layout_height="fill_parent" a:layout_height="fill_parent"
a:layout_weight="4"/> a:layout_weight="4"/>
<org.solovyev.android.view.widgets.AngleUnitsButton xmlns:a="http://schemas.android.com/apk/res/android" <org.solovyev.android.view.widgets.ColorButton xmlns:a="http://schemas.android.com/apk/res/android"
xmlns:calc="http://schemas.android.com/apk/res/org.solovyev.android.calculator" xmlns:calc="http://schemas.android.com/apk/res/org.solovyev.android.calculator"
a:id="@+id/clearButton" a:id="@+id/clearButton"
calc:textUp="deg"
a:text="@string/c_clear" a:text="@string/c_clear"
calc:textDown="rad"
a:textStyle="bold" a:textStyle="bold"
style="?controlButtonStyle" style="?controlImageButtonStyle"
a:onClick="clearButtonClickHandler" a:onClick="clearButtonClickHandler"
a:layout_width="0dp" a:layout_width="0dp"
a:layout_height="fill_parent" a:layout_height="fill_parent"

View File

@ -6,12 +6,10 @@
~ or visit http://se.solovyev.org ~ or visit http://se.solovyev.org
--> -->
<org.solovyev.android.view.widgets.AngleUnitsButton xmlns:a="http://schemas.android.com/apk/res/android" <org.solovyev.android.view.widgets.ColorButton xmlns:a="http://schemas.android.com/apk/res/android"
xmlns:calc="http://schemas.android.com/apk/res/org.solovyev.android.calculator" xmlns:calc="http://schemas.android.com/apk/res/org.solovyev.android.calculator"
a:id="@+id/clearButton" a:id="@+id/clearButton"
calc:textUp="deg"
a:text="@string/c_clear" a:text="@string/c_clear"
calc:textDown="rad"
a:textStyle="bold" a:textStyle="bold"
style="?controlButtonStyle" style="?controlImageButtonStyle"
a:onClick="clearButtonClickHandler"/> a:onClick="clearButtonClickHandler"/>

View File

@ -6,10 +6,10 @@
~ or visit http://se.solovyev.org ~ or visit http://se.solovyev.org
--> -->
<org.solovyev.android.view.widgets.DirectionDragButton xmlns:a="http://schemas.android.com/apk/res/android" <org.solovyev.android.view.widgets.AngleUnitsButton xmlns:a="http://schemas.android.com/apk/res/android"
xmlns:calc="http://schemas.android.com/apk/res/org.solovyev.android.calculator" xmlns:calc="http://schemas.android.com/apk/res/org.solovyev.android.calculator"
a:id="@+id/sixDigitButton" a:text="6"
calc:textUp="deg" calc:textUp="deg"
a:id="@+id/sixDigitButton" a:text="6"
calc:textDown="rad" calc:textDown="rad"
style="?digitButtonStyle" style="?digitButtonStyle"
a:onClick="digitButtonClickHandler"/> a:onClick="digitButtonClickHandler"/>

272
res/values-it/strings.xml Normal file
View File

@ -0,0 +1,272 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
~ For more information, please, contact se.solovyev@gmail.com
~ or visit http://se.solovyev.org
-->
<resources>
<string name="c_app_name">Calculator++</string>
<string name="c_app_icon_name">Calc++</string>
<string name="c_app_settings">Impostazioni</string>
<string name="c_syntax_error">Errore</string>
<string name="c_result_copied">Risultato copiato negli appunti!</string>
<string name="c_settings">Impostazioni</string>
<string name="c_help">Aiuto</string>
<string name="c_about">About</string>
<string name="c_vars_and_constants">Variabili e costanti</string>
<!--PREFERENCE ACTIVITY-->
<string name="c_prefs_main_category">Impostazioni principali</string>
<string name="c_prefs_calculations_category">Impostazioni calcolo</string>
<string name="c_prefs_appearance_category">Impostazioni aspetto</string>
<string name="c_prefs_drag_button_category">Impostazioni trascinamento tasti</string>
<string name="c_prefs_drag_button_calibration">Calibrazione pulsante trascinamento</string>
<string name="c_prefs_drag_button_calibration_summary">Consente di calibrare il pulsante di trascinamento</string>
<string name="c_down">Giù</string>
<string name="c_up">Su</string>
<string name="c_restart">Riavvia</string>
<!--ABOUT ACTIVITY-->
<string name="c_about_content">Copyright (c) 2009-2011\n\n<b>Creato da serso aka se.solovyev</b>\n\n
Questo programma è open source:\ntutto il codice può essere trovato su\n<a href="https://github.com/serso/android_calculator">http://github.com</a>\n\n
Per ulteriori informazioni contatta\nl\'autore via email\n<a href="mailto:se.solovyev@gmail.com">se.solovyev@gmail.com</a>
\no visita\n<a href="http://se.solovyev.org">http://se.solovyev.org</a>\n\n
Se vuoi aiutare il progetto\npuoi effettuare una donazione via\n<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=se%2esolovyev%40gmail%2ecom&amp;lc=RU&amp;item_name=Android%20Calculator&amp;currency_code=USD&amp;bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted">http://paypal.com</a>\n\n
Se ti piace l\'applicazione\nvota 5 stelle nel\n<a href="https://market.android.com/details?id=org.solovyev.android.calculator">android.market</a>
</string>
<string name="c_undo">annulla</string>
<string name="c_redo">rifai</string>
<string name="c_clear">CE</string>
<string name="c_erase">cancella</string>
<string name="c_paste">incolla</string>
<string name="c_vars">vars</string>
<string name="c_calc_color_display_title">Evidenzia espressioni</string>
<string name="c_calc_round_result_title">Arrotonda risultato</string>
<string name="c_calc_round_result_summary">Attiva/disattiva arrotondamento dei risultati</string>
<string name="p_calc_result_precision_title">Precisione del risultato</string>
<string name="c_exit">Esci</string>
<string name="c_add">Aggiungi</string>
<string name="c_cancel">Annulla</string>
<string name="c_save">Salva</string>
<string name="c_remove">Rimuovi</string>
<string name="c_yes"></string>
<string name="c_no">No</string>
<string name="c_var_removal_confirmation">Conferma rimozione</string>
<string name="c_var_removal_confirmation_question">Vuoi davvero cancellare la variabile \'%s\'?</string>
<string name="c_var_name">Nome</string>
<string name="c_var_value">Valore</string>
<string name="c_var_description">Descrizione</string>
<string name="c_var_create_var">Crea variabile</string>
<string name="c_var_edit_var">Modifica variabile</string>
<string name="c_value.is.not.a.number">Il valore deve essere un numero o vuoto!</string>
<string name="c_var.name.clashes">Il nome della variabile entra in conflitto col nome della funzione!</string>
<string name="c_var.already.exists">Una variabile con lo stesso nome esiste già!</string>
<string name="c_name.is.not.valid">Il nome della costante non è valido: il nome deve iniziare con una lettera, può contenere lettere, cifre e underscore.</string>
<string name="c_sys.var.cannot.be.changed">La variabile di sistema non può essere cambiata!</string>
<string name="c_pi_description">Rapporto tra la circonferenza di qualsiasi cerchio col suo diametro</string>
<string name="c_e_description">Unico numero reale tale che il valore della derivata (pendenza della retta tangente) della funzione f(x) = e^x nel punto x = 0 che è uguale a 1</string>
<string name="c_i_description">Unità immaginaria, definita come i^2 = -1</string>
<string name="c_c_description">Velocità della luce nel vuoto, m·s^-1</string>
<string name="c_g_description">La costante gravitazionale è una costante fisica empirica coinvolta nel calcolo dell\' attrazione gravitazionale tra gli oggetti con massa, m^3·kg^1·s^2</string>
<string name="c_h_description">Costante fisica che riflette la dimensione dei quanti di energia in meccanica quantistica, J·s</string>
<string name="c_h_reduced_description">Costante di riduzione di Planck, J·s</string>
<string name="c_nan_description">Non è un numero</string>
<string name="c_infinity_description">Infinito</string>
<string name="c_calc_editor_hint">Inserisci una nuova espressione</string>
<string name="c_press_to_copy">Premi per copiare</string>
<string name="c_continue">Continua</string>
<string name="c_donate">Dona</string>
<string name="c_donate_text">Puoi ringraziare l\'autore di questo programma per email\n\n
<a href="mailto:se.solovyev@gmail.com">se.solovyev@gmail.com</a>\n\n
o donando su\n\n<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=se%2esolovyev%40gmail%2ecom&amp;lc=RU&amp;item_name=Android%20Calculator&amp;currency_code=USD&amp;bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted">http://paypal.com</a>\n\n
oppure votando l\'applicazione con 5 stelle nell\'\n\n<a href="https://market.android.com/details?id=org.solovyev.android.calculator">android.market</a>
</string>
<string name="c_history">Cronologia</string>
<string name="c_history_button">M</string>
<string name="c_history_is_empty">La cronologia è vuota!</string>
<string name="c_app_history">Cronologia</string>
<string name="c_char_is_not_accepted">Il carattere \'%s\' non è accettato come nome di variabile!</string>
<string name="c_calc_angle_units">Unità angoli</string>
<string name="p_deg">Gradi</string>
<string name="p_rad">Radianti</string>
<string name="c_angle_units_summary">Definisci l\'unità di misura predefinita per gli angoli.</string>
<string name="c_calc_theme">Tema</string>
<string name="p_default_theme">Predefinito</string>
<string name="p_violet_theme">Viola</string>
<string name="p_light_blue_theme">Blu chiaro</string>
<string name="c_calc_result_precision_summary">Precisione del risultato (tutti i calcoli sono fatti con la massima precisione, indipendentemente dal valore di questa opzione)</string>
<string name="c_calc_color_display_summary">Attiva o disattiva la colorazione e lo styling dell\' editor calcolatrice</string>
<string name="c_calc_theme_summary">Imposta il tema per la calcolatrice</string>
<string name="c_clear_history">Cancella cronologia</string>
<string name="c_simplify_instead_of_numeric">Le prossime costanti sono indefinite: {0}!</string>
<string name="p_grouping_separator_no">Nessun separatore</string>
<string name="p_grouping_separator_apostrophe">Apostrofo (\')</string>
<string name="p_grouping_separator_space">Spazio ( )</string>
<string name="c_calc_grouping_separator">Separatore raggruppamento</string>
<string name="c_calc_grouping_separator_summary">Imposta separatore raggruppamento</string>
<string name="c_calc_layout">Layout</string>
<string name="p_layout_cellphone">Cellulare</string>
<string name="p_layout_calculator">Calcolatrice</string>
<string name="c_calc_layout_summary">Imposta layout per i pulsanti</string>
<string name="c_calc_haptic_feedback_title">Feedback tattile</string>
<string name="c_calc_haptic_feedback_summary">Attiva o disattiva la vibrazione su click dei pulsanti</string>
<string name="p_calc_haptic_feedback_strength_short">Breve</string>
<string name="p_calc_haptic_feedback_strength_middle">Media</string>
<string name="p_calc_haptic_feedback_strength_long">Lunga</string>
<string name="p_calc_haptic_feedback_duration_title">Durata feedback tattile</string>
<string name="p_calc_haptic_feedback_duration_summary">Durata della vibrazione su click dei pulsanti</string>
<string name="c_functions">Funzioni</string>
<string name="c_fun_description_sin">Funzione trigonometrica seno.</string>
<string name="c_fun_description_cos">Funzione trigonometrica coseno.</string>
<string name="c_fun_description_tan">Funzione trigonometrica tangente.</string>
<string name="c_fun_description_cot">Funzione trigonometrica cotangente.</string>
<string name="c_fun_description_asin">Arcseno - inversa della funzione seno.</string>
<string name="c_fun_description_acos">Arccoseno - inversa della funzione coseno.</string>
<string name="c_fun_description_atan">Arctangente - inversa della funzione tangente.</string>
<string name="c_fun_description_acot">Arccotangente - inversa della funzione cotangente.</string>
<string name="c_fun_description_ln">Logaritmo naturale - logaritmo in base e.</string>
<string name="c_fun_description_lg">Logaritmo decimale - logaritmo in base 10.</string>
<string name="c_fun_description_exp">Funzione esponenziale.</string>
<string name="c_fun_description_sqrt">Funzione radice quadrata.</string>
<string name="c_fun_description_cubic">Funzione radice cubica.</string>
<string name="c_fun_description_abs">Funzione che restituisce il valore assoluto di un argomento.</string>
<string name="c_fun_description_sgn">Funzione che restituisce il segno di un argomento: -1 se l\'argomnto è minore di 0, 0 se è uguale a 0, 1 se è maggiore di 0.</string>
<string name="c_fun_description_eq">Funzione uguaglianza - restituisce 1 se i due argomenti sono uguali, 0 altrimenti.</string>
<string name="c_fun_description_le">Funzione minore-o-uguale - restituisce 1 se i due argomenti sono uguali o il primo è minore del secondo, 0 altrimenti.</string>
<string name="c_fun_description_ge">Funzione maggiore-o-uguale - restituisce 1 se i due argomenti sono uguali o il primo è maggiore del secondo, 0 altrimenti.</string>
<string name="c_fun_description_ne">Funzione disuguaglianza - restituisce 1 se i due argomenti non sono uguali, 0 altrimenti.</string>
<string name="c_fun_description_lt">Funzione minore - restituisce 1 se il primo argomento è minore del secondo, 0 altrimenti.</string>
<string name="c_fun_description_gt">Funzione maggiore - restituisce 1 se il primo argomento è maggiore del secondo, 0 altrimenti.</string>
<string name="c_fun_description_rad">Converte gradi in radianti: d - gradi, m - minuti (predefinito = 0), s - secondi (predefinito = 0).</string>
<string name="c_fun_description_dms">Converte gradi dalla notazione DMS in notazione decimale: d - gradi, m - minuti (predefinito = 0), s - secondi (predefinito = 0).</string>
<string name="c_fun_description_deg">Converte radianti in gradi.</string>
<string name="c_empty_var_error">Impossibile creare una costante vuota!</string>
<string name="c_not_valid_result">Risultato attuale non valido!</string>
<string name="c_operators">Operatori</string>
<string name="c_op_description_mod">L\'operazione modulo trova il resto della divisione di \'x\' by \'y\'.</string>
<string name="c_op_description_sum">Funzione somma \'f(i)\', iterazione tra \'i\' da \'from\' a \'to\'.</string>
<string name="c_op_description_product">Restituisce il prodotto della funzione \'f(i)\', iterazione tra \'i\' da \'from\' a \'to\'.</string>
<string name="c_op_description_derivative">Restituisce la derivata di ordine \'order\' della funzione \'f(x)\' in \'x\' e calcolata nel punto \'x_point\'.</string>
<string name="c_op_description_integral">Restituisce l\'integrale della funzione \'f(x)\' in \'x\'.</string>
<string name="c_op_description_integral_ab">Funzione integrale \'f(x)\' in \'x\' da \'a\' a \'b\'.</string>
<string name="c_pf_description_factorial">Restituisce il fattoriale dell\'espressione precedente.</string>
<string name="c_pf_description_percent" formatted="false">Restituisce la percentuale dell\'espressione precedente.\nEsempi:\n
100 + 50% = 150\n
100 * 50% = 50\n
100 + 100 * 50% * 50% = 125
</string>
<string name="c_pf_description_degree">Converte gradi in radianti.\n
Esempi:\n
268° = 4.67748\n
30.21° = 0.52726
</string>
<string name="c_faq">FAQ</string>
<string name="c_hints">Suggerimenti</string>
<string name="c_screens">Schermate</string>
<string name="c_faq_content" formatted="false">
<b>Come posso utilizzare le funzioni scritte in alto a destra e nell\'angolo in basso a destra del pulsante?</b>\n
\n
Premi il pulsante e trascinalo leggermente verso l\'alto o verso il basso. A seconda del valore mostrato sul pulsante azione si verificherà.\n
\n
<b>Come posso passare da radianti a gradi?</b>\n
\n
Attualente C++ non supporta questa funzione ma è possibile utilizzare le funzioni deg() e rad() e l\'operatore ° per convertire i gradi in radianti e vice versa.\n
\n
<b>Esempi:</b>\n
268° = 4.67748\n
30.21° = 0.52726\n
rad(30, 21, 0) = 0.52726\n
deg(4.67748) = 268\n
\n
<b>C++ supporta la %?</b>\n
\n
Sì, la funzione % può essere trovata nell\'angolo in alto a destra di / button.\n
\n
<b>Esempi:</b>\n
\n
100 + 50% = 150\n
100 * 50% = 50\n
100 + 100 * 50% * 50% = 125\n
100 + (100 * 50% * (25 + 25)% + 100%) = 150\n
\n
<b>Note:</b>\n
\n
100 + (20 + 20)% = 140, <b>ma</b> 100+ (20% + 20%) = 124.0\n
100 + 50% ^ 2 = 2600, <b>ma</b> 100 + 50 ^ 2% = 101.08\n
\n
<b>C++ supporta il calcolo delle frazioni?</b>\n
\n
Sì, è possibile digitare l\'espressione frazionaria nell\'editor e usare = (nell\'angolo in alto a destra del pulsante = ). Inoltre è possibile utilizzare = per semplificare l\'espressione.\n
\n
<b>Esempi:</b>\n
\n
2/3 + 5/9 = 11/9\n
2/9 + 3/123 = 91/369\n
(6 - t) ^ 3 = 216 - 108t + 18t ^ 2 - t ^ 3\n
\n
<b>C++ supporta il calcolo con i numeri complessi?</b>\n
\n
Sì, basta inserire una espressione complessa (usando i o √(-1) come numero immaginario).\n
\n
<b>Esempi:</b>\n
\n
(2i + 1) ^ = -3 + 4i\n
e ^ i = 0.5403 + 0.84147i\n
\n
<b>C++ può disegnare i grafici delle funzioni?</b>\n
\n
No, attualmente C++ non supporta questa funzione.\n
\n
<b>C++ supporta il calcolo delle matrici?</b>\n
\n
No.\n
\n
<b>Perchè ho 1.76732452452345E-17 invece di 0?</b>\n
\n
Controlla l\'opzione \'Arrotonda risultato\' nelle impostazioni dell\'applicazione - dovrebbe essere attivata.\n</string>
<string name="c_hints_content">
1. È possibile omettere i segni non necessari nella moltiplicazione (invece di 3*t o t*sin(p*t) digita 3t o tsin(pt))\n\n
2. Utilizza = (nell\'angolo in alto a destra del pulsante = ) per semplificare l\'espressione\n\n
3. Basta fare click sul risultato per copiarlo negli appunti\n\n
4. Usa raramente il pulsante = - il risultato è calcolato in tempo reale\n\n
4. Aggiungi costanti per i valori usati spesso (è possibile salvare anche le espressioni)\n\n
</string>
<string name="c_screens_content">
1. <b>Schermata principale:</b> viene visualizzata all\'avvio dell\'applicazione, può essere raggiunta da un altra schermata premendo il pulsante Indietro.\n\n
2. <b>Schermata variabili e costanti:</b> contiene l\'elenco delle costanti disponibili. L\'utente può aggiungere qui costanti e variabili cliccando il pulsante Aggiungi. Un breve click sulla variabile/costante la inserisce nell\'editor, un click prolungato apre la finestra di editor variabili. Può essere raggiunta dalla schermata principale premendo il pulsante π,….\n\n
3. <b>Schermata funzioni:</b> contiene l\'elenco di tutte le funzioni disponibili. Un breve click sulla funzione la inserisce nell\'editor. Può essere raggiunta dalla schermata principale premento il pulsante f(x).\n\n
4. <b>Schermata operatori:</b> contiene l\'elenco di tutti gli operatori disponibili. Un breve click sull\'operartore lo inserisce nell\'editor. Può essere raggiunta dalla schermata principale premento il pulsante ∂,….\n\n
5. <b>Schermata cronologia:</b> contiene l\'elenco di tutte le azioni fatte dall\'utente. Un breve click su un elemento della lista lo inserisce nell\'editor. Può essere raggiunta dalla schermata principale premento il pulsante M.\n\n
6. <b>Schermata impostazioni:</b> contiene le impostazioni dell\'applicazione. Può essere raggiunta dalla schermata principale premento il pulsante Impostazioni nel menù.
</string>
</resources>

View File

@ -27,7 +27,12 @@
За подробной информацией, пожалуйста,\nобращайтесь на почту\n<a href="mailto:se.solovyev@gmail.com">se.solovyev@gmail.com</a>\n За подробной информацией, пожалуйста,\nобращайтесь на почту\n<a href="mailto:se.solovyev@gmail.com">se.solovyev@gmail.com</a>\n
или посетите сайт \n<a href="http://se.solovyev.org">http://se.solovyev.org</a>\n\n или посетите сайт \n<a href="http://se.solovyev.org">http://se.solovyev.org</a>\n\n
Если вы хотите поддержать проект материально\nвы можете сделать это через \n<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=se%2esolovyev%40gmail%2ecom&amp;lc=RU&amp;item_name=Android%20Calculator&amp;currency_code=USD&amp;bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted">http://paypal.com</a>\n\n Если вы хотите поддержать проект материально\nвы можете сделать это через \n<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=se%2esolovyev%40gmail%2ecom&amp;lc=RU&amp;item_name=Android%20Calculator&amp;currency_code=USD&amp;bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted">http://paypal.com</a>\n\n
Если вам понравилось приложение -\nпоставьте 5 звёздочек в\n<a href="https://market.android.com/details?id=org.solovyev.android.calculator">андроид.маркете</a> Если вам понравилось приложение -\nпоставьте 5 звёздочек в\n<a href="https://market.android.com/details?id=org.solovyev.android.calculator">андроид.маркете</a>\n\n
Спасибо тем, кто переводил Калькулятор++:\n
на итальянский - Gabriele Ravanetti\n\n
Это приложение использует следующие открытые библиотеки:\n
<a href="http://simple.sourceforge.net">Simple (XML serialization)</a>\n
<a href="http://meditorworld.appspot.com/meditor.txt">JSCL</a>
</string> </string>
<string name="c_undo">назад</string> <string name="c_undo">назад</string>
@ -158,7 +163,7 @@
<string name="c_op_description_mod">Возвращает остаток от деления \'x\' на \'y\'.</string> <string name="c_op_description_mod">Возвращает остаток от деления \'x\' на \'y\'.</string>
<string name="c_op_description_sum">Суммирует функции \'f(i)\', пробегая по переменной \'i\' от \'from\' до \'to\'.</string> <string name="c_op_description_sum">Суммирует функции \'f(i)\', пробегая по переменной \'i\' от \'from\' до \'to\'.</string>
<string name="c_op_description_product">Возвращает произведение функций \'f(i)\', пробегая по переменной \'i\' от \'from\' до \'to\'.</string> <string name="c_op_description_product">Возвращает произведение функций \'f(i)\', пробегая по переменной \'i\' от \'from\' до \'to\'.</string>
<string name="c_op_description_derivative">Возвращает производную порядка \'order\' функции \'f(x)\' по переменной \'x\' и вычисляет её в точке \'x_point\'.</string> <string name="c_op_description_derivative">Возвращает производную порядка \'order\' (по умолчанию = 1) функции \'f(x)\' по переменной \'x\' и вычисляет её в точке \'x_point\' (по умолчанию = такая же как и \'x\').</string>
<string name="c_op_description_integral">Возвращает интеграл функции \'f(x)\' по переменной \'x\'.</string> <string name="c_op_description_integral">Возвращает интеграл функции \'f(x)\' по переменной \'x\'.</string>
<string name="c_op_description_integral_ab">Интегрирует функцию \'f(x)\' по переменной \'x\' от \'a\' до \'b\'.</string> <string name="c_op_description_integral_ab">Интегрирует функцию \'f(x)\' по переменной \'x\' от \'a\' до \'b\'.</string>
@ -185,7 +190,9 @@
\n \n
<b>Как я могу переключиться между радианами и градусами?</b>\n <b>Как я могу переключиться между радианами и градусами?</b>\n
\n \n
На данный момент К++ не поддерживает такого переключения, но вы можете использовать функции deg() и rad() или оператор ° для перевода радиан в градусы и наоборот.\n Для переключения единиц измерения углов либо выберите соответствующий пункт настроек приложения,\nлибо воспользуйтесь переключателем, расположенным на клавише 6\n
(текущее значение выделено жёлтым цветом).\n
Также вы можете воспользоваться функциями deg() и rad() и оператором ° для перевода радиан в градусы и обратно.\n
\n \n
<b>Примеры:</b>\n <b>Примеры:</b>\n
268° = 4.67748\n 268° = 4.67748\n
@ -246,7 +253,8 @@ e ^ i = 0.5403 + 0.84147i\n
2. Используйте ≡ (в верхнем правом углу кнопки =) для упрощения выражения.\n\n 2. Используйте ≡ (в верхнем правом углу кнопки =) для упрощения выражения.\n\n
3. Нажмите на результат для того, чтобы скопировать его в буфер обмена.\n\n 3. Нажмите на результат для того, чтобы скопировать его в буфер обмена.\n\n
4. Используйте кнопку = реже - результат вычисляется на лету.\n\n 4. Используйте кнопку = реже - результат вычисляется на лету.\n\n
4. Создайте константы для часто используемых значений (таким образом вы можете даже сохранять выражения) 4. Создайте константы для часто используемых значений (таким образом вы можете даже сохранять выражения).
5. Используйте переменные расположенные на 4 и 5 клавише.\n\n
</string> </string>
<string name="c_screens_content"> <string name="c_screens_content">

View File

@ -28,7 +28,12 @@
For more information please\ncontact the author by email\n<a href="mailto:se.solovyev@gmail.com">se.solovyev@gmail.com</a> For more information please\ncontact the author by email\n<a href="mailto:se.solovyev@gmail.com">se.solovyev@gmail.com</a>
\nor visit\n<a href="http://se.solovyev.org">http://se.solovyev.org</a>\n\n \nor visit\n<a href="http://se.solovyev.org">http://se.solovyev.org</a>\n\n
If you want to support the project\nyou can donate money via\n<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=se%2esolovyev%40gmail%2ecom&amp;lc=RU&amp;item_name=Android%20Calculator&amp;currency_code=USD&amp;bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted">http://paypal.com</a>\n\n If you want to support the project\nyou can donate money via\n<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=se%2esolovyev%40gmail%2ecom&amp;lc=RU&amp;item_name=Android%20Calculator&amp;currency_code=USD&amp;bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted">http://paypal.com</a>\n\n
If you like the application\nrank it with 5 stars in\n<a href="https://market.android.com/details?id=org.solovyev.android.calculator">android.market</a> If you like the application\nrank it with 5 stars in\n<a href="https://market.android.com/details?id=org.solovyev.android.calculator">android.market</a>\n\n
Thanks to people who translate Calculator++ in different languages:\n
Italian - Gabriele Ravanetti\n\n
This application uses next open source libraries:\n
<a href="http://simple.sourceforge.net">Simple (XML serialization)</a>\n
<a href="http://meditorworld.appspot.com/meditor.txt">JSCL</a>
</string> </string>
<string name="c_undo">undo</string> <string name="c_undo">undo</string>
@ -159,7 +164,7 @@
<string name="c_op_description_mod">Modulo operation finds the remainder of division of \'x\' by \'y\'.</string> <string name="c_op_description_mod">Modulo operation finds the remainder of division of \'x\' by \'y\'.</string>
<string name="c_op_description_sum">Sums functions \'f(i)\', iterating through \'i\' from \'from\' to \'to\'.</string> <string name="c_op_description_sum">Sums functions \'f(i)\', iterating through \'i\' from \'from\' to \'to\'.</string>
<string name="c_op_description_product">Gives product of functions \'f(i)\', iterating through \'i\' from \'from\' to \'to\'.</string> <string name="c_op_description_product">Gives product of functions \'f(i)\', iterating through \'i\' from \'from\' to \'to\'.</string>
<string name="c_op_description_derivative">Gives derivative of order \'order\' of functions \'f(x)\' by \'x\' variable and calculates at point \'x_point\'.</string> <string name="c_op_description_derivative">Gives derivative of order \'order\' (default = 1) of functions \'f(x)\' by \'x\' variable and calculates at point \'x_point\' (default = same as \'x\').</string>
<string name="c_op_description_integral">Gives integral of function \'f(x)\' by \'x\' variable.</string> <string name="c_op_description_integral">Gives integral of function \'f(x)\' by \'x\' variable.</string>
<string name="c_op_description_integral_ab">Integrates function \'f(x)\' by \'x\' variable from \'a\' to \'b\'.</string> <string name="c_op_description_integral_ab">Integrates function \'f(x)\' by \'x\' variable from \'a\' to \'b\'.</string>
@ -187,7 +192,10 @@ Push the button and slide lightly up or down. Depending on value showed on the b
\n \n
<b>How can I toggle between radians and degrees?</b>\n <b>How can I toggle between radians and degrees?</b>\n
\n \n
Currently C++ doesn\'t support this feature but you can use deg() and rad() functions and ° operator to convert degrees to radians and vice versa.\n To toggle between different angle units you can either change appropriate option in application settings\n
or use the toggle switch located on the 6 button\n
(current value is lighted with yellow color).\n
Also you can use deg() and rad() functions and ° operator to convert degrees to radians and vice versa.\n
\n \n
<b>Examples:</b>\n <b>Examples:</b>\n
268° = 4.67748\n 268° = 4.67748\n
@ -248,6 +256,7 @@ Check the \'Round result\' preference in application settings - it should be tur
3. Just click on the result to copy it to the clipboard\n\n 3. Just click on the result to copy it to the clipboard\n\n
4. Use = button seldom - result is calculating on the fly\n\n 4. Use = button seldom - result is calculating on the fly\n\n
4. Add constants for often used values (you can even save expressions)\n\n 4. Add constants for often used values (you can even save expressions)\n\n
5. Use variables located on 4 and 5 buttons\n\n
</string> </string>
<string name="c_screens_content"> <string name="c_screens_content">

View File

@ -38,10 +38,7 @@ import org.solovyev.common.utils.history.HistoryAction;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.Modifier; import java.lang.reflect.Modifier;
import java.text.DecimalFormatSymbols; import java.text.DecimalFormatSymbols;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Locale;
import java.util.Map;
public class CalculatorActivity extends Activity implements FontSizeAdjuster, SharedPreferences.OnSharedPreferenceChangeListener { public class CalculatorActivity extends Activity implements FontSizeAdjuster, SharedPreferences.OnSharedPreferenceChangeListener {
@ -122,7 +119,7 @@ public class CalculatorActivity extends Activity implements FontSizeAdjuster, Sh
equalsButton.setOnDragListener(evalOnDragListener); equalsButton.setOnDragListener(evalOnDragListener);
} }
final AngleUnitsButton angleUnitsButton = (AngleUnitsButton) findViewById(R.id.clearButton); final AngleUnitsButton angleUnitsButton = (AngleUnitsButton) findViewById(R.id.sixDigitButton);
if (angleUnitsButton != null) { if (angleUnitsButton != null) {
final OnDragListener varsOnDragListener = new OnDragListenerVibrator(newOnDragListener(new AngleUnitsChanger(), dragPreferences), vibrator, preferences); final OnDragListener varsOnDragListener = new OnDragListenerVibrator(newOnDragListener(new AngleUnitsChanger(), dragPreferences), vibrator, preferences);
angleUnitsButton.setOnDragListener(varsOnDragListener); angleUnitsButton.setOnDragListener(varsOnDragListener);

View File

@ -7,6 +7,7 @@
package org.solovyev.android.calculator.model; package org.solovyev.android.calculator.model;
import jscl.math.function.Constant; import jscl.math.function.Constant;
import jscl.math.function.ExtendedConstant;
import jscl.math.function.IConstant; import jscl.math.function.IConstant;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@ -159,7 +160,7 @@ public class Var implements IConstant {
Double result = null; Double result = null;
if (value != null) { if (value != null) {
try { try {
result = Double.valueOf(value); result = ExtendedConstant.getDoubleValue0(getName(), value);
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
// do nothing - string is not a double // do nothing - string is not a double
} }
@ -224,12 +225,17 @@ public class Var implements IConstant {
@Override @Override
public String toString() { public String toString() {
final Double doubleValue = getDoubleValue();
if (doubleValue == null) {
final String stringValue = getValue(); final String stringValue = getValue();
if (!StringUtils.isEmpty(stringValue)) { if (!StringUtils.isEmpty(stringValue)) {
return getName() + " = " + stringValue; return getName() + " = " + stringValue;
} else { } else {
return getName(); return getName();
} }
} else {
return getName() + " = " + doubleValue;
}
} }
@Override @Override

View File

@ -1,3 +1,9 @@
/*
* Copyright (c) 2009-2011. Created by serso aka se.solovyev.
* For more information, please, contact se.solovyev@gmail.com
* or visit http://se.solovyev.org
*/
package org.solovyev.android.view.widgets; package org.solovyev.android.view.widgets;
import android.content.Context; import android.content.Context;
@ -32,6 +38,7 @@ public class AngleUnitsButton extends DirectionDragButton {
result.setColor(resources.getColor(R.color.selected_angle_unit_text_color)); result.setColor(resources.getColor(R.color.selected_angle_unit_text_color));
} else { } else {
result.setColor(resources.getColor(R.color.default_text_color)); result.setColor(resources.getColor(R.color.default_text_color));
result.setAlpha(getDefaultDirectionTextAlpha());
} }
} }

View File

@ -188,12 +188,16 @@ public class DirectionDragButton extends DragButton {
private static TextPaint getUpDownTextPaint(@NotNull Paint basePaint, @NotNull Resources resources, @NotNull Float directionTextScale) { private static TextPaint getUpDownTextPaint(@NotNull Paint basePaint, @NotNull Resources resources, @NotNull Float directionTextScale) {
final TextPaint result = new TextPaint(basePaint); final TextPaint result = new TextPaint(basePaint);
result.setColor(resources.getColor(R.color.button_text_color)); result.setColor(resources.getColor(R.color.button_text_color));
result.setAlpha(150); result.setAlpha(getDefaultDirectionTextAlpha());
result.setTextSize(basePaint.getTextSize() * directionTextScale); result.setTextSize(basePaint.getTextSize() * directionTextScale);
return result; return result;
} }
protected static int getDefaultDirectionTextAlpha() {
return 150;
}
@Nullable @Nullable
public String getTextUp() { public String getTextUp() {
return textUp; return textUp;