animateでカレンダーアプリを制作しており、見よう見まねで作ったのですが
//最初の日までカラムをスキップ
for (var i:int = 1; i <= dayOfWeek; i++) {
col++;
calStr += " ";
};
これを書いたCalendar.asをインポートすると、「未定義のプロパティdayOfWeekへのアクセスです。」とエラーが出ます。
参考書のまま書いたつもりですが、どうしてこうなったか分かりません。
解決法をご存知の方がいらっしゃいましたら、教えてくださると嬉しいです。
package {
public class Calendar{
private var theYear:int; //年
private var theMonth:int; //月
//コンストラクタ public function Calendar(year:uint, month:uint) { theYear = year; theMonth = month; } //カレンダーを戻す public function getCal() :String { var col:int = 1; //カラム var calStr:String; var numOfDays:int = getMonthDays(); var dayOfDays:int = getFirstDay(); var dayStr:String; calStr = " S M Tu W Th F S\n"; //最初の日までカラムをスキップ for (var i:int = 1; i <= dayOfWeek; i++) { col++; calStr += " "; }; //日を順に書き出す for (var day:int = 1; day <= numOfDays; day++) { var aDay;String; if (day >= 10 ) { dayStr = day + " "; } else { dayStr = " " + day + " "; } if (col == 7) { calStr += dayStr + "\n"; col = 1 } else { calStr += dayStr; col++; } } return calStr; } //年と月を設定 public function setYearMonth(year:int, month:int):void { theYear = year; theMonth = month } //年を戻す public function getYear():uint { return theYear; } //月を戻す public function getMonth():uint { return theMonth; } //うるう年かどうか調べる private function isLeapYear(year:int):Boolean { if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) { return true; } else { return false; } } //月の最初の曜日を決める private function getFirstDay():uint { var tmpDate = new Date(theYear, theMonth - 1, 1); return tmpDate.getDay(); } //月の日数を求める private function getMonthDays():uint { var monthDays = new Array (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); if (isLeapYear(theYear)) { monthDays[1] = 29; } return monthDays[theMonth - 1]; } //次の月に進む public function nextMonth():void { var month:int = getMonth(); var year:int = getYear(); if (month == 12) { month = 1; year++; } else { month++; } setYearMonth(year, month); } //前の月に戻る public function prevMonth():void { var month:int = getMonth(); var year:int = getYear(); if (month == 1) { month = 12; year--; } else { month--; } setYearMonth(year, month); } }
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。