public static void Purge(ref List<string>needToPurge)
{
for(int i=0;i<needToPurge.Count-1;i++)
{
string deststring=needToPurge[i];
for(int j=i+1;j<needToPurge.Count;j++)
{
if(deststring.CompareTo(needToPurge[j])==0)
{
......
public static void Purge(ref List<string>needToPurge)
{
for(int i=0;i<needToPurge.Count-1;i++)
{
string deststring=needToPurge[i];
for(int j=i+1;j<needToPurge.Count;j++)
{
if(deststring.CompareTo(needToPurge[j])==0)
{
......
ÑéÖ¤Âë¿Ø¼þWebValidatesµÄʹÓò½ÖèÈçÏ£º
1. ½«ÑéÖ¤Âë¿Ø¼þ·ÅÈ빤¾ßÏä¡£(Ö±½ÓÍ϶¯DLL·Åµ½¹¤¾ßÏä¼´¿É)
2. ÍϷſؼþµ½Ò³ÃæÏàӦλÖá£
3. Ò³Ãæ³õʼ»¯Ê±£¬±à³ÌÉú³ÉÑéÖ¤Â루¼ÙÉèÑéÖ¤Âë¿Ø¼þIDΪsnCode£©¡£
snCode.Create();//Ê״μÓÔØÉú³ÉÐÂÑéÖ¤Âë
4. ±àÂë¶Ô±ÈÓû§µÄÊäÈ루¼ÙÉèÓû§ÊäÈëÑéÖ¤ÂëµÄÎı¾¿òIDÊÇtxtCode£©,²¢×öÏàÓ¦µÄ´¦Àí¡£
snCode.CheckSN(txtCode.Text.Trim());//·µ»ØboolÐ͵ÄÖµ.
ʾÀý´úÂ룺
WebÒ³Ã棺
Html´úÂë
<cc1:SerialNumber ID="snCode" runat="server">
</cc1:SerialNumber>
<asp:Button ID="btnSubmit" runat="server" Height="31px" onclick="btnSubmit_Click" Text="Ìá½»ÑéÖ¤" Width="124px" />
<asp:Label ID="lblMessage" runat="server"></asp:Label&g ......
ÑéÖ¤Âë¿Ø¼þWebValidatesµÄʹÓò½ÖèÈçÏ£º
1. ½«ÑéÖ¤Âë¿Ø¼þ·ÅÈ빤¾ßÏä¡£(Ö±½ÓÍ϶¯DLL·Åµ½¹¤¾ßÏä¼´¿É)
2. ÍϷſؼþµ½Ò³ÃæÏàӦλÖá£
3. Ò³Ãæ³õʼ»¯Ê±£¬±à³ÌÉú³ÉÑéÖ¤Â루¼ÙÉèÑéÖ¤Âë¿Ø¼þIDΪsnCode£©¡£
snCode.Create();//Ê״μÓÔØÉú³ÉÐÂÑéÖ¤Âë
4. ±àÂë¶Ô±ÈÓû§µÄÊäÈ루¼ÙÉèÓû§ÊäÈëÑéÖ¤ÂëµÄÎı¾¿òIDÊÇtxtCode£©,²¢×öÏàÓ¦µÄ´¦Àí¡£
snCode.CheckSN(txtCode.Text.Trim());//·µ»ØboolÐ͵ÄÖµ.
ʾÀý´úÂ룺
WebÒ³Ã棺
Html´úÂë
<cc1:SerialNumber ID="snCode" runat="server">
</cc1:SerialNumber>
<asp:Button ID="btnSubmit" runat="server" Height="31px" onclick="btnSubmit_Click" Text="Ìá½»ÑéÖ¤" Width="124px" />
<asp:Label ID="lblMessage" runat="server"></asp:Label&g ......
µÚÒ»²½C#Ìí¼Ó×é¼þ
´ò¿ªVS2005-¹¤¾ß-Ñ¡Ôñ¹¤¾ßÏäÏî-COM×é¼þ-Ñ¡ÔñShockwave Flash Object-È·¶¨
Ìí¼ÓºÃ×é¼þÍù³¡¾°ÉÏÍÏ·Å£¬Èç¹ûÌáʾע²áÐèÇó×¢²á
c# ×¢²á¿Ø¼þ-ÔÚÔËÐÐÊäÈë-»Ø³µ£¨flash9f.ocxÕâ¸öÎļþÒÔϵͳÖÐʵ¼ÊÎļþΪ׼¡££©
regsvr32 c:\windows\system32\macromed\flash\flash9f.ocx
»òÕßregsvr32 c:\windows\system32\macromed\flash\flash10a.ocx
µÚ¶þ²½½«Flash×é¼þÍÏÈ볡¾°
½«Flash×é¼þÍÏÈ볡¾°£¬ÉèÖüÓÔصÄswf·¾¶¡£ÉèÖÃ×é¼þid¡£
×é¼þµÄMovieÊôÐÔ£ºÖ¸¶¨Òª²¥·ÅµÄswfµÄ·¾¶£¬
Èç¹ûswfÔÚ±¾µØÓ²ÅÌ£¬ÔòÐèҪд³É ´ÓÅÌ·û¿ªÊ¼µÄ¾ø¶Ô·¾¶
Èç¹ûswfÔÚijÍøÕ¾ÉÏ£¬ÔòÐèҪд³É ÍêÈ«µÄurlÍøÖ·
¸ü¶à¸Ã×é¼þÊôÐÔ/·½·¨
µÚÈý²½AS´úÂëƬ¶Î
¸Õ¿ªÊ¼ÓÃFSCommandÓëÍøÒ³VBSCRIPT×öÁËÒ»¸öͨѶ£¬ÒÔΪÕâÑù¾ÍÄÜÓëC#ͨѶÁË£¬½á¹û´íÎóÁË¡£
»¹µÃÓÃExternalInterface.addCallback£¬ExternalInterface.callµÄ·½·¨À´ÓëC#ͨѶ¡£
³ÌÐò´úÂë
import flash.external.*;
//ÏòC#·¢ËÍÊý¾Ý
ExternalInterface.call ("test", "str", Math.random ());
//½ÓÊÜC#·¢À´µÄÊý¾Ý
ExternalInterface.addCallback ("c2flash", null, c2flash);
functi ......
µÚÒ»²½C#Ìí¼Ó×é¼þ
´ò¿ªVS2005-¹¤¾ß-Ñ¡Ôñ¹¤¾ßÏäÏî-COM×é¼þ-Ñ¡ÔñShockwave Flash Object-È·¶¨
Ìí¼ÓºÃ×é¼þÍù³¡¾°ÉÏÍÏ·Å£¬Èç¹ûÌáʾע²áÐèÇó×¢²á
c# ×¢²á¿Ø¼þ-ÔÚÔËÐÐÊäÈë-»Ø³µ£¨flash9f.ocxÕâ¸öÎļþÒÔϵͳÖÐʵ¼ÊÎļþΪ׼¡££©
regsvr32 c:\windows\system32\macromed\flash\flash9f.ocx
»òÕßregsvr32 c:\windows\system32\macromed\flash\flash10a.ocx
µÚ¶þ²½½«Flash×é¼þÍÏÈ볡¾°
½«Flash×é¼þÍÏÈ볡¾°£¬ÉèÖüÓÔصÄswf·¾¶¡£ÉèÖÃ×é¼þid¡£
×é¼þµÄMovieÊôÐÔ£ºÖ¸¶¨Òª²¥·ÅµÄswfµÄ·¾¶£¬
Èç¹ûswfÔÚ±¾µØÓ²ÅÌ£¬ÔòÐèҪд³É ´ÓÅÌ·û¿ªÊ¼µÄ¾ø¶Ô·¾¶
Èç¹ûswfÔÚijÍøÕ¾ÉÏ£¬ÔòÐèҪд³É ÍêÈ«µÄurlÍøÖ·
¸ü¶à¸Ã×é¼þÊôÐÔ/·½·¨
µÚÈý²½AS´úÂëƬ¶Î
¸Õ¿ªÊ¼ÓÃFSCommandÓëÍøÒ³VBSCRIPT×öÁËÒ»¸öͨѶ£¬ÒÔΪÕâÑù¾ÍÄÜÓëC#ͨѶÁË£¬½á¹û´íÎóÁË¡£
»¹µÃÓÃExternalInterface.addCallback£¬ExternalInterface.callµÄ·½·¨À´ÓëC#ͨѶ¡£
³ÌÐò´úÂë
import flash.external.*;
//ÏòC#·¢ËÍÊý¾Ý
ExternalInterface.call ("test", "str", Math.random ());
//½ÓÊÜC#·¢À´µÄÊý¾Ý
ExternalInterface.addCallback ("c2flash", null, c2flash);
functi ......
ºÜ¶àÈË˵C#ÊÇ΢ÈíÓÃÀ´ºÍJava¿¹ºâµÄÎäÆ÷£¬ÒòΪ¶þÕßÔںܴó³Ì¶ÈÉÏÓÐמªÈ˵ÄÏàËÆ£¬¾¡¹ÜÈç´Ë£¬Á½Õß²»Í¬µÄµØ·½Ò²ºÜ¶à£¬Ëùν“ÓÚϸ΢´¦¼û²îÒ씡£ÄÇôÁ½ÕßµÄÏàËƺÍÇø±ð¶¼ÔÚʲôµØ·½ÄØ£¿ÎÒÃÇ´Ó½ñÌ쿪ʼ£¬»á´Ó¸÷¸ö½Ç¶ÈÀ´¶Ô±ÈC#ºÍJavaµÄÌص㣬ϣÍûÄܶÔÕýÔÚѧϰ¡¢Ê¹ÓÃC#µÄÅóÓÑÓÐËù°ïÖú¡£
& Y0 f! I! a4 a1 K
% B# G8 Q2 K* c1 w, v( Z8 u1¡¢C#ºÍ.NETƽ̨µÄ¸Åò 1 J$ T; N! A0 \- w' i5 r7 V
¡¡2000Äê6Ô£¬Î¢Èí·¢²¼C#ÓïÑÔºÍ.NETƽ̨¡£C#ÓïÑÔÊÇÒ»ÖÖÇ¿ÀàÐ͵ģ¬ÃæÏò¶ÔÏóµÄÓïÑÔ£¬Ëü¾ßÓÐÓï·¨¼òµ¥¡¢±í´ïÁ¦Ç¿µÄÌص㣬¶ø.NETƽ̨ÔòÊǹ¹³É΢ÈíµÄ“.NET¼Æ»®”µÄ»ùʯ 2 w0 P' R7 s4 b( i" n3 c8 u. V# p# C
¡£
1 ^ b# T' \5 V2 [! w g ¡¡.NETƽ̨µÄºËÐÄ°üÀ¨Á½·½Ã棬һ·½Ãæ¾ÍÊÇÖøÃûµÄͨÓÃÓïÑÔÔËÐлú(Common LanguageRuntime)£¬ËäÈ»Õâ¸öÃû´ÊÆðµÃ»ÞɬÁ˵㣬²»¹ý´ó¼Ò¿ÉÒÔÄÃËüºÍJavaµÄÐéÄâ»úÀ´×÷±È½Ï£¬¶þÕßÍê³ÉµÄÈÎÎñ´óÖÂÏàͬ£»ÁíÒ»·½Ãæ¾ÍÊÇÒ»´ó¶ÑͨÓú¯Êý¿â£¬ÕâЩ¿âº¯Êý¿ÉÒÔ±»¶àÖÖÓïÑÔµ÷Ó㬲¢ÇÒͨ¹ý±àÒ붼²úÉúÒ»ÖÖ¹²Í¬µÄÖмäÓïÑÔ£¨Intermediate Language£©£¬ÕâÖÖÓïÑÔÒ²¿ÉÒÔÄÃJavaµÄ×Ö½ÚÂëÀ´Àà±È£¬ËäÈ»Íê³ÉµÄ·½Ê½ÓÐЩ²»Ò»Ñ ......
ºÜ¶àÈË˵C#ÊÇ΢ÈíÓÃÀ´ºÍJava¿¹ºâµÄÎäÆ÷£¬ÒòΪ¶þÕßÔںܴó³Ì¶ÈÉÏÓÐמªÈ˵ÄÏàËÆ£¬¾¡¹ÜÈç´Ë£¬Á½Õß²»Í¬µÄµØ·½Ò²ºÜ¶à£¬Ëùν“ÓÚϸ΢´¦¼û²îÒ씡£ÄÇôÁ½ÕßµÄÏàËƺÍÇø±ð¶¼ÔÚʲôµØ·½ÄØ£¿ÎÒÃÇ´Ó½ñÌ쿪ʼ£¬»á´Ó¸÷¸ö½Ç¶ÈÀ´¶Ô±ÈC#ºÍJavaµÄÌص㣬ϣÍûÄܶÔÕýÔÚѧϰ¡¢Ê¹ÓÃC#µÄÅóÓÑÓÐËù°ïÖú¡£
& Y0 f! I! a4 a1 K
% B# G8 Q2 K* c1 w, v( Z8 u1¡¢C#ºÍ.NETƽ̨µÄ¸Åò 1 J$ T; N! A0 \- w' i5 r7 V
¡¡2000Äê6Ô£¬Î¢Èí·¢²¼C#ÓïÑÔºÍ.NETƽ̨¡£C#ÓïÑÔÊÇÒ»ÖÖÇ¿ÀàÐ͵ģ¬ÃæÏò¶ÔÏóµÄÓïÑÔ£¬Ëü¾ßÓÐÓï·¨¼òµ¥¡¢±í´ïÁ¦Ç¿µÄÌص㣬¶ø.NETƽ̨ÔòÊǹ¹³É΢ÈíµÄ“.NET¼Æ»®”µÄ»ùʯ 2 w0 P' R7 s4 b( i" n3 c8 u. V# p# C
¡£
1 ^ b# T' \5 V2 [! w g ¡¡.NETƽ̨µÄºËÐÄ°üÀ¨Á½·½Ã棬һ·½Ãæ¾ÍÊÇÖøÃûµÄͨÓÃÓïÑÔÔËÐлú(Common LanguageRuntime)£¬ËäÈ»Õâ¸öÃû´ÊÆðµÃ»ÞɬÁ˵㣬²»¹ý´ó¼Ò¿ÉÒÔÄÃËüºÍJavaµÄÐéÄâ»úÀ´×÷±È½Ï£¬¶þÕßÍê³ÉµÄÈÎÎñ´óÖÂÏàͬ£»ÁíÒ»·½Ãæ¾ÍÊÇÒ»´ó¶ÑͨÓú¯Êý¿â£¬ÕâЩ¿âº¯Êý¿ÉÒÔ±»¶àÖÖÓïÑÔµ÷Ó㬲¢ÇÒͨ¹ý±àÒ붼²úÉúÒ»ÖÖ¹²Í¬µÄÖмäÓïÑÔ£¨Intermediate Language£©£¬ÕâÖÖÓïÑÔÒ²¿ÉÒÔÄÃJavaµÄ×Ö½ÚÂëÀ´Àà±È£¬ËäÈ»Íê³ÉµÄ·½Ê½ÓÐЩ²»Ò»Ñ ......
ͨ³££¬Ê¹ÓÃFlashÀ´µ÷ÓÃ.NET×é¼þÐèÓÃÔ¶³Ìµ÷Óã¬Êµ¼ÊÉÏÎÒÃÇÒ²¿ÉÒÔͨ¹ýSOCKETÖ±½ÓͨÐÅ¡£
¾ßÌå²ÉÓÃFlashµÄAMF3»òAFM0¸ñʽ£¬²ÉÓÃÁ÷ÐеÄFluorineFx·þÎñÆ÷×é¼þ£¬¾ßÌå´úÂëÈçÏ£º
ÒÀÕÕ´ËÓ÷¨¿ÉÒÔ¿ª·¢ÍøÒ³ÓÎÏ·»òÆäËüFlashÓ¦ÓõÄ.NET SOCKET·þÎñÆ÷¡£
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Text;
using System.Threading;
using System.Net.Sockets;
using System.Net;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
using FluorineFx;
namespace STCServer
{
class Monitor
{
private int PORT = 8888;
private const int MAXPKSIZE = 4096;
private TcpListener tcpLs = null;
private List<Client> clients = new List<Client>();
  ......
ͨ³££¬Ê¹ÓÃFlashÀ´µ÷ÓÃ.NET×é¼þÐèÓÃÔ¶³Ìµ÷Óã¬Êµ¼ÊÉÏÎÒÃÇÒ²¿ÉÒÔͨ¹ýSOCKETÖ±½ÓͨÐÅ¡£
¾ßÌå²ÉÓÃFlashµÄAMF3»òAFM0¸ñʽ£¬²ÉÓÃÁ÷ÐеÄFluorineFx·þÎñÆ÷×é¼þ£¬¾ßÌå´úÂëÈçÏ£º
ÒÀÕÕ´ËÓ÷¨¿ÉÒÔ¿ª·¢ÍøÒ³ÓÎÏ·»òÆäËüFlashÓ¦ÓõÄ.NET SOCKET·þÎñÆ÷¡£
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Text;
using System.Threading;
using System.Net.Sockets;
using System.Net;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
using FluorineFx;
namespace STCServer
{
class Monitor
{
private int PORT = 8888;
private const int MAXPKSIZE = 4096;
private TcpListener tcpLs = null;
private List<Client> clients = new List<Client>();
  ......
ÒòΪÏîÄ¿ÒªÇó£¬ÖÆ×÷µÄÒ»¸ö¶àÎļþÉÏ´«£¬²¢ÏÔʾ½ø¶ÈÌõÒ»¶Î´úÂë(vs2005»·¾³)¡£
(ֻΪ´ÖÂÔµÄʵÏÖ£¬´úÂë²¢²»¹æ·¶)
µ±¶à¸öÎļþÉÏ´«µÄʱºò£¬ÐèÒªÒÀ´Î¶ÓÁÐÐÎʽһ¸ö¸öÉÏ´«£¬µ±ÉÏ´«Ä³¸öÎļþµÄʱºò£¬Ëø¶¨½ø³Ì£¬ÉÏ´«Íê±ÏÔÙ¿ªÆôËø¡£
ÔÚÖ÷ÀàÖеÄÉÏ´«°´Å¥Ê¼þ´úÂë:
//
»ñÈ¡openFileDialog¿Ø¼þÑ¡ÔñµÄÎļþÃûÊý×é(openFileDialog¿É¶à¸öÎļþÑ¡Ôñ)
private
void
button1_Click(
object
sender, EventArgs e)
{
label1.Text
=
""
;
try
{
this
.openFileDialog1.ShowDialog();
......
ÒòΪÏîÄ¿ÒªÇó£¬ÖÆ×÷µÄÒ»¸ö¶àÎļþÉÏ´«£¬²¢ÏÔʾ½ø¶ÈÌõÒ»¶Î´úÂë(vs2005»·¾³)¡£
(ֻΪ´ÖÂÔµÄʵÏÖ£¬´úÂë²¢²»¹æ·¶)
µ±¶à¸öÎļþÉÏ´«µÄʱºò£¬ÐèÒªÒÀ´Î¶ÓÁÐÐÎʽһ¸ö¸öÉÏ´«£¬µ±ÉÏ´«Ä³¸öÎļþµÄʱºò£¬Ëø¶¨½ø³Ì£¬ÉÏ´«Íê±ÏÔÙ¿ªÆôËø¡£
ÔÚÖ÷ÀàÖеÄÉÏ´«°´Å¥Ê¼þ´úÂë:
//
»ñÈ¡openFileDialog¿Ø¼þÑ¡ÔñµÄÎļþÃûÊý×é(openFileDialog¿É¶à¸öÎļþÑ¡Ôñ)
private
void
button1_Click(
object
sender, EventArgs e)
{
label1.Text
=
""
;
try
{
this
.openFileDialog1.ShowDialog();
......