14
228 Fortgeschrittene Techniken In den letzten Jahren sind in Flash viele interessante Anwendungen entstanden, die mit einer Datenbank kommunizieren. Durch das neue ActionScript wurde mit Flash 5 das Spektrum der möglichen Anwendungen stark erweitert. Online-Shops (z. B. http://www.ted- baker.co.uk/) und Spiele mit Highscore-Listen (z. B. bei http://www.pepworks.de/) werden mithilfe von Datenbanken realisiert. Flash und UltraDev Das gemischte Doppel Wohl kein anderes Programm ist in den letzten Jahren so populär geworden wie Flash. Zur Datenbankanbindung bietet Macromedia den Generator an, der allerdings in der Enterprise- Edition ab 30.000 Dollar vertrieben wird. Grund genug einmal die Möglichkeiten der Zusammenarbeit mit UltraDev auszuloten. Die Zusammenarbeit Buchtipps In diesem kurzen Kapitel können wir Ihnen nicht erklären wie Flash funktioniert oder wel- che Entwicklungstechniken man anwendet. Darüber haben sich bereits andere Autoren Gedanken gemacht und sehr gute Bücher her- ausgebracht. Ich kann Ihnen zwei Bücher mit unterschiedlichen Schwerpunkten empfehlen: u »Flash 5. Mit ActionScript und Generator« von Sascha Wolter. Es ist das Standard- werk und erklärt das Erstellen von Flash- Filmen von grundauf. Fortgeschrittene Ent- wickler finden viele Anregungen (3D, Director...) und ein ausgezeichnetes Nach- schlagewerk aller Funktionen. u »Flash 5 und ActionScript professionell. Tutorials und Workshops für fortgeschritte- ne Techniken« von Carlo Blatz und Gerald Marischka. Wer es weniger theoretisch mag, findet in diesem Buch viele Work- shops, mit denen man aus dem Web be- kannte Effekte nachbauen kann. Beide Bücher sind bei Galileo Design erschie- nen. Interessante Links zu Flash Deutschsprachige Foren zu Flash und Action- Script sowie allerhand Tutorials und Links zu Entwicklerseiten finden Sie unter www.flash- forum.de und www.flashworker.de 06_Teil_4_4 04.04.2001 15:57 Uhr Seite 228

Flash und UltraDev · 2014-02-17 · das neue ActionScript wurde mit Flash 5 das ... (Abb. 3). Input-Text-Felder verhalten sich in Flash wie Variablen. ... Microsoft Knowledge Base

Embed Size (px)

Citation preview

Page 1: Flash und UltraDev · 2014-02-17 · das neue ActionScript wurde mit Flash 5 das ... (Abb. 3). Input-Text-Felder verhalten sich in Flash wie Variablen. ... Microsoft Knowledge Base

228 Fortgeschrittene Techniken

In den letzten Jahren sind in Flash vieleinteressante Anwendungen entstanden, diemit einer Datenbank kommunizieren. Durchdas neue ActionScript wurde mit Flash 5 dasSpektrum der möglichen Anwendungen stark

erweitert. Online-Shops (z. B. http://www.ted-baker.co.uk/) und Spiele mit Highscore-Listen(z. B. bei http://www.pepworks.de/) werdenmithilfe von Datenbanken realisiert.

Flash und UltraDevDas gemischte Doppel

Wohl kein anderes Programm ist in den letztenJahren so populär geworden wie Flash. ZurDatenbankanbindung bietet Macromedia denGenerator an, der allerdings in der Enterprise-Edition ab 30.000 Dollar vertrieben wird.Grund genug einmal die Möglichkeiten derZusammenarbeit mit UltraDev auszuloten.

Die Zusammenarbeit

BuchtippsIn diesem kurzen Kapitel können wir Ihnennicht erklären wie Flash funktioniert oder wel-che Entwicklungstechniken man anwendet.Darüber haben sich bereits andere AutorenGedanken gemacht und sehr gute Bücher her-ausgebracht. Ich kann Ihnen zwei Bücher mitunterschiedlichen Schwerpunkten empfehlen:u »Flash 5. Mit ActionScript und Generator«

von Sascha Wolter. Es ist das Standard-werk und erklärt das Erstellen von Flash-Filmen von grundauf. Fortgeschrittene Ent-wickler finden viele Anregungen (3D,Director...) und ein ausgezeichnetes Nach-schlagewerk aller Funktionen.

u »Flash 5 und ActionScript professionell.Tutorials und Workshops für fortgeschritte-ne Techniken« von Carlo Blatz und GeraldMarischka. Wer es weniger theoretischmag, findet in diesem Buch viele Work-shops, mit denen man aus dem Web be-kannte Effekte nachbauen kann.

Beide Bücher sind bei Galileo Design erschie-nen.

Interessante Links zu FlashDeutschsprachige Foren zu Flash und Action-Script sowie allerhand Tutorials und Links zuEntwicklerseiten finden Sie unter www.flash-forum.de und www.flashworker.de

06_Teil_4_4 04.04.2001 15:57 Uhr Seite 228

Page 2: Flash und UltraDev · 2014-02-17 · das neue ActionScript wurde mit Flash 5 das ... (Abb. 3). Input-Text-Felder verhalten sich in Flash wie Variablen. ... Microsoft Knowledge Base

229Flash und UltraDev

Flash-Parameter dynamisch gestaltenWenig spektakulär ist die von Macromediabeschriebene Möglichkeit, Flash-Parameterdynamisch zu gestalten. Die Attribute height,width, quality u.a. lassen sich auf die glei-che Weise dynamisch erzeugen, wie wir es imKapitel »Bilder und Datenbanken« erklären(Abb. 2). Diese Attribute beeinflussen abernur die Darstellung des Flash-Films. Dyna-mische Inhalte, wie sie z. B. bei personalisier-ten Flash-Projekten benötigt werden, lassensich mit dieser Methode nicht verwirklichen.

Das MonitorprinzipZum Anzeigen dynamischer Inhalte in Flashverwenden wir das Monitorprinzip. Dabei wirdUltraDev eingesetzt, um die dynamischen In-halte zu erzeugen. Es werden auf normaleWeise Datensatzgruppen, sich wiederholendeBereiche und dynamische Navigationsmenüserstellt. Wenn der Quelltext vorhanden ist,wird anschließend die Ausgabe der Daten aufder ASP-, JSP- oder ColdFusion-Seite unter-drückt. Dadurch enthält die Seite nur die

Logik, die die dynamischen Daten erzeugt.Den Flash-Film, genauer gesagt die SWF-Datei, verwenden wir als Monitor, der die Er-gebnisse präsentiert. Dazu werden die dyna-mischen Daten über Parameter an den Flash-Film übergeben, der diese als Variablen verar-beiten kann. Die Ausgabemöglichkeiten inFlash sind vielfältig. Den Inhalt der Variablenkönnen Sie als Text ausgeben, oder Sie ver-wenden ihn, um die Größe oder Position vonFilmsequenzen zu bestimmen.

Aufgrund der Arbeitsverteilung wird dieseVorgehensweise auch als Master-and-Slave-Prinzip bezeichnet. Der »Sklave« UltraDevverrichtet die Datenverarbeitung, währendder »Herr« Flash die Ergebnisse, ohne etwasdafür getan zu haben, präsentiert.

Die SchnittstelleDie Datenübergabe von UltraDev nach Flasherfolgt über eine Funktion, die Macromedianicht dokumentiert hat. Am Beispiel einerSchaltfläche mit dynamischer Beschriftungmöchten wir Ihnen diese Funktion erklären.

o Abbildung 1Weltraum-Game von Pepworks

i Abbildung 2Die Attribute des Object- und Embed-Tags lassen sich in UltraDev dynamischerzeugen.

06_Teil_4_4 04.04.2001 15:57 Uhr Seite 229

Page 3: Flash und UltraDev · 2014-02-17 · das neue ActionScript wurde mit Flash 5 das ... (Abb. 3). Input-Text-Felder verhalten sich in Flash wie Variablen. ... Microsoft Knowledge Base

In Flash wird eine Schaltfläche erzeugt undauf der Bühne platziert. In einer neuen 1Ebene wird ein 2 Input-Text-Feld auf dieSchaltfläche gelegt (Abb. 3). Input-Text-Felderverhalten sich in Flash wie Variablen. Sie kön-nen Variablenwerte ein- und ausgeben. Als 3Variablenbezeichnung wurde »Beschriftung«gewählt. Damit ist der Flash-Film fertiggestelltund wird als SWF-Datei exportiert.

In UltraDev wird der Button in ein Doku-ment eingefügt. Das Dialogfenster, in dem dieSWF-Datei ausgewählt wird, besitzt eine 4Parameter-Schaltfläche (Abb. 4). Sie öffnet ein

Fenster, in dem 5 Parameter und 6 Werteangegeben werden können, die ähnlich wieURL-Parameter an die 7 Object- und Embed-Tags angehängt werden. In der Browservor-schau kann das Ergebnis betrachtet werden(Abb. 5).

Der Quelltext zeigt, dass UltraDev dieParameter sowohl dem Object- als auchEmbed-Tag hinzufügt (fett hervorgehoben).Dadurch funktioniert die Parameterübergabesowohl in Netscape (embed) als auch imMicrosoft Explorer (object).

230 Fortgeschrittene Techniken

u

Abbildung 3 Ein Input-Text-

Feld liegt aufeiner Schalt-

fläche.

i Abbildung 4Über die Parameter-Schaltfläche lassen sich Variablenaus UltraDev an den Flash-Film weiterleiten.

1

2

3

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://downlo-

ad.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="120"

height="45">

<param name=movie value="dynButton.swf?Beschriftung=Hallo%20Rudi">

<param name=quality value=high>

<embed src="dynButton.swf?Beschriftung=Hallo%20Rudi" quality=high

pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=Sh

ockwaveFlash" type="application/x-shockwave-flash" width="120" height="45">

</embed>

</object>

4

7

65

06_Teil_4_4 04.04.2001 15:57 Uhr Seite 230

Page 4: Flash und UltraDev · 2014-02-17 · das neue ActionScript wurde mit Flash 5 das ... (Abb. 3). Input-Text-Felder verhalten sich in Flash wie Variablen. ... Microsoft Knowledge Base

Dynamische Werte übergebenNeben statischen Werten können Sie auch dy-namische Werte der Servermodelle, die Ultra-Dev unterstützt, übergeben. So lässt sich dieaktuelle Uhrzeit, wenn Sie einen ASP-Serververwenden, ausgeben, indem Sie <%=Time()%>als Wert des Parameters eintragen (Abb. 6).

Auf diese Weise lassen sich auch Feldereiner Datensatzgruppe als Parameter an Flashübertragen. Dabei wird immer nur ein Feldeines Datensatzes übermittelt. Aus einer Ad-ressdatenbank würde also z. B. nur ein Nach-name pro Parameter weitergeleitet werden.Wenn Sie eine größere Datenmenge, z. B. denDateninhalt, den das Serververhalten Bereichwiederholen erzeugt, übermitteln wollen,müssen Sie im Quelltext einige wenige Ände-rungen vornehmen.

Braucht man noch Generator?Nachdem Sie erfahren haben, dass man inFlash Datenbankinhalte einlesen kann, wer-den Sie sich berechtigterweise fragen, ob manden Macromedia Generator noch benötigt.

Auch ohne Generator lässt sich bereitsVieles realisieren. Alle im weitesten Sinnetextbasierenden Webanwendungen lassen sichmit der Kombination Flash und UltraDev rea-lisieren. Selbst Anwendungen, die auf einebeschränkte Anzahl von Grafiken zugreifen,sind so realisierbar. Dazu zählen z. B. Wetter-karten, wie sie in Tageszeitungen oder imFernsehen gezeigt werden. In der Regel wer-den nur die Wetterdaten einiger weniger Ortewiedergegeben. Um eine Wettergrafik anzu-zeigen, brauchen Sie in Flash nur ein Symbolerstellen, das alle Wettersituationen in ver-schiedenen Frames darstellt (Abb. 7).

Pro Standort wird ein Wetterwert aus derDatenbank ausgelesen und an den Flash-Filmweitergeleitet. Je nach Wert wird innerhalbdes Symbols auf einen Frame verwiesen, wel-cher der übermittelten Wettersituation ent-spricht.

Sie werden an die Grenzen stoßen, wennzusätzlich GIF- oder JPEG-Dateien in denFlash-Film eingebunden werden. Einige weni-ge Bitmap-Grafiken lassen sich im Flash-Film

231Flash und UltraDev

o Abbildung 5Die Beschriftung der Schaltflächewird nicht in Flash, sondern inUltraDev realisiert.

o Abbildung 6Die Uhrzeit wurde serverseitig abgefragt undmit dem ASP-Befehl <%=Time()%> an denParameter übergeben.

o

Abbildung 7Ein Filmse-quenz-Symbol,das in vierFrames unter-schiedlicheWettersitua-tionen zeigt.

06_Teil_4_4 04.04.2001 15:57 Uhr Seite 231

Page 5: Flash und UltraDev · 2014-02-17 · das neue ActionScript wurde mit Flash 5 das ... (Abb. 3). Input-Text-Felder verhalten sich in Flash wie Variablen. ... Microsoft Knowledge Base

speichern und dynamisch aufrufen. Wenn Sieallerdings einen Online-Shop erstellen, der zujedem Produkt ein Bild zeigt, werden Sie Ge-nerator einsetzen müssen. Generator besitztnämlich u. a. Objekte, die Bilddateien dyna-misch, zum Zeitpunkt der URL-Anfrage, inden Flash-Film laden.

Generator wird immer dann benötigt, wennSie RichMedia-Anwendungen erstellen, d.h.wenn Sie im Flash-Film Bilder und Töne, Dia-gramme und Newsticker einsetzen.

Praxisbeispiel Highscore-Liste

Anhand einer ganz typischen Anwendungmöchte ich Ihnen die Zusammenarbeitzwischen Flash und UltraDev erklären.

Das SpielIn einem Flash-Spiel steuern Sie eine Schlangeüber den Bildschirm. Sie müssen darauf ach-ten, dass Sie die Spielfeldbegrenzung nichtüberschreiten und dass die Schlange sich nichtselbst einfängt. Auf dem Spielfeld tauchen roteQuadrate auf, die Sie mit der Schlange ansteu-ern und »auffressen«. Mit jedem eingefange-nen Quadrat wächst die Schlange um ein Seg-ment. Im Laufe des Spiels wird es immerschwieriger einen freien Weg zufinden. Wenndie Schlange sich selbst oder in die Bandegebissen hat, ist das Spiel beendet (Abb. 8).

Der Flash-Film springt zu einem bestimm-ten Frame, in dem die erzielten Punkte unddas gespielte Level in dynamischen Text-feldern angezeigt werden. In zwei Input-Text-Feldern kann der Nutzer seinen Vor- undNachnamen eintragen (Abb. 9).

232 Fortgeschrittene Techniken

i Abbildung 8 Flash-Online-Game

i Abbildung 9Game over! Name und Punkte werden in dynamischenTextfeldern eingetragen.

06_Teil_4_4 04.04.2001 15:57 Uhr Seite 232

Page 6: Flash und UltraDev · 2014-02-17 · das neue ActionScript wurde mit Flash 5 das ... (Abb. 3). Input-Text-Felder verhalten sich in Flash wie Variablen. ... Microsoft Knowledge Base

Flash-Daten in der Datenbank speichernDie Webseite, die die SWF-Datei des Spielsenthält, kann eine einfache HTML-Datei sein.Auf dieser Seite werden keine dynamischenWerte verarbeitet. Die Werte der Textfeld-Variablen highscore, Level, Vorname undNachname werden erst auf einer Folgeseitemithilfe einer gespeicherten Prozedur in dieDatenbank eingetragen. Die Variablenwertewerden versendet, nachdem Sie den Send-Button gedrückt haben. Diese Flash-Schalt-fläche erhält folgendes ActionScript:

on (release) {

getURL ("flash_insert.asp", "", "POST");

}

Nach dem Loslassen der Maustaste (on (re-lease)) wird die Seite flash_insert.asp aufge-rufen. Die Werte der Variablen werden mitPOST im HTTP-Header an die Folgeseite (In-sert-Seite) gesendet (Abb. 10).

Da die Daten aus Flash mit der POST-Me-thode versendet wurden, kann die Insert-Seitemit dem Request-Objekt auf die übergebenenParameter zugreifen. Die SQL-Anweisung dergespeicherten Prozedur lautet:

INSERT INTO tbSnake (Vorname, Nachname,

highscore, gamelevel)

VALUES (‘vname’,’nname’,hscore,lev)

Die Variablen vname, nname, hscore und leverhalten einen Wert der mit Request. Form(»Flashvariable«) ermittelt wird. Achten Siebitte darauf, dass die Variablen vname, undnname in der SQL-Anweisung in einfachenHochkommata eingescholossen sind. Sie über-geben einen Text (String), während hscoreund lev Zahlenwerte übergeben und deshalbnicht in Hochkommata gesetzt werden (Abb. 11).

233Flash und UltraDev

o Abbildung 10Die Insert-Seite enthält einegespeicherte Prozedur.

06_Teil_4_4 04.04.2001 15:57 Uhr Seite 233

Page 7: Flash und UltraDev · 2014-02-17 · das neue ActionScript wurde mit Flash 5 das ... (Abb. 3). Input-Text-Felder verhalten sich in Flash wie Variablen. ... Microsoft Knowledge Base

Natürlich können Sie auf der Insert-Seite aucheinen Flash-Film einsetzen, der den Datenbank-eintrag etwas spektakulärer verkündet.

Datenbankinhalte in Flash anzeigenSelbstverständlich können Sie auch Daten-bankinhalte in Flash anzeigen lassen. Die High-score-Liste des Online-Spiels soll in einemFlash-Film ausgegeben werden. Flash wirdallerdings nur als Ausgabemedium genutzt. DieVorarbeit erledigen Sie in UltraDev.

Die Beispieldateien finden Sie auf der CD-ROM im Verzeichnis snake. Die Access-Datenbank liegt im Verzeichnis Datenbankenund heisst snake2000.mdb. Die Datenbank-tabelle, die für dieses Beispiel verwendetwird, enthält sechs Felder. Das Datumsfeldwird in Access automatisch erzeugt, wenn einneuer Datensatz eingetragen wird.

234 Fortgeschrittene Techniken

In der Datenbank wurde auf die BezeichnungLevel als Feldname verzichtet, weil LEVEL einreservierter SQL-Begriff ist. Seine Verwendungwürde zu Fehlern in der SQL-Anweisungführen. Eine Liste aller reservierten Wörter inSQL bietet die Universität Hildesheim unter

http://www.mathematik.uni-hildesheim.de/datenbanken/Reservierte%20Worte%20von%20SQL.html. Speziell für Access liegt in derMicrosoft Knowledge Base der Artikel http://www.microsoft.com/intlkb/germany/support/kb/D35/D35589.htm vor.

o Abbildung 11Die gespeicherte Prozedur, die die erreichten Punkte,das gespielte Level sowie den Vor- und Nachnamen indie Datenbank einträgt.

Feldname Felddatentyp

ID AutoWert

Vorname Text

Nachname Text

highscore Zahl

gamelevel Zahl

Datum Datum/Uhrzeit

Die Highscore-Datenbanktabelle

Für die Ausgabe der Highscore-Liste erstel-len Sie zunächst auf der Seite flash_highscore.asp eine Datensatzgruppe. Sie muss alleFelder bis auf das Feld ID enthalten. Damitder Spieler mit der besten Punktzahl als ersterausgegeben wird, müssen Sie die Datensatz-gruppe zusätzlich im Feld highscore abstei-gend sortieren lassen (Abb. 12).

uu

Datensatzgruppe

Reservierte Worte

06_Teil_4_4 04.04.2001 15:57 Uhr Seite 234

Page 8: Flash und UltraDev · 2014-02-17 · das neue ActionScript wurde mit Flash 5 das ... (Abb. 3). Input-Text-Felder verhalten sich in Flash wie Variablen. ... Microsoft Knowledge Base

Ziehen Sie zunächst aus der Datensatzgruppedas Feld Vorname auf die Highscore-Seite.Markieren Sie es und wenden Sie dasSerververhalten Bereich wiederholen daraufan. Lassen Sie sich zehn Datensätze anzeigen.

Zu einer richtigen Highscore-Liste gehörtauch eine Anzeige der Platzierung, die dieSpieler erreicht haben. In UltraDev könnenSie eine solche Anzeige nur mit etwas hand-geschriebenem Code erreichen. Deshalb ver-wenden wir die Exchange-Erweiterung RowNumber von UltraDeviant.

235Flash und UltraDev

i Abbildung 12Die Datensatzgruppe der Highscore-Liste

i Abbildung 13UltraDeviant-Row Number nummeriert alle Datensätzeinnerhalb eines sich wiederholenden Bereichs durch.

06_Teil_4_4 04.04.2001 15:57 Uhr Seite 235

Page 9: Flash und UltraDev · 2014-02-17 · das neue ActionScript wurde mit Flash 5 das ... (Abb. 3). Input-Text-Felder verhalten sich in Flash wie Variablen. ... Microsoft Knowledge Base

Platzierungsanzeige einfügen

1. Serververhalten wählenKlicken Sie in der Palette Serververhalten aufdie Plus(+)-Schaltfläche. Aus dem Pulldown-menü wählen Sie UltraDeviant · To BeRepeated · UltraDeviant-Row Number.

2. Zähler platzierenDie UltraDeviant-Row Number {RowNum} wirdim Dokumentfenster eingefügt. Verschieben Siesie so, dass sie innerhalb des sich wiederholendenBereichs vor dem Feld Vorname steht (Abb. 15).

236 Fortgeschrittene Techniken

o Abbildung 14UltraDeviant-RowNumber in der Server-verhalten-Palette

i Abbildung 15Platzierungsnummer und Vorname werden wiederholt.

Innerhalb des sich wiederholenden Bereichsbefindet sich folgender Quelltext, den Siespäter etwas verändern werden:

<%

While ((Repeat1__numRows <> 0) AND (NOT rsHighscore.EOF))

%>

<%Response.Write(OP_RowNum)

OP_RowNum = 1 + OP_RowNum%>

<%=(rsHighscore.Fields.Item("Vorname").Value)%>

<%

Repeat1__index=Repeat1__index+1

Repeat1__numRows=Repeat1__numRows-1

rsHighscore.MoveNext()

Wend

%>

06_Teil_4_4 04.04.2001 15:57 Uhr Seite 236

Page 10: Flash und UltraDev · 2014-02-17 · das neue ActionScript wurde mit Flash 5 das ... (Abb. 3). Input-Text-Felder verhalten sich in Flash wie Variablen. ... Microsoft Knowledge Base

Damit Flash die Ergebnisse, die z. Zt. noch aufder ASP-Seite ausgegeben werden, überneh-men kann, müssen sie in Variablen geschrie-ben werden. Mit jedem Durchlauf der While-Schleife wird ein Feld des Datensatzes auf derASP-Seite ausgegeben. Durch folgende Code-zeile sammeln Sie alle Datensätze des FeldesVorname in einer Variablen:

dynVorname = dynVorname + (rsHighscore.

Fields.Item("Nachname").Value)

Diese Sammelaktion führen Sie für alle Felderder Datensatzgruppe durch, die im Flash-Filmangezeigt werden sollen. Die Variablen, dieimmer zehn Datensätze enthalten, werden anFlash übergeben. In Flash steht für jedes Feldein Input-Text-Feld zur Verfügung, das den glei-chen Variablennamen trägt, der auch im ASP-Skript verwendet wird, z. B. dynVorname. DaInput-Text-Felder in Flash auch einige HTML-Befehle interpretieren können, nehmen wirnoch Formatierungen vor. Die fertige Variab-lenzuweisung für die Nachname lautet dann:

dynNachname = dynNachname + "<p>" +

(rsHighscore.Fields.Item("Nachname").

Value) + "</p><p> </p>"

Der Wert der Datensatzgruppe wird in einemAbsatz eingefügt. Dahinter schließt sich einweiterer Leerabsatz (<p> </p>) an. Er wird be-nötigt, um in Flash einen größeren vertikalenAbstand zwischen den Werten zu erzielen.Flash interpretiert das p-Tag als bedingten Zei-lenumbruch und nicht als vollwertigen HTML-Absatz. In der Variablen dynVorname wird zu-sätzlich noch die Platzierungsnummerierungaufgenommen. Da die PlatzierungsvariableRowNum numerische Werte enthält und sichnicht mit Stringvariablen verketten lässt, musssie mit der Funktion CStr() in einen Stringkonvertiert werden. Nachdem auch die über-flüssigen Textausgaben auf der ASP-Seite ent-fernt sind, finden Sie folgenden Quellcode aufder Highscore-Seite.

237Flash und UltraDev

HTML-Tags in Flash-TextboxenEingabetextfelder und dynamische Textfelderünterstützen in Flash grundlegende HTML-Befehle. Folgende HTML-Tags werden er-

kannt: <a>, <b>, <font color>, <fontface>, <font size>, <i>, <p> und <u>.

06_Teil_4_4 04.04.2001 15:57 Uhr Seite 237

Page 11: Flash und UltraDev · 2014-02-17 · das neue ActionScript wurde mit Flash 5 das ... (Abb. 3). Input-Text-Felder verhalten sich in Flash wie Variablen. ... Microsoft Knowledge Base

Flash-Film zur DatenausgabeFür die Datenausgabe legen Sie einen Flash-Film an, der fünf mehrzeilige Textfelder ent-hält (Abb. 16). Da jedes Input-Text-Feld inFlash gleichzeitig eine Variable ist, erhaltendie Textfelder die 1 Bezeichnungen der Vari-ablen aus dem ASP-Skript. Wenn mehr als einDatensatz angezeigt werden soll, müssen dieTextfelder 2 mehrzeilig (Multiline) sein. ZumSchluss aktivieren Sie das 3 Kontrollkästchen

HTML, damit Flash HTML-Befehle in denVariablen interpretieren kann (Abb. 17).

Datenübergabe mit ParameterNachdem Sie den Flash-Film in UltraDev ein-gefügt haben, können Sie, ähnlich wie beieiner URL, Parameter an die Datei- und Pfad-angabe anhängen, über die die Variablen desASP-Skripts Werte an Flash-Variablen weiter-leiten.

238 Fortgeschrittene Techniken

<%

While ((Repeat1__numRows <> 0) AND (NOT rsHighscore.EOF))

dynVorname = dynVorname + "<p>" + CStr(OP_RowNum) + " " +

(rsHighscore.Fields.Item("Vorname").Value) + "</p><p> </p>"

dynNachname = dynNachname + "<p>" + (rsHighscore.Fields.Item("Nachname").Value) +

"</p><p> </p>"

dynHighscore = dynHighscore + "<p>" +

CStr(rsHighscore.Fields.Item("highscore").Value) + "</p><p> </p>"

dynLevel = dynLevel + "<p>" + CStr(rsHighscore.Fields.Item("gameLevel").Value) +

"</p><p> </p>"

dynDatum = dynDatum + "<p>" + CStr(rsHighscore.Fields.Item("Datum").Value) +

"</p><p> </p>"

Repeat1__index=Repeat1__index+1

Repeat1__numRows=Repeat1__numRows-1

OP_RowNum = 1 + OP_RowNum

rsHighscore.MoveNext()

Wend

%>

06_Teil_4_4 04.04.2001 15:57 Uhr Seite 238

Page 12: Flash und UltraDev · 2014-02-17 · das neue ActionScript wurde mit Flash 5 das ... (Abb. 3). Input-Text-Felder verhalten sich in Flash wie Variablen. ... Microsoft Knowledge Base

Flash-Parameter erzeugen

1. Öffnen Sie das Dialogfeld Flash-DateiauswählenFühren Sie einen Doppelklick auf die Flash-Datei aus. Daraufhin öffnet sich das DialogfeldFlash-Datei auswählen (Abb. 18). Klicken Sieauf 4 Parameter, um Flash-Parameter hinzuzu-fügen.

2. Parameter eintragenDas Dialogfeld Parameter besitzt zwei Spalten.Tragen Sie in der 5 linken Spalte die Namender Flash-Variablen ein, an die die Werte über-geben werden. In der 6 rechten Spalte werdendie Variablen des ASP-Skripts so eingetragen, alswürden Sie eine Textausgabe auf der ASP-Seiteerzeugen (<%=Variablenname%>).

239Flash und UltraDev

i Abbildung 16Flash-Film zur Datenausgabe mit mehrzeiligenInput-Textfeldern

i Abbildung 17Die Textoptionen eines Input-Text-Feldes

i Abbildung 18Dynamische Inhalte werden an Flash über spezielleURL-Parameter übergeben.

2 3

1

6

4

5

06_Teil_4_4 04.04.2001 15:58 Uhr Seite 239

Page 13: Flash und UltraDev · 2014-02-17 · das neue ActionScript wurde mit Flash 5 das ... (Abb. 3). Input-Text-Felder verhalten sich in Flash wie Variablen. ... Microsoft Knowledge Base

Dynamische NavigationAuch die Navigation zwischen den Daten-sätzen können Sie in Flash realisieren. InUltraDev fügen Sie zuvor das Navigations-Live-Objekt auf der Seite ein. Suchen Sie sichim Quelltext die folgenden Zeilen. Sie enthal-ten eine Tabelle mit den Navigationselemen-ten, die Sie nicht mehr benötigen. Sie könnensie entweder löschen oder auskommentieren.

Das Skript, das eine Aktion auslöst, wenn z. B.MM_moveNext aufgerufen wird, befindet sichim oberen Teil der Datei. Die Navigations-skripte können ebenfalls mit einem Parameteran Flash übergeben werden.

240 Fortgeschrittene Techniken

<!-- Wird nicht mehr benötigt

<table border="0" width="50%" align="center">

<tr>

<td width="23%" align="center">

<% If MM_offset <> 0 Then %>

<a href="<%=MM_moveFirst%>">Erster</a>

<% End If ‘ end MM_offset <> 0 %>

</td>

<td width="31%" align="center">

<% If MM_offset <> 0 Then %>

<a href="<%=MM_movePrev%>">Vorheriger</a>

<% End If ‘ end MM_offset <> 0 %>

</td>

<td width="23%" align="center">

<% If Not MM_atTotal Then %>

<a href="<%=MM_moveNext%>">N&auml;chster</a>

<% End If ‘ end Not MM_atTotal %>

</td>

<td width="23%" align="center">

<% If Not MM_atTotal Then %>

<a href="<%=MM_moveLast%>">Letzter</a>

<% End If ‘ end Not MM_atTotal %>

</td>

</tr>

</table>

-->

06_Teil_4_4 04.04.2001 15:58 Uhr Seite 240

Page 14: Flash und UltraDev · 2014-02-17 · das neue ActionScript wurde mit Flash 5 das ... (Abb. 3). Input-Text-Felder verhalten sich in Flash wie Variablen. ... Microsoft Knowledge Base

In Flash setzen Sie für die Navigation einenButton ein, dem Sie z. B. folgendes Action-Script geben, um zum nächsten Datensatz zuverschieben:

on (release) {

getURL (forward);

}

Wenn Sie die Seite fertiggestellt haben, kanndas Ergebnis in Flash wie in Abb. 19 aussehen.

241Flash und UltraDev

Name Wert

first <%=MM_moveFirst%>

backward <%=MM_movePrev%>

forward <%=MM_moveNext%>

last <%=MM_moveLast%>

Parameter für Flash-ASP-Navigation

o Abbildung 19Ein Flash-Film wird zur Ausgabevon Datenbankinhalten genutzt.

06_Teil_4_4 04.04.2001 15:58 Uhr Seite 241