Top Banner
Universal Knowledge Solutions s.a.l 1 : . : . . : : .
313

كتاب كامل عن_التعليم_عبر_الموبايل

Dec 24, 2014

Download

Technology

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

1

������ ���������� ���������� ���� ���� ���� � ����� ����� ���� � ����� ����� ���� � ����� �

���� ��� �

� ���� � ������� ������� ������� � ����� � :

��������� �� ��� ���� ��� ������� ���� .

����: ���� �� ��� ���� ��� � ��� !�" #��$�� �� ��� ��� � %� ��� &% �� &'���(� )�*�� �������� �� ����� %+���$���� , %+�- . ./( �, �����

�������� �� ����� � �0� ' (�1��� !�" 2%$��� ������ 3%����� �, ����� � ��� ��%���� ���"0�.

������� ��!�: !�" �41�� �/( �, 5�� �� 2%$� :

• �������� �� ����� '��1��� ��7�� • �������� ��� ������ ��"���� �����14��� • ���� '��1� �������� ��� ����� '������ � ��%���� 3%������� $�.

Page 2: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

2

� ���� � ���"�� �������# �

���� : ������� ��� 4� 2 %$� 2��� �&8�9 �� ���7�� %�: !�; �&���<�� ��=%�� !�; .

> +���?3��" ���� 4��� ��/( '&�� % � ������ �� '@%��� � ����� > ��� �" ��%�$� �1���� � �.

� ���� � ���"�� � ��%��� A��-� �������� ��� � ��� � � �( � B�� !�$�� � � ���� 2������ !�; �������� 5����� �� C%��� �(������ � ��� �" D���� ���, EF���� �, ���- �" D���� ������.

$�� %&�'�(� )�*�� � )%����(� ��4� ��%G� � ��" �" �� � ��% ����� '������ ���� ��. /; � ���$�� � ��7�� �� ����� H��

&�I� �, #���� �J� � , ��4�� !�; ������ ��� �I��� ���� � !�; ��4���� ?7-� �� E����9�� . ��� ����� ��9� ���� ��� ������4��> �� 5��0� �/�� K$��� ��*$�� � ��7�� ���9�� !�. -�./�� �����# � ���"�� � $� ��� � �""�� ��%G B������ ��� �� �� ��9� � ���9�� %�" ���� ��� �������� ��7�.

� ������ � ��� '������ � ��7�� ����9��� ��4�� ��� ����- EF�� ��.

���� �� ����� �� � J�� �"���� � ��7�� �� ����� %��$� �� �0� '<$� �, =%� ��� ����� ��0 ��� �� �0� K$� �, ��� �� ��� ������-�> ?� ��� ?� �� ��� �� ��� ������ . �������� �� ����� � � �F7$�� ������ ��9�� H*� �� ��7��.

.

�����# � ��� � �0� ��"���

������� �� �"���� %,�*� � �� ��" �J � � �L� � ��" 5� ��� ��� � ����� ��� �=%�� ��� �� 2�% � �M��� D ���� ��9 ��� ������� 2�% 0� ./(��$�� �J � ������.

�������� ./( ������ ��9�� %�< :

ت ا��������� ت ا��� ا�� ا�����

Page 3: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

3

(� �123 %���# � ������ � ��4�: >� ��� �� N� 5� � OP9� ��>�Q������ �� (������� ��I� ��%9� �-�� � �* %" � �� ���9 %�" ��4�7� � ����� � ��� ���.

����1� �( ���%9�� ./( 5�@���� ��4�� ��4�7�� �������� 2������ ��4�� ����� '��� ���� ���%9�� .

��0��5�� � ���� � : ?3��" � ��7�� ������ C������������ ��� ����� !�; �,�*G�� ����" ?���4 ?� ,�*; ?�. ���J����� �-� ��� ��� ���$�� �/( ��9

� ��7�� ��4��� ���� ���9�� ��F� �� � ��7��. �� �, � � F � ��$�� ./( H�4�� �F��� K$� '�� ���� � �� ��9� ���$�� �/( �������� ��� ����� � �*� ������ ?�%�I� ����

�������� ��� �����.

���4������ � ����� � ��" � �: ���� ��$�� � J� � , �J � ���$��� ������ ���� %,� R������$�� � ��%� �J � ���� ��� ����� . ���� ?7-� N%�%*�� ��, H14��

���%���� �� �� ��� � � '��� S���%�� T � �G 3%�� �� ��" � ����������� R�� !�" �4�� !�� ��(% @�.

�����# � ��� � �0� ��"��� )����(

��0��$������ � ������ � : ?�,�*;� ����� � ���� �� ��%� !�; � '����� ����� �4�� �� ��%� ���%9�� �� � �$�� � �5J�%*�� 5�� �� ��%� �-� � $� K%@

�� ��%�� �� ,%4��� ������� �� ��%��� �4�� ��������. ..�(% @�.

������� ��6"7� : � '(�"���� �����%9���� � �������� �� ������� ���� ' ��� �, �"��� �%�/�� ������-��� � � !�$, ./( �� � �$�� ��%�

��������� �������� � ��7�� ������ ' ��� !�" ���%9��.

��"�����4�8�� � : ��� �������� ��� ����� %��$��������� �� ����� ���� �, ?� J% ?��� . ���� ����� %� ��� 2F�� >��� ��� � ��� )�� !�" ������� ��%

�� D � ���$� ���$��� 3���� %��$PDA?��J7� %-�� �������� 5����� 3����� �������� 2������ �� �������� ���"0� ���� �, � ������ ���� ?�� �$� %-�� ��� � � � P9� !�" 3%��F W���� �������?�����?��J7� �� � ��� ./( �$ � � %-�� � ) % P� E*��� �/( E�

����� � �/�� �������� 2������ %��<�$ � ���� 3���� ��" PDA E�N��$�� 2����� ��� ��.(

�<�7�:

OP9������7�� � ������ ������

�$J��� 5�4�� ���$��

������� ����

�$J���

�� ��%���

�������

��<�0�

�$�4��

��� �����

Page 4: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

4

./( E �� ���� ��������� ������ �,�� �, ���� � �������� /; ' ���� ����� ./( ������ �� �, � J�� �"���� '����� ��� ������ K$�.

�� �� ���� � ��4�8

1 �������� ��� ����� T� '�� ?�$�� ?�� �������� ��� � ��� �� �1������ )���0� � P�� �������� �������� ��� ����� �� . �������� 5����� )���� � P�� '����� �1���� �, ��� ����� ./( C%���� 3����PDA �� �/�� 2������...�(% @� .

� ����� 5���&#��� !�" ��� N/�� �������� ������ �� � ���� A���� ����� �� ��� �(� �������� ��'������ E� %9��� .�/�

5� ��" �&�� N� ' �4������ � ���4�� � �: D � �� ��� ����� ./( 8J�4� 3�"�%� � �� P9��� '�<�� �:������G� �A��0� =����.

� ����� ����� 3�"�%� 5� ���: 1 X B���� ������ '�� 2 X ����$��� �"% 3 X ��%������ ������� '����� � ����;� ����0�� '���� D � �� �9�9�� ��14��� 4 X � P9��� '�<� D ��� � ����; 5 X Y����� �� ,% �� �4� � ����;E 6 X � %� ��� %�" 7 X >��� �� �����+��� �% ��� ����� ������ �, ��� �H ��1� �������%�� ��� �$9�A�� �D����� �� �� ��� ��4�� 8 X >� �� ��%� %,�� ��*� ��� ���%��� '"���Z� �$�4��� ����� �" �1���� ���%9 �� 3%.

� ���� � ��4�8�� � )����(

���������� ������ ' �4� �, ����"�%� 5� ����� �������� ��� ����� �(�� �% ���� 8J�4��� � �� �:� ����G� � �: 5��� �

3% �� � �(� � ��7�� ��4�� ���$� ��� ?7 41� %-�� 3%�4� ��9F���.

����9� �� :: 5�� ��� �"�1��� =��� !�" �������� ��� ����� �, �(%� ��� 5� ���� ����G� � �: ���$��� )�� !�" ��� � ��� � %� ���� ��$���

���$��?����"����� ���"0� ��� � � '<$� '���� �/( �, %���"� � $� ����G� � �: /�� 5� W�/� ����G� �� 3% �� � �� ��������� �� )����.

�:���( ?�%�9��� %-�[� ����G� :

• '�F%0� ���� • '���� '������ ����G�

o � *�%�,� H ��1��� ����

Page 5: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

5

o 2%����� !�" 2%$��� o 2%��� �"���� o � �� � !�" %9����� 2%$���.

• G�H ��1��� ���� '������ ���� • ���4�� ����G�.

���������� ������ ' �4� �, ����"�%� 5� ����� �������� ��� ����� �(�� �% ���� 8J�4��� � �� � �:� ����G� � �: 5��� 3% �� � �(� � ��7�� ��4�� ���$� ��� ?7 41� %-�� 3%�4� ��9F���.

����9� �� ::

���$�5�� ��� �"�1��� =��� !�" �������� ��� ����� �, �(%� ��� 5� ���� ����G� � �:�� )�� !�" ��� � ��� � %� ���� ��$��� ���$��?����" �/( �, %���"� � $� ����G� � �: /�� 5� W�/� ����G� �� 3% �� � �� �������� ���"0� ��� � � '<$� '����

������ �� )����. �:���( ?�%�9��� %-�[� ����G� :

; ��<�7� ��� : ?3��" �������� 2������ N���� �� ����� ���� !�" 12?��F% .�� H�4� %��0� ���� '�F%0� ����G � ��$1�� �P��� ������ ./( %��$

8�4��� ����\� ��@%�� ��" ?����%; %-��� 5�8 4��2%��� D7- � -��� ]��1� �� . � E� ��� �$�� �1���� �� ��� % � � ' � ��� �� ����� ./( �� ���� %-�� ����G� � ��"T9 D �� ./( '��� � ����� � $� ����� ����; ��" B����; ��%��� 8��� EF���

2%�����. ; ��� � ������� ����9�:

%��$> 3� ���� ������G� ��� �, �-�� � ���� #���� ��9�9 '����� � ��� " ���$�!�����G� �, '���� . �/( H�5��0� ����G� �� ��$� � �������C����� H ��1� ���� !�; � !�;� J� � , '�F%� ���� . �� �/( �, ��������� ?�"� 9 �� ����� %-��

������: o � *�%�,� H ��1��� ���� : D �N%� ����; �(��" '������ ��� � �9�9�� !�" H ��1� ���� %��<; B�L� �����$���

� � �� H ��1� ���� !�" ��$ . ���� ���� �/( �, ���9��� �,� ?� �� 3% �� �9�9 ���� !�; ������ �, � ���������G� �"%.

o 2%����� !�" 2%$��� : �9�9�� !�" '���� � ��� ������� '�� ���� 2%����� % 1� ������ !�" � ����� ./( ��$�) !�" �� 3���� �����9�9�� ?����@.( � P9� '�<� %,� Windows CE3� ��� ./( ��� �(� 8�4��� ��� �, ?��� ���$, �$

3% P4���3% ���� 8�4��� �, ����G� �"% E,%� ��@%�� ��� �, � ��$, �F� H�4� �����. o 2%��� �"����Graffiti : ?7�9 �������� ��� ������ �4���� � P9��� ��<�� K$� ���F� �� ?� 2%$��� ���9� ��

2%����� !�"� !"�� �4�� 2%��� �"���� '������ W�/Graffiti !�" 2%$��� ����� 2%����� ./( H��

Page 6: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

6

5 %���� K$� 2%����� ./( 5� �� �2%�0���� �" ��$��� '� �� �$� ����G� �, 3� � �"% T��� �����. o � �� � !�" %9����� 2%$��� :!�" � ����� ./( ���$� � !�" %9����� 2%$��� !�" � P9��� '�<� 5 %�� � ����; �

'���>��� .� ��$�� ./( 5� �� ����$, ���� !�� ��� �$� %-�� 5�4 ���"� �� ��%�.

)����� � ��� ������� ����9� : ���� ��� ����G �1���� ���9� ���F ���� ��%� ��� �� �� '@%���� �( H ��1��� ���� ���� �� ����G� � ��$� � ��$, %-�0� �� % ��.

>� H ��1��� ���� ���� �� ��� +��� �������� 5����� �, ��� ���������� ������ !�; ���4� ��� � ,% �.

%��� � ����9�: %��$�� ��� � ��" ���4�� ����G� � ��" � �3% �� � ��$, ��/ / 1�� ��� /;?3%9��� � ��4�� %���0� K$��� � ��4�� # L� D����

�� 8�9� ��4�� �����$� �". � ���4�� '7$��� �4���� W�� �-� ?�� �$� %-�0� ��� � ��� ���� �, ����� ����� �7F����� / 1��, �?3��$ W��� T � ��� �/(�� ����G�

���� �� 3��$��� � ��4�� ��J0� !�" ����_� � ,���� " :?��@ #� �� ��� 2 �T9�� �, "�� ���� �� " �� ������� ��%J� �� �( �� '� �� T9�� !�; ���." �-� � ��4�� ������ ��<�L� �4���� % �$��� ��� � ��� ./( '���� �� ?����@VoiceXML.

� ���� � ��4�8�� � )����(

�����# � ������ �� ::

� �� ���7�� ��4�7�� � J% )���� D7- %,����� ��7�� ��� ���� : ��4�� '������ �� ������ ��� ����� '������ ��4������� ��41�������� ��* �Z �>��� ��4�G�.

$����� ������� ������:

����� K$��� ���*$� E� ��$�� � ���� )���� �/( �� ��4�� 5� � PDAN� �� 2��( ����� ?7-� . � ��� ����� ./( ��� %,�������$��� '�� � %�[� ������ ���7�� ��4�.

� ����� T% �� =��G�� K$��� ��*$� ��� ����� ./( �4�� �� ��� : X ���� � ��� %9����� ��4�� X A�%���� ��� �$9� '������ ��4�� X D����� � ��� '������ ��4��.

Page 7: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

7

X �"� ��4�� �� ���� �/(�,� ������ %� ��� >�� /J��" ���� � ����0 '�4 ���� ������ !�" ?�����"� B������ ��%?� �� ��4�� 3%�F ����� �������� � �*���.

X �"�� ?�* � �� % �� ./( �,B����� '�<��� ������ !�; ������ ��� �� ���� 3���0� ������ .��� �4�� ���� '����� ��� 7�� ��4�� � �L�� ?� ��%�: ���� �� %-�0 ���.

X �J �� � ����� �-��� ���� �/( �,�,.� �$� ./; N� ���� 2����� �� �� ���"; 5� ����� �/( ��" ���*� ������� ������. X �� ��� �F D����� � ���� ��4�� %,�� '�"�$� � ��" ��� A�%���� ��� �$90�� ��4���'������������ � �� $� � ��"

K$�A�9�� .

� ���� � ��4�8�� � )����(

�����# � ������ �� :: ���� ���� � ��4�8�� � ������� ������:

���7�� ��4�� � ��" � �L�� ������� ������ E� �41�� ������� � ���� ������� '����� ���� �/( ��*� . ������� ./�� ��� �9�� �� )�� �� %-�0 ��4�� � �L�� � ���"; � ��$� � ��7� ���.

�� ,% �� ./( �4�� 8�� #��F %,�� ������� ./( '����� 5� � � ��� ?����@ ���� ��(Compact flash)� �(PCMCI). 8���� ��4�� �� )���� �/�� � �(� %-�0� 3� ����, �1���� ����� '����� � ����; % ,���� �1���� )���� E� �%�� � ��" �

W ����9��WLAN� �WAN� �PAN...

4�8� � $�= ���� � ������ �� :: � ��" %��$�� �������� ��7�� ��4�� � �: ������� ������ � �*� �3���$��� ���7�� ��4�� 5 ��� ��� .

�������� 2������ ��� �, ��� %� ��� �/( %��$ ���� �F���� =%�0� �������� ��� ����� ?7-� �������� 5��� .����"� �, ?�%�I�.

8���� �� % �� ./( �, � �0� 3� ����, ���� �� � �$��� � ��� � ������� ������� ���7�� ��4�� ���� � � ���-� ����� � �L�������� 8���� � P9��� '�<��.

�� ;���%��� ����,%��$> ���� �/( �, � ���� %4��$�� ��� �D � '� ���� � ��7�� ���9�� ��� ?������ ������ '���� H�4

Page 8: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

8

��4�� � �: ������ �4����.���� ��* ���

� ���� � ���� � %& ������� �

���%9�� �� � �$�� �%$9 ���9�� ��������� ������ % � � B�� �, TJ�$� � � ��� % �$��� 8��T����� ���%9�� ./( �%$9� �� ����� ���� ������ % � �� ?���� �� ��F !�� � %� $� % @ �� ��� !�; ������� ���� ����� �4����.

���(� �� ��� �������� ������ ���� �, � � ��� % �$��� �� � �$�� !�" ��$�� '� W�/�WAP ��� � ��� ���� % � �� 8����

�� % -��� ��� %� $��� �/( '�F D � ��%��G� !�" � ��7����%��G� % �$�� T,��� ��9� ��$��� ���$���� ���9���. ��� �-� �1���� ��P� % � � '� WML �CHTML �VoiceXML ���� �,��P��� � % 9L�����%��G�� �4���� � ���( � � �� � � ��� '����� '�� ��� BREW (Binary Runtime Environment for wireless) ���� �, �/�� 2��������

� ����J2ME ��� ���������� ��� ����� �� E�� 2 W�/� ������� ��� �� ��� � ��� % � �� �4���� % �$��� ���� �,. ��J � �,��%� �� ��%9 ���F.NETCF(.NET compact framework) � �(� 5��� ������ ��% ��9� � � F %��$� �����

��� % � � ���� ���, ����� 3% �� � P9� '�<� !�" ����$�� ��� ����� ��� �windows-CE. � �� T� �� �/( �, ��� � � ��� %�/ ��C/C++ �Visual basic �� ,% �� ��� � ��� % � �� ��@%�� ��" 3� � ��%� � %��$�

� �/��.

=%�� �P� % � � SyncML� '���� ���� % �$��� ��� ����� ��9%��� ������>��� �� ��$ /; ���� �����$�� �������� � ��$� H��� ��4����4�� ����� ������� ������ � � ���� ���� � "����.

� '�%� � 8�� %� $� !�" T�1�� a�� WAN��� � ?�%�I� '�%� '"� ��� ���IP� ������ a WLAN % �$��� T,� W�/�

802.11a �802.11b �802.11x'�� � ,�� $� D����� � ��� % ����9�� ?�%�PAN.

� ���� � ��4�8�� � �"��

T F� ��9� ��1 �4� 5$4 � �% �� ��9� �������� ��� ����� )����.��� ���� ./�� �������� ��1 �4��� ��� �� �� , : 1 X ����\� 3������ �������� 2������ 5��� !�; C����� �. 2 X ���� (����� 3% 4��� �J�%�� 3� : 3���0� ./( H��� 4��� �J�%�� ������� ��%\� 3 X � ��� �*1��� � �/�� 2������ 4 X PDA 5 X � ��� � ��" � �/�� 2������ 6 X � �� �� � 4�9�� 5�����

Page 9: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

9

7 X �� ��� 5����� 8 X �������� 5�����.

� ���� � 48�7� >��* $? ��"���� �� ���� � m-commerce

� ��%���� 3%����� �� )���� �/( ��� C%�� � ������� A�%9�� �� ��"� 3%�1�� ���� D � ��������� 3���0� '������ ����� '��1��� �/( % � �� T�$�� ���� � �0�� �� ��"� ���"0� A�%�; !�" �������� ��� ����� ������� 3%���� A� "; �B�����

%���� ���"0� � ��$, #1�� �F� N� �,� ���� N� �� � ��%���� A�%9������� ��4�� �� F �� �(� %�� � ��. �( ������� ������ �7� �������� � ��%���� 3%����� T� ���� ���� ����$> ����� '��1��� �/�� ��� � ��� '(� ��:

%�<� � @��3 �: ��� ��� ��� ���� � �F%�� �������� !�" � J�%9�� � ��$�� �� )���� �/( ��% �?�%�, ��������.

����%��� ��������� ��� ������ �4���� 5�$�0� T��� �( �������� �/�� T��0� %������� ����� ./�� �4���� ���P���.

� ���� � ���" � �#���� �: � ����� �7��$���� T�$� �� , ��� ��� ��� ���� ������� �� �� �� ��"�� W��(.

€ �4��� � ���� ���$���� W��� !��0� A�%�; � ����; !�; ?�,�*; ��7F����� 29� !�" )7 7� ������ 5���� !�; �� ����� �7F����� .� �(� ��� '� �F �������� ��� ����� ��� ��%��� '������ � ����� �� ��$�� ?������� ������ ./( %��$�

���9�� ./�� ��4�� � ����\�. € �� '������ ���$���� ��, � ��-�� ��� '� ��F% ���� ������ T % �" E,��� '� D � E,��� � ��" �, �������� ��� ���

������� 2����� ���%9 �, ��� ��4�� ��I� ���� ��%9�� T % �" �� �� ��� !�; B� ���.

������� � �����: � �"������ �����$���� �������� 3���0� ������ � ��� ������� �� )���� �/( ��*� �� ����� '�0� T� ��%�� 8�� �� , A�

��� ��*� %�� %������ ��� ���� � ��� �J�%� '������ !�; �����$��� ./( ��%; ��� D � �#� ��.

� ���� � 48�7� >��* $? ��"���� �� ���� � m-commerce

)����(

A<�� � ������ � ����� �: EF�� � ��� � ����; ��9�� �� ��� �4���� ���� ���� '������ � ��� '� D �� E ���� ����� �, 3���� �P��� 3��� B���� ���� '������

B �; �J� � , E � ���� 5%F� �, B���� N/�� S����� �". '������ � 4�4�� T�$� ��� ������� �� )���� �/( 8�4�� ?��J� T���� K$� ��� �� ����B��%� �����$�.

>��� �� ���� � ��4�8�� � �������:

���� ��� ����� � ����� 5�� 5 %��� ������� �, � �$9 �������� ��� ����� '������ ���%���� T���� )���� 5�@� 5�� ��

Page 10: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

10

?�� �� %-�� ��%�� =%�0� T% ��� T���� �$��. ( ��� ���� � �������� K$� ���� �� �/( �� '@%���� ��� �, ����� ?7-� K%$�� �� �"� ��F � J��� �� K�%$�� ��F� �

���J� � , %��� �� .A�%9 ��F �� S���� ��%��� !�" 3%,����� %�$0� ��%��� ���� �,.

� ���� � ��4�8�� � ������� $#?9�: ���� EJ�*���� B$F��� '������ ���� ��� �1���� �����$� �������� ������ '��� =�� %,�� �����$��� �� �(% @� �(A�%9� '��

� � ����. � S���� � �7"; �J�% �% �� ������ ����� ��� � '�������(� 5�� � ������� !�; �������� J�%9�� '��%�F� '���� =���.

9 ��� �, ������ ���� % P�� '�� '������ �� �, ���7"G� �� )���� �/( �, � �0� ���9��� ���� � ��" �� C�"�G�� %$�7"G� �J�%� T�%@G�.

� ��F� � �� 5%F� �" �7"G�� '������ ��F �� ���� ��� ���7"G� �� ?�"�� =%� �� �, EF��> �/��� �� 4 5%F�... �(% @�.

� ���� � 48�7� >��* $? ��"���� �� ���� � m-commerce

)����(

E���� ������ '�" � ��I� � �1�� 5��0� �� �"���� T��" !�" �������� � ��%���� 3%����� E %� � �� ��$�� 5��0� ���$����

���"0�� ����(� ��: • ��� ����� 5�@� A����� '�"� ����9�� !�"�� �4�� � ���Q�A�%9�� �� ��" �, ��� ����� '����� �� ��" � • %,�� '�"���� ��� ����G ����� '��������� �� • '�" % ,�� ������� N����� � ��7�� ����9�� );?�%�I� ( � � ,�� ��"%� ��� �� � ��%��� �������� E� ���$��

A�%9�� �� ��" A�%�\�. • 5��� '�"� ����� 3� �� %�4���� 3%�4�� % �� ��9� � ���%�� ���%����E�A�%9�� �� ��" .'@%���, �� �� ���%9��

����� �$�4����F��� � ��" ����� ��9�9� ����� ��� ���� �F �������� ���� ; �� 3%9����� ��� ����� 5�@� N����3� ��� ./( .

• )���F� '� � ��%���� 3%����� �L� � ������� '<$�)� ����( 3%����� '��� � � T % W��( ��� ��, �/� ���: % @ ���0� )�*�� �, �������� � ��%���� % � ���$� % -0� %�" �����$��� ��%; ���� )�*�� ������� ��� D �

�,�*;. • �������� ��� ����� ������� ��� � ��� %,�� '�". • 3%��1�� ��� � T% ��� '�"�� ��7�� ��� ����� �"��4 ��F �� ������ ����� W������ � � % $���.

�J��� % 9�!�;�7�� 3%����� % 4� �� �������� � ��%��( � ]�������/( ���]����� ?�$F��� ��� ��� %-�� L�F� /�L .

Page 11: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

11

B �C �� %"�C � ��� �:

�����# � ���3 �D �8?��"� ��8�& ������� � ���"�� �

������� � ����� � : �"���� �4�" �%� ����� �"������ �� J�� �"���� �A����� �F7" �A����� �F7" ��, �� ��E �� �)����� ���41�� ��"���� �

������� �"������.

����: � ��7�� ����9�� �� D��-�� � ��� �" D��� E ����, �������� �� ����� ���� �, ���� E *����� %-�� ��� � ��7�� ����9�� �$�

T��� !�" % � ���� � ��7�� ����9�� � ��� �"�. ���� �� A���� �/( �, � P� � ��7�� ����9�� � �0� �$�%0� )���0� �� ./( �, �������� �� ����� �� �"���� !�" 2%$��

����9��.

������� ��!�: !�" �41�� �/( �, 5�� �� 2%$� :

€ � 4�9�� � ����� � ��7�� ���9��(WPAN) € � ����� � ��7�� ���9��(WLAN) € �* %$�� � ��7�� ���9��(WWAN) € 9 � "��4�� %��F0� ��� (Satellite)

Page 12: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

12

�����# � ���3 �

� ��7�� ����9�� �� D��-�� � ��� �" D��� E ����, �������� �� ����� ���� �, ���� E *����� %-�� ��� � ��7�� ����9�� �$�� T��� !�" % � ���� � ��7�� ����9�� � ��� �"�.

A���� �/( �, � P� � ��7�� ����9�� � �0� �$�%0� )���0� ����� �� :

1 X � 4�9�� � ����� � ��7�� ���9��.(WPAN) 2 X � ����� � ��7�� ���9��(WLAN) 3 X �* %$�� � ��7�� ���9��(WWAN) 4 X � "��4�� %��F0� ���9 (Satellite) .

�����# � ���3 � $? �����

�$�� � ��7�� ����9�� '���K�%@0� �� � .��O�9�� ��� � �7����� '������ �4��� �" ?7 �� �� �0� K$� �, ����9�� ./( ���+�� ' � ��� � �L�� =%�� �� �� �,��$� �" ���� ��� ��%�9�.

� J% � "�� !�; � ��7�� ����9�� ' ��� '���: X ���� � ��� � ���3: �� ���� ����9�� 2 �4��� �/( ����� ���9� ������ ����� �( ��� 3����� ���� � PWLAN

�A��� � P� ������Y���E� ��� ��$������ !��� ��� � � 4�9�� � ����� ����9�� ?�* � 2 �4��� �/( ��� C%��WPAN .?3��" ����9�� ./( ��$� 8 �%��� !�; ����� � � ����%� !�" N%� �� "��4�� K�%@b� �(���� ��� %����� �

��� ��$��� �� � ���. 2���� &��� �� 3%,����� ����%���%�[ � �( ?�"� 9 ����%��� ./( %-�� ����2.4 A���� �� �, ?�� %�� ������� % @ ��%(�P � '��$�� . ����%��� '����� '� W�/�5 ��%(�P � �40��%(�P � .

X ���* � ��� � ���3:�� +��� � � �� =���� ����9 '����" �� ������ � ��� % 4��� =���� ����9 E � P�� %��� �����

���9��. > �� ?����@+�������� ���7�� ��4�� '��� ���� ���%9�� ��F �� ����9�� �� )���� �/( ' . ����9�� �� )���� �/( ���

�� �� ���9 ���� �$�� ����� !�"�� ��<,����� ����� ��� !�" !��. �� )���� %-��( ?�"� 9 =���� �� � � ��7�� ����9�WWAN� ��* %$�� � ��7�� ���9��.

����" =��� !�" ��� ��4�� !�; ������ ��" ����O��9�� �� ��� � "��4�� %��F0� %�" � ��7�� ����9�� ?7�?� �-�� .

�����# � ���3 � $? ����� )����(

?�/;��� %-�0� �$�%0� )���0�, �( =���� 3% 4���� �� � �� W�� � P� ����� ��%�/ ��� � ��7�� ����9�� ?�%�9

WPAN,WLAN,WWAN,Satellite����9�� ./( 8J�4� '(� H*� ���� �� �� ,� .

Page 13: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

13

��3 � E�" �*2� � ����� � ���6� � ���� � ��" � �?�� ����� �

(WPAN) ����� 3��"10%����

������ � 4���� �" � �� ' ����9�� �, �7�����

� 4�9��

�*1���?���

0.1-4

Mbps IrDA, Bluetooth, 802.15

(WLAN) ����� 3��"100%�� � ����� ���9�� E��� ��$�

��� ���� ���9�� �" � �� � ���

1-54

Mbps

802.11a, b, g,

HIPERLAN/2

(WWAN)

!�" � P��� ���� 3��" %-�� '������ �� � =���

������

� ����� ���9�� E��� ��$� �$1�%� 8 Kbps-2

Mbps

GSM, TDMA, CDMA,

GPRS, EDGE, WCDMA

(Satellite) Global coverage � ����� ���9�� E��� ��$� �$1�%�

?���

2 Kbps-

19.2 Kbps TDMA, CDMA, FDMA

��%�/ ��� � ��7�� ����9�� ?�%�9��� %-�0� �$�%0� )���0�, �/;�( =���� 3% 4���� �� � �� W�� � P� �����

WPAN, WLAN, WWAN, Satellite����9�� ./( 8J�4� '(� H*� ���� �� �� ,� .

������� � ������ � �������

�"� ��$�� � �: �" �����$� �,%$� ���� �� ��7�� ����9�� ������� ��$��� � � 41� �,%$� ��� � ��� % � � 5� � ,� '�, �1������ � ��7�� �� ����� ��� 2%4�� ���� �� % ��.

� � ��%�� �����%��� �" ������ ���� � ��7�� �� ����� �, 8�P�� ��F. ������� � ������ �:

����9 �, � ��7�� �� ����� �� � �$�� ����WWAN, WPAN, WLAN� � ��%�� ������� '������ �������$� . / 1���./( � ��$�� N%� ������ '� �� �" T� � � � ��% ���� !�" ���� ��� � ��� . > �' �%��� '� � ��$�� ./( !�" T�

(Modulation) . .� ��� ���� ��� ' �%��� � ��" �, �������� �� ����� �� � �$�� W��(� � ��$1�� D � �� B�� "��F� �� ���� ��.

���� �( �$J�9�� ' �%��� �� ���� �: X ���= � ��4� � ��� � �"��:���� N� ��% ��%� '������ ���� ��� ������� ��%\� �� *�� ������ ��<�� '��� .N%��

>��� ��%��� A��� !�" �<,�����+������� �� ?�� * ' .N%� ����%� 3�" !�" � ����� 3�" � P9�� ������� )�*�� ����� >��� � ��I� H�4��O9%>��� H���>��� W�� ��" ��%�9G� �� ��$��� �+%3������ ����%��� !�" ��. �� �� ��%9 ������

��%��� ���� ����� H %4� !�" �4�� �� 5� �� *�� ������ � ��� '�����. X �3�"� � ��4� � ���� �"��: ��� �4� �, � ����� ./( '��� ������ K%" � ��$, � � �* ������� �� �� F�-�����

�� ���0�� � ����"=%�� ��� �� . �� * ��%� ���� !�" 3���$��� W��� �� %��� ���� K%" W���� ��,� ���� �����

Page 14: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

14

>��� ��F �� ?�,�9��� ���� =�F� 3%�9;�����%��� 3%�9G�� �4���� ��%9I��� 2%$� ���� �7. ��������� S �*� 3%9����� ������ � ������� '���� ���� 3%�9G� W�� �� �; ��%� ���� �7������ ��" �7������ ��� �

3%�9G�.

������� � ������ � ������� )3%9����� ������ � ���(

��������� ��� � ����� ./�� �7�9 W��( ���%��� ���1F � ��� ��( � %9����� ������� � ���

���� � ��4�< ��"�� FHSS :��� � ����� ./( '��������%��� !�" �$ % 3%�4� ��%����� '�� ������ T * �. �%��� �� �� '�$ ��������� ����%��� � �9�� � ����� ./( �, �������. � !�� B�� �( 3%�1����� ��%� K�%�"� '�� ��%_� 3%,��� =%�0� ����%��� �<� ����� ��� ��%; � ��" 3��"; '��, ;. ��� �, ���� �� ����3� �� � � �� 3��F � ��� �����$���.

�� �������� ����%��� � �9� W��� ���� �7������ ������ ���� ��%G��S �*�� �� 3% 4F ���,� B�L�. '������ ��%G� ��$�� !4F0� ����FHSS( � �����1Mbps

�3�� � % ��� � ��"��DSSS: !�" 3%�9G� %9�� � ����� ./( '���� ����� 3%�4� � � ��%�� ����%��� �� �$�� ����. ��� )�� (B��%; '� W��( ) �� ( %%��

>%�� !� �F�F. �(%%*� ��� �, ���� ��� 3��$��� ����$� ����G�� ��� ���� �F�F%�� ./( �� ����� ����.

5� ��!�"� ���� K%" ?�* � �� � �� ��� ��. �� � /�� � ������� ������>��� 3%�9G� �\, 3%�9G� ���� ��$F+% � ���� ��DSSS��� � ������ K %" 2 $* S �*�N%�

B*,%. 5� ��DSSS �� %��� �F� FHSS �(�4F� �� F !�; ��%G� ��$� E,% ��� ���� 2Mbps.

������� � ������ � ������� (� � ��"��F?�=G������� � ���� � ����� �(OFDM)

./( �, '� �, �������� �1��� � ���� #��$� ��9� � ����� �� % � �����$��� ��%; �� % ��FHSS � �, �������� %�9����

DSSS.

��%; � ����� ./( �7� �� ��� T *� ���� K%" %�" ���� ��� �� !�"� � �� �$� ��� � � ����� OFDM ��%G ����� ���" ��%; ��$�� ���� ���.

Page 15: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

15

������� � ����� ./( �, ���9 �, ���� T � ��� ��$4?�F� 5� ���7� �� !�"� � � ����� FHSS �DSSS.

����3 � �����# � ���3 � WPAN

� ��%���� ��� ����� � ������ '����� E,� ������� �, � ��� ����� ./( ��4�� !�; ������ �� � ���� !�; 5������ ��*$�� K$��� %�F %��L����%��� ��. ' ���� ����9 % � � !�" � �%��� �� �� ���� �% � ��" ./(��� ����� .

��� ����� ./( �" ��-�0� �%�� �� :� 4�9�� 5����� ��5������������� � � 2�������������� ���$�� ��� % -���� ��

=%�0� ��� �����.

�7��� � ��� ��� ����� W��� �% 3%�, ���� W�� !�; � ������� �,�*; '� � � ?�� �$� %��0� �������� ��"�� � ��" 3%9������ �����.

������ W��� ������� � 4�9�� � ��7�� ����9�� �%�<� ����9�� �� � ���� 8J�4��� �%�� ����WPAN �(:

X =���� % 4F ��4�� X �F� �� � ���� W7��� X �*1����� �1���� X 4�9 ����9� 4�9�� ��$�� ���� ��* ��4�� ��I� 3% P4 �.

���3 %& ������� � ������ � ������ � WPAN

������ 4�9�� � ��7�� ����9�� � � ��� % �$��� �� � �$�� �� W���� D �� � 3�F ��� ���� ���2$* ��� . K%$�� % �$��� ./( K$� ����� �� A���� �/( �,����� K�%@�����:

�����IrDA: ��$ A�%���� ��� �$90� '������ �1���� K1��� �������� ��4�� % �$� E*�� ���F ���� � ���$�� �I��� !�; %�4��� �/(.

%� $��� E*�IrDA ���� ����� '"�� ������%��� �� �"���� �5��������4�� 3����� . ,�� ������%��� ./( �� K%P�� ���� ��" �"%�� 3% 4F �,���� %<� � %�" � �� !�; � �� �� ��� ���� � ��� % .

'��������%� �IrDA�� aIrDA DATA �����$��� ' �� � �c� �a�� IrDA CONTROL'��� � �c� . ��� �� ��0� K%P��IrDA �,������� �4��� �" � �� ' ��� .�1� /; �� ������ ������ � �� �� � ����� A�%���� ��� �$90

Page 16: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

16

��%; �� ����������� � ���� ��� ������ .��4�� �� )���� �/( 8J�4��� '(� K$� �� �� ,�: X �4 !�� ��4�� ����1 !�� ��4��� �� �0� K$� �, ����G�� ��� �;� %�� 2%�� X %� � � ����� ./( '���?� ��4�� ��� �, �F� �� % ,��� ��*���� !�� 20%�� �� . �F� �F� %� ��� �/( 5� � D �

=�4��� �F� ��� %��-�� ���� �� 2�$*� %9$�. X .���� �J��- ��4��. X � � ]��%�� ���� ��� ��%; �"%9600 bps � !��4 Mbps. X ����� ?�%�� ������ �1��� ���� ��* � ����� ./( � �*� ��� D � �1���� �*1��� � �����?����.

����� �� %� $��� �/( B��� ��� '@%��� ��� ��� ���� TJ��$�� �� % -��� W��( !��� �O�� ���� ��� '<$� � P� �� � ����� ./( �

�4���� 4�9�� . �7�� � 4�9 � � �� ��4�� �����$� ����� ���� �, ����� A�%���� ��� �$90� '����� 3%�, ���� �� ������ ��, � ����

� ������?7-� �$�� � ��4�� !�; ������ ��" ?�� �$� %-�� H�4� %��0� ���� � %9��� %<� � !�" ��4��� E �� �F ������ 5��� �J � �, ��� ��4�� ����� ���� ��� ����� � �� ��� ��� ������ �J ��� �,.

���3 %& ������� � ������ � ������ �

WPAN ���� � �BlueTooth

( D������ %� $��, �"� ��������� 5����� � � ���7�� ��4�� � 2����������d���� �=%�0� �������� ��� ����� K$�.

A�%���� ��� �$90� ���� �, .��<�� ��� 3% �P� 3%�4�� ��� ����� � � %<� � D����� � ���� 3������ ��� ����� 5� �� ��4����� ���� ������� %�" ��4�� � �L� E .

���� � ��$�� ������ �, ��4�� �,��10 !�� ��4��� ��� ���� %�� 1003%�9; ����*� '������ %�� .

2 �� D����� %� $� '��� 2.4-GHZ>��� % @ e�%��4�7� 8W��� ��� � !�; �4 ��� ��$� 720Kbps �, EF����� ���

� �� 5 %��� ������� !�; �4 � ����� ��$� E,% '10Mbps.

���� D � =%�� ���%9 ��F �� %� $��� �/( % � � '�B� ��%9 Ericsson �-� ���%9 ��$� ����$� '- �Nokia�INTEL� Toshiba �IBM� !� �� ��9�� aSIG�

(Bluetooth Special Interest group)"������ ./( !�; ���%9�� ./( �� � �$�� ��*�� '- �-� �Microsoft , Motorola,

Lucent , 3COM �=%�� ��%9 �1�� �� %-��.

!���3% �� %� $��� �/�� � ��%��� ��$F���� �������� ��4�� �" � ��� ��� ��9�� ��$ �[� !�� ��� �� D����� ����.

Page 17: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

17

� � ����� ./�� 3������ ��� ����� ��� D � �J���� 2�9��� � �: D����� '�� �����" ���� ��* �$F���� 3���0� E �� 2�9��D �� �(�$� N%� 3���0� W�� � � ��4�� # L� .

2 �� �J���� � ����� �� 2����� K$� W��(2.4GHZD����� � ��� ��$�� ���� ���� ��� ����� �� � ���� '����� E� . ������

���9��� ./( 2Q%$���� D7- D����� %� $��� ��������� ����� ��:

��? ��3 �3��# ���� � ��4�8�� �: ��* %�: ���� N� �� � ����� ./( '��� N/�� ������ 2�9��� '� �L� ���� �/( H� ������.

����� ��3 �3��# ���� � ��4�8�� �:>�� 3���� ��� ���� �, ��� Z$>� �,%> �K$��� ��*$� 29��� �� ?�����+�� ' ���� �/(

?� � ������ K$��� ��*$� !�" 2%$�� �� 5@%� ���� D����� ��� ��� �� �"���� ���� ��" � �� 3%�4�.

�3��# ���� � ��H ��4�8�� �:%� % @ ������ ���� �/( �$� J=%�0� ��� ����� ��F �� 2�9��7� ���F % @� �.

���3 %& ������� � ������ � ������ � WPAN

����� �BlueTooth

���9 � �9� '� D����� '������ � ���� � � ��4�� '� �� ��PICONET �� 2�La�� �� ��� 8 %-�0� !�" 3���� D ��

?3%9��� ��4�� 3���0� W�� �� N0 ��� %�[� E� .

�� %-�� '����� �� �� 3���� ���- �� %-�� �� ����� ���9 2 �L��PICONET�� �>��� ���9�� !� ��� ��*$� E� S�3%-$� D �� 5 ����� ���9�� �, ��� ����� E ��� ��� ���;� �� �, 3������� W�� �,Piconet ��� ����� E� 5 ����� E ��

�� #1� �, 3������� aPiconet.

#�� �� �1�I� 3���� 3%-$�� ���9 ��� ������ ��9�� �,Piconet

Page 18: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

18

'� �� �� ���9 � �9� '� D����� '������ � ���� � � ��4�� PICONET �� 2�La�� �� ��� 8 %-�0� !�" 3���� D ��?3%9��� ��4�� 3���0� W�� �� N0 ��� %�[� E� .

�� %-�� '����� �� �� 3���� ���- �� %-�� �� ����� ���9 2 �L��PICONET�� ���9�� !� ��� ��*$� E� S��>���3%-$�

D �� 5 ����� ���9�� �, ��� ����� E ��� ��� ���;� �� �, 3������� W�� �,Piconet ��� ����� E� 5 ����� E �� �� #1� �, 3������� aPiconet.

���3 %& ������� � ������ � ������ � WPAN

����� �BlueTooth

����� � ���� � �#��3� �BlueTooth � � ��" D������ 8���� %� $��� %� ���F � ����� ./( ���� ���� ��� ����� � � ���$��� ���*�SIG �7 �9��� �� �"���� � ���� �(��"13���� #�� T,� ��� ����� ./�� W%�9��� ��$�� ���*� .

3���� ���� A��L� '�� � � �9� �� ' �4� '�. ������� ����� � J% �7 �9� �$�%� ' �4� '�=%�0� �7 �9��� �� �" ���$� ���� � �0�. '����� �7 �9� �( � F���� �$��� �7 �9����� ����� ./( � ��� �(A�%�; ��� ���� �� ��$�� ���9� �� ��9 �" ���� �� %�$�.

Page 19: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

19

D����� � ��� '���� 3���� �� % � ���� 3%��/��� �7 �9��� ' �4� '� '�� �, ���4 ����� ��" ���*� �� F %� $�� ��" ���*� %� $��� �/( !�" �I� ���� �� !�" ��� 5@% ���� �� �[� ' ��� E�4� N0 ��� N� K$��� ��*$� E� ��� �����

D����� � ��� '���� ���� =%�0� 3���0� E� ������ ��������. EF���� 3%� � ��� �7 �9��� ./( ��� �����$��� �� � ���com.bluetooth.www.

����� � %& $��7�BlueTooth:

( ��� �F0� !�" � ��� ���� � � '��� �� ��� �� 7, �7����� '����� �" ?7 �� ���� �� D����� � ��� �� ���� ��� ���� ���� %,����7����� ���� �,. 0� 8J�4� ���� �%�� ��� �, D����� � ��� �, ���) ���� ��OSI(. '� D � � �: � � � ��� '� '�, T � ��� =��� !�" ���

'������ T � ��� 5� 5�0� � �[� � ���� %� ��� � ��� ./( W%�. ������ ��* �� �� T��� � �: '�� W�/� ?�%19� ��� �� D����� '������ ��4�7� ��� .

�� ��� % 19��� ��%� '������ ��� � � � ]��%� �� � ]��1� '��� �� ��� 8 !�; 128� � . '������ �/( ��� � ��4�� �"% � � �*,0� ������� � ��� ���� ��� ���0� ��%� 5�����0� =���.

���3 %& ������� � ������ � ������ � WPAN

����� �802.15

����� �802.15:

(�� ��$� �(��� ���� 8J�4��� �� �"���(IEEE)� =���� 3% 4F � ��7�� ����9�� % �$��� % � �� � � ��7�� ����9��� 4�9��.

>��� ��14����� �� 3��1�� ��� %� $��� �/( E*�� A���� ��"+��� %� $�� #�L� ���� A�� '������ D����� � ��� �, ��802.15.

� %� $��� �/( 2�� ��� !�; ��4���� '����� # �� !�; � �� 3%�4)MAC ( D����� � ��� �� � J� � 1�� ��� �� W�/�T% � �

!�;���9�� !�" �������� ���$��� �-� E *��� . K%P�� �/��=%� �/�� �1������ �������� !�" ��$�� '��� ��"���� E�%� A�9�; �( %� $���:

X '��� �"����WPAN/BlueTooth X � '��� �"���Coexistence Mechanisms X '��� �"���� WPAN��$��� ���" X '��� �"����WPAN ��$��� K1��� –� � � %� � %�$� .

Page 20: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

20

����� � �����# � ���3 � WLAN

?�"% ��"� ��� %-�� �� � ����� � ��7�� ����9�� ���� �$���4�� �"��4 ���� �, %� ��� �, .

������ '(� �7����� �� 5���� 2���� % ,�� ���� ����9�� ./( ��' ��� !�; �,�*G��� ������� � ��" �"%� ��%��� ��4�� . ���� ��� % -�������9�� ./�� ������ �������� ��'� �� %�<� .

�� �� ��� ����9�� �� )���� �/( ��� ��� % � � ��"� ���"���� � �� �����>����0� �� ������9� :

• ��*2� �: % F 24�� ���� ��� ����� ./( � P� �� 3��" � � ]��%� 50 �150?�%�� . • ��"�� � ��" �?�� : ��1 Mbps !�; 54 Mbps • ����� �:=%�� )���� �� ����9 E� ������� ��%� 5� . • �<�* � I#8���:�� � ��7�� ���9�� ���J��� ��F �� �F� �� W7��� 2��� B����� N/�� %� $��� 5. • ��� �: ���� ����� ��% �'������ %� $���.

���3 5����WLAN

����9 5 �%� C%�� WLAN� �$��� 3� �9 !�� ?��� � ��� W�� �� .

( ����9�� ./( 5 �%�� ��9 ���� ���9 ��J��� ��4�� 5 �%��� �/( �, ��� D � % <��� !�; % <��� ����� %-�� ���*$

K$��� . 5 �%��� �/( !� �� 3��"������ ��� � (ad hoc) . '� D � � �� C��� � �� ���� 5 �%��� �/( 5� � � 3%��; 5� � N� � ��%� 3��$� %�%��� !�; ������ ���� 3%9��� 3%�4� ��4���T�� ���";.

��� � 5���� �)Ad hoc( ��� N� ���� 5 �%��� �I����� 2� ���� ���9��� ��4�� � �� C��� � �� �,�*G�� ���I , � X 3� � !�;>� ��� ��� 3�" ��%�9

��4��E�� �� C��� � �� X?�4�� $ % ?� ?�$��� ��%�?�� ���� ./�� .

Page 21: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

21

> Z*1 �5 �%��� �/( �,4�� �, � %�%��� � �L�� �$ ���� C����� ��� � P� ����� ���� �� ������ !�" )� ��� N� ��� ��� P��� ����� � �. E ���� ��� ��� ��� '����� 5 �%��� �� )���� �/( �, ��� ) �, '��� 3%�9; �� ��� �" 3%��" �(�

3%�9G� ��������-� 3��";( �������9��� ����� ��4�� 5� �� ��� W�/� +���� T ����� �, � ��7� ���9�� E ��� '?� �� 3� $��. %+���$> �������� �� J����� '������ ������� ���� .����� 3%�9G� ��%\� H�� ����� !�" ?�����"� ����� �J��( 2��� ��4 ;

=%�� C��� � �� !�; 3%�9G� �?�* � ���9�� ������ E �� 5 ��� ���.

N� ���� 5 �%���

���3 ������WLAN

�� � �$�� ���� ����9� �4�� % �$� E*� % �$��� �$*���� ��J ��� WLAN ��J ��� ./( '(� �� IEEE �ETSI � T ����� '�F

����� % �$��� ./��HomeRF

%��0� '���(� T��� � �� % �$� D7- W��(:

����� �802.11: ����9� B1 %$� '� %� $� ��� �$ WLAN%��� #1� %� $��� �/( '��� ���� � ������ �4���� ����>�����+�� ����9 �, ��

Ethernet� ���� . N� ��%�� ��%��� '������ ���7�� ��4��� H� B���� 2.4Ghz � �$��� �� ��� %� $��� �/( '"� FHSS �DSSS.

'"�� ���� �������� ���� �� �� % �� ��9� 3%9��� %� $��� �/�� �4���� ��� ����� �$� '� % �$���802.11a �802.11b���" ?�� .

����� �802.11b/Wi-Fi

��J�" �, ?�%�9��� % �$��� %-�� �� %� $��� �/( �$ 802.11x. � �[� %� $��� �/( '��� DSSS 2 �� '������ 2.4Ghz. ��� %� $���802.11b �"%�� !�; �4 �� 11Mbps � !�; �4� �,���100%�� . � W��( ����� ��$�� �,���� � � '�� �* ���� �� C%��1Mbps �,��� 100 !�; %��11Mbps �,��� 30%�� .

����� '�F(WECA) '�� 3���9 ���"\� WiFi ��*�� %� $��� '������ ��$ �� S��� ��" � ����; 802.11b �4�� %�: S��� E�

Page 22: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

22

3���9�� ./( !�". ���3 ������WLAN

����� �802.11a: %� $��� �$ 802.11a �� %��� �"% %,� ?7 �� 802.11b � ��%��� '��� 5Ghz�"%�� �4� !�� 54Mbps.

%� $��� #�$�802.11 �802.11b � %� $��� '��� 802.11a )�� �� ' �%��� OFDM.

2���� ��%� '����� �;� %� $��� ����9 T,��� '�" !�; N�I �1���� ' �%� � �:802.11a� %� $��� ����9 E802.11b.

���� ��� ��� �"% E,% ���� ��� ��� �� � �$�� %� $��� �/( ���54Mbps?������� �F� ��%� '���� ?�%<� ������� �� � ������ . �� C����� � �� B P� N/�� !4F0� ������ K1��� �F��� #1� �, ����100 %� $��� ���� �, %�� 802.11b !�; 50� � !��25

%� $��� ���� �, %��802.11a.

T%1�� ?�* � �%� ��� �, %� $���, � %� $��� � � �F� �� W7���802.11a � ��� ��%�/ ��� '��� OFDM %��� �F� W���� ����� � ����� ��DSSS>��� %� $��� �, 3���$802.11b.

���3 ������WLAN

����� �802.11g: �� %� $��� �/( '�� ��%��� !�" � ��" �"%� ���7�� ��42.4Ghz %� $��� E� � �,����� !�" �<,����� E� 802.11b. /( !�; ��4��� '� ��� ��� .%� $��� ���$� !��0� � ��� T % �" 802.11g ��%��� !�" ��$� 2.4Ghz>��� %� $��� �, '���

802.11b � � �$��� )�� #1� '������DSSS��� ��� D � �"% !�" ��4 �4� !��11Mbps. ( � ��$, %-�� � �$� ���$�, � ��-�� ��� �� ����OFDM ��%��� #1� '������ 2.4Mhz ���� ��� ��� ��$� !�; ��4��� 54Mbps.

%� $��� '������ ����$�� C����� ���� ���9�� ��F� � E �� ?� ��"802.11b ���9�� ��F� � E� ��$�� �� C����� ��� '������ ����$�

%� $���802.11g ��� KO1�> %� $���� ��$ ���� N� 802.11b �(�4F� �� F !�; ���� ��� ��� ��$� 11Mbps .�/� ���� �� 5� %� $��� !�" ����" ��$ �� ��������802.11g �"% !�; ��4��� 54Mbps.

��9�� � P��� ����� �4���� W�� �-� =%�0� ������� B��9�� � %� $��� � � �802.11b �802.11g.

������ 802.11���7� : ����IEEE���(� �1���� ��A�%�\� �4���� =%�0� % �$��� �� �"���� : ����� �IEEE 802.11e. ������ 3��� ������ � �L�� 84���� � �L�� ���7�� !�" � ����"� ��/ � ��4 ��4�� !�" ��4���

E� ��,������ ��<�0� 802.11b. ����� �802.11f.��%� % � �� 84���� �C����� ��� � � �������� C����� ���. ����� �802.11h.%� $���� �4���� �$ %�� � J� � 1�� ��� �� � ��� 84���� 802.11a ��%��� !�" ���$�� 5Ghz �$��

%� $��� ��� ���802.11a � ��%�0� ��<�0� ���� ��� E*�� .

Page 23: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

23

��� � ��802.11i ��� �� � ��� 84���� MAC %� $��� 802.11 �� ���� �� T����� �� �: � ��� � %�� 3�� �� W�/.

���3 ������WLAN

�����HomeRF: �, %� $��� �/( '� ��� ���� � �7�� � ����� ����9��� 8���� �4����� ������ ��� � �� .

%� $��� !�" %� $��� �/( # L� '�802.11 '������ FHSS� ������� 5�@� ���� ��� � P�� �7 �$��� K$�� '� ��� '� ���� . �� %� $��� �/( '��� �����%� SWAP) Shared Wireless Access Protocol (N/�� '"� '"� E� � ��" 3���� ���4�� ��4��

� ��7�� 2������� 8���� %� $���DECT� � � ���� '������ H� �� ��" � �L� E� ���9�� ��4�7�� 2����� � ��7�� � ����� ��������� %�<��� �-� �������� � 1����� ��� �������%�� 8 4�� !�; �,�*; ��� ���...g�;.

!�� � P� %� $��� �/( ����9� ��� D � ����� �"% �� %-�� %$�� ���" !�" %� $��� �/( �, � �%��� '�50 ?�%�� ��4��� !�; � �(�4F� �"%10Mbps.

��%��� ?�* � %� $��� �/( '��� 2.4Ghz.

����� �HIPERLAN/1 �HIPERLAN/2: ��4�7� ���%�0� % �$��� ��$� ]% (ETSI) %� $��� HIPERLANA��0� � ��" � ���%�� � ����� ���9�� N� .

����"� !��0� %� $��� �/( �� � ��� ]% '�!��0� %��� ��5Ghz ������ T � ��� � � !�; �4� '� � ��� ��� N� C���; '� '�( �������� ./. ��� ��%��� '���� ?�* � ��, %� $��� �/( �� � ��-�� ����� 5Ghz � � �$��� '������ ���OFDM ��� D �

�� � �,�� � P� %� $��� �/( T,� ��� �����150 ?�%�� � �(�4F� �"%�54Mbps��� �" %� $��� �/( ��% � 3��� � �� !�4�7� ������� J���� ��$�� � �%� $��� �/( ���$� ���� �������� ��� ����� �F� �� W7��� � �� !�" ��".

> '�+� ��� ����� �, �[� !�� %� $��� �/( T�5 %��� ������� �, % �� %�� ��� ��� ���� % �$��� ��� %��$ B���.

���3��?�"� � ���<7�

� P� ��/ ���9 ' ��� 2���� ��� D � ��� $��� � ��� �, ���� ���� ��4�� ���7�� ��4�7� � "��4�� %��F0� ��<�� �, % �1��� '�� ������� �� �"���� ��9� 3% ���� ���� 2��( �� %-�� !�; ������ ��� B���L� 5����� !��� C��� � �� �� ������ �� ��" !�;

=%��.

% �$� ��� '�WWAN 3���$��� ������� 2������ �� H*���� �� ���� �?� �-��� ����9�� ./( 5�@� ���� ��*�� ���%��� ./( �, ��4�7� %� $�� ��1� K%1� �� �� H�4� � "��4�� %��F0� !�" ��*�$�� �����.

����� %�9��� �� ���� �, ?�% �� ?�%�� %$�� %4�" 5$� � "��4�� %��F0� !�" 3���$��� 2�5�� �1�� �F0� ���� %,�� �, �-������

� � ���� 2������. �� � �$�� ��-� �/( '@%� � ��$, � "��4�� %��F0� ����9 ��� � � ����� ����� �,:

X ���C � A<��� � %& : ���� ����">� # � EF�� �� ���7�� ��4�7� 3%�%* W��( h�� NL� ?�� �( ��� ����9�� �� %�: )��

Page 24: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

24

����$� 3� $� ����� �, ����" ��%�� E*��� ���� ��P��� 1��� ���%9 �, �����. X � ���� � ������� : � ?� ��4 ��4�� 8��9b� ��� D �� T%, ���� �, ��� '�$F�� �" %<��� KP� ���� ��� ��%;

/���G��D���0� ��� %�$�� =����. X ���� � :��� �( �, � ���$�� ��� D � � "��4�� %��F0� '������ ��4�� �� �� , 3��1�� ��� ���� ����� '(� �

%���0� �����'�$F�� �" %<��� KP� ��4�� ���*� ��4�� �� )���� �/( �� 3��1�� � 4����.

� � ���9�� ��4�� �� )���� �/�� ���� ��� ��� �"%2.4Kbps �2Mbps� '������ ���� 5�� W�/.

�=��� � �����# � ���3 � WWAN

������ !�" � ���� 5� � ������ ./( '����� ��� D � ��� ���-�� � ��� �, 3%� ��0 ����9�� �� )���� �/( ���$�� '�� � ��

� ���7� ���9�� ./( '����� '� ���� TJ�F���� ���� i����� ���� ��� � �� ?�%�I����9�� ./( %�" ����� '� ���. ����9 ��$� WWAN � ����9 #�$�WPAN �WLAN ���� ���� i��� � �� 5��� B�� N� �4�%� % @ ����%� !�"

�� ��%�. �� �� , ����9� �1������ )���0� ��" '�1� � %�%*�� %��,0� K$� K%$�� WWAN.

���C��� � ����39�����<� � ����39�:

9G� � �-����� 3%� :� � � ����� ��%�9G� �� )���� �/( 3��" �-� . �* %$�� � ��7�� ����9�� �� ��0� � ��� �, ��%�9G� �� )���� �/( '������ ��4�� ��4�7� W�/.

� �F%�� 3%�9G� :� ' ��� �� ��� �" 3%��" �(0 �1 ����%; '� ���� ���� �P 4 5%F� !�; ��4��� W�/ ��$� ���$��� 5���� ��J��-�� T ���� �(.

� ��7�� ���-�� � ��� ����9 �, ��%�9G� �� )���� �/( '����� '�. !�"� 3��� � �L� !�; �,�*; ?������ � ��$, %-�� � �F%�� ��%�9G� %��$��=%�0� ��� ���� �� � �$��.

��� � ������4� � ����:

��� �� ���� % W��( � ����� � ��$� ��(����"� '� 3%���� ���� :� ,% � � �J� � , ��4�� # L�� � ����� �� )���� �/( ���$� ���� ����9�� '���� �/�� 3%�� ��� %�� D �

��0� ��4�� A����� !�� %�: ��4�� N� ' ���� 3%���� ./( '����� � ����; '�" E� ��4��. �� �� )���� �/( ���9��� ��%�� ��" !�; ������ ������� L� ��%��� ��4�� ��$�.

'���� ����: � ��4�� ��4�� �, ����� �( ��� ����- ����%; '� ���� ���� ��� � �� ���� � � � � ��9� 3%���� ���� ��$������ ��� ���� �44���� ��4�� )���� �� � �$�� �, ���$, % @ H�4� ������ �, ����� �( ��� ���,�� �����$��� 5� '� D �

��%��� ���14 K�%$��. ��4�7� ��-�0� %��-�� !�" �"� ��� ��4�� #1� �, W�%�9� '���� �� %-�0 ��� � ����� ./( �,.

Page 25: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

25

'�� !"�� A���� !�; ���� ��� ' ��� � ��$�� ./( '���B �; �%��� ����$� ��,%� ����%;� ��4�� %�" ��� ��� 3��"; '�� D � ��,�( !�; ��4��� !�� �1������.

�=��� � �����# � ���3 � WWAN

���-�� � �������-�� � ��� ���0� � ��� �( ���%� E�%� !�; �(%� � 5� �* %$�� � ��7�� ����9�� 2 �4� '�� 24���� � ���

D��-��

��7� ��� � ���31G : �/( %�< ��� $��� � ��� �, ����9�� �� )���� ���� ���-�� � ���.� ��4�� ��4�� �, � ��� �/( ����9 ������ �� ?����@.

�*1����� ��4�� 3��� ����9�� ./�� 5� $�� '(� �� ����3%����� �7������

%"�C � ��� � ���32G: ���� � �F%�� � ����� ���-�� � ��� ����9 ������ ����� !�; �,�*; � ��" 3���� � ��4 ��4�� ' ��� �, % �� ��9� ��"�

� �0� ���� ���. ������ ���� #1� !�" ��4��� � ������� �� %��� ��$� ����9�� ./( ��� � !�; �,�*; ���" 3%�4� ���9�� 3A�1� E,% �������

���9�� !�" ���0� � � E,%. �� � ��� ����9 '<$� '"�� ���� ��� ��� ���-

?� ��� �������� ���-�� � ��� ����9 '(�: ����9AMPS ) �������� �������� 2������ ����� 5 ?��� �� !��TDMA(. ����9CDMA IS-95� ��������� 3%19�� 5� ' ����� ��$���� ��4��� ����9� !� ��. ����9GSM) �������� ��4�7� '�$�� '�<��� (� �$ ?�"� 9 %-�0� ��<�0� ��. ����9PDC) ��F%�� �4�9�� N� ���� ( ���� �� �, E�� ��9� '������.

%"�C � ��� � ���3� �" �(2.5G)

D��-�� � ��� ����9 .����� � ,�*; 3� � � ��� �/( ���. 3%���� ���� '����� �� ������ ����9�� �� � ��� �/( � � �� �%�� �� ����� !�; �"% !�; ��4��� ��� ��� ������� � 144Kbps���-�� � ��� ����9 �, B �" �( �� 2�$*� 3%9" ����� �� N� .

� ��� �/( �, ����9�� '(� ��: ���9CDMA 2000 1x ���9GPRS

B �C � ��� � ���3: �, ����9�� ./�� '������ %� $��� � ���� � I% ��* D��-�� � ��� ����9 % � � ���������� E �� � ������� �� % -��� ����" ?�%<��

�1���� �� �������� )���0� ./( � P %� $� !�; ��4��� � ����� B�9 �� B�� %�< '�F0� ��<�0� E� � �,����� !�" �<,�����.

B �C � ��� � ���3 ��6"7 ������ E��& B#C J�? ����?�� �� I . � %!WCDMAD CDMA2000DEDGE

Page 26: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

26

A�� � ��� �:

� ���� � ����*� � $��"������ � ��"�� ������� � ����� � :

��������� �� ��� ���� ��� �T � � ���%�

����: 3���� ���� ��������� ��� � ��� ���0� ./( '(� � P� ����� ./( �, ����� ��� ���� �� ���� 3�" �������� ��� � ��� ���$�

$*��� ���0� ./( ���$� ���� ��� � ��� �" &��-�� !�; ?�,�*; ���� �� �, 2.

������� ��!�: !�" �41�� �/( �, 5�� �� 2%$� :

• �������� ��� � ��� �1������ ���� ���� • ��������� �� j���

• ���� ���� ./( �� �� ���$� ���� ��� � ��� �� �"���� K�%$�� • ��%��� � ������������ .

Page 27: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

27

� ���� � ����*� � $��"

�������� ������ �$ � � ��� �, ����$�� �� % -��� ���������"��� .��� � ��� W�� �� �� ����$�� W�� '(� ��.

�(� �������� ��� � ��� �� ��� C/��� D7- �" ����� ./( �, D����: X � ��7�� ��%��� X ��������/�� ; ��%���.

����*� � $��" ������ %& �CL� %� � ����� �

������� >�*� �: '��%��� �( �� ���������� AI( '( �� � ��� �� �� D � T � ��� �, '���>��� �� ���� !�" % �� ��9� � ������� )�� %-I

�(�$�� �F ���� '����� ��(� %�� �( ��� � �����.

E�"��4�8�� � : �T � ��� 3%,����� ��� ����� '"� � ����\� ��( % �1��� 5� � � ����; ��� ����� %,�� �(� �B$� ���$��� 5�0� ��� ����� �( ��

��4�� ��� ��I � %�: ���� E� �%�� C���� ���� '� ?3%9��� ���7�� ��4��. L� !�" ������ 3%��� T�$�� ����" T��� !�; 2�*�� �J�% ��%;� ?7-� ��%���� ��4��� ����� �F� �, ��" �� %-�� � �

SMS�F��� #1� �, .

���L� � ������:

• � �� '� � �� �( �(� k�I��� E� ��4�� � ��" ��� '�� ���� � �[� �( ��) ��4� ���$ ��4�� ����USB(k • (�� ����7�� ��4�� ���� �,�>��� ���9�� )�� �����)WLAN, WPAN, WWAN� � %��F0� %�" ��4��

� "��4��(k • �� (� '��� !�; ������� T � ��� �� ����%; 5� ���� ���� ��� � �� !�" .% -L� =�� ��� '+���>��� ��4�� )��

k�I���

���L� � ��"��:

• ( ���k������� � ����� '����� .%,�� 5����� ���� ��� '��

• �� 5� � �k�I��� '��� !�" '� ������ �������� � ,% �� !�" ��� ��� E*���

• !�" ���� ��� � ��� � ��$� 3%�%* W��( �� '� ���7�� ��4�� %�" �� ���� ����� �, ���� ��� � ��� N����� �� �(

Page 28: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

28

������ � ,% k • � %��� ��9� D ����� !�; C���� �(� k���� ��� ���� ��� ���� ��� �( �� '�0� %�$� �����$� �, ����� �( ��

�k������� �, ����� �( ��� � �� D ��� � ��" �1�� '� k�4%����

• k3���� 3�" '� T � ��� !�; ��4��� � �� ���� '���� �� W��� �(

• k'����� � ��� 3% ����� ��� ������ #1� '����� W�%�9� � ������� ��� �(

• �� 5%�*� W��( ��� �(k�1������ �� ,% �� �� �I��� ���� ��� D ��� =

���L� � A� ����� �: • ������ � � ������� � ����; T � ��� %,� �(�k�4�� � ��%� ������ %�" �I��� �, '�����

������ � ��*�/:

• k�4�� ��� ��� ������ !�; '������ C��� �( • ( 5�� ��� ��� ��� �,�� � !�; 3%�9; ��%; �/�� B ����� 3����� � ��$�� N� ���� 2����� 3���� '����� ��� ��, '�����

kK%P�� • k?���P� '������ ������� ������ ��� ��� �, D�� N/�� ���

$��7�: • � ����%; A��-� ����� ���� ��� � ��� ��� 2 �� ��� � � ����� ��� � � � �:� ���0� � � �(��� k������ !�"

)'��������(k • � ������ �F% � ��" �" �/��� k��� � ��� 5����� %� �0� ��� ���% 1�� %��$� �(�kB"� *

����* � ��?:

• k�� ���0� ��� �F� �� W7��� %��$ �( • k�F� �� ���7�� ��4�� W7��� =�� =�� �� • � A��-� ����9 '� �� ��� �(� k� � ��� � %� � %,��� �(k��$�

����*� � $��"

��� � ��� ���� ��� E �� E� %,����� �� ���� ����� ���� ������� T�� �� �� ?�%��� . 2���� � � �* ����� 3%�%* W��( ��� W�/������ %-�0� �� �%��� !�; ��4��� � �����.

%*� �� ����G� 3�� � � �� ����� � �$� � � �F7$�� ������ ��9�� H*� ������ � ,% !�" S���%� � �-� 3%�.

Page 29: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

29

�J��1�� �,%$� K%P� W�/� �1���� �� %��$� !�" )7 �� �� �� , '��� �� ��� �� ��� ���� �� %��$��� /�� T � ��� =��� !�" �(: 1 X � ��7�� ��%��� �� �� 2 X ��/�� ������ �� �� 3 X �%��� ��� � � �� ���.

�����# � �"��"�� $��"

/( B��9�� E� �� ���� �� �� � �����, ��� T%�, E�� �� �J����� '������ E� ��4�� � �: ��� . ���� ���� ��$�� T �� ��%�

/( �,�'����� ��" �� ���� ������� 2% �� ��� �� K%$�� !�" ������� ������ N��� �� 5� , �� �� K%$�� ?��� �� ! N%P4� ������ ��������� 2% �� =%�� S��%� � �-�. ?��� �� !"�� W�/� � ��� � ��� ./(T F%�� ������ ��� � �.

/�� � �0� %4��$����� ���� :

������ �ك � ه

��� �� �����

زیدة ا�م�نت

��� زیدة ا�

��� �ك � ه

�� ����� ������

Page 30: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

30

M�2� � N����� � : �� ��� %�4��� ����" N��� 5� ��%\� K%$���� '�� URL'����� !�; . �� ������ ��L� '����� �(% 1�� K%$���� '�� D � % 9L� �P� ��9 !�"�������� ������ �9�9 !�" =������ %��<;. ������%� '���� �������� � ����� ���� ��� �,IP ���� !�; ���� �� � ���� 3%��" '����� !�; ���� W��( ��� HTTP '�

5��� '��� !�; ��� ���. %���# � 5� � ����:�� ���� '7�� �, �/( 5��� '��� ���� 8��HTTP5����� �%�� ��%;� . ����� ������ ���*�

'����� !�" 8�� ��" %� ; � �-� N%� ��1���� % 9L� ��P� '����� !�; ��*%$���� ./( ����� ?�%<�� ��1������ ��*%$����%\� '�F N/�� K%$���� 5� '����� ������ � �9� �, �"� 5� �� ��.

���L� � %& ��"�� � ����: ��4��� � �: ���$� D � �I��� �, ���� ��� %��4� !�; ��4���� ���7�� 5��� '��� '�� �� �� ��4� �� �: ����� ��4��� '��� ���� ��� � ��� T�$�� ����" !�" 3���$��� ���� ��� %��4��.

$����������# � �"��"�� $��" O���� �$���� :

; � ������ $�4 � �* J�? ������ ��C� J / ���� � $����J"�7� �� �. X �"��"�� ������ M. � ��*9� A����� ���� ��%��� !�" ��$� ���� ��� � ��� �$ � ������ �� ���� �/( ��I� D � X �&� P� � ������ � �8���:�� '����� !�" � ���$� � ������� '<$� �� D � '���� � � �, K%$���� ���. X ���L� � A� ������� �:��%��� ���$� ����� �� ���� �/( �, ?� J���� ���I� �� �0� '<$� �, � ������� � ��" H�4� . X N��� � A�4�� � $���� : � ��I� �1������ �������� 3���0� !�" ��*%$���� 5���� �������� ���F� � ��" ���� W�/�

'�����.

X �C��� � ��"�� �:( ���� ��� ./�� %�4��� ��� 3% �0� ������ ���� ��� ��� �� ���� �/( ��I� � 5��� '���� W��( ��� �������� 2% !�" � ���.

X $��7�:'����� !�" ����� ���� ��� ��� .

O���� �: X %��# � ������ : 5�*�� '������ ��4�� ���� ��� !�; ��4��� � ��" ���$4 ?��� �� ��9 ��� ?� ��� ������ A��-� 8�0��

�1������ ����0� � �.

X �*�� � ������ � �8��� : '����� 5����� % @ �� �$� ��� 3����� � �� � ��%�F � %P4�� ��*%$����%,�� �� ?����@%�4��.

X >�*� � @��� : ��% A��L� % �� ��9� T � ��� A�������9�� � ��$,.

X ���>�*� � ��:� %P4�� ��*%$���� �, % ���� )����� E� �� ���� �/( �-� �, ���9� T � ��� %����� � ��" ���� . /;��� ����� 3������� �� ��%� ����� !�� 5�� ��� %����� �� F� ��%����� ����.

X ��4!�� �: 5�� � ������� E �� ��" 2F�� '����� !�" �% � �F ���9� N�.

X 7�$��:2$*�� ��� ��� %��$� �F ����� � ��7�� 3%�h�$�� ���� 5�� W�/� �J ��� !�" ����� 3% ��� .

X ���� �: '���� ��4�� # L� !�; '������ %�% *� 5�� �� ���� �/( �-� �, ?��J�" �� �0� �� % -� �, �1���� H�4� ��� � ���.

Page 31: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

31

�� ��� � ��� !�" ��-�0� '(� ���( �� ���� �/�� �����: 1X ������ 3%�����4%���� : ?� �: '�� D ����� � ��" ��� � �[� %�$0� ��� ���� ��� D��� !�" ��4��� � �(� �%�� D �

5��� '��� !�".

2X �����$��� �����.

3X � ���� ����� : C�%�0��� 5�$�0������0�.

4X �������� 3%�����. %�. � $�4 � $��"

� ��9 ���7�� ��%��� ��� � � �� ��� ?� �F ?7 �� ��/�� ������ �� �.

!�; ?�,�*; ���� ��� 3�"�F !�" ?3��" S���%��� �/( N��� ������ 2% �, B� �-� '� 8�� S���%� % � � !�" � ����� ./( ���$���$�� T ��.

�, ������ ��" � ����; ������ 2% !�" S���%��� �/( ���� ��$ � ���� N����4�� !�; ������ ��� ����. ������ '��� %�" �I��� �, ���� ��� 3�"��� ������ T � ��� �4� D � ������ � ��" A�%�\� �I��� E� ������� � ��" '��.

��4�� T % �" '�� �� �������� K%P� �4�� � ��$� ��� tcp/ip�� ���� ��4�� �USB.

�%� � �-� C��� � P9��� '�<�� �$��� �4�� ������ ���� 3%�%* E� T � ��� '"�� � P9� '�<� %,�� !�; ������� ������ !�" S��?�* � ?����� ?7 �� �,�� �P�� 3%� � ��� � � '����� ��� �� ��� ��� ���������� T � ��� '�� � �/(.

Page 32: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

32

%�. � $�4 � $��" ��"���

%�. � $�4 �:����� T � � ��$�� T �� !�" N��� N/�� �. �"��4� � ����: E� �I��� ���� � ������ �, B���� 8���� N/�� �������� '��� !�; ������ T � ��� �� ���� ��� ��%; '�

�������� ���� ��� �� !��0� ����� � ��$�� ./( � �L�� '�� D � ������ T � ��� ���� �. ��L� � ��� � ��"�� � ����� : ��4�� � ��� '������ �I��� �, ���� ��� %�4� !�; ��4���� �������� '��� '��

��*1���. ���� ��� ����$� �� �I��� A����� � �� �������� '���� ��4�� �������� � ��" '���� �� ��� .

$�����%�. � $�4 � $��" O����:

%�. � $�4 � $��" $����: 1 X �� � �&�� ���"��� �0: �� !�" �I��� �����$� � �$��� ��$��� '������ %�� ��� ��4�� ���� '�" ��� �, !��

?��� ��% P��� ./( ������ '��. 2X �������� �8��� J"H: � ��% ������ % � � ��� D � �?7-� � 4�9�� 5 ��� 5��� ��� �, ��/�� T � ��� � �� � .

�� ����"� ��� ��� � P9��� '�<� ��� '�� ���� 2J�<��� �� � J�� �"��WINDOWS� �@ � �� � ������ % ,��� .

3X @��7�: �"%� S��$��� �"% !�" A��0� ���$ �� ���� ��� !�; ��4��� 3%��� ��4�� ������ �, A��0� �"�*; '�� �� ������� ������ !�" ���� ��� !�; ��4���.

4X �?4�� � �� ��� �:" �; �I��� H� ��� '����� �" ��$�� A5" �� 21�� '����� 2% �� ��$�� T �� / 1�� � ���1�� �F� ������ A�%9�.

5X $��7�: �� ����� � � ���� � �: T � � H�� ) '������������ ( ��� � ���� ��� ��%� �,% !�" 3% � %��� '����h�$�� ���*%, ���� 2$*�� ��� �� 2��� W��(� ��7�� ��%��� �� �� �, 3%.

6X ���� � : � ��" A�%�; ��" �, ��4�7� ������ 5�� W�/� !��0� ���� ���7�� ��4�� 2�� 2 1�� �� ���� �/( �, N%� !��0� ���� �����>��� A��-� ��������� ���� ��� � �� � ��� '� D �� 3% 4F 3���� ��������.

. � $�4 � $��" O����%�: ���L� � A� ������ � : ��� �%����� �� � ����� %-�� ?��F� �I��� ��� � �� ��/�� ������ ��� � � � � �������� � ��" 5� ��

���7�� ��%��� �� �� ���� �, ���7�� W�� !�;.

$�4 � �* $� Q��"� � ��C�:" ������ ������ !�" T � ��� 3%��;� � �-� � ��" %��$�� �" �(I�%�; ��� � ���$4 % @ � ���J����� �� % �� ��" ���� ��� �, ?�J�" H�4� ������ �$�.

����� � ������&:���% 1�� % � '��� ������ �������� ��� ������ 8�� � P9� '�<� '����� H�1 . ���� ���� �� '@%���

���� T � ��� � �-� A��-� ��� � � ��� D �� ���9��� ./��A5$�� �� ?�� �� 2�*� B��/ ��� ���9��� ���� �� ; ��. ���*� � ����? �����: � P9��� '�<�� �$��� � ��%� ��� � � ������ '������ �(����; �������� ��� ����� % � � � ��" N%��

Page 33: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

33

��� ����� �� 3% �� �"����� �$��� �� ��%� % � � � ��" �$� ��� �B� $� ����� ����� 8����� � �� ���9� . ��P��� �%,� �-� ��$�� �4�� �" �������Java���9��� ./�� B� #L� ?7� .

���*� � ����� ����: )�� ��� �1���� %������ % � � ��%�� A�9�; � �(� �%�� � P9��� ��<��� ��� ����� )���� ��$� ��� �, ��� ����� ./( �� �%����� 2��� ���.

$��" ����*�%�. � $�4 �

� ����� ��� � ��� ��/�� ������ �� �� ��� � � '(� ��:

1; ����L� � ����� � >�&: E ��� � ��" ]��� %4��" '(� �� � ����� �����$��� !�" ��4��� � ��" �$� . !�; ��$ ���� 5���� ��4� � ����; �-�� /;

; �, ?��� �� �41�� � �� ������� B������ A��-� �����$���� ��$�� ./( '��� . � ����I��� ��$ ���� T%, ��� � � �O����� !� ��)SFA( �4�� �����$�� �1���� �����$� !�; ��4��� �� ��$ ���� 5���� �

HJ���� �%�$0� HJ���� ��������� ���������� ���$�� �����$�� �?���� ��� '�F ���� A�%9�� �� ��" �����$�� ��������, ��������������� �"��� ���� �����$��� ������ 5������ ��� D � ���4���� E ��� �� ��$� W�/�� �)������ �.

2; ����� � ��� � >�& ����*����"�� � A�� �����?:

���� ��� E�� � ��� !�" � ����� ��$�� T%, ��� � � �"���"0� �, ������ !�; ������ ��� �I��� ���� � E� �������� ����F��� W���� ���� � F%���.

3; ���� � ���"� � ����*�:

A�� b� !*%��� �" � � 41� �����$� ��� � ��� ./( �-� %,���\ ��14��� ����� ���"� ���� � �L��� ���%9 E� ������$���4��.

4; � ���� � �����"�� ����*�:

������� ���� �, � ���$�� 8��90� ��� � ��� ./( �"�� '����� �� ���� �� �, �(�*F ���� ��$�� ��"� � �� !�" �I��� =�� �7��� ./( �������.

����� � $��"

� � !�; B ������ ���%���� � %��� ��9 �� C%��� ���� ����90� �� � �$�� /�L� �� ��%��� �� �� ���$� ���� ��� � ��� ���

T � � !�; T � � ��%���.

������ 3%,����� ��� � ��� � ,�*; 3� �� ��; 3��" ��%��� � ��" ' T � ��� ���� �� ���.

Page 34: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

34

��%��� �� ��� �� � �$�� %,�������(0 '��� �� �� ,: 1 X '����� '���� �� �� ��%��� : ���(� �� �[� �� � �$�� '������ %�: !�; '���� �� �J�%�� ��%; � ����� ./( �, '�

%���� ����%���� ��� �B ������ �J�% �-� � ��7�� � 4��� �J�%��SMS� �� %9����� ��%���IM ��%; ��� � � �, � ��Z�>��� �J�%�� ���� '������ T���� 8���� %�4��� !�@� ������ N���� ���� �J�%��EMS �J�%�� ������ ��� �

��� , J���� 3��$�� ������ !�" � ����� J���� 3��$�� �J�%�� ���� '�����MMS. �J�%�� E ���� �� % � '����� 2% �� �� J�%�; T % �" �J�%�� ./( � ��� '� �� ��� .

2 X %� �G� �J�%� ��� ����� :

����� '������ !�" � ������� !�; ����%; ��� ����� ���$ � � ����$�� �$ � �� ��/ �J�%�� )���� �/( ��9 ��� . �O������: ��9� �����$��� ��4� ���* �� ���%9�� � ����� ./(.

��� �� ������ �/( �, �������� �� ����� '(� ��HDML �WAP Push.

3 X T � � !�; T � � �� �� ��%��� � � � ��4�� N%� �� �1� /; ��%��� ]���� ?���� � '������ �"�1� ��� ����� �� % -��� �, �I��� '��

'������ ���� !�; ������ ��� ������ T � ����. ������ ��� �� T � � � �-� !�; ?�* � C��� B�0 ��/�� ������ �� �� ��* ��%��� �� )���� �/( E� .

� W�/ �, ��4�� !�; ������ ��� ������ !�" ��-��� T � ��� '������ ���% ��%\� '�� �� '������ ��� �F�� . W��� �����$��� ����%� B , '�� %�<��� ��% ������ T � ���.

T � � !�; T � � �� ��%��� � ��� � � �� *�� ��9 �� �� ,.

Page 35: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

35

����� � $��"

T � � !�; T � � �� ��%��� �� �� ������:

����� � $�4: T �� !�; ?�,�*; ��J�%�� ��% !�" N����� T � ��� �" %�$ ������ ��� �� ��$��.

����� � ����:

%�: 2% �� �I��� �, ���� ��� %�4��� ���� �� ��%��� ����� ��4��� '�� N/�� '�<��� A�� '����� ���� �-� . �J�%��� 8���� ���%� G� '� ?��� �� ��%��� '��� !�" T� MOM.

�� ���� '������ ��<�0� ./( '<$� % � � '� �J�%�� �,JMS � ����"� ��/ ��" �4�� 3% �0� W�� ���� D � � ���%���<�0� ./( �-� % � �� � ��".

���L� � %& ��"�� � ����: ��4�� ��%��� '���� ��� � ���� ��� �"���� ���� ��� %��4� �� 3% �� �"���� E� �"�1���� ���"0� ��� � �� ��%��� ��<��

=%�0�.

$���������� � $��" O����

$���� �: A&� � ���"���/ :�J�%�� E,� � �: �7� �� ��/�� ������� ���7�� ��%��0� ��� � � ��" � �� ��� . ��%��7� ������ ?7-�,

��/�� ������ �� �� ��� �, �������� � ��" A�%�; 3%�%*� '������ %� �; ��� ����7��.

$�4�� ��R���� �: /( �, '�� ���%�� ��%; !�" '������ ��$ �� ��� N� %�<��� ��% �, ��$*�� �J�%�� � ��� �� ���� ��4�� # L� ��" �J�%�� B ��� 3��"; '�� D � ��4�� '�" ���� �, !��.

%��� � �������%��# �: � ����� ��4�� '������ ��$� �� � ����� ./�� ��� ��, ���7�� � � 5� � �� �� ��%���

���7�� ��4�� '���� !�; '����.

O���� �: ./( ���$� ���� ������ ��*�� W�/� ��*�� 3�J�, ��-� '� �� ���,�*; '�� 3��"� � %���; % @ � 1 � � ��� �( ��%��� � ���

?�� �$� ��� � ��� 3�� � 7� �� , ��*�� j��� � �����.

� N� !�" � ������� � � � �$9 � ����� ./( %��$� ��� '� �(����"� � � ��4�7� �44���� W�� A�� �1������ ��� � ��� �, � 8��90�� �� %����� SJ��� ��%\� � ���� K�%@0� � ��4�F� D���0�� � ��%��� K�%@0� �, W�/� C�%�0� ��I���� %�$� �4%�����'�0�.

Page 36: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

36

��� �� S��� � �S���:

��3P� � ��2 ������ � �� �� ���"�� ������� � ����� � :

% � ��=������ �% 9L� �P� �3% 9L� ��14�� �% �$� .

����: � ��7�� ��� � ��� % � � �, �������� % 9L��� ��P� ����� ��0� � �� � "�*�� � P� ����� ./( �, ������ ����� ���-��

� � ��� �� ���=�����.

������� ��!�: !�" �41�� �/( �, 5�� �� 2%$� :

• � ��7�� ��� � ��� % � � �, �����>��� % 9L��� ��P� • =������ � ��� �� ���.

Page 37: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

37

�����# � ��2� ������� � �� �� ���"��

� P�� �� � "�*�� ����� ./( �, :�, �������� % 9L��� ��P� ��0� ����� ��� � ��� % � � �� ��7��� �� ��� ���-�� ����� =������ � ���.

%���# � ����� � *��"�

�� �"���� ��� T � � A�9�; �, ��� )���0� �% 9L��� ��P� �� , ��� =������ �1������ � �%�4���3��$���� J����� ��1����� T � ��� ��$� ���$���� �1������.

?����@ ���� C� X '"�� ���� ��� ������� �������� 2������� �4���� ��� � ��� '<$� �,WAP X % 9L��� �P� !�" � �%��� !�; ; � a� ��<�� � P9� !�" 3%����� ��� ����� ��*� T � ���� 2������ T��� ��� �/; ��� �� ��� %�4�� K$�Windows CE ��Symbian OS " � �%��� �� �(��" �� 7, 3��$���� J���� %4��$� � ,�*; %4��" !�� �1������ ��� � ��� ��1���

a�MSWord.

��3P� � ��2 : % 9L� �P� !�; ?����@ L��� � ���� ��%��; ��� � � % � �� '��� ����".

�P� ������ �/( �, ?�"� 9 %-�0� % 9L��� ��P� � � �� HTML��� 5�@0 =������ � -�� !�" 3%��F ��, �-� ��*%$�IE� Mozilla� Netscape...

�-� ��P� '����� '� ��� D � ���7�� '��$�� ������ ����� � � ./( 2b�HDML �WML� HTML� CHTML �XHTML ��1���� ��*%$�� !�" ��,�%P��� EF����� T�$�� ��P��� W�� �� N� %� ��� ���� N/�� ����$��� ������� )���

4�� K%$�����'������ N%P. �2 HDML

�P� ���$�� ��%�HDML �, '����7� 3%� ��� �������� ��� ����� 5�@� ���� ?�%<� � ���9�� �� %�� �� �� �, � �� 3%�4�

�P��� ./( '"�� � ���9�� �� %�� .�������� 2������� �4�� % 9L� �P� A�9�; ��P��� ./( % � � 2�� 3%�1�� ���� �F�.

�9�� B�HDML E� HTML ������ ���� �$���� �� ����G� �� 5%��� ����� � ���� D � �� HTML.

���� 2$* ��� '(� ���HDML �(%,�� ����� � � � �P� %,�� ���� �, HTML �-� Javascript� �VBscript ������� � �(%,��WML �-� WMLScript �$� ��� �HDML 1�� !�" ; 3%��F % @ '+����>��� ������� ������ !�" %,����� T ���� /; # �.

��� �� � ��%� 8�4�� ; ��� � � ��� �%����� ��$�%� � ���� ��J�%�� � ���� �����G� �� T����� �-� �� ��" �\, W�/�5����� ���� ��� �� �� �� ��� E� ��� 5� ��� ������ ��� �� �(/ 1�� ��� � '����� � ��7�� ���9�� !�" ����� � !�; �������

A��0� K1�.

��� ��P��� ./( !�" /�c��� �� '@%��� ����G�� # � � �� %�� �, ��� ����� � 7� �� '�$� ����" 8�0��� �������� �" �*�P���

Page 38: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

38

� !�" ����$�� ��*%$���� '���� ����HDML.

8��� ������ ����, ���% ���h�" �,�*; � � ���� '��� 3%HDML !�; WML ��� � ��� E� ���$��� ����G�� H�4 D �� a� �4����HDML '"�� ���� ��� ����� '������ WML.

�2 $? ��C�HDML:

�P�� ���%� 8� �" ��-� �� �� ,HDML�(%�< ���� �� ���� E� .

���%��� 8���: 1. <HDML VERSION="3.0">

2. <CHOICE>

3. <CENTER><b>Inventory Search</b>

4. <CE TASK="GO" DEST="#ProductSearch">Search by Name

5. <CE TASK="GO" DEST="#SKUSearch">Search by SKU

6. <CE TASK="GOSUB" DEST=inventorylist.jsp>Inventory List

7. </CHOICE>

8. <ENTRY NAME="ProductSearch" KEY="ProductName">

9. <ACTION TYPE="ACCEPT" TASK="GO"

DEST="ProductSearch.jsp?Product=$ProductName">

10. Enter Product Name:

11. </ENTRY>

12. <ENTRY NAME="SKUSearch" KEY="SKU">

13. <ACTION TYPE="ACCEPT" TASK="GO" DEST="SKUSearch.jsp?SKU=$SKU">

14. Enter SKU:

15. </ENTRY>

16.</HDML>

�� <�7�<HDML>����� 'F%� ���� .

'�> �, ���%��� 8���hdml ��4�� !� �� !�; ���F� �. ��� ��� N%� ���� ���%��� 8��� �� �$ ��� �(� �4�� =���� �" T���� ��-��� %h�$ .

Page 39: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

39

€ � �F� � �4�� �� N����� �1, ���F� � �"���� ��% 9L���� 3������ W�� �( ��F� � D7- �� �� ����-� ����<Choice> �<Entry>

€ ��41�� ��14 ���� !�" �F� � �� E� ���$��� '� € H��HDML�1������ ��F� ��� � � ������� € 3% 9L��� '����� '� B�� ����-� �, <�7�<CHOICE>0� �� % �� �(� �'������ �� ��� !�" ��4��� ����_� �*,

��%�/ ��� �������� ��� ����� !�" ����G� � ��" ���$4� ?�%<� € �14���� '����� '�DEST� �F� ��� � ���� �2���� �4����. € 3% 9L��� '����� '�<Entry>H ��1��� ���� T % �" '������ �� ��+� !�" ��4��� .

!�; 3��$�� ��� �P��� ./( ��� �����$��� �� � ��� � ����� ��4���

pdf.style_hdml/styleguides/pdf/com.openwave.demo://http. �P� ���$�� ��%�HDML� �������� ��� ����� 5�@� ���� ?�%<� � ���9�� �� %�� �� �� �, � �� 3%�4� �, '����7� 3%� ��

�P��� ./( '"�� � ���9�� �� %�� .�������� 2������� �4�� % 9L� �P� A�9�; ��P��� ./( % � � 2�� 3%�1�� ���� �F�.

B��9��HDML E� HTML ������ ���� �$���� �� ����G� �� 5%��� ����� � ���� D � �� HTML.

���� 2$* ��� '(� ���HDML ���� �, �(%,�� ����� � � � �P� %,�� HTML �-� Javascript� �VBscript ������� � �(%,��WML �-� WMLScript �$� ��� �HDML '+����>��� ������� ������ !�" %,����� T ���� / 1�� !�" ; 3%��F % @ ; # �.

�%� � ���� ��J�%�� � ���� �����G� �� T����� �-� �� ��" �\, W�/� ��� �� � ��%� 8�4�� ; ��� � � ��� �%����� ��$ � ��7�� ���9�� !�" ����� 5����� ���� ��� �� �� �� ��� E� ��� 5� ��� ������ ��� �� �(/ 1�� ��� � '������ !�; �������

A��0� K1�.

��� ��P��� ./( !�" /�c��� �� '@%��� ����G�� # � ������� �" �*�P��� �� %�� �, ��� ����� � 7� �� '�$� ����" 8�0��� ��� !�" ����$�� ��*%$���� '���� ����HDML.

8��� ������ ����, ���% ���h�" �,�*; � ���� '��� 3%�HDML !�; WML ��� � ��� E� ���$��� ����G�� H�4 D �� a� �4����HDML '"�� ���� ��� ����� '������ WML.

�2 WML

�P� �� ��%�/� T�WML � ��7�� ��� � ��� �J � �� A�� �( WAE ������%��� �, B1 %$� '� �� 5� WAP.

Page 40: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

40

# L� '�WML X #�$�HDML X �P� !�" XML���%4 %-�� �� , �@� 4�� �"��F �\, �/� .

%��$��WML �1 �� HDML��� ����� !�; ����� ����� � �� 3%�4� �(% � � '� �F� � 3���L� �������� PDA 2������� �

� �/�� 2������� �� � ����.

!���WML ��� � ��� % � � �, % 9L� �P�� �*,0� %� ��� ���$� ��� �������� ��� ����� ���%9 '<$� �� ������ '"��� �������� .� %��< E� ���WAP2.0 � ���$� ����XHMTL�P��� ./( %��� ��� '�$� % 9L� �P�� '����� �, .

�2 $? ��C�WML:

5 8���� ��-��� �, �(�� �% ���� �1 <��� #1� '�� ?�-� �� �� , K%$��HDML � �P� '������ ���WML 3%��� ./(.

���%��� 8���:

1. <?xml version="1.0" encoding="UTF-8"?>

2. <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"

"http://www.wapforum.org/DTD/wml_1.1.xml">

3. <wml>

4. <card id="card1">

5. <p align="center"><i>Inventory Search</i></p>

6. <p align="left">

7. <select>

8. <option>Search by Name

9. <onevent type="onpick">

10. <go href="#ProductSearch"></go>

11. </onevent>

12. </option>

Page 41: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

41

13. <option>Search by SKU

14. <onevent type="onpick">

15. <go href="#SKUSearch"></go>

16. </onevent>

17. </option>

18. <option>View Inventory List

19. <onevent type="onpick">

20. <go href="Inventorylist.wml"></go>

21. </onevent>

22. </option>

23. </select>

24. </p>

25. </card>

26. <card id="ProductSearch">

27. <!--WML code here for Product Search-->

28. <p>

29. Enter Product Name:

30. <input name="product" emptyok="false"></input>

31. </p>

32. </card>

33. <card id="SKUSearch">

34. <!--WML code here for SKU Search-->

35. <p>

36. Enter SKU:

37. <input name="sku" emptyok="false"></input>

38. </p>

39. </card>

40. </wml>

<,���WML �, �������� ��F� ���� ���4���� �P 4 !�" HDML �� 3���� �4�� ?�* � N��� <�7� ��� ����-�� D7-��F� �.

2�� �P 4 B�9� ���� �P 4�� �<�7� ����� XML:

€ �� =%� ��� H %4��� '� ? �"�� -��� )��

€ 3% 9L���� �F� ��� �" H %4��� '�<card>� � '����� 3% 9L��� '<select> '������ %� � !�" ��4���

€ 3% 9L��� '����� '�<input> 3% 9L��� '���� B��9� ��9� '������ ��� !�" ��4��� <Entry> ��-� �, HDML

€ W��( % �� B��9� �, ��% 9L��� � �WML ���% 9L� HTML

€ '���WML ��F� ��� � � �����7� T% 3�" � 3% 9L��� '������ ��-��� ����� ���� �� % �� ���� ��4����<go> E� 3% 9L���<onevent>

�, B �" � �%��� 5� �� �%��WML( � /; ��% 9L��� E� ���$��� �, 3� �9�� ���%4���� �,7� 5� � ���% 9L��� �� T7@; �� ��% 9L��� � � ��$ ��� N� ����)K$��� ��*$�� ?����� ��d�$>� ���� �� 5� (3% P4�� 2�%��� ��% 9L��� '���� �� 5� ���.

Page 42: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

42

WMLScript

��*��WML !�� � � � �P� WMLScript ����� �(� javascript �, HTML.

�O���WMLScript '�� ��� ������� 2% �� ��" T �� �,�*; �� A5$�� 2 1��� �%�<��� ��� � ���� ��� ��� �� % -���

� ��7�� ���9�� !�".

�������� '(� ��WMLScript: € ����G� �� T����� �� ��" € ������ ����� ���� �7 ���� !�; ��4��� � ����; :� �'� �,�*; � ����\�������� !�" '�F%0� � �� !�; 'F% € ��� E� �"�1��� � � E,%��$�� �/( �, '����� !�; ������ ��� ������ 2% �� %����� ��$�%�� �J�%�� � ���� '���

�P� '����� �� ����� ���WMLScript W��� ��1�� �, �������� ��� ���� � ��%��� 8�4��� E*�� �� 5� ���� � ��� �,

���7��.wmls

��C�: '����� �" � ��-� �� �� ,WMLScript

<a href="validateuser.wmls#foo($(user))>Validate User</a>

E����� ������� ���� ��( =%�foo 2���� �� validateuser.wmls.

� ����� ��4��� !�; 3��$�� ��� �P��� ./( ��� �����$��� �� � ����

pdf.guide_dev_wmls/50/pdf/com.openwave.demo://http

��*��WML !�� � � � �P� WMLScript ����� �(� javascript �, HTML.

�O���WMLScript A5$�� 2 1��� �%�<��� ��� � ���� ��� ��� �� % -��� '�� ��� ������� 2% �� ��" T �� �,�*; �� �� ���9�� !�"� ��7.

�������� '(� ��WMLScript:

€ ����G� �� T����� �� ��" € ������ ����� ���� �7 ���� !�; ��4��� � ����; :� �'� �,�*; � ����\�������� !�" '�F%0� � �� !�; 'F% € !�; ������ ��� ������ 2% �� %����� ��$�%�� �J�%�� � ���� '������ E� �"�1��� � � E,%��$�� �/( �, '�����

Page 43: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

43

�P� '����� �� ����� ���WMLScript W��� ��1�� �, �������� ��� ���� � ��%��� 8�4��� E*�� �� 5� ���� � ��� �, ���7��wmls

�2 HTML

�P� '����� �, 3����� 3%�� ��%� ��� '<$� W��� HTML �� ��( ����� �1� ���� ���� 4�1� �, ���� �� W�/� HTML %��$��

�(��4� ��� ���� ��� � ��� % � �� 3��$�� �� ����; %� ��� H��� 3% �� ���%� '��� ���� � �0� % 9L��� ��P� ��.

���$��HTML �( � � � ��P� E� '�$� ��� VBScript �JavaScript ��� ��$�� �� A��� '� ��� �� ������ ���� ��P� �(� �� D ��� 3��"; !�; ������'����� �� =����.

��C�:

��P��� '������ B� ���F ��� B��9� ��-� �� �� ,HDML �WML � % 9L��� �P� '������ ���HTML:

1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

2. <html>

3. <head>

4. <title>Inventory List</title>

5. </head>

6. <body>

7. <P align=left><FONT size=4><STRONG>Inventory Product

List</STRONG></FONT>

8. <br>

9. <br>

10. <TABLE cellPadding=3 border=1>

11. <TR>

12. <TD><STRONG>Product </STRONG></TD>

13. <TD><STRONG>Quantity</STRONG></TD>

14. <TD><STRONG>Price($)</STRONG></TD>

15. </TR>

16. <TR>

17. <TD>Sony TRV30

18. <TD>17

19. <TD>1699.99

20. </TR>

21. <TR>

22. <TD>Hitachi VMD875L

23. <TD>24

24. <TD>599.99

25. </TR>

26. <TR>

27. <TD>Sony DCR-IP7BT

28. <TD>11

29. <TD>2199.99

30. </TR>

31. <TR>

32. <TD>JVC GR-DV2000

Page 44: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

44

33. <TD>4

34. <TD>1599.99

35. </TR>

36. </TABLE>

37. </BODY>

38. </HTML>

K%$�� !�" ���%��� 8��� �/( �� �� %�<�Microsoft Mobile Internet Explorer��9�� �, ��� ������ :

�P� '����� �, 3����� 3%�� ��%� ��� '<$� W��� HTML �� ��( ����� �1� ���� ���� 4�1� �, ���� �� W�/� HTML %��$��

�(��4� ��� ���� ��� � ��� % � �� 3��$�� �� ����; %� ��� H��� 3% �� ���%� '��� ���� � �0� % 9L��� ��P� ��.

���$��HTML�$� ��� �( � � � ��P� E� 'VBScript �JavaScript ��� ��$�� �� A��� '� ��� �� ������ ���� ��P� �(� '����� �� =������ D ��� 3��"; !�; ������.

�2 CHTML

�$�CHTML ��P� %-�� �� HTML !��� �� �$9 � J���� HTML���� �, ������� ������ 5� ��$ � ����>��� i-Mode Z��>��� ���� �� �, ��4�� ���%9 %��� �� ��NTT DOCOMO =���� !�; ��4��� �, � ������� ������ ./( �"�� D �

�������� '������ �7� �� ��%���.

� � �����7� ?�� ��� � ������ �P� �" 3%��" ���� �� ���� �,� �P��� ./( !�; � �� N� �,�*; %� '�HDML �WML !�; XHTML.

Page 45: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

45

%���"� � $� � ����� ����$�� /�� '� �P��� ./( A�9�; ��": € a�� ��F �� ����$��� �� ��" �, �F� �� W7��� K1� !�; B������ �3%��/�� � ����� �� , ��� ��� ����� � �����CPU �

3������� %��<G� ���� !�; ?�,�*; € ������� ������$���� ���%� ��� � � ��%��� � ��" � �������� ��� �� ��" �FL� �� ��$�� A�%�; € �������� � ��7�� ���9�� �" � �7���

' �4� '�CHTML �� 4�� !�" ?�����"� ���� ��9� W3C � E� !�� ���$��� E �� �1 1� ���$� !�" ��� ��9� � �%��� ���

T � ��� ��� ���$� !�"� �3������� %��<G� �� ����;.

%4��$�� '(��P��� ./( ����"� ���� : € %�4JPEG € )���0�� � ��� �1������ ���0� € �� 1����)� ����L��%�4( € ���0� ���14CSS

����"� �� '@%���CHTML !�" HTML #�� !�" �(I�9�; '�$� �� �� ��� �(� �� % -��� ���, ���� ; XML.

3��$�� ��� �P��� ./( ��� �����$��� �� � ��������� ��%�� !�;

19980209-compactHTML-NOTE/1998/TR/org.3w.www.

�2 XHTML

�P� %��$��XHTML �� ��� HTML ���$�� XML % 9L� ��P� ���$� ���� �� ����� '<$� B��� W�/� �X�%��� ����� ��������� ��� ����� ���7�� X�$�� �� ����; �� B���� ��� �P��� ./( '"� ������ !�; .

�������� ���"0�� �������� � ��%���� ���"0� ��� � � % � � ���� �3� � ��� � �P��� ./( �� , H��� ���� ������ '(� ��.

��� �����XHTML1.0 a� � �%�� % �$��� ��� !�; W3C '�" �, 2000 � ���� � �(� �HTML4.01 � E� ���

� �� E� ���,��� ���*� �"����� K$� �,�*;XML.

�.�� XHMLT �A��XHTML �P� %��� 3%�4� �h ��� ��� ��9� HTML 2�9��� �� ����; W��� ���� ��*%$���� !�� ����� D ��

���9� ��� ��$� ��$�� �� A� �0� ������.

Page 46: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

46

�� �� ��XHTML $? HTMLT 2����XHTML �" HTML� ����� � �0� ����� �, :

X ���14 T �� %� �� 5� XHTML �"���� ?��,� � � ��9� XML X E ��� ��� H �4 ��9� K$��� ��*$�� ��% 9L��� 5 �$� %� �� 5� X ��% 9L��� '���� �� 5� �3% P4�� 2�%��� ��14���� X % 9L��� E �� T7@; 5� �, ��XHTML �, T7@; 3% 9L� '���� ���� W�� !�� HTML <BR> �, 5���� ����

XHTML <br/> X ��%�9; ��* ��% 9L��� ' F E �� %4� %� �� 5� < > X �� -��� )�� �" H %4��� 5� .

��C�:

������ HJ�%9�� �, �%���� ��-��� #1� �� �� , � $�� �P�� ���XHTML

1. <?xml version="1.0"?>

2. <!DOCTYPE html PUBLIC "-//OPENWAVE//DTD XHTML Mobile 1.0//EN"

"http://www.openwave.com/dtd/xhtml-mobile10.dtd">

3. <html xmlns="http://www.w3.org/1999/xhtml"xml:lang="en">

4. <head>

5. <title>Inventory List</title>

6. </head>

7. <body>

8. <p align="left"><font size="4"><strong>Inventory Product

List</strong></font></p>

9. <br/>

10. <br/>

11. <table cellPadding="3" border="1">

12. <tr>

13. <th>Product</th>

14. <th>Quantity</th>

15. <th>Price($)</th>

16. </tr>

17. <tr>

18. <td>Sony TRV30</td>

19. <td>17</td>

20. <td>1699.99</td>

21. </tr>

22. <tr>

23. <td>Hitachi VMD875L</td>

24. <td>24</td>

25. <td>599.99</td>

26. </tr>

27. <tr>

28. <td>Sony DCR-IP7BT</td>

29. <td>11</td>

30. <td>2199.99</td>

31. </tr>

32. <tr>

Page 47: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

47

33. <td>JVC GR-DV2000</td>

34. <td>4</td>

35. <td>1599.99</td>

36. </tr>

37. </table>

38. </body>

39. </html>

�P� %��$��XHTML �� ��� HTML ���$�� XML % 9L� ��P� ���$� ���� �� ����� '<$� B��� W�/� �X ��%��� �����

�������� ��� ����� ���7�� X�$�� �� ����; �� B���� ��� �P��� ./( '"� ������ !�; .

� � % � � ���� �3� � ��� � �P��� ./( �� , H��� ���� ������ '(� ���������� ���"0�� �������� � ��%���� ���"0� ��� .

��� �����XHTML1.0 a� � �%�� % �$��� ��� !�; W3C '�" �, 2000 � ���� � �(� �HTML4.01 � E� ��� � �� E� ���,��� ���*� �"����� K$� �,�*;XML.

�.�� XHMLT �A��XHTML �P� %��� 3%�4� �h ��� ��� ��9� HTML 2�9��� �� ����; W��� ���� ��*%$���� !�� ����� D ��

���9� ��� ��$� ��$�� �� A� �0� ������.

���� ��XHTML $? HTMLT 2����XHTML �" HTML� ����� � �0� ����� �, :

X ���14 T �� %� �� 5� XHTML �"���� ?��,� � � ��9� XML X *$�� ��% 9L��� 5 �$� %� �� 5� E ��� ��� H �4 ��9� K$��� �� X ��% 9L��� '���� �� 5� �3% P4�� 2�%��� ��14���� X �, ��% 9L��� E �� T7@; 5� XHTML �, T7@; 3% 9L� '���� ���� W�� !�� HTML W <BR> �, 5���� ����

XHTML <br/> X ��%�9; ��* ��% 9L��� ' F E �� %4� %� �� 5� < > X " H %4��� 5� �� -��� )�� �.

�2 XHTML-MP

( �� T,� � ��7�� ��� � ��� �J � ���$�� %� $� �, ����WAP2 a� ������� � �9���� !� �� XHTML� � B �" T� ��XHTML-MP.

�P� �� � J�� �"���� � �9��� �/( %��$ XHTML( �� 5� � .��� N/�� 2 %$��� �, �%��W3C.

�2 VoiceXML

� =��; �(���"�*�� �� A���� �/( �, %�/�� T��� ���� ������ % 9L��� ��P.

Page 48: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

48

!�" � ��� % 9L� �P� �" 3%��" �(XML K%$�� �" ?�*�" 2����� T % �" 5��� ��� � � =���� !�; ��4���� H�� 5��� . �P� % 1�� '�� ���4 K%$�� K%P�� �/�� '���> VoiceXML) � 5��� K%$�� �$1 ��� ?����� �-� ��P�

XHTML� �WML( W%�� '������ '�� '- �TTS'������ !�; �����$��� B�� � ��4 !�; 8��� � ���� '�� N/�� .

��4�� ���� �, ����$�� ���%9�� �� % �� ��" �� '"��� �P��� ./( !����� �-� �������AT&T� Motorola �IBM � � �$���(% @.

��� �7 41��� �, K��� �� �P��� ./(��P��� ./( �-� T � �� 8���� �� ���� H*� ��9 %��<\� �1��� ���.

$? ��C�VoiceXML:

�P�� ���%� 8�� � ��-� ��% \� '���VoiceXML: 1.<?xml version="1.0"?>

2. <vxml version="2.0">

3. <meta name=" author" content=" Martyn Mallick"/>

4. <form>

5. <block>

6. Welcome to the voice time entry system.

7. <goto next="#options"/>

8. </block>

9. </form>

10. <!-- allow user to choose one of three options -->

11. <menu id=" options" dtmf=" true">

12. <prompt> What would you like to do? Say one of:

<enumerate/></prompt>

13. <choice next="#entry">add entry</choice>

14. <choice next="

Page 49: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

49

http://www.timeentry.example.com/vxml/delete.vxml">

delete entry</choice>

15. <choice next=" http://www.timeentry.example.com/vxml/list.vxml">

list entries </choice>

16. <noinput count="1"> <reprompt/></noinput>

17. <noinput count="2"> Please state what action you would like

<enumerate/></noinput>

18. </menu>

19. <!-- collect data for new time entry -->

20. <form id=" entry">

21. <catch event=" nomatch noinput" count="3">

22. <prompt> Sorry, too many attempts. Please try again later.

Goodbye. </prompt>

23. <throw event=" telephone.disconnect.hangup"/>

24. </catch>

25. <field name=" jobtype">

26. <prompt>What is the job type for your entry? </prompt>

27. <option>design</option>

28. <option>development</option>

29. <option>meeting</option>

30. <option>travel</option>

31. <option>vacation</option>

32. <help>You must enter a valid job code to continue. Your options

are design, development, meeting, travel, and vacation.

<reprompt/></help>

33. </field>

34. <field name=" hours" type="digits">

35. <prompt> How many hours for job <value expr="jobtype"/>?

</prompt>

36. <help> use the keypad to enter the number of hours worked

</help>

37. </field>

38. <field name=" proceed" type=" boolean">

39. <prompt>Do you want to proceed with the entry for <value

expr="hours"/> hours for job type <value expr="jobtype"/>? </prompt>

40. <filled>

41. <if cond=" proceed">

42. <prompt bargein=" false">

43. Your entry is being entered into the time system.

44. </prompt>

45. <!-- submit time entry to servlet for entry into database -

-

>

46. <submit next="/servlet/entry" namelist=" jobcode hours"/>

47. </if>

48. <clear namelist=" jobcode hours proceed"/>

49. <goto next="#options"/>

50. </filled>

51. </field>

52. </form>

53. </vxml>

Page 50: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

50

�� -��� �� � ���� ����� ���� ��( <�7�)XML (���� '- �� -��� H�, 3% 9L� ���<vxml> .( ���( B �" � �%��� ��� �� ���� ��

� �� ��4 3%�4� %� ��� %�/� ��; � �� % ��L� '�� ����G� � ��"�� 1����� H ��1��� ���� �� 'F% %� ����. �2 XHTML-MP

( �� T,� � ��7�� ��� � ��� �J � ���$�� %� $� �, ����WAP2�9���� !� �� a� ������� � XHTML� � B �" T� ��XHTML-MP.

�P� �� � J�� �"���� � �9��� �/( %��$ XHTML( �� 5� � .��� N/�� 2 %$��� �, �%��W3C.

�2 VoiceXML

��"�*�� �� A���� �/( �, %�/�� T��� ���� ������ % 9L��� ��P� =��; �(�. !�" � ��� % 9L� �P� �" 3%��" �(XML�� K%$�� �" ?�*�" 2����� T % �" 5��� ��� � � =���� !�; ��4���� H

5��� . �P� % 1�� '�� ���4 K%$�� K%P�� �/�� '���> VoiceXML) �-� ��P�� 5��� K%$�� �$1 ��� ?�����XHTML� �WML( W%�� '������ '�� '- �TTS� !�; �����$��� B�� � ��4 !�; 8��� � ���� '�� N/�� '�����.

��4�� ���� �, ����$�� ���%9�� �� % �� ��" �� '"��� �P��� ./( !����� �-� �������AT&T� Motorola �IBM � � �$��

�(% @. ����� � �� �� ���"��

�� �4���� �� ����� K$� !�" )7d � �� ��� �� �������� � ��7�� % 9L��� ��P� '(� !�" ��$�d � �� �$�=������ � ��.

� � ��� ��� � ��7�� ��� � ��� A�9�G �� ����� ./( '+����� . T �� E�� �I��� ���� � E� �"�1� �� �: �� ����� ./( �� �� W�����

���� ���� 3���� � �� ��� � � A�9�G �������� %� ��� �"� ��� ��� W�/� �'����� !�" E*����� ��$��.

( ���O����5� �� ��%\� '�F N/�� ������� ������ �$ � !�" � ��� �1���� ������� A�9�; �� ?�* � �� ����� ./ . ���� T � �� ��� /; ��P� '������ ������ ?7-�HDML� ��WML� ��XHTML ������ 8�0��� � �(0� 3� �9 � �� 3� ��� ./( ��9� D �

� � N%� ���� � ���� ��� � ���� ������� �� E�� %����� �(% .

./( =��; �, %� ��� =�� 3%,����� ��%������ %�%��� �/( ��% �� ?����@ ���� ��(��� %� ��� 5$4�� �� H�4 �� ����� ./( )��� E�1� ����� � ������ ��� � ��� � ��� �� ?�4�4� �I��� �, �������� =%�0� �� ����� �"������� ��� ����� !�" ��1� K%

� ��7�� ��� � ���.

�(� �� ����� ./( �� �"���� ����� �� A���� �/( �, K%$��:

X Perl – CGI

Page 51: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

51

X Java servlet

X Java server page

X Active server page

X XML E� XSL Stylesheets

����� � �� �� ���"�� ; CGI ������� PERL ;

� ��� %��$�CGI ��� )���� %-�� ��� 5��� ������ )���� E �� �, ?�� %�� ���"�� �(� ?������� =������ � ��� �� .

N����CGI ��14 �� ���� ��� ����$�� '�� N/�� S���%���� 5��� '��� � � ��4�� � �L� �, �$� ���� %���0� �� �"���� 5��� .� EF����� A�9�G �%,�� ���� �� ����� !��� �� � ����� ./( �$��� � ��� ��.

��1�� / 1�� %� Perl8� �P 4� 3��" ��� N/�� ���-�� =������ #�$� �� ���� ������ . � ��� ���1���� ./( / 1�� A��-� �N%� � �� ��� � ��9� =������.

S��%� ����� ��� CGI �( ?�%�9��� ������ �/( �, �������� ��P��� %-�� ���� �P� � L� C/C++ �Fortran � E� ���Perl

�Java . �P� %��$�� /;Perl �P� !�" � ��� C���� =�� !�" � %� ��� �� 2[� ��F �� �(% � � '� D � . �P� �P��� ./( �$�� ����$� � ��" !�; C���� ���� N� 3%1�� �-� =%�� ��P� !�; ��� 3� � ./( �$� D � ��m� � $ � �� �P���� ��1�� !�; � ���C

�Fortran

� ��� �, 2$*�� ��� '(� ��� ����CGI S���%��� �" ��� A�9�; � ��" N%��� =�� !�" N%� 5� �� E� ���$��� �� �,

BJ��� K�1���� '����� 2����� ������� N�I ��� ������ �4�� ������� ����� 8 4��� 5� ��� ������.

��C�:

�P�� ?�����%� �� �� , �%��Perl �4�� � ���� '�� WML3� �� �F� � N���� .

1. #!/usr/bin/perl

2. print "Content-type: text/vnd.wap.wml\n\n";

3. print "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";

4. print "<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\"

\" http://www.wapforum.org/DTD/wml_1.1.xml\">\n";

5. print "<wml>\n";

6. print " <card id='card1'>\n";

7. print " <p>Hello Wireless World!</p>\n";

8. print " </card>\n";

9. print "</wml>\n";

Page 52: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

52

�� �$� =� S���%��� �/( �, '���� '� ���� <�7� Print %G 5� � ������� C%��� �/( ��%; N%� D � S���%��� �� C%� ��B��%; '� ��.

Java servlet

��%9 ���FSun Microsystem '�� � ��� ' ���� Java servlet� �J�" ������ : 3�" !�" ��$�� TJ�"� �A��0� TJ�" ��(��4��.

!�; ���%��� 8��� ���%� � ��" � ����� ./( �, N%�� �� �� ���%Bytecode �,�� ��: '������ .%��� B���%� N%�� N/���

� *�%�,�JVM5��� '��� !�" .

�P�� 5������ ���%��� 8��� ��� �, � ����� ./( �"��Java servlet N��� ��" �4�� � � !�; JVM . N%� , A��b� ������ ��� N/ 1�� W�� A�9�;(Thread)� ��$ D � 5� ��� �%����� %,� ��� ���� A����� ��" W����� ./( '����.

'����java servlet �, �4� ��� B��9� ��9� �,�� ���% CGI?� � ��� � �������� � ���� .

��C�:

� ��� '����� !�" � ��-� �� �� ,Javaservlet. %�� '����� ��-��� �/( �, <�7�Import�� ������ ��% � a� �4��Servlet .% � � '� N/�� ��$�� %� ; �� A�� ��9� �����

� ?��,�J2EE . '����� <�7� ���out.println'������ ������� C%��� ��%G .

1. // Import the required Java libraries

2. import java.io.*;

3. // Import the required Java Servlet libraries

4. import javax.servlet.*;

5. import javax.servlet.http.*;

6. public class HelloWorld extends HttpServlet

7. {

8. public void doGet(HttpServletRequest req, HttpServletResponse

res)

throws ServletException, IOException

9. {

10. res.setContentType("text/html");

11. PrintWriter out = res.getWriter();

12. out.println("<!DOCTYPE html PUBLIC \"-//OPENWAVE//DTD XHTML

Mobile 1.0//EN\" \" http://www.openwave.com/dtd/xhtml-

mobile10.dtd\">");

13. out.println("<html

xmlns=\"http://www.w3.org/1999/xhtml\"xml:lang=\"en\">");

14. out.println("<head>");

Page 53: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

53

15. out.println("<title>XHTML Servlet</title>");

16. out.println("</head>");

17. out.println("<body>");

18. out.println("<p align=\"left\"><b>Hello XHTML Wireless

World!</b></p>");

19. out.println("</body>");

20. out.println("</html>");

21. }

22. }

��%9 ���FSun Microsystem '�� � ��� ' ���� Java servlet� �J�" ������ : 3�" !�" ��$�� TJ�"� �A��0� TJ�" ��(��4��.

�� �� ���% !�; ���%��� 8��� ���%� � ��" � ����� ./( �, N%��Bytecode �,�� ��: '������ .%��� B���%� N%�� N/���

� *�%�,�JVM�� '��� !�" 5�.

�P�� 5������ ���%��� 8��� ��� �, � ����� ./( �"��Java servlet N��� ��" �4�� � � !�; JVM . N%� , A��b� ������ ��� N/ 1�� W�� A�9�;(Thread)�%����� %,� ��� ���� A����� ��" W����� ./( '����� ��$ D � 5� ��� .

'����java servlet��9� �,�� ���% �, �4� ��� B��9� CGI?� � ��� � �������� � ���� .

���� � ���� � �&�� �����

JSP

%��$��JSP ������ ���� ��$�� �4�� �" �7��� 3� � !�" ��4��� � % N/�� %� ��� N%��� ���� Servlet #1�� � % � ��,�� �P� '������ ��$�� �F���.

%��$�JSP14��� 3���� � ��� �������� % 9L��� �P� T� ��* 5�� ��� ��$�� T �� C�%�; ��� B�� N� ��� . ����$� ��( %��0�,

�P� ��* % 9L��� �P� C�%�; �" ?�*�" /;Java �, Javaservlet% 9L��� �P� ��* � ��%� 8�4� C�%�; '� .

���14 �� ����� ��� JSP � �� � 1 �4� !�; 2e�4�� �� :

X ���"� �: a� �� �9 ��% 9L� �" 3%��" �( XML S���%��� % !�" 3% �� �, '����� ��,�� T �� N���� . W��(��( %4��$�� ./�� )���� ���:

o �������� :( �������� ����?7-� ��14�� B���: <%@page import=”java.util.*” %>

Page 54: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

54

o ��� %4��� : )�� �� ����� �" H %4��� ���� �, ���Date �, ��-��� �/( Date theDate = new Date();

o ��% �$��� : ��14 C%� ��* �� �� %9��� C�%�; �" 3%��" �(JSP

<%= new java.util.Date() %>

o ��4 4��� : ��% �$��� B��9� ��9� ��$�� ?�� �$� %-�0� !���� �, '���� ����� <%

String queryData = request.getQueryString();

out.println("Attached GET data: " + queryData);

%>

o ��$,0�: � �� '����XML� ��14 �, 8� C�%�\� ��$,L� '� ��� W%��� '����� � =%�� !�; ��14 5� � ����=%�� ��$,�.

<jsp:useBean id="inventoryBean" class="sample.InventoryData" />

X 5 ��� � �������:" �� %�: A�9 N� �( �(%�/ '� ���� %4��$�� �� .� W%�� ��� �� 3��"JSP �����$��� ./( � �1��

�( ��� �(% %��� .

��C�:

��14 H*� ��-� �� �� ,JSP % 9L��� �P� ��9� C%� � ���� '��� HDML

1.<%@ page contentType="text/x-hdml"%>

2. <%@ page language="java"%>

3. <!-- string declaration -->

4. <%! String item1_id="101"; %>

5. <%! String item2_id="102"; %>

6. <%! String item3_id="103"; %>

7. <!-- HDML code to display Inventory list -->

8. <HDML VERSION="3.0">

9. <display name="item1">

10. <action type="accept" task="go" dest="#item2" label="Skip">

11. <action type="soft1" task="go"

dest="details.jsp?product_id=<%=item1_id %>" label="Details">

12. Sony-TRV30 Digital Video Camcorder

13. </display>

14. <display name="item2">

15. <action type="accept" task="go" dest="#item3" label="Skip">

16. <action type="soft1" task="go"

dest="details.jsp?product_id=<%=item2_id %>" label="Details">

17. Hitachi-VMD875L Digital 8 Camcorder

18. </display>

19. <display name="item3">

20. <action type="accept" task="go" dest="#finish" label=" finish">

21. <action type="soft1" task="go"

dest="details.jsp?product_id=<%=item3_id %>" label="Details">

22. Sony-DCR-IP7BT Micro MV Network Handycam

23. </display>

Page 55: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

55

24. <display name="finish">

25. <action type="accept" task="return" label="Done">

26. <!-- Java scriptlet -->

28. <%

29. String username = request.getParameter("user");

30. out.println("Thank-you for visiting "+ username);

31. %>

32. </display>

33. </HDML>

%��$��JSP��� ������ ���� ��$�� �4�� �" �7��� 3� � !�" ��4��� � % N/�� %� ��� N%��� �Servlet #1�� � % � �

�,�� �P� '������ ��$�� �F���.

%��$�JSP�������� % 9L��� �P� T� ��* 5�� ��� ��$�� T �� C�%�; ��� B�� N� ���14��� 3���� � ��� . ����$� ��( %��0�," /; �P� ��* % 9L��� �P� C�%�; �" ?�*�Java �, Javaservlet% 9L��� �P� ��* � ��%� 8�4� C�%�; '� .

���14 �� ����� ��� JSP � �� � 1 �4� !�; 2e�4�� �� :

X ���"� �: a� �� �9 ��% 9L� �" 3%��" �( XML S���%��� % !�" 3% �� �, '����� ��,�� T �� N���� . W��(����( %4��$�� ./�� )���� �:

o �������� o ��� %4��� o ��% �$��� o ��4 4��� o ��$,0�

X 5 ��� � �������:�(%�/ '� ���� %4��$�� ��" �� %�: A�9 N� �( .� W%�� ��� �� 3��"JSP �����$��� ./( � �1��

�( ��� �(% %��� .

���� � �����ASP

��� W��� ����9� ��%�F � ����� ./( W���� �P� ������ �JSP 2% �� ��������� � ��%��� 8�4���� % 9L��� �P� � � S����� '��� ��,

���7�� ! $ ���� 2�� �, '�����.ASP

'����� �� %��� � ��$, � ����� ./��CGI '��� !�" ��$�� !�" 3%��F �(� IIS3��$���� � / 1���� W����� �J � '"��� .

� ����� ./( '����� '� � ��� '����� ��FJSP ?�%�9��� E�� �(� � ��P��� �� � "�� E� �������� ��� Java script �VBscript.

Page 56: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

56

��C�:

�, '������ ���%��� 8��� ��-��� #1� � $� �� �� ,JSP � '������ 3%��� ./( ���ASP.

1. <% response.ContentType = "text/vnd.wap.wml" %>

2. <%@ Language=VBScript %>

3. <!-- variable declaration -->

4. <% Item1_id="101" %>

5. <% Item2_id="102" %>

6. <% Item3_id="103" %>

7. <?xml version="1.0" encoding=" UTF-8"?>

8. <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"

"http://www.wapforum.org/DTD/wml_1.1.xml">

9. <wml>

10. <card id="item1">

11. <do type="accept" label="next">

12. <go href="#item2"/>

13. </do>

14. <do type="cancel" label="details">

15. <go href=" details.asp?product_id=<%=Item1_id %>"/>

16. </do>

17. <p align="center"><b>Inventory Items</b></p>

18. <p> Sony-TRV30 Digital Video Camcorder </p>

19. </card>

20. <card id="item2">

21. <do type="accept" label="next">

22. <go href="#item3"/>

23. </do>

24. <do type="cancel" label="details">

25. <go href="details.asp?product_id=<%=Item2_id %>"/>

26. </do>

27. <p align="center"><b>Inventory Items</b></p>

28. <p> Hitachi-VMD875L Digital 8 Camcorder </p>

29. </card>

30. <card id="item3">

31. <do type="accept" label="next">

32. <go href="#finish"/>

33. </do>

34. <do type="cancel" label="details">

35. <go href="details.asp?product_id=<%=Item3_id %>"/>

36. </do>

37. <p align="center"><b>Inventory Items</b></p>

38. <p> Sony-DCR-IP7BT Micro MV Network Handycam </p>

39. </card>

40. <card id="finish">

41. <do type="accept" label="start over">

42. <go href="#item1"/>

43. </do>

Page 57: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

57

44. <!-- VBScript to get URL parameter -->

45. <% userName = request.queryString("user") %>

46. <p> Thank-you for visiting <%= userName %> </p>

47. </card>

48. </wml>

��$�� %� ; ���$ � ����� ./�� � �� %��4; %�< �, � ����� ./�� 3% �0� ����� �( ����� ./( � �.NET �(� �� � �$�� '��

A��0� ��9� ���� ��� ������ %� $���. ����� ./( ���� �F �J � ����"� ���� �, 5�0�%� ��� � Windows '���� � P9��� '�<� E� � ������� �� ��%� !�"� W��� �����

5���� �� ��%�Microsoft =%�0� .

�P� ������ ���� W��� ����9� ��%�F � ����� ./( W����JSP��������� � ��%��� 8�4���� % 9L��� �P� � � S����� '��� ��, 2% ��

���7�� ! $ ���� 2�� �, '�����.ASP

'����� �� %��� � ��$, � ����� ./��CGI '��� !�" ��$�� !�" 3%��F �(� IIS3��$���� � / 1���� W����� �J � '"��� .

� ��� '����� ��F � ����� ./( '����� '�JSP ?�%�9��� E�� �(� � ��P��� �� � "�� E� �������� ��� Java script

XML � *��"7� ����� �������XSL

% 9L��� �P� ���� � � ��� � ��� �( ����� ./( �, �� �" 2%$�� ���� 3% �0� =������ � ��� � ���XML ���14 ��1�� '������

���0�XSL.

�� ��� �� %� ��� �, <�7�CGI �javaservlet a� �� ��� !�; ASP �JSP�(0� ��� �� �4, ���� W�� % � ��� � ��$� 2�����G� %�F �(%��<; � �: �" ���� ���.

���14 T���XML �XSL ' ����� � � ���� �4, !�" �"�� �/; � ��" 3A�1�� 2���� ./( � !�" ���� �/( T�1� D � ���� ���

����ASP �JSP������ �/( �, .

��14 �, ���� � �� �� ��� �/; ��-��� � � !�$, XML � �1���� % 9L� ��P�� ���� ��� ./�� C%� !�" ��4��� ���WML

CHTML �XHTML ��14 A�9�; !�; A����� � ��� ����� XSL��P��� ./( �� 3���� ��� �4�� .

��C�: 2�� �" ��-� �� �� ,XML 2�� '������ 2���� �/( ���� � ' ���� '��� D � XSL.

Page 58: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

58

<?xml version="1.0"?>

<inventory>

<product id="101">

<name>

<manufacturer>Sony</manufacturer>

<model>TRV30</model>

</name>

<description>Digital Video Camcorder</description>

<digitalstill>1360 x 1020</digitalstill>

<format>Mini DV</format>

<quantity>17</quantity>

<price>1699.00</price>

</product>

<product id="102">

<name>

<manufacturer>Hitachi</manufacturer>

<model>VMD875L</model>

</name>

<description>Digital 8 Camcorder</description>

<format>Digital8</format>

<quantity>24</quantity>

<price>599.00</price>

</product>

<product id="103">

<name>

<manufacturer>Sony</manufacturer>

<model>DCR-IP7BT</model>

</name>

<description>Micro MV Network Handycam</description>

<digitalstill>640 x 480</digitalstill>

<format>Micro MV</format>

<quantity>11</quantity>

<price>2199.99</price>

</product>

<product id="104">

<name>

<manufacturer>JVC</manufacturer>

<model>GR-DV2000</model>

</name>

<description>High-Band Digital Video Camcorder</description>

<digitalstill>1600 x 1200</digitalstill>

<format>Mini DV</format>

<quantity>4</quantity>

<price>1599.00</price>

</product>

<product id="105">

<name>

<manufacturer>Canon</manufacturer>

Page 59: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

59

<model>ES8200V</model>

</name>

<description>8 MM Camcorder</description>

<format>HI8MM</format>

<quantity>37</quantity>

<price>399.00</price>

</product>

</inventory>

24� ���� ��� �������� �� �"���� N��� )���� �����$� 2���� �/( �-� �%$ �� �� ..g�;

2�� ����� �[� �����XSL 2�� �, 3�%���� ���� ��� ' ����� � ��" � �9�� XML. 2�� �%� 8���� % �� �,�*; �� XML 2��� XSL ���� ��� �� ���� !�" �4��� 5�� ��� ��$�� ./( '�� ./( �,�*\� � �

!�; �P 4�� 2�� � ���XML: <?xml-stylesheet href="inventory.xsl" type="text/css"?>

2�� =����� �% �� �� ,XSL 2�� ���� � C%� � ���� '�� N/�� XML % 9L��� �P� !�; WML

1. <?xml version="1.0"?>

2. <xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

3. <xsl:output method="xml" indent="yes" doctype-

system=" http://www.wapforum.org/DTD/wml_1.1.xml" doctype-public="-

//WAPFORUM//DTD WML 1.1//EN" />

�� -��� )�� 2 %$�� ?�� ������ �9� H*� 5��F 2 %$� !�; ����� 2�� �� ����%��� '� ���� ���� ��� �XML

4. <xsl:template match="inventory">

5. <wml>

6. <card id="inventory">

7. <p align="center">Inventory Items</p>

8. <p>

9. <select name="productId" multiple="false">

10. <xsl:apply-templates select="product"/>

11. </select>

12. </p>

13. </card>

14. </wml>

15. </xsl:template>

% �$� '����� ���F <�7� ��� )������ �����$� %��<\� 8���� 5����� ���� � ���� ./( �, XSL ��$�� �����$� ��<\� 8���� 3������� ������ �, �(Product

<xsl:apply-templates select="product"/>

Page 60: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

60

3��$�� �����$� %��<; � 1 � ��� ��-��� �/( �, ������ A���� Product� % �$� '������ W�/XSL <xsl:template match="product">

% �$��� '�� � � �,

<xsl:variable name="product_id">

'�� ����� 2 %$��Product_id �� B��* E* �� ��id 2�� �� �(��% ��� '�� ���� XML % �$���� <xsl:apply-templates select="@id" />

16. <xsl:template match="product">

17. <xsl:variable name="product_id">

18. <xsl:apply-templates select="@id" />

19. </xsl:variable>

20. <option value="{$product_id}">

21. <xsl:apply-templates select="name"/>

22. <onevent type="onpick">

23. <go href="details.wml">

24. <postfield name="product_id" value="{$product_id}"/>

25. </go>

26. </onevent>

27. </option>

28. </xsl:template>

29. <xsl:template match="name">

30. <xsl:value-of select="manufacturer"/>-<xsl:value-of

select="model"/>

31. </xsl:template>

32. </xsl:stylesheet>

% 9L��� �P� ���� � � ��� � ��� �( ����� ./( �, �� �" 2%$�� ���� 3% �0� =������ � ��� � ���XML ���14 ��1�� '������ ���0�XSL.

�� ��� �� %� ��� �, <�7�CGI �javaservlet a� �� ��� !�; ASP �JSP �4, ���� W�� % � ��� � ��$� 2��(0� ��� �� �: �" ���� �������G� %�F �(%��<; �.

���14 T���XML �XSL ' ����� � � ���� �4, !�" �"�� �/; � ��" 3A�1�� 2���� ./( � !�" ���� �/( T�1� D � ���� ���

����ASP �JSP������ �/( �, .

��14 �, ���� � �� �� ��� �/; ��-��� � � !�$,XML �� ��P�� ���� ��� ./�� C%� !�" ��4��� ����1���� % 9L

WML CHTML �XHTML ��14 A�9�; !�; A����� � ��� ����� XSL��P��� ./( �� 3���� ��� �4�� .

Page 61: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

61

$��C �� A�� � ��� �:

� ���� � 5� � U.��" ���� ���"?

������� � ����� � : D�� ��4�� ��14�� �3% 9L� �% 9L� �P� ������ �'��� %4�" .

����: ��� ./( �, 2%$���������� 5��� C/��� '��� %4��" !�" �� . �� �0� �� ����� %4��$�� ����� ./( � P�� �������� W���4���� K�%@b�.

������� ��!�: !�" �41�� �/( �, 5�� �� 2%$� :

• � ����� 5��� C/��� '��� %4��" • � �0� 5��� C/��� '��� %4��" • %@0� ��/ 5��� C/��� '��� %4��"�4���� K�.

Page 62: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

62

� ���� � ���� � ���*� ���3� ��

�� ����� �� � �$�� � *���� ����� �, ���(�9��������� ������ % � �� �������� ��P���. �K%$�� �9�9 ���� D � �� ����14���� ��� ����� % ���� )����� E� '�� � =������ ���F� %� ��� !�" 5��� B�� ��<��

�0������'������ N%P4�� K%$����� � % 9L��� ��P� �� ���� !�; A����� �������� a�HTML� WML �CHTML �HDML. ...g��.

k����$� � ����\� ������ ��� � � ����� !�" ��$��� '�� �� %� ��� ��� 2 � W��%G� �/( �� E�

���� � ����� �$� ������ �, ��I�� �/( �" ����G� ���� '��� !�" � �� � '������ �� �(� ��/ % @ ������ 2% �� ����

B1� ������ �" ��� ���� ���� ���� ��� �4���� ���� ����� '���(� !��� � 5���.

���F ASP.NET '������ T � � % � � N%� �� �1� /; �����G� ./( '�%� ?��$� ?7� asp.net 5� '��� !�" IIS !��� � ;��$�� %� .NET ��%-�� !�" %Z� ��� T � ��� � P9� ���* 200 ��14����� �1���� ���%9 �� �������� ��� ����� �� )��

n�� �1���� B� �4���� % 9L��� �P� '������ �5����� �9�9�� '��.

'��� %� G� �/( � �74 %�%��� ���*�Microsoft����� ��� ����� ��9 � ?� %�� B- ���� T��0� �, 3%,.

� ����� ./( �� , ��$� ���� � � %���� � �[� H*� ��9 �� �� ,.

� ���� � 5� � U.��" ������� ���*� � ��+����J����� �������� ��� ����� ������� ���� % 9L��� �P� �" %<��� KP� ���14 A���� �������� 5��� C/��� '.

Page 63: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

63

����� !�" ��( %� ��� ��$ ���� � �0� �������� �-�� K�%@� '������ 3�%���� ��N%� �-� �(%��<; ��% 9L���� 4��� �

����G� ��$�%��. 3�%���� �������� ./( /�� � P9��� �J � T��" !�" E�� � � �, � ���"� ���� �4���� % 9L��� �P� !�; ��� ���������� ������.

�������� 5��� C/��� K�%@� ���� �P�� 5���� �4� 2�� '����� �7� �� ��$*��� '����� N%� � ��%� K�%@� �" 3%��"

XMLK�%@0� ./( '�� . %,��ASP.NET'������ ����� %4��" �� %4�" ��� � -��� � � ��� C/����� ����9� ������ 5� C/��� .

��C�:

���� 5� C/��� %4�" %��<; � 1 � �%� � ��-� �� �� , )�� �� �label. <%@ Page Language="vb"

Inherits="System.Web.UI.MobileControls.MobilePage" %>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form id="Form1" runat="server">

<mobile:Label id="Label1" runat="server">Hello,

World</mobile:Label>

</mobile:Form> B��� ��-��� �, �������Page �������� �P��� � ���� � 2�4�� '�����MobilePage� ����� ��14�� D %��� . ���� '-mobile

%4��" A��0 ���� ��9�� ���%�� ���� �, �������� �� ������ �������� �������� '����� . � ����� ���� �� ' ��� K%P� �J ���� 3%��/�� �, B$*�� T � ��� A��� N%� � 3%� ��0 ��J�"��� ��" ��14�� ./( ���%� N%��

��14�� #1�� . � �%� 8�1� '�� T � ��� ��$ ����"HTTP �P� )�� �������� 5� �� ��%\� '�F N/�� ������ )�� � ���� ���� ��� % 9L��� .

5� �� E� o������� ������� % 9L��� �P� � ���� T � ��� '�� �(�$�.

� ���� � 5� � U.��" �������

%��$�� ��$�� 5��� C/��� '��� %4��" �� 8�� �� �������� '����� %4��". ����� !�; %4��$�� ./( ' �� 2��4� �� �� , �(�%��:

��7� ���� � ���"?���: �8��� E�%� �-� � %� $��� '����� %4��" �� ��� �" 3%��" �( � �'�����%�4���(% @� �� �4���������� ��� � ����.

>��� � ���� ���"?: ����� ��� �� ��9 ��� ����G� �� T����� � ��" ��I� �� ��� ����(���� !��.

Page 64: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

64

*�& ����� � $�4 � ���� � ���� � ���"?: '����� %4�" �-� ������� ������ !�" �, ��� � � ��� 2J�<� %4��$�� ./(� '��� 1��( ������ # L�� 8����.

���� ����� 4�8� ��" ���� � ���� � ���"?: � $� ����� T � ��� �* � ��$� %4��$�� ./( H��%�" ?7-� �� $� �� F A� ";

��08J�4�� � $� )�� ��� �� '����� %4�" 3���0� �.

5 ��� �: )�� �� '����� %4��" '"��Form� �Panel ��List ��ObjectListControls 5������� .�"�� �� (Template) D � ������ �/�� � $� =���� 5��F �%� ���� ���� � ��� �4���� '����� %4��" W�� '����� %4��" '����.

������� � ���� � ���"? ������� ���� �

F '����� %4��$� �4���� � �%��� � ���� � �$�� � ��� ��� � ��9� H*�� � %� $��� �������� '����� %4��" '(� K�%$��� A���� ����������.

Page 65: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

65

� ���� � ���� � ���"� ���� � �0��� �

� �������� 5��� C/��� '��� %4��" 2�14 5�@� %���� 24�� �� ��4J�4� 5�@� D%�System.Web.UI.MobileControl 24�� .%��� D% N/��System.Web.UI.Control.

K%P�� �������� '����� %4��" E �� N���System.Web.UI.MobileControls.Style �/( !�; ��4��� ��� D �

Page 66: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

66

' F !�; ���* ��9� % 9� ���" 8J�4� T % �" �� ?3%9��� K%P�� 8J�4�style '��� %4�" �� N�� ��-��� � � !�$, � �4���� �����Font K%P�� �, 3����� � ���� �4�� !�; % 9� ����� Style � ������ �4���� �� F '������� � �-� W��� D ��

��9�� �� % �$� '������ S���%��� ����� A��-�Font.Italic?7-� .

/( ' F � $� ��� ��� N� !�" �� �P 4 ����� ����� D �� '����� ��� �� '����� %4�" ��14�� T % �" ?3%9��� 8J�4��� .��9��:

<mobile:aMobileControl

runat="server"

id="id"

BreakAfter=="{True|False}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

ForeColor="foregroundColor"

BackColor="backgroundColor"

Alignment="{NotSet|Left|Center|Right}"

StyleReference="styleReference"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

<!-- Events -->

OnDataBinding="EventHandlerMethodName"

OnDisposed="EventHandlerMethodName"

OnInit="EventHandlerMethodName"

OnLoad="EventHandlerMethodName"

OnPreRender="EventHandlerMethodName"

OnUnLoad="EventHandlerMethodName"

</ mobile aMobileControl >

%�4���� 8J�4��� ./( �� �� ������ ������ �, ]%9�: �4���� ' ��� 24���

Alignment

Alignment.NotSet|Left|Center|Right

��* %4�$�� 3�/����� .���� ���� �� ����� � ������ '�" ��� �,

�, 3������ 3�/����� /�L� ��� $���� � ���� ��� �, % 0� .����

� ����� �� F � $� '�"

BackColor

None|hexadecimal RGB values|standard

HTML color identifiers|color constants

%4�$� '������ � 1���� ���'����� . �( � *�%�,� �� ���

Color.Empty

BreakAfter

True|False

�$� % �4�, �,�*; ���� '����� %4�" . �� ��� ����

Page 67: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

67

�( � *�%�,�True

Font.Size

FontSize.NotSet| Normal| Small| Large

'���� '������ ��� % P4� N%� ������ ��%��� 5� ������

������. Font.Bold

BooleanOption.NotSet|False|True

'� W � 8��� ��� �/; �� , ����.

Font.Italic

BooleanOption.NotSet|False|True

�J�� ��� ��� ����.

ForeColor

None|hexadecimal RGB values|standard

HTML color identifiers|color constants

�, 8��� '������ ����� ����'����� %4�".

'����� '� ��� �,None D% �� �4���� ./( %4�$�� �, 8���

B �� N/�� %4�$��.

ID String

��� �, �14���� ./( '���� %4�" !�; E�%�� �� F ��J� ";

B , �+������ N/�� '�����. ./�� �� F A� "; %� '� ��� �, E*�� ?� J���� '�<��� '�� �4����

� J���� �� F.

UniqueID '�<��� ��F �� ��� $� '� �� F

./( �� F �" H %4��� ��� !�" E��� ��4���� '�<��� T��"��� �� F � ��� ���� . ./( �����

�4���� �� F �� �� ��� �$����� %4�$��ID �4���� ' F �� �� ID

%4�$�� �/( N��� %4�" N0.

Visible True|False

�� ��� ���; '� ��� �,False !�; ?������ %4�$�� !�� �4���� ./(

���%� K%P� ��14�� !�". Wrapping

Wrapping. NotSet|Wrap| NoWrap

��" 2�� 8��� ��� �/; �� , ���� '� ��14�� ���� B ��.

24�� �� ��4J�4� 5�@� D%�� �������� 5��� C/��� '��� %4��" 2�14 5�@� %����System.Web.UI.MobileControl

24�� .%��� D% N/��System.Web.UI.Control.

Page 68: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

68

'����� %4��" E �� N��� K%P�� ��������System.Web.UI.MobileControls.Style �/( !�; ��4��� ��� D � 8J�4� ' F !�; ���* ��9� % 9� ���" 8J�4� T % �" �� ?3%9��� K%P��style '��� %4�" �� N�� ��-��� � � !�$, �

�4���� �����Font K%P�� �, 3����� � ���� �4�� !�; % 9� ����� Style D �� � ������ �4���� �� F '������� � �-� W��� ��9�� �� % �$� '������ S���%��� ����� A��-�Font.Italic?7-� .

� ���� � ���� � ���"� ���� � B���7�

���(�� D���0� K$�� �������� '����� %4��" �� � �$�� W%�9�:

D���� 24���

DataBinding �% ��" D���� �/( %�< ���� � %�4� E� %4�$��. Disposed '����� %4�" �(��� ���� 3%��/�� ���� % %�� ��" D�� �/( %�< .

Init

3� � 3%�� �, !��0� ���%��� �(� '����� %4�" � (L� N%� ����" D���� �/( %�< '����� %4�".

�4���� �� ��� ���� ���%��� ./( �,ViewState W�/� 3%,��� ��� ��4���D���� �/( S��$� ��* �� %�: '��� %4�" �� �� F N0.

Load

K%P�� ��* %4�$�� � ��� =�� %�< MobilePage. �� F !�; ��4��� ��� ViewState �/( S��$� ��* �� =%�0� '����� %4��"�

D����. PreRender K%@ ��* '����� %4�" E*� ��F D���� �/( %�< MobilePage� N/�� B �.

Unload 3%��/�� �� '����� %4�" i %1� �$� D���� �/( %�< .

���� �� ��0� � ���$� D���0� ./( E ��� D���0� �����$� /�L�Object �� ���-��� D���� � ���� '�F N/�� '����� %4�" ��� ��System.EventArgsB1� D���� �" �����$� ��� .

EventHandlerMethodname(Object sender, EventArgs e)

�P 4�� '����� ����� , D���� T7 ; ��" ��� P9� '� ���� �� % �� '� � ����.

<mobile:aMobileControl

runat="server"

id="id"

OnLoad="methodName"

.

.

.

�� % �� � P9� N%� D �methodName D���� T7 ; ��" OnLoad.

Page 69: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

69

��"?����� � ���� � �

=%�0� '����� %4��" E ��� �� ������ ���� '����� %4��" !�" '� �/( T� . '����� %4�" %4��$�� W�� '(�Form N/�� � ��%� ����� ��* =%�0� '����� %4��" E ��� � ��" �, �"� .�, ���-�� %4�$�� ���� '����� %4�"Panel �, �"� N/��

�� %4��" E ��� %4�" ��* '���Form ������ .

'����� %4�" ��* E*�� ���� %4��$�� D%�Panel� �Form ���� ������ %4�$�� �/( 8J�4� Style ' F � ��� '� �/; ; � ��%,; 3%�4� '����� %4��$� �4��.

'��� %4��" �-�� �� ?����@Panel�� %4��" �� �"���� !�" ���� �� T � �� � ��" � �: �� ��� ���� '��� .

�� �� , %4��$�� � �%��� � ���� H*� N/�� ��� ��� ��9�� Form �Panel:

@������ �?��<: W�/� �5��� T � �� � �� ( A� "G ���$, � �: � ����� '����� %4��" %,���� ./( � � ��������� A����� �"���� � � ��9� '���G� ��

%4��"� %4��$��=%�0� '�����. %�4��7��'����� %4��" � � ��������� A����� �"��F H*� N/�� ��� ��� ��9�� �%�� %��� ]�*��:

Page 70: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

70

����� � ���� � ���"? ; ���� � ��"? Form ;

'����� %4�" %��$ Form K%@ ��* ��%���� %4�$�� MobilePage��� %4�" !�; 5��� C/��� ��14 C���� D � � 'Form

=%�0� '����� %4��" A���� �F0� !�" ����.

'����� %4�" 3%�F !�; �,�*G��Form '����� %4�" E � �=%�0� '����� %4��" A����� !�" Form C%�� 8��� A����� �-� T ����� �4���� ��% 9L��� '������ 8��� �/( T �� ��� D � �������� '����� %4��"<p></p>� <br/>� <b></b>�

<i></i>� <a href=””></a>

���! �6�#�: '����� %4�" ��* %��� 8��� �, W��� T ���� ��% 9L� '����� ��� Form 8�4��� ������ �������� ��� � �� �4 ���� �� � ����� �P 4�� �� N� �=%�0� �������� '����� %4��" ��*.

<mobile:Label runat="server"><b>Hello World</b></mobile:Label>

Page 71: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

71

�� , �%�� '����� %4�$� ���$���� ��4���� '<$� N���� �P 4 �� Form:

<mobile:Form

runat="server"

id="id"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

ForeColor="foregroundColor"

BackColor="backgroundColor"

Alignment="{NotSet|Left|Center|Right}"

StyleReference="styleReference"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

Action="url"

Method="{Post|Get}"

OnActivate="onActivateHandler"

OnDeactivate="onDeactivateHandler"

Paginate="{True|False}"

PagerStyle-NextPageText="text"

PagerStyle-PageLabel="text"

PagerStyle-StyleReference="styleReference"

Title="formTitle">

Child controls

</mobile:Form>

�/( '����� %4�" � �� ���� 8J�4��� �� �� , ]%9��:

�4���� ���� 24���

Action String

a�� ����" �-� URL '������ B �; C/����� =���� ��%; N%� N/�� � �� % �� =��;POST� �GET.

%� ��4���� ./�� �� F � $� %� '� ��� �, #1� !�; C/����� ��%; N ����"URL� ����� ��14�� .

ControlToPaginate Control

'� �� �� C/����� !�" ���� '��� %4�$� ]���� �� �4���� ./( ���� �4���� �� F ���� �;� !�� ���14 3�" !�; B� ���Paginate %4�" �,

�� ��� N��� C/����� '���False.

CurrentPage Integer !�; ' �� � ��" D��� ���� �, � ����� ��14�� � �� 3��"\� �4���� ./( '���

���14.

Method

System.Web.UI.

MobileControls.

FormMethod

Post | Get

5� ��%G �������� �� % �� ����HTTP � �� ��� =��; /�L� D � Post� �Get ��, � *�%�,� �� ��� ��� FormMethod.Post

Page 72: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

72

PageCount Integer ./( D��� ��� �, �� �; C/����� ' �� '� ���� ���14�� ����� ��$�� � $�

� ��$��.

PagerStyle

System.Web.UI.

MobileControls.

PagerStyle

� � ���� '���� K%P�� �� F 3��"\�PagerStyle N/�� 8��� ��� N/�� .%��<; N%� .

� J���� 3%�4� '�<��� '�� �74� � ����)Next – Previous( Paginate True | False ��14 �� %-�� !�; C/����� � ���� ]���� 5��� � � ���� �� ��� ./( ����.

Title String C/����� ����" �-� �� ��14�� !�"� �, 3��" %�< � ?�����"� =%�� ����� �,

K%$���� !�"

�6�#� : � J������ ������ �, !�" ����� � � 5 %�� ��" �4�� �F W�/� ���14 !�; C%��� ' ��� C/����� '��� %4�" H�C%��� K%" 5��0 ������ '"� '�" ���� A� ��.

'����� %4�" %��$ Form K%@ ��* ��%���� %4�$�� MobilePage '��� %4�" !�; 5��� C/��� ��14 C���� D � �Form

�" A���� �F0� !�" ����=%�0� '����� %4�.

'����� %4�" 3%�F !�; �,�*G��Form '����� %4�" E � �=%�0� '����� %4��" A����� !�" Form C%�� 8��� A����� T ����� �4���� ��% 9L��� '������ 8��� �/( T �� ��� D � �������� '����� %4��"

����� � ���� � ���"?

; ���� � ��"? Form ; �� '����� %4�" W�Form ��*�� D���0� �� �"���� Activate �Deactivate �Paginate 9��� ��%� � C/����� 2�� ;����14 !�; ' ���� � ��$� W�/�.

5������� �%�� � ����; C/����� '��� %4�" '"� ���HeaderTemplate� �FooterTemplate ��ScriptTemplate.

�� �� , -� C%�� ������� C/����� '��� %4�" '����� � 1 � �" � ��.

'��� %4�" '������ ���� � ��%���� ]����� � �/��� A�9�\� ��-��� �/( '�� Link

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<%@ Page language="c#"

Inherits="System.Web.UI.MobileControls.MobilePage" %>

<mobile:Form id="Form1" runat="server">

Page 73: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

73

<mobile:Label id="Label1" runat="server">

Form 1

</mobile:Label>

<mobile:Link id="Link1" runat="server" NavigateUrl="#Form2">

Link

</mobile:Link>

</mobile:Form>

<mobile:Form id="Form2" runat="server">

<b>

<i>Phew, you made it!</i>

</b>

<br>

<mobile:Label id="Label2" runat="server">

Form 2

</mobile:Label>

</mobile:Form>

��9�� !�" � ���� 8���� ������� !�" S���%��� �/( C%� %�< :

'����� %4�" W��� Form ��*�� D���0� �� �"���� Activate �Deactivate �Paginate 9��� ��%� � C/����� 2�� ;

����14 !�; ' ���� � ��$� W�/�.

5������� �%�� � ����; C/����� '��� %4�" '"� ���HeaderTemplate� �FooterTemplate ��ScriptTemplate.

����� � ���� � ���"? ; ���� � ��"? Panel ;

'����� %4�" W��� Panel �J%� C%� N� � =%�0� �������� '����� %4��$� �� ���� E ����� '+���> B���) '��� %4�" ��"

C/����� .(� %4�" N��� �� C/��� '��� %4�$� ��� /; '��Panel� ���� �%4�$� ��� W�/� �%-��Panel %4�" N��� �� '���Panel� � %-��.

Page 74: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

74

'��� %4�$� ���%��� 8��� ����� N%��Panel�� ��� :

<mobile:Panel

runat="server"

id="id"

BreakAfter=="{True|False}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

ForeColor="foregroundColor"

BackColor="backgroundColor"

Alignment="{NotSet|Left|Center|Right}"

StyleReference="styleReference"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

Paginate="{True|False}" >

Child controls

</mobile:Panel>

'��� %4�" ��* ��$*� ��%��� =%�0� '����� %4��" %4� N%� Panel��% 9L� � � �/( :

<mobile:Panel></mobile:Panel>

'����� %4�" �� !�; .����� T���� ���%��� 8��� �� ����� Panel �4���� '�� Paginate �, .��%�/ �h�" � ,�*; �4���

'����� %4��" 8J�4�.

�� ./( B��� '��� %4�" ��* �$*������ %4��$�� A���; ������ 3%�%* !�; � P9��� ��� W%�� �4��Panel ��14�� #1� �, )���� �;.(

'��� %4��" �$�%� ������ ��-��� %�<> Label . '��� %4�" ��* ����� ���-; E*�� Panel '��� %4�" .%��� N��� N/�� Panel '��� N%4�" N��� %�: LabelF���� � :

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<%@ Page language="c#"

Inherits="System.Web.UI.MobileControls.MobilePage" %>

<mobile:Form id="Form1" runat="server">

<mobile:Panel id="Panel1"

runat="server"

Font-Bold="True">

<mobile:Label id="Label1" runat="server">

Label 1 Panel 1

</mobile:Label>

Page 75: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

75

<mobile:Label id="Label2" runat="server">

Label 2 Panel 1

</mobile:Label>

<mobile:Panel id="Panel2"

runat="server"

Font-Italic="True">

<mobile:Label id="Label3" runat="server">

Label 1 Panel 2

</mobile:Label>

<mobile:Label id="Label4" runat="server">

Label 2 Panel 2

</mobile:Label>

</mobile:Panel>

</mobile:Panel>

</mobile:Form>

'����� %4�" �� '������ ��� ��� �-�%��� � ��" ��( <�7�Panel '����� %4��" !�; LabelB��* 3������� .

� !�" S���%��� �/( C%� %�< ��9�� !�" � ���� 8���� ������:

'����� %4�" W��� Panel �J%� C%� N� � =%�0� �������� '����� %4��$� �� ���� E ����� '+���> B���) '��� %4�" ��"

C/����� .( '��� %4�" N��� �� C/��� '��� %4�$� ��� /;Panel� ���� �%4�$� ��� W�/� �%-��Panel �" N��� �� %4 '���Panel� �%-��.

�����7� ���� � ���"?

� �0� '����� %4��" !�" A���� ./( �, 2%$��� '��� %4�$� K%$���� ��* ��7��� �" ���I��� W�� ��*�� �(Command � '��� %4�"Link . '��� %4��" �-� C%���� �4���� '����� %4��" !�" W�/� 2%$��Label ��TextView �

Page 76: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

76

�Image %9����� ����G� '��� %4�" !�; �,�*G�� �TextBox.

���� � ��"?Command:

'����� !�; ���� ��� ��%; � ��$� �/( '����� %4�" H� . ��4�� !�" �/( '����� %4�" %��<; �� , N%� ���� �� % �� 2����(� �1������ ��$���C%� '"�� ���� ��*%$���� �, %� ��9� %�< �� 3��" % 9L��� �P� HTML� � �, ��%� .%��<; '�

��*%$��WML.

�� , 8J�4��� H*� N/�� ���%��� 8��� �� ��/( '����� %4�" �(��� ���� D���0�:

<mobile:Command

runat="server"

id="id"

Alignment="{NotSet|Left|Centre|Right}"

BackColor="backgroundColor"

BreakAfter=="{True|False}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

ForeColor="foregroundColor"

StyleReference="StyleReference"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

CausesValidation="{True|False}"

CommandArgument="commandArgument"

CommandName="commandName"

ImageUrl="softkeyLabel"

OnClick="clickEventHandler"

OnItemCommand="commandEventhandler"

SoftkeyLabel="softkeyLabel"

Text="Text">

TextContent

</mobile:Command>

'����� %4�" D% Command 24�� �� ��%�9��� D���0�� 8J�4��� MobileControl 8J�4��� �, �� �� , �%�� W�/�

�/( '����� %4�" ����� ���� � ,�*G� D���0��: � ���� ��B�� � *�" � � � �

CauseValidation True|False %4�" N��� N/�� C/����� =���� ��� �, �, �4���� ./( � 1� �-� T������ �4�� '��� %4��" !�" '�����

CompareValidator�CustomValidator�RangeValidator� RequieredFielValidator.

��%; ��" T������ �4���� '����� %4��" T7 ; '� �� 3��"

Page 77: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

77

%� P*� ���� ���Command � �� �0� �� % -��� �, ���( ��� �?���� � %�0� �/( ��� � %� '����� ��" �����

Command C/��� ��* g %���� %� ���� �4�� ���� %��<G � 4�9�� �����$��� ����G.

CommandName String � $� �4���� �� F CommandName K%P�� �$����� CommandEventArgs D���0� S��$�� B� �� N%� N/��

OnItemCommand CommandArgument String � $� �4���� �� F CommandArgument K%P�� �$�����

CommandEventArgs D���0� S��$�� B� �� N%� N/�� OnItemCommand

Format System.Web.UI.

MobileControls.

CommandFormat

Button | Link

$�� /�L �� ��\, B �; '����� %4�" ��9 � ��� '� N/�� ��9��� %� ��9� ��% ��9.

'"�� ���� ��*%$���� ���� �, ; �4���� ./( ��$� JavaScript

ImageUrl String '����� %4�" ' ��� ��"Command ./( � ��� ��" ��� �%�� � ��� ����� !�" %� 3%�4 %��<; N%� �� �4���� '"�� ���

%�4��. D����Click D���� S��$� �� % '� � $ D���� S��$� �� % '� . %4�" !�" '������ P* ��$,

'�����Command '�� � �'����� !�; '����� %4�" 3��"; N%�� �4���� ./�� �� �� 3������ �� % �� A�"���� � P9��� ��� W%��.

D����ItemCommand �$� �� % '�D���� S� D�� E� ����� �( ���Click� S��$� �� % D���� �/( ��� D����. ��� D���� �/( �, � � C�%�; � ���$�� ��* ���@%� �� F

CommandEventArgs � �4���� '������ W�/� CommandName �CommandArgument

SoftKeyLabel String '���������� 2������� �������� ��� ����� K$� � ����; �'������ N/�� 8��� % P�� �4���� ./( H�� �� ��%� %�%�L�

�%�0� ./( ��* %�< % . � ��%��� %�%�b� � J������ �� ��� ���� �(GO.

Text String �� � N/�� 8��� � ��� N%� ��; �/( '����� %4�$� .%��<; � '����� %4�$� �4���� 3% 9L��� ��* 8��� �/( E*�������\

���� ��� �� ���.

�/( '����� %4�" ��" ������ ��� ��-��� H*� :

Page 78: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

78

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<%@ Page language="c#" Codebehind="CommandExample.aspx.cs"

Inherits="MSPress.MobWeb.CmdEx.MyWebForm" %>

<mobile:Form id="Form1" runat="server">

<mobile:Command id="Command1" runat="server" CommandName="RED"

OnItemCommand="Command_SelectEvent" BackColor="Red">

Red

</mobile:Command>

<mobile:Command id="Command2" runat="server" CommandName="BLUE"

OnItemCommand="Command_SelectEvent" BackColor="Blue"

ForeColor="White">

Blue

</mobile:Command>

<mobile:Command id="Command3" runat="server" CommandName="GREEN"

OnItemCommand="Command_SelectEvent" BackColor="Lime">

Green

</mobile:Command>

<mobile:Label id="Message" runat="server"></mobile:Label>

</mobile:Form>

�� �� ,� ���%��� 8��� CommandExample.aspx.cs �P�� 5������ C#:

using System;

using System.Web.UI.WebControls;

namespace MSPress.MobWeb.CmdEx

{

public class MyWebForm :

System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.Label Message;

protected void Command_SelectEvent(

Object sender, CommandEventArgs e)

{

if(e.CommandName=="RED")

Message.Text="You selected the Red option";

else if(e.CommandName=="BLUE")

Message.Text="You selected the Blue option";

else

// Catchall case

Message.Text="You selected the Green option";

}

}

}

Page 79: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

79

� �0� '����� %4��" !�" A���� ./( �, 2%$��� '��� %4�$� K%$���� ��* ��7��� �" ���I��� W�� ��*�� �(Command � '��� %4�"Link . '��� %4��" �-� C%���� �4���� '����� %4��" !�" W�/� 2%$��Label ��TextView �

�Image %9����� ����G� '��� %4�" !�; �,�*G�� �TextBox.

���� � ��"?Command:

'����� !�; ���� ��� ��%; � ��$� �/( '����� %4�" H� . ��4�� !�" �/( '����� %4�" %��<; �� , N%� ���� �� % �� 2����(� �1������ ��$������ �, %� ��9� %�< �� 3��" % 9L��� �P� C%� '"�� ���� ��*%$�HTML� � �, ��%� .%��<; '�

��*%$��WML. �����7� ���� � ���"?

���� ��"?Image:

�"� %4�$�� �/( �,%�4 ��1�� %��<; . 27��7� ?�%<� %� ��� ������ ���9� %4�$�� �/( ��9 � ��1�� ��� �� � � ���1��� ����� ���"�� ���� %�4���1������ �������� ����?�,�*; ��� ����� ./( ��9�9*%" ��%�F � � 27��� !�; .

�/� T �� �� %-�L� 3%�4�� 2�� � �L� 5� � ���� ������ �� '�F N/�� ������ 5� 5����� T ���� ��%G ��� ����� �� )�� 5� �� ��%\�.

�6�#� :� %4�" '������ �� % �� ./( 5��� ��� !���� 8���� '����DymamicImage T �� � ���� ?� J���� '�� N/��

?��� � 41���� �/( '����� %4�" ]%9 !�" ��L� D � 5����� T ���� !�; 3%�4��.

�� �� , 8J�4��� H*� N/�� ���%��� 8��� ��/( '����� %4�" ����� ���� D���0�: <mobile:Image

runat="server"

id="id"

Alignment="{NotSet|Left|Centre|Right}"

BackColor="backgroundColor"

BreakAfter=="{True|False}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

ForeColor="foregroundColor"

StyleReference="StyleReference"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

AlternateText="AltText"

ImageUrl="masterImageSource"

NavigateUrl="targetURL"

SoftkeyLabel="softkeyLabel">

Optional DeviceSpecific/Choice construct here.

</mobile:Image>

Page 80: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

80

���(� %�/� � ,�*G� 8J�4��� �� �"���� �/( '����� %4�" '�� ����" D ���� ��� T� ���� ���$�� 8J�4��� !�; �,�*;:

�4���� ��"�� 24���

AlternateText String

N/�� 8��� ��� %�< � ����� !�" %��<; '"�� ���� ��%�4����������� 3%�4�� �" ?�*�" . ��� ���� ����

�� 3%�4�� ./( � ��� %�<���� K%$���� !�" 3%�4��'�����.

ImageURL String

����������� 5�� ��� 3%�4�� 2�� %�4� �. ��� �� ��( � ����� %���� '������ 2�� EF�� 5� T� ��� %����

%��� 3%�4���(%��<; ��.

NaviagteURL String

���F �/;'������ ��% !�; 3%�4�� ����� �4���� ./( � ����$�� �-� �NaviagteURL �� ������ '� N/�� ����$

3%�4�� ��% !�" P*�� ��" B �;. 3%�9G�� �� ��� ./( A�� ��� �,)# (N%�� ����$�� ���%�

� �� �ID '��� %4�$� Form� #1� �, ��14�.

�/( '����� %4�" ���"� ���� %�4�� ��1�� ���� '(� �� :gif� �wbmp� �jpg� �Png.

�����7� ���� � ���"?

���� � ��"? �������Image:

%�4�� '����� ��� B�L� ?���� ��%�/%�" T,����� 3%�4�� 2�� � ��� � T ��������� B�"� N/��. � � � 1 � ������ ��-��� 3% 9L��� T � � <DeviceSpecific> 3% 9L��� E� <choice> '����� %4�" ��* Image '����

T ���� �/�� ������ '"� 5�� �1���� %�4 ��� ��:

<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage"

Language="c#" %>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form runat="server">

<mobile:Image runat="server" id="Image1"

AlternateText="Northwind Corp.">

<DeviceSpecific>

<Choice Filter="isHTML32"

ImageUrl="Northwind.gif"/>

Page 81: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

81

<Choice Filter="isWML11"

ImageUrl="Northwind.wbmp"/>

</DeviceSpecific>

</mobile:Image>

</mobile:Form>

�� 2 %$� ��$�� �/( '���G %�71��>��� +��� ���"G� 2�� ��* ��Web.config ������ 8��� N��� N/��� :

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<system.web>

<deviceFilters>

<!-- Markup Languages -->

<filter name="isHTML32"

compare="preferredRenderingType" argument="html32" />

<filter name="isWML11"

compare="preferredRenderingType" argument="wml11" />

</deviceFilters>

</system.web>

</configuration>

��� � ��������4��� ����� � : � $ '��� %4�" Image �4���� ImageUrl� ��% !�; % 9� �� F �������� ������ ��* �� �� 3%�4 .��eF% ���%�� ./( ' ?3��"

�� ?�A�����Symbol:0000� � �P 4�� ��� ����� )���� K$� �, /�L�Symbol:X00 ��� �� ��� D � X 2%�0� ��� G� �E ��F ��� �00 �" %�$ , 'F%N%9" �.

������ ��9��� ��%�� '� '����� Symbol:cloudy D � cloudy��� �" %�$��� ��%�� '� ��( �'J�P�� . B�9 ������ ��-���� ��-�� ��% '��� B���� �� %9�� ./( �, T����Symbol:cloudy :

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage"

Language="c#" %>

<mobile:Form runat="server">

<mobile:Label runat="server">

The Weather today will be...</mobile:Label>

<mobile:Image runat="server"

AlternateText="Cloudy!"

ImageUrl="cloudy.jpg">

<DeviceSpecific>

<Choice ImageUrl="symbol:cloud" Filter="isUP4x">

</Choice>

</DeviceSpecific>

</mobile:Image>

Page 82: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

82

<br>

<mobile:Image runat="server"

AlternateText="GoTo MSN"

ImageUrl="MSNlogosmall.gif"

NavigateUrl="http://mobile.msn.com">

<DeviceSpecific>

<Choice ImageUrl="MSNlogo.gif" Filter="isPocketIE">

</Choice>

</DeviceSpecific>

</mobile:Image>

</mobile:Form>

2�� '���� 3%�%* W��(Web.config 2 %$�� %�71��: <?xml version="1.0" encoding="utf-8" ?>

<configuration>

<system.web>

<deviceFilters>

<!-- Device Browsers -->

<filter name="isGoAmerica"

compare="browser" argument="Go.Web" />

<filter name="isMME" compare="browser"

argument="Microsoft Mobile Explorer" />

<filter name="isMyPalm" compare="browser" argument="MyPalm" />

<filter name="isPocketIE" compare="browser" argument="Pocket

IE" />

<filter name="isUP3x"

compare="type" argument="Phone.com 3.x Browser" />

<filter name="isUP4x"

compare="type" argument="Phone.com 4.x Browser" />

</deviceFilters>

</system.web>

</configuration>

K%$���� 5�� ������� S���%��� �/( C%� ��� :

Page 83: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

83

���� � ��"? �������Image: %�4�� '����� ��� B�L� ?���� ��%�/%�" T,����� 3%�4�� 2�� � ��� � T ��������� B�"� N/��.

��� � ������������ � 4��� �:

� $ '��� %4�" Image �4���� ImageUrl�% !�; % 9� �� F � ��������� ������ ��* �� �� 3%�4 .��eF% ���%�� ./( ' ?3��" �� ?�A�����Symbol:0000� � �P 4�� ��� ����� )���� K$� �, /�L�Symbol:X00 ��� �� ��� D � X 2%�0� ��� G� �E

��F ��� �00 �" %�$ , N%9" � 'F%.

�����7� ���� � ���"? ���� � ��"?Label:

�"� � %4�" �/( '�����,������� ������ �9�9 C%� !�" 3A�%��� 84�� % 4F 8� %��<; . �� , �/( '����� %4�" C�%�G �������� �P 4�� �� . �F� �1������ 8J�4��� �(/�L� ���� ' ��� H *�� �� , '�:

<mobile:Label

runat="server"

id="id"

Alignment="{NotSet|Left|Centre|Right}"

BackColor="backgroundColor"

BreakAfter=="{True|False}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

ForeColor="foregroundColor"

StyleReference="StyleReference"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

Text="Text">

TextContent

</mobile:Label>

'�� �( 3���� �4�� =� '����� %4�" Text !�; �,�*; 8J�4���?���� ��*���� ��%�9��� .�"�� �4���� ./( �, � ���

�/( '����� %4�" ��* .%��<; ��%��� 8��� !�; �� F . 3% 9L� ��* 8��� E*�� ?7 �� �� % �� ./( %��$�<mobile:Label></mobile:Label>

H*� ������ ��-��� �/( '����� %4�" '����� :

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<%@ Page Inherits="MSPress.MobWeb.LblEx.MyWebForm"

AutoEventWireup="False"

Language="c#" CodeBehind="LabelExample.aspx.cs" %>

Page 84: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

84

<mobile:Form runat="server" id="Form1">

<mobile:Label id="Label1" runat="server"

StyleReference="title"

Alignment="Center">

Centered Title

</mobile:Label>

<mobile:Label id="Label2" runat="server"></mobile:Label>

</mobile:Form>

� 1���� �, B������ '� N/�� ���%��� 8��� ���� '� /�L N/��LabelExample.aspx.cs. 8��� �� F � $�� '�� ��( 8��� '����� %4�$�Label2��14�� � ��� ��" .

using System;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.LblEx

{

public class MyWebForm : System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.Label Label2;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);

}

protected void Page_Load(Object sender, EventArgs e)

{

Label2.Text = "This was set in code";

Label2.Font.Italic = BooleanOption.True;

}

}

}

���� ��9�� !�" ���%��� 8��� �/( / 1�� �� ��:

Page 85: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

85

���� � ��"?Label: �"� �/( '����� %4�" �,������� ������ �9�9 C%� !�" 3A�%��� 84�� % 4F 8� %��<; .

�����7� ���� � ���"?

"? ���� � ��Link : �"� %4�$�� �/( �,������� 5��� C/��� ��14 !�" ��$9� ��% A�9�; � � #1� ��* %�: C/��� %4�" E� �%��� '��

� ��14��� %�4� E���> ��%��� !�" ����$� ���URLB� .

� � �� ���� D���0�� 8J�4��� '(�� %4�$�� �/( '����� �P 4 ������ ���%��� 8����(/�L� �� ��� ���� ' ���� ���. <mobile:Link

runat="server"

id="id"

Alignment="{NotSet|Left|Centre|Right}"

BackColor="backgroundColor"

BreakAfter=="{True|False}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

ForeColor="foregroundColor"

StyleReference="StyleReference"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

NavigateUrl="target"

Page 86: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

86

SoftkeyLabel="softkeyLabel"

Text="Text">

TextContent

</mobile:Link>

D7- '�� %4�$�� �/( �� <�7� T���� 8��� ��8J�4��(�� @� T� ���� ���$�� W�� �" � ,�*; . �4���� ���� 24���

NavigateUrl String B �; ��4��� ��%��� �� ��� %�4��� ����" �4���� ./( � $�. SoftKeyLabel String �"�� �,���%��� %��� � *�%�,� �� ��� 8� % P� .%,�� N/��

�� ��*%$���� K$�GO=%�� ���@%� �� F N� !�; . Text String ./( �7� �� ��%�� 8�� .%��<; 5����� 8��� � ��� �����

�4����.

H*� �/( '����� %4�" '����� ������ ��-���: <%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage"

Language="c#" %>

<mobile:Form runat="server" id="Form1">

<mobile:Link id="Link1" runat="server"

SoftkeyLabel="->Hello"

NavigateURL="#Form2">

GoTo Hello

</mobile:Link>

<mobile:Link id="Link2" runat="server"

SoftkeyLabel="->Bye"

NavigateURL="#Form3">

GoTo Goodbye

</mobile:Link>

<mobile:Link id="Link3" runat="server"

StyleReference="subcommand" SoftkeyLabel="MSN"

NavigateURL="http://mobile.msn.com">

MSN Mobile

</mobile:Link>

</mobile:Form>

<mobile:Form id="Form2" runat="server">

<B><I>Hello!</I></B>

</mobile:Form>

<mobile:Form id="Form3" runat="server">

<B><I>Goodbye</I></B>

</mobile:Form>

Page 87: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

87

H*�� � ��� ����� !�" ��-��� �/( C%� � ����� � ����� �����IE

���� � ��"?Link :

�"� %4�$�� �/( �,������� 5��� C/��� ��14 !�" ��$9� ��% A�9�; � � #1� ��* %�: C/��� %4�" E� �%��� '�� � ��14��� %�4� E���> ��%��� !�" ����$� ���URLB� .

���� � ���"?�����7�

���� � ��"?TextBox :

�� ��� ./( � �$� �� '������ � ��� E� � J���� �� F N��� �� %4�$�� �/�� ��� ��� � �� % ����\� �/( '����� %4�" H� ����������.

'��� %4�" '����� �P 4 �� �� ,TextBox: <mobile:TextBox

runat="server"

id="id"

Alignment="{NotSet|Left|Centre|Right}"

BreakAfter=="{True|False}"

StyleReference="StyleReference"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

MaxLength="maxlength"

Numeric="{True|False}"

Password="{True|False}"

OnTextChanged="textChangedEventHandler"

Size="textBoxLength"

Text="Text"

Title="Text"

WmlFormat="formatMask">

TextContent

</mobile:TextBox>

��" �����(; '� B�0 � 1����� B���� ���� ���$���� ��14���� ��$���� ���F ���� <�7�� ���%4�$�� �/( . ������ ���8J�4���

Page 88: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

88

��, ���$�� W�� �" �1������ =%�0�:

� �4�����D���� ���� 24��� MaxLengh Integer � � $�� '������� ����G ]����� !4F0� �� �� 3��";8.

�� ��� !�; �4���� ./( � $� ��� �, 3����� % @ �� ��� ./( %��$�0.

Numeric True|False ����]��� ��� �/; �� , �, � �F%�� ' ��� ����; . Password True|False � � $�� '���� '� ����G� ��� ���� ���� � � ���� �� ��� 3��";

.% 19� � ��%�9; !�; B� ��� *��%�9;=%�� ��. Size Integer �� ��� 2%����� ��� '� N/��� ���%4�$�� �/( �� �; Text String '����� %4�" ��* 8��� �" %�$� � 8��� �/( � ��� ��� �

�/( '����� %4�" 3% 9L� T7@;� H�, � � 8��� E*�� ��; � �� % ��4���� ./�� �� F A� "\���.

Title String ��+�� ./( ���*%$���� �� % -��� �, �� ���. D����

TextChanged

�� % '�D���� S��$�

D���� S��$� �� % '� ���� . =���� � �$� ��" D���� �/( %�< '����� %4�"TextBox '����� !�; ���$��� �� ��� ��%;� .

wmlFormat String ����WML� $� )���� ����G� � ��" � �� �� .� !�$, ��-��� � )����� ��� NNNN� �F% 2%��� E�%� ����; .

H*� 8��� E�%� '��� %4�" ��" ������ ��-���TextBox:

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<%@ Page Inherits="MSPress.MobWeb.TBEx.MyWebForm"

AutoEventWireup="False"

Language="c#" CodeBehind="TextBoxExample.aspx.cs" %>

<mobile:Form runat="server" id="Form1" title="Confirm Password">

<mobile:Label runat="server" id="Label1">

Enter new password</mobile:Label>

<mobile:Label runat="server" id="Label2" Visible="False"/>

<mobile:TextBox runat="server" id="TextBox1"

Password="True">

</mobile:TextBox>

<mobile:Label runat="server" id="Label3">

Confirm password

</mobile:Label>

<mobile:TextBox runat="server" id="TextBox2"

Password="True"/>

<mobile:Label runat="server" id="Label4"/>

<mobile:Command runat="server" id="cmdButton">OK</mobile:Command>

</mobile:Form>

Page 89: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

89

��%��� ���%��� 8��� ����=������ 2���� �, TextBoxExample.aspx.cs �, ��� ���:

using System;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.TBEx

{

public class MyWebForm : System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.Label Label1;

protected System.Web.UI.MobileControls.Label Label2;

protected System.Web.UI.MobileControls.Label Label3;

protected System.Web.UI.MobileControls.Label Label4;

protected System.Web.UI.MobileControls.TextBox TextBox1;

protected System.Web.UI.MobileControls.Command cmdButton;

protected System.Web.UI.MobileControls.Form Form1;

protected System.Web.UI.MobileControls.TextBox TextBox2;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.TextBox2.TextChanged +=

new System.EventHandler(this.Verify_OnTextChanged);

this.cmdButton.Click +=

new System.EventHandler(this.cmdButton_Click);

}

protected void Verify_OnTextChanged(Object sender, EventArgs e)

{

if (TextBox1.Text != TextBox2.Text)

{

Label2.Visible = true;

Label2.StyleReference = "error";

Label2.Text = "No match - please reenter";

}

}

protected void cmdButton_Click(Object sender, EventArgs e)

{

if (TextBox1.Text == TextBox2.Text)

{

Label1.Visible = false;

Label2.Visible = false;

Label3.Visible = false;

TextBox1.Visible = false;

Page 90: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

90

TextBox2.Visible = false;

Label4.Text = "Confirmed - Thanks";

}

}

}

}

'��� %4�" '������ =%�� 3%� ������\� ������ ��4 � �L�� % ���� ����; �� '������ � ���� ���%��� 8��� �/( '��

TextBox . %� !�" P*�� ��" ���� ��� ��%; �$� ���%��� 8��� '�� OK'��� %4�" B�-� N/�� Command �� T������ � T�� ��� '�" ��� �, L � ���% %��<;� ������� ������� � � T�� ����T�� ��� ��" � �L� ���% %��<;.

������ C%��� S���%��� %�< :

���� � ��"? TextBox :

�� %4�$�� �/�� ��� ��� � �� % ����\� �/( '����� %4�" H� � �� ��� ./( � �$� �� '������ � ��� E� � J���� �� F N��� � ��������.

�����7� ���� � ���"?

���� � ��"?TextView :

8� %��<\� �/( '����� %4�" H� ��� � � '����� %4�" '������ .%��<; Label.

Page 91: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

91

#�$�Label ���14 !�; ������� ' ���� %4�$�� �/( '"� D ��N%� %9� ���14�� �� �"���� !�; � � �� 8��� ' ��

'����� %4�" N�� N/�� C/����� %4�" �� � ��$�� ./( � ��� TextView.

H*� '��� %4�" '����� �P 4 ������ 8���TextView: <mobile:TextView

runat="server"

id="id"

Alignment="{NotSet|Left|Centre|Right}"

BackColor="backgroundColor"

BreakAfter=="{True|False}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

ForeColor="foregroundColor"

StyleReference="StyleReference"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

Text="Text">

TextContent

</mobile:TextView>

�, B� P�� ���F �h�" � ,�*; 3���� �4�� ���� <�7� ?�* � �/( '����� %4�" ���� �,8J�4��� �4���� �(� ���$�� Text D � %4�$�� �/( ��* %�< N/�� 8��� �4���� ./( ����.

���(� ������4���� ./( %,�� ���� '����� %4��" '<$� �,� %4� T % �" ?�* � �4���� ./( �* ��� ��% 9L� � � 8��� H�1����/( '����� %4�$� T7@G�.

H*� ?� ��" %4�$�� �/( '����� � 1 � ������ ��-���:

<%@ Page language="c#"

Inherits="System.Web.UI.MobileControls.MobilePage" %>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form runat="server" id="Form1" Paginate="True">

<mobile:Label id="Label1" runat="server" StyleReference="title"

Alignment="Center">

TextView In Use

</mobile:Label>

<mobile:TextView id="TextView1" runat="server">

The TextView control is used for larger blocks of text.

<br />

<br />

Page 92: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

92

This control supports internal pagination so that if you set

the <b>Paginate</b> control of the <b>Form</b> control to

<b>true</b>, this control will page its output as

appropriate for the client browser.<br />

<br />

It also supports a set of markup elements so that <b>bold</b>,

<b><i>bold&amp;italic</i></b>, or <i>italic </i>are supported.

The line breaks in this text are actually &lt;br/&gt; tags.

You can also embed &lt;a&gt; hyperlinks to other resources:

<br />

<a href='http://mobile.msn.com'>http://mobile.msn.com</a>

</mobile:TextView>

</mobile:Form>

%�<� ���%��� 8��� �/( / 1�� �� ����� �� :

���� � ��"?TextView :

8� %��<\� �/( '����� %4�" H� ��� � � '����� %4�" '������ .%��<; Label.

#�$�Label ���14 !�; ������� ' ���� %4�$�� �/( '"� N%� D ��8��� ' �� %9� ���14�� �� �"���� !�; � � �� '����� %4�" N�� N/�� C/����� %4�" �� � ��$�� ./( � ��� TextView.

���� � N��H7� ���� ���"?

'��� %4��" ��*��ASP.NET-7- �������� ��������� 5��� ��� � � A��@; �, W%�9� �4�� K�%@� ��/ '��� %4��" . ./( �( %4��$��Clendar� PhoneCall� AdRotator.

Page 93: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

93

���� ��"?Calendar: D � ������� 5��� T � � ��* g %���� %� ��� � ��" ������ �� %4�$�� �/( ��� '���� ��$�� ./( ��� �� �4�� ����� .

( �� ���� �� $*� 3�" �/( '����� %4�" %,� ��'� ?7-� B�� %� ��� '������ ��� N/�� g %���� �� ������ ��)��� ���%�9. '"�� ���� ��� ����� !�" ���� ��9� ?����@ %4�$�� �/( %�< HTML � �������� ��� ����� ���� �, ���%�� �� � �%( � �� ��9�

'"�� ����WML. �� , � 1���� � *%$�� ��* %4�$�� �/( ��9 H*�� � �� �� :

4�$�� �/( '����� �P 4 ������ ���%��� 8��� � � �(%,� ���� D���0�� 8J�4��� '(�� %:

<mobile:Calendar

runat="server"

id="id"

BreakAfter="{True|False}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

ForeColor="foregroundColor"

BackColor="backgroundColor"

Alignment="{NotSet|Left|Center|Right}"

StyleReference="styleReference"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

CalendarEntryText="prompt string"

FirstDayOfWeek="{Default|Sunday|Monday|Tuesday|Wednesday|

Thursday|Friday|Saturday|Sunday}"

OnSelectionChanged="selectionChangedHandler"

SelectedDate="selectedDate"

SelectionMode="{None|Day|DayWeek|DayWeekMonth}"

ShowDayHeader="{True|False}"

VisibleDate="visibleDateMonth"

/>

Page 94: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

94

?�* � ��( H*��8J�4��� A��-� ��� P�� '�� '� ���� � ,�*G� ���7� �" 8J�4����$�� '����� %4��" : �4���� ���� 24���

CalendarEntry-

Text String � � $�� '���� �, '������ 8��� 3��";WML �CHTML

�" !�; ������ ��%� '��� %4Calendar

FirstDayOfWeek

System.Web.UI.

WebControls.FirstDay

OfWeek enumeration

(FirstDayOfWeek.Friday)

'� 0� ��J�F .��" ���� N/�� )��� �, ��0� '� �� ����.

SelectedDate DateTime � � $��'����� %4�" � ��� .%� ��� '� N/�� g %���� � $� . ����������� '� �� g %�� �( � *�%�,� �� ��.

SelectedDates K%@SelectedDateCollection K%P� 3%������ g %����� 3��"\� '���

SelectedDateCollection

SelectionMode

System.Web.UI.WebControls.

CalendarSelectionMode

None|Day|DayWeek

|DayWeekMonth

�� g %���� ����� ��� �(%� ��� '������ E � �� . '� �/;� ��� �� ��� ./( a� None%� ��7� � ����; W��( ��� �� .

showDayHeader True | False � %��<; ���� � � �� �� F� g %���� !�; '� �� '� �,�*; A�P�;

%������.

VisibleDate DateTimeObject ��� .%��<; '� N/�� %�9��� '������ '�� N� � ���� W�/� '���

%�9�� �/( ��* '� .

WebClendar System.Web.UI.WebControls.

Calendar

K%P�� 2�P MobileControls.Calendar K%P�� �� � -�System.Web.UI.WebControls.

Calendar

��4���� ./( �7� �� B �; ��4��� ��� N/��. D����

SelectionChanged S��$� �� % '�D����

'�� ����" �(I�"��� '� ���� D���� S��$� �� % '� ��� '����� %4�" ��* %������ g %���� % P�� '������.

�/( '����� %4�" '����� ������ ��-��� H*� :

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<%@ Page language="c#" Codebehind="CalendarExample.aspx.cs"

Inherits="MSPress.MobWeb.CalEx.CalendarExampleMobileWebForm" %>

<mobile:Form id="Form1" runat="server">

<mobile:Calendar id="Calendar1" runat="server"

SelectedDate="2001-07-21"

SelectionMode="DayWeek"

Alignment="Center"

OnSelectionChanged="Calendar1_SelectionChanged">

Page 95: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

95

</mobile:Calendar>

<mobile:Label id="Label1" runat="server" Alignment="Center"/>

</mobile:Form>

2���� ���%��� 8��� ������ ���CalendarExample.aspx.cs �, � �������:

using System;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.CalEx

{

public class CalendarExampleMobileWebForm :

System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.Calendar Calendar1;

protected System.Web.UI.MobileControls.Form Form1;

protected System.Web.UI.MobileControls.Label Label1;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Calendar1.SelectionChanged +=

new System.EventHandler(this.

Calendar1_SelectionChanged);

}

protected void Calendar1_SelectionChanged(

object sender,

System.EventArgs e)

{

Label1.Text=Calendar1.SelectedDate.ToShortDateString();

}

}

}

'����� %4�" '����� ��-��� �, <�7�Calendar� �F B� � ��0� �� ��� A� "; '�21/7/2001%� ��� � ����; � ��� '� '- .

�"� % @ %�: g %�� N� %� ��� 21/7/2001 D���� T7 ; '� SelectionChanged � �� % �� � P9� �������

calendar1_SelectionChanged '����� %4�" �� F � $�� '��� ���� Label1�� g %���� !�; � ��. ��9�� �� ���%��� 8��� �/( / 1�� �� �� ����:

Page 96: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

96

���� � N��H7� ���� ���"?

���� � ��"?PhoneCall: '����� %4�" '��� PhoneCall%� ��� �/( '"� ������� 2����� ��� ��� �, �1����� ��4�7� %9����� 5� �� . '�" ��� �, ���

�/( '����� %4�" %�< �4���� ./( '"�� ��4�� � $1�� �������� '������ ��� ��4� ���� ���% %��<G !�; '������ B��4�� �/( # L� !�" ��,����� 3%�%*.

Page 97: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

97

�(%,� ���� D���0�� 8J�4��� '(�� %4�$�� �/( '����� �P 4 ������ ���%��� 8��� � � : <mobile:PhoneCall

runat="server"

id="id"

BreakAfter="{True|False}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

ForeColor="foregroundColor"

BackColor="backgroundColor"

Alignment="{NotSet|Left|Center|Right}"

StyleReference="styleReference"

Text="text"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

AlternateFormat="alternateText"

AlternateURL="targetURL"

PhoneNumber="phoneNumber"

SoftkeyLabel="text"

Text="text">

innerText

</mobile:PhoneCall>

?�* � ��( H*��8J�4��� �" ������ A��-� ��� P�� '�� '� ���� � ,�*G� 8J�4����$�� '����� %4��" : �4���� ���� 24���

AlternateFormat String

N/�� ������ !�" �(%��<; 5� ���� ���%�� T �� ��� � ��4�� ��4�� # L� E �.

� �� ��� ��� ������� 2%����� ��� ��*�� �� ��� � � �����{0} �{1}.

�4�� ������ '� Text �� ���� {0} �4����� PhoneNumber.

�( �4���� ./�� � *�%�,� �� ���“{0}{1}”

AlternateURL

���� �" %�$ URL� ����� ���� ��14�� T� ��� �N%� ��4�� # L� �� ������ ���� '�" ��" ��� ��� � �1��������4��� '������ ��@% '�" ��".

PhoneNumber String

T ����� ?7-�� B� ��4�� ��%��� 'F%�� �-� ����� ��%|N% ��� ��%��|% 4��� 'F%��.

� ����� ���%�� '������ W�� T ���� � ��" '�� �� ��� ( ).

Page 98: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

98

- r�%1�� !�; �,�*; .

SoftkeyLabel String

'��� ��*%$�� K$� WML �1� �, ���%� %� �9�9�� . %�< �, � *�%�,� �� ��� %��� �/(Go � �����

� ���� �� ��� ./( % P�SoftkeyLabel �� ��� !�; ���� ���.

Text

String

�� 8���� ��%�� �(%��<; '� ���� ���%�� ��� # L��4��.

�/( '����� %4�" '����� ������ ��-��� H*� :

<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage"

Language="c#"%>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form id="Form1" runat="server">

<mobile:PhoneCall runat="server"

AlternateFormat="Call {0} on {1}"

AlternateURL="http://www.northwindtraders.com"

phoneNumber="123-456-7890"

Text="Northwind Traders">

</mobile:PhoneCall>

</mobile:Form>

Page 99: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

99

�3�� �� A��� � ��� �:

��7� E�=�� �:� ���� � 5� � U.��" ���� ���"? ������� � ����� � :

D�� ��4�� ��14�� �3% 9L� �% 9L� �P� ������ �'��� %4�"

����: �������� 5��� C/��� '��� %4��" !�" ����� ./( �, 2%$�� . �� �0�� �� ����� %4��$�� ����� ./( � P���� �������� W

�4���� K�%@b�.

������� ��!�: !�" �41�� �/( �, 5�� �� 2%$� :

• � ����� 5��� C/��� '��� %4��" • � �0� 5��� C/��� '��� %4��" • �4���� K�%@0� ��/ 5��� C/��� '��� %4��".

Page 100: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

100

���� ���"? ���#� �

%��$�� C/����� �7��� � �74 �� T����� � ��" A��?�T � � N� �� '�� . /;K�%@� 3�$� � �74�� �� T����� � ��" N%�� ���(� : • C/����� ������ �� T�����. • ?7-� ���%���� � %��� ����� ����� ��� � $� T �� '����� �� T�����. • �� ��� #1� !�" � ��� A����� �� T����� .�� T����� ����� ���� %�� ������� ���(� �L� .

�?� � ���'����� ��� �� � ��%� 8�4� '����� ./( �-� A��� 5� � .� �� ?����@ �(!�; C����3��$��� � ��<��� % ��$��� '����� .

%,��ASP.NET '����� ��� �� '��� %4��" '������ C/����� � �74 �� T����� � ��$� 3� �� �� % !"��� '��� %4��"

� �74�� .��$�� ./( H��5��� ��14 ��* '����� %4�$� �4���� 3% 9L��� C�%�; �%��� 3��$� T��� �� ��" A�%�\� %4.

H*� � �74�� '��� %4��" 2�14� � �%��� � ���� ������ ��9��:

<�7� ���� T���� ��9�� ��5�( � �74�� �� T������ �4�� '��� %4��" : X N%���G� ����� '��� %4�"

Page 101: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

101

X �� '��� %4�"� ��<��� % ��$� X ������ � �74 '��� %4�" X >��� � �74�� '��� %4�"+4�8 X ��%����� '��� %4�".

���� � ����� ����#� � ���� ���"�

%4�$�� ��" � �74�� '��� %4��" E �� D%�ValidationSummary � 24�� ��

System.Web.UI.MobileControls.BaseValidator ��4����IsValid.

�� ��� �4���� ./( /�L�True�� �4 T����� �%9 ���� �/; ��� ���� False� �74�� �� T����� � ��" ��9, �/; .

'�� 24�� System.Web.UI.Page) (�� 24�� 50� 24��MobilPage (�4���� IsValid �� � ��" �� ��9�� ��)AND ( 8J�4� E �� � � � � ��IsValid��� � �74�� %4��$� ��14�� �, 3����.

8���� � � ����� �� % �� �, �� ��� %������ � �74�� �� T����� '��� %4��" '�����IsValid W�� �� W%����� ]���� ��F ��14�� ��14��.

�" E�%� !�; ��4����-��� System.Web.UI.Page 24�� �� MobilePage �4���� '���� MobilePage.Page.

��C�: K%$ � D�� S��$� ������ ��-��� ��%� P*�� %�Command1 �4���� �� F �� T��� N/��� IsValid ������ ��F ��14��

C/����� !�;Form2: protected void Command1_Click(object sender, System.EventArgs e)

{

// Move onto second Form only if input on first page has

// passed validation by all the validation controls on the

page

if (Page.IsValid)

{

ActiveForm = Form2;

}

} ��� %4�" �� ��� �� ���% E� � �� �� C/����� %�< L � ���� ���� �, � �74 '� 5� �,L ��� �/(.

� �� � ��9� �J�%�� � �74�� '��� %4��" %�<�:

• C/����� !�" � �74�� '��� %4�" C�%�\� B , ��F N/�� ������ #1� �, ��0� • � �4���� K%$�� ���� ��* ���-��� '��� %4�$ValidationSummary.

Page 102: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

102

N%� 0� ��9��� %�<� ���� L ��� ���% � ��� �4���� '������ ��Text . '����� %4�" '����� ���� �, ���

ValidationSummary N%� , � �4���� '�����ErrorMessage � 5� ������ ./( �, �� ��� ���;None !�; �4���� �� F DisplayB1� � �74�� '��� %4�$� �'����� %4�" T % �" 3%� �� �%� L ��� ���% %��< '�" ���*�

ValidationSummary �B1� � �74�� '��� %4�" T % �" 3%�.

� � � �74�� �� T����� %4��$� ��%�9��� 8J�4��� '(� ������ ������: �4���� ���� 24���

ControlToValidate String 2Q%$>� ID ��%��� '����� %4�$� B�� T�����.

Display

System.Web.UI.WebControls

.ValidatorDisplay

None|Static|Dynamic

� L ��� ���% %��<; �����.

ErrorMessage String

���� ���%�� 8� �" %�$�N%� '����� %4�" C%� ��* �(%��<;

ValidationSummary

IsValid True | False ����4 ���� ��� ���� �/; �� , ����.

Text String

���� ���%�� �-��N%� %��<;�(.

'� ��� �,%� ./�� �� F � $� �4���� N%� � �� F %��<; �4����ErrorMessage ?�*�"

���". C%� ��* �� ��� ./( C%��; '�

'����� %4�"ValidationSummary . �/�� �� ��� ��� ; '� K%P��

ErrorMessage.

���#� � ���� ���"?

��� � ���� ��"?RequiredFieldValidator

%��$ �� �/(?������� �(%-��� � �74�� '��� %4��" ���9� �� %4�$ . '������ '�F �/; �� , T������ � ��� %4�$�� �/( '�� '� � $� ����; %4�$� �� F A� "\�.

Page 103: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

103

���� ���� �P 4���, �"�� '����� �� �/(� ����� �( ������� 5��� C/��� ��14 �, %4�$:

<mobile:RequiredFieldValidator

runat="server"

id="id"

BreakAfter="{True|False}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

ForeColor="foregroundColor"

BackColor="backgroundColor"

Alignment="{NotSet|Left|Center|Right}"

StyleReference="styleReference"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

ControlToValidate="IdOfTargetControl"

Display="{None|Static|Dynamic}"

ErrorMessage="ErrorTextForSummary"

InitialValue="initialValueInTheControl"

Text="ErrorText">

innerText

</mobile:RequiredFieldValidator>

E ��8J�4� �" �-�%�� %4�$�� �/( 8J�4��� 24�� �(%,� ����� � �74�� �� T����� %4��$� ���$�� BaseValidator. � ���� � ��"? ������RequierdFieldValidator:

]%9 '����� %4�" '����� ������ ��-���RequierdFieldValidator ��"� C/����� ��* B�� ����; '������ �� 5� D � C/����� ��%;N%� �� F .I� "; '� �F ����� ��� �� T����� :

<%@ Page Inherits="MSPress.MobWeb.ReqEx.RequiredExample"

CodeBehind="RequiredExample.aspx.cs"

Language="C#"%>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form id="Form1" runat="server">

<mobile:Label id="Label1" runat="server">

Your name:

</mobile:Label>

<mobile:TextBox id="userName" runat="server"/>

<mobile:RequiredFieldValidator id="RequiredFieldValidator1"

runat="server"

Display="Dynamic"

ErrorMessage="Your name is required! "

Page 104: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

104

ControlToValidate="userName"/>

<mobile:Command id="Command1" OnClick="Command1_Click"

runat="server">

Submit

</mobile:Command>

</mobile:Form>

<mobile:Form id="Form2" runat="server">

<mobile:Label id="Label2" runat="server">

Input validated OK.

</mobile:Label>

</mobile:Form>

�, � 1���� �, ���$�� ���%��� 8��� ���� '��RequiredExample.aspx.cs using System;

namespace MSPress.MobWeb.ReqEx

{

public class RequiredExample :

System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.Label Label1;

protected System.Web.UI.MobileControls.TextBox userName;

protected System.Web.UI.MobileControls.RequiredFieldValidator

RequiredFieldValidator1;

protected System.Web.UI.MobileControls.Command Command1;

protected System.Web.UI.MobileControls.Form Form1;

protected System.Web.UI.MobileControls.Label Label2;

protected System.Web.UI.MobileControls.Form Form2;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Command1.Click +=

new System.EventHandler(this. Command1_Click);

}

protected void Command1_Click(object sender, System.EventArgs

e)

{

if (Page.IsValid)

{

ActiveForm = Form2;

}

}

}

}

Page 105: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

105

���� ��9�� �� ��-��� �/�� / 1���� �� ��

���#� � ���� ���"?

�"���� � ���� ��"?CompareValidator

> +��� '�� �/( �� �� ��%��� � ��" �, %4�$' F �� � %4�"����; '��� .

���� ���� �P 4���"�� �, '����� �� �/(� ����� �( ������� 5��� C/��� ��14 �, %4�$: <mobile:CompareValidator

runat="server"

id="id"

BreakAfter="{True|False}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

ForeColor="foregroundColor"

BackColor="backgroundColor"

Alignment="{NotSet|Left|Center|Right}"

StyleReference="styleReference"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

ControlToCompare="IdOfControl"

ControlToValidate="IdOfTargetControl"

Display="{None|Static|Dynamic}"

Page 106: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

106

ErrorMessage="ErrorTextForSummary"

Operator="{DataTypeCheck|Equal|GreaterThan|

GreaterThanEqual|LessThan|

LessThanEqual|NotEqual}"

Text="errorText"

Type="{Currency|DateTime|Double|Integer|String}"

ValueToCompare="Value">

innerText

</mobile:CompareValidator>

�"���� �/( '����� %4�" D% 8J�4��� 24�� �(%,� ���� ���$�� BaseValidator?���� �(%�/ !�" ��%%� ���� . !�; �,�*;8J�4��� ./(� %4�$�� �/( %,� 8J�4���� ����� � ,�*G� :

�4���� ���� 24���

Operator System.Web.UI .WebControls .ValidationCompareOperator DataTypeCheck|Equal|GreaterThan

|GreaterThanEqual

|LessThan|LessThanEqual|NotEqual

���" �4���� ./( �-�� � � ��%������ �� ���

>��� E*��� D � � ����� ��-���� �� ���a

ControlToValidate �/�� % 0� A���� �,

���$��� a� ��-���� �� ���ControlToCompare

0� A���� �,B� ��

Type System.Web.UI

.WebControls

.Validatio-DataType

String|Integer|Double|Date|Currency

'�� � � ���� 3��$�� � �� ��� ���� ��� ��

�����%��� ��%���. N%� ' ��� � ��� �(��"

�� !�; ?� %F ������� ��F ������ ���� ���

��%����� � ��" A�%�;.

9, �/; ��� � ��" �� � ��" �\, W�� � �����

?�* � �91� T�����. ValueTo-Compare String N%� !�; �� F ���;

���%� �/; �4���� ./( �4���� ��%���Text '��� %4�$�

ControlToValidate

Page 107: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

107

�� $� ����- �� F E� E� B��%��� �" ?�*�"

�4����Text %4�$� %�: '���.

ControlToCompare String �-� 2Q%$>��� ID ��%��� '����� %4�$� D � B$� ��%�����N%��

� �4���� ��� F ��%���Text N%4�" �� ���

� ������ N�/ '�����ID

ControlToCompare �ControlToValidate

���� � ��"? �������CompareValidator:

]%9 '����� %4�" '����� ������ ��-���CompareValidator> D � �� '����� %4�" ��* %�� ���� ����; '������ �� 5password1 � %�: '��� %4�" ��* ������\� �(� �L� 3��";password2 . C/����� ��%; ��"N%� �� T����� T�� �� �� ��� .

<%@ Page Inherits="MSPress.MobWeb.CmpEx.CompareExample"

CodeBehind="CompareExample.aspx.cs"

Language="C#"%>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form id="Form1" runat="server">

<mobile:Label runat="server">

Your Password

</mobile:Label>

<mobile:TextBox id="password1" runat="server" password="true"/>

<mobile:Label runat="server">

Retype password

</mobile:Label>

<mobile:TextBox id="password2" runat="server" password="true"/>

<mobile:CompareValidator id="CompareValidator1"

Type="String"

Operator="Equal"

runat="server"

ErrorMessage="Passwords do not match!"

ControlToCompare="password1"

ControlToValidate="password2"/>

<mobile:Command id="Command1"

OnClick="Command1_Click" runat="server">

Submit

Page 108: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

108

</mobile:Command>

</mobile:Form>

<mobile:Form id="Form2" runat="server">

<mobile:Label runat="server">

Passwords match!

</mobile:Label>

</mobile:Form>

�, � 1���� �, ���$�� ���%��� 8��� ���� '��CompareExample.aspx.cs using System;

namespace MSPress.MobWeb.CmpEx

{

public class CompareExample :

System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.Label Label1;

protected System.Web.UI.MobileControls.TextBox password1;

protected System.Web.UI.MobileControls.Label Label2;

protected System.Web.UI.MobileControls.TextBox password2;

protected System.Web.UI.MobileControls.CompareValidator

CompareValidator1;

protected System.Web.UI.MobileControls.Command Command1;

protected System.Web.UI.MobileControls.Form Form1;

protected System.Web.UI.MobileControls.Label Label3;

protected System.Web.UI.MobileControls.Form Form2;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Command1.Click +=

new System.EventHandler(this. Command1_Click);

}

protected void Command1_Click(object sender, System.EventArgs

e)

{

if (Page.IsValid)

{

ActiveForm = Form2;

}

}

}

}

Page 109: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

109

���� ��-��� �/�� / 1���� �� �� !�" ��9��

���#� � ���� ���"?

���� � ����� ���� ��"?RangeValidator

���� ���� ��* �� F )�F� �� T����� �, �/( '����� %4�" '��� .

���� ���� �P 4���, �"�� '����� �� �/(� �( ������� 5��� C/��� ��14 �, %4�$� ����: <mobile:RangeValidator

runat="server"

id="id"

BreakAfter="{True|False}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

ForeColor="foregroundColor"

BackColor="backgroundColor"

Alignment="{NotSet|Left|Center|Right}"

StyleReference="styleReference"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

ControlToValidate="IdOfTargetControl"

Display="{None|Static|Dynamic}"

ErrorMessage="ErrorTextForSummary"

MinimumValue="minValue"

MaximumValue="maxValue"

Text="errorText"

Type="{Currency|DateTime|Double|Integer|String}">

innerText

</mobile:RangeValidator>

Page 110: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

110

D% �� �/( �"���� %4�$8J�4��� 24�� �(%,� ���� ���$�� BaseValidator?���� �(%�/ !�" ��%%� ���� . ./( !�; �,�*;

%4�$�� �/( %,� 8J�4���8J�4���� ����� � ,�*G� :

�4���� ���� 24���

MinimumValue String

� ���� �� ��� 5����� �(%,�� N/ %4�$��2Q%$>���

ControlToValidate N%� !�� B� ��

]����.

MaximumValue String

� ���� �� ��� 5����� �(%,�� N/ %4�$��2Q%$>���

ControlToValidate N%� !�� B� ��

]����. �-�� D � ���4����

MinimumValue �MaximumValue

5� � %���; ?�� F������;.

Type

System.Web.UI.WebControls.ValidationDataType

String|Integer|Double|Date|Currency

'�� � ���� 3��$��� ���� ��� ���4����

������%��� ��%��� �� ��. �� ��� � ��� �(��" '�

>��� �� !�; ?� %F ���� ��F ������ ���� �����%����� � ��" A�%�;.

� ��" �9, ��� �, ��� � ��" �\, W�� � �����

T�����?�* � �91�.

���� � ��"? �������RangeValidator:

]%9 '����� %4�" '����� ������ ��-���RangeValidator N/�� '��� %4�" ��* .�7 � g %�� ����; '������ �� 5� TextBox �D ����� !�; ��� �7 � g %�� �( ������\� ]����� � �$�� �� ��� 21 ��� B� %�� �� ?���" g %���� ��, � ���� �� ���

Page 111: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

111

1/1/1900. �4���� � J����� �� ��� A� "\� 8���� A���� / 1�� '� B�� ��( <�7�MaximumValue ���%��� 8��� ��*

RangeExample.aspx.cs. �� �� , ���%��� 8��� RangeExample.aspx <%@ Page Inherits="MSPress.MobWeb.RgeEx.RangeExample"

CodeBehind="RangeExample.aspx.cs"

Language="C#" AutoEventWireup="False" %>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form id="Form1" runat="server">

<mobile:Label runat="server">

Date of birth:

</mobile:Label>

<mobile:TextBox id="dob" runat="server"></mobile:TextBox>

<mobile:RangeValidator id="RangeValidator1" runat="server"

MinimumValue="01/01/1900"

ControlToValidate="dob"

ErrorMessage="Sorry, you are not 21.">

</mobile:RangeValidator>

<mobile:Command id="Command1" runat="server" text="Submit">

</mobile:Command>

</mobile:Form>

<mobile:Form id="Form2" runat="server">

<mobile:Label id="Label2" runat="server">

Welcome, you are over 21.

</mobile:Label>

</mobile:Form>

�, � 1���� �, ���$�� ���%��� 8��� ���� '��RangeExample.aspx.cs

using System;

namespace MSPress.MobWeb.RgeEx

{

public class RangeExample : System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.RangeValidator

RangeValidator1;

protected System.Web.UI.MobileControls.Label Label1;

protected System.Web.UI.MobileControls.TextBox dob;

protected System.Web.UI.MobileControls.Command Command1;

protected System.Web.UI.MobileControls.Form Form1;

protected System.Web.UI.MobileControls.Label Label2;

protected System.Web.UI.MobileControls.Form Form2;

override protected void OnInit(EventArgs e)

{

Page 112: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

112

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);

this.Command1.Click +=

new System.EventHandler(this. Command1_Click);

}

protected void Command1_Click(object sender, System.EventArgs

e)

{

if (Page.IsValid)

{

ActiveForm = Form2;

}

}

private void Page_Load(object sender, System.EventArgs e)

{

DateTime now = DateTime.Now;

DateTime dt21yearsago =

new DateTime(now.Year - 21, now.Month, now.Day, 0, 0,

0);

RangeValidator1.MaximumValue =

dt21yearsago.ToShortDateString();

RangeValidator1.Type =

System.Web.UI.WebControls.ValidationDataType.Date;

}

}

}

������9�� �� ��-��� �/( / 1�� �� ��:

Page 113: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

113

���#� � ���� ���"? ���� ��"?RegularExpressionValidator

H� �� �/(�� $� �P 4 T,��� ���L� ��L���� ��� �� F %������ %4�$., ��-��� � � !�$� ����; �� T����� %4�$�� �/( '����� �����

����%���� � %��� �� F� �N� %��� ��%����� ��� 'F%��.

��$�� ������ �� ?�� �$� �F� �< B��" ���� �[� !�� ���9F���� ���F ���� =%�0� � �74�� %4��" �� ?�� �$� %-�� %4�$�� �/( �$ �/( '����� %4�" '����� ��� � ��<��� % ��$��� E� 3%9���.

���� ���� �P 4���"�� �,��� %4�" '����� 'RegularExpressionValidator � ����� �( ������� 5��� C/��� ��14 �, : <mobile:RegularExpresssionValidator

runat="server"

id="id"

BreakAfter="{True|False}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

Page 114: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

114

ForeColor="foregroundColor"

BackColor="backgroundColor"

Alignment="{NotSet|Left|Center|Right}"

StyleReference="styleReference"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

ControlToValidate="IdOfTargetControl"

Display="{None|Static|Dynamic}"

ErrorMessage="ErrorTextForSummary"

Text="ErrorText">

ValidationExpression="regexp" >

innerText

</mobile:RegularExpressionValidator>

�"���� �/( '����� %4�" D% 8J�4�� 24�� �(%,� ���� ���$�� BaseValidator?���� �(%�/ !�" ��%%� ���� .

� ����� � ,�*G� �4���� %4�$�� �/( %,� 8J�4��� ./( !�; �,�*;:

�4���� ���� 24��� ValidationExpression String �� 5� N/�� ���<��� % �$��� �4���� ./( �-��B� �.

���� � ��"? �������RegularExpressionValidator:

A�9�� K$� ���%� � ��<��� ��% �$��� ����� � ��" ���� ?�%<�� �J � %,�� Visual Studio %4�" �,�*; =�� %�< S��$� RegularExpressionValidator �?������� � ��<��� ��% �$��� %-�� �� �"���� %,� .$��� �/( %�< ��9�� �� �9�9 S��:

]%9 '����� %4�" '����� ������ ��-���RegularExpressionValidator

Page 115: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

115

�� , ���%��� 8��� �� RegularExample.aspx <%@ Page Inherits="MSPress.MobWeb.RegEx.RegularExample"

CodeBehind="RegularExample.aspx.cs" Language="c#"%>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form id="Form1" runat="server">

<mobile:Label runat="server">

ZIP Code

</mobile:Label>

<mobile:TextBox id="zip" runat="server"/>

<mobile:Command id="Command1" runat="server"

OnClick="Command1_Click">

Submit

</mobile:Command>

<mobile:RegularExpressionValidator

id="RegularExpressionValidator1"

runat="server"

ErrorMessage="Invalid ZIP Code"

ControlToValidate="zip" ValidationExpression="\d{5}(-\d{4})?"/>

</mobile:Form>

<mobile:Form id="Form2" runat="server">

<mobile:Label runat="server">

Valid ZIP Code

</mobile:Label>

</mobile:Form>

��$�� ���%��� 8��� ����, � 1���� �, �� '��RangeExample.aspx.cs

using System;

namespace MSPress.MobWeb.RegEx

{

public class RegularExample :

System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.Label Label1;

protected System.Web.UI.MobileControls.TextBox zip;

protected System.Web.UI.MobileControls.Command Command1;

protected

System.Web.UI.MobileControls.RegularExpressionValidator

RegularExpressionValidator1;

protected System.Web.UI.MobileControls.Form Form1;

protected System.Web.UI.MobileControls.Label Label2;

protected System.Web.UI.MobileControls.Form Form2;

Page 116: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

116

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Command1.Click +=

new System.EventHandler(this. Command1_Click);

}

protected void Command1_Click(object sender, System.EventArgs

e)

{

if (Page.IsValid)

{

ActiveForm = Form2;

}

}

}

}

'����� %4�" �� F ��� �� ��L��� �� S���%��� �/( '�� TextBox �� �� ������ ID=zip���<��� % �$��� T��

"\d{5}(-\d{4})?".

���#� � ���� ���"? ���� ��"?CustomValidator

2��� �� �/(9��� 3%�4� � �74�� �� T����� �1 <� %,� B�0 '����� %4��" � �� �" %4�$3%.�"� � %4�$�� �/( �, A�9�;

� �74�� �� T����� �� % .

���� ���� �P 4���, �"��'��� %4�" '����� CustomValidator � ����� �( ������� 5��� C/��� ��14 �, : <mobile:CustomValidator

runat="server"

id="id"

BreakAfter="{True|False}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

ForeColor="foregroundColor"

BackColor="backgroundColor"

Alignment="{NotSet|Left|Center|Right}"

StyleReference="styleReference"

Page 117: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

117

Text="ErrorText"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

ControlToValidate="IdOfTargetControl"

Display="{None|Static|Dynamic}"

ErrorMessage="ErrorTextForSummary"

OnServerValidate="EventHandler"

Text="ErrorText">

innerText

</mobile:CustomValidator>

�"���� �/( '����� %4�" D% 8J�4��� 24�� �(%,� ���� ���$�� BaseValidator?���� �(%�/ !�" ��%%� ���� .

( �,�*; D�� %4�$�� �/( %,� 8J�4��� ./( !�; �,�*;�������: D���� ���� 24���

ServerValidate D�� S��$� �� %

N%� ��14�� �� T����� ��" D���� �/( T7 ; '����� !�" . ���$��� D���� S��$� ����

ServerValidateEventArgs S��$� !�" 5� �/� D���� ���;True!�; �� F IsValid �4����

K%P���ServerValidateEventArgs ���� �/; �� �4 T����� � ��".

�� �� ��� ��� D���� �/( S��$� ��9 � �� :

void ServerValidate (Object source, ServerValidateEventArgs args )

{

args.IsValid=false;

// Code to validate the user's input

if (validationIsSuccessful)

args.IsValid=true;

}

���� � ��"? �������CustomValidator:

]%9 '����� %4�" '����� ������ ��-���CustomValidator

�� �� , ���%��� 8���CustomExample.aspx

<%@ Page Inherits="MSPress.MobWeb.CusEx.CustomExample"

Page 118: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

118

CodeBehind="CustomExample.aspx.cs"

Language="C#"%>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form id="Form1" runat="server">

<mobile:Label runat="server">

Enter an integer

</mobile:Label>

<mobile:TextBox id="number" runat="server"/>

<mobile:CustomValidator id="CustomValidator1"

runat="server"

ErrorMessage="Not a factor of four"

ControlToValidate="number"

OnServerValidate="ServerValidate"/>

<mobile:Command id="Command1"

OnClick="Command1_Click" runat="server">

Submit

</mobile:Command>

</mobile:Form>

<mobile:Form id="Form2" runat="server">

<mobile:Label runat="server">

A factor of four.

</mobile:Label>

</mobile:Form>

�, � 1���� �, ���$�� ���%��� 8��� ���� '��RangeExample.aspx.cs

using System;

using System.Web.UI.WebControls;

namespace MSPress.MobWeb.CusEx

{

public class CustomExample :

System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.Form Form2;

protected System.Web.UI.MobileControls.Label Label1;

protected System.Web.UI.MobileControls.CustomValidator

CustomValidator1;

protected System.Web.UI.MobileControls.Command Command1;

protected System.Web.UI.MobileControls.Form Form1;

protected System.Web.UI.MobileControls.Label Label2;

protected System.Web.UI.MobileControls.TextBox number;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

Page 119: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

119

base.OnInit(e);

}

private void InitializeComponent()

{

this.Command1.Click +=

new System.EventHandler(this.Command1_Click);

this.CustomValidator1.ServerValidate +=

new ServerValidateEventHandler(this.ServerValidate );

}

protected void Command1_Click(object sender, System.EventArgs

e)

{

if (Page.IsValid)

{

ActiveForm = Form2;

}

}

protected void ServerValidate (

object source,

ServerValidateEventArgs args)

{

args.IsValid=false;

try

{

int x = Int32.Parse(number.Text);

if (x % 4==0)

{

args.IsValid=true;

}

}

catch(FormatException e)

{

// Exception may be caused by

// non-integer input on HTML clients

}

}

}

}

'��� %4�" �, ������ 'F%�� ��� �� ��L��� �� S���%��� �/( '�� TextBox !���� number( � ��$�� ��1"�*� ��4.

'����� %4�" �,�*; =%� ��� '�CustomValidator1 � �� % ��� '����� !�" � �74�� �� T����� D�� �%ServerValidate

���%��� 2���� ��* ����" � 41� '� �����CustomExample.aspx.cs

���#� � ���� ���"?

Page 120: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

120

���� ��"?ValidationSummary

'�� �� �/( �� ���� ���� 5��� C/��� ��* �������� � �74�� �� T����� %4��" E �� �� C%��� �" 8��� 3��"\� %4�$��14��.

��� H� ��� 3���� � 4� ���� ��* L � ���% � �9�� H� B��� �������� ��� � ��� �, 3% �� 3�J�, �/( '����� %4�" C%��

�� � ���3������� K%$�� ��14��� ��/ ��� ����� !�" T � ��� '���.

����� ����� �( �/( '����� %4�" ������ ���� �P 4��:

<mobile:ValidationSummary

runat="server"

id="id"

BreakAfter="{True|False}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

ForeColor="foregroundColor"

BackColor="backgroundColor"

Alignment="{NotSet|Left|Center|Right}"

StyleReference="styleReference"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

BackLabel="BackLabel"

FormToValidate="FormID"

HeaderText="HeaderText">

</mobile:ValidationSummary>

D7- ���� ��( <�7�8J�4� �( �,��L� % @ � ,�*; :

�4���� ���� 24��� BackLabel String �4���� ./�� �� F A� "; '� �/;

N%� , ��%�� 8�� �������� C/��� !�; '������ � $ N/�� �� 8��� ����; 3��"G ����G�

� ��. FormToValidate String 2Q%$>� ID N/�� C/����� T����� '�

B� �74 ��. HeaderText String ��J�F T� N/�� ����$�� �-��

A� �0�.

Page 121: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

121

N%� �, �4���� ./( �� F %��<; ���� �, ��14�� !�"� '���� ���� ��*%$����

HTML �, L � ���% �� ��F� ��*%$��WML

�� '��� %4��" N��� N/�� C/����� #1� ��* '����� %4�" E*� '� �/; !�" T����� � ��" A�%�; �$� '� � �74�� �� T���

'����� %4�" 3��"; '�����ValidationSummary �4���� ?�%�<� ErrorMessage ���� � �74�� �� T����� %4��" E ��� �4���� �� F �� � ��IsValid �( ��� False.

'����� %4�" E*� '� �/; ���ValidationSummary�P� C/��� ��* � �74�� �� T����� '��� %4��" !�" N����� W�/� %

'��� %4�" !�" P*�� D�� S��$� !�" 5� �(��$, =%�0�Command �� F %����� ��14�� ��%\� '�F N/�� IsValid ��14��� �4���� ./( �� F �� H*�� �/\, )IsValid ( �(False �4���� �� F � $� 5� , ActiveForm !�; % 9� D �� C/�����

'����� %4�" !�" N�����ValidationSummary. �4���� �� F A� "; 5� ������ ./( �,BackLabel ��� ��/ ���� D �� 7-� '������Retry.

�4���� �� F A� "; ��"BackLabel %4�$�� '�� ValidationSummary �� T����� '� N/�� C/����� E� �%��� ?� J����

B� �74.

���� � ��"? �������ValidationSummary:

]%9 '����� %4�" '����� ������ ��-���ValidationSummary

�� �� , ���%��� 8��� SummaryExample.aspx <%@ Page Inherits="MSPress.MobWeb.SumEx.SummaryExample"

CodeBehind="SummaryExample.aspx.cs"

Language="C#"%>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form id="Form1" runat="server">

<mobile:Label id="Label1" runat="server">

Your name:

</mobile:Label>

<mobile:TextBox id="userName" runat="server"/>

<mobile:Label id="Label2" runat="server" >

Password

</mobile:Label>

<mobile:TextBox id="password" runat="server" Password="True"/>

Page 122: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

122

<mobile:RequiredFieldValidator id="RequiredFieldValidator1"

runat="server"

ControlToValidate="userName"

Display="None"

ErrorMessage="Your name is required!"/>

<mobile:RequiredFieldValidator id="RequiredFieldValidator2"

runat="server"

ControlToValidate="password"

Display="None"

ErrorMessage="A password is required!"/>

<mobile:Command id="Command1" runat="server"

OnClick="Command1_Click">

Submit

</mobile:Command>

</mobile:Form>

<mobile:Form id="Form2" runat="server">

<mobile:ValidationSummary id="ValidationSummary1"

runat="server"

HeaderText="Missing Values:"

FormToValidate="Form1"

BackLabel="Retry"/>

</mobile:Form>

<mobile:Form id="Form3" runat="server">

<mobile:Label runat="server">

Error free submission.

</mobile:Label>

</mobile:Form>

�, � 1���� �, ���$�� ���%��� 8��� ���� '��SummaryExample.aspx.cs

using System;

namespace MSPress.MobWeb.SumEx

{

public class SummaryExample :

System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.Command Command1;

protected System.Web.UI.MobileControls.Form Form2;

protected System.Web.UI.MobileControls.Form Form3;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

Page 123: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

123

private void InitializeComponent()

{

this.Command1.Click +=

new System.EventHandler(this.Command1_Click);

}

protected void Command1_Click(object sender, System.EventArgs

e)

{

if (Page.IsValid)

{

ActiveForm = Form3;

}

else

{

ActiveForm = Form2;

}

}

}

}

���%��� 8��� �/( � P9� �� �� �������,��9�� !�" :

C����#� � ���� ���"? ������� ��� ���3 ��

��$� ��-��� �/( �,!�"� %��� ����" � �L�� ���%���� � %��� �����$� ����; 5� ����; C/��� ' �4� � )%���� i��� � ��� '-

�� � % � �I�� . 4�� ��9��� ���%���� � %��� �P 4 ����; �� ?�� T����� ���%��� 8��� !�" 5� H �� � �� ��� � � T�� ����

Page 124: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

124

� %��� �/�� � �������. ����G� � ��" ��F �� F ��� ������ E �� ��� �� T����� '� �� 5� W�/�. ��� �� �F� ��� � 5� )%����� 8���� i�����5 �� %-�� 1000.

��-��� �/( �, �� �" ��4��� EF����� ������� ��9:

����: <%@ Page Inherits="MSPress.MobWeb.ValEx.ValidationExample"

CodeBehind="ValidationExample.aspx.cs" Language="c#" %>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form id="Form1" runat="server">

<mobile:Label runat="server" BreakAfter="false">

E-mail address:

</mobile:Label>

<mobile:TextBox id="email1" runat="server"/>

<mobile:RequiredFieldValidator id="RequiredFieldValidator1"

runat="server"

ErrorMessage="E-mail address required"

ControlToValidate="email1"

Display="None"/>

<mobile:RegularExpressionValidator id="RegularExpressionValidator1"

runat="server"

ControlToValidate="email1"

ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-

.]\w+)*">

Not a valid e-mail address

</mobile:RegularExpressionValidator>

<mobile:Label id="Label2" runat="server" BreakAfter="false">

Re-type e-mail

</mobile:Label>

<mobile:TextBox id="email2" runat="server"/>

<mobile:RequiredFieldValidator id="RequiredFieldValidator2"

runat="server"

ErrorMessage="You must re-type e-mail"

ControlToValidate="email2"

Page 125: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

125

Display="None"/>

<mobile:CompareValidator id="CompareValidator1"

runat="server"

ErrorMessage="E-mail addresses do not match. "

ControlToValidate="email2"

ControlToCompare="email1"

Display="None"/>

<mobile:Label id="Label3" runat="server" BreakAfter="false">

Donation (min. $5)

</mobile:Label>

<mobile:TextBox id="donation" runat="server" Password="True"/>

<mobile:RequiredFieldValidator id="RequiredFieldValidator3"

runat="server"

ErrorMessage="You must enter an amount"

ControlToValidate="donation"

Display="None"/>

<!-- The RangeValidator Control requires that a maximum value is

set.

This value could represent the payment ceiling accepted by the

online payment service provider -->

<mobile:RangeValidator id="RangeValidator1"

runat="server"

ControlToValidate="donation"

Type="Currency"

MinimumValue="5"

MaximumValue="1000">

Minimum donation is $5

</mobile:RangeValidator>

<mobile:Command id="Command1" runat="server">

Donate!

</mobile:Command>

<mobile:ValidationSummary id="ValidationSummary1"

runat="server"

FormToValidate="Form1"/>

</mobile:Form>

<mobile:Form id="Form2" runat="server">

<mobile:Label id="Label4" runat="server">

Thank you for donating.

</mobile:Label>

</mobile:Form> ��, � 1���� �, ���$�� ���%��� 8��� ���:

using System;

namespace MSPress.MobWeb.ValEx

{

public class ValidationExample :

System.Web.UI.MobileControls.MobilePage

{

Page 126: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

126

protected System.Web.UI.MobileControls.Label Label1;

protected System.Web.UI.MobileControls.TextBox email1;

protected System.Web.UI.MobileControls.RequiredFieldValidator

RequiredFieldValidator1;

protected

System.Web.UI.MobileControls.RegularExpressionValidator

RegularExpressionValidator1;

protected System.Web.UI.MobileControls.Label Label2;

protected System.Web.UI.MobileControls.TextBox email2;

protected System.Web.UI.MobileControls.RequiredFieldValidator

RequiredFieldValidator2;

protected System.Web.UI.MobileControls.CompareValidator

CompareValidator1;

protected System.Web.UI.MobileControls.Label Label3;

protected System.Web.UI.MobileControls.TextBox donation;

protected System.Web.UI.MobileControls.RequiredFieldValidator

RequiredFieldValidator3;

protected System.Web.UI.MobileControls.RangeValidator

RangeValidator1;

protected System.Web.UI.MobileControls.Command Command1;

protected System.Web.UI.MobileControls.ValidationSummary

ValidationSummary1;

protected System.Web.UI.MobileControls.Form Form1;

protected System.Web.UI.MobileControls.Label Label4;

protected System.Web.UI.MobileControls.Form Form2;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Command1.Click +=

new System.EventHandler(this.Command1_Click);

}

protected void Command1_Click(object sender, System.EventArgs

e)

{

if (Page.IsValid)

{

ActiveForm = Form2;

}

}

}

}

Page 127: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

127

�3�� �� A��� � ��� �:

%"�C � E�=�� �: �0��� � ���� � 5� � U.��" ���� ���"?

������� � ����� � : '��� %4�"������ �% 9L� �P� �3% 9L� ��14�� ��4�� � D��

����: '��� %4��" ����� ./( � P� D � �'J������ �4���� 5��� C/��� '��� %4��" !�" ����� ./( �, 2%$�� ��J����

SelectionList , List , ObjectList.

������� ��!�: !�" �41�� �/( �, 5�� �� 2%$� :

• '����� %4�"SelectionList • '����� %4�"List • '����� %4�"ObjectList.

Page 128: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

128

��0�� � ���� ���"?

� P� �,-7- 2J�<� A���� �/( � '��� %4��" '���0� �� ��J�F '������ K�%@: X '��� %4�"SelectionList X '��� %4�"ListControl X '��� %4�"ObjectList. X

%4��$�� W��� �4���� 2�14�� � �%( � �� %4��" ./( ��� %��� '�1� ��4����:

�� �� , ���� � ������ ��F�%1�� '(� ��9� ��J�F �� ����� %4�"������ '����� %4��" ��:

3� ��� SelectionList List ObjectList � ����� ��J�F ��9� .%��<; ��� �� %� ��� ��J�F� ��%� �

��%� ��*%$�� !�"HTML √ X X

��%� ��� ��$� '"� √

� �"�1� % @ ����- ��J�F ��9 !�" .%��<; ��� √ √

� � �� ���$� ��J�F ��9 !�" .%��<; ��� ���F% √

Page 129: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

129

' �� � ��" '"� � 'J���� ���14 !�; �� � �� √ √

���� 3%�4� %��<G� %4��" �" H %4��� ��� √ √

���� � %�4�� �� �% ��� √ √ √

� � ��� %��<; ����� ����� � %4�" �� %-�� √

%4�" %� ��� =�� D�� T7 \� '��� √ √ √

5������ '������ 84���� %��<G� '"�� √ √

��0�� � ���� ���"?

%4�" '��� SelectionList

5�� '��� %4�" SelectionList ��� � �� 'J����� ������ ���14 !�; E ���� � ��" '"� B��� 3% P4�� 'J���� . ��� ����� ����� ��J�F ��9� ��J���� %��<; %4�$�� �/��� ��% %4��" ��J�F�%4��$�� ./( '"�� ���� ��*%$���� !�".

K%$ '����� %4�" ���� ���" �� ����� ��J�F '� ���3%(�< �� F ��� � 1�� �� F �% � ����; . ����� � ��� �7� �� �� ��� ./( �14����Value%4�$��� � ��%��� <item>� � �4���� �� F � ���DataValueField � ��%��� ��J���� ���� �, ����� � %�4�.

���� �/( '����� %4�" '����� �P 4 !�"��9��:

<mobile:SelectionList

runat="server"

id="id"

Alignment="{NotSet|Left|Center|Right}"

BackColor="backgroundColor"

BreakAfter="{True|False}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

ForeColor="foregroundColor"

StyleReference="StyleReference"

Wrapping="{NotSet|Wrap|NoWrap}"

DataMember="dataMember"

DataSource="dataSource"

DataTextField="DataTextField"

DataValueField="DataValueField"

SelectType="{DropDown|ListBox|Radio|MultiSelectListBox|CheckBox}"

Title="String"

OnItemDataBind="itemDataBindHandler"

OnSelectedIndexChanged="selectedIndexChangedHandler">

<!-- Optional statically declared list items -->

<Item Text="Text" Value="Value" Selected="{True|False}"/>

</mobile:SelectionList>

Page 130: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

130

8J�4����D���0�:

�� �� , '(� 8J�4��� � '����� %4�" ����� ���� D���0�SelectionControl

� �4�����D���� ���� 24���

DataMember String

����" �4���� ./( '��� %4�" ��� �� )�� �� K%P� ?� ��%� '�����

System.Data.DataSet ��

System.Data.DataTableObject

DataSource Object

�4���� ./( ������ K%PDataSet ��CollectionB$� �%�� '� N/��

%�4�� ?� ��%� '����� %4�" ��� ����"���� �.

DataTextField String

%4�" �% ��� �, K%P� '����� DataSet� � K%P�Collection ���� �4����DataTextField ����� '�

��* ��J���� ��* B�� ���� %�<� N/������ ��� %�4�.

DataValueField String

K%P� '����� %4�" �% ��� �,DataSet� � K%P�Collection ���� �4����DataValueField ����� '� �� N/���� '��� ���� ��� ' F ��* B�� ��

��* %4�" �� E� � ��%��� � 1������J����

Items System.Web.UI.MobileControls

.MobileListItemCollection

K%@ !�; ��4��� �4���� ./( %,��MobileListItemCollection

K�%@� E �� N��� N/��

System.Web.UI.MobileControls.

MobileListItem $���������� ��J���� K�%@� �" 3%�.

Rows Integer

'� ����"���; ListBox ��MultiSelectListBox !�; �4����

SelectTypeN%� � �4���� '����� Rows � ���� �� � J%��� 2�14�� ��"

'����� %4�"� ��*%$���� �, W�/

Page 131: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

131

'"�� ����HTML �CHTML

SelectedIndex Integer

� 3��"\� '����� ���%������ %4�$�� � �� . �, '����� %4�" ��� ��� �, ���

��$���� %� ��� � $*�N%� , 3��"; %������ ��0� %4�$�� � ��.

Selection MobileListItem

%������ %4�$�� K%@ 3��"\� '����(� ���� ��MobileListItem� �� $�

null%4�" N� %� ��� '� '� ��� �, .

SelectType

System.Web.UI.

MobileControls. ListSelectType

DropDown|ListBox|Radio|

MultiSelectList-Box|CheckBox

%��<; �� �4���� ./( ����� �, ��J���%������ ���� K%$���� '"� ���.

Title String

��*%$�� !�" %�< N/�� ����$��WML.

'�"�� % @ ����$�� �/(�, �� � �$�� ��*%$��WML

D����ItemDataBind D�� S��$� �� %

����D���� S��$� �� % '� OnItemDataBind(Object Sender ,

ListDataBindEventsArgs e)

N%� ����" D���� �/( T7 ; N%� ���� � %�4� E� '����� %4�" �%.

� ��" N%�� D���� �/( T7 ; 3��"; ��" ��J���� !�; %4�" �,�*;.

D����SelectedIndexChanged

D�� S��$� �� %

'� �/;���"; '����� %4�" SelectionList %� ��� � $*�� ��$��

� ����� T7 ; N%� �� �, D���� �/( 3%�N%���� , � ��" E� C/����� ��%;

%������ %4�$�� �, % P�.

���� � ��"? �������SelectionControl: '�����/(�� 3% 9L��� '������ ��J���� %4��" � ��� ����� %4�$<item>� %4�$�� �/�� �4���� 3% 9L��� ��* � �%��� %4�$

���� � %�4��. �4���� �7� �� �/( '����� %4�" �� � ��� ����� SelectType D � %�<� �1������ ���0� ?�$�� ���� K%$���� '"� .

Page 132: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

132

��C�1: � � � ��-���'����� %4�" '����� �����:

<%@ Page Inherits="MSPress.MobWeb.SelListEx.ExampleWebForm"

Language="c#"

CodeBehind=" SingleSelectionListExample.aspx.cs"%>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form runat="server" id="Form1">

<mobile:Label runat="server" StyleReference="title" id="Label1">

Season 2003 results

</mobile:Label>

<mobile:Label runat="server" id="Label2">Select a

team:</mobile:Label>

<mobile:SelectionList SelectType="ListBox"

id="SelectionList1" runat="server">

<item Text="Dunes" Value="Posn:1 Pl:38 Pts:80"/>

<item Text="Phoenix" Value="Posn:2 Pl:38 Pts:70"/>

<item Text="Eagles" Value="Posn:3 Pl:38 Pts:69"/>

<item Text="Zodiac" Value="Posn:4 Pl:38 Pts:68"/>

</mobile:SelectionList>

<mobile:Command runat="server" id="Command1">

Get Stats!

</mobile:Command>

</mobile:Form>

<mobile:Form runat="server" id="Form2">

<mobile:Label runat="server" id="Label3">Team Full

Stats:</mobile:Label>

<mobile:Label runat="server" id="Label4"/>

</mobile:Form>

Page 133: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

133

'�� � �/��� A�9�\� T���� ���%��� 8���:N��� '���� ��J�F ��0�SelectionList ��* ���" � ,�*; �����$� %�<�

�14����Value �� � ��%��� 3% 9L��<Item>.

�� �� , � 1���� �, ���$�� 8��� SingleSelectionListExample.aspx.cs

using System;

namespace MSPress.MobWeb.SelListEx

{

public class ExampleWebForm :

System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.Label Label4;

protected System.Web.UI.MobileControls.SelectionList

SelectionList1;

protected System.Web.UI.MobileControls.Command Command1;

protected System.Web.UI.MobileControls.Form Form2;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Command1.Click +=

new System.EventHandler(this.HandleTeamSelection);

}

private void HandleTeamSelection(Object source, EventArgs args)

{

// Display the Stats page

this.ActiveForm = Form2;

String selectedTeamStats = SelectionList1.Selection.Value;

Label4.Text = SelectionList1.Selection + ": "

+ selectedTeamStats;

}

}

}

��C�2:

�� ��-��� �/( 3��"; ������� ����; ' ������$���� %� ��� ���9�� !�" ����-� H�4 : <%@ Page Inherits="MSPress.MobWeb.MultSelListEx.ExampleMobileWebForm"

Language="c#" CodeBehind="multipleselectionlistexample.aspx.cs"%>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Page 134: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

134

Assembly="System.Web.Mobile" %>

<mobile:Form runat="server" id="Form1">

<mobile:Label runat="server" StyleReference="title">

Season 2003 results

</mobile:Label>

<mobile:Label runat="server">Select 2 or more teams:</mobile:Label>

<mobile:SelectionList SelectType="MultiSelectListBox"

id="SelectionList1" runat="server">

<item Text="Dunes" Value="Posn:1 Pl:38 Pts:80"/>

<item Text="Phoenix" Value="Posn:2 Pl:38 Pts:70"/>

<item Text="Eagles" Value="Posn:3 Pl:38 Pts:69"/>

<item Text="Zodiac" Value="Posn:4 Pl:38 Pts:68"/>

</mobile:SelectionList>

<mobile:Command runat="server" id="Command1">

Compare Stats!

</mobile:Command>

</mobile:Form>

<mobile:Form runat="server" id="Form2">

<mobile:Label runat="server">Teams Full Stats:</mobile:Label>

<mobile:TextView runat="server" id="TextView1"/>

</mobile:Form>

� 1���� �, ���$�� ���%��� 8��� ������ ,:

using System;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.MultSelListEx

{

public class ExampleMobileWebForm :

System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.TextView TextView1;

protected System.Web.UI.MobileControls.SelectionList

SelectionList1;

protected System.Web.UI.MobileControls.Command Command1;

protected System.Web.UI.MobileControls.Form Form2;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Command1.Click +=

new System.EventHandler(this.HandleMultiTeamSelection);

}

protected void HandleMultiTeamSelection(Object source,EventArgs

Page 135: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

135

args)

{

this.ActiveForm = Form2;

// Get the list items collection.

MobileListItemCollection colItems = SelectionList1.Items;

String strDisplaytext = "";

foreach (MobileListItem item in colItems)

{

if (item.Selected)

{

strDisplaytext += (item.Text + ": " + item.Value +

"<BR>");

}

}

TextView1.Text = strDisplaytext;

}

}

}

D � 5 �%��� '������ ���Fforeach 3%������ %4��$�� �� T����� ��(%��<;.

%�<� � �$��� �$� ��-��� / 1�� �� ���, ��������� ��9�� :

Page 136: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

136

��C�2: ������ ��-��� ����� '����� %4�$� �% � ��" E� ������ 3%�1�� #1� SelectionList ���� � %�4� E� ��( B�-� N/��� K%P��

array ���� �� ArrayList:

<%@ Page Inherits="MSPress.MobWeb.DBListEx.ExampleWebForm"

Language="c#"

CodeBehind="DataboundListExample.aspx.cs" AutoEventWireup="False"

%>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form runat="server" id="Form1">

<mobile:Label id="Label1" runat="server" StyleReference="title">

Season 2003 results

</mobile:Label>

<mobile:Label id="Label2" runat="server">

Select 2 or more teams:

</mobile:Label>

<mobile:SelectionList id="SelectionList1" runat="server"

DataValueField="Stats" DataTextField="TeamName"

SelectType="MultiSelectListBox">

</mobile:SelectionList>

<mobile:Command id="Command1" runat="server">

Compare Stats!

</mobile:Command>

</mobile:Form>

<mobile:Form runat="server" id="Form2">

<mobile:Label id="Label3" runat="server">Teams Full

Stats:</mobile:Label>

<mobile:TextView id="TextView1" runat="server"></mobile:TextView>

</mobile:Form>

��, � 1���� �, ���$�� ���%��� 8��� ���:

using System;

using System.Collections;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.DBListEx

{

public class ExampleWebForm :

System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.TextView TextView1;

protected System.Web.UI.MobileControls.SelectionList

SelectionList1;

protected System.Web.UI.MobileControls.Command Command1;

protected System.Web.UI.MobileControls.Form Form2;

Page 137: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

137

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);

this.Command1.Click +=

new System.EventHandler(this.HandleMultiTeamSelection);

}

private void Page_Load(Object sender, EventArgs e)

{

if (!IsPostBack)

{

ArrayList array = new ArrayList();

array.Add(new TeamStats("Dunes", "Posn:1 Pl:38

Pts:80"));

array.Add(new TeamStats("Phoenix", "Posn:2 Pl:38

Pts:70"));

array.Add(new TeamStats("Eagles", "Posn:3 Pl:38

Pts:69"));

array.Add(new TeamStats("Zodiac", "Posn:4 Pl:38

Pts:68"));

SelectionList1.DataSource = array;

SelectionList1.DataBind();

}

}

private void HandleMultiTeamSelection(

Object source, EventArgs args)

{

this.ActiveForm = Form2;

// Get the list items collection.

MobileListItemCollection colItems = SelectionList1.Items;

String strDisplaytext = "";

foreach (MobileListItem item in colItems)

{

if (item.Selected)

{

strDisplaytext += (item.Text + ": " + item.Value +

"<br/>");

}

}

TextView1.Text= strDisplaytext;

}

}

class TeamStats

{

Page 138: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

138

private String teamName, stats;

public TeamStats(String teamName, String stats)

{

this.teamName = teamName;

this.stats = stats;

}

public String TeamName { get { return this.teamName; } }

public String Stats { get { return this.stats; } }

}

}

��0�� � ���� ���"?

'��� %4�"List

�� �/( B�9 '��� %4�" %4�$SelectionList?���� B�9F���� ���F N/�� � '����� %4�" �� T%1� List ��J���� C%� ' �� � ��" '"�

%��<G� ��9�9 ��/ �������� 3���0� !�" �� � �� 'J����� ���� �, 3% �� 3�J�, '�� ��� ���14 3�" !�;���� ����G� 3�����.

� �"�1� % @� � �"�1� 'J��F K%$� ��@%�� ���� �, ?�* � %4�$�� �/( '����� ����� . �"�1��� 'J����� ���� �, %� !�; ����� ��� � '����� !�; ��� ��� ��%; � ��$� 8��� %���� =�� ���� ��� ��%; � ��" �/( '����� %4�" !��� /; �%4��$�� ��� %� ���.

'����� %4�" '"� List ������ )��� � ��%��� 3��$���� ������� ���%� ���� �, ?����� �/( '����� %4�" �$� ��� 5������

��'����.

����� ����� �( �/( '����� %4�" '������ �4���� �P 4��: <mobile:List

runat="server"

id="id"

Alignment="{NotSet|Left|Center|Right}"

BackColor="backgroundColor"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

ForeColor="foregroundColor"

StyleReference="StyleReference"

Wrapping="{NotSet|Wrap|NoWrap}"

DataMember="dataMember"

DataSource="dataSource"

DataTextField="DataTextField"

DataValueField="DataValueField"

Decoration="{None|Bulleted|Numbered}"

Page 139: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

139

ItemsAsLinks="{False|True}"

ItemCount="itemCount"

OnItemDataBind="onItemDataBindHandler"

OnItemCommand="onItemCommandHandler"

OnLoadItems="loadItemsHandler">

<!-- Optional statically declared list items -->

<Item Text="Text" Value="Value" Selected="{True|False}" />

</mobile:List>

�� �"���� =%� ��� �/( '����� %4�" '�� 8J�4������(� %�/� D���0�� :

DataMember String ������� %4�" ���%� ��" �4���� ./( '��� �/( '�-� ���� � %�4�� K%@DataSet

��DataTable . ��* ������ '� ���� D � K%@DataSet '����� %4�" �% 5� N/��

B�. DataSource Object ���� � %�4�� %4�$�� �/( ���%� ��" � ./( ����

K%@ �4����Collection� �DataSet �-� ���� ��� %�4�.

DataTextField String ���"K%P� ?� ��%� '����� %4�" ��� �

DataSet� �Collection '� �4���� ./( ���� .%��<; '� N/�� ���� ��� %�4� ��* �����

��J���� ��*. DataValueField String K%P� ?� ��%� '����� %4�" ��� ����"

DataSet� �Collection '� �4���� ./( ���� N/�� ���� ��� %�4� ��* �����'�� ' ���

��J���� %4��" �� %4�" ��� � ��%��� � 1����. Decoration System.Web.UI

.MobileControls.

ListDecoration

None|Bulleted|Numbered

'"�� ���� ��*%$���� !�" �4���� ./( ����HTML��J���� %4��" %��<; ��9 .

ItemsAsLinks False | True �4�� ��� �, '���� ����" � ' F '����� � %Text �Value 8� ���-�� ��J���� �, %4�" ��� ���%�� ����URLB� 8���� . ��"�� F ���� �4���� ./( True '��

?3%9��� ������� K%$���� ������ %�4��� !�; � %� %� ��� D�� N� � ���

ItemCount Integer �4���� ./( � $��� %4��$� ������ ��$��J����.

Page 140: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

140

D����ItemCommand D���� S��$� �� % '� %��� ����" .I�"��� 5����� D���� S��$� ��� � $� ��� �, ; ��J���� �� %4�" '������

�4���� �� FItemsAsLinks !�; True

D����LoadItems D���� S��$� �� % '� %4��" � ��� ������ ��" D���� �/( T7 ; '� ������ ��� %�4� �� ��J���� !�; 3�.

!�; ' ���� � ����; � $1� ��" 3��" � ��$�� ./( '�� T7 ��� � ��� � ��" �� T,�%�� D � ���14

D���� �/��.

���� � ��"? �������List: � � $*�� %4�$�� �/( '����� ��� B�� ?���� ��%�/:

X � �"�1��� % @ � $*��� :� $*��� ./( �, '� %��<;%� ��� !�" 3%���� ��� ��J���� %4��" . %��<G� ��9 � ��� ��( ��� �4���� '������Decoration.� D���� S��$�� �� F � ��� '�" 5� ItemCommand������ ./( �, .

X � �"�1��� � $*��� :'� ��� �, D���� S��$�� �� F � $� ItemCommand N%� � ����� %4��" �� %4�" �� ��J�� ��%�B �" %���� ��" D���� S��$� A�"���� '�� .

��-�1: H*� �/( '����� %4�" '����� ������ ��-���:

<%@ Page Inherits="MSPress.MobWeb.ListItmCmd.MyWebForm" Language="c#"

CodeBehind="ListItemCommandExample.aspx.cs"%>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form runat="server" id="Form1">

<mobile:Label runat="server" id="Label1" StyleReference="title">

Season 2003 results

</mobile:Label>

<mobile:Label runat="server" id="Label2">Select a

team:</mobile:Label>

<mobile:List runat="server" id="List1">

<item Text="Dunes" Value="Posn:1 Pl:38 Pts:80"/>

<item Text="Phoenix" Value="Posn:2 Pl:38 Pts:70"/>

<item Text="Eagles" Value="Posn:3 Pl:38 Pts:69"/>

<item Text="Zodiac" Value="Posn:4 Pl:38 Pts:68"/>

</mobile:List>

</mobile:Form>

<mobile:Form runat="server" id="Form2">

<mobile:Label runat="server" id="Label3" StyleReference="title">

Team Full Stats:

</mobile:Label>

<mobile:Label runat="server" id="Label4" />

</mobile:Form>

Page 141: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

141

�, � 1���� �, ���$�� ���%��� 8��� ����: using System;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.ListItmCmd

{

public class MyWebForm : System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.List List1;

protected System.Web.UI.MobileControls.Label Label4;

protected System.Web.UI.MobileControls.Form Form2;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.List1.ItemCommand += new

ListCommandEventHandler(this.ClickTeamSelection);

}

private void ClickTeamSelection(

Object source,

ListCommandEventArgs args)

{

// Display the Stats page

this.ActiveForm = Form2;

String strSelectedTeamStats = args.ListItem.Value;

Label4.Text = args.ListItem.Text

+ ": " + strSelectedTeamStats;

}

}

}

���$��� �7� �� %������ %4�$�� � ���� ���F ���� ���%��� 8��� �, <�7�args D���� S��$� !�; .% %�� '� N/�� ClickTeamSelection� �� ���� 8��� !�; ��4��� ��� D � '����� i 4��args.ListItem.Value �args.ListItem.Text

��-��� �/( � P9� �� �� ���� !�"��� ��9�����:

Page 142: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

142

� �� : ��� ����� J / ����� �������: '����� %4�" #�$�SelectionList 24�� �� �/( '����� %4�" %��� PagedControl !�; ' ���� �4�� '"� B�� N�

���14. �� ��� A� "; 5� �4���� ./( � $1��True �4���� Paginate � �, '����� %4�" N��� N/�� C/����List.

�, ���14 !�; ��[� ' ���� � $1� ���N%� %��<G� 3%�F 5�� ���14 !�; ��J���� C%� ' �� �� �4���������. �, ���������14 !�; 84���� ' ���� ���$�� , � �4���� !�; �� F A� "; 5� ItemCount %4��$�� �� ������ ��$�� A� "G

���14�� �� %�" .%��<; ��� N/��. %4�" '�� 3� �� ��14 �� 5� ��"� ���14 !�; ' ����� '����� N%� D�� T7 ; LoadItems.

��-�:

H*� 3%�1�� ./( ������ ��-���: <%@ Page Inherits="MSPress.MobWeb.CusPag.ExampleWebForm" Language="c#"

CodeBehind="CustomPaginationExample.aspx.cs" AutoEventWireup=

"False" %>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

Page 143: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

143

<mobile:Form runat="server" id="Form1" paginate="true">

<mobile:Label runat="server" StyleReference="title">

Season 2003 results</mobile:Label>

<mobile:List id="List1" runat="server"></mobile:List>

</mobile:Form>

��, � 1���� �, ���%��� 8��� ���:

using System;

using System.Collections;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.CusPag

{

public class ExampleWebForm :

System.Web.UI.MobileControls.MobilePage

{

private TeamStats[] _premierTable;

protected System.Web.UI.MobileControls.List List1;

public ExampleWebForm()

{

// In the constructor, create the data source we will use.

_premierTable = new TeamStats[16];

_premierTable[0] = new TeamStats("Dunes", "Pts:80");

_premierTable[1] = new TeamStats("Phoenix", "Pts:70");

_premierTable[2] = new TeamStats("Eagles", "Pts:69");

_premierTable[3] = new TeamStats("Zodiac", "Pts:68");

_premierTable[4] = new TeamStats("Arches", "Pts:66");

_premierTable[5] = new TeamStats("Chows", "Pts:61");

_premierTable[6] = new TeamStats("Creation", "Pts:57");

_premierTable[7] = new TeamStats("Illusion", "Pts:54");

_premierTable[8] = new TeamStats("Torpedo", "Pts:52");

_premierTable[9] = new TeamStats("Generals", "Pts:52");

_premierTable[10] = new TeamStats("Reaction","Pts:51");

_premierTable[11] = new TeamStats("Peanuts", "Pts:49");

_premierTable[12] = new TeamStats("Caverns", "Pts:48");

_premierTable[13] = new TeamStats("Eclipse", "Pts:42");

_premierTable[14] = new TeamStats("Dragons", "Pts:42");

_premierTable[15] = new TeamStats("Cosmos", "Pts:42");

}

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

Page 144: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

144

this.Load += new System.EventHandler(this.Page_Load);

this.List1.LoadItems +=

new LoadItemsEventHandler(this.LoadTeams);

}

private void Page_Load(Object sender, EventArgs e)

{

// Tell the List how many items it can expect by the time

// it has asked for them all.

List1.ItemCount = _premierTable.Length;

}

private void LoadTeams(Object source, LoadItemsEventArgs args)

{

List1.Items.Clear();

// The LoadItemsEventArgs tells us which items and how

many.

for (int i = 0; i < args.ItemCount; i++)

{

// Get the relevant item from the array;

// Create a MobileListItem.

int intTablePosn = args.ItemIndex + i;

MobileListItem lstItem = new MobileListItem(

string.Format("{0} {1}",intTablePosn+1,

_premierTable[intTablePosn].TeamName),

_premierTable[intTablePosn].Stats);

// Add the item to the Items collection of the List

control.

List1.Items.Add(lstItem);

}

}

}

class TeamStats

{

private String teamName, stats;

public TeamStats(String teamName, String stats)

{

this.teamName = teamName;

this.stats = stats;

}

public String TeamName

{ get { return this.teamName; } }

public String Stats

{ get { return this.stats; } }

}

}

Page 145: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

145

���������� ��9��� �� �9 ��-��� �/( / 1�� �� ��:

��0�� � ���� ���"? '��� %4�"List

�� �/( B�9 '��� %4�" %4�$SelectionList?���� B�9F���� ���F N/�� � '����� %4�" �� T%1� List� ��" '"� ��J���� C%� ' ��

%��<G� ��9�9 ��/ �������� 3���0� !�" �� � �� 'J����� ���� �, 3% �� 3�J�, '�� ��� ���14 3�" !�;���� ����G� 3�����.

� �"�1� % @� � �"�1� 'J��F K%$� ��@%�� ���� �, ?�* � %4�$�� �/( '����� ����� . ����� ��� � �"�1��� 'J����� ���� �, %� !�;'����� !�; ��� ��� ��%; � ��$� 8��� %���� =�� ���� ��� ��%; � ��" �/( '����� %4�" !��� /; �%4��$�� ��� %� ���.

'����� %4�" '"� List ������ )��� � ��%��� 3��$���� ������� ���%� ���� �, ?����� �/( '����� %4�" �$� ��� 5������

'������.

����� ���� � ��"? ��List:

� � $*�� %4�$�� �/( '����� ��� B�� ?���� ��%�/: X � �"�1��� % @ � $*��� : � $*��� ./( �, '� %��<;%� ��� !�" 3%���� ��� ��J���� %4��" . %��<G� ��9 � ��� ��( ���

�4���� '������Decoration.� D���� S��$�� �� F � ��� '�" 5� ItemCommand������ ./( �, . X � �"�1��� � $*��� :'� ��� �, D���� S��$�� �� F � $� ItemCommand N%� � ��� ��J���� %4��" �� %4�" ��

��%�B �" %���� ��" D���� S��$� A�"���� '�� .

� �� : ��� ����� J / ����� �������:

'����� %4�" #�$�SelectionList'����� %4�" %��� 24�� �� �/( PagedControl !�; ' ���� �4�� '"� B�� N� ���14.

�� ��� A� "; 5� �4���� ./( � $1��True �4���� Paginate � �, '����� %4�" N��� N/�� C/����List. ���14 !�; ��[� ' ���� � $1� ��� �,N%� %��<G� 3%�F 5�� ���14 !�; ��J���� C%� ' �� �� �4���������.

�, ���������14 !�; 84���� ' ���� ���$�� , � �4���� !�; �� F A� "; 5� ItemCount %4��$�� �� ������ ��$�� A� "G ���14�� �� %�" .%��<; ��� N/��.

3� �� ��14 �� 5� ��"� ���14 !�; ' ����� '����� %4�" '�� N%� D�� T7 ; LoadItems.

Page 146: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

146

� � ���� ���"?��0� ���� ��"?ObjectList

�� �/( %��$ %4�$ �%4�"?�� �� ��J��� ���� � %�4� �� ���� ��� %��<; ��0� B,�( ���%��� � �9 � '������ %� ��� ��"� =%�� 3� �" ���� %��<\� '�� ��J���� ./( %4��" ���.

!�; �,�*G���T������ %���0�� T�$�� 3� � '����� %4�" %,� ��J���� �, %4�" ��� �� �% ��� �. ��J���� ./( �% ?�* � ���

B �" %���� '� N/�� %4�$�� 5�� 2���� =%�� ��J�F %4��$�. '����� %4�" E� ����� �( ���List '����� %4�" '"� ObjectList 5������ ����14 !�; ' ����.

H*�� �/( '����� %4�" '����� � ����� �P 4��:

<mobile:ObjectList

runat="server"

id="id"

Alignment="{NotSet|Left|Center|Right}"

BackColor="backgroundColor"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

ForeColor="foregroundColor"

StyleReference="StyleReference"

Wrapping="{NotSet|Wrap|NoWrap}"

AutoGenerateFields="{True|False}"

CommandStyle="StyleReference"

DataMember="dataMember"

DataSource="dataSource"

DefaultCommand="onDefaultCommandHandler"

ItemCount="itemCount"

LabelField="fieldname"

LabelStyle="StyleReference"

OnItemDataBind="onItemDataBindHandler"

OnItemCommand="onItemCommandHandler"

OnLoadItems="loadItemsHandler">

OnShowItemCommands="onShowItemCommandsHandler"

TableFields="tableFields">

<!-- Optional explicitly declared fields -->

<Field

id="id"

Title="titleText"

DataField="value"

FormatString="formatString"

Visible="{True|False}" />

</Field>

Page 147: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

147

<!-- Optional explicitly declared commands -->

<Command Name="CommandName" Text="CommandText" />

</mobile:ObjectList>

H*� '(� ������ ������8J�4����/( '����� %4�" ����� ���� D���0�� : � �4�����D���� ���� 24���

AllFields

System.Web.UI.

MobileControls.

ObjectListFieldCollection

K%@ �� ��� ./( � $�ObjectListFieldCollection

.ObjectListField '� ��� ��� %4�" !�; ���� ��� %�4� �� B�,�*;

'�����ObjectList B1 %$� '� A�� 3% 9L��� '������<Field>� � � ���

�4����Fields���%��� 8��� ��* .�� '���� �� W�8J�4� ������

� �,�*; E �� �� ��� 3�������� ����;�"������ ./( �� ���

AutoGenerateFields

True|False

E �� %��<G '����� %4�" ���"\� '���

K%@ �� ������DataSet.

BackCommandText

String

� � $�� '���� '������ 8��� 3��"; ��* ��%��$��� 8���� %��<; �� 3��

� J%�� ��J���� !�; � 4�1���.

Commands

System.Web.UI.

MobileControls. ObjectList-

Command-Collection

K%@ 3��"\� '���ObjectListCommandCollection

K%@ ��� D �ObjectListCommand ./( ��*

3% 9L���� 2%$ %4�" ��� �"������<command>�; B�,�*; '� 8��� !

���%���.

CommandStyle

�������� ���0� �� H��4 ���,

StyleSheet

'������ ���� �4���� ./( � $�3���0� !�" %���0� %4��" %��<G. � � ?� J���� �4���� ./( � ��� '�

5� �� E� �� �* 5� W�/� ���� ��� ��1 %$� �( W�/� �*,0� �� % ��

�" �P 4 ��* ��� �� '����� %4

Page 148: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

148

'�����.

DataMember

String

'����� %4�" ��� ����" �, '���� K%P� ?� ��%�DataSet� � K%@

DataTable. '� �4���� ./( ���� K%@ ��* ������DataSet N/��

B� '����� %4�" �% '� .

DataSource

Object

K%P�� '�DataSet� � K%@Collection��9 N/�� %�4�

���� ���

DefaultCommand

String

%4�$�� �� F �J���� ��9� ��J���� %�<� �4����� 3������LabelField !�"

��$9� ���%� ��9 . �/( %� ��� �9�9 !�; '������ /�L ���%� �/�� � ,�*; ���� %�<� =%��

%4�$��. �4���� � $� '� �/;

DefaultCommand 8��� ��* ��%��� �� %4�" %� ��� � ��" �\, �

D���� T7 \� '�� ��J����OnItemCommand �� F % %�� E�

B �; ./( �4���� . �< B�� '�$�� E� %4�$�� � 4�1� !�; ��4��� ������\�

��4��� �7� ��More � %�<� ���� %���� %4��" N� !�; �74��� 3�/����

��1 %$�� ��F =%��.

Details

System.Web.UI.

MobileControls.Panel

'��� %4�" 3��"\� �4���� ./( '���Panel � 4�1� %��<; �, '������ %4��$�� . '��� ����" � ��" �4���� ./(

5������ T � ��� 8J�4� � $� � %� ��* B$*�� ��F N/�� '����� %4�"

5�����. ObjectList1.Details

.FindControl(“ControlID”);

DetailsCo mmandText

String

� � $�� �4���� ./( '���� 8��� 3��"; %��<\� '�� N/�� ��%�� '������

� 4�1��� �9�9 . �4���� ./( '����

Page 149: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

149

��*%$�� E�WML �, .

Fields

ObjectListFieldCollection

�4���� �4���� ./( B�9�AllFields . K%@ 3��"\� '��� D �

ObjectListFieldCollection N/�� K%@ N��� ObjectListField ���

B�,�*; ��� ���� ��� %�4� �, ��� '����� %4�" !�;ObjectList N/��

3% 9L��� '����� B1 %$� '�<Field> �� '������ ���%��� 8��� T % �"

�4����Fields. �4���� #�$�AllFields 3�$���

�4���� ./( � ��� ��� �, 3A�%��� �,�*;� T% '������ ���� ����;

K%P��ObjectListFieldCollection

ItemCount

Integer

' ���� ���� �, �4���� ./( '���� ���� D �� ���14 !�; 84���� %�4� ��* %4��$�� ������ ��$��

���� ���DataSet. !�� � 5� �4���� ./( '����

�4�� �*Form.Paginate !�; �� ���True

LabelField

String

N/�� ���� ��� %�4� �, ����� '� ������� � ��� B������ '� .

���� ��J���� ��� ��0� � ���� ��� '������ %�<�� %� ���� �� , '��

B� 4�1� %�<�� %4�$��. �4���� '���LabelFieldIndex

� ��$1�� #1� ' ����� � ���� ���� �������� ��* �"�AllFields

LabelStyle

String

� 3��"\� '���� '������ ���� � $�� �%��� %��<G. <,��� �4���� ./(

W�/� 3%%����� ���� �� � � ���� F !�" ��� ����- �� F !�" �<,����� �, ����,

(� '����� %4�" �P 4 ��* ��1 %$�

Page 150: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

150

'����� ��� ��.

MoreText

String

$�� '���� � � '������ 8��� 3��"; ��%��More ��*%$�� !�"

HTML. SelectedIndex

Integer

� 3��"\� '���� %4�$�� � ���� � $�%������.

Selection

System.Web.UI.

MobileControls.

ObjectListItem

� %������ %4�$�� 3��"\� '���� �� ���null%4�" N� %� ��� '�" ��� �, .

TableFields

String; ���41� ������ A��� �� ��J�F

� ���� ��4�1�

�4���� �� F � $�� '�� '� �/;TableFields !�" ��J���� %��<; '�

�, ���� ���� ���" �� ����� ���� �4����� ������ ����� ' F ��

LabelField. �4���� � $�� ��F �/;

DefaultCommand � ������ ���� '"� �� ���$�� �/( ���� ������

������ ����� ' F �( !��0� � �� F �4�����LabelField !�; �,�*;

��%��More. �4���� �� F A� "\� ���F �/;

TableFields %4�" �� � -�� '� 3��"0� E� ���� '������ ��J���� �� �4���� ./( ��* ������� �,%$���

B , %�<� ��� !�; �,�*;More H��� ������ E �� � I% !�; ��4����

%4�$��� �4����.

ViewMode

System.Web.UI.

MobileControls.

ObjectListViewMode

List|Commands|Details

�� �$��� E*� � $�� �4���� ./( H�� %4�$��ObjectList. /�L� �� ���

' ��� �4���� ./(: X List %��<\� '��� ����

���� %4��" �, � J%�� ��J. X Details � 4�1� %��<\� '���

%������ %4�$��. X Commands �(%��<; '�

Page 151: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

151

��/ 3���0� !�" �, 2������� 3% P4�� ��9�9��

��������� !��0� �9�9�� �( %� ��� �$� ��*%" '� ���� D � �� %4�$� '������

%4��" �� ����� ��J�F %�<�<Command> !�; �,�*;

�; ���%� � 41��� �� �$��� !. ��J���� �� %4�" %� ��� '������ !�" �4���� !�; ��4���� B� ]���� ��F

ViewMode

D����ItemCommand

D���� S��$� �� % '�

.I�"��� '� N/�� D���� S��$� ��� �� %4�" %� ���� '������ '�� ����" ��� � 4�1� %��<\� � ��%��� %���0�

�$��%4�. 3% 9L��� '������ %���0� 2 %$� '�

<Command>� � E� ���$��� �7� �� �4���� �(���� ���� �"������

Commands

D����LoadItems

D���� S��$� �� % '�

� $� '� � � 5�� � D���� �/( �4����ItemCount ' ���� � $1��

���14 !�; 84���� . T � ��� '�� �$� A�"���� 3%� �� �, �/( D���� S�

3� �� ���� � 5� '� . �/( H� %4�" !�; ���� ��� % %��� D����

5� �� 5� '�����. % %�� �" ?�*�" 3���� �$,� ���� ��� ��.

D����ShowItemCommands

D���� S��$� �� % '�

.I�"��� '� N/�� D���� S��$� ��� %4�" � 4�1��� %��<; '� ����"

�%���0�� �4���� �74��� � �9�. �,�*; ��� �/( D���� S��$� �,

��� %���� 2/�� %���0� �� ��J�F A���.%��<; '� N/�� %4�$��.

Page 152: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

152

���� � ��"? �������ObjectList: '����� %4�" B �I �� ��� �� T�1� ���"0� �� �"���� A��� �� �/( '����� %4�" ��� List.

� 2J�<��� '(� ��� '� ��� �/( '����� %4�$� ��� ���� '��� %4�" �7� �� ��� �L� ��� List�( : 1 X ���� � %�4� �� ���� 3�" %��<;. 2 X ���� ���" �� ��J��� �(%��<; �" ?�*�" ���� ��* %4��$�� %��<;. 3 X ��J���� �� %4�$�� #1�� ��%� %�� �� %-�� � ���. 4 X � 3��$���� ��%� ��� %���� 3�" � �����J���� �. 5 X � ���- �1 <�� ���� 3�" %��<; � ����; E� � �� ��� %��<;.

8�� ��-� ��* ��������� '��� ��� ��� ./( �� �� H *���:

1; ��"�� ���� $� ���� �? ��86/:

<%@ Page Inherits="MSPress.MobWeb.ObjListEx.MyWebForm" Language="c#"

CodeBehind="ObjectListExample.aspx.cs" AutoEventWireup="False" %>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form runat="server" >

<mobile:Label runat="server" StyleReference="title">

Season 2003 results</mobile:Label>

<mobile:ObjectList id="ObjectList1" runat="server">

AutoGenerateFields="false">

<Field Title="Team" DataField="TeamName"></Field>

<Field Title="Won" DataField="Won"></Field>

<Field Title="Drawn" DataField="Drawn"></Field>

<Field Title="Lost" DataField="Lost"></Field>

<Field Title="Pts" DataField="Points" Visible="false"></Field>

</mobile:ObjectList>

</mobile:Form>

��, � 1���� �, ���%��� 8��� ���: using System;

using System.Collections;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.ObjListEx

{

public class MyWebForm : System.Web.UI.MobileControls.MobilePage

{

protected ObjectList ObjectList1;

override protected void OnInit(EventArgs e)

Page 153: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

153

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);

}

private void Page_Load(Object sender, EventArgs e)

{

if (!IsPostBack)

{

ArrayList array = new ArrayList();

array.Add(new TeamStats("Dunes",1,38,24,8,6,80));

array.Add(new TeamStats("Phoenix",2,38,20,10,8,70));

array.Add(new TeamStats("Eagles",3,38,20,9,9,69));

array.Add(new TeamStats("Zodiac",4,38,20,8,10,68));

ObjectList1.DataSource = array;

ObjectList1.LabelField = "TeamName";

ObjectList1.DataBind();

}

}

}

class TeamStats

{

private String _teamName;

private int _position, _played, _won, _drawn, _lost, _points;

public TeamStats(String teamName,

int position,

int played,

int won,

int drawn,

int lost,

int points)

{

this._teamName = teamName;

this._position = position;

this._played = played;

this._won = won;

this._drawn = drawn;

this._lost = lost;

this._points = points;

}

public String TeamName { get { return this._teamName; } }

public int Position { get { return this._position; } }

public int Played { get { return this._played; } }

Page 154: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

154

public int Won { get { return this._won; } }

public int Drawn { get { return this._drawn; } }

public int Lost { get { return this._lost; } }

public int Points { get { return this._points; } }

}

} 2; ���� ���? $� ��0��� �!��86/ $? -�=�? ���� $�= ���"� � ��86/.

<%@ Page Inherits="MSPress.MobWeb.ObjListTblEx.MyWebForm" Language="c#"

CodeBehind="ObjectListTableExample.aspx.cs" AutoEventWireup="False"

%>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form runat="server"

<mobile:Label runat="server" StyleReference="title">

Season 2003 results</mobile:Label>

<mobile:ObjectList id="ObjectList1"

runat="server"

AutoGenerateFields="true"

TableFields="TeamName;Position;Points">

</mobile:ObjectList>

</mobile:Form>

3; ��0�� � $� ��"� � S�" *��� ��� $� �C�� ���4�.

<%@ Page Inherits="MSPress.MobWeb.ObjListCmdsEx.MyWebForm"

Language="c#"

CodeBehind="ObjectListItemCommandsExample.aspx.cs"

AutoEventWireup="False" %>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form runat="server" id="Form1">

<mobile:Label runat="server" StyleReference="title">

Season 2003 results</mobile:Label>

<mobile:ObjectList id="ObjectList1" runat="server"

AutoGenerateFields="false"

LabelField="TeamName">

<Field Title="Team" DataField="TeamName"></Field>

<Field Title="Won" DataField="Won"></Field>

<Field Title="Drawn" DataField="Drawn"></Field>

<Field Title="Lost" DataField="Lost"></Field>

<Field Title="Points" DataField="Points"></Field>

Page 155: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

155

<Field Title="Champs. Cup" DataField="ChampionsCup"

Visible="false">

</Field>

<Field Title="Inter-City Cup" DataField="InterCup"

Visible="false">

</Field>

<Command Name="ChampsCup" Text="Champions Cup"/>

<Command Name="InterCityCup" Text="Inter-City Cup"/>

</mobile:ObjectList>

</mobile:Form>

<mobile:Form runat="server" id="Form2">

<mobile:Label runat="server" StyleReference="title">

Season 2003 European Results</mobile:Label>

<mobile:Label runat="server" id="Label1"/>

<mobile:Link runat="server" NavigateUrl="#Form1">

Back

</mobile:Link>

</mobile:Form>

��, � 1���� �, ���%��� 8��� ���: using System;

using System.Collections;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.ObjListCmdsEx

{

public class MyWebForm : System.Web.UI.MobileControls.MobilePage

{

protected ObjectList ObjectList1;

protected Form Form2;

protected Label Label1;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);

this.ObjectList1.ItemCommand +=

new

ObjectListCommandEventHandler(this.Team_OnItemCommand);

}

private void Page_Load(Object sender, EventArgs e)

{

Page 156: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

156

if (!IsPostBack)

{

ArrayList array = new ArrayList();

array.Add(new TeamStats("Dunes",1,38,24,8,6,80,

"Quarter Finals",""));

array.Add(new TeamStats("Phoenix",2,38,20,10,8,70,

"Quarter Finals",""));

array.Add(new TeamStats("Eagles",3,38,20,9,9,69,

"","Winners"));

array.Add(new TeamStats("Zodiac",4,38,20,8,10,68,

"Semi Finals",""));

ObjectList1.DataSource = array;

ObjectList1.LabelField = "TeamName";

ObjectList1.DataBind();

}

}

private void Team_OnItemCommand(

Object sender,

ObjectListCommandEventArgs e)

{

Label1.Text = "Did Not Compete"; //Default

this.ActiveForm = Form2;

if (e.CommandName == "ChampsCup")

{

// Set the label to the Champions Cup result.

if (e.ListItem["ChampionsCup"] != "")

Label1.Text = "Champions Cup: " +

e.ListItem["ChampionsCup"];

}

else if (e.CommandName == "InterCityCup")

{

// Set the label to the Inter-City Cup result.

if (e.ListItem["InterCup"] != "")

Label1.Text = " Inter-City Cup: " +

e.ListItem["InterCup"];

}

}

}

class TeamStats

{

private String _teamName;

private int _position, _played, _won, _drawn, _lost, _points;

private String _champsCup, _interCup;

public TeamStats(String teamName,

int position,

int played,

int won,

Page 157: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

157

int drawn,

int lost,

int points,

String championsCup,

String interCup)

{

this._teamName = teamName;

this._position = position;

this._played = played;

this._won = won;

this._drawn = drawn;

this._lost = lost;

this._points = points;

this._champsCup = championsCup;

this._interCup= interCup;

}

public String TeamName { get { return this._teamName; }}

public int Position { get { return this._position; }}

public int Played { get { return this._played; }}

public int Won { get { return this._won; }}

public int Drawn { get { return this._drawn; }}

public int Lost { get { return this._lost; }}

public int Points { get { return this._points; }}

public String ChampionsCup { get { return this._champsCup; }}

public String InterCup{ get { return this._interCup; }}

}

}

4; ��0�� � $� ����� � ������� ����� �? ���4�.

<%@ Page Inherits="MSPress.MobWeb.ObjListShowItems.MyWebForm"

Language="c#"

CodeBehind="ObjectListOnShowItemsExample.aspx.cs"

AutoEventWireup="False" %>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form runat="server" id="Form1">

<mobile:Label runat="server" StyleReference="title">

Season 2003 results</mobile:Label>

<mobile:ObjectList id="ObjectList1" runat="server"

AutoGenerateFields="true"

LabelField="TeamName">

<Command Name="ChampsCup" Text="Champions Cup"/>

<Command Name="InterCityCup" Text="Inter-City Cup"/>

</mobile:ObjectList>

</mobile:Form>

Page 158: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

158

<mobile:Form runat="server" id="Form2">

<mobile:Label runat="server" StyleReference="title" id="Label1"/>

<mobile:Label runat="server" id="Label2"/>

<mobile:Link runat="server" NavigateUrl="#Form1">

Back

</mobile:Link>

</mobile:Form>

���9�� /�L � 1���� �, ���%��� 8���: using System;

using System.Collections;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.ObjListShowItems

{

public class MyWebForm : System.Web.UI.MobileControls.MobilePage

{

protected ObjectList ObjectList1;

protected Form Form2;

protected Label Label1;

protected Label Label2;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);

this.ObjectList1.ItemCommand += new

ObjectListCommandEventHandler(this.Team_OnItemCommand);

this.ObjectList1.ShowItemCommands += new

ObjectListShowCommandsEventHandler(this.SetItemCommands);

}

private void Page_Load(Object sender, EventArgs e)

{

// Not shown

// As in previous example

}

private void Team_OnItemCommand(

Object sender,

Page 159: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

159

ObjectListCommandEventArgs e)

{

this.ActiveForm = Form2;

if (e.CommandName == "ChampsCup")

{

// Set the label to the Champions Cup result.

Label1.Text = "Champions Cup 2003";

Label2.Text = e.ListItem["ChampionsCup"];

}

else if (e.CommandName == "InterCityCup")

{

// Set the label to the Inter-City Cup result.

Label1.Text = "Inter-City Cup 2003";

Label2.Text = e.ListItem["InterCup"];

}

}

private void SetItemCommands(

Object sender,

ObjectListShowCommandsEventArgs e)

{

// Remove either the Champions Cup or Inter-City Cup

// command if the team didn't compete (if field is blank).

if (e.ListItem["ChampionsCup"] == "")

e.Commands.Remove("ChampsCup");

if (e.ListItem["InterCup"] == "")

e.Commands.Remove("InterCityCup");

}

}

class TeamStats

{

private String _teamName;

private int _position, _played, _won, _drawn, _lost, _points;

private String _champsCup, _interCup;

public TeamStats(String teamName,

int position,

int played,

int won,

int drawn,

int lost,

int points,

String championsCup,

String interCup)

{

this._teamName = teamName;

this._position = position;

this._played = played;

this._won = won;

Page 160: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

160

this._drawn = drawn;

this._lost = lost;

this._points = points;

this._champsCup = championsCup;

this._interCup= interCup;

}

public String TeamName { get { return this._teamName; }}

public int Position { get { return this._position; }}

public int Played { get { return this._played; }}

public int Won { get { return this._won; }}

public int Drawn { get { return this._drawn; }}

public int Lost { get { return this._lost; }}

public int Points { get { return this._points; }}

public String ChampionsCup { get { return this._champsCup; }}

public String InterCup{ get { return this._interCup; }}

}

}

���� ��"?ObjectList:

( �/( '����� %4�"� � �� ��J��� ���� � %�4� �� ���� ��� %��<; ��0� B,�( ���%��� � �9 %4�"� '������ %� ��� ��"=%�� 3� �" ���� %��<\� '�� ��J���� ./( %4��" ���.

� �% ��� ���� %���0�� T�$�� 3� � '����� %4�" %,� �/( !�; �,�*G����J���� �, %4�" ��� �. ��J���� ./( �% ?�* � ��� B �" %���� '� N/�� %4�$�� 5�� 2���� =%�� ��J�F %4��$�.

'����� %4�" E� ����� �( ���List '����� %4�" '"� ObjectList 5������ ����14 !�; ' ����.

Page 161: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

161

�3�� �� A��� � ��� �:

B �C � E�=�� �: � ���"?�F�F��(� � ���� ������� � ����� � :

D�� ��4�� ��14�� �3% 9L� �% 9L� �P� ������ �'��� %4�" .

����: ������ ���� ��� ��� '(�� �(���"; � 1 � !�"� �44���� '����� %4��" K$� E� ���$��� � 1 � !�" ����� ./( �, 2%$�� .

'��� %4��" ����� ./( � P�MobileCheckBox� MobileMultiLineInput �MobileDynamicImageControl

������� ��!�:

!�" �41�� �/( �, 5�� �� 2%$� : • '����� %4�"MobileCheckBox • '����� %4�"MobileMultiLineInput • '����� %4�"MobileDynamicImageControl.

Page 162: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

162

����� � ���� � ���"? �������

�� �� % -��� ��*�� EF���� ����http: //www.asp.net� %� � ��F �� �(I��� '� ���� '����� %4��" �� � �$�� � ����� ����� ���� '����� %4��" �"���� !�;������ ASP.NET Mobile����� � � ��* %4��$�� ./( '������ '��� 2 �, .

��� ��� %& ����Visual Studio:

�4���� % � ��� �J � ���$�� ��� �,Visual Studio� ����� ���%��� )���� %4��$�� ./( �,�*G �1� :

%� %� ���� 'F '-Browse � '����� %4�$� %1��� 8��� �" %�$ N/�� 2���� A�����

Page 163: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

163

���*� � �0� ������� ��? � �� %& ���Visual Studio :

5� ������ ��* � $ ����� ��1���� g� ������ ./( �, /bin 2�� � ��� !�; E�%��� �,�*; '- ��� T � ���� 8���� aspx.

'����� %4�" ���� �, ?7-�,MobileCheckBox��9�� �� 2�*��� % �$��� ��� : <%@ Register TagPrefix="mobCB" Namespace="MobileCheckbox"

Assembly="MobileCheckbox" %> �P 4��� �/( '����� %4�" '����� ����� �(�$��

<mobCB:Checkbox id="Checkbox1" runat="server" …></mobCB:Checkbox>

X

���� � ��"?MobileCheckBox

'����� %4�" � �: �/( '����� %4�" '�� CheckBox ��*%$�� !�" ��$�� �4�� � ����; E� � ��$�� HTML �CHTML

�WML.

� � �1������ ��*%$���� !�" �/( '����� %4�" %�< 2 � ������ ��9��.

Page 164: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

164

�/( '����� %4�" �� 3��1�7��� �,�*; �7� �� W� � � ���"; �� <device> 3% 9L� ��* <mobileControls> 2�� �, ���"G�web.config:

<configuration>

<system.web>

<mobileControls>

<device name="MobileCheckboxHtmlDeviceAdapter"

inheritsFrom="HtmlDeviceAdapters">

<control name="MobileCheckbox.Checkbox,MobileCheckbox"

adapter="MobileCheckbox.HtmlCheckboxAdapter,MobileCheckbox"/>

</device>

<device name="MobileCheckboxWmlDeviceAdapter"

inheritsFrom="WmlDeviceAdapters">

<control name="MobileCheckbox.Checkbox,MobileCheckbox"

adapter="MobileCheckbox.WmlCheckboxAdapter,MobileCheckbox"/>

</device>

<device name="MobileCheckboxChtmlDeviceAdapter"

inheritsFrom="ChtmlDeviceAdapters">

<control name="MobileCheckbox.Checkbox,MobileCheckbox"

adapter="MobileCheckbox.ChtmlCheckboxAdapter,MobileCheckbox"/>

</device>

</mobileControls>

</system.web>

</configuration>

� ����� �P 4�� �/( '����� %4�" '��� :

<%@ Register TagPrefix="mobCB" Namespace="MobileCheckbox"

Assembly="MobileCheckbox" %>

<mobCB:Checkbox

runat="server"

Page 165: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

165

id="id"

Alignment="{NotSet|Left|Center|Right}"

BackColor="backgroundColor"

BreakAfter="{True|False}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

ForeColor="foregroundColor"

StyleReference="StyleReference"

Wrapping="{NotSet|Wrap|NoWrap}"

AutoPostBack="{True|False}"

Checked="{True|False}"

OnCheckedChanged="EventHandlerMethodName"

TextAlign="{Left|Right}"

Text="LabelText"

</mobCB:Checkbox>

� � � � ������ ������8J�4����/( '����� %4�" ���"� ���� D���0�� :

� �4�����D���� ���� 24��� AutoPostBack True|False � � $�� '���� ���� ���� �� ��� 3��";

��� �/; �� ,��%; N%� ���� %���� ��" '����� !�; '����� %4�"

%4�$���/( !�".���� �� ��� J������ �( �4���� ./�� �False

� ��*%$�� !�" ��� � � ��� Html �, .

��� �, �4���� ./�� ���� �� ���False %4�" ���� !�; C����

C/����� ��%; � ��$� '�� � %�:'����� !�;.

Checked True | False � � $�� '���� ���� ���� �� ��� 3��"; ?�%���� '����� %4�" ��� �/; �� ,

�,���� E*�����J. TextAlign System.Web.UI.We

bControls.TextAlign

Left|Right

� ���� �4���� ./( '����� '� 3�/���� %4�$� ��%��� 8��'�����.

Text String � � $�� �4���� ./( '����� 3��"; %4�" E� ��%��� 8��� �� F

Page 166: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

166

�/( '�����. D����CheckedChanged $� �� % D���� S�� D���� S��$� �� % '� � $�

D � ��" D���� �/( T7 ; '� �4���� �� F % P�Checked.

�/( '����� %4�" '����� H*� ������ ��-���:

<%@ Register TagPrefix="cc1" Namespace="MobileCheckbox"

Assembly="MobileCheckbox" %>

<%@ Page language="c#" Codebehind="default.aspx.cs"

Inherits="MSPress.MobWeb.CheckboxEx._default"

AutoEventWireup="false" %>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form id="Form1" runat="server" title="Facts about Wales">

<mobile:Label id="Label3" runat="server" StyleReference="title">

Facts about Wales:</mobile:Label>

<mobile:Label id="Label2" runat="server">

True or False?:</mobile:Label>

<cc1:Checkbox id="Checkbox1" runat="server"

Text="Capital is Cardiff"></cc1:Checkbox>

<cc1:Checkbox id="Checkbox2" runat="server"

Text="Highest mountain is Snowdon"></cc1:Checkbox>

<cc1:Checkbox id="Checkbox3" runat="server"

Text="Favorite sport is rugby"></cc1:Checkbox>

<mobile:Command id="Command1" runat="server">Next</mobile:Command>

</mobile:Form>

<mobile:Form id="Form2" runat="server" title="Result">

<mobile:Label id="Label1" runat="server"

StyleReference="title">Result</mobile:Label>

<mobile:Label id="result" runat="server">Label</mobile:Label>

</mobile:Form>

��, � 1���� �, ���%��� 8��� ���:

using System;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.CheckboxEx

{

public class _default : System.Web.UI.MobileControls.MobilePage

{

protected MobileCheckbox.Checkbox Checkbox1;

protected System.Web.UI.MobileControls.Command Command1;

protected System.Web.UI.MobileControls.Form Form2;

protected MobileCheckbox.Checkbox Checkbox2;

protected MobileCheckbox.Checkbox Checkbox3;

Page 167: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

167

protected System.Web.UI.MobileControls.Label result;

protected System.Web.UI.MobileControls.Form Form1;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Command1.Click +=

new System.EventHandler(this.Command1_Click);

}

private void Command1_Click(object sender, System.EventArgs e)

{

int correct = 0;

if (Checkbox1.Checked) correct++;

if (Checkbox2.Checked) correct++;

if (Checkbox3.Checked) correct++;

result.Text = "You got " + correct.ToString() + " correct";

ActiveForm = Form2;

}

}

}

'����� %4�" � �: �/( '����� %4�" '�� CheckBox ��*%$�� !�" ��$�� �4�� � ����; E� � ��$�� HTML �CHTML �WML.

���� � ��"?MobileCheckBox %4�" '�� '����� %4�" � �: �/( '�����CheckBox ��*%$�� !�" ��$�� �4�� � ����; E� � ��$�� HTML �CHTML

�WML. � � �1������ ��*%$���� !�" �/( '����� %4�" %�< 2 � ������ ��9��.

Page 168: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

168

�/( '����� %4�" �� 3��1�7��� �,�*; �7� �� W� � � ���"; �� <device> 3% 9L� ��* <mobileControls> 2�� �, ���"G�web.config:

<configuration>

<system.web>

<mobileControls>

<device name="MobileCheckboxHtmlDeviceAdapter"

inheritsFrom="HtmlDeviceAdapters">

<control name="MobileCheckbox.Checkbox,MobileCheckbox"

adapter="MobileCheckbox.HtmlCheckboxAdapter,MobileCheckbox"/>

</device>

<device name="MobileCheckboxWmlDeviceAdapter"

inheritsFrom="WmlDeviceAdapters">

<control name="MobileCheckbox.Checkbox,MobileCheckbox"

adapter="MobileCheckbox.WmlCheckboxAdapter,MobileCheckbox"/>

</device>

<device name="MobileCheckboxChtmlDeviceAdapter"

inheritsFrom="ChtmlDeviceAdapters">

<control name="MobileCheckbox.Checkbox,MobileCheckbox"

adapter="MobileCheckbox.ChtmlCheckboxAdapter,MobileCheckbox"/>

</device>

</mobileControls>

</system.web>

</configuration>

Page 169: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

169

� ����� �P 4�� �/( '����� %4�" '��� : <%@ Register TagPrefix="mobCB" Namespace="MobileCheckbox"

Assembly="MobileCheckbox" %>

<mobCB:Checkbox

runat="server"

id="id"

Alignment="{NotSet|Left|Center|Right}"

BackColor="backgroundColor"

BreakAfter="{True|False}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

ForeColor="foregroundColor"

StyleReference="StyleReference"

Wrapping="{NotSet|Wrap|NoWrap}"

AutoPostBack="{True|False}"

Checked="{True|False}"

OnCheckedChanged="EventHandlerMethodName"

TextAlign="{Left|Right}"

Text="LabelText"

</mobCB:Checkbox>

Page 170: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

170

� � � � ������ ������8J�4����/( '����� %4�" ���"� ���� D���0�� : � �4�����D���� ���� 24���

AutoPostBack True|False � � $�� '������� �� ��� 3��"; ���� ���� �/; �� ,��%; N%� ����

%���� ��" '����� !�; '����� %4�"%4�$���/( !�".���� �� ���

�( �4���� ./�� � J������False � ��*%$�� !�" ��� � � ���

Html �, . ��� �, �4���� ./�� ���� �� ���False %4�" ���� !�; C����

C/����� ��%; � ��$� '�� � %�:!�;'����� .

Checked True | False � � $�� '���� ���� ���� �� ��� 3��"; ?�%���� '����� %4�" ��� �/; �� ,

���� E*��� �,��J. TextAlign System.Web.UI.We

bControls.TextAlign

Left|Right

� ���� �4���� ./( '����� '� 3�/���8��� %4�$� ��%��� '�����.

Text String � � $�� �4���� ./( '����� 3��"; %4�" E� ��%��� 8��� �� F

�/( '�����. D����CheckedChanged D���� S��$� �� % D���� S��$� �� % '� � $�. '�

�� F % P� ��" D���� �/( T7 ; �4����Checked.

H*� �/( '����� %4�" '����� ������ ��-���:

<%@ Register TagPrefix="cc1" Namespace="MobileCheckbox"

Assembly="MobileCheckbox" %>

<%@ Page language="c#" Codebehind="default.aspx.cs"

Inherits="MSPress.MobWeb.CheckboxEx._default"

AutoEventWireup="false" %>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form id="Form1" runat="server" title="Facts about Wales">

<mobile:Label id="Label3" runat="server" StyleReference="title">

Page 171: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

171

Facts about Wales:</mobile:Label>

<mobile:Label id="Label2" runat="server">

True or False?:</mobile:Label>

<cc1:Checkbox id="Checkbox1" runat="server"

Text="Capital is Cardiff"></cc1:Checkbox>

<cc1:Checkbox id="Checkbox2" runat="server"

Text="Highest mountain is Snowdon"></cc1:Checkbox>

<cc1:Checkbox id="Checkbox3" runat="server"

Text="Favorite sport is rugby"></cc1:Checkbox>

<mobile:Command id="Command1" runat="server">Next</mobile:Command>

</mobile:Form>

<mobile:Form id="Form2" runat="server" title="Result">

<mobile:Label id="Label1" runat="server"

StyleReference="title">Result</mobile:Label>

<mobile:Label id="result" runat="server">Label</mobile:Label>

</mobile:Form>

��, � 1���� �, ���%��� 8��� ���:

using System;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.CheckboxEx

{

public class _default : System.Web.UI.MobileControls.MobilePage

{

protected MobileCheckbox.Checkbox Checkbox1;

protected System.Web.UI.MobileControls.Command Command1;

protected System.Web.UI.MobileControls.Form Form2;

protected MobileCheckbox.Checkbox Checkbox2;

protected MobileCheckbox.Checkbox Checkbox3;

protected System.Web.UI.MobileControls.Label result;

protected System.Web.UI.MobileControls.Form Form1;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Command1.Click +=

new System.EventHandler(this.Command1_Click);

}

private void Command1_Click(object sender, System.EventArgs e)

{

int correct = 0;

if (Checkbox1.Checked) correct++;

if (Checkbox2.Checked) correct++;

Page 172: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

172

if (Checkbox3.Checked) correct++;

result.Text = "You got " + correct.ToString() + " correct";

ActiveForm = Form2;

}

}

}

'����� %4�" � �: �/( '����� %4�" '�� CheckBox ��*%$�� !�" ��$�� �4�� � ����; E� � ��$�� HTML �CHTML �WML.

���� � ��"?MobileMultiLineInput

�������� '����� %4��" ��L� % 0� ��$�� 8� ����; �1 <� %4�$�� �/( '�� . �� � �� 5� �� ���� ��� � ��� E ��% ����� �� 3

�J�%�� ��� � �� �4������ %������/( '����� %4�" �� 3��1.

Page 173: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

173

>�*� � ���?/: B�� ��%�/ ����� 2���� �* �7� �� T � ��� ���"; �� ��� Web.config

<configuration>

<system.web>

<compilation debug="true">

<assemblies>

<add assembly="MLIC" />

</assemblies>

</compilation>

<mobileControls>

<device name="MMITTextInputHtmlDeviceAdapter"

inheritsFrom="HtmlDeviceAdapters">

<control name="MMIT_Sample.MultiLineInput,MLIC"

adapter="MMIT_Sample.HtmlMultiLineInputAdapter,MLIC"/>

</device>

</mobileControls>

</system.web>

</configuration>

� ����� ��, �/( '����� %4�" ������ ���� �P 4�� ���: <%@ Register TagPrefix="mobMLI" Namespace="MMIT_Sample"

Assembly="MLIC" %>

<mobMLI:MultiLineInput

runat="server"

id="id"

Alignment="{NotSet|Left|Center|Right}"

BackColor="backgroundColor"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

ForeColor="foregroundColor"

StyleReference="StyleReference"

Wrapping="{NotSet|Wrap|NoWrap}"

MaxLength="maxlength"

Numeric="{True|False}"

Password="{True|False}"

OnTextChanged="textChangedEventHandler"

Size="textBoxLength"

Text="Text"

Title="Text"

Rows="{number of rows}"

Cols="{number of columns}" >

</mobMLI:MultiLineInput>

Page 174: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

174

� � �� � �4�� �/( '����� %4�" %,� <�7� ���: �4���� ���� 24���

Rows Integer

2�14�� ��" �4���� ./( ����%4�$�� �/�� �(%��<; '� ����. !�" �4���� ./( T � � '�

��*%$��HTML �,

Cols Integer ���� 3��"0� ��" �4���� ./( ����

%4�$�� �/�� �(%��<; '� .

�/( '����� %4�" '����� H*� ������ ��-���: <%@ Register TagPrefix="cc1" Namespace="MMIT_Sample" Assembly="MLIC" %>

<%@ Page language="c#" Codebehind="default.aspx.cs"

Inherits="MSPress.MobWeb.MLICExample._default"

AutoEventWireup="false" %>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile " %>

<mobile:Form id="Form1" runat="server" BackColor="PaleTurquoise">

<mobile:Label id="l" runat="server"

text="Multiline Text Input Sample"></mobile:Label>

<cc1:MultiLineInput id="MultiLineInput1" runat="server"

Cols="25" Rows="5" MaxLength="125"></cc1:MultiLineInput>

<mobile:Label id="Result" runat="server"

Text="Input text is: <empty>"></mobile:Label>

<mobile:Command id="Command1" runat="server"

Text="Get the text!"></mobile:Command>

</mobile:Form>

�, � 1���� �, ���%��� 8��� ���� �������:

using System;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.MLICExample

{

public class _default : System.Web.UI.MobileControls.MobilePage

{

protected MMIT_Sample.MultiLineInput MultiLineInput1;

protected System.Web.UI.MobileControls.Label Result;

protected System.Web.UI.MobileControls.Command Command1;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

Page 175: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

175

private void InitializeComponent()

{

this.Command1.Click +=

new System.EventHandler(this.Command1_Click);

}

private void Command1_Click(object sender, System.EventArgs e)

{

Result.Text = "Input text is: "+ MultiLineInput1.Text;

}

}

}

���� � ��"?MobileDynamicImage

/; � %� ��� W�%� ���9� �/( '����� %4�" �� �, �"� T���� ��� ������� T � ��� ��* %�4�� '����� �� ���� ��� �����B�P9�.

�-� ��1���� �� �1���� ���� '"�� �1������ ��*%$���� )���� �L� ?���� ��%�/JPG�GIF�WBMP �PNG ...g�;. �/( �, %� G� �"� '����� %4�" MobileDynamicImage �, 3���� 3%�4 /�� ��� ���� N/�� 3%�4�� �� !�; � P9��� ��� �,

������ ������ B�"� .

����� ���� � ����� '(��� �/(�( '����� %4�$: X � ���� 5����� 3%�4�� �� H �4��5��� ��9� ��� ��� X %�4�� ���� '"�GIF� JPEG� WBMP� PNG X K%$�� �9�9 '�� 5�� � ?� J���� 3%�4�� ��$�� % P� X � ��$� '�� �J���3%� �� %-�� �(I�9�; '� D �� 3������ 3%�4�� X N���%�� ���%�� !�; ������� 3%�4�� � ��� � ��� '"� X ' �4��� ��� �� �$�� ���� '"� %,� � �, ���� '"�Visual Studio.

Page 176: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

176

>�*� � ���?/: 2�� ��* �4�� �����"; !�; ����Web.config��� ������ 8�� 'J��� N� '��� �/( '����� %4�" �0 . > ���� �*1

%�4�� E*�� 8�� �*�%�,� ���� ���� ��. 2���� !�; 8��� �/( �,�*; ��� W�/� Web.config

<appSettings>

<add key="MobileDynamicImagePath"

value="c:\inetpub\wwwroot\dynimg\" />

<add key="MobileDynamicImageURL" value="http://Myserver/dynimg/" />

</appSettings>

D �2Q%$> MobileDynamicImagePath� %�4��� 8���� ������ �J� � 1�� %���� 2Q%$> MobileDynamicImageURL (�� T,� %�����>�Z%$ �, 2IIS.

���� �P 4 �/( '����� %4�" '�����!�"��9�� :

<%@ Register TagPrefix="mobDI" Namespace="MobileDynamicImage"

Assembly=" MobileDynamicImage" %>

<mobDI:MobileDynamicImage

runat="server"

id="id"

Alignment="{NotSet|Left|Centre|Right}"

BackColor="backgroundColor"

BreakAfter="{True|False}"

Font-Bold="{NotSet|False|True}"

Font-Italic="{NotSet|False|True}"

Page 177: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

177

Font-Name="fontName"

Font-Size="{NotSet|Normal|Small|Large}"

ForeColor="foregroundColor"

StyleReference="StyleReference"

Visible="{True|False}"

Wrapping="{NotSet|Wrap|NoWrap}"

AlternateText="AltText"

ImageUrl="masterImageSource"

NavigateUrl="targetURL"

SoftkeyLabel="softkeyLabel"

AutoConvert="{True|False}"

AutoSizeImage="{True|False}"

DynamicImageSource="string"

ScalePercent="{0-100}"

ScaleBasedOn="{ScreenWidth|ScreenHeight}"

ImageBrightness=

"{Auto|Very_Light|Light|Medium|Dark|Very_Dark}"

ImageDitherMethod="{ThreshHold|Matrix|Floyd_Steinberg}"

MaintainAspectRatio="{True|False}" >

</mobDI:MobileDynamicImage >

H*� '����� %4�" 8J�4� ������ ������MobileDynamicImage:

AutoConvert True | False

��� �, ���;True!�; �� ��� ./( ���� �J���� � ��� � ��" '��

5������ %4�" 2%4� ; '��� %4�$� �/( '�����Image

N��".

AutoSizeImage True | False

�4���� ./( �� F ���� �/; True 5�� 3%�4�� ��$�� � �$� '� !�" ?�����"� '������ ������

�4����ScaleBasedOn � �4����ScalePercent.

DynamicImageSource String

!�; %���� �" �4���� ./( %�$�� 3%�4��� !�" 3%�4�� ����"

5���.

ScalePercent Integer

�� ������ �, �� F0 !�; 100. ��� �,�; ��True!�; �� F �4����AutoSizeImage '�

./( '������ 3%�4�� ��$�� % P��� ����� �4����

Page 178: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

178

ScaleBasedOn

ScaleBasedOn

MobileDynamicImage.

ScaleBasedOnType

ScreenWidth|ScreenHeight

'� �/; ���;True!�; AutoSizeImage '� �� ���

?�����"� 3%�4�� '�� % P� !�" !�; �,�*; �4���� ./(

ScalePercent.

ImageBrightness

MobileDynamicImage.

Brightness

Auto|Very_Light|Light|

Medium|Dark|Very_Dark

3%�4�� 3A�*G� ��%� ����%�4���.

ImageDitherMethod

MobileDynamicImage.

DitherMethod

ThreshHold|Matrix

|Floyd_Steinberg

�, �������� ������� � ��� � ���%�4�� � ���.

MaintainAspectRatio True | False

� $� '� �/; �4���� ./( !�; True�� % P� � ��" '�� '

��� !�" �<,����� E� 3%�4�� K%$�� !�; ��40� �� ��

��40�.

�� �� , �/( '����� %4�" '����� H*� � ��-� : <%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<%@ Page language="c#"

Inherits="System.Web.UI.MobileControls.MobilePage %>

<%@ Register TagPrefix="cc1" Namespace="MobileDynamicImage"

Assembly="MobileDynamicImage" %>

<mobile:Form id="Form1" runat="server">

<cc1:DynamicImage id="DynamicImage1" runat="server"

ImageBrightness="Light" ImageDitherMethod="Floyd_Steinberg"

DynamicImageSource=

"C:\Inetpub\wwwroot\MobileDynamicImageExample\BestBuys1.JPG">

</cc1:DynamicImage>

</mobile:Form>

Page 179: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

179

Page 180: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

180

�3? M��� � ��� �:

� ���� � ����*� � ������� ��"�� � �?��< J / ���� �

������� � ����� � : � �J7" ����� � 3�"�F ����%��� 8��� ���4�� ����� � �T � �.

����: �� C���� %a %������ 3A�%a��� ��a�� ��� Wa�� '���� A�� ���� ��� �"��F !�; ��4��� !�; ��� � ��� �� �(% P� �������� ��� � �� �$�����.

�%a�� ��(� %�� a Ea� K�%a@0� ./( �� K%@ �� T,���� ��4�� �/( � �L�� �������� K�%@0� ����� ./( �, sF����1������.

������� ��!�:

!�" �41�� �/( �, 5�� �� 2%$� : • �, ���� ��� !�; ��4��� '��1�ASP.NET • �� %4��� ���� ��� �% • K�%@�ADO.NET ��������� T% • �7�� ��� ��������������� �� % .

Page 181: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

181

��"�� � J / ���� �

��� � � 5�@� ���$��ASP.NET E� ���9� 2�������� ��� � �% ��� /; %4��" ����� �( ��� ���� ��� %��4�� �������� '����� �-� '����� %4��" �,SelectionList�� List ��ObjectList.

�� ��� � ����%@� K E� ���$��� ���� ���Collection�� ArrayList�� System.Data.DataSet �

��System.Data.DataTable.

%��$�ADO.NET ��4��� �� ��� �� D��0� � ��� ��%9 ��F �� �(% � � '� ���� ���� ��� !�;Microsoft � � ����� ./( ����'��� �(� ���$���� '�F0� � ����� �" ?7 �� ADO���� ��� �� % -��� ���1 ��� �;� K%P�� �/( '����� ����G�� ��� �� /; �

3� ���� � ����� B���� N/�� A��0��.

����� � ��"�� � *� ������� %& %ASP.NET

� *���� ������ �, ��*�%$��� ���F ���� ��-�0� �� � �$�� ������ �, ��� �*� '� �������� 5��� C/��� ���14 �, ���� ���� �4�� ��% �$� 3% 9L���<% #.... %>.

��� ��� %4��" !�; ��4���� ��@%�� ��" ?����� ���� �/( %��$ .4�� ./( '����� ��� W�/�� ����� K�%@0� T ���� �P :

X �� �; '����� %4��" �% '� ���� ���� ��� ��"���� � ���.

X � T% �� A�"������% �$��� ' ��.

�� %4��� ���� ��� �% �P 4 !�" ��-��:

���� ��� %�4� ��-� ]%9�� �4�� <%# TopTitle %> W�� �( �(%��<; '� ���� �� ���

�4���� 3������TopTitle ��* � 1���� �, ���%��� 8���.

�"���� <mobile:ObjectList

id="ObjectList1"

runat="server"

LabelField="TeamName "

DataSource =

<%# MyArray %>

/>

'� ���; �4���� MyArray !�; �4����DataSource K%P��

ObjectList. D �%�$� MyArray �"�-� �� )��Collection ��ArrayList

��DataTable

% �$� <%# (TeamStats.Played

+ " Pts: "

+ TeamStats.Points) %>

��9�� % �$� �� ��( 3%(�<�� �� ��� 24�� 8J�4� E�� TeamStats

%9��� 8��.

Page 182: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

182

E��� / 1�� <%# String.Format(

"Position: {0}",

TextBox1.Text.

PadLeft(2,'0')) %>\

��� ������ ./( �, ��14�� =����(� C%�� E����String.Format

�� % �� �� <%# GetOdds(SelectionList1

.Selection.Text) %>

GetOdds ��-��� �/( �, �( �� % ���%��� 8��� 2�� 24�� �, . '�

3��$��� �� ��� C�%�;�� �� % �� W�� *�������� 5��� ��14 ��.

H �4 K%@ � $ % �$��� '���� ������� 5��� ��14 C/��� ��* ���� N� �, �� %4��� �%�� '����� W��� .

�� % �� A�"��� !�; ���� ��� �% C��� DataBind�� �% 5�� ��� %4��$�� . �� % �� ./( A�"��� �1� �� �$����� K%P �-�����$� ��* 5��� ��14��14�� � ��� D�� S��� N�I ����"����J �� ��� ����* 3������� '����� %4��" ��14�� .

�������� ������ �P 4�� H*� ������ ���%��� 8���:

protected void Page_Load(Object sender, EventArgs e)

{

this.DataBind();

}

?��� �� �� % �� ./( '����� 5� �F��� D �� �%�� '������ % �$��� ��� �/; L �!�" �� ��� B� K%@ null ��-��� � � !�$, �

������ ��" L ��� �/( %�< �� ��� �4���� �� F �%Selection '��� %4�$� SelectionList %� ���� '������ '�� �� ��F ���� F �4���� . N%�%*�� �� �/��� �0� K$� �, �� ��" � �L� �� ��L��� � �� �%�� ' F ���;���� ��� %4��$�� :

H*� 3%�1�� ./( ������ ��-���: <%@ Page Inherits="MSPress.MobWeb.DeclDBEx.ExampleWebForm" Language="c#"

CodeBehind="DeclarativeDataBinding.aspx.cs" AutoEventWireup="false" %>

<%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form runat="server" id="Form1">

<mobile:Label id="Label1" runat="server" StyleReference="title">

<%# TopTitle %></mobile:Label>

<mobile:ObjectList id="ObjectList1" runat="server"

DefaultCommand="aSelection"

LabelField="TeamName"

DataSource = <%# MyArray %> >

<Command Name="aSelection" Text="Show Details"/>

</mobile:ObjectList>

</mobile:Form>

<mobile:Form runat="server" id="Form2">

<mobile:Label id="Label2" runat="server" StyleReference="title">

You selected <%# ObjectList1.Selection["TeamName"] %>

</mobile:Label>

<mobile:TextView id="txvDetail" runat="server">

Page 183: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

183

Played : <%# ObjectList1.Selection["Played"] %> <br>

Points : <%# ObjectList1.Selection["Points"] %> <br>

<%# String.Format("Position: {0}",

ObjectList1.Selection["Position"].PadLeft(2,'0')) %>

</mobile:TextView>

</mobile:Form>

��� � � 1���� �, ���$�� 2���� (�������: using System;

using System.Collections;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.DeclDBEx

{

public class ExampleWebForm : MobilePage

{

protected System.Web.UI.MobileControls.Form Form1;

protected System.Web.UI.MobileControls.Form Form2;

protected System.Web.UI.MobileControls.ObjectList ObjectList1;

private ArrayList _myArray;

protected ArrayList MyArray

{

get { return _myArray; }

}

public string TopTitle

{

get { return "Season 2003 results"; }

}

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);

this.ObjectList1.ItemCommand += new

ObjectListCommandEventHandler(this.OnTeamSelection);

}

private void Page_Load(Object sender, EventArgs e)

{

if (!this.IsPostBack)

{

_myArray = new ArrayList();

_myArray.Add(new TeamStats("Dunes",1,38,24,8,6,80));

_myArray.Add(new TeamStats("Phoenix",2,38,20,10,8,70));

_myArray.Add(new TeamStats("Eagles",3,38,20,9,9,69));

_myArray.Add(new TeamStats("Zodiac",4,38,20,8,10,68));

Form1.DataBind();

Page 184: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

184

}

}

private void OnTeamSelection(

Object source,

ObjectListCommandEventArgs args)

{

Form2.DataBind();

this.ActiveForm = Form2;

}

}

class TeamStats

{

private String _teamName;

private int _position, _played, _won, _drawn, _lost, _points;

public TeamStats(String teamName,

int position,

int played,

int won,

int drawn,

int lost,

int points)

{

this._teamName = teamName;

this._position = position;

this._played = played;

this._won = won;

this._drawn = drawn;

this._lost = lost;

this._points = points;

}

public String TeamName { get { return this._teamName; } }

public int Position { get { return this._position; } }

public int Played { get { return this._played; } }

public int Won { get { return this._won; } }

public int Drawn { get { return this._drawn; } }

public int Lost { get { return this._lost; } }

public int Points { get { return this._points; } }

}

}

� *���� ������ �, ��*�%$��� ���F ���� ��-�0� �� � �$�� ������ '� �������� 5��� C/��� ���14 �, ���� ���� �4�� ��% �$� 3% 9L��� �, ��� �*�<% #.... %>.

��� ��� %4��" !�; ��4���� ��@%�� ��" ?����� ���� �/( %��$ .��� W�/�� ����� K�%@0� T ���� �P 4�� ./( '����� :

X �� �; '����� %4��" �% '� ���� ���� ��� ��"���� � ���. X � T% �� A�"������% �$��� ' ��.

Page 185: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

185

�������ADO.NET

���� �� 2�14 ���� ��� �%� T�$�� ����� �(����F ���� ��-�0� E �� '����Collection �-� ArrayList ./; ��� ���� ��� ���� �

a� �4���� 2�14�� '����� �� �" 5� , ���� � 3�"�F �, ����� �� �; ��4��� � %� ����ADO.NET 24 �-� DataSet �DataView.

3%����� ������ !�; �,�*G�� ������� 5��� ��14 � ��� '�" 5�� �4�� �� ��� '����� ��� �� ���� ��� !�; ��4��� ]% ��� D �����J��� 3�" ' ��� 2��� 5��� ��14� �1���� ��-�� A�9�; E� T,�%����� ����.

%,��ADO.NET���9��� �� ���� �/�� ?����� ?7� . '��� /;ADO.NET 2�14�� DataSet� DataReader 3%�4� ��$� ����

���� ��� %�4� �" �����.

N��H� ��? �8&ADO.NET:

DataSet : K�%@� �-��DataSetT � ��� ��$� ���$� ���� � � ���� ���� ��� . ��� �$� W��� ���� ��� %�4� �" ����� %4��$�� ./( �0������ 3%�4� .� �0� ���� ��� !�; �7 �$��� ��� 3��"; ����� ����� ��� N� !�".

K�%@0 � ������ � ���� B�9�DataSet�� ��, �� �J7$�� ���� ��� �"��F � �� �� F� ���F7"� �3��"�� ������ !�" N���% <���� . .. K�%@0 ��� DataSet ��1�� �� K�%@0� ./( A�9�; ��� ��� ����� � 3�"�F '7$�� �" S��� �� XML . K%@ �� ����

DataSet ���� ��� %�4� �" %<��� KP� ���� ���%� C/��� '������ ��$�� ����� ���� ��� ��� �" ���� .

DataAdapter: 2�14 !����DataAdapter ������� System.Data.IDataAdapter K�%@� � (L� �" ���I� �(� DataSet���� ���� . K�%@� #�$�DataAdapter K�%@� !�" DataSet���� ��� 3�"�F �, ���� ��� !�" '�� �7 �$� � � �.

Connection :

24�� K�%@0� ./( !����System.Data.IDbConnection '���� ���� ��� %�4� E� �J� � 1�� ��4�� �-��� MS SQL �� 2��XML.

Command: ������� !���� ���� 2�14�� �" %�$�System.Data.IDbCommand %���� N����� SQL %�4� !�; ��4��� ��������

���� ���.

DataReader: K�%@� '����� !�; ?��� �� L���DataReader '����� �" � ���DataSet ������� !���� 2�14 �(�

Page 186: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

186

System.Data.IDataReader���� ��� %�4� !�; �, 3A�%��� ��$, ��4� %,��� . �7 �$��� A�%�; ��� � K�%@0� ./( '��� K�%@� ������ ���� DataSet���� ��� %�4� �� �, 3A�%��� �44�� ��, .

��"�� � ��4� ������

���� ��������IDataAdapter �IDataReader �IDbConnection �IDbCommand���� ��� 3�"�F !�; T � � ��4� � 1 � .

( ���� ��� ������� $� ���� � 3�"��� �4�� �(� 3%��/��� �������� !���� ���� 2�14�� �� �"����.

%� ; �,��$�� .Net 1.1 � �� ��%� � �$�%� �� �� : X ���� .NET SQL Server. X ����.NET OLEDB ������� '������ ���� ��� �"���� ��4�7� '��� OLEDB. X ����.NET � Oracle ���� � �"���� ��4�7� '���� Oracle. X ����.NET a� 8���� ODBC.

K�%@� ���� �� !��� Connection ��Command ��DataAdapter ��DataReader !��� ��-��� � � !�$, SQL Server

2�14SQLConnection� SQLCommand �SQLDataAdapter....g��

/( ��" ���*� �/; ��� �� ����� ��� �"��F E� ��4�� ��0� A�*, ��% �� A�5����� . ���� �1, MS SQL 8��� ���� ?7-� �P 4��� ���%���:

using System.Data;

using System.Data.SqlClient;

� �, ��� ���� ���OLEDB , ��9�� �� 8��� H�4 : using System.Data;

using System.Data.OleDb;

N�2 � �������DataReader @���� ���� � � ��"���

���� ��� !�" �7 �$� A�%�; !�; C��� T � ��� B�� � N/�� ��4��� ��� �/;� K%P�� '����� �\, DataReader ��$, � �� %,� K%P�� '����� �"DataSet.

��4�� # L� �� �" %4�$�� �/( '����E����� ��� 3�"�F � %�� 2 %$�� SQL K%@ ��* ���� ��� E*�� Command '-

Page 187: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

187

�� % �� '�����ExecuteReaderK%P�� �/�� .

K%@ �� % �� ./( � $�DataReader� ���� � %�4�� �������� ��� ���� ���� ��� N��� �1������ '����� %4��$.� �� �� ���� �� K%@ N� 5� �� � ��$�� ./( �� ��( �<�7���DataAdapter.

K%P�� '��� � ��-� �� �� ,DataReader '��� %4�" � ���� List ���� � 3�"�F �� ���� ���� MS SQL �/( :

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<%@ Page language="c#" Codebehind="DataReaderExample.aspx.cs"

Inherits="MSPress.MobWeb.DataRdrEx.DataReaderMobileWebForm" %>

<mobile:Form id="Form1" runat="server" Paginate="True">

<mobile:List id="List1" runat="server"></mobile:List>

</mobile:Form>

� ��� � 1���� �, ���%��� 8���: using System;

using System.Data;

using System.Data.SqlClient;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.DataRdrEx

{

/// <summary>

/// Use the DataReader for efficient read-only access to data.

/// </summary>

public class DataReaderMobileWebForm

: System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.List List1;

protected System.Web.UI.MobileControls.Form Form1;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);

}

private void Page_Load(object sender, System.EventArgs e)

{

// Use the DataReader to fetch a read-only dataset.

String strConnectionString = "server=(local)\\NetSDK;" +

"database=pubs;Trusted_Connection=yes";

Page 188: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

188

SqlConnection myConnection =

new SqlConnection(strConnectionString);

SqlCommand myCommand =

new SqlCommand("select * from Authors", myConnection);

myConnection.Open();

SqlDataReader dr = myCommand.ExecuteReader();

List1.DataSource = dr;

List1.DataTextField="au_lname";

List1.DataBind();

myConnection.Close();

}

}

}

��� S���%��� �/( C%�, ��9�� !�" ���:

N�2 � �������DataSet��"�� � *� � ����? %&

K%P�� '�� ��� � ��� �� % -��� �,DataReader �, �,�� % @ K%P�� �/( '����� H�4 ���� ���� ��� 2J�<��� E �� �� ��"�� �� � �7F��� '���� ���� ��� � ��� ��� 3�"�F ��* ���� ��� !�" D ������� .

Page 189: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

189

K%P�� '�� DataSet �J��1�� �� � �$�� ���(������ I . !�">��� �� ��� ��� �����$�Z%$���� ��� 3�"�F ��* �, . A�%�; W��� W�/� � ����; E� ���� ��� !�" � �$��� �� ��"!�; B����� K%@ ��* ���� ��� D ��� ��" �� ��� ��0 ����� N� DataSet ��� �$� ��F

* ?� �$,���� ��� 3�"�F ��� N�I ��� �� ���*� ��- ����� T � � ��" ���� ��� 3�"�F �, �,%$��� �� ��� E� �7 �$��� '��3�"���� !�".

B�9� K%@ � (L�� ���� ��� 3�"�F !�; ��4��� � ��" DataSet� ��$�� � K%P�� E� �(������� ���� DataReader . 2 %$�� '��� /; %��SQL 5���� ��� K%@ '������ ���� ��� 3�"�F �� ���DataAdapter K%@ �" ?�� Command.

H*� K%P�� '����� � 1 � ������ ��-���DataSet '����� %4�" � (L�� ObjectList1: // Use the DataAdapter to fill a dataset.

String strConnectionString =

"server=(local)\\NetSDK;database=pubs;Trusted_Connection=yes";

SqlConnection myConnection =

new SqlConnection(strConnectionString);

SqlDataAdapter myCommand =

new SqlDataAdapter("select * from Authors", myConnection);

DataSet ds = new DataSet();

myCommand.Fill(ds, "Authors");

ObjectList1.DataSource = ds.Tables["Authors"].DefaultView;

ObjectList1.LabelField = "au_lname";

ObjectList1.AutoGenerateFields = true;

ObjectList1.DataBind();

K%P�� �L� <�7�DataSet K�%@� N��� DataTables K�%@� �(%��� N���� ���� DataRow �DataColumn . ./( '���

2�14�� ���� ��� E� ���$��� 2J�<��� �� E�� ���� ?�$�.

��"�� � B���� ���� ����� 5� >�*� @�3"/

��� �,� �7 �$� A�%�; !�; C��� .I�9�; ��%��� T � ��� �� A�%�; �, �*,0� �� % �� 8���� ����� ��� 3�"�F �� $� !�" K%@ !�" �7 �$���DataSet K%P�� '������ ���� ��� 3�"�F !�" �7 �$��� ./( T � � '- ��� ���� DataAdapter.

���� �� % �� �d��� E ��, �� �� �� !�" %-I� �� ���L9 �� �7 �$� A�%�\� '������ '�F �/; ��������� ��-��� �, 3�%:

<%@ Page language="c#" Codebehind="DataUpdateExample.aspx.cs"

Inherits="MSPress.MobWeb.DataUpdateEx.DataUpdateMobileWebForm" %>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<mobile:Form id="Form1" runat="server" Paginate="True">

<mobile:ObjectList id="ObjectList1" runat="server">

Page 190: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

190

<Command Name="EditCommand" Text="Edit Details"/>

</mobile:ObjectList>

</mobile:Form>

<mobile:Form id="Form2" runat="server">

<mobile:Label id="Label1" runat="server"

text="Edit Author Details" StyleReference="title"/>

<mobile:Label runat="server">

Author ID: <%# ObjectList1.Selection["au_id"] %>

</mobile:Label>

First Name:

<mobile:TextBox id="TextBox1" runat="server" MaxLength="20"

Text='<%# ObjectList1.Selection["au_fname"]%>' />

Last Name:

<mobile:TextBox id="TextBox2" runat="server" MaxLength="40"

Text='<%# ObjectList1.Selection["au_lname"]%>' />

<mobile:Label id=Label3 runat="server"

StyleReference="error" Visible="false"/>

<mobile:Command id="Command1" runat="server" Text="Save"

CommandName="Save" />

<mobile:Command id="Command2" runat="server" Text="Cancel"

CommandName="Cancel" />

</mobile:Form>

� ��� � 1���� �, ���%��� 8���: using System;

using System.Data;

using System.Data.SqlClient;

using System.Web.UI.MobileControls;

using System.Web.UI.WebControls;

namespace MSPress.MobWeb.DataUpdateEx

{

/// <summary>

/// Use the DataReader to fetch the data.

/// </summary>

public class DataUpdateMobileWebForm

: System.Web.UI.MobileControls.MobilePage

{

SqlConnection myConnection;

protected System.Web.UI.MobileControls.ObjectList ObjectList1;

protected System.Web.UI.MobileControls.Form Form1;

protected System.Web.UI.MobileControls.Form Form2;

protected System.Web.UI.MobileControls.Label Label3;

protected System.Web.UI.MobileControls.Command Command1;

protected System.Web.UI.MobileControls.Command Command2;

protected System.Web.UI.MobileControls.TextBox TextBox1;

protected System.Web.UI.MobileControls.TextBox TextBox2;

override protected void OnInit(EventArgs e)

{

Page 191: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

191

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);

this.ObjectList1.ItemCommand += new

ObjectListCommandEventHandler(this.OnEditCommand);

this.Command1.ItemCommand += new

CommandEventHandler(this.CancelConfirmEdit);

this.Command2.ItemCommand += new

CommandEventHandler(this.CancelConfirmEdit);

}

private void Page_Load(object sender, System.EventArgs e)

{

// Use the DataReader to fetch a read-only data set.

String strConnectionString = "server=(local)\\NetSDK;" +

"database=pubs;Trusted_Connection=yes";

myConnection = new SqlConnection(strConnectionString);

if (!IsPostBack) BindList();

}

private void BindList()

{

SqlCommand myCommand =

new SqlCommand("select * from Authors", myConnection);

myConnection.Open();

SqlDataReader dr = myCommand.ExecuteReader();

ObjectList1.DataSource = dr;

ObjectList1.LabelField = "au_lname";

ObjectList1.AutoGenerateFields = true;

ObjectList1.DataBind();

// The field names of au_id, au_lname, and au_fname

// do not provide good titles, so change them in the

// AllFields collection.

ObjectList1.AllFields[ObjectList1.AllFields.IndexOf("au_id")]

.Title = "Author ID";

ObjectList1.AllFields[ObjectList1.AllFields.IndexOf("au_fname")]

.Title = "First Name";

ObjectList1.AllFields[ObjectList1.AllFields.IndexOf("au_lname")]

.Title = "Last Name";

}

/// <summary>

/// Called when the user clicks the 'Edit Details' link

Page 192: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

192

/// </summary>

protected void OnEditCommand(

Object source,

ObjectListCommandEventArgs args)

{

// DataBind the form to insert the selected item details.

Form2.DataBind();

this.ActiveForm = Form2;

Label3.Visible = false;

Command1.Visible = true;

Command2.Visible = true;

Command2.Text = "Cancel";

}

/// <summary>

/// Called when a user clicks on either 'Save' or 'Cancel'

button

/// on Edit screen

/// </summary>

private void CancelConfirmEdit(Object sender, CommandEventArgs

e)

{

if (e.CommandName == "Save") {

SaveChanges();

}

else

{

// Go back to the List View.

this.ActiveForm = Form1;

ObjectList1.ViewMode = ObjectListViewMode.List;

}

BindList();

}

private void SaveChanges()

{

String updateCmd = "UPDATE Authors SET au_lname = @LName, "

+

"au_fname = @FName where au_id = @Id";

SqlCommand myCommand = new SqlCommand(updateCmd,

myConnection);

myCommand.Parameters.Add(

new SqlParameter("@Id", SqlDbType.NVarChar, 11));

myCommand.Parameters.Add(

new SqlParameter("@LName", SqlDbType.NVarChar, 40));

myCommand.Parameters.Add(

new SqlParameter("@FName", SqlDbType.NVarChar, 20));

Page 193: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

193

myCommand.Parameters["@Id"].Value =

ObjectList1.Selection["au_id"];

myCommand.Parameters["@LName"].Value = TextBox2.Text;

myCommand.Parameters["@FName"].Value = TextBox1.Text;

myCommand.Connection.Open();

try

{

myCommand.ExecuteNonQuery();

Label3.Text = "Record Updated";

}

catch (SqlException)

{

Label3.Text = "ERROR: Could not update record";

}

myCommand.Connection.Close();

Label3.Visible = true;

Command1.Visible = false;

Command2.Visible = true;

Command2.Text = "Back";

}

}

}

'����� %4�" ��-��� �/( �, T � ��� '��� ObjectList ������ ��* ������� ���� ��� %��<G authors ���� ��� 3�"�F �, Pubs.

%4�$�� ����%��� 8��� 2Q%$> <Command> 2�� ��* aspx� 4�1��� % %�� �, '������ �"� D �� . !�" P*�� ��$,$�� �/( C/����� %�< %4�Form2 �-� '��� %4��" '������ � ����� ������ ' F ?�� �� TextBox% %���� � ��" �, �"�� .

S���%��� �/( / 1�� ��" ������� ��9 ������ ��9�� � � :

Page 194: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

194

> 3%�9��� '� % %��� '������ C/����� '����� %� : ��� � �7 �$��� � �-�� 84�� ��0��� ����-��84�� �(������ .

N%��� D���� S��$�� 3���� �� % '������ � %��� � /( !�" P*�� ����$� � ��" OnItemCommand �( CancelConfirmEdit.

�� % �� ��* � �$��� � ��" �" ��I��� ���%��� 8��� E*�� SaveChanges . �7��$� '������ ?�* � ��( ���F ���� <�7�

SQL ��� 3%�9\� �F��)@(

String updateCmd = "UPDATE Authors SET au_lname = @LName, " +

"au_fname = @FName where au_id = @Id";

SqlCommand myCommand = new SqlCommand(updateCmd, myConnection);

�7��$� K�%@� �,�*\� ?�* � ���%��� 8��� '�� SQL �(� SQLParameter K%@ !�; SQLCommand �� � ��� E� % �$���� W�/� ���� ��� ���� ���:

myCommand.Parameters.Add(new SqlParameter("@Id", SqlDbType.NVarChar,

11));

Page 195: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

195

�7��$��� ./�� �������� 5�� ��� ' ��� �(�$� ���%��� 8��� ��� � �P 4��� W�/: myCommand.Parameters["@LName"].Value = txtLName.Text;

����� W�/ �$�� �� % � '7$�� / 1��:'������ �( !��0� �� % �� Execute ������ ./( �,� 3��"; � ��" N%�� K%@

DataSet �� % �� '������ �( � ��-��� �ExecuteNonQuery K%@ 3��"; ��� %�0� / 1�� N%� ������ ./( �,� DataSet /(��P 4�� '������ .��/1� �� �:

myCommand.ExecuteNonQuery();

2/��� �� ��" T � � E ��� ����9� �� % � C�%�G�� '7$�� 8� % P�� W�/SQL.

�0� ������� ��"�� � ��"��� @�"Visual Studio

�J � '���Visual Studio!�" ��$�� %� ��� �"�� ���� ����0� �� � �$�� ���� ��� .

'�4� �"� DataSet Designer 3�"�F A�9�; ��� D � ����� ��� 3�"�F �� '������ ���� ��� �"��F K�%@� E� ���$��� �,

�� F� ���F7"� ������ �H ��1�� �3��"�� �2�14� ������ N���� ���� � .� �"�1� � J%� �� % � W�/ �� ' ��� N%� .

( �� !��� �� �, 2%$�� ��( ?�* � � ���� � ���� !�" ����� ./Server Explorer �Component Designer.

���� � 3���� �������Server Explorer: W� � �� 3%,����� �1������ ���� ��� %��4� ��* ������� ��4���� 3��0� ./( H�� . %� ��� '������ 3��0� ./( !�; ��4��� W���

Server Explorer �� ��J����View.

3��0� ./( '������ W��� : X ���� � 3�"�F '��� E� ��4�� # L�SQL �=%�0� ���� ��� �"��F. X ������ E� ��4��SQL�� ���� ���� ���� ��� %��<G . X ���%�� �D���0� �7�� ����� ��� �"��F �� , ��� ������ ���� ������� %��<;� W���9 !�" ��<�0�� ��4���J�%�� �

A��0� ����"�. X %��<; �� �����$����$���� � 5��� ������(%,�� ���� T% �� ��� 3%,�����.

3��0� ./( ��" � ����� � ���� H*��:

Page 196: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

196

�0� ������� ��"�� � ��"��� @�"Visual Studio

�F N/�� ��9��� 3%9��� ���� ��� �"��F !�; ��4��� � ��� ��� � ��� ��� T���� A���� �, B� *��� �� .

���� �� ��$�� C/��� '����� ?�� �$� %-�� ��� � � �" '���� ����" � 1��� �� ���� N� !�")n-Tier ( ���� �� �4, '� D ����� ��� ����$�� '��� ���� W�� �" '������ ����� ����$�� '��� ���� . ��� ���� ���� ��� E� ���$��� ������ ������ T�� '� D ��

���� �� W��� �".

�� T � �� '��� ���� ���� ��� ������ A�"���� '������ ����� 2�14 '��� ���� �� 3��$�� �J � �,��$�� T . �"������- ���� ���� ��� 3��$�� ������ =%�� ������ � ��� ��� �� ������.

K�%@� �$� ��J ��� ./( �-� �,DataSet ���� ��� 3�"�F �" ?����� ��41�� ����� �������� � � ���� ��� ��� � ��" � �L�� � ��-�

$�� �" �����$�� <�1��� !�" ��%�/ ��� ���%�F E����� ��� � �$� ��" ��� � �� '��� ��� ���� ��F7.

�J � %,��Visual Studio.NET ' �4�� 3��� ���,�%� ������� 3��0 Server Explorer ������ A��� � ��" �� �$� ��� ��� � ��" ���� �.

� '������ ������ �� %9�� �, �%���� ��-��� � �$�� '��� ����0� ./( ��" H *������� ��� �����: • 2�14 ����� �� �� � �� )�%9� A�9�\� � ����� �, '���C# B ��� AuthorsDataComponent . ./�� '�

(� E ����� �P� !�; .% 1� '� )�%9� A�9�; � ��$��� '�� 24 � ���� 3%�4� N��� Class1.cs ���0 B,/�� '���

Page 197: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

197

���� '�4� '������ %�: 24 A�9�\� '�������. • %� � %� ���� )�%9��� 2�� !�" �� 0� %���� %����� '���Add ��J�F �� context %���� '- Add Component .

• 3/,�� �,NewItem %���� Component Class 2���� '� ����� '- AuthsComponent.cs. • �(��" '�� Visual Studio �,�*\� AuthsComponent.cs��1� '�� � ��"�%9� !�; ' �4��� � $*� ��* B. • ������ !�; ��4��� ������� '����� 29��� !�" %����� �[� '���authors ���� ��� 3�"�F ��* pubs .

• ������ %� � ��$� �(�$� '���authors K%@ A�9�; ?� J���� '� D �� ' �4��� ���� !�; SQLConnection K%@� SQLDataAdapter8��� � ��� ?� J���� '� � ��4�� 3%��" ?���*�� �,�*��� K�%@0� W��� ��%��� ���%��� K%@ E� �� �4��SQLCommand2/���� � �$���� ��,�*G�� �%� ��� �� ��" A�%�G .

K�%@� ������� ��%; T % �" =%�0� 2�14�� E� ��4��� .A�9�\� ���F N/�� ������ '�� DataSet.

�������� '�4� �"� K%@ � ��� �, DataSet.%� ���� ���F N/�� ������� 8�� . ��J���� %����Data %� ��� '- Generate

DataSet !�" %���� �� �" 5� 3/,���� ./( �,� New '� ����� '- AuthsDataSet( ��� ������� ��9�� �, H*��:

Page 198: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

198

!�" %���� ��"OK 2�� A�9�; N%� �XML K%P� 8�� DataSet '�� AuthsDataSet.xsd )�%9��� !�; B�,�*; N%��� '�� � ���� K%P�� �/( �� � -� A�9�; N%� '-authsDataSet1 �' �4��� �9�9 !�; B�,�*;.

������ ��* ���� ��� E� ���$��� ���7�� �� ����G� E �� !�" L9���� ���� ��� ���� N��� authors.

/�� ���%��� 8��� '�� K%@ � (L�� �� % �,�*; %�� '� �� ��� � �� A�9 N� 24�� �/�� .� ��� '� NDataSet ?�%,��� B�$���

��%���� '��$�� . 24�� %4��" � /P�� '�� N/�� 24�� !�; � ����� ���$�� �4���� �,�*; 5� ?�/;authsDataSet1� �� ��: /// <summary>

/// Returns a dataset of all authors in the authors table of the pubs

database

/// </summary>

public AuthsDataSet AllAuthors

{

get

{

// Update class member dataset.

this.sqlDataAdapter1.Fill(this.authsDataSet, "authors");

return this.authsDataSet1;

}

�� % �� '���Fill a� �4���� SqlDataAdapter ���� ��� 3�"�F E� � � ������� 3%�4� ��4�� H�1� � K%@ !�; ���� ��� 3A�%FDataSet��4�� T7@; '- .

Page 199: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

199

���� ��� !�" % P� N� ��" ���� ��� 3�"�F � �$�� �4���� �� % �� ���� ������ �/( !�" 5� W�/� ./�� ���%��� 8��� �$� '�F N

������ �, � �@ D ����� � ��" �� .� ���� �������� '�4�.

& K%@ ���"\� �������� '�4� '�FSQLDataAdapter K%@ E� SqlCommandC�%�G� � ��$� 5����� �2/��� ... �� % A�"��� ��"Update K%P� �4���� SQLDataAdapter K%@ % %�� '� DataSet� ?� ���� K%P�� �/( !�; �7 �$��

��� ���� . K%@ ��* 2�14�� �� 24 ��� �7 �$��� ./( T � �� �(�$� W%���� '�� DataSet� �,�*G� � ��" B �" ��� N/�� � 2/���

��D �����.

�� ��� ���� ��� 3�"�F D ���� ���" �� % ����� B�,�*; 5����� ���%��� 8��� ��� : /// <summary>

/// Take a DataSet, including changes, and apply it to the database.

/// </summary>

public bool UpdateAuths(AuthsDataSet DataChanges)

{

bool boolRetval;

try

{

this.sqlDataAdapter1.Update(DataChanges, "authors");

boolRetval = true;

}

catch(Exception)

{

boolRetval = false;

}

return boolRetval; }

5� � >�*� $�= ��"�� � $��� �������

?�� �%� %-�� H�4 � J%�� T � ��� 24 �� ���� ��� ����$�� 8���� ���%��� 8��� ����; ��" �, �"� ��� ' ��� !�" � �%��������� ����� %-�� �����'.

'����� � ��" T� �� �������� 5��� ��� � � �, ���� ��� �"��F D ��� �, .�� �% N/�� ��-��� �� A���0� K$� �@� 4 3��"\� '���

���� ��� ������ .

Page 200: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

200

)�%9��� ��* ������ �/( !�; E�%� �,�*; 5� ���� ��� ���� '����� 3/,�� �7� �� W�/Add Reference:

�" 5��� �P 4��� W�/� � 1���� �, ���%��� 8��� � ��� �, ������ �/( �" H %4� �,�*; �(�$� �� : using MSPress.Mob.Web.AuthorsDataComponent;

8���� � ����� ���%����,�P 4��� W�/� 24�� ��* 8�� %4�$� ���� ��� ���� A�9�; :

private AuthsComponent myDataComp;

private void Page_Load(object sender, System.EventArgs e)

{

// Create the data component each time the application

// returns to the server.

myDataComp = new AuthsComponent();

if (!IsPostBack)

BindList();

}

��� � �� % �� ���%��� 8��� BindList��� �� :

public void BindList()

{

// Use the DataComponent to fetch a dataset.

Page 201: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

201

AuthsDataSet ds = myDataComp.AllAuthors;

ObjectList1.DataSource = ds.Tables["authors"].DefaultView;

ObjectList1.LabelField = "au_lname";

ObjectList1.AutoGenerateFields = true;

ObjectList1.DataBind();

// The field names of au_id, au_lname, and au_fname do not provide

// good titles, so change them in the AllFields collection.

ObjectList1.AllFields[ObjectList1.AllFields.IndexOf("au_id")].Title

= "Author ID";

ObjectList1.AllFields[ObjectList1.AllFields.IndexOf("au_fname")].Title

= "First Name";

ObjectList1.AllFields[ObjectList1.AllFields.IndexOf("au_lname")].Title

= "Last Name";

// Store the DataSource in a session variable so that

// it can persist across multiple postbacks.

Session["MyDataSet"] = ds;

}

�� % �� H�4�SaveChanges ���� ��� ���� '���� ������� 3��"; �$� ��9�� !�":

private void SaveChanges()

{

// Retrieve the dataset from the Session object.

AuthsDataSet ds = (AuthsDataSet)Session["MyDataSet"];

// Find the row and make changes.

AuthsDataSet.authorsRow rowToChange =

ds.authors.FindByau_id(ObjectList1.Selection["au_id"]);

rowToChange.au_fname = TextBox1.Text;

rowToChange.au_lname = TextBox2.Text;

// Call the UpdateAuths method of data component.

// Pass it the dataset so that it can update the database.

if (myDataComp.UpdateAuths(ds))

Label3.Text = "Record Updated";

else

Label3.Text = "ERROR: Could not update record";

Label3.Visible = true;

Command1.Visible = false;

Command2.Visible = true;

Command2.Text = "Back";

}

� %-�� H�4 � J%�� T � ��� 24 �� ���� ��� ����$�� 8���� ���%��� 8��� ����; ��" ?�� �% �, �"� ��� ' ��� !�" � �%���

'������ ����� %-�� �����.

Page 202: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

202

'����� � ��" T� �� �������� 5��� ��� � � �, ���� ��� �"��F D ��� �, .�� �% N/�� ��-��� �� A���0� K$� �@� 4 3��"\� '���

���� ��� ������ .

�� �/( !�; E�%� �,�*; 5� ���� ��� ���� '���� )�%9��� ��* ����� 3/,�� �7� �� W�/Add Reference: �J � ����Visual Studio.NET 3��0 T,�%� ������ '�4� Server Explorer ���� � ������ A��� � ��" �� �$� ��� ��� � ��".

X ��� ������ '������ ������ �� %9�� �, �%���� ��-��� � �$�� '��� ����0� ./( ��" H *��� '����� �" ?�*�" ���� � ���� ���� ��� S��$� T ��.

Page 203: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

203

�3? %"�C � ��� �:

��7� E�=�� �: � �� � ���/

������� � ����� � : T � ����� ����� ���$� �K%@

����: %� ��� ���� �����HTTP( � ���� � � ������ !�" <,�� ������%�HTTP�� 7, �� ������� �a����� 3%��G �a� % ��� ; ��

����� ./( �, B� P�� '��� �� �/(�.

������� ��!�: !�" �41�� �/( �, 5�� �� 2%$� :

• ������ '��1�����%��;. • ��<1� T% � ����� ����. • T � ��� ����.

Page 204: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

204

� �� � ���/

�: !�; � � ��� ��� 5��� ��� � � A��� ��" ?����@ C���������� ���� � � �����$��� � ���� � . <��� A��<1� %��� ��� ���HTTPK%P�� �/( T ���� =%�� �� % !�; A����� 5� B�� !�$�� ������ �����$� .

��%� ��� ��� ������ ����� �,a� ASP.NET � �(ASP���$��� ���� �1���� T% ������ 2%$���� � ������� E����

�� '� �" !� �� '����SESSION_ID'������ �/�� �4����� '����� !�" ������� �����$��� 3��$� . ��� ������ ./( %��$�����$��� '"�� ��� ����� ./( �, ��*%$���� ��� �������� ��� ����� 5�@� �, ����� % @.

�� ; ASP.NET �%,��� !�" <�1��� �1������ �� �[� �� �"���� �, B������ '� ��� %�%��� ��*$� ����ASP �� �� ��*$� .� ����� �( �� �[� ./(:

• ���� � � �� : K%@ ��* K�%@0�� ������� !�" �<,������ H��Session ���� ��� �,�������� ���� 3�" . • ����� � ������ �: T % �" K�%@0�� ������� ' F ����\� ������� ./( H�� �� ������ ���� ��� ��%; 3��";

� 1�� ���� �7�. • ViewState:'����� !�" ����� 5� C/���� �4���� ' ��� !�" <�1���� H�� . � ���� � P9��� ��� W%�� '��

24�� �� �-� ��* �����$���System.Web.UI.StateBag � K%@ ��* B� ��� '� N/��Session. • >�*� � � ��: �"�� �,1��� �J��� 3�" �� ���� 3�" %�" T � �� �4���� K�%@0�� ��% P���� !�" <�. 5� �� T% ��D7-�� !��0� �� � ������� B���� �$���� �� ���� � ���� !�" 2%$��� '����� ��� ��%; '��� 2Q%$>� !�; � ��

������ �� E� ������ ������� 5� �� E� B��%\� .%��� ������ '�� . �, ���$� '����� ����� � ��$�� � ������ ��*%$����HTTP ��,Q%$>�� !� �� '����� '� , ���$��� '"�� ���� ��*%$���� �, ���URL � ���" �" 3%��" �(� ��h$ ��� URL ���

����� � � � �� �; � %, 2Q%$>� �,�*;.

���� � � ��

%,��ASP.NET" ���� ��� ��%�/ ��� K%@ �Session E� ?���� '������ ASP� ����� '����� A�%�\� H� N/��� : X ������ 8�� 2Q%$>� �7� �� � ������� !�" 2%$���. X ����� '����� �4�� �����$� � ���. X D���b� ����$� T% �7� �� ����� 3� � 3%�� 3%��;. X ���� ��� �*� �$� ����� ���� � % %��.

�� � W��(���� �/�� ��� �� �� X J �7�: ����" ������ #1� �� � ����� ���� � ������ '��� !��� D � �����$� � ���� ���� '��� ����"� ���

Page 205: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

205

������ 5� � 5 �� N/�� '����� ��� ?� � ������ !�" <�1���� H� ��� ������. X ��"�C �:�� � 3�"�F !�" ����� �����$� � ��� � ����; ��SQL Server ��� �, ����� �����$� 3��$��� H� ���

� '�<��� %� ���� '��� � P9� 3��";IIS.

� T% �� '(� 8J�4��� K%@ ����� ����Session�( : � �4������� % �� 24���

�� % ��Abandon K%@ ���(\� '���Session ������ � % %��B�����$�.

�� % ��Add %4�" �,�*;. �� % ��Clear ���(\� '�� ���� ����� �����$� H�� '���

����� K%@. �� % ��Remove � ����� ����� �����$� �� K%@ ����\� '���. �� % ��RemoveAll � ����� ����� K%@ �� %4��$�� E �� ����\� '���. �� % ��RemoveAt @ �� ������ � ���� N/ %4�$�� ����\� '�� K%

� ����� �����. �4����Count � ����� ����� K%@ ����*� ���� %4��$�� ��" � $�. �4����IsCookieless '"�� ����� ���� �/; �� , ���� � � �� �� F � $�

'� ���$���. �4����IsNewSession ( 5� �� ��� �/; �� , ���� � � �� �� F � $�� ��0�

����� ��*. �4���� IsReadOnly ����� �����$� ���� �/; �� , ���� � � �� �� F � $�

�, 3A�%��� �44��. �4����IsSynchronized �� ���: ����� ���� �/; �� , ���� � � �� �� F � $�

��� �,�*; ���%� T� T�� � ����; D �. �4����Item � � $�� '��������� %4��" ' F 3��";.

�� F � �����9��� %4�$�� : Session[“keyName”]=value

�� Session[index]=value

�4����keys � ����� ����� K%P� �4���� H ��1��� E �� � $�.

���� � N�H �������

��� ����� 8����� � 1���� �, ���%��� 8��� ��* ����� K%@ E� ���$��� 2��Global.asax� � �, ���%��� 8��� ��*

Page 206: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

206

�������� 5��� ��14� � 1����.

��C�: 2���� � 1���� �, ���%��� 8��� ������ ��-��� � � Global.asax '� /�L N/��� Global.asax.cs . '������ ��-��� �, '���

����� K%@ !�; ���� ��� �,�*G � �� % : • ]��1�� � �� ���� '������ !��0�UserStartTime� ��� �,�*G ����� K%@ � ��� ��� �-�� � ,%�. • �� % �� '������ � ��-��Session.Add ]��1��� '��� ��� 2 %$�� HelpAccess � ��0� �� ��� ��� N/��� false.

using System;

using System.Collections;

using System.Web;

using System.Web.SessionState;

namespace MSPress.MobWeb.SessEx

{

public class Global : System.Web.HttpApplication

{

protected void Session_Start(Object sender, EventArgs e)

{

Session["UserStartTime"]=DateTime.Now.ToLongTimeString();

Boolean HelpAccess=false;

Session.Add("HelpAccess",HelpAccess);

}

}

}

2�� 2�L� Global.asax B��� �� T���� ���%��� 8��� !�; % 9 N/�� @Application� �� :

<%@ Application Codebehind="Global.asax.cs"

Inherits="MSPress.MobWeb.SessEx.Global" %>

8��� �, <�7� '��� N%4�" ���� ��������� 5��� C/��� ��14� ������ ���%��� Form:

• ��0� C/����� �, ��� From1 '��� %4�"� %� Label1 �� F � ��� N%� D �� Text '����� %4�$� Label1 ��* � 1���� �, ���%��� 8���.

• ���-�� C/����� ��� Form2 '��� N%4�" Label14�� ./( ��� ��� ��(��� �, ���-�� ��� �3�"�� ��14 �( ��� r%�,� 1���� �, ���$�� ���%��� 8��� �, B� �� F ���; N%� �.

project <%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<%@ Page language="c#" Codebehind="MobileWebForm1.aspx.cs"

Inherits="MSPress.MobWeb.SessEx.MobileWebForm1" %>

<mobile:Form id="Form1" runat="server">

<mobile:Label id="Label1" runat="server"/>

Page 207: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

207

<mobile:Command id="Command1" runat="server">Go To

Help</mobile:Command>

</mobile:Form>

<mobile:Form id="Form2" runat="server">

<mobile:Label id="Label2" runat="server">

This is a help page.

</mobile:Label>

<mobile:Label id="Label3" runat="server"></mobile:Label>

</mobile:Form>

��, � 1���� �, ���%��� 8��� ���:

using System;

using System.Web.Mobile;

using System.Web.SessionState;

namespace MSPress.MobWeb.SessEx

{

public class MobileWebForm1 :

System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.Label Label1;

protected System.Web.UI.MobileControls.Label Label3;

protected System.Web.UI.MobileControls.Command Command1;

protected System.Web.UI.MobileControls.Form Form1;

protected System.Web.UI.MobileControls.Form Form2;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);

this.Command1.Click += new

System.EventHandler(this.Command1_OnClick);

}

private void Page_Load(object sender, System.EventArgs e)

{

Label1.Text = "Help accessed: ";

Label1.Text += Session["HelpAccess"].ToString();

}

private void Command1_OnClick(object sender, System.EventArgs

e)

{

//Switch to the Help form, set the flag in Session object

Page 208: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

208

Session["HelpAccess"] = true;

Label3.Text = "Help accessed: ";

Label3.Text += Session["HelpAccess"].ToString();

ActiveForm = Form2;

}

}

}

T � ��� �/( � P9� ��": • �� ��� )��%; '� False ������� !�; HelpAccess����� K%@ ��* . • C/����� %��<; ��"Form1 �� % �� � P9� N%� Page_load �� F %��<;� HelpAccess. • D���� ����$� �� % / 1�� !�; �,�*; '����� !�; �����$��� �%�� �C/����� !�" %��� '������ ���$�� ��"

Command_Click ���; !�; N�I� ����� True ������� !�; HelpAccess. • !�; 3%� � N� ��4� ��"Form2� 3� ���� �� ��� %�<� � �� �� ����� %4�$HelpAccess �(� True.

����� � �������

'���Asp.NET 2Q%$>� �7� �� ������ !�" 2%$���� ID ��$� ��* HTTP �� E� '������ ������ � � �(% %�� N%� ����� 5� ������� .)�%9��� % @ ��4��� �� ����� � %, 2Q%$>� '����� � ��$�� ./( 5� �� . ��I��ASP.NET '������ %�0� �/(

5��� '��� � P9� �� , ��$> 3%� �� �, .% P� N%� �J��9" % 19� ]��1�.

��� 2Q%$>� �� ��� 32 a� 2%��� �� !�" ��4��� �(% 19� '� ���� ���� ��� �� �"���� �� �; ?�,�*� ?��� 16 ��*� ?��� 2Q%$>��� ��� �� � ��$�� ./(ID �, �"��� � %, BJ�9�G �������� � ��%����� � ��� �� � F%����� E��.

��*%$�� ������� ?� �� � �4���� � ������� !�" 2%$��� 5��� '���� 3� %, �� % ���$��� %,��HTML . ./( 8%, ����

���$��� '"�� �������� ��� ����� 5�@� ��� � ��7�� � ������� ������ �1 $* � �[� .!�" ���� ������ ���� ��" ���� N� ��,Q%$>� '����� �� �" 5��� ������ � � !�; ���$��� '���*%$�� '"�� �J���URL���" ?�*�" ��h$ ��� .

��&'��(� �������URL��V�*(� � :

��,Q%$>� ' $ � ����� URL ���� % %��� ID���$��� '����� �� ?�� '������ ������ � � .

� 2Q%$>� !�" ��-� � ����� �P 4�� �, K%$�URL'Z$ >� : http://microsoft.com/myapp/(dcdb0uvhclb2b145ukpyrr55)/index.aspx

�(��"� B�� '$ �� )������ '�� 5� �� 5��� '��� ���� ��"���$��� '���� ��� 2Q%$>��� �/( '����� '� .

��,Q%$>��� %��$�� ��,Q%$>��� ./( E� ���$��� �, ���9� ��*%$���� )���� �� � �$�� B���� /; �?� �-�� ?7� ��h$ ��� ���� �, 8�0���

��,Q%$>��� � �������� ��� % @ .?����� ���$��� %� � !�" �<,����� 5� W�/�.

Page 209: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

209

��C�:

��,Q%$>� '����� 2��� ����� ���$��� � $� ����� URL �14���� �� F ���\� W�/� � ��� ��h$ ��� cookieless %4�$�� �$����� sessionState 2�� ��* Web.config������ ��-��� H*� ��� :

<!-- configuration details -->

<sessionState

mode="inProc"

stateConnectionString="tcpip=127.0.0.1:42424"

sqlConnectionString="data source=127.0.0.1;user id=sa;password="

cookieless="true"

timeout="20"

/>

<!-- more configuration details -->

� 84���� ���%��� 8��� E*� ��� ���$��� � $1� �� ������ S��$� E��� �(/ 1�� N%� ���� � ��%��� ������ ��* ������ ./�

/�L� ����"IsCookieLess �� ��� True�� ��� : if (Session.IsCookieless)

{

}

����� � ������ � �������

K%@ '����� ��� 5��� ���14 � � �����$��� �� 3% P4 � �� % %�� �� �0� K$� �, ����� Session.

������ ��$, '������� 3��" A���0� ��$�� C/��� T % �" �����$� E�� !�; ��-��� � � !�"HTML � 3% 9L��� ��$�� !�; L��<input> �14���� E� Type �� �; ��� ���� �� ��� Hidden%�[ A�� �� �����$��� % %��� .

���� �, %��0� 2���� WML /; � � '����� !�; ����%; '- K%$���� A!�� ��* ������� E*� �, ?7-� % �1��� 5�

A���� E �� A�� �� '������ A�����C/�����.

�"�� �4����HiddenVariables� � 24MobilePage �,�� F� '� �� ����� �� J��- � ���� H�� D � �1 <��� ./(� ���N%� '-� 1�� ����� ������� '����� � � �(% %�� .

K%@ '������ 3%��/��� �1 <��� !�; ��4��� E ��Session oL* � �A��� �� ��� �/� �"� %�� � � 1���� ������ ����

��������.� ����_ !�; .����� 5� ��I���� �/( !�"�J��� ��� ��9� � �[� ./( �� �, ���$, ������ ���14�� � � ���� ��� % %����� ����"% P4 ���� ��� '�� ?� !�; �,�*; ������ K%" �� % �� '�� ���7��� 5�� � ����� �4���� !4F0� '���� ����

Page 210: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

210

E� ��,������ ��� ����� ���"��WAP ����� �� 5� N/��� 1.4KB.

��C�: H*� � 1���� ������� � ��� '����� ������ ���%��� 8���:

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<%@ Page language="c#" Codebehind="MobileWebForm1.aspx.cs"

Inherits="MSPress.MobWeb.HidVarEx.MobileWebForm1"

AutoEventWireup="false" %>

<mobile:Form id="Form1" runat="server">

<mobile:Label id="Label2" runat="server">Your name:</mobile:Label>

<mobile:TextBox id="TextBoxName" runat="server"></mobile:TextBox>

<mobile:Command id="Command1" runat="server">

Submit

</mobile:Command>

</mobile:Form>

<mobile:Form id="Form2" runat="server">

<mobile:Label id="Label1" runat="server">

Your e-mail:

</mobile:Label>

<mobile:TextBox id="TextBoxEmail" runat="server"/>

<mobile:Command id="Command2" runat="server">

Submit

</mobile:Command>

</mobile:Form>

<mobile:Form id="Form3" runat="server">

<mobile:TextView id="TextView1" runat="server">

TextView

</mobile:TextView>

</mobile:Form>

��, � 1���� �, ���%��� 8��� ���:

using System;

using System.Collections;

using System.Web;

using System.Web.Mobile;

using System.Web.SessionState;

namespace MSPress.MobWeb.HidVarEx

{

public class MobileWebForm1 :

System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.Form Form2;

Page 211: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

211

protected System.Web.UI.MobileControls.Command Command1;

protected System.Web.UI.MobileControls.Command Command2;

protected System.Web.UI.MobileControls.Form Form3;

protected System.Web.UI.MobileControls.TextView TextView1;

protected System.Web.UI.MobileControls.TextBox TextBoxName;

protected System.Web.UI.MobileControls.TextBox TextBoxEmail;

protected System.Web.UI.MobileControls.Form Form1;

public MobileWebForm1()

{

Page.Init += new System.EventHandler(Page_Init);

}

private void Page_Init(object sender, EventArgs e)

{

InitializeComponent();

}

private void InitializeComponent()

{

this.Command1.Click +=

new System.EventHandler(this.Command1_Click);

this.Command2.Click +=

new System.EventHandler(this.Command2_Click);

this.Form3.Activate +=

new System.EventHandler(this.Form3_Activate);

}

private void Command1_Click(object sender, System.EventArgs e)

{

HiddenVariables.Add(TextBoxName.ID,TextBoxName.Text);

this.ActiveForm=Form2;

}

private void Command2_Click(object sender, System.EventArgs e)

{

HiddenVariables.Add(TextBoxEmail.ID,TextBoxEmail.Text);

this.ActiveForm=Form3;

}

private void Form3_Activate(object sender, System.EventArgs e)

{

String FormData="";

foreach (Object o in HiddenVariables.Keys)

{

FormData+=o.ToString()+" "+HiddenVariables[o]+"<br>";

}

TextView1.Text=FormData;

}

}

}

Page 212: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

212

� ������9�� !�" ��-��� �/( / 1��� � J����� �� ����:

�������ViewState

����ASP.NET� �\� '������ � 1 )�� ����\�������� '����� � � ��%�� 3�" %�" ���14�� ������ !�" <�1��� . �� ���� �,

� 5� �� %-�0 ��14�� �����$� %���� �4� �� ���� �������(�� ��� �4����� ��14�� 8J�4� ViewState %4��" ��� �-� !�; �� , '����� '����� 24�� StateBag.

��� '�� ����" 5� ��%\� '���� ��" N%�� ' F '������ ?� �: ��14�� A��� 3��"; 8J�4��� 24�� �-� ��* StateBag.

��� � I% ����� �4���ViewState( � K%@MobilePage ������ N/�� 2�� ��*� aspx ���$�� S���%����� 1���� �, . W�/�

�4���� '����� E �� ��ViewState��� ��� ��� �, K%@ �� ���� T � MobilePage B ��� 3��"; '������ A�� %�: !�; HTTP) �� % �� '������MobilePage.Response.Redirect(“URL”) (�� �� % �� '������ =%�� ��14 !�; '����� ����

MobilePage.Server.Transfer(“URL”)(.

��* �4�� <1� � 1 � ������ ��-��� H*� viewState � �?��� �����$�� � 1: using System;

using System.Web;

using System.Web.Mobile;

using System.Web.UI.MobileControls;

using System.Web.UI;

public class MobileWebForm1 : System.Web.UI.MobileControls.MobilePage

Page 213: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

213

{

protected System.Web.UI.MobileControls.Command Command1;

protected System.Web.UI.MobileControls.Label Label1;

// MyMessage property get and set accessors

// using the ViewState property

public String MyMessage

{

get

{

// Explicit cast to String

return (String) ViewState["MyMessage"];

}

set

{

ViewState["MyMessage"]=value;

}

}

private void Command1_Click(object sender, System.EventArgs e)

{

// Consume the persisted property.

Label1.Text=this.MyMessage;

}

}

���� �4���� ViewState�������� 5��� ���14� '����� ��� �� '����� %4��" �, �J���� ��9� ��h$1� ., � $1� A�P�\� ���F �/\ �4����ViewState�� %4��" ��� ������ ��� $1� ����; ?� J���� '� '����� %4��" ��� ��* %4�$�� �/( ��* 3������� '���.

�1� �4���� ./( ��" � $1� A�P�G ���;False!�; �14���� EnableViewState ��� '����� ��� �� '����� %4�" 3% 9L� ��*

������ ���%��� 8��� � � : <mobile:Label id="Label1" runat="server" EnableViewState="False"/>

./( � $1� A�P�G��P 4�� '����� �1� ��14�� ���� ��* �4���� :

<%@ Page language="c#" Codebehind="MobileWebForm1.aspx.cs"

Inherits="MobileWebForm1" EnableViewState="False" %>

��� ��� � ��� ��* W�/� ��� � ��� ��" E %�� �4���� ./( � $1� ����; !�; ��%� ��� L�� �� 3��" �� % �� ./( �0 � �) �( ���

� 1���� ������� '����� E� �����( ������ � � ���� ��� �� % �� '� ��%\� '��� ����9�� !�" A5" ��9 ��� '�����.

� ��� �, � � �� ���9� !�; � �[� ./( '����� ���� �� �� ����, � ���� ��� � ��� !�; ������ ����� �( ./( ���� ��� ��� %���"� � $� ������ K%" � ����� /�� ��" ��������. T � � � �: % P� '� W�/�ViewState '����� %4��" ��* ��������

K%@ ��* ���� ��� � ��� !�" ���$�� ��������Session �, �%� �� ������ !�; �����$��� ���� ��%\� 3%� �� �, '��� � �1 %$� ����.

Page 214: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

214

���� ��" K%@ '�Session � ���� ViewState �� �� /�L� ��� � �� � � �� %���"� � $� : € A����� ���� T�$�� !��0� N%� D � �����$� ����, �(��"ViewState . � $�� ����� � �74 A���� ��� � ��� ���

�14���� �� Ftimeout T � ��� 2�� ��* Web.config( ��� ��� 8��� �, H*�� ����: <configuration>

<system.web>

<sessionState

mode="inProc"

cookieless="true"

timeout="20"

/>

</system.web>

</configuration>

€ ����� �, ������� �����$���� T�$��, � ��-�� � ���� ����� E� ����� � %�� =%� �F /; �� ����� ��14�� �������� '�" ��

�� F � �ViewState ����� K%@ �, ������� � %� '���� '- =%�� !�; ��14 �� '���� ����� �/\, ���14��Back � �� F ���� ������ ��14�� !�; ��"ViewState� ����� # �� � ��-�� ��14��� �4���� W�� �( .

�9��� ./( �� '� �14���� '������ ��sessionStateHistorySize %4�$� �4���� mobileControls 2�� ��*

Web.config %�< �� 5� �,������ ���%��� 8���: <configuration>

<system.web>

<mobileControls sessionStateHistorySize="10"/>

<system.web>

</configuration>

� ��>�*� �

Z%$ �, T � ��� 2ASP.NET B�L� ����� ��������� � P9��� ��� W%�� '�� ���� ��1���� E �� � � I%�� ���� ��* ��� P9�

B��* � "%1�� �������� E ��� �*�%�,� ������� 8����.C��� � ��F�0� K$� �, %� ��� !�; � ��� ��-�� ������� �" �� W���� ���� K�%@0������� =��� !�" ?������ ��� �� ?�*�" T � ��� � P � I% ��. �/� 24�� %,�

System.Web.HttpApplicationState� %� ��� 3%��/��� � ����0� .

K%P�� �-� Application B��/ ��� T � ��� �T � ���� 8���� �*�%�,� ������ ��* 2�� !�; 5� ��� ��%; ��� .I�9�; '� �� �4���� '������ B �; ��4��� ���Application 24�� System.Web.HttpApplication � �4����Application 24��

MobilePage.

Page 215: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

215

K%@ W��� Application K%P�� ��* �(�� �% ���� T% �� #1� Session��� W�/� 3%�, 3�"�%� E� ����9� �� % � B������ K%@ ����� ���� �����$��� ���Application E ��� 3%,��� ����� � ����� 3�" �� ��%��� ���� �� � � ����� !���

T � ��� ������.

K%P�� !�� Application� '����� ��" 2�� \� '������ '�� !�� '����� 3%��/ ��* �� � �$��� 2�� D ���Global.asax.

�� � $�= >�*� � � �� �������Global.asax:

W��� K%@ ��* ���� ��� E� ���$��� application 2�� �, ���%��� 8��� '������ Global.asax 2���� ��* E*�� N/�� �*�%�,� ������ �, %/���. ���%��� 8��� � 1���� �, ����$�� � ���� 3����� �7� �� T � ��� ���� �����$� E� ��$�� ?�* � �����

Global.asax.

H*� %��� 8��� K%@ '����� ������ ���Application 2���� ��* Global.asax: using System;

using System.Collections;

using System.ComponentModel;

using System.Web;

namespace MSPress.MobWeb.AppObjEx

{

public class Global : System.Web.HttpApplication

{

protected void Application_Start(Object sender, EventArgs e)

{

// Declare and assign a value to the global variable.

String AppStartTime = DateTime.Now.ToLongTimeString();

// Add the global variable to the Application object.

Application["AppStartTime"] = AppStartTime;

}

}

}

��( <�7�������� ���� Application_StartT � ��� ��" A�� D��� S��$�� . ��� �-���� 2���� � ���� T���� 8��� � ��� �, ���F � 1���� �, ����$�� � ���� 3����������� W�/ '�:

<%@ Application Codebehind="Global.asax.cs"

Inherits="MSPress.MobWeb.AppStateEx.Global" %>

��14 N� �� T � ��� K%@ �����$� !�; ��4��� /J��" ����� .8��� H*� � �/��� N���� ������ 5� ��14 ���� ������ .- B�� ����; '������ ��I� '�� ��0� C/�������%� %� P* ��" '����� !�; B��%\� '�� '. ���, ���-�� C/����� $ %K '�

B�� ����\� '�F '���� %�:.

Page 216: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

216

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<%@ Page language="c#" Codebehind="MobileWebForm1.aspx.cs"

Inherits="MSPress.MobWeb.SharedApplicationStateExample.MobileWebForm1"

%>

<mobile:Form id="Form1" runat="server">

<mobile:TextBox id="TextBox1" runat="server"></mobile:TextBox>

<mobile:Command id="Command1" runat="server">Enter</mobile:Command>

</mobile:Form>

<mobile:Form id="Form2" runat="server">

<mobile:Label id="Label1" runat="server">Label</mobile:Label>

</mobile:Form>

��, � 1���� �, � ���� 3����� ���:

using System;

using System.Collections;

using System.Web;

using System.Web.Mobile;

using System.Web.SessionState;

namespace MSPress.MobWeb.SharedApplicationStateExample

{

public class MobileWebForm1 :

System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.Command Command1;

protected System.Web.UI.MobileControls.TextBox TextBox1;

protected System.Web.UI.MobileControls.Form Form2;

protected System.Web.UI.MobileControls.Label Label1;

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

Command1.Click += new

System.EventHandler(this.Command1_Click);

}

private void Command1_Click(object sender, System.EventArgs e)

{

ActiveForm = Form2;

Label1.Text = "Previous User: " +

Application["LastUser"].ToString();

Page 217: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

217

Application["LastUser"] = TextBox1.Text;

}

}

}

H*� T���� T � ��� / 1�� �� �� ������ ��9��:

Page 218: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

218

�3? %"�C � ��� �: %"�C � E�=�� �: @��7� $����

������� � ����� � : A����K%@ ����� .

����: T � ��� A��� �;� T � ��� �/( �" � ������� �*% !�; ��4��� ��%�%* �� ��� A�� B�"%� �/( �, S��$� 'a(� )�*����

A��0� � �� !�" �"�� �F ���� �����.

������� ��!�: !�" �41�� �/( �, 5�� �� 2%$� :

• ��� � ��� A��� E,%� ����"�%� 5����� ����� '(�. • �, u���� )����ASP.NET.

Page 219: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

219

>�*� � @��� $����

2Q%$�� 5����� T � ���B�L���� T�� N/�� T � ��� 5�� ��� ��9��� 2J�<� '� �F� 5� � �?� � ��� D �� ��$�� �$�� T��

'������ �� ����;.

������� 2J�<��� T���� � �/ T � ��� % � � � ��" �\,?�J � ��� �/; � ������� '���(�� !<� �� T � ���. � P� ����� W�/� H�� !�" �"�� ���� ��<�7��� K$�T � ���� A��� !�".

>�*� � @��� $����

€ �80�" ���� %� � W�" � %& ��� � � �4/ �?� @��*/:

�, ��$�� ����; '"� A�1 ; �� ��L��� �( A��0� � ��� !��0� �� % ���� ������ ��� 3�� � !�; N�I �(���� �0 � ����� g� S��$� '������ ���� �� ����$�� '�� � P9��� ��� W%�� �����:. ���� �7 �$��� A�%�; 5� �4���� ./( � $1� ����G

2�� ��* ���%��� 8��� �(%�< Web.config

<configuration>

<system.web>

<compilation debug="false"/>

</system.web>

</configuration>

€ ����� @�2 /ViewState�����= $�� � ��� %& : '����� �� ��%�/ViewState ./( %,� B �; ������ '�" ��� �, B� $1� A�P�\, W�/� T � ��� ��" ��-� �%����� K$� W���

�%������A��0� E,% �������.

€ ��? �"? ���� � � �� ����� @�2 /�8� / ���� � : > ����� K%@ ����� ���� 2J�<��� '��� T � ��� ��� �/;?�* � ����� ���� ��" � $1� A�P�; �*1.

<%@ Page EnableSessionState="false" %>

€ N�H $�= ��"��� X� ����? @���/Application: ��4��� ������ � T � ��� #1� ��1������ 5��� �J��� �P9 �F�F��� #1� �, �%����� #1� !�; . �������� � ���� �� ��� ���

%��4��� �"���� ��%�9� � �L� �( ������ ./( �,�� '����� 3%%����% �� ��9� 3% P���� % @� u��� W�/� �, 3A�%��� K%@ ��* ���� ���Application �� % �� � P9� ��" Application_Start 2���� ��* Global.asax.

Page 220: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

220

> A�%�; �� '�� ������ ./( �, K%@ �7� �� ���� ��� !�; ��4���� ���� '��Application 3��$�� !�; %�% *� ��� ��40� %�4��� �� �����$���. H*� u�� ������ ��-��� 8�� K%P�DataSet K%@ ��* Application �7� �� W�/�

�� % ��Appliaction_Start 2���� ��* Global.asax:

public void Application_Start()

{

// Create the data component.

AuthorsDataComponent.AuthsComponent myDataComp =

new AuthorsDataComponent.AuthsComponent();

// Use the data component to fetch a DataSet.

AuthorsDataComponent.AuthsDataSet ds = myDataComp.AllAuthors;

// Store the data source in the application state so that

// the data source is available to all clients.

Application["AuthsDataSet"] = ds;

}

K%@ T % �" ���� ��� !�; �4 �� K%@ N0 ��� �(��"Application �� % ��* Page_Load ?�*�" ��14�� �"

5��=%�� 3%� ���� ��� 3�"�F �� ���� ��� . void Page_Load(Object sender, EventArgs e)

{

DataSet sourceDS = (DataSet)(Application["AuthsDataSet"]);

List1.DataSource = sourceDS;

List1.DataMember = "authors";

}

€ �80�" ���� %� � W�" � %& ��� � � �4/ �?� @��*/: 0 � ����� g� �, ��$�� ����; '"� A�1 ; �� ��L��� �( A��0� � ��� !��0� �� % �� ������ ��� 3�� � !�; N�I �(���� �

��: S��$� '������ ���� �� ����$�� '�� � P9��� ��� W%�� ���. € ����� @�2 /ViewState�����= $�� � ��� %& :

'����� �� ��%�/ViewState%,� B �; ������ '�" ��� �, B� $1� A�P�\, W�/� T � ��� ��" ��-� �%����� K$� W��� ./( �%������A��0� E,% �������.

€ �8� / ���� � ��? �"? ���� � � �� ����� @�2 /: ?�* � ����� ���� ��" � $1� A�P�; �*1 ����� K%@ ����� ���� 2J�<��� '��� T � ��� ��� �/;.

€ N�H $�= ��"��� X� ����? @���/Application: 1� ��1������ 5��� �J��� �P9 �F T � ��� #��F��� #1� �, �%����� #1� !�; ��4��� ������ . �������� � ���� �� ��� ���

Page 221: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

221

�, 3A�%��� % �� ��9� 3% P���� % @ '����� 3%%��� %��4��� �"���� ��%�9� � �L� �( ������ ./( �,� ���� ��� u��� W�/ K%@ ��*Application �� % �� � P9� ��" Application_Start 2���� ��* Global.asax.

K%@ �7� �� ���� ��� !�; ��4���� ���� '�� A�%�; �� '�� ������ ./( �,Application 3��$�� !�; %�% *� ��� ��40� %�4��� �� �����$���.

>�*� � @��� $���� )����(

€ ����� J / ���� � ����� � �������:

K�%@� � ��� ���� �,DataSet ���� '��� %4��" ��* 3%SelectList, List �ObjectList � %4��" � ��� 5� � ����"��3��$� 5�� �� ��" ��J��������14 !�; 84���� ' ���� '������ % �1��� 5� . ' ���� �� )���� �/( �,N%� � ���

%4�$�� �F� %,� ��� �, �� ������� .%��<; � �5����" =���� ����� � � �� '����� %4�.

€ ���� � ����/ ��?/ ����? �"? �����= ��H �� ��� �����? @���/ ��?:

��'(� �4���� '����� A��0� � �� �� ��� MobilePage.IsPostBack !�" � %�%*�� % @ ����$��� �� ��" 5���� ���� ��� �14�� � ���� !��0� 3%��� �, ����$��� �� ��" / 1�� �� T����� W�/� �����14�� ��%; 3��"; '� 3%� �� �, # �.

€ ����* � �������System.Text.StringBuilder��&��� � �� #� � A�� :

E���� 3%�9; '����� �� )%� �� % �� ./( %��$� (+) �� % -��� ��*�� ���� ��� � ��� �, 8�0��� � ,%���� �7�� S���W�� 2%����� �7 S�� �� ��".

StringBuilder detailText = new StringBuilder();

detailText.Append("This block of text ");

detailText.Append("will be <b>displayed</b> in a ");

detailText.Append("TextView Control.");

TextView1.Text = detailText.ToString();

€ ���� ��"�� J / ���� � *=SQL %�C�7� ��3 �:

�"�� % �� ��9� ���� ��� !�; ��4��� ������� �� J�%�G� '����� � ��" �,<�7� ��9� A��0� 3�� � . ��" ����� �( W�/� K�%@0� '�����SqlDataReader �OleDBDataReader� ������� 84�� ��4� 5� �� ���� ����� �, �D �����.

€ ��H7� *��"� $? )���� � %& NVisual Basic.NET

W��(% ������ � /�� � %� ��� ������ ��� � ��� A��� 3�� �� 3% �� ��Visual Basic �(� ���; true !�; �14����Strict �, � P9��� ��� W%�� !�" �F��� %,� ��� �������� ��F K�%@0� ���� E �� �" H %4��� 3%�%* ���� ����

���� !�" 2%$����������� �1������ ���� ��� .

Page 222: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

222

<%@ Page Language="VB" Strict="true" %>

X� �

%,��ASP.NET �( A��0� � ��� �������� ��� u���� T% D7- : € C%��� u��. € A����� u����. € ���� ��� u��.

U�� � X�:

B����� '������ ��14�� u���� '����� ����� @OutputCach #�% �, ������� 5��� C/��� ��14: <%@ OutputCache Duration="60" VaryByParam="none"%>

�14���� ����Duration !�" 5��� N/�� ����-�� ��" IISB , �����$��� u�� . � P9��� ��� W%�� ��� ��14�� #�% �, 3%��$�� ./( ����� 5��� ��� �/; �� , ��� 3��"; '� �J����� ����� ��%; ��14�� �

������ 2%��� �� ��%����HTTP_User_Agent. N%� '������ K%$���� �� 2 %$�� 5� �� E� ./( 2%����� �� ��%; . �� ��14 5� '� �/\,3L��� #1�� �44�� �(�

K%$���� )����$� ��� �74 B��� '�� � N%� � �� �� �(� ��� 3��"; �" ?�*�" ����%; .

H*� ��-���3%�1�� ./( ������: <%@ OutputCache Duration="60" VaryByParam="none"%>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage"

Language="c#"%>

<html>

<head>

<script language="c#" runat="server">

public void Page_Load(Object sender, EventArgs e)

{

lblTime.Text = "Page Loaded at: " +

DateTime.Now.ToLocalTime();

}

</script>

</head>

<body

<mobile:Form runat="server" id="frmMain">

Page 223: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

223

<mobile:Label id="lblTime" runat="server"/>

</mobile:Form>

</body>

</html>

T � ��� �/( � P9� ��"�� 3%� �� %-�0 ��14�� D ����K%$���� )�� #1� �� ��14�� !�; ��4��� ������� ����� % P� �� �� ��14�� ./( !�" %(�<�� 3�60 � ��- )�F��� �/( �, ��14�� � ��� ��$ �� N�.( B����� ��*� �� 5� @OutPutCache

�14����VaryByParam � ��14���� �1 � ��9� ��*� �� ��� VaryByHeader �VaryByCustom � ]%9 �� �� ,���� �� '����:

€ VaryByParam:�� �% ��� �����; �������� . ��� '���� �(� �� F � ��� '����� !�; ������ �� ����%; '� � %-�� T % �" ���$��POST� �GET.

!�; �14���� ./( �� F � $� '� �/;none 5� u��� � P9��� ��� W%�� '�� GET '������ % %�� ��� �, ; ���0� ����" T % �" =%�� �������URL 3%�9G� �$� (?).

������ ./( �, ��%� �/; ��%��� �����$��� '������ S����� ��14�� u�� �� �� F ��* ������� A��� � ��� �� �14����VaryByParam %�< ��� � ���� ��4�1� ���41� �,��-���:

<%@ OutputCache Duration="60" VaryByParam="selState;txtSearch" %>

� 3������ ' ��� E �� !�" ���$ u���� �$��� '7$�� 2%��� ��� ��*� � ��� ��%��� �7��$��� ��*POST �1� �� ��� ���; (*) !�; �14���� ./(.

<%@ OutputCache Duration="45" VaryByParam="*" %>

€ VaryByHeader: �"�� �14���� ./( �, #�% ��* %4�" !�" ?�����"� u���� � $1� HTTP .,��-��� � � !�$�

A�%�G #�%�� !�" ?�����"� u���� Accept-Language B��� ����� 5� OutPutCache� �� ��:

<%@ OutputCache Duration="60"

VaryByHeader="Accept-Language"

VaryByParam="none" %>

€ VaryByCustom :� '������ K%$���� �� !�" ?�����"� u���� % P�� �14���� ./( '����� ?�����"� ��� !�"�(� ��� '� �44�� � ,%��.

�� ��� �14���� ./( /�L�Browser�J���� ��9� .

� $� ����� 2Q%$>� 84�� u�� !�; ���� ��� �� ��� ���\� VaryByCustom �� % �� 2 %$� 3��";� GetVaryByCustomString K%P�� HttpApplication 2�� ��* Global.asax.

./( � $� �� 5� ��� ?��,� u���� % P�� � P9��� ��� W%�� ��F �� �������� '� ����� ������ 5� �� � ,%���� ����� �� % ��.

Page 224: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

224

H*� B����� � ��� '� D � 3%�1�� ./( ������ ��-���@OutputCache �� ��� : <%@ OutputCache Duration="60"

VaryByCustom="MySelector"

VaryByParam="none" %>

�� % �� 2 %$� 3��"; 5� ���GetVaryByCustomString 2���� � 1���� �, ����$�� � ���� 3����� ��* Global.asax public override string GetVaryByCustomString(

HttpContext context, string arg)

{

switch (arg){

case "MySelector":

// Send back the string that is used to distinguish

// between client devices for output caching.

return "MySelector=" + context.Request.Browser

+ context.Request.Frames;

default:

return "";

} }

X� � )����(

@4�� � X� � �������:

2Z%$> A����� u����B�L��� � ��� '����� 3��"; �4�� '������ �(I9� ������ �(� '������� �4���� '����� %4��" E� '���. u���� �� �� % �� ./( '����� ��� � ����A�� ��9� �F ����� '������ '��� %4��$� 8���� C%��� �� /�� 5��� ��14 ��

%���'������ !�; ��. u���� �� )���� �/( '����� ��9%��� %4��$�� �� : ���%������ ��14�� #�%� EF���� ��* � ���� =%�0� A���0�� � /���

A��0� � �� ��J��� ��� .

��"�� � X� �������:

'"��ASP.NET 3%��/�� T % �" u���� �> �� ��� N/�� ���� � � �1������ K�%@0� � ���� '���HTTP . u�� W�� T � ��� ��* ��� N� �� B �; ��4��� ��� �/� T � ��� � P � I% ���� ���� ���.

/� #%�1�� � �� ���� ��� u�� W��� � ��� ?��� �� ?� ��%� B$� ���$���.

// Save DataSet in the data cache; has Application scope.

Cache["DS"] = myDataset;

// Get the DataSet from the cache.

DataSet ds = (DataSet)(Cache["DS"])

Page 225: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

225

�3? B �C � ��� �:

��� $0�4 �?�

������� � ����� � : ����� 'J��� ����"G� 2�� ����� �������;

����: ����� '<$� �,� '��� ASP.NET 5��� C/��� ���14 � �9�� � �EF����� ��9��� �J����� ������� �a��ASP.NET '"�a�

3� ���� ��*%$���� K$������� �- ���� g��� . 3� �� ��� ��� '"� T% ����� ./( �, K%$���3� �� % 9L� ��P�.

������� ��!�: !�" �41�� �/( �, 5�� �� 2%$� :

€ � 1 ����"G� ��1�� ��* �������� ��� ����� 2 %$�. € ������ !�" 2%$����B������;. € �*�3���0� ���J��� 2 %$�.

Page 226: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

226

0�4 �?���� $

'��� ����� '<$� �,ASP.NET �EF����� ��9��� �J����� ������� 5��� C/��� ���14 � �9�� �� ; �������� ��� ����� K$� � $�T � ��� !�" ��$�� A��-� A� ���� � %�<� �� ,5�� ��� ��9��� T � ��� ���14.

��$ '"� '�" !�; 3%(�<�� ./( 5�ASP.NET K%$��� ����*%$���� �� % ���� ��$�� 5� �� ��$�� �1������ g��� �� % ��

K%$�� ���. /; '��� � u��1��� �� ��� �� ASP.NET g��� �� % ���� )����� �/( ��� ?��"� ���*%$����.

���� �� !�" T� �Microsoft �4�� ���� 3%�, �� �, � ��*%$���� �� 3� �� ���� '"�� '"��� � �����*%$��� 3%,�����. ���%� T % �" ������ ./( !�; ��4��� ���

6=tabindex?aspx.deviceupdate/mobile /net.asp.www://http

� �/�� ����$� � �% 3%�4� '�"�� % @ ���� '����� ���%��k W��� <��� ���ASP.NET������ ��� ��� �� 3� �� )���� �,�*\� H� E���� ���F �� �� .� P� �/� �7� ./( 3%�1�� T% ��

K%P�� �/( � �L�� ��������.

���?9� ����� $�= � ���� � ��4�8�� � ����

!�" 2%$��� '� 2 � '�1� �� 5� � �� ����� '"� �,�*; �� ������ 2 �� �J�����N%� %� ���B� 5�0� % 9L��� �P�. H*� N/�� A�%�G� ������ ��9����� T � ��� ?�%,��� ��� B� 2 %$� � ���� .%��� '�� � ������ �� .

ا�"!�ن

م�$ك

زم%

&'( ا�

Web.config و

Machine.config

+$ض

MobileCapabilities

و HTTPContext+$ض

ه2 1/� ت��% ا��/�ل إ�,

+$ض

ا�4�5

& 6ه! &'( ی��م م�$ك زم% ا�

ا�;:89

ی ? ا� 6آ� م% ت=/& ا�>�ادات

��"!�ن

Page 227: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

227

T���� ��9�� �, <�7���������� 5��� C/��� ��14 !�; 5� ��%\� '�� ������ .��" 5� �� ���� N%� A�9�; �� K%@ 24��HttpRequest� � K%P�� !�; ��4���� K%P�� �/( '�� MobileCapabilities �4���� %�" Browser ���� <1���

5� �� �%� ������ ��%�F ��� �����$� ����*. N%� T � ���� 8���� ���"G� 2�� 8�, �(�$� Web.config '�<��� ���"; 2��� Machine.config %4�$��� 8���� '���

<browserCaps>.

B���� D ����� ����- �F ��� �/;2� � %-��, 2���� ��* '��� �/( ���� ?�* � <�7�DeviceUpdate.config .��� ; ��� N/��� 2�� E�machine.config ������ ��* /Microsoft.NET/Framework/version/CONFIG.

H*� '��� ������ 8���<browserCaps>���"G� ��1�� ��* :

<browserCaps>

<use var="HTTP_USER_AGENT" />

<filter>

<!-- Nokia -->

<case

match="Nokia.*">

browser = "Nokia"

mobileDeviceManufacturer = "Nokia"

preferredRenderingType = "wml11"

preferredRenderingMime = "text/vnd.wap.wml"

preferredImageMime = "image/vnd.wap.wbmp"

defaultScreenCharactersWidth = "20"

defaultScreenCharactersHeight = "4"

defaultScreenPixelsWidth="90"

defaultScreenPixelsHeight="40"

screenBitDepth = "1"

isColor = "false"

inputType = "telephoneKeypad"

numberOfSoftkeys = "2"

hasBackButton = "false"

rendersWmlDoAcceptsInline = "false"

rendersBreaksAfterWmlInput = "true"

requiresUniqueFilePathSuffix = "true"

maximumRenderedPageSize = "1397"

canInitiateVoiceCall = "true"

requiresPhoneNumbersAsPlainText = "true"

rendersBreaksAfterWmlAnchor = "true"

canRenderOneventAndPrevElementsTogether = "false"

canRenderPostBackCards = "false"

canSendMail = "false"

<filter>

<case

match="Nokia7110/1.0 \((?'versionString'.*)\)">

type = "Nokia 7110"

version = ${versionString}

<filter

Page 228: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

228

with="${versionString}"

match=

"(?'browserMajorVersion'\w*)(?'browserMinorVersion'\.\w*).*">

majorVersion = ${browserMajorVersion}

minorVersion = ${browserMinorVersion}

</filter>

mobileDeviceModel = "7110"

optimumPageWeight = "800"

screenCharactersWidth="22"

screenCharactersHeight="4"

screenPixelsWidth="96"

screenPixelsHeight="44"

</case>

</filter>

</case>

</filter>

</browserCaps> <�7�A����� '�F� 3�" !�" T���� 8��� <case>���"���� ��*%$���� �� )�� ���� �� ��� . % ��$��� E ����� ./( '����

�J ��� ����� E� T�� ��� A�%�G � ��<���HTTP_USER_AGENT N/�� N%� 5� � �%� ��* 3��" .% %�� HTTP.

� �/; ������ K%$���� !�" 2%$��� �(��" ��� , T�� ��� ��� ; '� K%P�� � (L� '� , ;MobileCapabilities �����$���� '��� � ��� �, �(��� ; ��� ���� � J������ ����"G� �, 3������ � J������<browserCaps> 2�� ��* machine.config N/��

K%$�� B�� !�" ������ 2�4 HTML 3.22�%$� % @ ��� .

���� �� A����� 5 �%���� 5�� ��� ������ T�� � �" D���� � ��" machine.config !�; !�; DeviceUpdate.config !�; Web.config .������ �����$��� ?�% �� B�A�%F '�� N/�� 2���� �����$� �P�� D ��.

��* �1������ ��*%$���� �����$� E*� '�" 3��" �*1 machine.config B���� ?�%<� 2�� �#�� �/� N� C�%�; �*1

� D ���� 2�� ��* ��% P�DeviceUpdate.config N%� D �� 2�� ��* 2���� �/( � ���machine.config T,� �� ��:

<browserCaps>

<result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile,

Version=1.0.5000.0, Culture=neutral,

PublicKeyToken=b03f5f7f11d50a3a" />

<file src="deviceupdate.config" />

<use var="HTTP_USER_AGENT" />

��� � $0�4 � �?�

�Q�� �����"; ASP.NET � ����� ��1��� E ���� XML� �� ����� '"� �,�*; � ��" ��� D �� 2���� � �$�

machine.config� �deviceUpdate.config �� ���� '"� � �L�� ��� � ��� ���� !�" � . �/; ������@% ����� � '"��� �/( �,�*; ���� T � �, 2���� '����� 5� Web.config.

Page 229: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

229

�(/���� 5� ��� � D7- W��( B������� '��� N/�� �����"G� 2�� �" %<��� KP�:

1 X '��������<� % �$� H� ������� !�" 2%$���. 2 X ������ ������; 2 %$�. 3; /( ����;���"G� 2�� ��* ������G� ..

4�8� � J�? ��� �

5� � �%� %����� � ��" %��$��HTTP User-Agent���<� % �$� '������ ���� !�" 2%$��� �*,0� �� % �� �.

, $*��� �J��- K%$�� ��� ����� K$� W���� ��-��� � � !�$� ����$� B��� HTML �WML N%� D �� �%1��

'������ � �%� User-Agent ����� � � ���� � ,�� . �� F ���� �/; ���User-Agent ���*%$�� 3�$� 3���� , ?�� ����� �� F %����� User-Agent � �%��� �� F '- Accept-TypeK%$���� B�� N/�� =������ )�� � $�� .

� �%��� !�; ��4��� ��� User-Agent �4���� T % �" MobilePage.Request '�� � �%��� �� F ������ ������ ��-���

User-Agent 2�� !�; header.log:

<%@ Import Namespace="System.IO" %>

<%@ Page language="c#"

Inherits="System.Web.UI.MobileControls.MobilePage"%>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<script runat="server" language="C#">

public void Page_Load(object sender, System.EventArgs e)

{

FileStream fs = new FileStream(Request.PhysicalApplicationPath

+

"header.log",

FileMode.Append,

FileAccess.Write);

StreamWriter log = new StreamWriter(fs);

//Write the user agent to the log file.

log.WriteLine(Request.UserAgent);

log.Flush();

log.Close();

}

</script>

<mobile:Form id="Form1" runat="server">

</mobile:Form>

Page 230: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

230

� �%��� �� F ��� ; �$�User-Agent �� ���"G� 2�� ��* ���<��� % �$��� A�9�; �� ��� .,�-��� � � !�$�� %����� ���%� �/;

'"� � $� ���� �� K%$��EzWAP %� �; ?�� ����� '�<��� �� F ���$�� 3%�%*� HTTP_USER_AGENT � ��" �, �14���� � ��� '- 3%��1�� match %4�$�� <case> � ����� �P 4�� �, ��� ���<� % �$�� :

<browsercaps>

<use var="HTTP_USER_AGENT"/>

<filter>

<case match="EZOS – EzWAP 2.1 for Pocket PC">

</case>

</filter>

</browsercaps>

?�* � ����� 'F% ��9 � ���<��� % �$��� E �� ����� � � (L�� B������ ��� N/��8J�4��� K%@ �, MobileCapabilities:

<case match=

"EZOS - EzWAP (?'majorVersion'\d+)(?'minorVersion'\.\d+)(\w*)"

>

��"���/ J�? ��� �4�8� �

K%@ W�� MobileCapabilities������� ������ ������; 24� ���� 8J�4��� �� � �$�� . � � ./( '(� ������ ������ 8J�4����K%P�� �/�� ?��$�� �(%-��:

���� � *�" � ��0���� � ���� � �� � Browser String Unkown K%$���� '� �" %�$�.

CanInitiateVoiceCall Boolean False �� ��� �4���� ./( /�L�True # L� !�" %��F ������ ��� �/;

� ��4 ��4�� CanSendMail Boolean False �� ��� �4���� ./( /�L�True �/;

� ���� ��%; !�" %��F ���� �P 4�� '������ � %���mailto

HasBackButton Boolean True �� ��� �4���� ./( /�L�True �/; ������ ���%,� �� %�Back

�������� 2������ %-�� �-�. InputType String telephoneKeypad ������ !�" ������� �� ����

!�" ?�����"� ������� ' ���� �4���telephoneKeypad

��VirtualKeyboard �� Keyboard

Page 231: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

231

IsColor Boolean False ./( /�L��4���� �� ��� True; �/����0� '"� ������ ���.

IsMobileDevice Boolean False �� ��� �4���� ./( /�L�True �/; '����� %4��" '"� ������ ���

��������. MaximumRenderedPageSize Int 2000 ���� ��14�� !4F0� �� ��

� ����� ?�%��� �(%��<; ��� . MaximumSoftLabelLength Int 5 0� �� �� ��� N/�� 8��� !4F

���%��� %��� ��* .%��<;. MobileDeviceManufacturer String Unknown >� '�O�4������ E

MobileDeviceModel String Unknown ������ ��% NumberOfSoftKeys Int 0 ���� � ��%��� %�%�0� ��"

������ ���"� PreferredImageMime String Image/gif ��MIME N/�� �*1���

.%��<; ������ ����\�. PreferredRenderingType String Html32 \ N/��� =������ �*1��� ����

.%��<; ������ ��� . ��*�� �������� ' ���html32 ,

wml11 ,wml12, chtml10

ScreenBitDepth Int 1 ������ �$��� �" �4���� ./( %�$� 5 ?�%��� %��<_�bit/pixel

ScreenCharactersHeight Int 6 N/�� 8��� %� � �� %���� 'F%��.%��<; ������ ���

ScreenCharactersWidth Int 12 ���� 2%����� �� %���� 'F%�� % !�" �(%��<; ������ ���

����. ScreenPixelsHeight Int 72 �� ���� %��<G� �9�9 )�1�%�. ScreenPixelsWidth Int 96 �� ���� %��<G� �9�9 K%".

������ !�" ������ 3%�4� �������� ��� � ��� � ��� N%� , ������"G� ��* H �4 ��9� ������ 8J�4��� � $� '� �/; . ����

�����$��� ./( �,%$� ����� 2 �k

T% D7- 3��" W��(: 1 X ������� ��,%��� TJ�-��� T % �". 2 X 4 S���%� % � � T % �"8J�4��� ./( ' F 87��� ������� ������ ���"� % 9L� �P�� % P.

Page 232: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

232

3 X ���� �� ��" �� ��L���� ���"G� 2�� ��* ' ��� % P� T % �") �F� �� W���� ��� ?�%<� ���$, % @ 3��" �� % ��% ��(

4�8� � ��"���/ J�? ���� ��3P� �2 �������

8� ����� ������ �, ��( 3%�1�� 8���� ��F�%� 3�"�%� E� % 9L� �P���� ' F 8J�4� K%P�� MobileCapabilities . �/\,

�P�� 5������ ������ 8��� ��/��WML: <% Response.ContentType= "text/vnd.wap.wml" %>

<?xml version="1.0"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"

"http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

<card id="card1" title="Card #1" newcontext="true">

<do type="accept" label="Softkey label">

<go href="#card2"/>

</do>

<p align="center">

<input type="text" name="test"/>

Text after input box.

<br/>

<a href="#card2" title="anchor label">Next</a>

Text after anchor

</p>

</card>

<card id="card2" title="Card #2">

<p align="center">

<select>

<option>One</option>

<option>Two</option>

<option>Three</option>

</select>

</p>

</card>

</wml>

K%$���� %�< EZWAP8��� �/�� � ����� �� ���� :

Page 233: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

233

�� �� ���� �� <�7�: X � �$� % %��<\� '�F K%$��� > '� B��� ����G� ��� ���%� �$� �,�*G� % �� %�< .

X %��<; '���7" �4�� %4�$��� <do> ���%� %�� ��14�� �1� �, ��/� B��* �44���� 3%��$�� �� 5�$ �� '�. X J %��<; '� �� �" %���� ��" ��4� %��<; '� � ��-�� �F� ��� !�; ������ ��"%� �� ��.

� ����� ' ��� EF��� �� ����� �(�� �% ���� SJ����� �7� ��8J�4�� MobileCapabilities

���� � ���� � MaximumSoftKeyLabelLength 20

RendersBreaksAfterWMLAnchor false

RendersBreaksAfterWMLInput false

RendersWMLDoAcceptsInline false

RendersWMLSelectAsMenuCards false

������ �? 4�8� � ��"���/ �����

� ���� ?�* � ��"���� ��� ���� T% �� ��� �K%$���� !�" �� ���� ��F�%�� ���"G� 2�� ��* �4���� �� F % P� � ��" %��$��

������ ������; .L ���� ��%���� � �: � ��� �� % �� ./( ���$�.

� �, '���%����� T % �" ������ ������; � ���� � ��- .8J�4��� ' F %���� ������ ���%���� 8��� �1,: RenderBreakAfterWMLAnchor RenderBreaksAfterWMLInput.

�/�� '� ��� �� �������� ��� '��� '- ������ !�" 2%$��� � 4�1��� �� !��0� ���� %,� ���"; 2�� �� ���� �� C%��� ��%:

<browserCaps>

Page 234: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

234

<use var="HTTP_USER_AGENT" />

<filter>

<case

match=

"EZOS - EzWAP (?'majorVersion'\d+)(?'minorVersion'\.\d+)(\w*)"

>

<!—start with previously established properties -->

browser="EzWAP"

type="EzWAP"

version= ${majorVersion}.${minorVersion }

majorVersion= ${majorVersion}

minorVersion =${minorVersion }

isMobileDevice="true"

mobileDeviceModel="Pocket PC"

preferredRenderingType="wml12"

preferredRenderingMIME="text/vnd.wap.wml"

preferredImageMIME="image/vnd.wap.wbmp"

inputType="virtualKeyboard"

<!—Test with default values for these properties first -->

rendersBreaksAfterWMLAnchor="false"

rendersBreaksAfterWMLInput="false"

</case>

</filter>

</browserCaps>

B� ��� �����"G� %������ '���� ����� 5� ��14 2�� A�9�; �� ��� �� E� ���.

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<%@ Page language="c#" Codebehind="MobileWebForm1.apsx.cs"

Inherits="MSPress.MobWeb.TestBrowserCapabilities.MobileWebForm1"

AutoEventWireup="false" %>

<mobile:Form id="Form1" runat="server">

<mobile:TextBox id="TextBox1" runat="server"/>

<mobile:Label id="Label1" runat="server">

Text After Input

</mobile:Label>

<mobile:Link id="Link1" runat="server">

Link

</mobile:Link>

<mobile:Label id="Label2" runat="server">

Text After Link

</mobile:Label>

</mobile:Form>

�� ����� �(��"� 8��� ����; ��� �$� �,�*; % ���� <�7� �.A�9�\� ���F N/�� ������� 5��� C/���� 8���� C%��� ��F�%��

Page 235: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

235

B�� 2%$� �4���� � $� 5�RendersBreaksAfterWMLInput !�; false .

' F �� % -��� � $� ��� �� % �� ./( �-��8J�4��� � �1������ % 9L��� ��P�� �,%$� 5� �� �� % �� ./( �\, <�7� ��� ����� � ?��F� W���� �����.

48�7� ���0��� *=

K%$��� ����� �� A���� �/( �, ��� ����� ���J��� %�� K�%$�� 2 � 2�9���N%� %� ��� � �4���� �"������ 'J��� ������ ��%� ��" E ��� '��� 2 � '�$�� 2�� �� 5� � �4���� �"������� � �� ���� '"�� ������ 'J����3� �� % 9L� �P�.

Page 236: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

236

N%� � ������ !�" ]���� 2%$���� � P9��� ��� W%���� '�� �� �$� � (L�8J�4� K%P�� MobileCapabilities �� �� 5� �� �%� ������ 5�0� % 9L��� �P� � ���.

%��$� '�� N/�� �������� '����� %4��" �� A���� 3���0� ���J���' ���� ���� !�" 5����� ��9��� �������� '����� %4��" � $�.

3���0� ���J��� 2�14 !�; %<��� 5� �/�)��������" ( �%���� '����� %4�" � � %� ���� !�"������� ��9�� %�< ��� ������.

�, �������� '����� %4��" '"��ASP.NET��9� �J����� �� �$�� �"���� WML1.1 ,

WML1.2,cHTML1.0,HTML.32, XHTML .'���<$� !�" 3� � SJ��� 3%,����� ���J����� 3%,����� ��� ����� ' . % ,�� '����"���� % @ 3���b� 3� �� ���J��� T�� !�" � %� ��� E �9�� 3���0� ���J���� N%�4��� 8���. 8��� !�; ��4��� ���

��4��� T % �" N%�4���6350=LinkId?/fwlink/mco.microsoft.go://http.

���0��� � *= ��?���� �������48�7� ���� �

��* ������� 5��� C/��� '��� %4��"� 3���0� ���J��� � � �F7$�� 2 %$� ����� Web.config� �machine.config � W�/��"���� ��* .

, �, �������� '����� %4��" � ��� '� ��-��� � � !�$Asp.Net �� %4��$� 2 %$��� ������ ��� ����� ���J��� �� ���� D7-�

2����machine.config %4��$� <HtmlDeviceAdapters> �<WmlDeviceAdapters>� <ChtmlDeviceAdapter> '"� �,�*; ��� ���<XHTMLDeviceAdapters>.

'J���� ����� '��� %4�" �� ������� 3���� ���J��� �"���� �� '��� !�; ������� ��% 9L��� % 4�� '�� N/��� 5����� ������

������. ������ �� 5� ���� ��"� N%� ���;� 'J��� �5� �� �/( ' ��� %��� '�� N/��� 5� �� �/( !�; %-��.

%4�$�� ��* 3���0� ���J��� �"���� � $� 5� <mobileControls> ��* Web.config� �machine.config � '"� D %4��" 3�" %4�$�� �/(���9� �� %4�$�� <device>3���0� ���J��� ��"���� 2 %$�� '������ .

ز!�ن

CHTML

/=�� ن��ذج ا��ب ا�����ل

<mobile:Label/>

& >% /C >�:$ ت��? Dم

Label

C:ا� %< &Dم

CHtmlLabelAdapter

4�E �!F ا�

ا� 6ش$ات

ا��:$ة

H!ر

Page 237: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

237

%�< %4�$�� ���"� ��14�� #�� ������ ������<device>:

�14���� 24��� name ���J����� �"���� '�

predicateClass ���G� �� % N��� N/�� 24�� '� predicateMethod ���J����� �"����� ���� �� % '� . 3%��" �(�

���� �� % �"N%� ���� �/; �� , ��L��� �������� ������ ������ ����� 3���0� ���J��� �"����

������. pageAdapter �"���� ���� N/�� ��14�� 'J��� 24 '�

���J�����. inheritsFrom ���"G� �-�%�� �������� ��� �"���� �� ��

=%�� 3���� ���J��� .

%4�$�� '"� <device> )���� �� A���� %4��" �"���� <control> �, '���� ����� ���; ����� '��� %4�" !�; 'J���'��� %4�" ., ��-��� � � !�$� �������; ������� '����� %4�" Panel !�; '����� %4�" 'J���WMLPanelAdapter.

W�� %4�"<control> ��( � �14�� name �adapter. ���; '� ������� '����� %4�" 24 '� �14���� !�; name ';�

�14���� !�; '����� %4�" 'J��� 24adapter. <?xml version="1.0" encoding="utf-8"?>

<configuration>

<system.web>

<!-- Other Web.config settings -->

<mobileControls>

<device

name="HtmlDeviceAdapters"

predicateClass=

"System.Web.UI.MobileControls.Adapters.HtmlPageAdapter"

predicateMethod="DeviceQualifies"

pageAdapter=

"System.Web.UI.MobileControls.Adapters.HtmlPageAdapter">

<control name="System.Web.UI.MobileControls.Panel" adapter=

"System.Web.UI.MobileControls.Adapters.HtmlPanelAdapter"/>

<control name="System.Web.UI.MobileControls.Form" adapter=

"System.Web.UI.MobileControls.Adapters.HtmlFormAdapter"/>

<!—Adapter mappings continue ->

</device>

</mobileControls>

</system.web>

</configuration>

Page 238: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

238

48�� ���0��� �?���� ����

5��� 3�$� 3� �� ���J��� 2�14 ����� ��� ��� B�� ��%�/., ���� ?7-�� �44�� ���� �� F ���� 'J��� ������ �� �,�*; ���

�44�� '��� %4��" '"�� 3���� ���J���.

84�� %�c� �� ��� ������ 'J��� ������ ����� �d�� �/;�� 84�� ����� '��� %4�$� �����"; �,�*;�� �B���J���� ����� 2�� ��* ��� ����� ���J��� �"���� ��1 %$� D ���machine.config ������ 'J���� 8���� 24�� '� ������� W�/�

3� ���� ����� ������� 24���.

�14���� '������ ���J��� �"���� �� �����"G� E �� D%� 3���� ���J��� �"���� 2 %$� ?�* � ��� � �� ���inheritsFrom %4�$� <device>. A���� %4��" 2 %$� '� /; <control>4�$�� ��* %Device #1� W��� ���� W�� ������

A��[� ���J����� �"���� �, '�. %4��" 2 %$� ��� ��� <control>�44���� '����� %4��$� �4�� .

� � 3���� ���J��� �"���� �-�%�� �4���� �����"G� ������ ��-���WmlDeviceAdapters � '�� ���� ���% � ���DeviceQualifies:

<?xml version="1.0" encoding="utf-8"?>

<configuration>

<system.web>

<!-- Other Web.config settings-->

<mobileControls>

<device

name="NewWmlDeviceAdapters"

inheritsFrom="WmlDeviceAdapters"

predicateClass=

"System.Web.UI.MobileControls.Adapters.WmlPageAdapter"

predicateMethod="DeviceQualifies"

pageAdapter=

"System.Web.UI.MobileControls.Adapters.WmlPageAdapter">

<control

name="System.Web.UI.MobileControls.MyControl"

adapter=

"System.Web.UI.MobileControls.Adapters.WmlMyControlAdapter"/>

<!-- Place any new mappings here -->

</device>

</mobileControls>

Page 239: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

239

</system.web>

</configuration>

���� �� % � 8���� ���%��� 8��� ������ , : public class Wml13PageAdapter : WmlPageAdapter

{

public static bool DeviceQualifies(HttpContext context)

{

MobileCapabilities capabilities =

((MobileCapabilities)context.Request.Browser);

bool qualifies = capabilities.Browser == "Openwave13";

return qualifies;

}

}

Page 240: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

240

�3? A�� � ��� �:

48�7� ���0��� �������� � $� ����� � ���"� � @�3"/

������� � ����� � : '��� %4�"�'J��� ����� �84�� %4�" ����"G� 2�� .

����: 2%$����� %4�" 3� � 3%�� !�" ����� ./( �, ������� '�� � 3���0� ���J��� 2�14 ���%� � 1 �� ��� 8���� T ���� T � �

����.

������� ��!�: !�" �41�� �/( �, 5�� �� 2%$� :

€ '����� %4�" 3� � 3%������ %� ���� ���%��� € 3���0� ���J��� %�� € 3���0� ���J���� � %�4��� 8�4��� ����� € %14�� �� '��� %4�" A������B� �44���� 3���0� ���J��� A� € �*�3���0� ���J��� 2 %$� € ���14 !�; ' ���� '"���44���� '����� %4��$� ���� ��� �"���� �%��.

Page 241: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

241

48�7� ���0��� ����� ���� � ���"? @�"

2%$����J��� 2�14 ���%� � 1 �� ������� '����� %4�" 3� � 3%�� !�" ����� ./( �, 3���0� �� ��� 8���� T ���� T � �����.

24�� �-�%�� '����� %4��" A��� � 1 � W�/� K%$��MobileControl � '� � B �" ���J����� 2�14 T � � � 1 �.%��<; !�" '������ �����.

��� � $� ���� � ���"? @�":

����� ��� �� 3%,����� �������� '����� %4��" ��* ��� '� �/;�� 24 A�9�\� W�/� %14�� �� ����� '��� %4�" % � � ������\�, 24�� D% MobileControl� � �-� N�"�F 24 N�PageControl� �Panel.

� 5 �%���� '����� %4��" A�9�; � ��" �� %��� ��" '�� %14�� �� '����� %4��" % � � 5� � ��-�%����. • , '��� %4�" % � � ��$" !�" n?�����"�%4������� %�: ������ '����� %4�" ��,%4� � �$�� �, '���%�" �,�*;

� �4���� 3� �� �� % � 2 %$� 3��";8J�4�� �3����� T% . • /�W� '������ '��� %4�" 5 �%� ��" ����� �( %4�" 3�" 3%,����� %4��$�� �� '��� ���� /; 3��$� % � ��� � ��"

?����� E �� �-�%� 5�� W�/>��� '����� %4��" 2J�<������. %14�� �� '��� %4�" % � � ���� �, ����� �" 5��� 7,'����� %4�$� 8���� 24�� % � � �, � ���;�� 24 % � �� 2�14�/( � ���� '����� %4�$� 3���0� ���J���.

��F )�%9�� %4�" ��� %� ���� ���%��� '�, �� ��� �� '����� %4��" ������ � �(A�"���� '�� ���� T% ��� '����� ��F����J�"���.

� ���%��� ./( 8 ��� ��� �� ��:

1 X ��14�� =���� � ����'����� %4��" A���. 2 X ��� �/; '����� %4��" ���� 3��$��=%� �FT � ��� T���� 5� �� � ��� �, ���� ' F N� <1� . 3 X ������ �� ����%; '� ���� ���� ��� ����$��'����� %4�" ���� D ���. 4 X '����� D���� T7 ;�D���0� �����$� / 1��. 5 X ������ 5� �� %�<���� '����� %4�" ���� <1�. 6 X � �9�5��������� !�; B��%;� . 7 X '����� %4��"� ��14�� �� 8��������� �44���� 3%��/�� 3��$��.

% �� �� �"���� A�"���� '�� ��" %� ; �� ?�* � ��%�/�� �; ��4��� ��%��� �44���� 2J�<��� T � ��� ������� '��� ���� T.

H*� '����� %4�" 3� � 3%�� ������ ������� T% ��� ���� D���0�N%� �(I�"��� : ���%��� D�� �/�� � T% ����(/ 1�� '� ���� D���0� 3���0� ���J��� T%

� (L��� �����"G� � (L� '� � �� ���7�� 5

������

OnInit: '����� % ��OnInit D���� T7 \� Init

�� % �� A�"���� '����OnInit �$�����

OnInit: 5����� ������ 'J��� 24 %� ��� '�

��"'����� %4�" �� �-� T�� . /; '���

Page 242: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

242

������� 'J��� 24 . 8�� %4�$� ��$�� T �� T � ��5�

�� % �� W�� 2 %$� 3��";.

� % ��� OnInit 24�� ��* MobileControl �� % �� A�"����

OnInit������ 'J��� 24 ��* . =���� � ���

ViewState

=���� � ��� '� ViewState ��

�, ������ K%P��T���� 5� �� � ���.

LoadViewState: 2 %$� 3��"\� '��� �� 5�

LoadViewState ���@% ��� �, ������ 3��$�� � ��" 8 4���.

/; �� % �� '���LoadPrivateViewState ������ � ����

'������ !�; ����%; '� ���� � ������.

LoadAdapterState : �����$� N� <1� ������ 'J��� ��� �/;

��* ������� �4��ViewState � N%� ./( �, �����$��� ./( � ������%���.

�� % �� '���LoadPrivateViewState

4���� 24��� �MobileControl �� % �� ./( A�"����

(LoadAdapterState)

���� ��� ��%;������ ��

���� ��� � ��� '� ������ �� ��%���

LoadPostData: %4�" E� '������ �"�1� �� �� ��%; '�

�� �� A��� '����� !�; '����� ������ 5� . ��%��� ���� ��� � ��� '� � D ���

���8J�4%4�$�� �/�� ������� . 24�� !���� ���� %4��$�� ��9�

IPostBackDataHandler ./( �� ?�A�� ���%���.

�J���� ��9�W%�9� T% N� �$������%��� ./( �, ���� 'J��� 24�.

� ����� N%�� ���"0� ��( %�<� �� 5� ���� H�1� �5� �� ��"

3�"��� ��4��-� ���� ���?7.

OnLoad: D���� T7 \� �� % �� ./( '���Load

� �� % �� A�"���OnLoad 24 ��* ������ 'J��� . ��� �� % �� ./( � ��� �,

'����� %4�"����� ������ 3%�4� H� � �� �� ������ 3��$��SJ��� �� 3��"; ���%� �����$��� ��%; � ���N%�� � ��"

� �"��F �� ���� ��� 3��$������ ��.

OnLoad: 24��� �4���� �� % �� ./( '���

MobileControl �� % �� A�"���� OnLoad������ 'J��� 24� �4���� .

��� ��� ��%; % P�����*

��%��� ���� ���

D���� T7 ; '� ������ ��" % P����

N���� �, �% @ �� ��%��� ���� ���

������ ���� �� �4���� %4�$

����'�.

RaisePostDataChangeEvent: N%� �% P� �/; % P��� D���� T7 ;

������ ��%G� � ��" � � ������ ���� �� �� �������� ����" ����� �( ��� D����

TextChanged '����� %4�$� 8���� TextBoxD���0� ./( ��� .

'"�� ���� '����� %4��" W%�9�

W%�9� �� J���� 3%�4�% 2�14 T���%��� ./( �, ���� 'J���.

Page 243: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

243

IPostBackDataHandler ./( �, ���%���.

D���� ����$����� ��� ��%;

���� D���0� 2% �� 5 ��� �������� '������ �"�1��� � ��" �"

������ E�.

RaisePostBackEvent: % P� D�� N� �$� D���� �/( T� � .

N%� D�� !� �� T7 ; ��� �� ������.�����'����� ., ��-��� � � !�$

'��� %4�" !�" '���� %�� ��"Command ��%; � ��" '�� �����

�� $���N%� � D���� T7 ; Click. 24�� !���� ���� %4��$�� W%�9�

IPostBackEventHandler ./( �, ���%���.

HandlePagePostBackEvent: � D���b� ���� �/; %4�" !�; ��%��

������ !�" ?�����"� )���� �� '�����2����� ./( �, '����� %4�" !�" 5� ,

A�"��� ������HandelPagePostBackEvent A� "G

��%; D�� ����$�� �4%1�� ������ 'J������� ��� .

��F �� ���%�� �$���

E �� ��*�� '�� ���� ��- �����

� ��" ��F� �$� � %4�"'����.

OnPreRender: �� % �� '���onPreRender T7 \�

D����PreRender � �� % �� A�"���OnPreRender 'J��� 24 ��*

������. ��- ��� N� ���%��� ./( �, '�� ��� %4�$� ������ �����$� !�" � ,�*;

'�����.

�� % �� '���OnPreRender 24�� �, MobileControl �� % �� A�"���� OnPreRender 'J��� 24 ��*

������.

� ��������� �����$�

���%��� ./( �, '� �����$� <1�

�4����ViewState ��*

�� �� K%@ '� � � 4� ���

B<1�.

�� % �� ��40� E*��� ��� �� 3��"SaveViewState '<$� �, ?�����

�����. �� % �� 2 %$� 3��"; ��� ��� N� !�"

SaveViewState��" �, ��@%�� ������ 3%��; 8 4��.

�� % �� �"���SaveViewState �� % ��SavePrivateViewState �����

���� � ������ ������ �����$� � ���� '��������� !�; ����%; 3��"; ��� .

������ �, ������ K%" � ����� 5�� ��������N%� � ��� ViewState

" ��� K%@ ��* ���%9 ��� '����� !����� ���� �,.

��� N� !�"� � $1� A�P�; %� ��� ���

SaveAdapterState: N� <1� ������ 'J��� K%P� ���

�����$�ViewState ������� �4�� ./( '�������� % �� .

�� % �� '��� D �SavePrivateViewState �4����

24���MobileControl ./( A�"������ % ��.

Page 244: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

244

ViewState. ����PrivateViewState D � �1����

A�P�; ��� � ������ !�; ����%; '� ��� $1�.

� �$��� ���%��� ./( �,

C%��� � ��� '� B��%; '� N/��

������ !�;.

Render �� % �� A�"���� �� % �� ./( '���

Render������ 'J��� 24� �4���� .

Render: '���� K%P�� �� % �� ./(

MobileTextWriter C�%�\� '���� !�" '����� %4�$� ���� ��� ��% 9L���

������ ������. i %1��� '�� ���%��� ./( �,

'����� %4�" E �� % %���

�%�����

OnUnload �� % �� '���OnUnload D���� T7 \�

UnLoad �� % �� A�"���� '���� OnUnload�� 24� �4���� ������ 'J�.

�� 5� %%�� ���%��� ./( � �1����� �%���� ��4�� �-��� L� =%� ���� E� ���� ��� 3�"�F.

OnUnLoad: �� % �� '���OnUnload 24 �,

MobileControl �� % �� A�"���� OnUnLoad������ 'J��� 24 �, .

�J����� 5 �%��� ���%��� ./( �, '� ��F �J����� 2 <���� �� %4�$�� ����;

3%��/��

Dispose

48�7� ���0��� ���

� ��� E��ASP.NET �� ��� �������� ASP.NET=%�0� . T% �� �� ����9�� �"���� '����� �� % �� #1�� ��$� �(� 24�� �� D%� ���� %4��$�� ./( ��� ��,%4����System.Web.UI.Control. =��; �� ;��� ��,7��� %4��" � � � %(�

� � ��� W��� �������� '����� �, ����3���0� ���J���� �������� '����� %4��" '�����.

�, 84�� '��� %4�" % � � ��" �������� '��� ���� T% �� ��� ��� �;ASP.NET �� % �� �( Render � �9�� '��� ����� !�; B��%; '� N/��� % 9L� �P� �P 4� C%���'������.

�� % �� ?�* � ������� '����� %4�" W��� Render � �� % �� A�"���� '��� �� C%� � �9�� '��� ���� ;Render � ��%���

������ 'J��� K%P��������� % 9L��� �P�� C%��� � �9�� .%��� '�� N/��.

Page 245: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

245

����� '��� %4�" �� C��� � 24 !�; 3��"�J��� 2�14 �� %-�� D � 3���0� ���%,� �� !�" ��$�� � ����; 24 �� 3���0� �� � $�.

%�$ ������� '����� %4�" � � �"�1��� �" ?7-� ������ ��9��List �B� � ��%��� ���J����� 2�14.

�'����� !�; �� '���� 5� �4 ����"2%$��� N%� � ,%���� ����� 8�1� ������ )�� !�" User-Agent �" 3%%���� 5� � �%� T % HTTP���� ��� �, �� �% ��� . ���"���� ��� ����� ��J ��* ������ �" D���� '� '- � '� '- ���

5� �� �/�� ������� 3���0� ���J��� �"���� 8 4��.

3���0� ���J��� �"���� N���������� '��� %4�" ��� 8�� ���� 'J��� 24 . E �� W%�9� �, 3���0� ���J��� 2�14 �"�������"� D � �� 3���� � �-� ������ ���� �� ���� #1�WML1.1� HTML3.2� CHTML� �XHTML.

Page 246: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

246

���"� ��%��� 3���0� �� �� ��� 3���� ���J��� % � � 5� 3� ���� �������� '����� %4��" % � � ��"� �"���� ��* ���,�*;���� �4���� ���J����.

���J����� �"���� ��* B� 8���� ������ 'J��� E� ��14�� ��* ����� '��� %4�" �� ��$ �� ���� 5� ����$� ��" ���� ��% 9L��� � ���� 3%������N%� ������ !�; ����%; .

Page 247: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

247

A���� ��� � 48�7� �?� $��"

�, 3���0� '"� �� �� �;ASP.NET ��FE���� ��. '��� %4��" D ��� � ��" �\, W�/� ASP.NET '"� !�; N�I �������� ��� ����� �� 3� �� )����. �� D ����� %�<��� � %� �d�� �/; !���Microsoft � N/�� �J������ 'J����� ���N%� .���; ������ !�;

5��� % @ � �������1�� 5�� ��� '"��� �,�*; ������\�, .

48�7� ���0��� ������ � ���" � A� ��� �: % � ��� �J � '����� h�;Visual studio.Net3���0� ���J��� % � �� ���� %-�0� �� % �� �( . /; ���%��� 8��� �,�*; ����� ���F N/�� ������ 'J����Microsoft B� ����)�%9� !�; �� �� ��%�� http://go.microsoft.com/fwlink/?LinkId=6350

% � ��� � ��" � ���. �P 4�� !�; ���%��� 8��� � ��� �(�$� ��� ���� ��� ���� � ��� ��* B������� 5��� '��� !�" B$*�.

�, �%���� �� � ��$� ��"���� ����� ���� ���%��� % � ���: 1 X �P�� � �� )�%9� A�9�;C#) ��VB ( )���� ��Class Library )�%9��� '� ��� Custom Adapters

2 X �J������ 24�� 2/�Class1.cs '�F N/�� Visual studio 3/,�� �, )�%9��� T�, �� 0� %���� %���� '- .A�9�\� Solution

Explorer %� ���� Add '- Add Existing Item,�*; '- 8�4� E �� �C#EF�� �� �� ���� '� ���� � ��%��� Microsoft������ 'J���� �4����� .

3 X 3/,�� ��* �� 0� %���� %����Solution Explorer %� ���� Add Reference .

4 X ��J �,.NET %� ��� Mobile Internet Control Runtime) .System.Web.Mobile.dll( �,�*G�� ������ !�; System.Web.dll)�%9��� !�; ���*� .

Page 248: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

248

5 X ( 3���0� ���J���� N%�4��� 8��� ��� � A��0� A�*, �, �,%$��� 3���0� ���J��� ����$�� '������ B1�System.Web.UI.MobileControls.Adapter2�14�� A��� #1� 8�4��� ./( '���� D � . E ��� � ��$� ���F �/\,

������� 8�4��� ./( N��� 2��� � � � ���� !�" ?�%��F ��� �� � P9��� ��� W%�� �0 L � ���% %�<� B������ 24��Sysytem.Web.UI.Mobile.Adapters.HtmlFromAdapter '� #1� W�� N/��� �$ ����� ��1�� ��* 24���

�A��0� A�*, #1� ��* E*�� . 6 X ����� � ��" '���� � %�4��� 8�4��� '���� <��� ���2�14�� B �; ����� N/�� A��0� A�*, 2 %$�� � %9�� E . �/\,

���-�� 2 %$�� T � ��� '�FCOMPILING_FOR_SHIPPED_SOURCE ������ 'J��� %��4� 2 %$� ?� J���� N%� ��*System.Web.UI.MobileControls.ShippedAdapterSource.

7 X �J � �,Visual Studio.NET���-�� �/( 2 %$� ��� 3/,�� ��* )�%9��� !�" �� 0� %���� %����� Solution Explorer %� ����Properties� � ���� %� ���Configuration Properties8J�4��� ��14 % � �, �������� 3%�9 ��* . ��� '-

%� ��� %� ���Build?�% ��� � ����; COMMPILING_FOR_SHIPPED_SOURCE ����-�� �� ���- N� �$� �� %9�� E ����� ����-� �44���� ������ ��* 3������. 8 X 3������� '����� %4��$� N%�4��� 8��� � �$�� 84���� '����� %4�$� � �� ���� 'J��� N� A�9�; N%� . E ��� '-

3���0� ���J��� �� N��� � �� �$ ��� 2�� !�" ��4��� )�%9���. 9 X A�9�; 5� � ���� �$ ����� 2���� '���� 3/,�� ��* )�%9��� !�" �� 0� %���� %���� '- �� �� ����� 5� )�%9�

Solution Explorer%� ���� Add Reference 84���� ������ 'J��� !�" � ����� ������� %� ��� '- (DLL) ���,�*;� )�%9��� !�; .�� W�/� �44���� ���J����� '���� )�%9��� �����"; �* !�; ?�* � C���� 2���� ��* Web.config

T � ���� 8����.

�"@� *�� ���� ���� ��"? @�"4�8� �0���

'��� ����� �� A���� �/( �, �%4�$�� �/�� ���� 'J��� A�9�; !�; �,�*; ��J���� '��� %4�$� B �9 '��� %4�" A���.

'� �J���� ��9�%��<;'"�� ���� 3���0� �, ����� �/( '����� %4�" HTML '"�� ���� 3���0� �, �� ���%� �� ��J7�� WML.

'"�� ���� 3���0� !�" � ���$� ����� .%��<; '� ���� '��� %4�" �" 3%��" B ��� N/�� '����� %4�" ��� HTML

�WML.

�� �� , (� '����� %4�$� ���%��� 8��� � ����$�� �4�� � ��� �, '������ �"� Title�; �,�*; %4��$�� �7-�� � �4�� !���� 24 �, � ���$�� ��*.

using System;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.CustomControls

{

/// <summary>

Page 249: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

249

/// Simple example of a custom control built from scratch

/// </summary>

public class CMTable : MobileControl

{

private String _title, _item1Text, _item2Text;

public CMTable()

{

Title = "";

Item1Text = "";

Item2Text = "";

}

/// <summary>

/// Gets and sets the text that

/// can be displayed as a title

/// </summary>

public String Title

{

get { return _title; }

set {_title = value; }

}

/// <summary>

/// Gets and sets the text displayed in column 1

/// </summary>

public String Item1Text

{

get { return _item1Text; }

set {_item1Text = value; }

}

/// <summary>

/// Gets and sets the text displayed in column 2

/// </summary>

public String Item2Text

{

get { return _item2Text; }

set { _item2Text = value; }

}

}

}

'����� �[� ����� Visual Studio2�14 ����� �� �� )�%9� A�9�G '- A� "; '� )�%9��� �/(

CustomMobileLibrary?7-� . �������� '����� %4��$� � P9��� ���� 8���� �$ ����� 2���� !�; E�%� �,�*\� �(�$� '����(System.Web.Mobile.dll) W�/� System.Web.dll T���� N%�4��� 8��� N��� N/��� )�%9��� !�; 24 2�� �,�*; '-

��� E ���� '��� ?�% ��2��.

%��<G� T �� N��� ���� 3���0� ���J��� 2�14 A�9�; 5� �(�$� . a� 84�� ��0� ��14 '�� ������ �1,HTML �CHTML � a� 84�� ���-��WML

Page 250: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

250

������ 'J���� 8���� ���%��� 8���� a� HTML �CHTML: using System;

using System.Web.UI.MobileControls;

using System.Web.UI.MobileControls.Adapters;

using MSPress.MobWeb.CustomControls;

namespace MSPress.MobWeb.CustomControls.Adapters

{

public class HtmlCMTableAdapter : HtmlControlAdapter

{

protected new CMTable Control

{

get

{

return (CMTable)base.Control;

}

}

public override void Render(HtmlMobileTextWriter writer)

{

String tableSuffix = "";

Alignment alignment =

(Alignment)Style[Style.AlignmentKey, true];

if(alignment != Alignment.NotSet && alignment !=

Alignment.Left)

{

writer.Write("<div align=\"");

writer.Write(alignment.ToString());

writer.WriteLine("\">");

tableSuffix = "\r\n</div>";

}

writer.AddAttribute("width","90%");

writer.AddAttribute("cellpadding", "3");

writer.RenderBeginTag("table");

writer.WriteLine("");

writer.Write("<tr><td>");

writer.EnterFormat(Style);

writer.WriteEncodedText(Control.Item1Text);

writer.ExitFormat(Style);

writer.WriteLine("</td>");

writer.Write("<td>");

writer.EnterFormat(Style);

writer.WriteEncodedText(Control.Item2Text);

writer.ExitFormat(Style);

writer.WriteLine("</td></tr>");

writer.RenderEndTag();

writer.WriteLine(tableSuffix);

}

}

}

Page 251: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

251

� ������ 'J���� 8���� ���%��� 8���� aWML: using System;

using System.Web.UI.MobileControls;

using System.Web.UI.MobileControls.Adapters;

using MSPress.MobWeb.CustomControls;

namespace MSPress.MobWeb.CustomControls.Adapters

{

public class WmlCMTableAdapter : WmlControlAdapter

{

protected new CMTable Control

{

get

{

return (CMTable)base.Control;

}

}

public override void Render(WmlMobileTextWriter writer)

{

Alignment alignment =

(Alignment)Style[Style.AlignmentKey, true];

String alignID;

switch (alignment)

{

case Alignment.Center:

alignID = "C";

break;

case Alignment.Right:

alignID = "R";

break;

default:

alignID = "L";

break;

}

//Write beginning of table

writer.EnterLayout(Style);

writer.EnterFormat(Style);

writer.RenderText("<table", false, false);

if (Control.Title.Length > 0)

writer.WriteAttribute("title", Control.Title);

writer.WriteAttribute("align", alignID + alignID);

writer.WriteAttribute("columns", "2");

writer.WriteLine(">");

//First datacell

writer.Write("<tr><td>");

writer.RenderText(Control.Item1Text, true);

writer.RenderText("</td><td>", false, false);

//second datacell

writer.RenderText(Control.Item2Text, true);

Page 252: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

252

writer.RenderText("</td></tr>", false, false);

writer.WriteLine("</table>");

//close table and output a trailing break

writer.ExitFormat(Style);

writer.ExitLayout(Style, true);

}

}

}

'����� %4�" E� �(��$��� ���� �� % �� #1�� �$ ��� 2�� ��* 2�14�� ./( E ��� 5� . 2�14�� ./( E*� ����� ����1�� ��*

3���� 3%� �$ ��� 2�� !�; ���� � ��� '- '����� %4�$� '������ )�%9��� #1� �, ��� �*� ��� �� �4���� � $ �����.

��� ������� 4�8� � ���� � ��3P� � �2 ����MobileTextWriter

�� % �� A�"���� ��14��� 8���� ��$�� %� ; '�� Render4 ���$�� ?�%%�� 24�� �� %��� 2System.Web.UI.MobileControls.Adapters.MobileTextWriter(� �WmlMobileTextWriter N/�� 'J����� ������

�� D% WmlControlAdapter ��HtmlMobileTextWriter 24�� �� D% N/�� 'J����� ������ HtmlControlAdapter. ��� �P�� C%��� ��%G 2�14�� ./( '����������� !�; % 9L.

�� 3%������ 2�14�� W����MobileTextWriter���� ��� % 9L��� �P� C�%�; ��� ���� TJ�% �� �� � �$�� . ���-��� � � !�$,

'���WriteBeginTag(“tagName”) � �� %4�" H�1� � '��� WriteAttribute(“name”,”value”) �14��� C%� ��%\� �� %4�" ��* .'��� ��� writeBreak 3% 9L� C%� ��%\� <br/> �� x�� '��� � � �, �WriteText(“text”)

�WriteEncodedText(“text”)� �4���� 2%����� � -��� � �%� '������ ��; %� �� C%��� !�; 8� ������ �3%9��� 3%�4�.

������ �� �����869�48�7� ���0��� $�= : ������ '����� %4��" E �� '"�� �� �"������ #1� ��%��<G� 8J�4� �-� 5��0� ForeColor� BackColor� Font. ..

����%��� '� 2� B�� !�$�� � %�9�� %��<G� ��14�� '<$� ��������� ������ '"� ��- ��� �, ��� � � .

�4�� ���%� � ����; ������ 'J��� 24� 8���� ���%��� 8��� %%� %��<G�� ��� '�F ���� ��������� %� ��* % -L���� W�/'������ !�; �%��� C%���.

��" ?7-� �� ���� �����; �� ��� Red !�; �4����ForeColor K%$�� !�" �$ � ��9� ��$� �� ?7-� HTML ���� � �� ��� K%$�� !�" % -L� N� ��� ��� WML1.1����� � �� .��� 2�14 MobileTextWriter C%� ��%; %4��$�� � � ������� % 9L��� �P� '������ ���� ���.

���� 24�� .���� ��*���� TJ�% ��MobileTextWriterC%��� �, � ����� �/( T � �� ?������� %-�0� �( . € EnterLayout(Style style) :� � �� E �� ���� A��� '���> K%@ �, ��*���� 5��0� �� �" T� style. € ExitLayout(Style style) : E �� ���� T7@\� '���. € EnterStyle(Style style) : H�1�� 3% 9L� ������ '���.

Page 253: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

253

€ ExitStyle(Style style) :T7@G� 3% 9L� ������ '���.

����� � �� ���� 'J��� A�9�\� ���F �/; B�� ��%�/WML 24�� �� �-�%��� 5� System.Web.UI.MobileControls.WmlControlAdaper 'J��� A�9�; � %� �d�� �/; ��� HTML 5� , �-�%��� 24�� ��

System.Web.UI.MobileControlAdapter.

���� T% �� EnterLAyout� ExitLayout� EnterStyle� ExitStyle 'J��� ��* WmlControlAdapter �HtmlControlAdapter '�" !�"B �" ��$� N/�� ������� 8���� 24�� � ������ � ��� ������� ��% 9L��� �, � $� ��, W�/�

��� ����� ./( !�" ��$� �� ���� ��14���� � �*� . ����� '<$� �,� ��14�� �* ���*�%��<G� C%��� ��%; ��" ������� �� % �� A�"��� �, �1� ������ !�;MobileTextWriter � �4�� % %��Style �� ��� B��9� ��9� �� �; :

writer.EnterLayout(this.Style); // can leave off the 'this.' for

brevity

��86/ ������� �� �" � EnterLayout �EnterStyle: ��� ��� ���J��� ��* ?��J�� �� �" 5� WML �� % �� '����� RenderText A�"��� �$� 3%9��� ��% 9L�a�� S %���

EnterLayout �EnterStyle. '��� �� % RenderText���� � ���� �/; ������ ��% 9L��� ��%; �" ���I��� T% �� A�"���� .

��-��� � � !�$,'�� � E �� C�%�\� ������ ���%��� 8��� �EF��� ��� T �� ��% 9L�: writer.EnterLayout(Style);

writer.EnterFormat(Style);

writer.WriteBeginTag("table");

�����( ?� �$, B������ 5� ��: writer.EnterLayout(Style);

writer.EnterFormat(Style);

writer.RenderText("table", false, false);

���( �<�7� : K%P�� !�" � ��� �/( T� � HtmlMobileTextWriter K%P�� !�" �� WmlMobileTextWriter �, .

�� �14�� �" '7$�� ����� K%@ '������ 5��b� 3��Style �-� ����-�� �� �"���� K%P�� �/( ��� D � '����� %4�$� Style.AligmnetKey� Style.BoldKey �Style.ItalicKey. K%P�� 8J�4�� � ��� ����-�� ./( '����� ��� Style ���

�P 4�� �,:

Alignment alignment = (Alignment)Style[Style.AlignmentKey, true]; % 9����-�� ���$��� �� F ���� �,���� F ����) False (� ����; !�;'����� %4�" !�" 3%9��� ��� ��� �� ��� 3��$�� ���� �/; ��� �

���� FTrue � ����; !�; % 9�,3��$�� '����� %4�" �� �-�%���� �� ���.

����� � ���� � ���"? ��������48�7� ���0���:

Page 254: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

254

����� ./( � ��� �, �� �%��� 2 �%4�$�� �/�� �4�� 3���� ���J���� 84�� '��� %4�" A�9�; . ��-� K�%$��� �[� '���

����� 5� C/��� ��14 �, �/( '����� %4�" '����� � 1 � �".

H*� 84���� '����� %4�" '����� ������ ��-���CMTable: <%@ Register TagPrefix="CMcustom"

Namespace="MSPress.MobWeb.CustomControls"

Assembly="CustomMobileControlLibrary" %>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<%@ Page language="c#"

Inherits="System.Web.UI.MobileControls.MobilePage" %>

<mobile:form id="Form1" runat="server" Alignment="Center">

<CMcustom:CMTable id="CmTable1" title="A title" runat="server"

StyleReference="title" Font-Size="Small"

Item1Text="Simple" Item2Text="Table" >

</CMcustom: CMTable>

<CMcustom: CMTable id="CmTable2" runat="server"

Item1Text="second" Item2Text="table"

Font-Size="Large" Font-Bold="False" Font-Italic="True"

Alignment="Left">

</CMcustom: CMTable>

</mobile:form>

� T � ��� �/( � P9� �� �������� ���"G� 2�� ��* 3� ���� 3���0� ���J��� �"���� 2 %$� �* �� ��� Web.config '��� ��* W�/�<mobileControls>…...<MobileControls.

2���� ��* �,%$��� � � ��� ���J����� �"���� �� D%� 3� �� ���J��� �"���� 2 %$� 5� machine.config �����"; �,�*;�

B� �4���� ���J������ � ���� '����� %4�$�.

�� �� ��� � '��� ��$��� 8���<MobileControls> 2�� ��* Web.config�� ��� : <configuration>

<system.web>

<mobileControls

sessionStateHistorySize="6"

cookielessDataDictionaryType="System.Web.Mobile.CookielessData">

<device name="CMcustomHtmlDeviceAdapters"

inheritsFrom="HtmlDeviceAdapters">

<control

name="MSPress.MobWeb.CustomControls.CMTable,CustomMobileControlLibrary"

adapter="MSPress.MobWeb.CustomControls.Adapters.HtmlCMTableAdapter,

CustomMobileControlLibrary" />

Page 255: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

255

</device>

<device name="CMcustomcHtmlDeviceAdapters"

inheritsFrom="ChtmlDeviceAdapters">

<control

name="MSPress.MobWeb.CustomControls.CMTable,CustomMobileControlLibrary"

adapter="MSPress.MobWeb.CustomControls.Adapters.HtmlCMTableAdapter,

CustomMobileControlLibrary" />

</device>

<device name="CMcustomUpWmlDeviceAdapters"

inheritsFrom="UpWmlDeviceAdapters">

<control

name="MSPress.MobWeb.CustomControls.CMTable,CustomMobileControlLibrary"

adapter="MSPress.MobWeb.CustomControls.Adapters.WmlCMTableAdapter,

CustomMobileControlLibrary" />

</device>

<device name="CMcustomWmlDeviceAdapters"

inheritsFrom="WmlDeviceAdapters">

<control

name="MSPress.MobWeb.CustomControls.CMTable,CustomMobileControlLibrary"

adapter="MSPress.MobWeb.CustomControls.Adapters.WmlCMTableAdapter,

CustomMobileControlLibrary" />

</device>

</mobileControls>

</system.web>

</configuration>

��L� <�7� �P 4��� '����� %4�" E� ���� 'J��� �� ������� ���F �:

<control name= "controlName, assembly" adapter="adapterName, assembly"

/>

������� 3���0� ���J��� 2�14 !�; �,�*; '����� %4�" 24 N��� �$ ��� 2�� ���%��� 8��� �/( ��*�(� '��

CustomMobileControlLibrary.dll> D � Q%$ 'F �� 2<device>3���� ���J��� �"���� .

W�� 3���0� ���J��� ��"����� 3� %, A��� A� "; !�; .����� �� ��� �� . A��� ����-� �, ������� �F ���� <�7�CMcustomHtmlDeviceAdapters �CMcustomWmlDeviceAdapters ��/�(.

/( � P9� ��" �4��� �� �9 �� �� !�" T � ��� ��� ��:

Page 256: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

256

��"�� � �*��� � ����� � ���� � ���"? @�"

� �� 24 %��<; !�" %4�F� �/; ?��� ?�� 1� ��� �� B�� ���, ����� ./( %�" .A���� ���F N/�� '����� %4�" !�; ���" �/;� � B������� � %�4�� B �% '� �/; ?�� 1� H�4 �� ��� . �/� '����� %4�" !�" ��� �� A�%�\� '��� WCMTable .A�9�\� ���F N/��

���� � %�4�� 84�� '��� %4�" �% � ��" A��; � 1 � '�, ��,�( ��� �.

� ����� A�� ��� A�%�; 5� ���� ���� �%�� '"��: 1 X ���� �� �4���� �,�*;ICollection ./( � �� �*1 � ���� ��� %�4� ���� ����� '�� �4����DataSource �<,�����

=%�0� � ��%��� %4��$�� �, 3������� � ���� E� '���� !�". 2 X ���� �� ���� ��� %��4�� ���%� '"� ���%� �/;IListSource) K�%@� �-�DataSet �, ASP.NET ( �4�� �,�*; 5�

�� ��String '�� DataMember . � ��� �4���� ./( %�" ��� *" '��� ���� ���� �� B47��� '� � ?7-� ���������� ��� %�4� . ���� �� ���� ��� %��4� '"� '� �/( ����-� �,IEnumerable �4���� !��� �� B�� N� DataMember.

3; N� ���� �4�� �,�*\� 'F�� ���� ��� %�4� ��* 24 �� �� ��47��� '� ���� ��� %4��" .N��� ����-� �, %4�" '�����CMTTableDB � �4���� !�" DataTextField1 �DataTextField2 �(%��<; '� ���� %4��$�� ���� ����

��0� ���$�� ��*����-��. '����� %4�" N��� W�/�!�" �4���� DataValueField ���� '�� ���� � 1���� �� ��� ���� ��J���� �, %4�" ��� ��� ���� T � ���.

4; ���" �, 3������ ���� ��� %4��" 87��� �� B� �� ���� ��� %�4� 3A�%�� '����� %4�" '�� �DataTextField1 �DataTextField2 �DataValueFieldK%P�� ��* ��� ���� .B�9� '��� %4�" ��* ��J7�� %4��" CMTableDB

( ��� K�%@� �, %,���MobileListItem� �SelectionList �List.

5; � K�%@� � ���� '��� �� 5CMTableListItem ��* ��J7�� %4��" �-� N/�� Collection ����� �"�� �� 24CMTableDB �,��$� ���$��� ������\� H�4 �� �4��� �� �; ��4��� .� '����� %4�" E� ?�* � ����� �( ����List W���

84���� '����� %4�"CMTableDB� �4�� \ 'Items 3�"�����, K%@ !�; ��4��� MobileListItemCollection K�%@� N��� N/�� CMTableListItem.

Page 257: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

257

6; '��� �� % ��DataBind A��\� � ��" K�%@� A��� '- ���� ��� %�4� �� ���� ��� 3A�%F CMTableListItem� W�� C%��;� K%@ ��* K�%@0�MobileListItemCollection.

�-� �� ������ ���%��� 8��� 24CMTableListItem��J7�� %4��" � ���� '�� N/�� . 24�� �� B1J�<� 24�� �/( D%

MobileListItem � �4���� �,�*\� '�� Text2���-�� ���$�� B���� N/�� %4�$�� � ���� : using System;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.CustomControls

{

/// <summary>

/// Stores details of items displayed in the CMTableDB control.

/// </summary>

public class CMTableListItem : MobileListItem

{

// Add a property to hold text displayed in column 2.

private String _text2;

public String Text2

{

get { return _text2; }

set { _text2 = value; }

}

public CMTableListItem() : base()

{

Text2 = "";

}

public CMTableListItem(

System.Object dataItem,

System.String text,

System.String text2,

System.String value)

: base (dataItem, text, value)

{

Text2 = text2;

}

}

}

�, ������ 8��� ���������� ����� 24�� �� CMTable���� ��� �% '"�� : using System;

using System.Collections;

using System.Reflection;

using System.Web.UI.MobileControls;

namespace MSPress.MobWeb.CustomControls

{

/// <summary>

Page 258: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

258

/// Custom control built from scratch using data binding.

/// This control inherits from PagedControl rather than

MobileControl.

/// </summary>

public class CMTable : PagedControl

{

private ICollection _dataSource = null;

private MobileListItemCollection _items =

new MobileListItemCollection();

private String _title, _dataTextField1, _dataTextField2,

_dataValueField;

public CMTable()

{

Title = "";

DataTextField1 = "";

DataTextField2 = "";

DataValueField = "";

}

public ICollection DataSource

{

get { return _dataSource; }

set { _dataSource = value; }

}

/// <summary>

/// Gets and sets the field displayed in the first column.

/// </summary>

public String DataTextField1

{

get { return _dataTextField1; }

set { _dataTextField1 = value; }

}

/// <summary>

/// Gets and sets the field displayed in the second column.

/// </summary>

public String DataTextField2

{

get { return _dataTextField2; }

set { _dataTextField2 = value; }

}

/// <summary>

/// Gets and sets the field stored as a hidden value.

/// </summary>

public String DataValueField

{

get { return _dataValueField; }

set { _dataValueField = value; }

}

/// <summary>

Page 259: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

259

/// Gets the collection of items displayed in the table.

/// </summary>

public MobileListItemCollection Items

{

get { return _items; } }

//InternalItemCount and ItemWeight are necessary to

//support pagination.

protected override int InternalItemCount

{

get { return Items.Count; }

}

// This method can be implemented in the device adapter

// classes if the representation differs from device to device.

// However, an item in this control always takes up one line.

protected override Int32 ItemWeight

{

get { return ControlPager.DefaultWeight; }

}

/// <summary>

/// Gets and sets the title displayed on some WML devices.

/// </summary>

public String Title

{

get { return _title; }

set { _title = value; }

}

// Override DataBind method of base class to implement

// data binding logic.

public override void DataBind()

{

// Evaluate data binding expressions on the control itself.

base.OnDataBinding(EventArgs.Empty);

if (DataSource != null)

{

// Iterate DataSource.

IEnumerator dataEnum = DataSource.GetEnumerator();

while(dataEnum.MoveNext())

{

// Create new item for each data item.

CMTableListItem item =

new CMTableListItem(dataEnum.Current,"","","");

System.Type objectType =

dataEnum.Current.GetType();

PropertyInfo aProp =

objectType.GetProperty(this.DataTextField1);

Page 260: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

260

if (aProp != null)

item.Text =

aProp.GetValue(dataEnum.Current,null).ToString();

aProp =

objectType.GetProperty(this.DataTextField2);

if (aProp != null)

item.Text2 = aProp.GetValue

(dataEnum.Current,null).ToString();

aProp =

objectType.GetProperty(this.DataValueField);

if (aProp != null)

item.Value = aProp.GetValue

(dataEnum.Current,null).ToString();

// Add item to the MobileListItemCollection.

_items.Add(item);

// Add the TableListItem as a Child control

this.Controls.Add(item);

}

}

}

}

}

�4���� '����� 5� Item '����� %4�" 24� CMTable �� % ��* Render������ 'J��� 24 �, ���" !�" %�%��� %4MobileListItemCollection��J���� ��* %4�" ��� C%��� ��% 9L� � ���� '��� ����� .

��� � 8���� 3���0� 'J���� 8�� ������ 8���aHTML(� 84���� '����� %4�$� �HtmlCMTableAdapter:

using System;

using System.Web.UI;

using System.Web.UI.MobileControls;

using System.Web.UI.MobileControls.Adapters;

using MSPress.MobWeb.CustomControls;

namespace MSPress.MobWeb.CustomControls.Adapters

{

/**

* HtmlCMTableAdapter class

*/

public class HtmlCMTableAdapter : HtmlControlAdapter

{

protected new CMTable Control

{

get { return (CMTable)base.Control; }

}

public override void Render(HtmlMobileTextWriter writer)

Page 261: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

261

{

MobileListItemCollection items = Control.Items;

if (items.Count == 0)

{

return;

}

int pageStart = Control.FirstVisibleItemIndex;

int pageSize = Control.VisibleItemCount;

if (items.Count < pageSize) pageSize = items.Count;

String tableSuffix = "";

Alignment alignment =

(Alignment)Style[Style.AlignmentKey, true];

if(alignment != Alignment.NotSet && alignment !=

Alignment.Left)

{

writer.Write("<div align=\"");

writer.Write(alignment.ToString());

writer.WriteLine("\">");

tableSuffix = "\r\n</div>";

}

writer.AddAttribute("width","90%");

writer.AddAttribute("cellpadding", "3");

writer.RenderBeginTag("table");

writer.WriteLine("");

for (int i = 0; i < pageSize; i++)

{

CMTableListItem item =

(CMTableListItem)(items[pageStart + i]);

writer.Write("<tr><td>");

writer.EnterFormat(Style);

writer.WriteEncodedText(item.Text);

writer.ExitFormat(Style);

writer.Write("</td><td>");

writer.EnterFormat(Style);

writer.WriteEncodedText(item.Text2);

writer.ExitFormat(Style);

writer.WriteLine("</td></tr>");

}

writer.RenderEndTag();

writer.WriteLine(tableSuffix);

}

}

}

Page 262: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

262

% Y� ����� � �?������� J / ���� �

'�� '��� %4�" N� '"� �� 5� �3% �� C%� � �� � �������14 !�; ' ���� � �: . 3% �� �"���� '����� '� �/\, �� E� ���� ��� �4���� � ��� '�� ��%��� '����� %4�"Paginate �� ��� !�; �/( '����� %4�" !�" N����� C/����� True� %4�$� ]���� 5�

����� ��9�9 !�" ��$ ��� '� ���� %4��$�� �� � J�� ��"���� �� ���� C%� ��%\� '������.

� ����� ���%��� ���14 !�; ' ���� '"� � ��" ��*��: 1 X 24�� �� '����� %4�" D% �� 5� PagedControl �" ?�� MobileControl. ������� �4� '����� %4�" !�"

� ���� � ����� E ������� �� ��� ���14 !�; 84���� ' ���� �, : � �4����ItemCount �D���� LoadItems. 2 X �� % �� 2 %$� 3��"\� '� ��� 5� InternalItemCount'����� %4�" ��* ?� ��� 3������� %4��$�� 'F% 3��"G . W�/�

�4���� 2 %$� 3��"; 5� ItemWeight�� �� ��� 3��"G %4�" �, � �� % W��� '� ��14�� ��" %� G ���� ���9�9�� !�" %��<G� ���� �� '����� . '����� %4��" �� '� � ��� �$��%��<G� �9�9 !�" .%��<; ��� ��������� '��

�4�� �" '��� %4�" �� �� '7$��� ��$�� %� ;ItemWeight .�" �� � $� ��F �/�� ��$�� %� ; '�� '��� %43���� %��<; ��14 !�; ��J�F %4�"�. ��� ���� %��<; % W��� 100 %� ; ������ ���� '�<��� ����� �� 3���

��14�� ��". ���-�� ��* �� ��� ./( ����ControlPager.DefaultWeight .�4���� � $� ItemWeight %4�$� '�����CMTable�� �/( �� F .% � � !�" ��$� N/�� ��J�F %4�" ��� ���� % W��� B��� ���-.

3 X �4���� � $�� ��14�� ��" %� ; '�� Control.FirstVisibleItemIndex � �4����Control.VisibleItemCount �(%��<; 5� ���� %4��$�� ��"� '����� %4�" .%�< �� 5� N/�� ��0� %4�$�� ����� . 8��� !�" W�/� 5�

'��� N/�� ���%��� �� % �� B������ Render '� ���� %4��$�� � ���� �����$��� ./( '��� �� ������ 'J��� 24 ��* C%��� !�; ����%;.

����� 5� C/��� �" H %4��� '� '�����/( '����� %4�" :

<mobile:form id="Form2" runat="server" Paginate="True">

<CMcustom:CMTable id="CmTableDB1" runat="server" />

</mobile:form> � �� % �� ��*Page_Load '� � 1���� �, ���%��� 8��� 24 H*� ��� ��� ��%��� '����� %4�"� �,�14��� A��� :

public class MobileWebForm1 : System.Web.UI.MobileControls.MobilePage

{

protected System.Web.UI.MobileControls.Form Form1;

protected CMTable CmTableDB1;

private void Page_Load(object sender, System.EventArgs e)

{

// Create large array to illustrate pagination.

ArrayList array = new ArrayList();

array.Add(new TeamStats("Dunes",1,38,24,8,6,80));

array.Add(new TeamStats("Phoenix",2,38,20,10,8,70));

array.Add(new TeamStats("Eagles",3,38,20,9,9,69));

array.Add(new TeamStats("Zodiac",4,38,20,8,10,68));

array.Add(new TeamStats("Arches",5,38,20,6,12,66));

Page 263: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

263

array.Add(new TeamStats("Chows",6,38,17,10,11,61));

array.Add(new TeamStats("Creation",7,38,15,12,11,57));

array.Add(new TeamStats("Illusion",8,38,13,15,10,54));

array.Add(new TeamStats("Torpedo",9,38,14,10,14,52));

array.Add(new TeamStats("Generals", 10,38,14,10,14,52));

array.Add(new TeamStats("Reaction",11,38,14,9,15,51));

array.Add(new TeamStats("Peanuts",12,38,13,10,15,49));

array.Add(new TeamStats("Caverns",13,38,14,6,18,48));

array.Add(new TeamStats("Eclipse",14,38,9,15,14,42));

array.Add(new TeamStats("Dragons", 15,38,10,12,16,42));

array.Add(new TeamStats("Cosmos",16,38,11,9,18,42));

CmTableDB1.DataSource = array;

CmTableDB1.DataTextField1 = "TeamName";

CmTableDB1.DataTextField2 = "Points";

CmTableDB1.DataValueField = "Position";

CmTableDB1.DataBind();

}

class TeamStats

{

private String _teamName;

private int _position, _played, _won, _drawn, _lost, _points;

public TeamStats(String teamName,

int position,

int played,

int won,

int drawn,

int lost,

int points)

{

this._teamName = teamName;

this._position = position;

this._played = played;

this._won = won;

this._drawn = drawn;

this._lost = lost;

this._points = points;

}

public String TeamName { get { return this._teamName; } }

public int Position { get { return this._position; } }

public int Played { get { return this._played; } }

public int Won { get { return this._won; } }

public int Drawn { get { return this._drawn; } }

public int Lost { get { return this._lost; } }

public int Points { get { return this._points; } }

}

}

� $ 9�� B�9 ?��%� % P4 ����� ���� !�" 24�� �/( ��:

Page 264: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

264

B�� � �������OnDataBind

84���� '����� %4�" 24 !�; ���" D���� �,�*; ����� .

���� ���� � ��%��� � � ��� '����� %4��" %,�� D����ItemDataBind 84�� �% T � �� B������ %� ��� ��� N/���

���� ���� .����� N/�� ����-� ��* B������ �� ���� �� W�/� 84���� '����� %4�" CMTable .

D���� '����ItemDataBindD���� S��$�� '�" � ��� �" H %4��� 5� . 8��� 2�� ��* � ����� �/( �" H %4��� ����� N%�4�����"24�� 2 %$� C%�� ���� A��� A�*, �" H %4��� :

public delegate void CMTableListItemEventHandler(

object sender,

CMTableListItemEventArgs e);

…..

���� �� ���$� D���� S��$� /�L CMTableListItemEventsArgs( ��� �� B1 %$� '� D ��� ��: public sealed class CMTableListItemEventArgs : EventArgs

{

private CMTableListItem item;

public CMTableListItemEventArgs(CMTableListItem item)

{

this.item = item;

}

Page 265: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

265

public CMTableListItem Item

{

get { return item; }

}

}

D���� �" H %4��� 2 %$� �(�$� ����� ItemDataBind '����� %4�" 24 ��* CMTable: // Declare a static read-only object that will own the list of

registered

// event handlers

private static readonly object EventItemDataBind = new object();

public event CMTableListItemEventHandler ItemDataBind

{

add

{

Events.AddHandler(EventItemDataBind, value);

}

remove

{

Events.RemoveHandler(EventItemDataBind, value);

}

}

TJ�% �� '��� D���� �/( �� <�7�MobileControl.Events.AddHandler �RemoveHandler.

���$� T% ����� ������� 5��� ��� � � %� � E � �/( '����� %4�" '������ D��� �44���� D���0� ��ItemDataBind. �� % �� '����� '� OnItemDataBind%� ��� ���" ]%4 ���� D���0� �����$� A�"�� :

protected virtual void OnItemDataBind(CMTableListItemEventArgs e)

{

CMTableListItemEventHandler onItemDataBindHandler =

(CMTableListItemEventHandler)Events[EventItemDataBind];

if (onItemDataBindHandler != null)

onItemDataBindHandler(this, e);

}

�� % �� A�"��� ����� ?�% ���OnItemDataBind �, '� 3%� �� �� , K%@ A���CMTableListItemA��-� %4�" 3A�%F

'�����CMTable���� ��� %�4� �� �����$��� .

K%@ A�9�; 5� CMTableListItemEventArgs �� CMTableListItem � �� % �� !�; .% %��OnItemDataBind. ./�� D���� S��$� �� % '����� %4�" �"�� �� % ��OnItemDataBind���" H %4��� '� ���� �� � ����; %,� ��� � ��" 8 4�

���� ���� �%��. public override void DataBind()

{

// Evaluate any data binding expressions on the control itself.

Page 266: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

266

base.OnDataBinding(EventArgs.Empty);

if (DataSource != null)

{

// Iterate DataSource, creating a new item for each data item.

IEnumerator dataEnum = DataSource.GetEnumerator();

while(dataEnum.MoveNext())

{

// Create item

CMTableListItem item =

new CMTableListItem(dataEnum.Current,"","","");

// intervening code not shown

// Add item to the MobileListItemCollection of the control.

_items.Add(item);

// Add the TableListItem as a Child control

this.Controls.Add(item);

CMTableListItemEventArgs e = new CMTableListItemEventArgs

(item);

OnItemDataBind(e);

// After any ItemDataBind events have been called, the

// DataItem property has no purpose and is not relevant

// on postback, so clear it.

item.DataItem = null;

}

}

Page 267: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

267

�3? S��� � ��� �:

� ���� � ���� � $���������# �

������� � ����� � : ]��1�� �� ��%��� �% 19� ������%� N% ]��1� �'�" ]��1� �8�� ]��1�

����: ���b� � �0� ��� ����� !�; ����� '- ���: �J � A��� � ��" �, ����� ���� � �0� �������� !�" 2%$��� ����� ./( �, 2%$��

��� .����� 5� �����. ���0� �� ��� K$� � P� 2� ?�% ����� �, ����"�%� 5� ���� # ����� ������ � � �, ���0� !�" T�"� ��9� 2%$���� '���

������%���WAP ����% ���� ���9���. ������� ��!�:

!�" �41�� �/( �, 5�� �� 2%$� : € ���[� �J ��� ������

€ � ��0� % �����

€ ���0� �� ���

€ =%�0� ���0� # ���

€ ������%� �, ���0�WAP

€ !�" ���0� ��� � � ��<�7�T � ��� =���

Page 268: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

268

O���$�7�

��I��� �, �������� ��� � ���� � ���� ���0� %4��" �9F��� ��F�� ���0� j���� �" �$ % ����� K�%$�� �� �B�� ���. �0� ��� ����� !�; ����� '- ���: �J � A��� � ��" �, ����� ���� � �0� �������� !�" )7 �� ���� .����� 5� ����� ���b� �

��� � 2� ?�% ���� P� ���0� �� ��� K$� ������ � � �, ����"�%� 5� ���� # �����.

�"�: �0� @�3"/: ���� !�; ��4���) �� ��4��� ��� !�; � ��� (��I��� �, ��4��� �$ � W�/ �, ��� ����� �J ��� %���"� � $� /�L� �� 5�

��� ������������ T � ���� ��� �� . ���* �; ����) �� ��4��� ��� !�; � ��� ( ���* ��$ ���������� !�; �%��� �� %���� ���� !�" ���� ��� . �/( !�; ��4����

� �0� 2��(0� �� �"���� T ��� �� �� ���0� �� )������(: 1; ���8 � $� >��� �: �(����-G E����� A�%�G�� 8�9�� ��� �( �I����� �� ��"h�� ��. !��0� � � � !�" � ��7�� ����9�� �, � ��$�� ./( '��

T � ��� ��� � ��-��� ���9�� ��� . B��4� !�" ��,����� ��F '������ � �( �� T����� ���9�� 5� �� . ������ !�" ?�����"� ?� ��* � ��$�� ./( '���� ��� D �

��� ' �������1���� �� ��� '������ ��41�� 3%�4�. ������ � � !��0� � � � !�" ���� � � ���� �� T����� � ��" %��$�, T � ��� � � !�" ����'����� � � � ��-��. ��4���,

�I��� ���� � !�;�h� �� B�L� '����� ��- �� ������ !�" 5� � '������ H� �� ��F �F��� #1� �,� ��" ��%�� '��������� T � ��� !�; B� �( %�< �� '����� !�" 5� B� ��4���. '������ '� '����� �( ��4�� �� T����� T% �� �;� ?����� %-�0� T% �� ��� %�%��� ����� �����9�� ��*��, ?�� �$�

� �F%�����F%�� E F����.

2; ��"�� � ��#� :

��� ��7 �� T����� �;� ��� �$� '� '� ���� ��� �L� ��L��� ��$ ���� � �%��� � � ����� A��-� �� % NL� ��*�%�"��������� . )������ %����� � ��� E� ���� ��� % 19� '������ K%P�� �/( !�; ��4��� ��� CheckSum� � T����� ���% ��%MAC

� T � �� ���%�� ��* �����$��� ./( % 19� '� D ��� �" �4�� � ��%�� . '� ������� ��F �� ���%�� ./( ������ ��"� 5��MAC � a�� E� B��%���MAC������ � �� ��L��� ���%�� ��* %e19>��� . B�� �� ��L��� ������� E � T�� ��� '� �/;

���%��� D�$�� '� '�� % @ �������$� ���� ���%�� ���(; ������� ��� , ;�� �4.

Page 269: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

269

3;���� � : ���0� ����� '(� ��� �( � %�� . ��F �� ��� I% ��� B�L� ��L���� ���� ��� � 4�4� !�" �<,����� �, 8���� �(�

'�� 5�@%� % @ 2�% �. ����JG� ��F� � �����$�� ����� �����$���� ����� �� ?����@ '�, '�<��� �, ���0� �" 8��90� '��� ����" �7����

�J �� � ����� N�/ 8��9b� � J%� ���� �� 5� ���� �� �4�� . N0 3A�%�� % @ H�4� D �� ���� ��� % 19� � ��" %��$�������� �/( �, ?�"� 9 %-�0� �� % �� �( B �" 2+%��$>��� ��" 8�9.

4;������ � :

�� '����� ��4��� � � � ��� A�%�; �" 3%��" �(�/( T��� $� ��$,L� '� ���� '������ � . 3� �9 ?3��" � ����� ����B� 3������ �� ������ .� ��� '� !�� '���� � �( �� T����� '� �� ��, �� ���� �� T����� )�*��� T�4��� . ?3��" N%�

��4���� '����� HJ��� !� �� '�����ACL�� ����� � ��� �, 3�"���� . � � � !�$, =%�� %��4�� '�<��� % ��� �, ��� ���� ���� ��� %�4� �� 3A�%��� T� � ������� E �� W��� �F ���-��

B , �������� ��4��� T� W���� �� �F�-��.

���"9� ��?: � ��%�9� ���� �7F����� �" ���I� 2�% 0� �$� �, %���G� '�" 8��� ���� ���F ." 2%$��� � ��$�� ./( ��*�� !�

� ���%�� �%� ����\� B�� ��$ ��� �� ��F��� �, '���%�9� %���; ?��� �� , '���� �� % � 2�% 0�� 2% � � �L��� ������� �?7$, ���%�� ./( �%� �F �%��� �L� D��-����%�� ./( #1� '7��� '�F �F ������� �L� . '����� �� �� ��$�� �/�� '� ���

� E F��T�-�� D��- 2% ��F �� ���% �� E� B�� T����� ��� ���� '��� ���%���.

��"�7� �*��� �

%��$�� ��$4 � ��" ���� �� A��� � ��" �(/ 1�� ��� �� % ����� !�" ��*�� 3%�4�� 2%$��� ���������. � � �� 3%�4� ����� ���� ��� ���� A��,� ��� /���� �� �� �� ��� ����� % ����� �* ���7�� �� �:

���8 � ����"�:( �� '�<� !�; ��4� !�" ��4��� � ��" �" 3%��"��� '���� B�L� %(�<���� �� T � � . �� '������ ���� �/\,

� 3%��� ������� A�9�; B����\� H�4� '�<��� !�; ��4����4��� � ,�*; �����$� �" '7$�� ��*%@ ��� �F �J�% ��'�<��� ��* !�"� � ��� !�" . '������ 8�9�� � $ B�0 ��%��G� !�" ��0� �, � �� ���9� � ���� ������ %��y �/�

�"� ��� '������ ���� E� �� �� ���4� '( ��� � �?7-� W����� T�-�� %�4�� ���4� '��L� T � ��� ������ '�� ; � ����;�$� !�" ��4��� �, '������ ���( ��������.

��"� � :

���9�� %�" ���� ��� T,�� ��F�%�� '���� � �: �" 3%��" �( .3� � K�%@0 '����� �� � �[� ./�� ��� . ���" � ��$�� ./( ��%� �%� % @ 2�% 0 ��� �������� �� �" %�� �� ��� )���� '� D �� ���9�� !�" ���� ��� ����� % @ g� � ��$� � 4

� �I��� '�<�� =/L� 5����� '�� H�� ��� �����$� !�" ��4����T � ��� �������.

Page 270: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

270

?7� ��� �4���� ����0� !�" ��4��� ���� ���� ���0 3% � �4���� � ��" %��$�. W1�� ����F % @ % 19��� � ��%��� �� �� ��L���� ���� ��� % 19� � ��" �, ���� ��� )����G� %�F( 29��� ���-��� � � !�$,

% 19��� �L� � ��7�� ����9�� ������ �� % -���WEP���� ��� � ���� ?� ,�� # � .

B� �: ���� ���� D�$��)���� ��� ��7 � ��� ?�* � !� � ((���� � �40� ������ �� ���� ��� !�" � �$��� � ��" . ./( ��*�� �� ?����@

��%; K�%�"� � ��$��� '����� !�" ������� ���� ��� !�" D��� �� ��� ��� ���� ��� �������. � �40� ���� ��� ���� !�" 3��" ���� ��� % %�� '� .

� ���� �� T����� �� ��" %��$��� ����� �/( �� ���� �J�� �� � ����� �� T�����.

�<�� �: ; ��������� ������ �, ��4L�� ���9� �F%�� %��$�B �" ���� �F �����$� N� �F% �" �� ������� �F% �" �, '���� / .

���� ���� ��� !�" N���� ����� ��/�� ������ 3���� !�" ����$�� ��� � ��� ���� �, ?�% �� ?�� ��� ���9��� ./( ��9� �� ��� ����� � �L�� � ����� �"����� !�; A����� 5� W�/� �� % ���� �� ?����@�������� ���:

1X ���� ��� !�; ���� ��4��� E��� %�%� ����� '���� '� �� �� �%�� ������ ��1F;. 2X ������ !�" T � � N� !�; ������ �" � ���� �� T�����.

3X ������ !�" %�%��� ����� � ��� '�".

4X � ��� � �� N� !�" �����$��� % 19�.

5X ��0� ������� ���$�� ���0� ��� � ���������� 3�.

$��7� ���"��

./( �� � ����� �������� �� ����� '(� K%$�� �������� ������ �, ���0� ���� �� ��� ���� % ����� !�" )7 �� ���F �� �$�

% �����:

��������"�� � @���/: ���� ��� ������ ��4��� � ,% � ]���� !�; ���� ��� A�1�;� � �$� 2���B��%; N%� �� '�, �� D��- 2% E�� ��9� .

� ���� �� T����� ��*� ��� ���� ��� ��[� ����� ����� E �� E� ���$�� ����� ���: �J � �, � �0� ���� ���� ��� � ����� ./( %��$����%���� E F�����.

�� �� ?��� 3��$� � ��" ������ �� � � �$��� � ��" j���� %��$��3% ���� �������� ��� � ��� ���� �, 8�0��� � ��$�� � ���.

����4���� ������*� �� �������� �: �� � 3�" �, � �$��� ��$� .�� ��%����� � � �( � ���� � ��� . ��� %����� � ��$� ���� ��� ���%��� �� ��%����� ./( 24�

%�: !�; T �� �� ���� ��� � ��� .�%��� ��� ��*� ��� % 19��� �$, / 1��� '��� ���� � J�%�_� ������ 2 4���� �" %�$ , �����

Page 271: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

271

� ��$�� ./( A��-� �4� �� ��� j%� N� ��� ���7�� �����$���. !�; �����%� 3%�%*��� ��$ 3����� % 19� � ��%��� '����� �0 ?��� '�( ������%���� % 19��� � ��%��� � � � ���� �;

H ��1��� ����� !�; �,�*; ���� ��� ��� B��" ��*� � ����/ ��� % 19��� � ��" �� %-�� �" ��I� ������%���, �� � ������%�. ��� !�; ��� �F B��/ ��� T � ��� �0 ?���: ?�� � � 3%�%*��� � ��� ������%��� ��$ � �������%��� � � T�, E*���, ��� � ��� ���

2$*��9�=%�� ��� ��.

��"�� � ���3�: % 19��� %��$> ( ���� ��� A�1�; � ��" N� 5�F� A�%�;� ��� !� 3A�%��� ���F % @ �� !�; H %4�� 8��� !�� ���� � �"����

�� �; ��4��� �� � 4�%� % @ 8��9� ���� ��" !�� ����� ���� ��� � 4�4� !�" <�1���� H� ��� %19��� 8���. % ��% 19��� W, !� A�%�; '������ ��40� C/����� !�; ?����� ��� ���� �( ���� ��� 3A�%F �� ������ 3� ���� �� . !"��

� � ��%����� % 19��� W,� % 19��� �� % �3%1 9��.

H*� % 19��� ���� ������ ��9���84��� N� E��� %19� ��9� ���" ��� 3��F %�" �����$��� ��� '� D � '�, �� ��� !�" ����%; '� ���� ���� ���.

���� ��� % 19� W,�% 19� � ��$� '����� H ��1��� �- ���� �� ��%����� '���� . N/�� '������ ; ���� �� �� ���% % 19� ��$,%�� ./( % 19� W, �� 5����� ]��1��� ��� ���. 1��� !�" � ����� % 19��� �� ��%��� 2�4�� "�� !�; ]��: 3%<������ % @�

3%<������.

�� ��%����� '����3%<�������J�%�� �� % 19� W,� % 19�� � �� ]��1� . �% '- ��� ���%�� %19 � ]��1��� �%��� '��� 5�� ��� ������� !�; ���%�� .���%�� % 19� W1� ]��1��� #1� ������� '��� ���%�� '7�� ��".

� ��� � ��" ��F ?7-� )������ �� ������� � � % 19��� ]��1� ���� ���: �� % ��� ; ��" � � ��9� � ��%����� ./( ��$

Page 272: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

272

���� ���. %9��� ��9� � ��%� % @ 2�% � � � �� $��� ����� !�; %�% *� ��" 3% �� ���9� %�<� 2b� . EF�� ���� �-�� ���� ����� � ��%���� 3%��� EF���� �/( �� A�%9�H�4� D �( % 19��� ]��1� ����� � ��" �B��/ ��� ���9�. � ��� !��

% 19���%<������N%�� ]��1��� % 19� ?�* � . ���� ��� �� ��� % 19��� �( �� % �� ./�� ?�"� 9 C/����� %-��DES .���� ?����� %-�0� �� ����� �� � �$�� % � � �(�$� '� �F�

9��� '������ �� ��� % 1AES � ��%��� !�" ������ Rijndael � ��� W�/� DES3 � � ���$�� ���� ��� % 19� � ��%���IDEA �Blowfish � �� ��%��� �"����Rivest �RC2,RC4,RC5 �RC6.

��-����� % 19��� 5�9� ���� � �0� ���9��� ����� �-������ % @ % 19������ ]��1� '����� �(� . '�" �,1975 �����" '�F

��(Deffie �Helman% 19��� W, �, ���-��� % 19��� � ��" �, ��0� '��� � 1���� � ���1� '������ �� % � �� . !� '�$�� ]��1��� % 19��� �, '������ ]��1��� .'�$�� '����7� ���: % @ ����F %�" ���" 3%�4� ]��1��� �/( E ��� '� .� ��� ]��1��

8���� ]��1��� !� , % 19��� W1� '������ . % 19� W1� '�� N/�� 2% �� ��F �� �, 5�� � B�0 ]��1��� �/( ��� '� ���� ��� ..���� 3� �� E����� 3% �� � ��� ���"� !�" � ���� ���* ��9� ��4�� H ��1��� ./( ���� . % @ �� � ����� ./( �$��

� ?� *� % N�����'�$�� ]��1��� �� 8���� ]��1��� 5� .

�� � H ��1� !�" � ���� % 19��� ��<�� K$� T�%��� ��� 64 �-� ��DES %����� ������� W�/� 3����� 5 %���� '������ ������� �� �%��� ��� ; � �� ������� ������ E ��.

$��7� ���"�� :���<� � ����83 �

�F%�� �����9�� %,��B�-� N/�� 2% �� !�; ���� '�$�� ]��1��� ��� ���*� �� % � . �/( T��� ���� %�0� T����� '� �� 5�

� "���� ����� �-�� ���� �� ��L��� 3���9�� �� ?�* �)� 8�9��I�.(

�����9�� H�� � � !� D��- 2% !�" ����"�� � ��$�� ./( '��Certificate Authority.(� �� �����9�� H�� �� � ' �-� ���%9 ?� ���"VeriSign� Entrust �Certicom.

������ !�" 3��" � �F%�� �����9�� N����:

X 3���9�� ���� '��8�9�� �/�� 3� ���� �����$���. '���� �� ��� %�4��� ���� �" ?�* � � ,�*; �����$� ��*�� �F 3���9�� ./( '��� N/�� 5���� %��� ����"B� 8���� �.

X 3���9�� ����� 84���� '�$�� ]��1���.

X 3���9�� ./( �%�4� ���� �����9�� H�� � � '�.

X 3���9�� � �74 3��) � ����� g %�� 3��"�� �����.(

X ��F������ D�" � ��" '�� '� B�� �� T����� �����9�� H�� � � �� ��F% E F��.

3���9 E F�� %� � ��������� W�� W�/�'�1�0 �����9�� ����� � � ����� D �� '�1�� � �F% . �� ��� �,�*G� 2% �� �/(

( ��� �/; ?�F�-�� %��$ �T�-�� ]��1�� ?�$F�� %�[�. �� �� % �� ./��� � �0� �F�-���� � ��� !�; ��4��� 3���9�� �$���� %�%���

Page 273: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

273

3���9�� ./( H��� ���F ������� ���� %��$�, ;�F�-�� % @ ���.

T ���� �����9�� ./�� � %� $��� ��� ���� '(� ��X.509D � ��%��� ��� � � ��* 3%��9� �����9�� ./( %��$� . ��* ��� !� � �F%�� �����9�� �� %�: )�� '��� , � ��7�� �� ����� ����WAP Server WTLS Certificate %��$� D � ./(

�����9 �����9�� �����9 �" 3%4���WTLS) ����� ./( ��* ?��� �(%�/ !�" ��L� ����( � %� $��� �" � �� ��� �(X.509%� $��� �0 �(I�9�; '� �����9X.509� ��7�� ��� � ��� �$ � E� 5���� 3% �� . �����9 '����WTLS �, 3��" ��� � �WAP�( �� T����� N%P4�� K%$���� � % ����" '��� � WAP � '������ ���� ��� % 19�WTLS.

$��7� ���"�� :%�<� � A�<�� �

> �"���� �%��� �� �$1��� ��� �F ���%�� ��� �� T����� ��F%�� E F���� '���. ��� u9�� �� �� ���� !�" ���� E F���� �/(

8���� ]��1��� W�� E F���� D ������ '������ B�� T����� ��� '�$�� ]��1.

EdF�����" �����$� E� ����� '- �� -��� 8 ���� ��F%�� E F���� A�9�; '� � ���� '������� � =%�� �����$� . �� -��� �� �1 � '�� /�L� '�� E��� �" 3%��" �( 8 ����� � ��")���%�� (� !"� ���- '��� C%� � ����$� �� . % 19� �(�$� '�

���� �����$��� ./( % @ � ��%��� '������ �%��� ��F �� 8�� ]��1� '��3%<��������� . E F���� ������� 3%19��� ������ !�����%�����.

�$� �������� '� N/�� ���%�� ��� -��� ��(�%�� ������ �-�� �� F �" 3%��" .� �� -��� � �$� '� �/\,� % P�� �� % NL� ��� D�$��

( �� F�$� �� ./ .

/( S��� �$� �� . ���%���� E F���� � �� �,H�4 ���%���� E F���� A�9�; /�� �� -���� D�" � ��" N� 2�9��� ������� ����\� .

��� � Z����� ����� � ��" �:

� '�$�� ]��1��� � ����� � ����� 5 !� ��PKI( � '<��� �� ����� ��<�� 24 N/�� % �$������� �"������ �� ���� '�<� 2Q%$�� � .

��" �"���� 2Q%$��IETF X.509 �8��90�� ��� ��%���� ����4�� ���� ��� �"���� ���� !�" '�$�� ]��1��� � ����� � ����

'�$�� ]��1��� � �$� !�" � ����� �����9�� K,%� �E ���� �� ���� �3%��;� �A�9�G ���7�� ��A�%�G��.

��*��PKI����� � ����� ���: X � %��4; � ��" �" ���I� �����9�� ����� �� �������9�� K,%. X �� ���� � �( E� ���$�� H ��1��� �% �" ���I� � �� �� �. X ������ ��%���� TJ�-��� E F��� �������� '�����\� ����� '�� �����9 %��4; '� � /�� �����9��.

Page 274: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

274

X ���9�� �����$� � ���� � ��� E*�� 3%��4�� ���� ���� �; '� ���� W�����*,%. X ��<���� ��� B���� ���0� ���� ���� �� .

��"��� $�Y� ��" � %& ������� � ����0� � ������� � :

������ $�Y� S�� � ��* SSL (Secure Socket Layer):

��� �������� ������ ������%��� �� ������%��� �/( %��$ ��%��� !�" ?� . ��%9 ��F �� .% � � '�Netscape ���� � �L��

�4�� ���:�(� ������%��� T�, � �� 3%�4� '���> HTTP ���� =%�� ������%� T�, '��� �� ��� B�� ?���" FTP. > �/( '��� ������%��� �� ��%����� �� S ��3%<������ % @� 3%<������A��0� E,%� .

W��( ��� ��* � �� ���%� E�%� SSL�( : 1 X 3%1 9�� !�" K��1���� ��,�4���:� �� ��%����� !�" '������ ������ �� �� T1� D � �9�� �������� 3%1. 2 X � ���� �� T�����: D � � �( �� T����� '� '����� )������� �1 � ��9� ( � �F% 3���9 '������. 3 X ]��1��� �����:9�\� ������ '�� N% ]��1� A��'�$�� ]��1��� % 19� '������ '����� !�; B�% . % 19� W1� '����� '��

8���� ]��1��� ���$��� ���%�� . 3%19� �����$��� ��%;� ����� � ��� !�� ��4��� '������ ������ ���� �/( �$�N%�� ]��1��� '������.

4 X T � ��� ���� � ����� : # L� '� �� �� ������ � � 3%19��� ���� ��� �F��� '� �� ��� ?� �-��� ���: ����'�����.

���$�� ��� SSL�������� 3���0� �� � �$�� ��F �� . ��$�� W��� � ��� W��� SSL�� '� %��< �� '� �����%� https �" ?�*�" http�� ��� %�4��� ���� � ��� �, . � ��* ���� ��� % 19� �;������%� �, ���� ��� % 19� �� � ��$, %-�� � '������ ����%;HTTP�� ��* % 19��� � ��" �0 �����%�

�� '������ ����%; '- ���� ��� % 19�� ��F �/; ��� ������ =��� !�" ���� ��� % 19�� '��������%� � �� % 19��� W, E ��� ��, �� ���%��� �4���� '���� E �� ��4���%�.

��" � ��* $��� ������TLS (Transport Layer Security):

�$ TLS �� � ���� � ��� �����%� SSL� ��� �� ���� D � :���� ������%� ��� �( !��0� ��� ��Record protocol

/ ��� ������%� ��� T�, 3��" E*�� N/���� ������%�� � ��" � ����"�TCP. ��� �� ��� ������%� �� � �$�� TLS ��,�4��� ������%� ��� ��, Handshake . T����� '������ ��[� ��4�� ��� �� ./( %,��

/ K��1� � ���� �N%�� ]��1��� !�" K��1���� �3%<������ � �$��� ��$� N/�� � ���� ���� ��" � ����"�. �, ����� �( ���SSL a, TSLN� 3%� 9�� �" ����� ��%1 9�� �� 2 '����� E �� .

'����� A�%� � �0� 2��(0� ����TLSE���� � ����;� ��� ��� � P9��� � ���F� �% 19��� ���� �, .

Page 275: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

275

������ %���# � ��" � ��* $��� WTLS:

WTLS %� $��� ��* �,%$��� ���0� ��� �( WAP .� ������%��� T�, ��$ Transport Protocol Layer ?����� B�$� ��� %��� �� � �$�����=%�0� � ��7�� ��� . �/( B��9 ������%��� �������%���TLS � ������ K%"� ���$�� % �L��� ��� ��/ ����9�� !�" �*,� ��9� ��$�� B� �� '� ���

T *�� .4��� � ��" � �-��� ���� ��� '�� '"� ��� � ������%��� �/( 2 * W�/�]��1��� D ���� ��,� . �����9 '����� '"� W�/�WTLS'����� 2% �� � ���� �� T����� .

�������IP Security) IPSec(:

%� 2��� ��� ���IPSec ������%� ��$� � � �,� T � ��� ��� �, ��$ B�� �, � F���� ������%��� �" SSL �TLS �WTLS ���9 !�" ��: ��4�� � �L�� B��� ���: % @IPSec���: ����/ ��� ��%��� �$� !�; . �"� IPSec � 4�4���� ����� ��� ��7 �� ���� �� T��� ����� % ,�� �, �/( ���� ��� ���� ��� !�".

2����IPSec������� 5���� 3���� �J��� �������� 3���0� � � �� � �� 3%�4� . )���� E % ��9�� ���� ���� 3���0� !�" � ����� �4���� � *�%�,� ����9�� '"�� �1������ ��������IPSec.

�� �/( '����� %�9��� ���� �����%� '"� E� �����%� IP6 ��* N/�� IPSecB� 8���� %� $��� �� A��� . ?�* � '���� �� �� �,%$�IPSec '"� TCP/IP � '"� WAP.

���� $��� S�����

0� 5� ��0� � � E,%� �� ���� '���� ���� =%�0� ���0� # ��� �� � �$�� ������� ���� T � � ��" ?�* � %���"� � $� /�'�<��� '�$�� .�( �� ����� ./( '(�:

����" � $���� �:

( �� � � ���9�� �, ?����� ��%���� ./( ��9�� 8���'�" .���� �� �"���� �" 3%��" %���� %��� '� �� 3��" ���� �� ��% ����9�� �, � ������� �� �4���� ���9�� %��4� !�; ��4��� � �� � �0� B�1 <� ���� �41�� 3%�h�" '��� !�" ��$ *��

=%�0� . ��* %��4��� � ���� N%�� %��� 5 �%� N%�%*�� �� ��� ��%��� %�" �I��� !�; ��4��� � ����; � �-� ��" �I��������� E � ���� %��4���� '����� ��� ����� �; ��4��� �����9. 'J�� ��4�� W���� ���� �������� ��� ����� ������

3� � 3%�, ������� ������ !�" �4�9 %�� %��� ���� ��9 .

���� � ��=���&�� ���3 �VPN: ����9 H��VPN ���" ���9 � ���� )��%��� 3��"(�� ���9 !�; �4. �� �$� �" ����$ � /�� 8��90� � ����� ./( ����

��%��� %�" ���: �� % � �I��� ���9� ��4��. �� ���� #1� !�; ��4��� 3%�I� �4�� � � !�" ��4��� 8��90� AI�� �� ��� � ����� 3/( ���� ��F. � ��� '����VPN

Page 276: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

276

����9 �, ��0� ���9� ������WLAN.

>��� �$������ J�? %"� � ���8 � $� : � � ����� �7F����� E� ���$��� ��" 3��"�������� � ��� !�" � ���� �� T��� � �: !�; ��� ������ ���� #���� E�� �� ��/. 8����

� ���� '������ ��� �� 3��" � ���� �� C���� T��� � ��" �, %�%��� !�; � ������� ���� �, �� % �� ./( !�; �,�*; ?7-� %�%���� �� ��" 3���� 3%�� % ���� � ���� '��� �F� �� '������ W7��� . 8��90� !�" ?��� 5$4�� �� �$� � ���$��� � /( S��

'�<��� !�; ��4���� � 4�%��� % @.

����� � S����� �: 4��� � F%����� ��� � ���" !�" ������ � ���� �� T����� '������ !��'�<��� !�; ��.

(� � ���� �� T����� �� =�F� C/���� %�� ���� ������ ��� �/( �� 8������ ���$� ���� W�� �-� � � ��� # ����� !�" ������ W�/��4����B���� ��9 !�" 2%$��� �� $�� � ��F ��9 ���4�� !�" 2%$��� ... �1, � ��" % @ ��� ����"� �� T% �� ./( ���9� g�;

-��� u ���� K,%�� !� �� !�; N�I� �� �0� �� % �������� � 4�%� 8��90 ]���� '�".

$��7� �����: ?�% ���� ��%9�� ��* ���� �� ����"� �� �� ?�%�: # ���I��� . �( ��*$� ��*%$�� ���� �$����� ���0� # ��� �;

���� E*�� '��� �� 5� ���� ���0� �� � #��$�� �� ����� ��*� ��� �I��� �, ���0� ����� ��� � J%�� ���������� � 1 �. � %�%*�� ���0� ��� �$� ��������� E�� '� �/; ��: % @ '�<��� �< ?� ��� �F�1�� � ��� ���� �I��� ����"� ��� �, !��.

�, 2$*0� � ���� ������ � �1 ���� �L� %�/�� �� ?��J�� 5� ���� ?��� �� ����� '�<���5�����'�1�� ��������� ���� ������ . �� $���� ���WAP

%� K%$� ���� ���� ���WAP� ��0� ������� B� P� 2$* 5�� �����7� .2%$�� ���9��� !�" ����� �� A���� �/( �,

�, � ��0������%� WAP ��(����� � 1 �.

����� � P� �� �� ������ 8���� ���0� �� �� �, � �����WAP1.x:

TLS: ���[� 3������ 2�%$���� ����� ��� ����. �, ���� ��� %�4�� ���7�� ������ � � � �� !�; � �� ��4�� E� ���$���� '��

�I��� .� ��� � �� ����F %�" ��4�� � ��" � ��$�� ./( ����� . �,WAP�� % 19� '� '������ % -0� %�" ����� A��-� ���� �%���� ���WTLS �%� '������ W70� %�"��� �-� ���SSL� �TLS . ��� ���� �, � �0� ���9��� ��� !�; 27��� �/(

WAP .%��� !�" E�� ��9� 2%$�� ���9��� � 41� �, ������ ��F��� ���WTLS �B��� �.

��%� % � � '�� ���WTLS� ������ K%" T *� �4���� ����14���� � ��7�� ����9�� �J � ���� � P � !�" ���$�� % �L���� %�� ���7�� � ���� ����� ���9����� ���TLS .�� ��7�� �J ��� �, � ��$1� B������ ��� N/��.

Page 277: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

277

�-�� !�; ���,�*; ��� ���� ��� ���� '(� � ����� ����������%� WTLS���� ����� �TLS: X �1���� � �$� �� ��%��� '"� . '"�� � � �,SSL �TLS % 19� RSA '"�� WTLS% 19� RSA �DH �ECC. X �����9� S��� '�" ]��1� 3���9 2 %$�WTLS �����9 ��� �� � ��$, %-�� �(� X509. X ���� � '�� '"�UDP . %��� �� T ��� 3�" �/( ��������% 19� �� ?�A����� ��� ���� ��� � �(%�%�� ��J�%�� 3%��; !��

��� �%��. X '������ ]��1��� D ��� !�" ���� �"���� K��1��� '� D � '������ ]��1��� D ��� %� ����%��� �J�%�� ��$� ?�$�� W�/. X � ����$� ��" !�"� ]�*� 2 * ��� ��% /���� �� E�� �"����×A� . X � ��� ��,�4��� � �-�� T ��� ���$�� % �L��� ��/ �J ��� 5�� ��9� � ��$�� ./( T ���� ���� ��� ��%���� ��" �� ��

� ��7�� ����9��.

'��� ��� ��� ./( !�; �,�*G��WTLS �� �� � D7- ��T����� ������ � � ��4�� �� ����� �( 3%�h�$��: Class I WTLS : ������ � � �"�1�� 3%��"WAP �� T��� ���� � ����.

Class II WTLS : 3���9 '������ ������ B� �( %��<\� '����� '�� WTLS. Class III WTLS : 3%��" �� �� '�� WAP �%�[� 2% �� � �( �� T������ ������.

� �/�� ��F� ��� '������ � ���� �� T����� �� )���� �/( '��� .� ��� ?7-�,a) SIM ( '�<� �,GSM$� � ��� �����

��4�� �� T�����.

%& �2C ������� WAP

<��� A��� ' ��� �� '@%���WTLS �(�*� ���� ��� ���� �� � �$�� �����%� TLS ; ?� �� �����$��� ��[� ����� ������

� �� ���9�� 5�� B��.

8���� '����� 3%�%* �, ���9���WTLS �TLS� 8���� �� ���� #1� ��* a WAP . ���� W��( �� $� ���%� �1,�� � � ���%��������%�� . � ���� ./( ��� �� # ������%� WTLS� ��� 3%P- ���9� �%�� B1� .

h�" !�" '�� W�� ���%��� � ��" �; 3%�WAP '����� '� D � WTLSh�$��� ������� ������ � � � 3%� ������%�TLS � �

h�$���I��� '���� 3%� .�,h�" ��*� ���%��� ./( 3%�WAP>��� =������ % 19� W, ��" '�� '������ %19WTLS 3��";� %��� '������ .% 19���� ���TLS �H %4 8� �P 4� �����$��� ������ W�� % 19��� 3��";� W, � ��" A��-� . N/�� ����� �� E�

� N%P4� �� %4�� ���P 4� �����$��� B , !��� E� @ 3%��$�� �� � �� 3%P-�� ./( �<� ���� '�$�� T� ��� ��* 3����� %> %� $��� ��* ���0� )�*�� �, ��� ����WAP.

Page 278: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

278

3%P- E� ���$��� ��%� � W��(WAP: X 3%�h�$�� !�" W�� 2$*�� � �� ���� ���F�h�$�� � ���� ������ �� �/� �� %���� ��%���� '������ 3%�� ��F�%��� �� �:� � �9�

�� ���� �� ���0�. X 3%��" ���WAP �I��� T� � ���� !�; �?� ��/ ���%��;.

( � ���� � /( � � %� ����(� �I���� ��% %�%F �" 3%��"� 3%��" T � � 3%��G � ,�*; %��4� W7��� � � �* ��� �" 3%��"

WAP�I��� ��* ��I��� ���� � !�" �������� � ��0� ��� ������. � %� $��� ��* ���9��� ./�� �� ��� ; '� <��� ��WAP2.x

WAP2.x:

%� $��� ����� ���� 3� ���� ��� ��� �� � �$�� W��(WAP2.x �%� '"� ���� � �(� %-�0� ��� ������� � ��� ��%��� ��� . ��F '����� !�; �/(����%� �-� �HTTP� TCP� IP ��� '����� � ��������%� TLS���� ��� ��[� ����� .

'���� ������ ����� ?�%<�WTLS%� ����\� H�4� ���( ���� ����TLS �I��� '��� !�; ������ ������ �� '��� ��

� ��4�� !�" ��4��� ������� �� ��:� �� �� � ��� !�; � ���� 3%P- 8�����WAP?����� .

>�*� � ����� J�? $��7�

��� �� E� 3%P- !�; .��WAP%�� ��� ���TLST � ��� =��� !�" ���0� ?����@ ��%� ��� !� .

� $*�� �, N%�%* T � ��� =��� !�" ���0� %��$ :

1 X � � ����� ��� ����� ��� ?���� � ���0� ��� ����"�����%� TLS. 2 X # �� �� ����� =������ !�; ��4��� 5�� ��� ��� ����" !�;� ���� ��I��.

8��� %�� ��� B�" D ���� ��� N/�� ��0��, �(���� �� ��� '����� WML .�'�" ��9� !�; � *�%�,� �����"G � $� '� ���� ��%� !�"� .���<�7� 5����� ����� K$� �� �� ,: X 5� �� !�" �F� �WML ��� �����$� !�; ��4��� 5� � ���; ���� � True!�; ���� �14sendreferer

3% 9L��� ��*<go>. X �� ��� %�4��� ���� �� ��L��� ����� �����$���� �4���� ���� �� ����$�� '�� N/�� ���%��� 8��� !�" 5�

� �%��� �, � $���REFERER 5� ��* HTTP T� � �� '��F B����$� '�� N/�� 5� �� �� �� ��L��� T �4.

Page 279: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

279

X �� '����� 5� �����%� HTTPS � 2%$�� �, ��4�� %�4� !�" ����"� '�"� ��0� � ���� T��� � ����$� �" ��4�� ��� �, ?7-� 2�����.

8��� %�� ��� B�" D ���� ��� N/�� ���-���, WMLScript �Crypto API . E����� '������signText ������� ��* � ��%���Crypto ��F% E F�� A�9�; ��� '�$�� ]��1��� � ����� � ���� 5���� H�1 PKI 3%��G �'�" ]��1� �����9 %��4;. ./( H��

������ ���� � � � ��� !�; � ��� % 19�� � ������������.

Page 280: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

280

�3? S��� � ��� �: A<�� � �*��� � ����� �LBS

������� � ����� � :

EF����� -���; �D �-� ����� �� �� �

����: ������ ./( ��� %��� �%� ���� �� �0� �( ��� EF����� � ��%��� ������� � (�� !�" ����� ./( �, 2%$�� . !�" 2%$�� ���

���F� =��� EF���� � ��� �, �������� �� ����� '(� .� ,�%P��� �����$��� ��<�� �" D ���� !�; B , T% ���.

������ ��!��: !�" �41�� �/( �, 5�� �� 2%$� :

€ ��� %� ���� �� �0�� EF����� � ��%��� ������� '��1�. € �������� 3���0� EF�� � ��� �, �������� �� ����� '(�. € EF����� � ��%��� �������� ���F7"� � ,�%P��� �����$��� ��<��. € EF����� � ��%��� ��� � ��� % � � ��� ��<�7�.

Page 281: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

281

A<�� � �*��� � ����� �(LBS)

������ �� � �$�� ?�� �� ?���( ?��$� EF����� ���$���� �����$��� �,�*; � $� . � �� %���"� � $� EF���� /�L� ���� ��� � ��� �;������ �7 *1� �, ?� ��� # � ���� ��� 84�� ��4� ' ���� W�/� '������ � ��$, ��% �� ��9� ' �� !�" ���� EF��

W������ !4�� �J��, %,�� 3� �� ��%� !�; =������ 8 4�� ��� ��� ?�* � '��������I��� ��� � ��.

A<�� � J�? ��"� � ����� � :�.��D �.�� �J��: �������� T1� � �������������(� ���� A�9 !�" ���������� ��( EF���� !�" � ����� ������� �� � ��" 3�J�, ��/ �����

�������� 3���0� ������� ������. �������� 3%����� ����� !��� ���0� ����� �� EF����� � ��%��� ��� � ��� ��%��� 8��90� ����� C%��� .

T�.�� ���� ��I�� EF���� �����$� �� � 1�� ��� � � �" 3%��" �( EF���� !�" � ����� ������� %�4����������� ���.

T�.�� � � �� � � ������ �����$� �" ��4��� !�; ��F� � �� 5%F� ��� ; �� ������� ./( C%��� �� ��� A �B ��j%�� ��%� 5%F0 EF���� �����$�.

��� !�; � � ��� �J�% ��%\� EF����� � ��%� =%�� ��<�� '��� �F� ��%� �, %�$0� !�" ��* 1�� ��� ����� =�� ����B�%�� %�%�. TJ��� ���0�� � ��%� �"��� ./( ������ � ��" ����� D��-�� !�; ���-�� � ��� �� ���%��� ./( �, T��� C%�� �3%�����.

EF����� � ��%��� ������� � �� �� �� D7- W��(: X ��0� � ��� : ������� �����$��� ����; '������ �� 5� �� ��� � ��� ./(������ !�; B$F�� . ���90� ��� ��� �� ���

N� %� ����" ��9 !�" �����$��� ./�� ����_� �������� �����$��� ./( !�" ?�����"�'�� ��(����� �44�� �����$� T � ��� �� %��� '"� ���� 3�� ���..g�;.

X ���-�� � ��� :����� ��� EF���� �����$� ���� �� ��� � ��� ./�� ��� ������� ������ '���� ���� !�; � . EF���� �/( ��� ��%���� � 3�" �" � �� �,�� T%�1� ?�� F�.'��� ��0� � ��� ��� � � B� '��� ��� ����9� ����� � ��� �/( ��� � � .

X D��-�� � ��� : EF���� �����$� !�" T�� ��9� ��4��� ��� � ��� ./�� ��� ��"� ����� � ��� E �������$��� W�� !�" ?����. B����� �����$�� � ���� ������� �" � �: B�9 ��- ��� ' ��� ��� � ��� ./�� ��� � T% ����$������ �����$�. ./( '���

3� �" � ��� ��� � ����� 4�4��� !�" ��� � ��� ./( �-� A�*F 8�4�� ?���F K$��� ��� �� ��� '������ 3� 1�.

Page 282: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

282

����*� �A<�� � �*��� �

� ������ ��� � ���� ���%9�� �� ������� !�" ��� ��$� ���� �� ��� �(��� ������� ./( �� , %�-�� ���� ��� � ��� '(� K%$��. � ������� W�%�; E� ��� � ��� ./( ���� E�� �� EF����� ��������� ���� 3�J�1�� ���%9��. � �/( D�� �� ��F ���� 0 �

��� � �LBS�� F� H�4� �� � �$ % �'����� ���.

�,�� �� '(� � ��� � ��� ./�� ?�"� 9 �������� %-��:

O���* � �����: j%�� ��%�� ��4�� � ������� ��� j%�� �� ��� �,�'� �; 3�"���� ��4 ;� '�$F�� � ��� '� . #�� �( ������ ./(�

����E911���� ���9� B���� ����� �� $��� ���%$�� 3�"��� '�" ��9� ������ ./( '���� ��� �� ���9�� �� %�� �� A���� �, 3%,���.

������ � ��� � �������: ��� � � K$� '���LBS '������ ������ EF���� � ��� !�" 3�"����� � T����� ���� EF��� �����$��� ./( #�� !�" '���

� ]�%�F��N%�%��� T����� ������ �*,0� %���.

����� �: ��� � ��� �� � �$�� 2 �4��� �/( ��� C%�� � ��I�� �" ����G� !�" ��%�� ���� ��� : � ���� �� �4� �� E �� 2 �"� " !�;

� ����"5"k ��?�� �$� %-�� ��I �": ( ����� E ��� � ��" A��-� B"���� 5����� ��-�0� %����k���%� 3�" !�" S�

��"���� � ����� � ���/: !�; 5%F0� ������ 5� !�; � �" 5%F� 2 ��� '� D �� � ��� ��� ������� �, A7�$�� ������ E��� ������ �� ������ ./( �$��

.���� EF�� . � %9�� ���%$� �J%� �� ������� ���� �, � ���$�� % �� ��9� ������ ./( � 1�� 2�$G��A�1 G�.

��*��7� ���/: '������LBS�� %���� ��4��� �F� % ���� ?7-� �������� ' �� � �� EF�� E��� ������ �� H�4 .

������� � A�� :

������ ������� �� �9 ������ ./(� ��% ��� ��������� E���� ����� ������� �������� ��� ������� ��$�� �� ��� ��/ �$��0�.

�����# � ��"#?9�: �� $� �� �� �, '(���� �7� � $� S���� ���$�� �����$�� '���$� ����� �, � ���� � ������� ��� ., ��" ��-��� � � !�$

�7 ��� K%$ B �� �*1��� ����� �� '������ '7"; '� �� ��� T�� ��%� �� 5�%�F� . �����$� 3��" ������ ./( 5� ��F�� �$, 3%�4� %9���� 3%�, !�; C���� W�/� EF���� �" ?��� �� .

Page 283: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

283

B� � �����:

� ���� ��� ; �� ������� ������ '���� ������ ./( ������ '"� � !�" ?7-� %�-$��� �� , ����� ���� �� ���� �, �� ����� �� ��� ��F��2��@ 5$� �����.��� � �� ������� ./( �-� �% ��� ��� ������ �4�� ��������� 3%����� � ��� A�%9��.

-����������� ���� � A<�� �����:

�F�%��� ���%$�� EF�� � ��� �� % �� ./�� ��� D � ���%$�� �$���� ���� �( ?�%�I� ��� � � '� ���� �$J�9�� ������� ���������$��.

*0��� �: � ?�%�I� ���%$�� �� � �$�� ��* %,�� ������ EF���� ��� �����$� !�" ��4��� �� ���� J�%� ����� ��� � � 41� J�%�

� ���� T,�%����������� ����� E� ������� ./( S�� '� ?�%�I�.

S�* � �������: '������ EF�� 5�� #� �� �" �����$� � ��� '� �� ��� � 5%F� �F�� �����$��� �F� T�$�� �����$��� ./( ��� �4% � ��

N��. � ���� � 48�7� A<�� ����� ���"��

3���0� ./( EF�� � ���� �� % ��� �� �� �� �������� 3���0� EF��� � ��%��� ������ A�9�; ��F. ���� �� ����� �� � �$�� %,���

�����$��� ./( %,�� ����� �(����"� '� .

�� '� � �� ����� ./( ��� %� ��� %�%F �;( ������� �1���� ��( � ���" � � ������ !�" 3��" !�� %�%F��F���. �F��� )�1�%� E�,���� �$F����� �1���� E1�%� �� �" ��4��� 5�� ���.

�������� 3���0� ������ � � �1���� ./( )���� �� 3��"�� ��7�� ������ ����. !�" ����"� 3��" � %� ��� !�" 5�

� �����$��� ������� ������ �� ��� '(� ��� ���� �F� !�" 3%9��� 3%�4� %-I �����$��� ./( 2$*� � ��7�� ������ ���� ��EF���� �����$� � ���.

�$����� EF���� � ��� � ��� )��� EF���� � ��� �F� T�$�� ����� '<$� �,.

��� ���� ��F �� ��� � � ��� ���9�� !�" � ��� ���� W��( �� ���� �������� ��� ����� EF���� �����$� � ���� � ��7�� �����- ����. �1���� D � �� � ��� ������ ./( %��$�� %���0� ��J� � � ]��%�� �*1��� ������ ���� �F��� ���� ��%���� � E*� !������� 5�� W�/.

� E ��, ��1� ��������� ��� ����� !�" � ����� ������ ��� % �� ��9� �F��� � �� �1���� E,% �, % �� ��9� %-I� �������� ������ B1� ������� ������ ������ A������9�� �P9�� ������. �4� �F�� EF���� �����$� !�" ��4��� ��� ������ W�� '������

� %���� �$*� !���'������ ���� EF�� �� '��F� !��.

Page 284: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

284

� ��9 ����� '<$� �, �*,0� 5 %���� ������ ���� ����$� �F�� �� !�" ��4��� W�/������� �1���.

�� -���G� � ��� EF���� � ��� �� ��� E ��� ��0� 2���� %��$ x,y ������� ������ � K�%$�� ������ HJ�%9�� �7� �����

��$�� �/( '���G � �0� T% ��.

� 48�7� A<�� ����� ���"��� ���� ��3 � J�? ����� � ���� �

%��$> � ��7�� ���9�� ���� 2�I� ���� ����-�� �� ���� '����� =��;����� ���� EF�� � ���� T% �� . N��� ./( �� ��

�������� 3���0� �� ��%�9G� ����� N� ��% K�%�"� ���� !�" �� ���� . �� 3���� � �� �� 3%�9G� /�L�� %-��������� ������ EF�� � ��� �� . '� ���� �������� �� ���� ��" ����� ���� ���" 3%�4�

EF���� ��� T�� �����$� !�" ��4���. '����� �, 3������� �������� ��� ����� E� ��$�� ���9�� !�" ��$���� ���� ��� �EF���� �����$� � ���� !��� 3� � ���$� .

(�'������ � : $��1���� D � �� =��� �(%-��� EF��� �����$� � ���� T% �� �� �� �� % �� ./( %�� .� � ��7�� � 7��� N� ���� � ��� �(

��$F�� �" r7�G�� '���� ������� � ����� ������ .� !�; � ���� 2%$� � ��� ��� B�\, ����- � �� ��� � �0� � ���� ���� ������ EF�� �����$�������� ���.

��� ���� % @ � ���� ���� ��* ������� ������ T F��� EF���� �� �, ���� �/�� A��� 5�����. !�� T%�1� �����$� �� % �� ./( %,��1 X2%���� � . EF���� �" ���" 3%�, /�0 ������ �����$��� ./( %��$�� W�� %,�� �����

� j%�� �� ������ � ,���� �����$����� T% �� !�" B ���������7"G�. � ���� ���� �� % �(%,�� ���� �F��� � ��� =%�� T% W��( <��� ���.

��"� F !�; '�� � 7��� K$�� � ���� ������ ��� �D�-�� !�� EF���� � ��� �, L ��� ��� �� ��� �� �/(.

!�� � ��� '����� ��� �F��� �� � ���� !�" ��4���TA � ������ T���� � ���� �" '������ �$� �,%$� �, �"�� �����% �� ��9� EF���� � ��� �, L ��� � ��� �������.

�� F� �� % �� ./( %��$� �� ���� 2%$� '������ EF���� � ��� �, ���$�� �F��� ��� �����. �����$� !�" ��4��� �����$� �\, 2b�TA� ���� %�0�� # � �������� EF����� � ��� ��%� !�; ��4��� ��MPC � N/��

� ��%� ��� � � ������ '������ EF���� �" ��41� �����$� %,� �� ��� API. ��4�7� ��� � � ����� � %� ��� ��� 5MPC �����$� !�" ��4��� TA� ���� ���� �����$� E� .

�� ���� �������� �� �[� ������ ��9�� H*� �� % ��* �(��9F2Q%$>�� ���� :

Page 285: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

285

� �%� ��" T% �� ./( !���� ?�$� CGI-TA %�4��� �(� ��� � ���� � ��� ;%"�4 � >� � !�; ����� �� 5 %���� �/�� ���

� � �F�� SJ���100 !�; 200%�� .� ��� N� 5� �� ���� � ����� ./( � �� !�; ��� ?��� 3� � �F� �" 3%��" �( 3���0� �, D��������.

���(L��� T ����� �, �� ���� �,�-�� ?�%<� ����� ��* � ��$, %-�� �� % �� ./( �L� ?�* � %�/�� �� �� .

���� � $�4 ��"��TOA

��� � ��� �� � �$�� � ,���� �F��� !�" �4�� � ���� 2%$� E� ������ T��� � ��� ����"� ��" !������� ������� ���F ����� � ��� �, ��*�%$���.

��4��� ��� � ��� !"� ������ �/( �, %�[� 5 %����TOA� � ��4��� ��� T%,TDOA. EF���� � ��� �F� % �� ��9� ��� �� � ����� ./�� ��� . '���� ������� ������ E*�� � ���� 3���� � �� '����� �� ?�� TAO

D7- �� ��$�� '� �����$�� �� ���%-��. �� ���� E �� �� �������� '� 3%�9; �% ������� ������ �$�� �� % �� ./( ��$� ������ =�� ��*. ���%�� ��%; � � �4�1�� ����� 5��� �(�$� � �� �� '��� � ��������� ?7-� �� �� D7-� �� �

)T1,T2,T3 (� ��� 5� �� ?��� �� F� ����0� ./( ���� �� 5� ������ � ��$� E*� �� ���� E �� �, �F�� .� ��; 5� � �� �/( '�<�GPS� � � %/ �"��'�$� ��� ?�1��� %��$ � ���� 7�.

Page 286: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

286

� ���� �" ������� ������ �,�� � ��� ����G�� H�4 B�\, ����- �"%� W%��� 3%�9G� �� ��� .� � �� �� 3������ �,���� ��� 3�J�, ��/ � � 3����� �� ���� EF��� !�; ��� ������� ������ ���� � ��� ��� �� �� D7- �� �����$��� '������ ���

�EF���� ���� ���" �� -���; !�; �� ���� !�; ��� ������ � ���� �� -���G� ���%� ��� �(�$�. � ��� '����� �� !�; B ����� �� ��( �� TOA���� ����9�� �, ?��� � ��" � ��� ���$� CDMA/CDMA2000 ����9�� ./( �0

� ����� /�� �������� � %/ �"� N� !�; C���� �GPS. EF���� � ���� ��4��� ��� � ��� '����� � � ������ ��9��

���� � ����4 ��"��AOA:

� ���� B��9� ��9� � ����� ./( ��$�TOA �G '�7�� ����� '����� �" ?�*�" ��� D7- !�; ��4��� ������� ������ ���� 3%�9� ���� !�; 3%�9G� ���� ��� � ����� � ����� ./( '���� �� �� . � ��� ��� �F0� !�" �� �� D7- �� �����$��� ./( �������

������� ������ E*��. �F� !�" ��4��� ��4��� ��� � ��� E� ��4��� � ��� � ��� ��<�0� K$� '����!�"�.

R��" ����� � 4�8� � J�? ��"� � ���� �

B1� ������� ������ !�" � ����� ������ '����� �� �� EF���� � ��� �, !�"� �F� !�" ��4��� 5�� ��� ��� ����".

EF���� � ��� � ��" �, � �� 3%�4� ������� ������ W%�9 ������ ./( �, . ���� ������ ./( �F� H�� �� D��-�� � ��� ����� 'LBS �T F� EF�� � ��� 5� �� ����. ���$ 7���� �L� ��� ���� � ��0� 27��� ���� EF���� 5��� �� % �� #1� !�" ���*%$� '��� � /�� E-OTD !�" ���$�

���$� � � �, � *%0� �� ����GPS� "��4�� %��F0� !�" .

� #��# �"��� � ��"�� �"�4 %(E-OTD): � ��� �;E-OTD ��" ����� B��9� ��9� ��$� TOA� ���� �" ?�� ����� 5�� ������� ������ !��� ���� . � ����� ./( ���$�

� 1���� � ,�%P� � ���� �, � �� �� ������� 3%�9_� '�7�� ����� 5�� !�". ��$ ���� ����-�� � ���� ������� ������ ��9 ��$� 5 !� ��LMU� �EF���� #� F 3���.

Page 287: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

287

5� T F� EF�� !�" ��4����W�� 5���� � ��" �, �� �� D7- �� �����$��� W%�9� �. �� ���� !�" 5� � ����� ./( H����

������� ������ !�; T F� ��9� � F���� ��%;.5 %���� �/( '������ �� �0 �F��� #1� �, �%�9G� E �� ��%; 5� '��� #� ��� A��-� ��%� ���� �, ��� �F ������� ������� %�� �%� ��(LMU � ��" ��� �� T F� � F�� %�4� 3% �0� ���� D �

�����$��� �F� �� ��L��� #� ���. � ��� '"� N/�� ������� ������ '�� !�� ��� ��� /�� � ��" '�� �� ��E-OTD�� �� ���� �� ����� T%, � ��� �-7-. �(��"

������� ������ � � �,���� 5�� ��� � �� ���������� ��� F � � ����� T%, ��%���� W�/. �,�� !�; ����� T%, � ��� ��� ����- �"%� W%��� 3%�9G� �0. !�" '�� �� � ��$�� ./�� ��� D � ����� EF���� !�" ��4��� ��� ��,���� !�" ��4��� �$�

������� B1� �������� � ���� ��F ����� ���� EF�� !�" ?�����"� ��� ��� �� -���G� 5�� ��� �(�$�. ���%� �� !�" ?�����"� ������� ./�� '� ���� ������� ������ '�� � '"�� ?�* � ������ ���4�� � ���� D ��� � ��" �� �� ���E-

OTD. � ��� �� =%� T� ���E-OTD �� %,�� T F�������� �1���. !�� �4� �F� !�; ��4��� ��� D � 50 !�; 100%�� .

� ��� �� �� ������ ��9�� H*� E-OTD:

GPS �A-GPS

%��$> ����$�� EF���� � ��� '�<�GPS �� ����� %-�� ��%*���� �F��� �, � �$9 . �/( '��� � '�<��24 ��9� ����" �"��4 %�F K%0� ��� %��� '"�� ���� �7������ !�; ��%�9; ��%GGPS.

Page 288: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

288

� D7- E� ��4�� ������� ��� ��<�� N� �, � $�4 %��F� E�%�.

������� � � %<� � W��( ��� �� 5� ����� � ��$�� ./( H�4��� �$�4�� %����� '����� E�� �� �/(GPS� ��0� ��* .

EF���� ��� F !�" ������� ��4� ��"� 3%9��� �� -���G� 5�� B��� �������$�� ���9�� '��� !�; �����$��� ��%;.

� ��� �, �4� ��� B��9� ��9�E-OTD ?� �� 3��$� 5���� � ��" %��$� ���� #L� ����$� 3%�F !�; C����.� ������� ���� �/; �� ������ � ��� E�4��� !�" 5� B1� ������� ������ !�" '�� ��� ��� ������� ����$��� 3%�F %,��� 5�4�� �� ��� �, ���

������� ������ %$ �, �1���� �� � ����.

����� '�� �������� ��� ����� �� � �$�� �,GPS� ���� '������ ������� ������ E� �4��� ����F ��41�� 3���� � 3%�4�D����� � ��� '������ � ��.

3��� �� !�$�� GPS�F� �� B�7��� !�" 3 ������ ��9 !�" 3%9��� 3%�4� % -L��� ��� 5�� ��� 5�4�� �� ��� N���� .

5 �4���� � %P4�� HJ�%9�� %�$� �;GPS � ./( '����� !�; ��� ��9� 3% �0� ���[� �, % �� ��9� K1��� �F �F� �� ���7���������� ��� ����� ��* �� �� 3%�4� � ������.

��$ GPS D �-��� !�" 3���$��� EF���� � ��� �� ���� B��9� ��9� , ��F �� ���A�%F ��� ��%�9; D�� � $�4�� %��F0� '��� D � '"�� ���� ��� �����GPS.

�, ���� .����� '� ��4�� �0 3%�9G� ./( ����� ���� 3���0� ��" �$�4�� %���� '���� �� # �.

������ '�� ������ !�; ��4��� �$�4�� %���� 3%�9; ���� �� ���� ����� � �� #� �� �������. %��F� �-7- �� ��� ��� ./( /�I� �F� %-�� EF�� �����$� A� "G �1����.

�F� A� "G �����$� !�" ��4��� � ,�� %��F� �-7- �� ��� ��� ��� %��F� �$�%� �� �����$� � ��$�� 5� �� ?� *� %� ,��.� ����$�4�� %���� �� �,���� � ��� /J��" ��� 3���� 3%�9G� �"% ����.

EF���� �, L � !�; ��� �F � ��-�� �� 2�� �� ���� A�� �, L ���, ?��� �� F� ����� ��� F ���� �� N%�%*�� ��, <�7� ��� !�; �4 300%���� � . �7���� '���� 5��� �/��GPS�����$��� �� �� ��L��� �$�4 %�F �� �, � %/ �"� �� ������� T F� �����.

D �-��� � ��" '�� �� ��� �$�4�� %���� �" �,���� 5�� �$��������� ������ ��� ��� �� -���G� � ��� . SJ��� � ����� ./( ���� � � ]��%�� �F��5 � !��40��40� EF���� �" ?�%�� .

� ?�* � !�� � 5� ��<�� �(���� ���� EF���� �����$� �GPS �� �� �� -���; ��*�� � K%$���?�* � )�1�%�.

���$� ���� ��<�0� ��� �� '@%���GPS% �� ��9� �F�1�� � � ����� �� F� EF�� �����$� ���� . ?���� ��%�/ ��� B�0 � ��4����$�4�� %���� E� %<� � W��( ��� �� 5� 3A�%F !�". ��������� ���"b� ������ 3% �� � ����� �$� � ���� ./(. �� � �$��,

� � ��0� ��* '����� 5� �� ��� � ���� !�" 5$4�� �� �$� ��� ���%$��GPS���� ��� ������ � ��� . ������ ��� ���� �F �� % '����� ./( 2$*�� � ���CGIXTOA��"�� �� % � .

Page 289: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

289

0� � �0� ���9��� ��� � � ]��%� �F � ����� ./( '������ EF���� � ���� '�7�� ����� �( =%�20 !�; 40 � ��- �(� ?��� % �� 'F%��� � ��� �� � �$�� '����� ��� ��� .

�, � � �0� 2$*�� �� �� ������ ���� ������ ���GPS !� �� '����� �( A-GPS� � '�"���� ����$�� EF���� � ��� '�<� �����$� ������� '��� ���$� ������ 3���� '�<��� �/( '��� D �GPS���9�� '��� !�; ��A�%��� ��%; '- . % �0� '��

�7���� '������GPS =%�� )����9�� �� A�� ��9� �( ( ����� ���� �����$��� ���"GGPS������� ������� 8���� .

�7���� E ��� '� GPS��� �4���� ��%���� ��� ��J�� %��� ��,��� ���9�� %�" ���9 . �����$� ������� �7������ ./( '���GPS �"��4�� %���� ��F �� ��%��� � T%��1�� 5�� !�" 3%����� '(��� ��9� �����$��� ./�� �������� 3���0� � ���� '���

� 3%9��� ������� ���%�� % 19� W, !�; ������ ��� � ������$�4�� %���� �. ����- ����- ����� !�; 5�� ��� ����� �4 D � EF���� �����$� !�" ��4��� '�7�� ����� �, ?��� % �� T%, � ��$�� ./( T���.

5���� �� ��" '�� D �� ���9�� '��� !�; ��� ��� �����$� ��%\� ������� ������ '�� , %<��� �� ���$���� � ������� �L9� ���B �" 3��$���. 3��$���� ��%���� � ��� ������ ����$��� 3%�F H�� � !����� ��* ������ EF�� � ���� 3%�9G� � ���� ����0� �,

N� ����� 5��0�� EF���� � ��� �� , 5$4 ����.

�7���� � ��� '����GPS�%@�� ��9� � ���� � ,�%P��� �����$��� ��<�� E� � ��%� 3%�4� �7��� ��* �1������ T ����� �,. ��� � � �������� %-�� ���GPS ���%$��� 8���� EF���� � ��� '�<� �( ?�"� 9 �E����� �����. �� %-�� ������� ./( 5� �� ���$, ���$�� EF���� � ��� �%���� ,�%P��� �����$��� ��<�� %�� ��L ��(.

� ��� �� �� ������ ��9�� H*� A-GPS

Page 290: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

290

! ��� ��&��2� � ������� � ��6"GIS

EF����� � ��%��� ������� � ��� � ��" �, �, 5������ ��� �������� 3���0� EF�� � ��� ��9 . EF���� �� -���; !�" ��4���,

E� ��� N%�%*�� �(� �� �� -���G� W��� B�$1� �� ���.

( � ,�%P��� �����$��� '�<��%� �" 3%��" � $ � ��4 ��/ =%�� �����$�� EF���� �����$� �% B����\� J�%��� E*�� 8�� S��� �� F EF���� �����$��!�$�.

�� ��0� EF���� ?7-� ��*�� �����$��� ��$�0� 3��$�� J�%� '������ 3��" �/( !�; ��4��� '� � �)%��9�� E*���� ����� �,�-��

��=%�0� �����$��� �� % -��.

2�L� �����$��� '�<� ���4�� ���� ��� �� �������� � ,�%P���� ��� ��%���� ����� ���� �� ��" A�%�; � 1 � ����$ � �%�� 8��9�� '�<��� �(��� ���� �����$� !�" � �����.

��<�� � 1�GIS� �� � *%@ T ��� �, :

X �� $� '��$� ��� ; :����$� ��� ; �, � ��$�� ./( � 1�e�$� ���� �" �� �� '�B� (�� �" . '$ � 5%F� ��� ; � ��$�� ./( ��*��

Page 291: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

291

��� ?7-� ��F� � ������� ���� !�; ��4��� �*,0� %���� � ���. X � C/��� ��� ;��� � �9� :�� �(� ���"0� � ���� 3%���� ./( ��%��������� ��� ����� �� �, '��� . 3��" ���"0� '���

��� �,%$���� '�$� �" � ��%,G� �����$��� �" ?�� �����$��� E. �F ?7-� %��I� ��$� ���� � ��� ������ ��" ��-��� � � !�" %��I��� �/�� � ,������ 8��90� � ���" �� , ����� ���� �� ���� � ��� ������ �����$��� ��� ����.

��<�� 3�J�, �� ?����� H*���� ��GIS ��� 3% �� �������� ��� ��( �� ������ �J��, '��� ��<�0� ./( ���� �������� �J ��� 5�� �

��<�0� ./( �������� '(� �� �� ,: X %����� �, ��� �� ��� ; : ?�"� 9 �������� %-�� �� '����� �/( �$ ��������� ��� ����� �������. ���� EF�� A� "\�

%��� �� ��� \� '�<��� '�� ���� % F 24� ��* ��� .� �4�� ���%��� ���%��� ./( ��*�� �F�'"� ��� ���F��� �� �� � ���� $� ����� E ��� ���%� !��. X B����� �����$� :��������� �� ����� ������� ������ ?�* � ������ �������� ��� �(. X � � ����� �����$���: �" ��4���� � ������� K$� 5@% �F D � !�" '(����� EF�� �� �� %F H�4� � � '���� �����$� !

'������ .%�$ N/�� T % �� !�" N%�%� '����� ����� B ��� ��-��� � �. X E*����� �,�-� :���-��� � � !�" 'J�%��� !�"0� �,�-��� EF��� � ���� ���"0� �� % -��� 3� 1� ���� �F � � ��� �����$� �(. X E*����� �� �� :��� ����� � %P40�� � �<"0� )����� T ��� %4��� � � � ���� W�/.

A<�� � ������ � ����� � ��6"� ���*�

�1���� T% � 3��$�� �� ��� '���� 3��$� ��" �J � 5� �� ������� ./( ��� 3� �� T��� '��� 5���� EF����� ���$���� ������� ���,

�� ���� #1� !�; ���� �F . � ��� � � % � � )�*�� H�4 �$� )�*���� �/( �, ����%�� ��%�� %,�� '�" E�LBS?� �� ?��$4 ?�"�*�� .

'�� ������ ��� � ��� � ��%� ������ ?� ��� ������ API� "�� �� 3���� ���" 3%�4� �(� EF���� �����$� !�; ��4��� : X ���9�� !�" � ����� � ��%��� ��� � ��� ������ : � ���9�� '��� !�" EF���� �����$� %,��� D� N� �� �� �; ��4��� ���

� 2% �������� � �74�� W�. X ������� ������ !�" � ����� � ��%��� ��� � ��� ������ : ������ !�" EF���� �����$� � ��� '� D �� �� �; ��4��� ���

������ !�" ����$�� ��� � ��� T % �" %9��� ��9�. %,��� %� ��� � ��%� ������ EF����� ���$���� ������ 5�@� .�����$� !�; ��4��� '� EF���� � ��� ��%� T % �" EF����

�������MPC . EF���� � ��� �, �������� � ����� �" %<��� KP� � ��%��� ������� #1� '����� '� � � � %�� ��� % ,�� �������� %� ���. ���� �$ MPC���9��� �� ��� ������ � %� ��� ������ H �4�� .����� 3� � .�(����� 5� ���� �� ����� �� % -� �<�

��1������ ���P9��� ����� ���� ������� � � �������� # ���� !�; ������ 8�0���.

Page 292: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

292

%9" ���-��� %9" E���� '���

��C��� $�����

������� � ����� � : %� 8����T � � � .

����: ���$�� ����� ./( �, ��� P� ��� ���� %��,0� K$�� � � � ��� ��%���� ��4 !�; 2��� ���� ��������� � %����� K$� E� ��$��

3����� ./( ���� �7�.

������� ��!�: !�" �41�� �/( �, 5�� �� 2%$� :

€ '����� � 1 �Visual studio T � � !�; ��4��� ���"

€ ��1�� '������ �4���� � � � ��� �� ����� K$�Xml ���� � �"��F� MSSQL � MS Access���� ��� %��4�� .

Page 293: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

293

���? ��C��

�� ����� '���� ���� ��������� ��-�0� �� �"���� K�%$� 3����� ./( �, � �% �0� � ����� 8 4�� '�� ��* �� �" ��,%$� ���������� � �� %� ; ��* � *���� �����.

��7� ��C� �:

�( ��-��� �/( !�" ��$�� ���7�� ���� ����:

- % � ��� �J � %,��Visual Studio .NET

- Microsoft Mobile Internet Toolkit ��%�� T % �" ��� ���� �� �" ��4��� ��� ����� en=displaylang&9768f41f124fb28ea416-4e8b-21f597ae=familyid?aspx.details/downloads/com.microsoft.www://http.

- ���� '��� SQL MS������ !�" ���" .

- '��� ����IIS !�" ���" ������.

��: ���� � T � �� ��-� �" 3%��" ��-��� �/(ATM� � �� �7F��� A�%�; !�" 3%���� ���� ���� .

�� 5�� �, 3%,����� i������ ������ %������ %��<; ��-��� �/( �� K%P��.

1X ���� ��� 3�"�F :�4�� ���� ��� 3�"�F !�" � �%��� # � ��-��� �/( �, ��,�( �� %���"�� '������ '��� ��� ����-� 2�( '�� ��9 ��:

�������� 8�� ���-�� � � �������� 8�� ��0� � ���� ��( ������� ���� <�7� 2X �J � ��VS.NET ���� �� � �� )�%9� A�9�; %� ���� '���

Mobile Web Application. 3X ��� VS.NET 8�4��� � ��1���� �� �"���� ?� J���� 2���� ���(� � ��%���

MobileWebForm.aspx � MobileWebForm.vb) �P� ��%��� �/; Visual basic % � ��� .(

Page 294: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

294

4X %4��" %�� '��� �������� 5��� C/��� '��� %4��" !�" N����� 5 ����� '������TextBox � Label � Button.

5X C/��� D7- �� �� �� 5��� ��14 2�L��

- �\� 8�� ��0���9�� �� �(� ������ � �� �����$� ���

- ��9�� �� �(� 5���� )�� %� ���� 8�� ���-��:

- ��9�� �� �(� SJ����� %��<\� 8��, D��-�� ���:

Page 295: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

295

�� �� !�; % � ��� ������ '�$�� ��9�� ��I

6X ��14� ���%��� 8��� �,�*; ?� J���� '� �1������ '����� %4��" �,�*; =��

MobileWebForm1.aspx�� ��� ���%��� 8��� H�4 � : <%@ Page Language="vb" AutoEventWireup="false" Codebehind="MobileWebForm1.aspx.vb"

Inherits="MobileWebApplication1.MobileWebForm1" %>

<%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<HEAD>

<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">

<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">

<meta content="http://schemas.microsoft.com/Mobile/Page"

name="vs_targetSchema">

</HEAD>

<body Xmlns:mobile="http://schemas.microsoft.com/Mobile/WebForm">

<mobile:form id="Form1" runat="server">

<P>Welcome to Account View</P>

<P>Login

<mobile:TextBox id="txtUserName" runat="server"></mobile:TextBox>Password

<mobile:TextBox id="txtPassword" runat="server"></mobile:TextBox>

<mobile:Command id="cmdOK" runat="server">OK</mobile:Command></P>

</mobile:form>

<mobile:form id="frmAccountView" runat="server">

<P>Welcome to Account View </P>

<P>Hello

Page 296: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

296

<mobile:TextBox id="txtAccountViewName" runat="server"></mobile:TextBox>Select An

option

<mobile:SelectionList id="SelectionList1" runat="server">

<Item Value="0" Text="Checking Account"></Item>

<Item Value="1" Text="Saving Account"></Item>

<Item Value="2" Text="Credit Account"></Item>

</mobile:SelectionList>

<mobile:Command id="Command1" runat="server">OK</mobile:Command></P>

</mobile:form>

<mobile:form id="frmResults" runat="server">

<P>Welcome to Account View </P>

<P>Hello

<mobile:TextBox id="txtOutputName" runat="server"></mobile:TextBox>Account Type

<mobile:TextBox id="txtOutputAccountType" runat="server"></mobile:TextBox>Account

Balance

<mobile:TextBox id="txtOutputAccountBalance" runat="server"></mobile:TextBox>

<mobile:Command id="Command2" runat="server">Back</mobile:Command></P>

</mobile:form>

</body>

� 1���� �, ���%��� 8��� ���MobileWebForm1.aspx.vb: 'System and SQL Namespaces

Imports System.Data

Imports System.Data.SqlClient

Public Class MobileWebForm1

'Mobile Namespaces

Inherits System.Web.UI.MobileControls.MobilePage

'The source code contains Mobile Control's events in this

'section such as the two protected WithEvents shown below:

Protected WithEvents Password As _

System.Web.UI.MobileControls.Label

Protected WithEvents Form1 As System.Web.UI.MobileControls.Form

Protected WithEvents txtUserName As System.Web.UI.MobileControls.TextBox

Protected WithEvents txtPassword As System.Web.UI.MobileControls.TextBox

Protected WithEvents SelectionList1 As System.Web.UI.MobileControls.SelectionList

Protected WithEvents cmdOK As System.Web.UI.MobileControls.Command

Protected WithEvents frmResults As System.Web.UI.MobileControls.Form

Protected WithEvents frmAccountView As System.Web.UI.MobileControls.Form

Protected WithEvents Command2 As System.Web.UI.MobileControls.Command

Protected WithEvents txtAccountViewName As System.Web.UI.MobileControls.TextBox

Protected WithEvents Command1 As System.Web.UI.MobileControls.Command

Protected WithEvents txtOutputName As System.Web.UI.MobileControls.TextBox

Protected WithEvents txtOutputAccountType As System.Web.UI.MobileControls.TextBox

Protected WithEvents txtOutputAccountBalance As

System.Web.UI.MobileControls.TextBox

��� A��0� A�*, ��% ��� =%� ��� ?�� ���F�������� '����� %4��" E �� �" H %4�. 'Following constants define the type of account you want to query

Public Const CHECKING_Account = 0

Public Const SAVINGS_Account = 1

Public Const CREDIT_Line = 2

� �" �J���� �������� K%P� ����-�� ./( ��,%"5���� )�� � ��� �, '�F%0� '����.

Private Sub cmdOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles cmdOK.Click

'Get the username,if its a valid username then

'navigate to account view form

Page 297: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

297

Dim strUser As String

strUser = GetUserName(txtUserName.Text, txtPassword.Text)

If Len(strUser) > 0 Then

ActiveForm = (frmAccountView)

Else

Response.Write("Invalid Username and/or Password")

End If

End Sub

%� !�" P*�� D�� ����$�� �4�� ������ �� % ��“OK” '� %����� '� D � ��0� C/����� �, �� % �� '������ %�� ����� %�%���GetUserName

Private Function GetUserName(ByVal sUserName As String, ByVal sPassword As

String) As String

'Get Username based on txtName.Text and

'txtPassword.Text from tblUsers

Static strUser As String

If Len(strUser) = 0 Then

Dim sql As String = "SELECT * FROM tblUsers Where tblUsers.UserName ='" &

sUserName & "'AND tblUsers.Password =_"

'"&sPassword &"'"

'Use ADO.NET Data Reader to get the data

Dim conn As New SqlConnection("workstation id=SKAIT;packet

size=4096;integrated security=SSPI;data source=SKAIT;persist security

info=False;initial catalog=Accounts")

Dim comm As New SqlCommand(sql, conn)

Dim reader As SqlDataReader

conn.Open()

reader = comm.ExecuteReader

While (reader.Read())

strUser = (reader("FullName"))

End While

conn.Close()

conn = Nothing

comm = Nothing

reader = Nothing

End If

GetUserName = strUser

End Function

K�%@0� '������ ���� ��� 3�"�F E� ��4�� � ��$� =%� ��� T���� E����� '�� sqlConnection �SqlCommand �SqlDataReader ������� ���� ��( <�7� SqlDataReader !�; ������ '�" 5��

���� ��� !�" � �$� N� A�%�;.

Private Sub Command1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Command1.Click

'navigate to the results form using Activeform

ActiveForm = (frmResults)

End Sub

%� P* D�� S��$� ������ �� % �� �-��OK5���� )�� %� ��� �$� ���-�� C/����� �, .

Private Sub frmResults_Activate(ByVal sender As System.Object, ByVal e As

Page 298: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

298

System.EventArgs)

'get the data based on account type and username and then

'format the result

Dim intOption As Integer

Dim strOutput As String

intOption = (SelectionList1.SelectedIndex)

'0 =Checking,1 =Savings,2 =Credit Line

txtOutputAccountType.Text() = SelectionList1.Selection.Text() 'Account

Type

txtOutputName.Text = GetUserName(txtUserName.Text, txtPassword.Text) 'Get the

name

txtOutputAccountBalance.Text = Format$(Get_Account_Balance(intOption),

"$##.#####,###.00")

'Get the account value and format the string

End Sub

C/����� � $1� D�� S��$� ������ �� % �� �-��frmResultsSJ����� %��<\� '�� N/��� .

Private Function Get_Account_Balance(ByVal intAccountType) As Double

'Classic use of SQL data reader,it is atomic read,

'closoes 'the connection

'get the account balance based on relationship with the Table()

Dim sql As String = "SELECT *FROM tblAccounts,tblUsers Where

tblAccounts.User_ID = tblUsers.User_ID And tblUsers.UserName ='" & txtUserName.Text &

"'AND tblUsers.Password ='" & txtPassword.Text & "'"

Dim conn As New SqlConnection("Data Source=localhost;Integrated

Security=SSPI;Initial Catalog=Accounts")

Dim comm As New SqlCommand(sql, conn)

Dim reader As SqlDataReader

Dim dblAccountValue As Double

conn.Open()

reader = comm.ExecuteReader

Select Case intAccountType

Case CHECKING_Account

While (reader.Read())

dblAccountValue = Val(reader("Checking"))

End While

Case SAVINGS_Account

While (reader.Read())

dblAccountValue = Val(reader("Savings"))

End While

Case CREDIT_Line

While (reader.Read())

dblAccountValue = Val(reader("CreditLine"))

End While

End Select

conn.Close()

conn = Nothing

comm = Nothing

reader = Nothing

Get_Account_Balance = dblAccountValue

End Function

Page 299: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

299

N/�� '������ 5�� )�� ��� �4���� �����$��� C�%���� ���� ��� 3�"��� ��4��� �4�� ������ �� % �������� � ��� '�F.

Private Sub Command2_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Command2.Click

'Navigate to account view

ActiveForm = frmAccountView

End Sub

%� !�" %����� 8���� D���� S��$�Back C/����� �, frmResults �� %�: )�� �" '7$��� 3��$�� �������.

Private Sub frmAccountView_Activate(ByVal sender As System.Object, ByVal e As

System.EventArgs)

'Welcome the user

txtAccountViewName.Text = GetUserName(txtUserName.Text, txtPassword.Text)

End Sub

Private Sub InitializeComponent()

End Sub

End Class

7X �J � %,�� ��$�� �����VS.NET �� W�/� % � ��� �J � ��* �� ���� ��� 3�"�F ' �4�� A�9�G � �:

3/,�� %��<; �7�Server Explorer:

���� ��� 3�"�F A�9�\� ��( ���F 2 � <�7� D �Accounts���� ��� ������� N���� ����

8X �� �� ��$� '��� ����-�� =%�� T% �,�*; ��� ���� W�� %�%@ !�" ���� � ?7-� �� 5�� �� 5�

Page 300: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

300

5�� �" '7$�� �, �(����$��.

9X %�0� '������ ��� � � A���� '��� �� �[� ������\� H�4�Build Solution ��J���� �� Build.

10X ��* ���� �, 5����� %���� ��* ����� ��� � � ��� �� ��L��� �$�WWWRoot 2Z%$>� �� ��* �7� �� �*�%�,� ����IIS T % �" %P4��� ��� � � � P9� ����� T � �� B� $1� �� ��L����

.%���� �1���� ��*%$��.

11X '������ ��� '"��� � �L� ������� ���"�� % @ ��*%$�� )���� '����� ?�* � ��( ��� 2�� �� �����"G� �* � 3���� ���J���Web.config.

"�C � ��C� �%

�������� 3���0� !�" #� �� ���� D ���� T�$� �� !�" ��-��� �/( �, ��$� . 2�� ����-� �, '����XML #� �� ���� ���� �� %�4��)����� %�4��� �/( �-� %,�� �� ��� D �.(

24�� '���� %�4��� �/( E� ���$���XmlReader�" N����� 2���� 3A�%�� K%P�� �/( '�� D � ! %4��$��� ��-���� � #� �� �����$�<city> � <updated> �<forcast> � <min> �<max> . 2�� ���

XML��9�� �� : <?xml version="1.0" ?>

<weatherinfo>

<auckland>

<updated>31/01/2002 09:00</updated>

<city>auckland</city>

<forecast>Fine. A mostly sunny day with light winds</forecast>

<min>24</min>

<max>25</max>

</auckland>

<chennai>

<updated>31/01/2002 09:00</updated>

<city>chennai</city>

<forecast>Fine.</forecast>

<min>35</min>

<max>38</max>

</chennai>

<hongkong>

<updated>31/01/2002 09:00</updated>

<city>hongkong</city>

<forecast>Early rain</forecast>

<min>23</min>

<max>25</max>

</hongkong>

<mumbai>

<updated>31/01/2002 09:00</updated>

<city>mumbai</city>

<forecast>Sunny day</forecast>

<min>29</min>

<max>35</max>

</mumbai>

<malaysia>

<updated>31/01/2002 09:00</updated>

Page 301: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

301

<forecast>raining</forecast>

<min>24</min>

<max>25</max>

</malaysia>

<newdelhi>

<updated>31/01/2002 09:00</updated>

<city>newdelhi</city>

<forecast>Fine</forecast>

<min>30</min>

<max>35</max>

</newdelhi>

<newyork>

<updated>31/01/2002 09:00</updated>

<city>newyork</city>

<forecast>Very Cold</forecast>

<min>24</min>

<max>25</max>

</newyork>

<singapore>

<updated>31/01/2002 09:00</updated>

<city>singapore</city>

<forecast>rain day</forecast>

<min>31</min>

<max>35</max>

</singapore>

<tokyo>

<updated>31/01/2002 09:00</updated>

<city>tokyo</city>

<forecast>sunny day </forecast>

<min>22</min>

<max>25</max>

</tokyo>

<sydney>

<updated>31/01/2002 09:00</updated>

<city>sydney</city>

<forecast>Fine</forecast>

<min>21</min>

<max>25</max>

</sydney>

<washington>

<updated>31/01/2002 09:00</updated>

<city>washington</city>

<forecast>Fine.very cold</forecast>

<min>23</min>

<max>25</max>

</washington>

</weatherinfo>

//XML File End

8���� ���%��� 8��� ����� �[� ���%� �/;� 3A�%������ �/( �����$� %��<;��9�� �� ��� , 2: 'Source Code Starts

<%@ Page Inherits=" System.Web.UI.MobileControls.MobilePage"Language="vb" %>

<%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<% @Import Namespace="System.Xml"%>

<script runat="server">

Public Sub List_ClickEventHandler(ByVal [source] As [Object], ByVal e As

ListCommandEventArgs)

Page 302: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

302

Dim weatherReader As XmlTextReader = Nothing

weatherReader = New XmlTextReader(weatherFileName)

Dim selectedcity As [String] = e.ListItem.Value

While weatherReader.Read()

If weatherReader.NodeType = XmlNodeType.Element Then

If weatherReader.Name = e.ListItem.Value Then

WeatherLabel = e.ListItem.Text + ControlChars.Lf + "Weather"

If weatherReader.LocalName.Equals("updated") Then

WeatherLabel = WeatherLabel + ControlChars.Lf + weatherReader.ReadString()

End If

If weatherReader.LocalName.Equals("city") Then

WeatherLabel = WeatherLabel + weatherReader.ReadString()

End If

If weatherReader.LocalName.Equals("forecast") Then

WeatherLabel = WeatherLabel + weatherReader.ReadString()

End If

If weatherReader.LocalName.Equals("min") Then

WeatherLabel = WeatherLabel + "Min Temperature:" + weatherReader.ReadString()

End If

If weatherReader.LocalName.Equals("max") Then

WeatherLabel = WeatherLabel + "Max Temperature:" + weatherReader.ReadString()

End If

End If

End If

End While

ActiveForm = weather

End Sub 'List_ClickEventHandler

</script>

'List of cities

<mobile:Form runat="server">

<mobile:Label runat="server">Select a City</mobile:Label>

<mobile:List runat="server" id="Listcityvalue"

OnItemCommand="List_ClickEventHandler" >

<item Text="Auckland" Value="auckland" />

<item Text="Chennai" Value="chennai" />

<item Text="Hong Kong" Value="hongkong" />

<item Text="Mumbai" Value="mumbai" />

<item Text="Malaysia" Value="malaysia" />

<item Text="New Delhi" Value="newdelhi" />

<item Text="New York" Value="newyork" />

<item Text="Sydney" Value="sydney" />

<item Text="Singapore" Value="singapore" />

<item Text="Tokyo" Value="tokyo" />

<item Text="Washington" Value="washington" />

</mobile:List>

</mobile:Form>

<mobile:Form runat="server" id="SecondForm">

<mobile:Label runat="server" id="WelcomeMessage" />

</mobile:Form>

<mobile:Form id="weather" runat = "server">

<mobile:Label runat="server" id="WeatherLabel"/>

</mobile:Form>

'Source Code End

�41�� 2�� ��* B�4, ��� ��14�� �� A��� ���%��� 8��� C�%�\� ���F ���� <�7�.

Page 303: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

303

B �C � ��C� �

��-��� �/( �, '���� �/( !�; ������ �� N/�� '������ !�" A��� T � � �����"; 8 4�� �$ D � �T � ��� '������ �/�� ���� % @ �����$� %��< �� ���� �� 2 1����� ������ �*% !�" ��4��� ?��� ?�$, 5��0� �/(

8�� ��9�. $� !�; ��4��� �� '������ ���� D � '�0� %�$� %��<G ����� T � � �� ����-� 2�L� �0� % ���� '�

�(��% %��� . '������ ��� ./( �����$� %��<; '� 2� B���� �� , �� ���� � ����� 3%��� �,� B� '�F N/�� %� ��� <1�

8�� ��9� B� ��9� '�0�. ���� � 3�"�F '������ '���MS Access � ���� '������ '���� ��-��� �/( E� TblUser� TblStock

3%��� ./( �, '����C#

TblUser

UserID Text

Pwd Text

TblStock

User ID Text

StockSymbols Text

������ ��� TblStock��9��� W�/� ���� ��� �4���� '�0� ��%9I� ��9�� �� �����$��� :

User ID Stock Symbols

User1 MSFT

User2 CSCO,NT,XRX

�<�7� :�� �����$� � ��� '�" ��$, '�<� �, �� ���� �� ��� E� ��� H %4�� ����9� %�� ���.

2���� !�; ��% P��� K$� A�%�; ?�� ����� web.config: <authentication mode="Forms" >

<forms loginUrl="login.aspx" name=".ASPXCOOKIEAUTH" path="/">

</forms>

</authentication>

<authorization>

<deny users="?" />

</authorization>

� ��14�� �, C/����� ���� H�4�� � ���� �� T����� � ��" ���� ������ ��% P��login.aspx ����; '� D �

Page 304: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

304

�(�$�� %�%��� ����� � ���� '� �, ���� ��� ��14�� !�; ��14�� ./( �� '������ B ��� '� C/����� '�� B� �� ���F '� ��� .����� � �� ��14 ' �4�� ?�� �����.

���� � 3�"�F '����� ��%��� �F �d�� ��� �Access ���� ��� �"���� ��4��� 8���� '����� %4�" %�� '���,

OleDbConnectionA�9�;� �����"; �*� W�/� ���� ��� 3�"�F !�" �� ��4�� ConnectionString. 8���� '����� %4�" %�� '��� �(�$�Command �4�� ����� ?�* � SQL:

SELECT COUNT(UserID) AS Expr1 FROM tblUser WHERE (Pwd = ?) AND (UserID =?)

K%@ '����� '� Command '������ �� T����� 8��� %� !�" %����� �4���� D���� S��$� �� % H*� ������ ���%���btnLogin.

Private Sub btnLogin_Click(ByVal sender As Object, ByVal e As System.EventArgs)

oleDbCommand1.Parameters.Add("Pwd", OleDbType.VarChar, 50)

oleDbCommand1.Parameters("Pwd").Value = txtPwd.Text

oleDbCommand1.Parameters.Add("UserID", OleDbType.VarChar, 50)

oleDbCommand1.Parameters("UserId").Value = txtUser.Text

oleDbConnection1.Open()

Dim nCount As Integer = CInt(oleDbCommand1.ExecuteScalar())

oleDbConnection1.Close()

If nCount = 1 Then

MobileFormsAuthentication.RedirectFromLoginPage(TextBox1.Text, True)

End If

End Sub 'btnLogin_Click

����� � 5� � ����: '�0� %�$� ' F %�<�� '�0� ���%� '������ '� B , %�< � �� C/��� �� ��( � �0� ����14 2�L��

���� ��*. �"G� �7 *1� � �$� '������ ��� �������� ����.

Page 305: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

305

���� �� �( 5 �%��� 5�� C/����� �/( �, %4��$��Label – TextBox-Button-Button-ObjectList '��� '������ !�" 2%$��� �4���� '������ Context.User.Identity.Name

'��� %4�" �,�*\� '��� ������ � ��� ��������� ���F ���� �� % �� #1���OleDbConnection %4�"� '���OleDbCommand �4���� ����� CommandText �� ��� !�; :

SELECT StockSymbols, UserId FROM tblStock WHERE (UserId = ?)

��9�� ��14�� � ���� ���%��� 8��� /�L : Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

If Not IsPostBack Then

UserName = Context.User.Identity.Name

Label1.Text = UserName

TextBox1.Text = GetSymbolsForUser()

FillQuotes(TextBox1.Text)

End If

End Sub 'Page_Load

Code Snippet : Display the user's preferences and the values of the stock quotes.

Private Function GetSymbolsForUser() As String

oleDbCommand1.Parameters(0).Value = Context.User.Identity.Name

oleDbConnection1.Open()

Dim strSymbols As String = CStr(oleDbCommand1.ExecuteScalar())

oleDbConnection1.Close()

Return strSymbols

End Function 'GetSymbolsForUser

���� ����� ��, '�0� %�$� %��<\� '��� ���� �� % ��:

Private Sub FillQuotes(ByVal strSymbols As String)

Dim req As HttpWebRequest

Dim res As HttpWebResponse

Dim sr As StreamReader

Dim strResult As String

Dim temp() As String

Dim temp1() As String

Page 306: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

306

Dim strcurindex As String

Dim fullpath As String

Dim ds As New DataSet

ds.Tables.Add("tblStk")

Dim SymbolColumn As New DataColumn

SymbolColumn.DataType = System.Type.GetType("System.String")

SymbolColumn.AllowDBNull = True

SymbolColumn.Caption = "Symbol"

SymbolColumn.ColumnName = "StkSymbol"

SymbolColumn.DefaultValue = "Stock"

' Add the column to the table.

ds.Tables("tblStk").Columns.Add(SymbolColumn)

'get stock quote for each row

Dim PriceColumn As New DataColumn

PriceColumn.DataType = System.Type.GetType("System.Decimal")

PriceColumn.AllowDBNull = True

PriceColumn.Caption = "Price"

PriceColumn.ColumnName = "StkPrice"

PriceColumn.DefaultValue = 0

' Add the column to the table.

ds.Tables("tblStk").Columns.Add(PriceColumn)

temp = strSymbols.Split(separator)

If temp.Length > 0 Then

Dim i As Integer

For i = 0 To temp.Length - 1

fullpath = "http://quote.yahoo.com/d/quotes.csv?s=" + temp(i) +

"&f=sl1d1t1c1ohgvj1pp2owern&e=.csv"

Try

req = CType(WebRequest.Create(fullpath), HttpWebRequest)

res = CType(req.GetResponse(), HttpWebResponse)

sr = New StreamReader(res.GetResponseStream(), Encoding.ASCII)

strResult = sr.ReadLine()

sr.Close()

temp1 = strResult.Split(separator)

If temp1.Length > 1 Then

'only the relevant portion.

strcurindex = temp1(1)

Dim myRow As DataRow = ds.Tables("tblStk").NewRow()

myRow(0) = temp(i)

myRow(1) = Convert.ToDecimal(strcurindex)

ds.Tables("tblStk").Rows.Add(myRow)

End If

Catch

End Try

Next i

ObjectList1.DataSource = ds.Tables("tblStk").DefaultView

ObjectList1.DataBind()

ObjectList1.TableFields = "StkSymbol;StkPrice"

End If

End Sub 'FillQuotes

����$�� �4���� �� % �� ��� %� %�� D��Refresh Quote

Private Sub Command3_Click(ByVal sender As Object, ByVal e As System.EventArgs)

FillQuotes(GetSymbolsForUser())

End Sub 'Command3_Click

Page 307: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

307

'������ ���� ��� 3�"��� ��4�7� ?���� �$����� �� % �� #1� '����� !�; L��� '������� �4���� ���%�� D ����� K%@Connection K%@� Command E� �� F � ���CommandText �� ��� !�;

UPDATE tblStock SET StockSymbols = ? WHERE (UserId = ?)

'7$� �7��$��� % %��� <�7� ��� ��( '���SQL =�� ��*1��� '�0�� �4���� ���%�� D ���� W�/� '������.

Private Sub Command2_Click(ByVal sender As Object, ByVal e As System.EventArgs)

oleDbCommand2.Parameters(0).Value = TextBox1.Text

oleDbCommand2.Parameters(1).Value = Context.User.Identity.Name

oleDbConnection1.Open()

oleDbCommand2.ExecuteNonQuery()

oleDbConnection1.Close()

FillQuotes(GetSymbolsForUser())

End Sub 'Command2_Click

�� ��� ��, C�%��� � �� %� P* D�� S��$�� 8���� ���%��� 8��� ���:

Private Sub Command1_Click(ByVal sender As Object, ByVal e As System.EventArgs)

MobileFormsAuthentication.SignOut()

RedirectToMobilePage("login.aspx")

End Sub 'Command1_Click

EF�� �� ���7��� '� , '�0� %�$� ���� � %�4� ���Yahoo W�/ � S���%��� ������ 8��� �, �% �� 5��

������ %���� ��. fullpath = "http://quote.yahoo.com/d/quotes.csv?s=" + temp(i) +

"&f=sl1d1t1c1ohgvj1pp2owern&e=.csv"

Page 308: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

308

S���%��� ������ 8��� �� �� ,:

2����Default.aspx

<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage" Language="VB"

Debug="true" %>

<%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile" %>

<%@ Import Namespace="System" %>

<%@ Import Namespace="System.Data"%>

<%@ Import Namespace="System.Data.OleDb" %>

<%@ Import Namespace="System.Net" %>

<%@ Import Namespace="System.Text" %>

<%@ Import Namespace="System.IO" %>

<%@ Import Namespace="System.Web.Mobile" %>

<script runat="server" language="VB">

Public str As [String]

Public strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=C:\inetpub\wwwroot\Prsnlmob\db1.mdb"

Private separator As Char() = ","c

Protected oleDbConnection1 As OleDbConnection

Protected oleDbCommand1 As OleDbCommand

Protected oleDbCommand2 As OleDbCommand

Private strUserName As String

Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

oleDbConnection1 = New OleDbConnection(strConn)

oleDbCommand1 = New OleDbCommand

oleDbCommand2 = New OleDbCommand

If Not IsPostBack Then

strUserName = Context.User.Identity.Name

Label1.Text = strUserName

TextBox1.Text = GetSymbolsForUser()

Page 309: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

309

End If

End Sub 'Page_Load

Private Sub Command1_Click(ByVal sender As Object, ByVal e As System.EventArgs)

'Signout

MobileFormsAuthentication.SignOut()

RedirectToMobilePage("login.aspx")

End Sub 'Command1_Click

Private Sub FillQuotes(ByVal strSymbols As String)

'this function will fetch stock quotes for each stock symbol specified by the user

and populate the data in a datatable. The data is finally bound to an ObjectList.

Dim req As HttpWebRequest

Dim res As HttpWebResponse

Dim sr As StreamReader

Dim strResult As String

Dim temp() As String

Dim temp1() As String

Dim strcurindex As String

Dim fullpath As String

Dim ds As New DataSet

ds.Tables.Add("tblStk")

Dim SymbolColumn As New DataColumn

SymbolColumn.DataType = System.Type.GetType("System.String")

SymbolColumn.AllowDBNull = True

SymbolColumn.Caption = "Symbol"

SymbolColumn.ColumnName = "StkSymbol"

SymbolColumn.DefaultValue = "MSFT"

' Add the column to the table.

ds.Tables("tblStk").Columns.Add(SymbolColumn)

'get stock quote for each row

Dim PriceColumn As New DataColumn

PriceColumn.DataType = System.Type.GetType("System.Decimal")

PriceColumn.AllowDBNull = True

PriceColumn.Caption = "Price"

PriceColumn.ColumnName = "StkPrice"

PriceColumn.DefaultValue = 0

' Add the column to the table.

ds.Tables("tblStk").Columns.Add(PriceColumn)

temp = strSymbols.Split(separator)

If temp.Length > 0 Then

Dim i As Integer

For i = 0 To temp.Length - 1

fullpath = "http://quote.yahoo.com/d/quotes.csv?s=" + temp(i) +

"&f=sl1d1t1c1ohgvj1pp2owern&e=.csv"

'

Try

req = CType(WebRequest.Create(fullpath), HttpWebRequest)

res = CType(req.GetResponse(), HttpWebResponse)

sr = New StreamReader(res.GetResponseStream(), Encoding.ASCII)

strResult = sr.ReadLine()

sr.Close()

temp1 = strResult.Split(separator)

If temp1.Length > 1 Then

'only the relevant portion .

strcurindex = temp1(1)

Dim myRow As DataRow = ds.Tables("tblStk").NewRow()

myRow(0) = temp(i)

myRow(1) = Convert.ToDecimal(strcurindex)

ds.Tables("tblStk").Rows.Add(myRow)

End If

Catch

End Try

Page 310: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

310

ObjectList1.DataSource = ds.Tables("tblStk").DefaultView

ObjectList1.DataBind()

ObjectList1.TableFields = "StkSymbol;StkPrice"

End If

End Sub 'FillQuotes

Private Sub Command2_Click(ByVal sender As Object, ByVal e As System.EventArgs)

'the following code will update the Stock Symbol preferences as specified by the

user.

oleDbCommand2.Connection = oleDbConnection1

oleDbCommand2.CommandText = "UPDATE tblStock SET StockSymbols = ? WHERE

UserId = ?)"

oleDbCommand2.Parameters.Add(New System.Data.OleDb.OleDbParameter("StockSymbols",

System.Data.OleDb.OleDbType.VarWChar, 255, "StockSymbols"))

oleDbCommand2.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_UserId",

System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input,

False, CType(0, System.Byte), CType(0, System.Byte), "UserId",

System.Data.DataRowVersion.Original, Nothing))

oleDbCommand2.Parameters(0).Value = TextBox1.Text

oleDbCommand2.Parameters(1).Value = Context.User.Identity.Name

oleDbConnection1.Open()

oleDbCommand2.ExecuteNonQuery()

oleDbConnection1.Close()

FillQuotes(GetSymbolsForUser())

End Sub 'Command2_Click

Private Sub Command3_Click(ByVal sender As Object, ByVal e As System.EventArgs)

'Refresh the stock quotes

FillQuotes(GetSymbolsForUser())

End Sub 'Command3_Click

Private Function GetSymbolsForUser() As String

'Fetch the preferences specified by the user from the database

oleDbCommand1.Connection = oleDbConnection1

oleDbCommand1.CommandText = "SELECT StockSymbols, UserId FROM tblStock WHERE (UserId

?)"

Me.oleDbCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("UserId",

System.Data.OleDb.OleDbType.VarWChar, 50, "UserId"))

oleDbCommand1.Parameters(0).Value = Context.User.Identity.Name

oleDbConnection1.Open()

Dim strSymbols As String = CStr(oleDbCommand1.ExecuteScalar())

oleDbConnection1.Close()

Return strSymbols

End Function 'GetSymbolsForUser

</script>

<mobile:Form id = "Form1" runat="server">

<mobile:Label id="Label1" runat="server">Label</mobile:Label>

<mobile:TextBox id="TextBox1" runat="server"></mobile:TextBox>

<mobile:Command id="Command2" runat="server"

onClick="Command2_Click">Update Stock Symbols</mobile:Command>

<mobile:Command id="Command3" runat="server" onClick="Command3_Click">Refresh

Quotes</mobile:Command>

<mobile:ObjectList id="ObjectList1" runat="server" LabelStyle-StyleReference="title"

CommandStyle-StyleReference="subcommand"></mobile:ObjectList>

<mobile:Command id="Command1" runat="server"

OnClick="Command1_Click">Logout</mobile:Command>

</mobile:Form>

2�����Login.aspx <%@ Page Inherits="System.Web.UI.MobileControls.MobilePage" Language="VB"

Debug="true" %>

<%@ Assembly Name="System.Web" %>

Page 311: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

311

Assembly="System.Web.Mobile" %>

<%@ Import Namespace="System" %>

<%@ Import Namespace="System.Data"%>

<%@ Import Namespace="System.Data.OleDb" %>

<%@ Import Namespace="System.web" %>

<%@ Import Namespace="System.web.Security" %>

<%@ Import Namespace="System.Web.Mobile" %>

<script runat="server" language="VB">

Public str As [String]

Public strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\

inetpub\wwwroot\Prsnl\db1.mdb"

Protected oleDbCommand1 As OleDbCommand

Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

oleDbConnection1 = New OleDbConnection(strConn)

oleDbCommand1 = New OleDbCommand

End Sub 'Page_Load

Private Sub Command1_Click(ByVal sender As Object, ByVal e As System.EventArgs)

'login using the credentials specified by the user

oleDbCommand1.Connection = oleDbConnection1

oleDbCommand1.CommandText = "SELECT COUNT(UserID) AS Expr1 FROM tblUser WHERE (Pwd =

?) AND (UserID = ?)"

oleDbCommand1.Parameters.Add("UserId", OleDbType.VarChar, 50)

oleDbCommand1.Parameters(0).Value = txtPwd.Text

oleDbCommand1.Parameters.Add("UserId", OleDbType.VarChar, 50)

oleDbCommand1.Parameters(1).Value = txtUser.Text

oleDbConnection1.Open()

Dim nCount As Integer = CInt(oleDbCommand1.ExecuteScalar())

oleDbConnection1.Close()

If nCount >= 1 Then

MobileFormsAuthentication.RedirectFromLoginPage(txtUser.Text, True)

End If

End Sub 'Command1_Click

</script>

<mobile:Form id = "Form1" runat="server">

<mobile:Label id="Label1" runat="server">ID:</mobile:Label>

<mobile:TextBox id="txtUser" runat="server"></mobile:TextBox>

<mobile:Label id="Label2" runat="server">Password:</mobile:Label>

<mobile:TextBox id="txtPwd" runat="server" Password="True"></mobile:TextBox>

<mobile:Command id="cmdLogin" runat="server"

onClick="Command1_Click">Login</mobile:Command>

</mobile:Form>

2���� /�L �Web.config ��9�� � �$��� �$� : <?xml version="1.0" encoding="utf-8" ?>

<configuration>

<system.web>

<compilation defaultLanguage="VB" debug="true"/>

<customErrors mode="Off" />

<authentication mode="Forms" >

<forms loginUrl="login.aspx" name=".ASPXCOOKIEAUTH" path="/">

</forms>

</authentication>

<authorization>

<deny users="?" />

</authorization>

<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime"

localOnly="true"/>

Page 312: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

312

sqlConnectionString="data source=127.0.0.1;user id=sa;password=" cookieless="true"

timeout="20" />

<globalization requestEncoding="utf-8" responseEncoding="utf-8" />

| <httpRuntime useFullyQualifiedRedirectUrl="true" />

<mobileControls cookielessDataDictionaryType="System.Web.Mobile.CookielessData" />

<deviceFilters>

<filter name="isHTML32" compare="PreferredRenderingType" argument="html32" />

<filter name="isWML11" compare="PreferredRenderingType" argument="wml11" />

<filter name="isCHTML10" compare="PreferredRenderingType" argument="chtml10" />

<filter name="isGoAmerica" compare="Browser" argument="Go.Web" />

<filter name="isMME" compare="Browser" argument="Microsoft Mobile Explorer" />

<filter name="isMyPalm" compare="Browser" argument="MyPalm" />

<filter name="isPocketIE" compare="Browser" argument="Pocket IE" />

<filter name="isUP3x" compare="Type" argument="Phone.com 3.x Browser" />

<filter name="isUP4x" compare="Type" argument="Phone.com 4.x Browser" />

<filter name="isEricssonR380" compare="Type" argument="Ericsson R380" />

<filter name="isNokia7110" compare="Type" argument="Nokia 7110" />

<filter name="prefersGIF" compare="PreferredImageMIME" argument="image/gif" />

<filter name="prefersWBMP" compare="PreferredImageMIME" argument="image/vnd.wap.wbmp"

/>

<filter name="supportsColor" compare="IsColor" argument="true" />

<filter name="supportsCookies" compare="Cookies" argument="true" />

<filter name="supportsJavaScript" compare="Javascript" argument="true" />

<filter name="supportsVoiceCalls" compare="CanInitiateVoiceCall" argument="true" />

</deviceFilters>

</system.web>

</configuration>

Page 313: كتاب كامل عن_التعليم_عبر_الموبايل

Universal Knowledge Solutions s.a.l

313

��&�=� ��@��<:

http://www.w3schools.com/dotnetmobile/default.asp 1

http://www.aspnextgen.com/MobileQuickStart/(qz3zc5ygksjxka45e4wwv2uf)/Default.aspx 2

http://www.asp.net/default.aspx?tabIndex=3&tabId=44 3

http://www.wirelessdevnet.com/channels/wap/ 4

http://www.microsoft.com/downloads/details.aspx?FamilyID=8fb566e0-3e92-40e8-b5d4-

091d05ab8829&DisplayLang=en 5

http://www.ondotnet.com/pub/a/dotnet/2004/02/23/mobilewebserviceapps.html 6