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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.12.2008, 11:39
KiL33 вне форума Посмотреть профиль Отправить личное сообщение для KiL33 Найти все сообщения от KiL33
  № 11  
Ответить с цитированием
KiL33
 
Аватар для KiL33

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
И заметьте что поле "Итог" должно начинать с первого кадра, а не 35)))
Вложения
Тип файла: rar raschet_2+2=8)).rar (39.2 Кб, 31 просмотров)

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

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

оно у меня уже практически работает))))
правда пришлось подглядеть в ролик KiL33

Подглядывалка немного попортила код, но хотябы почти работает)
Заодно убедился что я все неправильно делал

Она не хочет считать дробные числа (например 0,5 + 0,5 + 0,5 + 0,5 * 4 = 0)
А вот так 0,5 + 0,5 + 2 + 2 * 4 = 16 это значит что дробные числа он игнорирует
Причем ей без разницы точки или зяпятые
Код AS1/AS2:
var textFieldsNum:Number = 4;// кол-во полей
var total:Number = countTotal();// сумма полей * на их кол-во
 
function countTotal():Number{
	var inputedNums:Array = [];// контейнер для заполненных
	var i:Number = 1;
	while (i <= textFieldsNum) {
		var inputedNum:String = this[("x" + i)].text;
		if (inputedNum != "") {//если не пустое
			inputedNums.push(parseInt(inputedNum));
		}
		i++;
	}
	var totalSum = 0;
	var j = 0;
	while (j < inputedNums.length) {
		var totalSum = (totalSum + inputedNums[j]);
		total_mc.text = totalSum * inputedNums.length;
		j++;
	}
	return totalSum * inputedNums.length;
}
stop();
Добавлено через 31 минуту
и теперь когда полям присвоены имена, а не так как я делал переменные
не работает кнопа "очистить"
там у меня было:
Код AS1/AS2:
on (release) {
	x1="";
	x2="";
	x3="";
	x4="";
}
теперь вот тоже ума не приложу как их очищать

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

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
Цитата:
Сообщение от Anoxia Посмотреть сообщение
теперь вот тоже ума не приложу как их очищать
Приложите руки к клавиатуре и исправьте))
Код:
on (release) {
	x1.text="";
	x2.text="";
	x3.text="";
	x4.text="";
}

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

Регистрация: Jan 2004
Сообщений: 24
точно) очистка заработала.
спасибо

осталось разобратся с дробями
кстати заметил что он не игнорирует все число.
видит целое число а на дробные ему пофик
2,5 + 2 + 2 + 2 * 4 = 32

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

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
parseInt() заменить на Number()

ps дроби пишутся через точку
Уж можно было догадаться почитав посты №6 и №7


Последний раз редактировалось Mnilionic; 27.12.2008 в 23:07.
Старый 28.12.2008, 08:30
KiL33 вне форума Посмотреть профиль Отправить личное сообщение для KiL33 Найти все сообщения от KiL33
  № 16  
Ответить с цитированием
KiL33
 
Аватар для KiL33

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
Ой, только сейчас заметил, что забыл исходник в архив засунуть)))_ну думаю Anoxia вы и так разобрались)

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

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

а возможно ли заставить флеш заменять знак "," на "." ??
тоесть чтобы если ошиблись при вводе и наставили запятых, то флеш сам перевел

покапал класс string и впринципе нашел примеры, но там везде поиск и замена по определенной строке.


тоесть было бы неплохо если бы он искал по всем полям и заменял, до того как провел расчеты. наверно лучший вариант сразу после проверки на пустые поля

Добавлено через 12 минут
Вот нашел подобную функцию
тока незнаю как заставить работать)))

Код AS1/AS2:
function _replace(str, toReplace, letters):String {
	var _pos = [];
	for (var i = 0; i<str.length; i++) {
		if (str.charAt(i) == toReplace) {
			_pos.push(i);
		}
	}
	for (var j = 0; j<letters.length; j++) {
		str = str.substring(0, _pos[j])+letters[j]+str.substring(_pos[j]+1);
	}
	trace(str);
	return str;
}
 
_replace(",", ["."]);


Последний раз редактировалось Anoxia; 28.12.2008 в 10:56.
Старый 28.12.2008, 18:23
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 18  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
Код AS1/AS2:
function str_replace(str, from, to):String {
	var parts = str.split( from );
	var result = parts.join( to );
	return result;
} 
 
str = '1,4';
new_str = str_replace( str, ',', '.');
trace( new_str );

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

Регистрация: Jan 2004
Сообщений: 24
Цитата:
Сообщение от Mnilionic Посмотреть сообщение
Код AS1/AS2:
function str_replace(str, from, to):String {
	var parts = str.split( from );
	var result = parts.join( to );
	return result;
} 
 
str = '1,4';
new_str = str_replace( str, ',', '.');
trace( new_str );
втавил функцию в новый слой
но чето не работает
Вложения
Тип файла: rar raschet222.rar (133.3 Кб, 28 просмотров)

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

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

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

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

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


 


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


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