Använd Macromedia Flash och ASP tillsammans
Förord
Macromedia´s Flash och Active Server Pages ger dig möjlighet att skapa dynamiska sidor med Flash. Detta är ett sätt att från en databas presentera information i en flash animering och innebär enorma möjligheter att göra en dynamisk och väldigt intressant hemsida. Genom att följa dessa steg ser du hur man kan göra detta på ett smidigt sätt. Jag kommer inte att berätta ingående vad som behövs utan förutsätter att du har någon kunskap om databaser, ASP och Flash. Det finns ett exempel som du kan hämta hem och även en demo som du direkt kan se hur det fungerar.Innehåll
»»
»
»
»
»
»
»
»
Macromedia Flash
Börja med att skapa en ny flash-sida innehållande en textbox. Tänk på att trycka på knappen ab| innan du ritar upp textboxen. När du ritat upp denna så högerklickar du på den och väljer egenskaper. Markera för wordwrap samt mulitline. Sätt namnet till strText.Välj egenskaper uppe vid layer genom att högerklicka på din första frame. I fliken 'actions' väljer du att addera 'load/unload movies'. Välj 'Load variables into location'. Skriv flashdemo.asp i fältet URL. Skriv 0 (noll) i level och avslutningsvis anger du variables = ' Send using POST'. Avslutninvsvis avslutar du genom att spara filen som flashdemo.fla och i File sedan välja "Export Movie" och döpa den till flashdemo.
Databas
Använd nu din databas (eller skapa en ny) och skapa en tabell som vi kallar tblFlash. Innehållet i denna behöver endast vara en rad - strText char(200). Addera en post innehållande lite text och spara detta.
ASP
Skapa en aspfil med namnet flashdemo.asp och använd följande exempel:
<%
set con = server.createObject("ADODB.Connection")
constr = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("sample.mdb")
con.open constr
set rst = con.execute("select strText from tblFlash")
if not rst.eof then
response.write "strText=" & server.urlencode(rst("strText"))
else
response.write "strText=" & _
server.urlencode(con.errors(0).description)
end if
set rst = nothing
set con = nothing
%>
Hemligheten..
Som du ser ovan så skrivs det direkt ut till browsern strText="någonting". Genom att man i flash startar asp-programmet så förväntar den sig att du skall returnera något. Det är detta den fångar upp och placerar i din ritade textbox (strText).Jag har ovan angett att öppna en accessdatabas med namnet sample.mdb - du kan som du vet öppna en connection på ett flertal sätt som du tidigare sett exempel på för ADO. För att sätta upp en DSN så använder du datorns kontrollpanel|odbc32 datakällor och väljer korrekt drivrutin för den databas du skall komma att använda. Då kan din connectionsträng istället se ut på följande sätt:
con.open "mindsn", "mittusername","mittpassword"
Du kan även se hur man skapar en dsn via filmen Film: Skapa en DSN.
Server.UrlEncode funktioner ser till att du formaterar din sträng korrekt. Con.errors(0).description skriver i klartext vad som misslyckats när du skulle initiera rst med din sql-fråga. Server.mappath tar reda på den hela sökvägen till databasen åt dig.
Tips, testa asp-scriptet att det presenteras en text i din browser - så det inte är något fel i asp-filen och du istället tror att det är flash som är felaktig..
HTML
Nu är du såpass färdig att vi skall ta och infoga din flashfilm (som exporterad är en shockwave) i ett html-dokument. Detta gör du genom att använda följande html-kod som du kan klistra in i en ny fil som du döper till flashdemo.htm.<HTML>
<HEAD>
<TITLE>Flashdemo</TITLE>
</HEAD>
<BODY bgcolor="#000000">
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://active.macromedia.com/ flash2/cabs/swflash.cab
#version=4,0,0,0" ID=flashdemo WIDTH=100% HEIGHT=100%>
<PARAM NAME=movie VALUE="flashdemo.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#000000>
<EMBED src="flashdemo.swf" quality=high bgcolor=#000066 WIDTH=100% HEIGHT=100% TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/
shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
</EMBED>
</OBJECT>
</BODY>
</HTML>
Nu är hela projektet klart och kan testköras. I och med denna html-kod ovan så kommer din/besökarens klient att automatiskt hämta ner flashdrivrutinen om den inte finns installerad sedan tidigare.
Macromedia flash och begränsningar..
Jag tog kontakt med dom för att fråga hur man använda externa gifbilder som man vill visa tillsammans med texter på en flashsida. Efter mycket om och men så fick jag reda på att det går ENDAST att använda externa texter och andra filmer. Det går alltså inte att använda liknande teknik för att presentera olika gifbilder - såvida de inte är inbakade i Flash. Det går, men då måste man använda programmet Flash Generator och det kostar ca 53.000 kr i Sverige och är en serverapplikation som då tillåter även grafiska funktioner som dessa.
Vad kan gå fel?
Exempelfilerna måste vara placerad i en katalog som är avsedd för att kunna köra asp-filer, exempelvis c:\inetpub\wwwroot\flashdemo då du testar programmet. Jag har också märkt att sidan laddas inte om ordentligt vid en refresh. Antingen får du tömma cachen i webbläsaren inför varje ändring, alternativt ställa in i webbläsaren att den alltid skall hämta en ny sida. Om du inte kan få upp properties på din ritade textruta så glömde du trycka på ab| knappen innan du ritade - det är nämligen 2 typer av textboxar.
Ett exempel
Här kan du ladda hem ett komplett programexempel för att se hur jag löste problemet. Filen Flashdemo är 15kb. Du kan även se ett exempel online här för en snabb överblick.
Några länkar till flash-sidor
Nedan följer några populära länkar till sidor som kan vara intressanta för flash-användare.- Dan Smith
- Flash FAQ
- Macromedia
- Moock
- Sen finns även en svensk community för flash som heter communen.com samt några artiklar om flash på dui.se
0 Kommentarer