Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.12.2008, 17:49
Anoxia вне форума Посмотреть профиль Отправить личное сообщение для Anoxia Найти все сообщения от Anoxia
  № 1  
Ответить с цитированием
Anoxia

Регистрация: Jan 2004
Сообщений: 24
По умолчанию Подсчет заполненных текстовых полей

Подскажите как сосчитать поля с числами
тоесть есть к примеру 4 поля (x1, x2, x3, x4)
иногда заполняются все, а иногда нет.

К примеру я хочу посчитать формулу (суммировать все поля) и умножить на количество полей, игнорируя незаполненные
что то вроде такого:

заполнил 3 поля
x1+x2+x3*(количество заполненых полей)

заранее благодарен

Старый 24.12.2008, 18:26
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 2  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Код AS1/AS2:
var textFieldsNum:Number = 4;// кол-во полей
var total:Number = countTotal(); // сумма полей * на их кол-во
 
function countTotal():Number {
	var inputedNums:Array = [];// контейнер для заполненных
	for (var i:Number = 1; i<=textFieldsNum; i++) {
		var inputedText:String = this['textField'+i].text;
		if (inputedText != "") {//если не пустое
			inputedNums.push(parseInt(inputedText));// запоминаем и заодно приводим в число
		}
	}
	// подсчитываем
	var totalSum:Number = 0;
	for (var j:Number = 0; j<inputedNums.length; j++) {
		totalSum += inputedNums[j];
	}
	return totalSum*inputedNums.length;
}

Старый 24.12.2008, 20:22
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 3  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
Kuruki, почему бы вместо "запоминания" сразу не складывать?
но с другой стороны сам люблю, когда мухи отдельно...

Старый 24.12.2008, 20:32
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 4  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Код AS1/AS2:
var textFieldsNum:Number = 4;// кол-во полей
var total:Number = countTotal(); // сумма полей * на их кол-во
 
function countTotal():Number {
	var totalSum:Number = 0;
	var filledFieldsCounter:Number = 0;
	for (var i:Number = 1; i<=textFieldsNum; i++) {
		var inputedNum:String = this['textField'+i].text;
		if (inputedNum != "") {//если не пустое
			totalSum += parseInt(inputedNum);
			filledFieldsCounter++;
		}
	}
 
	return totalSum*filledFieldsCounter;
}

Старый 24.12.2008, 20:50
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 5  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
Код AS1/AS2:
	...
	var num = parseInt(inputedNum);
	if ( !isNaN(num) ) {
		totalSum += num;
		...

Старый 24.12.2008, 20:57
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 6  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Я учитывал, что в поле можно ввести только числа и точку
UPD: а, нет, всеравно проверка нужна.

Старый 24.12.2008, 21:12
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 7  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
Цитата:
Как говорят у нас в Братстве: лучше перебдеть, чем недобдеть.

там как раз из-за точки и можно намутить NaN-ов )))

Старый 25.12.2008, 08:10
Anoxia вне форума Посмотреть профиль Отправить личное сообщение для Anoxia Найти все сообщения от Anoxia
  № 8  
Ответить с цитированием
Anoxia

Регистрация: Jan 2004
Сообщений: 24
сегодня буду пробовать
спасибо заранее всем огромное)

Добавлено через 4 часа 30 минут
еще бы понять как такое заставить обрабатывать мои поля
которые изначально уже есть с присвоеными именами x1, x2, x3...
тоесть я их не создаю через createTextField

не могу понять как результат вывести в мое отдельное поле "itog"

Старый 25.12.2008, 18:36
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 9  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
строку
Код:
var inputedNum:String = this['textField'+i].text;
замените на
Код:
var inputedNum:String = this['x'+i].text;

Старый 26.12.2008, 10:13
Anoxia вне форума Посмотреть профиль Отправить личное сообщение для Anoxia Найти все сообщения от Anoxia
  № 10  
Ответить с цитированием
Anoxia

Регистрация: Jan 2004
Сообщений: 24
спасибо. уже что то

хоть и пока не работает)
выложу на всякий исходник чтобы понятно было что я хочу сделать

осталось разобратся как присвоить результат переменной itog
Вложения
Тип файла: rar raschet222.rar (55.9 Кб, 65 просмотров)

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:30.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:30.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.