0

我想在管理员将值/日期输入到 text_box 后进行结束订阅,然后它将推送到数组,之后我想当时间到达输入的日期时,应用程序将退出。

但我不知道方法。下面是我的代码

var my_date:Date; 

var my_timer:Timer=new Timer(1000);
my_timer.addEventListener(TimerEvent.TIMER, onTimer);
my_timer.start(); 


var tarikh:Array = new Array();
tarikh.hari = [0];
tarikh.bulan = [1];
tarikh.tahun = [2];

my_date = new Date();


function onTimer(e:TimerEvent):void
{
my_date = new Date();

//trace(my_date.date + ":" + my_date.month + " : " + my_date.fullYear );

}


btnCuba.addEventListener(MouseEvent.CLICK,MMM);
function MMM (event:MouseEvent):void
{
    tarikh.hari = String(hari.text);
    tarikh.bulan = String(bulan.text);
    tarikh.tahun = String(tahun.text) ;
    tarikh.push(hari,bulan,tahun);

    setHours();
    trace(tarikh.hari + "" + tarikh.bulan + "" + tarikh.tahun);

    }

function setHours():void

{
    if (my_date.date == tarikh.hari && my_date.month == tarikh.hari && my_date.fullYear == tarikh.hari  && && my_date.minutes == 01)
    {

        NativeApplication.nativeApplication.exit();

        }

    else
    {
        my_timer.start();
        }

}
4

1 回答 1

0

tarikh是一个数组。使用数组索引访问运算符分配数组。当您想将数据存储在数组中时,您可以这样做:

array_name[index] = value

或者在这种情况下,

tarikh[0] = hari;

查看代码,tarikh 似乎表示日期,hari、bulan 和 tahun 似乎表示日、月和年。Date 类没有这些属性(您必须将它们翻译成英文);或者,比较日期的更简单方法是比较两个日期对象返回的 getTime() 函数:

if(my_date.getTime() == tarikh.getTime()) { NativeApplication.nativeApplication.exit(); }

问题是tarikh现在不是 Date 对象,而是一个 Array。数组本身没有任何属性(除了长度),所以也许您正在寻找tarikh一个 Date 对象?您可以尝试tarikh使用如下值作为 Date 对象:

tarikh = new Date(hari.text + " " + bulan.text + " " + tahun.text);如果文本值是字母(如 Tue Feb 3 2005),否则如果它们是数字或整数,则尝试强制转换并在适当的参数中使用它。

于 2018-04-20T16:22:54.627 回答