Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-07-2003, 19:41   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 31
Suchen in Arrays (Hilfeeeee!!!)

Erst einmal großen Dank an Deluxe für seine Hilfe.
Habe immer noch das Problem eine Suchanfrage innerhalb eines Arrays auszuführen.Deluxe hat mir zwar ein kleines Beispiel geschrieben.Bekomme es aber einfach nicht hin es für meine Zwecke umzusetzen.Daten sollen aus einer XML-Datei in ein Array gepusht werden.Funktioniert (Danke Deluxe!!).Kann mir auch einzelne Daten anzeigen lassen.Nur bei der Suche scheiterts.Hab mal ein bisschen rumprobiert und die ´.fla und die dazugehörige XML-Datei hochgeladen.Vieleicht kann sich das jemand mal anschauen.

2.Problem:Wie bekomme ich es hin das das Script mir alle Daten im Dynamischn Textfeld ausgibt.(Mit ScrollBar).Über trace zeigt er alles an.Im Textfeld nur den letzten Eintrag.

Besten Dank im Voraus

lonestar_zack
Angehängte Dateien
Dateityp: rar suche.rar (39,3 KB, 21x aufgerufen)
lonestar_zack ist offline   Mit Zitat antworten
Alt 30-07-2003, 20:12   #2 (permalink)
filmtip: snatch
 
Registriert seit: Oct 2001
Beiträge: 1.562
hi

sowas ?
ActionScript:
  1. // array
  2. my_array = ['one', 'two', 'three', 'four'];
  3. // suchfunction
  4. function foo(word, arr) {
  5.     var word_lc = word.toLowerCase();
  6.     for (var i in arr) {
  7.         var i_lc = arr[i].toLowerCase();
  8.         if (i_lc == word_lc) {
  9.             trace('found '+arr[i]);
  10.             return;
  11.         }
  12.     }
  13.     trace("nothing found");
  14. }
  15. //aufruf
  16. foo('THREE', my_array);

oder soll es was mit wildcards sein ?

gruss skyla
Skyla ist offline   Mit Zitat antworten
Alt 30-07-2003, 20:19   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 31
Besten Dank für die schnelle Antwort.

Sowas in der Art hab ich schon hinbekommen.
ActionScript:
  1. a = ["eins", "zwei", "drei", "vier"];
  2. for (var i = 0; i<a.length; i++) {
  3.     if (a[i].indexOf(sstring) != -1) {
  4.         id = i;
  5.         trace(a[id]);
  6.     }
  7. }


Leider funktioniert das nicht in meinem Array.(Bin nicht so ganz fit in AS).Siehe .fla



gruß

lonestar
lonestar_zack ist offline   Mit Zitat antworten
Alt 30-07-2003, 20:36   #4 (permalink)
filmtip: snatch
 
Registriert seit: Oct 2001
Beiträge: 1.562
ok. würd aber immer mit funktionen arbeiten.

ActionScript:
  1. my_array = ['one', 'two', 'three', 'four'];
  2. function foo(word, arr) {
  3.     var word_lc = word.toLowerCase();
  4.     for (var i in arr) {
  5.         var i_lc = arr[i].toLowerCase();
  6.         var teilstring = i_lc.indexOf(word_lc);
  7.         if (teilstring>-1) {
  8.             trace('found '+arr[i]);
  9.             var found=true;
  10.         }
  11.     }
  12.     if (!found) {
  13.         trace("nothing found");
  14.     }
  15. }
  16. foo('e', my_array);
Skyla ist offline   Mit Zitat antworten
Alt 30-07-2003, 21:01   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 31
Besten Dank für deinen Tip.Fange gerad erst mit AS an.

Leider hilft mir dein Beispiel auch nicht weiter.Habe eine fertige FLA mit Suchfunktion gemacht und hochgeladen.Einfach mal anschauen und sagen was ich falsch gemacht habe.


gruß


lonestar
lonestar_zack ist offline   Mit Zitat antworten
Alt 30-07-2003, 22:42   #6 (permalink)
filmtip: snatch
 
Registriert seit: Oct 2001
Beiträge: 1.562
ich weiss nicht. Bei meiner Funktion kannst Du
als Parameter einen Array und einen String
übergeben. Der Array wird dann auf den String
durchsucht. Die Funktion in Deine Anwendung
einzubauen solltest Du selbst.

Ich denke es bringt Dich nicht weiter, wenn Du
Dir eine aufwendige anwendung von anderen
zusammenbauen lässt, ohne zu verstehen, wie
die Elemente zusammenarbeiten.

Möchte hier nicht belehrend wirken, es hilft Dir auch
sicher jemand weiter. Ist ja auch nur meine meinung.

Gruss skyla
Skyla ist offline   Mit Zitat antworten
Alt 31-07-2003, 13:06   #7 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 31
Hy Skyla

Ich möchte nicht unhöflich sein.Ich habe von niemanden verlangt
mir ein fertiges script zu schreiben.Wenn du dir mal meine Datei runtergeladen hättest würdest du sehen das das selber schon getan habe.Ich möchte einfach nur eine kleine Hilfe, warum das von mir geschriebene Script nicht funzt.

MfG

lonestar_zack
lonestar_zack ist offline   Mit Zitat antworten
Alt 01-08-2003, 00:02   #8 (permalink)
Freelancer
 
Benutzerbild von komashooter
 
Registriert seit: Oct 2001
Ort: Germany - Berlin
Beiträge: 1.777
Zitat:
Geschrieben von Skyla
ok. würd aber immer mit funktionen arbeiten.

ActionScript:
  1. my_array = ['one', 'two', 'three', 'four'];
  2. function foo(word, arr) {
  3.     var word_lc = word.toLowerCase();
  4.     for (var i in arr) {
  5.         var i_lc = arr[i].toLowerCase();
  6.         var teilstring = i_lc.indexOf(word_lc);
  7.         if (teilstring>-1) {
  8.             trace('found '+arr[i]);
  9.             var found=true;
  10.         }
  11.     }
  12.     if (!found) {
  13.         trace("nothing found");
  14.     }
  15. }
  16. foo('e', my_array);

nettes script Skyla

aber warum benutzt du so oft var obwohl du es gar nicht musst

ich meine manchmal muss man ja wirklich var benutzen aber wenn man var einfach immer benutzt macht man sich doch unnötig viel arbeit

und man hat keinen überblick über die werte in der funktion

also meiner meinung nach sollte man var nur dann benutzen wenn man var auch braucht

hier nochmal die version ohne var


ActionScript:
  1. my_array = ['ONE', 'two', 'three', 'four'];
  2. function foo(word, arr) {
  3.          word_lc = word.toLowerCase();
  4.         for ( i in arr) {
  5.                  i_lc = arr[i].toLowerCase();
  6.                  teilstring = i_lc.indexOf(word_lc);
  7.                 if (teilstring>-1) {
  8.                         trace('found '+arr[i]);
  9.                          found=true;
  10.                 }
  11.         }
  12.         if (!found) {
  13.                 trace("nothing found");
  14.         }
  15. }
  16. foo('E', my_array);
komashooter ist offline   Mit Zitat antworten
Alt 01-08-2003, 03:44   #9 (permalink)
filmtip: snatch
 
Registriert seit: Oct 2001
Beiträge: 1.562
hi komashooter

mit var deklarierst du eine variable als lokale
variable (lokal bezogen auf den scope der
funktion).

lässt du 'var' weg, wird die variable der timeline
der funktion zugeordnet und dann dort stehen
gelassen, obwohl sie nicht mehr benötigt wird.
Eine lokale Variable hingegen befindet sich nur
dann im memory des rechners, wenn die funktion
aufgerufen wird.

Dies kannst du mit ctrl + alt + v überprüfen.

gruss skyla
Skyla ist offline   Mit Zitat antworten
Alt 01-08-2003, 07:25   #10 (permalink)
[Ernst Reiter]
 
Benutzerbild von Scrawer
 
Registriert seit: Jul 2001
Ort: austria
Beiträge: 3.691
jep in einer Funktion solltest variabeln immer als var deklarieren......
am besten in der ersten Zeile der Funktion.......
function test()
{
var i,s,name,x;
// aktion
}
so hast gleich eine übersicht.....

denn wie schon Skyla sagte...... wenn eine variabel in einer Funktion nicht deklariert wird... wird sie in _root angelegt!!! und
bleibt dort auch.... mal abgesehen davon das du deine film und Speicher zu müllst...
kann es sogar zu Problemen führen wenn deine Funktionen zeitgleich öfter aufgerufen wird....

wenn du sie als var deklarierst werden sie am ende der funktion gelöscht
__________________
Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen
m.f.g Scrawer (www.thinkspace.at)

Geändert von Scrawer (01-08-2003 um 12:25 Uhr)
Scrawer ist offline   Mit Zitat antworten
Alt 01-08-2003, 12:17   #11 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 31
Nochmal.Könnte sich jemand erbarmen und sich mal meine fla-Datei anschauen und mir sagen was ich falsch gemacht habe.



Gruß


lonestar
lonestar_zack ist offline   Mit Zitat antworten
Alt 02-08-2003, 15:58   #12 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 31
Hilfeeee!!!!

gruß


lonestar_zack
lonestar_zack ist offline   Mit Zitat antworten
Alt 02-08-2003, 21:39   #13 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 31
Will oder kann mir niemand helfen.


gruß

lonestar_zack
lonestar_zack ist offline   Mit Zitat antworten
Alt 03-08-2003, 01:29   #14 (permalink)
{flasher}
 
Benutzerbild von Majo
 
Registriert seit: Mar 2003
Ort: on water
Beiträge: 2.823
so, bitte, hier hast deine fla

holst du
__________________
hang loose
Majo ist offline   Mit Zitat antworten
Alt 03-08-2003, 10:11   #15 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 31
Hi Majo

Besten Dank für deine Hilfe und Mühe.Ich hoffe ich kann dich nochmal belästigen.Von der Sache her sieht es schon ganz gut aus.
Aber leider nicht das was ich wollte.In deinem Beispiel zeigt es mir alle Daten der XML an.Ich möchte aber nur den ensprechenden Datensatz angezeigt haben (Name.Straße,Ort usw.)(wenn möglich auch in der richtigen Reihenfolge und formatiert).Da ich gerade erst mit AS angefangen habe wäre ich dir sehr verbunden wenn du zum script mir ein paar erklärende Worte schreiben würdest.Man will ja nicht ganz dumm sterben.

MfG

lonestar_zack
lonestar_zack 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 08:55 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele