if else und arrays, bilder laden?

tig

Grünschnabel
Hallo zusammen

kann mir jemand helfen und erklären, wie ich folgendes problem am besten löse.
ich habe einen ordner(lokal) namens "bilder" mit 100 jpg's darin (bsp.: 001.jpg, 095.jpg).
nun sollte ich in flash mx eine abfrage erstellen können, so, dass wenn ich in einem textfeld auf der bühne eine nummer (bsp. 056.jpg) eingebe, mir dieses entsprechende jpg-bild aus meinem ordner "bilder" direkt in ein mc ladet.
wie gehe ich da am besten vor. ich weiss, dass ich mit if else und arrays arbeiten muss, aber wie sieht die kombination aus, der code? bin anfänger.
bitte um hilfe, freundlichst tig
 
Hi,

Arrays brauchst Du eigentlich nicht unbedingt:
PHP:
_root.container.loadMovie(Math.abs(Math.number(int(tnummer)))+".jpg");
, wobei tnummer die Variable aus dem Textfeld ist.

Dann könnte man noch eine Kontrollfunktion schreiben, um z.B. zu testen, dass ins Textfeld nur Zahlen bzw. keine zu hohen Zahlen eingegeben wurden.

Gruß
 
Hi,

anstatt einer Kontrollfunktion kannst du auch mit dem Befehl Textfield.restrict(1,2,3...) arbeiten, das ist einfacher als eine Extra Funktion zur Überprüfung der Eingabe....
Arrays machen eigentlich nur SInn, wenn du den Inhalt deines Ordeners dynamisch ausliest und der Inhalt nicht Reihen - mässig benannt ist ( also anke.jpg, susi.jpg, anne.jpg anstatt 01.jpg, 02.jpg etc....).

Dafür müsstest du die Namen der Dateien per php auslesen, diese einem Array zuweisen, und die Nummer die du eingiebst würde sich dann auf dei Arrayposition beziehen. So kannst du Sortierungen beliebiger Natur in dynamischen Datenmengen erzielen.


Grüsse
B
 
eure antwort

hi there,
danke für starthilfe, aber verstehen tuh ichs nicht ganz!
"Textfield.restrict(1,2,3...)" ?
ich sollte in ein textfeld eine nummer eingeben können,
und diese mit enter oder über einen btn, mit entsprechendem code bestätigen, sprich auch abfragen, damit ich anschliessend nummerierte jpg's in ein mc-container auf der bühne laden kann. das flashfile ist bei mir auf dem desktop im ordner "test". im ordner test ist ein ordner namens "bilder", wo alle jpg sind.
kennst du eine lösung? ist einbischen dringend, sorry!
thX tig
 
deine antwort mit _root. ect....

hi dantic

- also container ist der instanzname vom mc(platzhalter) auf der bühne, ok?
- tnummer ist der var-name vom eingabetextfeld auf der bühne, ok?
- dein code "_root.container.loadMovie(Math.abs(Math.number(int(tnummer)))+".jpg");" , ist im ersten schlüsselbild, ok?

- bräuchte noch ein button-code, script, damit ich die manuelle nummer-eingabe vom textfeld, bestätigen und abfragen kann, wie ginge das?

info:
mein flashfile liegt im ordner "test" auf dem desktop. in diesem auch ein ordner namens "bilder", wo alle nummerierten jpg's sind.

besten dank for help !
lieber gruss
tig
 
Hi,

wie Basileus schon sagte: es genügt in Deinem Fall eigentlich, den Restrict-Parameter anzugeben, dann kann gar nichts anderes als Zahlen eingegeben werden.
Ich würde lediglich vor die Zeile, in der das Bild geladen wird, die Größe der Zahl überprüfen:
PHP:
picnum=abs(Math.int(Math.number(tnummer)));
if (picnum>maximale_anzahl) picnum=maximale_anzahl;

Um auf den Unterordner zuzugreifen, würde z.B. genügen:
PHP:
container.loadMovie("Bilder/"+picnum+".jpg");

Beachte, dass als Seperator auch offline der Slash "/" verwendet wird.


Gruß
 
Zuletzt bearbeitet:
restrict...

hallo merci für remail.

aber wo kommen die scripts hin, wie sieht das genau aus?
dürfte ich um ein kleines beispiel bitten, dass ich lernen und nachbauen kann?
würde mir mega helfen

gruss und danke
tig
 
Hi,

Im Anhang findest Du ein kleines Beispiel [MX], in dem mit Klick auf einen Button die Bilder geladen werden können.
Die Variable "bildanzahl" bestimmt die maximale Anzahl Deiner Bilder, die folgendermaßen benannt sind: "bild1.jpg", "bild2.jpg" usw.

In diesem Beispiel wird von einer BIldgröße von 240x160 Pixeln ausgegangen.


Gruß

P.S.: wir wollen nicht dauernd darauf herumreiten, aber beachtet bitte die Nettiquette im Bezug auf Groß- und Kleinschreibung!

P.P.S.: Es ist eigentlich auch nicht die Regel, hier mit "fertigen" Lösungen aufzuwarten, aber ich hab heute mal die Spendierhosen an;)
 

Anhänge

  • bilder_laden.zip
    5,6 KB · Aufrufe: 27
Zuletzt bearbeitet:
Deine Lösung

Hi Datic

Besten Dank für deine Mühe und die schnelle Lösung!
Aber gerne doch stelle ich mich auch in die Reihe des richtigen schreibens, versuche es zumindest. Ja ich weiss, es ist sicher nicht selbstverständlich, dass eine fertige Lösung geliefert wird. Ich sage dir - besten Dank - es kommt im Leben zurück. Ausserdem ermöglichst du mir ein kleines highlight, denn meine letzten Tage waren nicht so toll.
Jedoch gestatte mir noch eine Frage, wie müsste ich das script anpassen, wenn die Bilder eben nicht "bild1.jpg", sondern zBs.: "0024.jpg" benannt sind, da ich nun 1000 Bilder abrufen muss, und diese eben nummeriert / sortiert bei mir angeliefert werden. Also von "0001.pg" - "1000.jpg" .
Salute
Tig
 
Hi,

das geht auch, vielleicht sogar ganz einfach...
... aber mir würde jetzt nur eine etwas "kompliziertere" Methode einfallen:
PHP:
zeros=4-String(picnum).length;
picstr=String(picnum);
  for (i=1;i<=zeros;i++) {
    picstr="0"+picstr;
  }

Damit hast Du z.B. "0024" bei einer picnum vom 24!

Gruß
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück