Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-09-2004, 14:02   #1 (permalink)
Neuer User
 
Benutzerbild von mojo777
 
Registriert seit: Oct 2001
Beiträge: 45
Unhappy Math.round(0,periode3)=Infinity. MUH!

Hallo liebes Forum!
ich freue mich hier meinen ersten Post in diesem riesigen Forum zu tätigen.
Ich habe ein Problem mit ActionScript...2

Also der Plan ist elementär: Ich erhalte von php eine Anzahl an Datensätzen (z.b. 20) und will diese anzeigen. Da aber maximal 9 Datensätze auf eine Seite passen, möchte ich natürlich die Gesamtseitenanzahl anzeigen und die Navigation ermöglichen...

Probleme hab ich bei der Berechnung der Gesamtseitenanzahl:
Code:
maxitemsperpage=9;
Anzahl=data.RecordCount;
if (Math.round(anzahl/maxitemsperpage)-anzahl/maxitemsperpage<0){
    //verhindere das abrunden...
    anzseiten=Math.round(anzahl/maxitemsperpage)+1;
    }else{anzseiten=Math.round(anzahl/maxitemsperpage);}
soo... und das klappt nicht so wie es soll.
jetzt vermute ich, dass Math.round(periode_x) Inifinity ausspuckt.
Dann habe ich versucht eine eigene "rundungs" funktion zu schreiben, die natürlich ja so viel toller ist als die von Macromedia nur wenn die zahl mit periode übergeben wird, bekommt sie den wert infinity.

Kann mir da vielleicht jemand weiterhelfen? Ich weiss irgendwie nicht mehr weiter...

Und noch was... gibt es in Flash vielleicht eine Funktion wie in Delphi, die den Restbetrag ausgibt
(showmessage(IntToStr(5 mod 2)); //gibt 1 aus
Denn damit wäre ein paar Probleme gelöst... ok. (naja "div" bräuchte man danna auch, aber dazu später...)

Gruß
Mojo
mojo777 ist offline   Mit Zitat antworten
Alt 14-09-2004, 14:30   #2 (permalink)
aka stauby
 
Benutzerbild von webdust
 
Registriert seit: Mar 2004
Ort: Würzburg
Beiträge: 705
Willkommen im Forum erst mal.

Bei solchen Fällen würde ich nicht mit round, sondern mit floor arbeiten. Das rundet nämlich immer ab, und du sparst dir deine Fallunterscheidung. Also in etwa so:

ActionScript:
  1. seiten = Math.floor(anzahl/anzahl_pro_seite) + 1;

Aber das mit Math.round und Infinity kann ich mir nicht so ganz vorstellen. Höchstens, dass du die Anzahl pro Seite vielleicht irgendwo auf 0 gesetzt hast, und du daher versuchst durch 0 zu dividieren. Dann könnte schon infinity rauskommen.
__________________
"The things you own end up owning you."
webdust ist offline   Mit Zitat antworten
Alt 14-09-2004, 15:37   #3 (permalink)
Neuer User
 
Benutzerbild von mojo777
 
Registriert seit: Oct 2001
Beiträge: 45
Arrow

Hmmm... Also ich kann mich erinnern, die Funktion Math.Floor schonmal verwendet zu haben... aber das war noch vor der zeit, wo ich nicht wusste, dass man bei falsh Math.... und nicht math schreiben MUSS!!!

warum sollte itemsperpage auf null gesetzt werden?
ich habe sofort im aller aller ersten Frame _global.itemsperpage=9 gesetzt.


Gruß
und danke für die schnelle Antwort.

mojo
mojo777 ist offline   Mit Zitat antworten
Alt 14-09-2004, 18:51   #4 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Aloha!
Rest ausgeben ist dieser hier!

ActionScript:
  1. var rest=(5%2);
  2. trace("rest = "+rest);
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 15-09-2004, 09:23   #5 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
Hi,

beachte, dass es Case-Sensitiv ist:
ActionScript:
  1. Anzahl=data.RecordCount;
  2. if (Math.round(Anzahl/maxitemsperpage)-Anzahl/maxitemsperpage<0){
Da anzahl nicht definiert ist, wird 0 verwendet.
Und 0/wert ist in Flash Infinity...

Grüße
Sascha
__________________
12:15, press return
ludabruda 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:50 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele