Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-07-2006, 14:42   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Essen-Kettwig
Beiträge: 34
Zählerstatistik / Diagramm

Hallo zusammen,

ich bin ein Anfänger in AS, also wundert euch nicht
über meinem Code ich habe das ganze hier teilweise in AS und teilweise auf der Bühne gemacht.

Ich habe mir hier im Forum ein Script gesucht welches ein Diagramm generiert. Das funzt auch alles soweit ganz gut.

NUR wenn ich in der TXT-Datei am Ende ein ; eingebe zeigt er einen Balken zuviel an: Screen 1 - mit ; am Ende

Code:
&daten=50;150;400;800;1500;2000;1580;900;600;400;300;50;
wenn ich in der TXT-Datei am Ende KEIN ; mache, wird der letzte Wert in dem Fall 50 Falsch angezeigt:

Code:
&daten=50;150;400;800;1500;2000;1580;900;600;400;300;50

Screen 1 - ohne ; am Ende

Kann mir vielleicht jemand sagen voran das liegen könnte ?

Hier ist das AS:

PHP-Code:
meinLoadVars = new LoadVars();
dateiname "daten.txt";
meinLoadVars.load(dateiname);
meinLoadVars.onLoad = function(success) {
    if (
success) {
        
werte meinLoadVars.daten.split(";");
        
balken(werte);
    } else {
        
trace("Fehler beim Laden");
    }
};
function 
balken(daten) {
    
breite abstand=10;
    
y=100;
    for (var 
0i<daten.lengthi++) {
        var 
this.createEmptyMovieClip("holder"i);
        
this._x 80;
        
this._y 300;
        
m._x abstand*i*3.5;
        
hoehe daten[i]/10;
        
_root.c1.text daten[0];
        
_root.c2.text daten[1];
        
_root.c3.text daten[2];
        
_root.c4.text daten[3];
        
_root.c5.text daten[4];
        
_root.c6.text daten[5];
        
_root.c7.text daten[6];
        
_root.c8.text daten[7];
        
_root.c9.text daten[8];
        
_root.c10.text daten[9];
        
_root.c11.text daten[10];
        
_root.c12.text daten[11];
        
m.lineStyle(0);
        
m.beginFill(0xFF0000);
        
m.lineTo(breite/20);
        
m.lineTo(breite/2, -hoehe);
        
m.lineTo(-breite/2, -hoehe);
        
m.lineTo(-breite/20);
        
m.lineTo(00);
        
endFill();
    }


Geändert von chrisifx (07-07-2006 um 14:49 Uhr)
chrisifx ist offline   Mit Zitat antworten
Alt 07-07-2006, 14:46   #2 (permalink)
angry > always
 
Benutzerbild von ingohill
 
Registriert seit: Jul 2001
Ort: NRW
Beiträge: 1.635
PHP-Code:
meinLoadVars = new LoadVars();
dateiname "daten.txt";
meinLoadVars.load(dateiname);
meinLoadVars.onLoad = function(success) {
    if (
success) {
        
werte meinLoadVars.daten.split(";");
        
balken(werte);
    } else {
        
trace("Fehler beim Laden");
    }
};
function 
balken(daten) {
    
breite abstand=10;
    
y=100;
    for (var 
0i<daten.lengthi++) {
        if(
daten[i]!="")
{
        var 
this.createEmptyMovieClip("holder"i);
        
this._x 80;
        
this._y 300;
        
m._x abstand*i*3.5;
        
hoehe daten[i]/10;
        
_root.c1.text daten[0];
        
_root.c2.text daten[1];
        
_root.c3.text daten[2];
        
_root.c4.text daten[3];
        
_root.c5.text daten[4];
        
_root.c6.text daten[5];
        
_root.c7.text daten[6];
        
_root.c8.text daten[7];
        
_root.c9.text daten[8];
        
_root.c10.text daten[9];
        
_root.c11.text daten[10];
        
_root.c12.text daten[11];
        
m.lineStyle(0);
        
m.beginFill(0xFF0000);
        
m.lineTo(breite/20);
        
m.lineTo(breite/2, -hoehe);
        
m.lineTo(-breite/2, -hoehe);
        
m.lineTo(-breite/20);
        
m.lineTo(00);
        
endFill();
    }
}

-ingo
__________________

on air: caliban | neaera | heaven shall burn | hatebreed | the agony scene
ingohill ist offline   Mit Zitat antworten
Alt 07-07-2006, 14:50   #3 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
&daten=50;150;400;800;1500;2000;1580;900;600;400;3 00;50&

Sonst klebt ein Leerzeichen dran und die 50 wird nicht als Nummer ausgewertet. Kannst natürlich auch einfach daten.length-1 nehmen und das Semikolon lassen oder mit ParseInt() rangehen.
Würde dir übrigens zu einer Schleife raten:
PHP-Code:
for (var 0i<daten.lengthi++) {

        var 
this.createEmptyMovieClip("holder"i);
        
this._x 80;
        
this._y 300;
        
m._x abstand*i*3.5;
        
hoehe daten[i]/10;
        for (var 
1j<=12j++) {
            
_root["c"+j].text daten[j-1];
            
m.lineStyle(0);
            
m.beginFill(0xFF0000);
            
m.lineTo(breite/20);
            
m.lineTo(breite/2, -hoehe);
            
m.lineTo(-breite/2, -hoehe);
            
m.lineTo(-breite/20);
            
m.lineTo(00);
            
endFill();
        }
    

edit: Das Leerzeichen da bei daten (300) muss natürlich raus. Weiß nicht, was das da macht...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++

Geändert von Der Frager (07-07-2006 um 14:53 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 07-07-2006, 15:00   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Essen-Kettwig
Beiträge: 34
@Der Frager: Hey, das ging ja schnell, dank dir. Ich werde das direkt mal ausprobieren.
chrisifx ist offline   Mit Zitat antworten
Alt 07-07-2006, 15:07   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Essen-Kettwig
Beiträge: 34
Sauber das hat schonmal geklappt...
Benötige ich eigentlich immer ein & um eine Variable in einer TXT-Datei zu deklarieren ? Oder könnte meine TXT-Datei auch wie folgt aussehen für jeden Monat eine Zeile ?


Code:
5
20
35
50
55
60
80
99
102
120
140
150
Ich vermute mal man müsste dann jede Zeile in ein Array packen, oder ? Wie mache ich das ?
Ich habe nämlich schon einige Counter laufen wo die TXT-Datei wie oben aussieht.

Geändert von chrisifx (07-07-2006 um 15:08 Uhr)
chrisifx ist offline   Mit Zitat antworten
Alt 07-07-2006, 15:34   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Guckst du:
PHP-Code:
var lv = new LoadVars();
lv.onData = function(toll) {
    
arr toll.split("\n").join("").split("\r");
    for (var 
i in arr) {
        if (
arr[i].length == 0) {
            
arr.splice(i,1)
        }
    }
    
trace(arr)
};
lv.load("deine.txt"); 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager 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 14:16 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele