HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Információk lekérdezése az Interneten keresztül


Példaprogram letöltése

21915 bájt

Sok cég tartja nyilván dolgozóit egy adatbázis segítségével. A Windows Messenger program nagy segítséget nyújt a számítógépek közti kapcsolatok kialakításában, valamint a kommunikációban, ezért sok cég használja azt. Ebben a példában, egy weblapon megjelenítjük a dolgozói adatbázist, valamint az adott dolgozók állapotát a Messenger programban. Lehetővé tesszük az azonnali mail küldést, ha rákattintunk valakinek az e-mail címére.

Első lépés, hogy el kell készítenünk a dolgozók adatait tartalmazó adatbázist. Egyetlen Paradox 7 típusú adattáblát használunk, az alábbi rekordszerkezettel.
Mezőnév Típus Méret Jelentése
EID * Autoincrement Rekordazonosító a táblában
EName Alpha 100 Név
PostalCode Alpha 4 Irányítószám
City Alpha 50 Település
Address Alpha 100 Utca, házszám.
Email Alpha 50 E-mail cím
A Webes alkalmazás elkészítéséhez az IntraWeb-et használjuk. Új alkalmazás kezdéséhez válasszuk a File – New – Other menüpontot, majd az IntraWeb palettáról a Stand Alone Application elemet. Adjuk meg az alkalmazás könyvtárát, majd kattintsunk az OK gombra.
Ha Com objektumokat akarunk használni egy IntraWeb-es alkalmazásban, akkor az IWServerController objektum, ComInitialization property-jét át kell állítanunk ciNormal-ra.
Az adattáblához a szokásos módon, egy TTable és egy TDataSource segítségével kapcsolódhatunk. A tábla adatainak megjelenítéséhez az IW Data paletta, IWDBGrid komponensét használjuk.
Itt is a DataSource property szolgál arra, hogy a komponenst az adattáblához kössük. Azonban a TTable komponensben nem állíthatjuk be a mezők megjelenítési neveit, ezt most másképp kell megoldanunk.
Az IWDBGrid1 komponens OnRenderCell eseményében van lehetőségünk a megjelenő cellák formázására.
procedure IWDBGrid1RenderCell(ACell: TIWGridCell; const ARow, AColumn: Integer);
Az ACell paraméter a cella adatait tartalmazza. A cella koordinátáit az AColumn (oszlop) és ARow (sor) paraméterekből tudhatjuk meg. Az oszlopok és sorok indexelése 0-val kezdődik.
Az ACell.Text tagján keresztül lekérdezhetjük vagy beállíthatjuk az adott cellában megjelenítendő szöveget.
Használhatunk HTML utasításokat is, ezek természetesen vezérlő funkcióval bírnak, így nem jelennek meg a szövegben, csak a hatásukat érzékelhetjük.
Az IWDBGrid-et nem használhatjuk szerkesztésre. Minden adata statikus. Ha viszont HTML utasításokat használunk, akkor az e-mail címeket könnyedén linkké varázsolhatjuk.
if (AColumn=5) and (ARow>0) then
  ACell.Text:='<a href="mailto:'+ACell.Text+'">'+ACell.Text+'</a>';
A táblázat utolsó mezőjében megjelenítjük az adott személy állapotát a Messenger programban. Ehhez szükségünk van egy újabb mezőre az adattáblában, amely nem létezik fizikailag. Egy számított mezőt alkalmazunk.
Ha duplán kattintunk a Table1 objektumon, megjelenik a mezőszerkesztője. Itt a jobb egér gomb lenyomásával megjeleníthetünk egy gyorsmenüt. Válasszuk az Add all fields menüpontot, ezáltal a szerkesztőben megjelenik a tábla összes fizikai mezője.
Ismét hívjuk elő a gyorsmenüt, majd válasszuk New field menüpontot.
A megjelenő ablakban egy újabb, logikai mezőt hozhatunk létre.
A Name mezőbe írjuk a Messenger nevet, ez lesz a mező neve. A mező típusa (Type) legyen String, mérete (Size) pedig 20. A FieldType-nál válasszuk a Calculated lehetőséget, majd kattintsunk az OK gombra.
A mező értékének beállításáról nekünk kell gondoskodnunk, a Table1 objektum, OnCalcFields eseményében.
procedure Table1CalcFields(DataSet: TDataSet);
A DataSet paraméteren keresztül férhetünk hozzá az adatforráshoz. Az esemény minden egyes rekord esetén meghívásra kerül.
Az eseményt kezelő eljárásban megnyitjuk a Messenger programot, majd meghatározzuk az adott felhasználó állapotát.
A Messenger program használatához a uses listában soroljuk fel a Messenger_TLB unit nevét.
A Messenger-hez az alábbi módon csatlakozhatunk.
MsgrObject:=TMsgrObject.Create(Nil);
Az adatokat csak akkor kell lekérdeznünk, ha a program aktív, azaz nincs MSTATE_OFFLINE állapotban.
if MsgrObject.LocalState=MSTATE_OFFLINE then
  DataSet.Fields[6].Value:='Nem elérhető'
else begin
...
A felhasználók listáját a List[0] property-n keresztül kérdezhetjük le. Ez egy kollekció, ImsgrUsers típussal.
Users:=MsgrObject.List[0];
A kollekció egy eleméhez, azaz egy felhasználóhoz, az IMsgrUser interfészen keresztül férhetünk hozzá.
User:=Users.Item(i);
Ellenőriznünk kell, hogy az adott felhasználó fel van-e egyáltalán véve a partnerek közé.
Ha igen, akkor lekérdezhetjük jelenlegi állapotát.
case User.State of
  MSTATE_OFFLINE: DataSet.Fields[6].Value:='Nem elérhető';
  MSTATE_ONLINE: DataSet.Fields[6].Value:='Elérhető';
  ...
Az eljárás végén felszabadítjuk az MsgrObject objektumot.
MsgrObject.Free;

Cikksorozat

#IDKategóriaCikk címeSorozat
2591WindowsTippek és trükkök - RAS - Modem csengetési szám állítása1. rész
2622WindowsTippek és trükkök - Program futtatása más felhasználóként2. rész
2640WindowsA Windows ikonméretének megváltoztatása és Windows 2000 Asztaltémák3. rész
2657WindowsTippek és trükkök - Internet Explorer4. rész
2667WindowsTippek és trükkök5. rész
2684WindowsAlapértelmezések állítása, telepítési fájlok helye, intéző nézetek6. rész
2696WindowsBiztonsági trükkök7. rész
2702WindowsWindows XP trükkök8. rész
2729WindowsWindows 2000 és XP tippek, trükkök9. rész
2757WindowsRegistry trükkök10. rész
2784WindowsTippek, trükkök11. rész
2829WindowsTippek, trükkök12. rész
2889WindowsWindows XP tippek13. rész
2909WindowsTippek Windows XP-hez14. rész
2919WindowsWindows tippek15. rész
2924WindowsWindows tippek16. rész
2963WindowsWindows tippek17. rész
2973WindowsWindows Tippek18. rész
2981WindowsWindows tippek19. rész
2990WindowsTippek-trükkök20. rész
3027WindowsIIS tippek21. rész
3034WindowsWindows XP tippek-trükkök22. rész
3088WindowsWindows 2000/XP tippek, trükkök23. rész
3133WindowsWindows XP tippcsokor24. rész
3140WindowsWindows XP tippek, trükkök25. rész
3152WindowsXP és IIS tippek - trükkök26. rész
3158WindowsWindows XP tippek, trükkök27. rész
3168WindowsTippek, trükkök28. rész
3170WindowsRegistry trükkök29. rész
3179WindowsTippek, trükkök30. rész
3197WindowsWindows XP tippek, trükkök31. rész
3205WindowsTippek, trükkök32. rész
3214WindowsTippek, trükkök33. rész
3223WindowsTippek, trükkök34. rész
3233WindowsTippek, trükkök35. rész
3271WindowsTippek, trükkök36. rész
3307WindowsTippek, trükkök37. rész
3370WindowsTippek, trükkök38. rész
3399WindowsTippek, trükkök39. rész
3510WindowsTippek, trükkök40. rész
3611WindowsHardverrel kapcsolatos tippek, trükkök41. rész
3668WindowsRegistry trükkök42. rész
3711WindowsTippek, trükkök43. rész
3771WindowsTippek, trükkök44. rész
3801WindowsTippek, trükkök45. rész
3831WindowsTippek, trükkök46. rész
3891WindowsTippek, trükkök47. rész
3921WindowsTippek, trükkök48. rész
3981WindowsTippek, trükkök49. rész
4041WindowsTippek, trükkök50. rész
4071WindowsTippek, trükkök51. rész
4151WindowsTippek, trükkök52. rész
4171C#Tippek, trükkök53. rész
4211WindowsTippek, trükkök54. rész
4251WindowsTippek, trükkök55. rész
4281WindowsTippek, trükkök56. rész
3589DelphiTippek, trükkök57. rész
3718DelphiTippek, trükkök58. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 348. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |