C#中定義的比較操作符有:●==等於●!=不等於●<小於●>大於●<=小於或等於●>=大於或等於整數與實數對於整數類型和實數類型,這六種比較操作符都可以適用。根據IEEE 754標準,比較子符合下面的規則:●如果有一個運算元為NaN(空)那麼除“!=”之外所有操作符結果為false,“!=”的運算結果為“true”。對於任何兩個運算元“x!=y”部等價於“!(x==
賦值就是給一個變數賦一個新值。C#中提供的賦值運算式有:= += -= *= /= %= &= /= ^= <<= >>=賦值的左運算元必須是一個變數,屬性訪問器或索引訪問器的運算式。 C#中可以對變數進行連續賦值,這時賦值操作符是右關聯的,這意味著從右向左操作符被分組。例如,形如a=b=c的運算式等價於a=(b=c)。如果賦值操作符兩邊的運算元類型不一致,那就先要進行類型轉換。7.3.1
C#中提供的算術操作符有五種:●+ 加法操作符●- 減法操作符●* 乘法操作符●/ 除法操作符●% 求餘操作符在運算式的運算中,運算式總是按它們本身書寫的順序求值,如下例:程式清單7-1:using System;class Test{ static void F(int x,int y,int z){ Console.WriteLine("x={0},y={1},z={2}",x,y,z); } public static void Main(){
除法運算的演算法規則見表7-5:表7-5: 在除法運算過程中,預設的傳回值的類型與精度最高的運算元類型相同。比如,5/2的結果為2,而5.0/2結果為2.5。如果兩個整數類型的變數相除又不能整除的話,返回的結果是不大於相除之值的最大整數。看下面的例子:程式清單7-3:using System;class Test{ public static void Main(){ Console.WriteLine(5/3); Console.WriteLine(4/3);
前言當你認真的寫完用戶端和伺服器端的時候可能不需要再繼續往下看關於播放器的代碼和說明,因為你已經掌握了如何轉換VC++ 代碼的技巧了,加上GOOGLE再來完成這個播放器應該算小菜了。但是作為我的系列,我還是有必要認真的將這部分寫完才算完整,和前面一樣 ,先貼封裝好的API。本文HikPlayM4.dll源碼見附件結束和前面一樣注意API可能存在誤差,隨後的文章將保持本文的更新!!附件
前言本章將伺服器端幾個非主要但常用的功能分享一下。一、驗證1.1 IP驗證VC++ Code:OnInitDialog方法MP4_ServerCheckIP(CheckIP);CheckIP委託int CALLBACK CheckIP(DWORD nChannel,char* nIP){/*CString ctemp;ctemp.Format("% s",nIP);if (ctemp == "192.0.0.215")return -1;*/return
前言錄影功能是監控系統中最重要的功能之一,除了本文的功能實現外,還需要你自己考慮合適的儲存策略:儲存大小、時間段、 儲存盤符等。本文一、抓圖這個功能沒有在VC++伺服器端找到對應的代碼,但是GOOGLE到了一段CSDN求助的代碼:int ret=GetJpegImage(aa,bb,cc,dd); if(ret==0) { CString str; str.Format("ch%02d_%s.jpg",iLastSelect,csStartTime);
前言寫系列文章的時候[前言]部分變得無言了,可能來得順利了點吧: ) 本章中提供的封裝均是我用笨辦法從<<Hikvision 板卡網路開發包編程手冊V4.7>>和<<DS-4000HC、HCS、HC+、HF、HS、MD卡的Windows編程指南V4.3>>中拷貝出來並參照VC++代碼進行整理的,主要是針對HikServer.dll和DS40xxSDK.dll的調用封裝。本文1.DS40xxSDK.dll代碼詳見源碼本文配套源碼
一、給伺服器發送字串實現這個功能非常簡單,感覺不怎麼實用。1.VC++ Code:MP4_ClientCommandtoServer((LPCTSTR)ctemp,sendcont,400);2.C# Code:PcHikClient.MP4_ClientCommandtoServer("192.168.0.188", "伺服器你好:)",
前言由於音頻接收這塊的代碼和說明不多,就和截圖功能一起寫了,Let's GO! !一、寫了三篇文章,來一張介面的草 圖,讓大夥心裡有個數。二、音頻接受音頻接受的代碼比較簡單,伺服器端是預設開啟的,只要你將拾音器接上板卡接上標有AID 1/2/3/4白色線就可 以了。VC++ Code:if (nn1 >= 0 ) { MP4_ClientAudioStart(nn1); MP4_ClientAudioVolume(0xfff0); }
1.將以下四個dll拷貝到system32目錄下,這幾個檔案均在根目錄的Bin目錄下DS40xxSDK.dllhikclient.dllHikPlayM4.dllHikServer.dll2.先用內建的用戶端Net Client Demo(Soft Decdoe)運行下確認沒有問題再根據VC++用戶端的例子寫對應的C#代碼。3.最好裝一個Microsoft Visual C++ 6.0,這樣能把VC++的例 子跑起來並調試。注意他是Win32 Release的,需要切換至Win32
前言偶爾的機會接觸視頻監控,一開始的也是無頭蒼蠅,買書,跑了幾趟中關村買裝置,找朋友幫忙接線,測試網路攝影機,總算是把 海康SDK開發包裡面的樣本跑起來了!接下來又在源碼網站、用Google瘋狂的找代碼,不是VC++的就是Delphi的源碼(本人Delphi不會,VC++能 看懂點點-_-#),最後算是找到了一個C#版開發的用戶端文章,結果運行出錯!跑到海康官方網站問也沒人鳥,怒了!!冷靜下來看內建的
一.用SqlConnection串連SQL Server1..加入命名空間using System.Data.SqlClient;2.串連資料庫SqlConnection myConnection = new SqlConnection();myConnection.ConnectionString = "user id=sa;password=sinofindb;initial catalog=test;data source=127.0.0.1;Connect Timeout=30
今天,有個網友,提問:指定目錄中有若干個很小的文字檔,現在需要使用多線程進行讀取。一個檔案一個線程或設定共有10個線程之類的方式都可以。把讀取的文本全部追加到視窗中的指定編輯框中,只有一個編輯框,都寫在這個裡面,不分順序,換行即可。我用委託的方式,寫了下面的解決方案:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using
在我們程式開發的過程中經常會需要繪製曲線圖和柱狀圖等,尤其是在做統計功能時。但是有時候我們有覺得沒有必要使用第三方控制項(例 如:ZedGraph等),這是我們可以自己編寫代碼來實現這些圖形繪製的功能。以下是我在開發過程中所使用過的兩段代碼,現共用大家,希望 能給大家帶來一定的協助,如有不妥敬請斧正!1.柱狀圖,效果圖如下代碼如下:注意:請注意參數 chartTable 圖形裡的一
前言上一篇 C# 用Attribute實現AOP事務 [C# | AOP | Attribute | ContextAttribute | IContributeObjectSink | IMessageSink ]是實現或者說達到AOP效果的一種方式,其實最早設計在C#中使用AOP來完成事務的方案是準備用delegate的,但無奈不習慣用 這個玩意,也理解不深,後來被Attribute吸引了,這個方案就擱淺了,不過現在我又回來了 : ) 本文我們先來看一段代碼雛 形:class
在上一篇 MailMessage儲存為eml檔案(C#+SmtpClient)中,我們使用了反射(Reflection)的方式,調用System.Net.Mail的內部對象 MailWriter 實現了將 MailMessage 的內容儲存為 eml 檔案。通過上次的實現,主要是學習反射Reflection的使用思路,起到個拋磚引玉的作用吧,算是今天,偶爾看到了上次的代碼,又重新發現了一個新大陸,使得儲存eml檔案的工作,變得異常簡單了
大多數的死結都是因為代碼允許以不一致的方式鎖定資源。例如我們要將一個賬戶的資金轉到另一個賬戶中。Monitor類提供同步對對象的訪問的機制。類通過向單個線程授予對象鎖來控制對對象的訪問。對象鎖提供限制存取碼塊(通常稱為臨界區)的能力。當一個線程擁有對象的鎖時,其他任何線程都不能擷取該鎖。還可以使用Monitor來確保不會允許其他任何線程訪問正在由鎖的所有者執行的應用程式代碼節,除非另一個線程正在使用其他的鎖定對象執行該代碼。範例程式碼如下:public void Transer(Account
以淡入淡出顯示映像效果顯示映像主要使用了ImageAttributes類的SetColorMatrix方法設定顏色調整矩陣實現淡入淡出的效果。ImageAttributes對象維護多個顏色調整設定,包括顏色調整矩陣、灰階調整矩陣、灰階校正值、顏色映射表和顏色閾值。呈現過程中,可以對顏色進行校正、調暗、調亮和移除。 淡入效果代碼如下:private void button1_Click(object sender, EventArgs e){ //淡入顯示映像 try {
以任意角度旋轉映像樣本。實現任意角度旋轉映像主要使用Graphics類提供的RotateTransform()方法。代碼如下:private void button1_Click(objectsender,EventArgse){ //以任意角度旋轉顯示映像 Graphics g=this.panel1.CreateGraphics(); float MyAngle=0;//旋轉的角度 while(MyAngle<360) { TextureBrush