This commit is contained in:
Sergey Solovyev 2012-11-18 15:20:01 +04:00
parent 96d937e74b
commit 5e357da74a
8 changed files with 40 additions and 33 deletions

View File

@ -57,11 +57,11 @@
<string name="c_var_create_var">Crear variable</string> <string name="c_var_create_var">Crear variable</string>
<string name="c_var_edit_var">Editar variable</string> <string name="c_var_edit_var">Editar variable</string>
<string name="c_value.is.not.a.number">¡El valor debe ser numérico o estar vacío!</string> <string name="c_value_is_not_a_number">¡El valor debe ser numérico o estar vacío!</string>
<string name="c_var.name.clashes">La variable name entra en conflicto con la función name!</string> <string name="c_var_name_clashes">La variable name entra en conflicto con la función name!</string>
<string name="c_var.already.exists">¡Ya existe una variable con el mismo nombre!</string> <string name="c_var_already_exists">¡Ya existe una variable con el mismo nombre!</string>
<string name="c_name.is.not.valid">El nombre de la Constante no es válido: el nombre debe comenzar con una letra,puede contener letras, dígitos y líneas.</string> <string name="c_name_is_not_valid">El nombre de la Constante no es válido: el nombre debe comenzar con una letra,puede contener letras, dígitos y líneas.</string>
<string name="c_sys.var.cannot.be.changed">¡Una Variable de Sistema no puede ser cambiada!</string> <string name="c_sys_var_cannot_be_changed">¡Una Variable de Sistema no puede ser cambiada!</string>
<string name="c_calc_editor_hint">Introducir nuevo cálculo</string> <string name="c_calc_editor_hint">Introducir nuevo cálculo</string>
<string name="c_press_to_copy">Pulsar para copiar</string> <string name="c_press_to_copy">Pulsar para copiar</string>

View File

@ -57,11 +57,11 @@
<string name="c_var_create_var">Crea variabile</string> <string name="c_var_create_var">Crea variabile</string>
<string name="c_var_edit_var">Modifica 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_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_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_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_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_sys_var_cannot_be_changed">La variabile di sistema non può essere cambiata!</string>
<string name="c_calc_editor_hint">Inserisci una nuova espressione</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_press_to_copy">Premi per copiare</string>

View File

@ -62,11 +62,11 @@
<string name="c_var_create_var">Создать переменную</string> <string name="c_var_create_var">Создать переменную</string>
<string name="c_var_edit_var">Редактировать переменную</string> <string name="c_var_edit_var">Редактировать переменную</string>
<string name="c_value.is.not.a.number">Значение должно либо оставаться пустым либо быть числом!</string> <string name="c_value_is_not_a_number">Значение должно либо оставаться пустым либо быть числом: если у вас есть параметры, то создайте функцию!</string>
<string name="c_var.name.clashes">Имя переменной не может быть зарезервированным системным именем!</string> <string name="c_var_name_clashes">Имя переменной не может быть зарезервированным системным именем!</string>
<string name="c_var.already.exists">Переменная с таким именем уже существует!</string> <string name="c_var_already_exists">Переменная с таким именем уже существует!</string>
<string name="c_name.is.not.valid">Имя переменной не валидно: им ядолжно начинаться с буквы, может содержать буквы, цифры и знак подчёркивания.</string> <string name="c_name_is_not_valid">Имя переменной не валидно: им ядолжно начинаться с буквы, может содержать буквы, цифры и знак подчёркивания.</string>
<string name="c_sys.var.cannot.be.changed">Системная переменная не может быть изменена!</string> <string name="c_sys_var_cannot_be_changed">Системная переменная не может быть изменена!</string>
<string name="c_calc_editor_hint">Введите новое выражение</string> <string name="c_calc_editor_hint">Введите новое выражение</string>
<string name="c_press_to_copy">Нажмите для копирования</string> <string name="c_press_to_copy">Нажмите для копирования</string>

View File

@ -62,11 +62,11 @@
<string name="c_var_create_var">Створити змінну</string> <string name="c_var_create_var">Створити змінну</string>
<string name="c_var_edit_var">Редагувати змінну</string> <string name="c_var_edit_var">Редагувати змінну</string>
<string name="c_value.is.not.a.number">Значення може бути порожнім або числом!</string> <string name="c_value_is_not_a_number">Значення може бути порожнім або числом!</string>
<string name="c_var.name.clashes">Ім’я змінної не може бути зарезервованим системним ім’ям!</string> <string name="c_var_name_clashes">Ім’я змінної не може бути зарезервованим системним ім’ям!</string>
<string name="c_var.already.exists">Змінна з таким іменем вже існує!</string> <string name="c_var_already_exists">Змінна з таким іменем вже існує!</string>
<string name="c_name.is.not.valid">Невірне ім’я змінної: воно мусить починатися з букви, може містити букви, цифри та знак підкреслення (_).</string> <string name="c_name_is_not_valid">Невірне ім’я змінної: воно мусить починатися з букви, може містити букви, цифри та знак підкреслення (_).</string>
<string name="c_sys.var.cannot.be.changed">Системну змінну не можна змінювати!</string> <string name="c_sys_var_cannot_be_changed">Системну змінну не можна змінювати!</string>
<string name="c_calc_editor_hint">Введіть новий вираз</string> <string name="c_calc_editor_hint">Введіть новий вираз</string>
<string name="c_press_to_copy">натисніть для копіювання</string> <string name="c_press_to_copy">натисніть для копіювання</string>

View File

@ -62,11 +62,11 @@
<string name="c_var_create_var">新增變數</string> <string name="c_var_create_var">新增變數</string>
<string name="c_var_edit_var">編輯變數</string> <string name="c_var_edit_var">編輯變數</string>
<string name="c_value.is.not.a.number">值必須是數字或是空白!</string> <string name="c_value_is_not_a_number">值必須是數字或是空白!</string>
<string name="c_var.name.clashes">變數名稱與函數名稱衝突!</string> <string name="c_var_name_clashes">變數名稱與函數名稱衝突!</string>
<string name="c_var.already.exists">已存在相同名稱的變數!</string> <string name="c_var_already_exists">已存在相同名稱的變數!</string>
<string name="c_name.is.not.valid">常數名稱不正確: 名稱必須由英文字母開頭, 後面接著英文字母、數字或底線</string> <string name="c_name_is_not_valid">常數名稱不正確: 名稱必須由英文字母開頭, 後面接著英文字母、數字或底線</string>
<string name="c_sys.var.cannot.be.changed">無法修改系統變數!</string> <string name="c_sys_var_cannot_be_changed">無法修改系統變數!</string>
<string name="c_calc_editor_hint">輸入新的運算式</string> <string name="c_calc_editor_hint">輸入新的運算式</string>
<string name="c_press_to_copy">按下複製</string> <string name="c_press_to_copy">按下複製</string>

View File

@ -62,11 +62,11 @@
<string name="c_var_create_var">Create variable</string> <string name="c_var_create_var">Create variable</string>
<string name="c_var_edit_var">Edit variable</string> <string name="c_var_edit_var">Edit variable</string>
<string name="c_value.is.not.a.number">Value must be either number or empty!</string> <string name="c_value_is_not_a_number">Value must be either number or empty: if you have parameters - create function instead!</string>
<string name="c_var.name.clashes">Variable name clashes with function name!</string> <string name="c_var_name_clashes">Variable name clashes with function name!</string>
<string name="c_var.already.exists">Variable with same name already exists!</string> <string name="c_var_already_exists">Variable with same name already exists!</string>
<string name="c_name.is.not.valid">Name of constant is not valid: name must start with letter, can contain letters, digits and underscore.</string> <string name="c_name_is_not_valid">Name of constant is not valid: name must start with letter, can contain letters, digits and underscore.</string>
<string name="c_sys.var.cannot.be.changed">System variable cannot be changed!</string> <string name="c_sys_var_cannot_be_changed">System variable cannot be changed!</string>
<string name="c_calc_editor_hint">Enter new expression</string> <string name="c_calc_editor_hint">Enter new expression</string>
<string name="c_press_to_copy">Press to copy</string> <string name="c_press_to_copy">Press to copy</string>

View File

@ -120,7 +120,7 @@ public class CalculatorActivityLauncher {
context.startActivity(intent); context.startActivity(intent);
} }
} else { } else {
CalculatorLocatorImpl.getInstance().getNotifier().showMessage(R.string.not_valid_result, MessageType.error); CalculatorLocatorImpl.getInstance().getNotifier().showMessage(R.string.c_value_is_not_a_number, MessageType.error);
} }
} else { } else {
CalculatorLocatorImpl.getInstance().getNotifier().showMessage(R.string.empty_var_error, MessageType.error); CalculatorLocatorImpl.getInstance().getNotifier().showMessage(R.string.empty_var_error, MessageType.error);

View File

@ -118,8 +118,15 @@ public class CalculatorVarsFragment extends AbstractMathEntityListFragment<ICons
} }
public static boolean isValidValue(@NotNull String value) { public static boolean isValidValue(@NotNull String value) {
// now every string might be constant try {
final PreparedExpression expression = ToJsclTextProcessor.getInstance().process(value);
final List<IConstant> constants = expression.getUndefinedVars();
return constants.isEmpty();
} catch (RuntimeException e) {
return true; return true;
} catch (CalculatorParseException e) {
return true;
}
} }
/* /*