重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
rivate Shared Function ConnectSocket(ByVal server As String, ByVal port As Integer) As Socket'創建連接
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名申請、網頁空間、營銷軟件、網站建設、宣漢網站維護、網站推廣。
Dim s As Socket = Nothing
Dim hostEntry As IPHostEntry = Nothing
Dim address As IPAddress
address = System.Net.IPAddress.Parse(server)
Dim endPoint As New IPEndPoint(address, port)
Dim tempSocket As New Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
tempSocket.Connect(endPoint)
If tempSocket.Connected Then
s = tempSocket
End If
Return s
End Function
調用:s = ConnectSocket(IP地址, 端口)'端口號如8000,8080等
s.close'關閉連接
方法一: 通過WINSOCK傳 方法二: 程序一生成一文件,然后程序二讀取 方法三: 利用數據庫存取這個是調用自制DLL示例,至于用ActiveX EXE,你可以參考一下,關鍵是留接口給另一程序 VB制作標準DLL文件并調用該文件的示例 1、建立一個ActiveX DLL工程,這時工程中將包括一個類模塊Class1。 2、在ActiveX DLL工程中添加一個Form。 3、在類模塊添加如下函數: Public Function ShowMyForm(s As String) Form1.Caption = s Form1.Show vbModal End Function 4、將工程編譯為DLL。 調用時: 1、建立一個標準EXE,在菜單“工程|引用”中選擇前面編譯的DLL。 2、使用如下代碼調用: Private Sub Form_Click() Dim cls As New Class1 cls.ShowMyForm("Hello") End Sub
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
參數
Destination 要復制內存塊的目的地址。
Source 要復制內存塊的源地址。
Length 指定要復制內存塊的大小,單位為字節
返回值 該函數為VOID型,沒有返回值。
使用FileStream讀寫文件
文件頭:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
讀文件核心代碼:
byte[] byData = new byte[100];
char[] charData = new char[1000];
try
{
FileStream sFile = new FileStream("文件路徑",FileMode.Open);
sFile.Seek(55, SeekOrigin.Begin);
sFile.Read(byData, 0, 100); //第一個參數是被傳進來的字節數組,用以接受FileStream對象中的數據,第2個參數是字節數組中開始寫入數據的位置,它通常是0,表示從數組的開端文件中向數組寫數據,最后一個參數規定從文件讀多少字符.
}
catch (IOException e)
{
Console.WriteLine("An IO exception has been thrown!");
Console.WriteLine(e.ToString());
Console.ReadLine();
return;
}
Decoder d = Encoding.UTF8.GetDecoder();
d.GetChars(byData, 0, byData.Length, charData, 0);
Console.WriteLine(charData);
Console.ReadLine();
寫文件核心代碼:
FileStream fs = new FileStream(文件路徑,FileMode.Create);
//獲得字節數組
byte [] data =new UTF8Encoding().GetBytes(String);
//開始寫入
fs.Write(data,0,data.Length);
//清空緩沖區、關閉流
fs.Flush();
fs.Close();
2、使用StreamReader和StreamWriter
文件頭:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
StreamReader讀取文件:
StreamReader objReader = new StreamReader(文件路徑);
string sLine="";
ArrayList LineList = new ArrayList();
while (sLine != null)
{
sLine = objReader.ReadLine();
if (sLine != null!sLine.Equals(""))
LineList.Add(sLine);
}
objReader.Close();
return LineList;
StreamWriter寫文件:
FileStream fs = new FileStream(文件路徑, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
//開始寫入
sw.Write(String);
//清空緩沖區
sw.Flush();
//關閉流
sw.Close();
fs.Close();
===================================================================================
方式一:用FileStream
//實例化一個保存文件對話框
SaveFileDialog sf = new SaveFileDialog();
//設置文件保存類型
sf.Filter = "txt文件|*.txt|所有文件|*.*";
//如果用戶沒有輸入擴展名,自動追加后綴
sf.AddExtension = true;
//設置標題
sf.Title = "寫文件";
//如果用戶點擊了保存按鈕
if(sf.ShowDialog()==DialogResult.OK)
{
//實例化一個文件流---與寫入文件相關聯
FileStream fs = new FileStream(sf.FileName,FileMode.Create);
//獲得字節數組
byte [] data =new UTF8Encoding().GetBytes(this.textBox1.Text);
//開始寫入
fs.Write(data,0,data.Length);
//清空緩沖區、關閉流
fs.Flush();
fs.Close();
}
方式二:用StreamWriter
//實例化一個保存文件對話框
SaveFileDialog sf = new SaveFileDialog();
//設置文件保存類型
sf.Filter = "txt文件|*.txt|所有文件|*.*";
//如果用戶沒有輸入擴展名,自動追加后綴
sf.AddExtension = true;
//設置標題
sf.Title = "寫文件";
//如果用戶點擊了保存按鈕
if (sf.ShowDialog() == DialogResult.OK)
{
//實例化一個文件流---與寫入文件相關聯
FileStream fs = new FileStream(sf.FileName, FileMode.Create);
//實例化一個StreamWriter--與fs相關聯
StreamWriter sw = new StreamWriter(fs);
//開始寫入
sw.Write(this.textBox1.Text);
//清空緩沖區
sw.Flush();
//關閉流
sw.Close();
fs.Close();
}
string FileName = Guid.NewGuid().ToString() + ".txt"; //GUID生成唯一文件名
StringBuilder ckpw = new StringBuilder("\"憑證輸出\", \"V800\", \"001\", \"東風隨州專用汽車有限公司\"," + "\"F89自由項16\", \"F90審核日期:\"");
if (!FileIO.IsFolderExists(Server.MapPath("pzsc")))
FileIO.CreaterFolder(Server.MapPath(""), "");
string filePath = Server.MapPath("pzsc") + "\\" + FileName;
System.IO.StreamWriter sw = new System.IO.StreamWriter(filePath, false, Encoding.GetEncoding("GB2312"));//創建的時候需要指定編碼格式,默認是UTF-8,中文顯示亂碼
sw.WriteLine(ckpw.ToString());
sw.Close();
方式三:用BinaryWriter
//實例化一個保存文件對話框
SaveFileDialog sf = new SaveFileDialog();
//設置文件保存類型
sf.Filter = "txt文件|*.txt|所有文件|*.*";
//如果用戶沒有輸入擴展名,自動追加后綴
sf.AddExtension = true;
//設置標題
sf.Title = "寫文件";
//如果用戶點擊了保存按鈕
if (sf.ShowDialog() == DialogResult.OK)
{
//實例化一個文件流---與寫入文件相關聯
FileStream fs = new FileStream(sf.FileName, FileMode.Create);
//實例化BinaryWriter
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(this.textBox1.Text);
//清空緩沖區
bw.Flush();
//關閉流
bw.Close();
fs.Close();
}
C#緩存流示例------用緩存流復制文件
C#文件處理操作必須先導入命名空間:using System.IO;
背景:使用VS2005、一個按鈕、一個窗體、C#緩存流、把D:\KuGoo\愛得太多.wma復制到D:\并更名為love.wma,即:D:\love.wma
在按鈕的Click事件中添加如下代碼:
private void button1_Click(object sender, EventArgs e)
{
//創建兩個文件流 一個是源文件相關,另一個是要寫入的文件
FileStream fs = new FileStream(@"D:\KuGoo\愛得太多.wma",FileMode.Open);
FileStream fs2 = new FileStream(@"D:\love.wma",FileMode.Create);
//創建一個字節數組,作為兩者之間的媒介
//好比兩個人拿蘋果,這個字節數組就好比一個籃子,一個人作死的把蘋果送到籃子里面,
//而我就可以作死得拿蘋果,通過這個媒介我們互不干擾,
//不需要互相等待【她往籃子里面放了蘋果我才可以去拿】,提高了效率
byte[] data = new byte[1024];
//創建兩個緩沖流,與兩個文件流相關聯
BufferedStream bs = new BufferedStream(fs);
BufferedStream bs2= new BufferedStream(fs2);
//fs作死的讀,fs2作死的寫,直到fs沒有字節可讀fs2就不寫了
//好比,一個人作死的往籃子里面丟蘋果,另一個人作死得往籃子里面拿蘋果,直到籃子里面沒有蘋果拿了為止
//即--那個人沒有蘋果往籃子里面放了
while(fs.Read(data,0,data.Length)0)
{
fs2.Write(data,0,data.Length);
fs2.Flush();
}
//關閉流,好比兩個人累了,都要休息 呵呵o(∩_∩)o...
fs.Close();
fs2.Close();
}
C#內存流示例-----用內存流來讀取圖片
C#文件處理操作必須先導入命名空間:using System.IO;
背景:一個窗體、一個pictureBox、一個lable[沒有選擇圖片,lable的text為"圖片未選擇"],在pictureBox1的Click事件中添加如下代碼:
private void pictureBox1_Click(object sender, EventArgs e)
{
//實例化一個打開文件對話框
OpenFileDialog op = new OpenFileDialog();
//設置文件的類型
op.Filter = "JPG圖片|*.jpg|GIF圖片|*.gif";
//如果用戶點擊了打開按鈕、選擇了正確的圖片路徑則進行如下操作:
if(op.ShowDialog()==DialogResult.OK)
{
//清空文本
this.label1.Text = "";
//實例化一個文件流
FileStream fs = new FileStream(op.FileName, FileMode.Open);
//把文件讀取到字節數組
byte[] data = new byte[fs.Length];
fs.Read(data, 0, data.Length);
fs.Close();
//實例化一個內存流---把從文件流中讀取的內容[字節數組]放到內存流中去
MemoryStream ms = new MemoryStream(data);
//設置圖片框 pictureBox1中的圖片
this.pictureBox1.Image = Image.FromStream(ms);
}
}