
A mellékelt példaprogram megnyitása előtt a NameDayWS.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
A komponens GetTodayNameday függvényével az aktuális névnapokat kérdezhetjük le.
function GetTodayNameday: TStringList;
A GetDatesByName függvénnyel a megadott névhez tartozó dátumokat tudhatjuk meg.
function GetDatesByName(IName: String): TStringList;
A harmadik függvény a GetNamesByDate. A függvénynek egy dátumot kell megadnunk. Visszatérési értékként az adott napon lévő névnapokat kapjuk meg.
function GetNamesByDate(Date: TDateTime): TStringList;
A névnap web service szolgáltatás az alábbi címen érhető el.
http://www.animare.hu/AnimareWebService/NameDay.asmx
A Web Service eléréséhez hozzunk létre egy új komponenst, majd válasszuk a File – New - Other menüpontot. A megjelenő ablakban válasszuk ki a WebServices fület, majd a WSDL Importer elemet.
Ismét létrejön egy ablak, ahol a szolgáltatás címét kell megadnunk. Ezt az alábbi módon kell megtennünk.
http://www.animare.hu/AnimareWebService/NameDay.asmx?wsdl
Miután létrejött a referencia, a NameDay unit tartalmazza a szolgáltatás eléréséhez szükséges függvényeket.
A web service három függvényt biztosít számunkra.

GetTodayNameDay
function GetTodayNameDay: ArrayOfString;
Az adott napon aktuális névnapok listáját adja meg.
Visszatérési érték
Az adott napon aktuális névnapok.

GetNamesByDate
function GetNamesByDate(
const dateValue: TXSDateTime
): ArrayOfString;
A függvény segítségével megtudhatjuk, hogy a megadott napon kik ünneplik névnapjukat.
Paraméterek
const dateValue: TXSDateTime
A dátum, amelyről információt szeretnénk megtudni.
Visszatérési érték
Az adott napon lévő névnapok.

GetDatesByName
function GetDatesByName(
const name: WideString
): ArrayOfDateTime;
A GetDatesByName függvény segítségével lekérdezhetjük azokat a dátumokat, amikor egy megadott név névnapnak számít.
Paraméterek
const name: WideString
A keresendő név.
Visszatérési érték
A névhez tartozó dátumok listája.
A web service szolgáltatás Visual Studio .Net-ben készült. A Delphi és a Visual Studio .Net az ékezetes karakterek és a dátum formátumok kezelésében nem teljesen kompatibilis egymással.
A három függvény közül csak a GetTodayNameDay függvényt hívhatjuk meg hagyományos módon. A másik két függvény használatához URL címzéssel kell elérnünk a szolgáltatást.
Egy URL címben nem szerepelhetnek ékezetes karakterek. Létrehoztuk a StringToHTML függvényt, amely a megadott szövegben kicseréli az ékezetes karaktereket, majd eredményül visszaadja a módosított karaktersorozatot.
Egy URL cím letöltéséhez elkészítettük a LoadFromURL függvényt.
procedure LoadFromURL(URL: string);
A függvény a paraméterként megadott oldalt elmenti ’c:\temp.xml’ néven. A függvény megfelelő paraméterrel történő hívása esetén az elmentett állomány tartalmazza a web service szolgáltatás eredménylistáját, XML formátumban, amelyet hagyományos, szöveges állományként feldolgozhatunk.
A GetNamesByDate függvényben az eredményül kapott nevek külön sorokban, az alábbi formában találhatóak meg.
Nekünk csak meg kell találnunk a szövegben ezeket a részeket.
A GetDatesByName függvény hívásakor dátumot kapunk, amely a következő formában áll rendelkezésünkre a temp.xml állományban.
<dateTime>Dátum</dateTime>