Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-10-2004, 01:07   #1 (permalink)
409coffeemaker
Gast
 
Beiträge: n/a
The Leading Zero | Hardcore if/else //Logik Check

Hi zusammen,

ich bastel mit gerade eine universelle Time Funktion, für die ich die Angaben von HH:MM:SS:MS(S) immer jeweils mit führender Null entsprechend des Wertes benötige.

Jetzt sag mir bitte keiner, das Flash sowas wie zb PHP hat, das soetwas selbst berechnet…

Ansonsten bitte ich jeden Mutigen, dieses Script auf Fehler zu prüfen… alleine steigt man da nicht mehr durch.

Hat jemand vielleicht eine elegantere Lösung?

PHP-Code:
//Actionscript 1.0
if(timeGoesBy.getHours()<10)
        {
        if(
timeGoesBy.getMinutes()<10)
            {                
            if(
timeGoesBy.getSeconds()<10)
                {                    
                if(
timeGoesBy.getMilliseconds()<100)
                    {
                    if(
timeGoesBy.getMilliseconds()<10)
                        {                        
                        var 
time='0'+timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':00'+timeGoesBy.getMilliseconds();
                        }
                    else
                        {
                        var 
time='0'+timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':0'+timeGoesBy.getMilliseconds();                    
                        }
                    }
                else
                    {
                    var 
time='0'+timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':'+timeGoesBy.getMilliseconds();    
                    }                
                }
            else
                {
                if(
timeGoesBy.getMilliseconds()<100)
                    {
                    if(
timeGoesBy.getMilliseconds()<10)
                        {
                        var 
time='0'+timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':00'+timeGoesBy.getMilliseconds();
                        }
                    else
                        {
                        var 
time='0'+timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':0'+timeGoesBy.getMilliseconds();                        
                        }
                    }
                else
                    {
                    var 
time='0'+timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':'+timeGoesBy.getMilliseconds();                        
                    }
                }
            }
        else
            {    
            if(
timeGoesBy.getSeconds()<10)
                {                    
                if(
timeGoesBy.getMilliseconds()<100)
                    {
                    if(
timeGoesBy.getMilliseconds()<10)
                        {
                        var 
time='0'+timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':00'+timeGoesBy.getMilliseconds();                
                        }
                    else
                        {
                        var 
time='0'+timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':0'+timeGoesBy.getMilliseconds();
                        }
                    }
                else
                    {
                    var 
time='0'+timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':'+timeGoesBy.getMilliseconds();
                    }                    
                }
            else
                {
                if(
timeGoesBy.getMilliseconds()<100)
                    {
                    if(
timeGoesBy.getMilliseconds()<10)
                        {
                        var 
time='0'+timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':00'+timeGoesBy.getMilliseconds();                    
                        }
                    else
                        {
                        var 
time='0'+timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':0'+timeGoesBy.getMilliseconds();
                        }
                    }
                else
                    {
                    var 
time='0'+timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':'+timeGoesBy.getMilliseconds();
                    }
                }
            }
        }
    else
        {
        if(
timeGoesBy.getMinutes()<10)
            {    
            if(
timeGoesBy.getSeconds()<10)
                {                    
                if(
timeGoesBy.getMilliseconds()<100)
                    {
                    if(
timeGoesBy.getMilliseconds()<10)
                        {
                        var 
time=timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':00'+timeGoesBy.getMilliseconds();                    
                        }
                    else
                        {
                        var 
time=timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':0'+timeGoesBy.getMilliseconds();
                        }
                    }
                else
                    {
                    var 
time=timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':'+timeGoesBy.getMilliseconds();
                    }
                    
                }
            else
                {
                if(
timeGoesBy.getMilliseconds()<100)
                    {
                    if(
timeGoesBy.getMilliseconds()<10)
                        {
                        var 
time=timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':00'+timeGoesBy.getMilliseconds();
                        }
                    else
                        {
                        var 
time=timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':0'+timeGoesBy.getMilliseconds();
                        }
                    }
                else
                    {
                    var 
time=timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':'+timeGoesBy.getMilliseconds();
                    }
                }
            }
        else
            {
            if(
timeGoesBy.getSeconds()<10)
                {                    
                if(
timeGoesBy.getMilliseconds()<100)
                    {
                    if(
timeGoesBy.getMilliseconds()<10)
                        {
                        var 
time=timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':00'+timeGoesBy.getMilliseconds();
                        }
                    else
                        {
                        var 
time=timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':0'+timeGoesBy.getMilliseconds();
                        }
                    }
                else
                    {
                    var 
time=timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':'+timeGoesBy.getMilliseconds();
                    }                    
                }
            else
                {
                if(
timeGoesBy.getMilliseconds()<100)
                    {
                    if(
timeGoesBy.getMilliseconds()<10)
                        {
                        var 
time=timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':00'+timeGoesBy.getMilliseconds();
                        }
                    else
                        {
                        var 
time=timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':0'+timeGoesBy.getMilliseconds();
                        }
                    }
                else
                    {
                    var 
time=timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':'+timeGoesBy.getMilliseconds();
                    }
                }
            }
        }
    } 



Liebe Grüße

Yves
  Mit Zitat antworten
Alt 28-10-2004, 01:07   #2 (permalink)
409coffeemaker
Gast
 
Beiträge: n/a
Das ganze sieht dann am Ende so aus…

PHP-Code:
//Actionscript 1.0
_global.mouseObject=attachMovie('mouseobject''mouseObject',10000)
_global.mouseObject._visible=false;
_global.mousePercentage=function(operation)
    {
    if(
operation=='show');
        {
        
_global.mouseObject._x=_root._xmouse;
        
_global.mouseObject._y=_root._ymouse;
        
_global.mouseObject.onEnterFrame=function()
            {
            var 
xTrail=(_root._xmouse-this._x)/5;
            var 
yTrail=(_root._ymouse-this._y)/5;
            
this._x+=xTrail;
            
this._y+=yTrail;
            
updateAfterEvent();
            }
        
_global.mouseObject._visible=true;
        
Mouse.hide();
        }
    if(
operation=='hide')
        {
        
delete _global.mouseObject.onEnterFrame;
        
_global.mouseObject._visible=false;
        
_global.mouseObject.percent.text='';
        
_global.mouseObject.total.text='';
        
_global.mouseObject.current.text='';
        
_global.mouseObject.still.text='';
        
_global.mouseObject.speed.text='';
        
_global.mouseObject.elapsed.text='';
        
_global.mouseObject.left.text='';
        
_global.mouseObject.year.text='';
        
_global.mouseObject.month.text='';
        
_global.mouseObject.day.text='';
        
_global.mouseObject.localtime.text='';
        
_global.mouseObject.offset.text='';
        
_global.mouseObject.unix.text='';
        
Mouse.show();
        }
    };

_global.mousePercentage('show');
this.onEnterFrame=function()
    {
    var 
current=_root.getBytesLoaded();
    var 
total=_root.getBytesTotal();
    var 
percent=Math.round((current/total)*100);
    var 
still=Math.round(total-current);
    var 
elapsed=getTimer();
    var 
speed=Math.round((current/elapsed)/1024)*1000;
    var 
left=Math.round(((total-current)/1024)/speed);
    var 
timeGoesBy=new Date();
    var 
year=timeGoesBy.getFullYear();
    if(
timeGoesBy.getMonth()<10)
        {
        var 
month='0'+timeGoesBy.getMonth();
        }
    else
        {
        var 
month=timeGoesBy.getMonth();
        }
    if(
timeGoesBy.getDate()<10)
        {
        var 
day='0'+timeGoesBy.getDate();
        }
    else
        {
        var 
day=timeGoesBy.getDate();
        }
    if(
timeGoesBy.getHours()<10)
        {
        if(
timeGoesBy.getMinutes()<10)
            {                
            if(
timeGoesBy.getSeconds()<10)
                {                    
                if(
timeGoesBy.getMilliseconds()<100)
                    {
                    if(
timeGoesBy.getMilliseconds()<10)
                        {                        
                        var 
time='0'+timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':00'+timeGoesBy.getMilliseconds();
                        }
                    else
                        {
                        var 
time='0'+timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':0'+timeGoesBy.getMilliseconds();                    
                        }
                    }
                else
                    {
                    var 
time='0'+timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':'+timeGoesBy.getMilliseconds();    
                    }                
                }
            else
                {
                if(
timeGoesBy.getMilliseconds()<100)
                    {
                    if(
timeGoesBy.getMilliseconds()<10)
                        {
                        var 
time='0'+timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':00'+timeGoesBy.getMilliseconds();
                        }
                    else
                        {
                        var 
time='0'+timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':0'+timeGoesBy.getMilliseconds();                        
                        }
                    }
                else
                    {
                    var 
time='0'+timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':'+timeGoesBy.getMilliseconds();                        
                    }
                }
            }
        else
            {    
            if(
timeGoesBy.getSeconds()<10)
                {                    
                if(
timeGoesBy.getMilliseconds()<100)
                    {
                    if(
timeGoesBy.getMilliseconds()<10)
                        {
                        var 
time='0'+timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':00'+timeGoesBy.getMilliseconds();                
                        }
                    else
                        {
                        var 
time='0'+timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':0'+timeGoesBy.getMilliseconds();
                        }
                    }
                else
                    {
                    var 
time='0'+timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':'+timeGoesBy.getMilliseconds();
                    }                    
                }
            else
                {
                if(
timeGoesBy.getMilliseconds()<100)
                    {
                    if(
timeGoesBy.getMilliseconds()<10)
                        {
                        var 
time='0'+timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':00'+timeGoesBy.getMilliseconds();                    
                        }
                    else
                        {
                        var 
time='0'+timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':0'+timeGoesBy.getMilliseconds();
                        }
                    }
                else
                    {
                    var 
time='0'+timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':'+timeGoesBy.getMilliseconds();
                    }
                }
            }
        }
    else
        {
        if(
timeGoesBy.getMinutes()<10)
            {    
            if(
timeGoesBy.getSeconds()<10)
                {                    
                if(
timeGoesBy.getMilliseconds()<100)
                    {
                    if(
timeGoesBy.getMilliseconds()<10)
                        {
                        var 
time=timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':00'+timeGoesBy.getMilliseconds();                    
                        }
                    else
                        {
                        var 
time=timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':0'+timeGoesBy.getMilliseconds();
                        }
                    }
                else
                    {
                    var 
time=timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':'+timeGoesBy.getMilliseconds();
                    }                    
                }
            else
                {
                if(
timeGoesBy.getMilliseconds()<100)
                    {
                    if(
timeGoesBy.getMilliseconds()<10)
                        {
                        var 
time=timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':00'+timeGoesBy.getMilliseconds();
                        }
                    else
                        {
                        var 
time=timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':0'+timeGoesBy.getMilliseconds();
                        }
                    }
                else
                    {
                    var 
time=timeGoesBy.getHours()+':0'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':'+timeGoesBy.getMilliseconds();
                    }
                }
            }
        else
            {
            if(
timeGoesBy.getSeconds()<10)
                {                    
                if(
timeGoesBy.getMilliseconds()<100)
                    {
                    if(
timeGoesBy.getMilliseconds()<10)
                        {
                        var 
time=timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':00'+timeGoesBy.getMilliseconds();
                        }
                    else
                        {
                        var 
time=timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':0'+timeGoesBy.getMilliseconds();
                        }
                    }
                else
                    {
                    var 
time=timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':0'+timeGoesBy.getSeconds()+':'+timeGoesBy.getMilliseconds();
                    }                    
                }
            else
                {
                if(
timeGoesBy.getMilliseconds()<100)
                    {
                    if(
timeGoesBy.getMilliseconds()<10)
                        {
                        var 
time=timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':00'+timeGoesBy.getMilliseconds();
                        }
                    else
                        {
                        var 
time=timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':0'+timeGoesBy.getMilliseconds();
                        }
                    }
                else
                    {
                    var 
time=timeGoesBy.getHours()+':'+timeGoesBy.getMinutes()+':'+timeGoesBy.getSeconds()+':'+timeGoesBy.getMilliseconds();
                    }
                }
            }
        }
    }    
    var 
offset=timeGoesBy.getTimezoneOffset();
    var 
unix=timeGoesBy.getTime();
    if(
total>0)
        {
        
_global.mouseObject.percent.text=percent+'%';
        
_global.mouseObject.total.text=total+' BYTES';
        
_global.mouseObject.current.text=current+' BYTES';
        
_global.mouseObject.still.text=still+' BYTES';
        
_global.mouseObject.speed.text=speed+' KBYTES/SECOND';
        
_global.mouseObject.elapsed.text=elapsed+' MILLISECONDS';
        
_global.mouseObject.left.text=left+' SECONDS';
        
_global.mouseObject.year.text=year;
        
_global.mouseObject.month.text=month;
        
_global.mouseObject.day.text=day;
        
_global.mouseObject.localtime.text=time;
        
_global.mouseObject.offset.text=offset+'MINUTES';
        
_global.mouseObject.unix.text=unix+' MILLISECONDS';                
        
updateAfterEvent();
        }
    if(
current>=total && current>=10
        {
        
//_global.mousePercentage('hide');        
        //_root.gotoAndStop(_currentframe+1);
        //delete this.onEnterFrame;
        
}
    };
this.stop(); 
  Mit Zitat antworten
Alt 28-10-2004, 01:10   #3 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
also wenn du auf millisekunden verzichten kannst, geht das auch unwesentlich kürzer
ActionScript:
  1. trace(new Date().toString().split(" ")[3])
michael ist offline   Mit Zitat antworten
Alt 28-10-2004, 01:22   #4 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
also diese ganzen if <10 if < 100 nullenauffüllgeschichten solltest du auf jeden fall ,it einer funktion lösen wie beispielsweise dieser:

Number Prototype für Highscore

dann ist dein script sicher nur noch einen bruchteil so lang.
michael ist offline   Mit Zitat antworten
Alt 28-10-2004, 01:24   #5 (permalink)
409coffeemaker
Gast
 
Beiträge: n/a
Das kommt davon wenn man während der Arbeit mit der Freundin telefoniert…

So geht's auch mit Millisekunden…

PHP-Code:
//Actionscript 1.0
this.onEnterFrame=function()
    {
    var 
time=new Date();
    
    var 
hour=time.getHours();
    if(
hour<10)
        {
        var 
hour='0'+time.getHours();
        }
        
    var 
minute=time.getMinutes();
    if(
minute<10)
        {
        var 
minute='0'+time.getMinutes();
        }
        
    var 
second=time.getSeconds();
    if(
second<10)
        {
        var 
second='0'+time.getSeconds();
        }
        
    var 
milliSecond=time.getMilliseconds();
    if(
milliSecond<100)
        {
        if(
milliSecond<10)
            {
            var 
milliSecond='00'+time.getMilliseconds();
            }
        else
            {
            var 
milliSecond='0'+time.getMilliseconds();
            }
        }
    
trace(hour+':'+minute+':'+second+':'+milliSecond);
        }; 
Deine Variante ist aber auch sehr elegant, Knut!!


Liebe Grüße

Yves
  Mit Zitat antworten
Alt 28-10-2004, 01:46   #6 (permalink)
409coffeemaker
Gast
 
Beiträge: n/a
Lernerfolg

Danke an dieser Stelle an MatzeK und die anderen! Sehr interessanter Thread.

PHP-Code:
//Actionscript 1.0
Number.prototype.zeroFill=function(x
    { 
    return new Array(
x-length(this)+1).join('0')+this
    };
    
this.onEnterFrame=function()
    {
    var 
time=new Date();    
    var 
hour=time.getHours().zeroFill(2);        
    var 
minute=time.getMinutes().zeroFill(2);    
    var 
second=time.getSeconds().zeroFill(2);    
    var 
milliSecond=time.getMilliseconds().zeroFill(3);    
    
trace(hour+':'+minute+':'+second+':'+milliSecond);
    }; 

Liebe Grüße

Yves
  Mit Zitat antworten
Alt 28-10-2004, 09:31   #7 (permalink)
[+]
 
Benutzerbild von André Michelle
 
Registriert seit: Dec 2002
Ort: cologne
Beiträge: 2.271
Geht leider in AS2 nicht, weil new Array( count ) count 'undefined's in den Array pusht.

Code:
class org.gamepackage.util.Format
{
	static function fillZero( num: Number, digits: Number ): String
	{
		return new String( '00000000000000000000000000000000' + num ).substr( -digits );
	}
}
So könnte es in AS2.0 laufen. Was schnelleres fällt mir nicht ein.
__________________
aM

blog | laboratory | tonfall | processing

Audiotool.com
André Michelle ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 19:23 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele