Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-05-2004, 08:20   #1 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 6
Question Rechner mit Kommastellen

Hi, bin neu im Forum und hab folgendes Problem:

Ich soll in meinem Praktikum eine Art Rechner mit Flash programmieren.
Der Benutzer hat ein Eingabefeld, wo er MAXIMAL 3 Stellen vor dem Komma, dann ein, bei bedarf ein Komma und dann noch MAXIMAL zwei Stellen nach dem Komma eingeben kann, d.h. insgesamt 6 stellen in einem Eingabefeld. Ich kann zwar die maximale Zeichenanzahl auf 6 setzen, dann kann der benutzer ja aber logischerweise auch zahlen mit 6 stellen aber ohne komma eingeben, zB 100000 ,und das soll vermieden werden. Hoff ihr habt das jetzt verstanden.

Hab schon im Forum gesucht, aber da gabs meiner Meinung nichts passendes zum Thema, und da ich was Flash angeht auch noch ziemlich unerfahren bin, aber mein Praktikum erfolgreich beenden will brauch ich eure HILFE.

Schonmal Danke im vorraus, jojo
jojo_schulz ist offline   Mit Zitat antworten
Alt 04-05-2004, 13:13   #2 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
Hi,

du willst bei deinem Praktikum aber auch was lernen...daher hier nur eine Gedankenstütze und keine fertige Lösung

Formuliere das, was du willst konkret und überlege dir, wie sich das in AS anhört.
Beispiel:
Maximal 3 Zeichen vor dem Komma, insgesamt maximal 6 Zeichen (Komma nicht mitgezählt).

Also, wenn kein Komma drin ist (-> indexOf), dann maximale Länge drei (-> length)
Wenn Komma drin, maximale Länge 7 (6+Komma)
Allerdings auch hier nur drei vor und drei nach dem Komma (-> split und length)

Schau mal, ob dir das schon weiterhilft.

Grüße
Sascha
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 05-05-2004, 09:01   #3 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 6
ok, nein, eher nicht, ich krieg es nicht richtig gebacken, hab den ganzen abend ohne großen erfolg gesessen...
jojo_schulz ist offline   Mit Zitat antworten
Alt 05-05-2004, 09:03   #4 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
zeig doch mal, was du gemacht hast, vielleicht bist du näher dran, als du denkst...

Grüße
Sascha
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 05-05-2004, 09:36   #5 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 6
Das wag ich zu bezweifeln, ich gkaub das ist nicht ANNÄHERND richtig javascript:smilie('')
Aber wie gesagt, bin totaler anfänger!

on ClipEvent (enterFrame) {
// wenn Zeichen "." und Gesamtanzahl von Zeichen 1 dann lösche erstes Zeichen
if (gesamt.indexOf(.) && gesamt.length=1) {
gesamt = gesamt.substr(0,gesamt.length-1);
}
// wenn Zeichen "." und Gesamtanzahl von Zeichen mindestens 2 dann Maximallänge= bisherige Länge+2
if (gesamt.indexOf(.) && gesamt.length>1) {
gesamt.maxChar = gesamt.length+2;
}
// wenn kein Zeichen "." und Zeichenlänge größer 3 lösche nächstes Zeichen
if (!gesamt.indexOf(.) && gesamt.length>3) {
gesamt = gesamt.substr(0,gesamt.length-1);
}
}
jojo_schulz ist offline   Mit Zitat antworten
Alt 06-05-2004, 11:39   #6 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 6
Kann mir nicht bitte jemand helfen... ich muss das Ding fertig kriegen und bin immer noch nicht weiter!
jojo_schulz ist offline   Mit Zitat antworten
Alt 06-05-2004, 11:55   #7 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
da wolln wa ma nich so sein

ActionScript:
  1. onClipEvent(enterFrame) {
  2.     // wenn . im Textfeld vorhanden
  3.     if(_parent.nummer.indexOf(".") >= 0) {
  4.         // splitte nach dem Punkt
  5.         this.temp = _parent.nummer.split(".");
  6.        
  7.         // wenn Zahl vor dem Punkt länger als 3 Zeichen, abschneiden
  8.         if(this.temp[0].length > 3) {
  9.             this.temp[0] = this.temp[0].substr(0,3);   
  10.         }
  11.         // wenn Zahl nach dem Punkt länger als 2 Zeichen, abschneiden
  12.         if(this.temp[1].length > 2) {
  13.             this.temp[1] = this.temp[1].substr(0,2);   
  14.         }
  15.         // Nummer zurückschreiben
  16.         _parent.nummer = this.temp[0] + "." + this.temp[1];
  17.     } else { // wenn kein Punkt
  18.         // wenn Zahl länger als 3 Zeichen, abschneiden
  19.         if(_parent.nummer.length > 3) {
  20.             _parent.nummer = _parent.nummer.substr(0,3);   
  21.         }
  22.     }
  23. }

Grüße
Sascha
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 06-05-2004, 12:22   #8 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 6
Your my hero, sascha

hat wunderbar funktioniert, ich dank dir für die hilfe...
jojo_schulz 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 06:05 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele