Delphi - Fényképalbum készítése az Intraweb-bel

forráskód letöltése
Készítünk egy Intraweb alkalmazást, amely segítségével egy megadott könyvtárban lévő JPG képeinket megjeleníthetjük a Web-en, mátrix alakzatban. Először minden kép kis méretben jelenik meg, majd ha a felhasználó valamelyikre rákattint, akkor egy új oldalon a kép megjelenik eredeti méretében.
Készítsünk egy új Intraweb alkalmazást. Ehhez válasszuk a File – New – Other menüpontot. A megjelenő ablakban kattintsunk az IntraWeb fülre, majd válasszuk a Stand Alone Application elemet.
Válasszuk ki az IWUnit1-et (formMain), ez lesz alkalmazásunk kezdőoldala. A megjelenítendő képeket az Images alkönyvtárban helyezzük el. A formMain OnCreate eseményében gondoskodnunk kell a képek betöltéséről és megfelelő méretezéséről.
Az Images alkönyvtárban található képek megkereséséhez létrehoztuk a ScanFiles eljárást, amelynek paraméterként azt a könyvtárat kell megadnunk, amelyben a képeket keresni szeretnénk.
ScanFiles('Images');
A ScanFiles eljárásban a FindFirst – FindNext utasításpárost használjuk a jpg kiterjesztésű állományok megkeresésére.
Ha az eljárás talál egy újabb képet, akkor azt a DrawImage metódus meghívásával, kirajzoljuk a weboldalra.
DrawImage(Dir+F.Name);
A képeket TIWImage komponensek segítségével jelenítjük meg, amelyeket dinamikusan hozunk létre, mátrix alakzatban. Az IntraWeb komponensek létrehozása kicsit eltér a hagyományos komponensekétől.
Image:=TIWImage.Create(Self);
A Create metódus paraméterében a Self kulcsszót kell használnunk, és nem kell beállítanunk a Parent property értékét.
A megjelenített képeket egy dinamikus tömb segítségével jegyezzük fel, hogy később fel tudjuk szabadítani az általuk lefoglalt memóriát.
A képeket 100x100 pixel nagyságú, maximális mérettel jelenítjük meg. A méretezésre a ResizeImage metódus szolgál, amelynek paraméterként egy TIWImage komponenst kell megadnunk. A metódus a megadott kép szélességét és magasságát, a 100x100-as méretnek megfelelően, arányosan kicsinyíti.
A TIWImage komponensek OnClick eseményét használjuk fel arra, hogy rájuk kattintva, a képet eredeti méretében jelenítsük meg egy új Form-on.
Új Form létrehozásához a File – New – Other menüpontot kell használnunk, és az IntraWeb fülről az Application Form elemet kell kiválasztanunk.
Az IntraWeb-es Form osztályoknak nincs példányváltozója, így azokra csak osztályként tudunk hivatkozni. Ennek megfelelően, megnyitásuk is eltér a hagyományostól.
with TformMain1.Create(WebApplication) do begin
  IWImage1.Picture.Assign((Sender As TIWImage).Picture);
  Show;
end;
Egy Form-ot a Release metódus meghívásával zárhatunk be.