Flashhilfe.de - Flash Community

punktezahl anordnen ?? [Flash 8]

 


AntwortenRegistrieren Seite1  

Atticus#1
Benutzerbild von Atticus
Beiträge: 1411
Wohnort: Leverkusen
Registriert: Jul 2006

03.04.2007, 22:59

Hallo, an alle^^ Ich habe mal wieder eine Frage. Ich speichere in einer textdatei den namen und die dazugehörige zeit ab die jemand gebraucht hat um ein level zu beenden. ich glaube das wird als kompletter string gespeicht. hier ein  eintrag aus der textdatei:

<font color="#ffffff">Thorsten  -  05:37:16</font><br>

Also so siehtein eintrag in der textdatei aus.

Kann mir jemand sagen wie ich es schaffen kann aus diesen einträgen nur die anzeigen zu lassen die die am wenigsten zeit gebracuht haben???

Oder wie es überhaupt geht das der eintrag mit der niedrigsten zeit ganz oben steht und der mit der längsten zeit ganz unten. im moment ist es bei mir so das der zuletzt gespeicherte eintrag zuerst steht.

das ist das php script zum speichern was ich benutze, die variable -> name wird an das script gesendet und beinhaltet den eingegeben namen + die zeit die er gebraucht hat. Beispiel ist der wert ->name = Thorsten  -  05:37:16:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?
include("phpsettings01.php");

// Zähler für Highscore - Anfang /////////////////////////////////////////////////////////////////

$dateinameb = "TEXTE/Highscorecounter01.txt";

$dateib = fopen($dateinameb, "r");
$wertb = fgets($dateib, 255);
parse_str($wertb);
fclose($dateib);

$zahlguestbook=$zahlguestbook+1;

$dateib = fopen($dateinameb, "w");
fputs($dateib, "zahlhighscore=$zahlhighscore");
fclose($dateib);

// Zähler für Highscore - Ende ////////////////////////////////////////////////////////////////////


// Highscore lesen und schreiben - Anfang ////////////////////////////////////////////////////////

$gname      = $_POST["name"];
$gmail      = $_POST["mail"];
$gcomment   = $_POST["comment"];
$gwebsite    = $_POST["website"];
$datestamp   = date("d.m.Y - H:i");
$dateiname    = "TEXTE/Highscoredata01.txt";

if($gwebsite == "Homepage:") {
        $gwebsite = "";
}

if($gwebsite == "http://www.Homepage:") {
        $gwebsite = "";
}

if($gwebsite == "http://Homepage:") {
        $gwebsite = "";
}

$datei = fopen($dateiname, "r");
$wert = fgets($datei, 100000);
fclose($datei);

$neu_inhalt = "<font color=\"$inputtextcolor\">$gname</font><br>$wert";

$datei = fopen($dateiname, "w");
fputs($datei, $neu_inhalt);
fclose($datei);



$signal=1;
echo "signal=$signal";

// Highscore lesen und schreiben - Ende////////////////////////////////////////////////////////


// Mail an Webmaster                            ////////////////////////////////////////////////////////

$MailTo      ="info@haakde-sign.de";
$MailFrom   ="info@haakde-sign.de";

$mailinhalt = "<font color=\"$topiccoloremail\">Entry No.: $zahlhighscore  Date: $datestamp</font><br><font color=\"$topiccoloremail\">Nickname:</font><font color=\"$inputtextcoloremail\"> $gname</font><br><font color=\"$topiccoloremail\">E-mail:</font><font color=\"$inputtextcoloremail\"><a href=\"mailto:$gmail\">$gmail</a></font><br><font color=\"$topiccoloremail\">Homepage:</font><font color=\"$inputtextcoloremail\"><a href=\"$gwebsite\" target=\"_blank\">$gwebsite</a></font><br><font color=\"$topiccoloremail\">Nachricht:</font><font color=\"$inputtextcoloremail\"> $gcomment</font><br><font color=\"$linecoloremail\">-----------------------------------------------------------------</font>";



mail("$MailTo","Highscore  //  Eintrag Nr.: $zahlhighscore","$mailinhalt",
"From: $MailFrom
Content-Type: text/html"
);


?>


und das ist das script zum auslesen was ich benutzte:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?

$dateiname    = "TEXTE/Highscoredata01.txt";


$datei = fopen($dateiname, "r");
$wert = fgets($datei, 100000);
fclose($datei);


print "&main=$wert";

?>


Ich müste das quasi so haben das in der phpread datei der name thorsten und die leerzeichen plus die beiden doppelpunkte entfernt werden das quasi nur noch 053716 da steht und dann die zahlen alle miteinader verglichen werden und die niedrigste zahl nach oben kommt und die größte nach ganz unten. Geht das irgendwie ??

Bin für jede hilfe dankbar !!!

Gruß Atticus^^
Geändert von Atticus am 03.04.07 um 23:05 Uhr
jill#2
Benutzerbild von jill
Beiträge: 604
Registriert: Jan 2007

04.04.2007, 18:48

Falls so formatiert, dann z.B. so:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
var text_string = "<font face=\"arial\" color=\"#ffffff\">Thorsten  -  05:37:16</font><br>" +
"<font size=\"2\" color=\"#ffffff\">Michael  -  03:17:11</font><br>" +
"<font color=\"#ffffff\">Alexander  -  04:07:09</font><br>" +
"<font color=\"#ffffff\">Martin  -  01:00:29</font><br>" +
"<font color=\"#ffffff\">Klaus  -  02:08:59</font><br>" +
"<font color=\"#ffffff\">Stefan  -  01:38:11</font><br>" +
"<font color=\"#ffffff\">Christian  -  06:10:01</font>";
function readString(str)
{
   var b;
   var h;
   var f = 0;
   var g = 0;
   var arr = new Array();
   var arr2 = new Array();
   var obj = new Array();
   while (g > -1)
   {
      b = str.slice(str.indexOf(">", g));
      g = b.indexOf("<", 1);
      str = b;
      h = b.substr(1, g - 1);
      if (h)
      {
         var m = h.substr(-8);
         var n = m.substr(0, 2) + m.substr(3, 2) + m.substr(6, 2);
         var em = h.indexOf(" ", 0);
         var name_ = h.substr(0, em);
         arr.push(parseInt(n, 10));
         arr2.push(parseInt(n, 10));
         obj.push({name:name_, time:m, index:f});
         f++;
      }
   }
   sort_(arr);
   var nArr = compareIndexes(arr, arr2);
   sortObject(obj, nArr);
}
function sortObject(b, c)
{
   for (var i = 0; i < c.length; i++)
   {
      trace("Platz:" + (i + 1) + " Name:" + b[c[i]].name + " Zeit: " + b[c[i]].time + " index:" + b[c[i]].index);
   }
}
function compareIndexes(a, b)
{
   var ab = new Array();
   while (a.length > 0)
   {
      for (var j = 0; j < b.length; j++)
      {
         if (a[0] == b[j])
         {
            ab.push(j);
            a.splice(0, 1);
         }
      }
   }
   return ab;
}
function quickSort(Arr, low, high)
{
   var k = 0;
   if (low < high)
   {
      exchange(Arr, low, high);
      k = partition(Arr, low, high);
      quickSort(Arr, low, k - 1);
      quickSort(Arr, k + 1, high);
   }
}
function exchange(Arr, i, j)
{
   if (Arr[i] > Arr[j])
   {
      change_(Arr, i, j);
   }
}
function partition(Arr, low, high)
{
   var pivot = Arr[low];
   var i = low;
   var j = high + 1;
   do
   {
      do
      {
         i++;
      } while (Arr[i] < pivot);
      do
      {
         j--;
      } while (Arr[j] > pivot);
      if (i < j)
      {
         change_(Arr, i, j);
      }
   } while (i < j);
   change_(Arr, j, low);
   return j;
}
function change_(Arr, i, j)
{
   var temp;
   temp = Arr[i];
   Arr[i] = Arr[j];
   Arr[j] = temp;
}
function sort_(Arr)
{
   a = Arr;
   quickSort(a, 0, a.length - 1);
}
readString(text_string);


mfg
jill

Atticus#3
Benutzerbild von Atticus
Beiträge: 1411
Wohnort: Leverkusen
Registriert: Jul 2006

Themenautor/in

05.04.2007, 00:27

Danke dir für deine Hilfe !!!

Kannst du mir noch sagen wo ich das einfügen muß und wie ??^^

Gruß Atticus^^

Atticus#4
Benutzerbild von Atticus
Beiträge: 1411
Wohnort: Leverkusen
Registriert: Jul 2006

Themenautor/in

05.04.2007, 00:37

Nochmal zur erklärung:

Damit speiche ich den neuen wert in die textdatei:
$neu_inhalt = "<font color=\"$inputtextcolor\">$gname</font><br>$wert";

und in der textdatei steht nur:


<font color="#ffffff">Thorsten  -  05:37:16</font><br><font color="#ffffff">Mark  -  04:35:56</font><br> u.s.w.

also ohne ein &wert=<font color="#ffffff">Thorsten  -  05:37:16</font><br>&

Gruß Atticus^^

jill#5
Benutzerbild von jill
Beiträge: 604
Registriert: Jan 2007

05.04.2007, 01:03

Ja, und dann wird die Text-Datei doch mittels LoadVars in Flash geladen, oder?

mfg
jill

Atticus#6
Benutzerbild von Atticus
Beiträge: 1411
Wohnort: Leverkusen
Registriert: Jul 2006

Themenautor/in

05.04.2007, 01:19

Hallo^^

Damit wird die Textdatei geladen:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
read = new LoadVars();
read.load("phpread01.php?nocache="+new Date().getTime(), 0, "POST");
read.onLoad = function(ok_2) {
   if (ok_2) {
      mainframe.htmlText = this.main;
   } else {
      mainframe.htmlText = "<b><br>Keine Einträge vorhanden!</b><br>Text konnte nicht geladen werden!";
   }
};

_root.signal = 0;
stop();


und der Inhalt von der PHP read datei steht ja oben^^

Gruß Atticus^^
Geändert von Atticus am 05.04.07 um 01:20 Uhr
Atticus#7
Benutzerbild von Atticus
Beiträge: 1411
Wohnort: Leverkusen
Registriert: Jul 2006

Themenautor/in

05.04.2007, 01:22

Ich glaube ich weis jetzt doch wie ich das machen muß^^ Ich verscuhe das morgen nochmal alleine und wenn es nciht klappt dann melde ich mich nochmal !!!

Gruß Atticus und vielen dank für deine mühe !!^^
Geändert von Atticus am 05.04.07 um 01:28 Uhr
jill#8
Benutzerbild von jill
Beiträge: 604
Registriert: Jan 2007

05.04.2007, 01:42

Okay, wenn du es versuchen willst. ;)

mfg
jill

burnZ#9
Benutzerbild von burnZ
Beiträge: 2827
Wohnort: Bayern
Registriert: Aug 2005

05.04.2007, 10:11

Nebenbei würde ich aber die Daten auch plain speichern also ohne HTML drumherum. Das kann sich ja auch mal ändern und die Textdatei ist gleich viel viel kleiner :)

----------------------------------------------------------------------
Dies ist die Signatur von burnZ. Alle Rechte vorbehalten!
Atticus#10
Benutzerbild von Atticus
Beiträge: 1411
Wohnort: Leverkusen
Registriert: Jul 2006

Themenautor/in

05.04.2007, 12:39

Hallo, ich habe es endlich geschafft^^

Habe aber doch noch eine frage, die sekunstel werden 3 stellig ausgegeben, ich kenne den befehl Math.round(); zum aufrunden auf 2 stellen. Kannst du mir vielleicht sagen wo in deinem script ich das einfügen muß damit das klappt ?? Danke !!!

Vielen Dank für deine mühe jill !!!!

Gruß Atticus^^
Geändert von Atticus am 05.04.07 um 13:03 Uhr
jill#11
Benutzerbild von jill
Beiträge: 604
Registriert: Jan 2007

05.04.2007, 13:12

Eigentlich brauchst du beim Speichern nur die Namen und die Zeiten, die ganzen HTML-Tags kann man auch in Flash dazu schreiben und man spart sich diesen ewigen String dort. ;)

1.Du meinst die Zeit wird so ausgegeben, 05:12:168 ?
2.@BurnZ das sollte eigentlich jedem klar sein, dass es einfacher ohne HTML-Tags ist, oder...?

mfg
jill
Geändert von jill am 05.04.07 um 13:19 Uhr
burnZ#12
Benutzerbild von burnZ
Beiträge: 2827
Wohnort: Bayern
Registriert: Aug 2005

05.04.2007, 13:13

Nachsager Jill -.-
Der Jung hat dich was anderes gefragt! :P

----------------------------------------------------------------------
Dies ist die Signatur von burnZ. Alle Rechte vorbehalten!

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2022 Sebastian Wichmann - Flashhilfe.de