VS2008简明教程


伯兮科技 info@liboxi.cn 第 1 页 共 48 页 VS2008 简明教程 version 1.0 写在前面:...............................................................................................................................1 第一章:启动软件...................................................................................................................2 第二章:Hello World...............................................................................................................2 2.1:使用 BASIC 构建 HelloWorld 的控制台程序 .......................................................2 2.2:使用 BASIC 创建窗体应用程序 helloworld..........................................................9 2.3:使用 C#创建控制台程序 helloworld....................................................................14 2.4:使用 C#创建窗口应用程序 helloworld................................................................17 2.5:使用 C++的 CLR 创建控制台程序 helloworld....................................................20 2.6:使用 C++创建 Win32 控制台程序 helloworld.....................................................22 2.7:使用 C++创建 CLR 窗体程序 helloworld............................................................26 2.8:使用 C++创建 win32 控制台程序 helloworld .....................................................30 第三章:简单的串口程序.....................................................................................................34 3.1:串口控制台程序 ....................................................................................................34 串口控制台程序详细步骤解析:.................................................................................35 构建 VC++控制台串口程序..........................................................................................35 VISUAL BASIC 控制台串口程序.................................................................................41 写在前面: 程序设计,经过了机器语言 -〉汇编语言 -〉面向过程的程序设计-〉面向对象的程序设计 -〉面向托管的程序设计-〉未来。 比尔盖茨创建微软公司,以 BASIC 起家,开发推广了 MSDOS,Windows 系列操作系 统,和形式各样的软件。包括今天的专题 VS2008 开发软件。 Windows 平台(无论是 windows xp,还是 windows 7)已经成为每个人进入信息社会的 必经的平台,包括微软公司在内的诸多软件公司,开发了各种各样的软件(娱乐,休闲,工 作,行业等等软件)。 学习和使用 VS2008,其一是为了开发属于自己的应用或软件;其二是为了谋取公司的 某个职位,做企业的应用和开发,或者进入软件巨头的公司,开发和完善我们耳熟能详的专 业软件(比如:Photoshop 等) 本简明教程,只作为一个通俗入门读物。更深层研究开发需要研读 MSDN,算法,应 用数学等相关知识。选择大学的计算机专业,可以系统的学习相关专业知识。自学可以选择 麻省理工(MIT)的开放课程进行学习。当然,后者不会有证书作为敲门砖。 作为一名学习者 VS2008 的来源是个问题,庆幸的是微软公司提供了试用版和体验版, 可以到微软的官方网站(http://www.microsoft.com)查询下载。 盗版软件,最好不要使用,至少不要用于商业开发。因为使用盗版软件本身就是损害软 件从业人员的福利和前途,也损害者您自己的前途和福利。尽管,目前很多小型软件公司依 然使用盗版软件做软件开发。 伯兮科技 info@liboxi.cn 第 2 页 共 48 页 第一章:启动软件 上如图,是安装 VS2008 后,开始菜单中的程序项。 启动软件,VS2008 界面 第二章:Hello World HelloWorld 是最简单的入门程序。本章,将演示多个 HelloWorld 程序。 1, 使用 Basic 构建 2, 使用 VC++构建 3, 使用 C#构建 2.1:使用 BASIC 构建 HelloWorld 的控制台程序 伯兮科技 info@liboxi.cn 第 3 页 共 48 页 以下是自动生成的代码,不做任何更改: Module Module1 Sub Main() End Sub 伯兮科技 info@liboxi.cn 第 4 页 共 48 页 End Module 启动调试后,程序显示一下什么都不做! 或者“Ctrl+F5”按住 Ctrl 键,不松手,在按下 F5 伯兮科技 info@liboxi.cn 第 5 页 共 48 页 修改代码如下: Module Module1 Sub Main() Console.Write("hello world") End Sub End Module 编译 如下图单击或者( Ctrl+Alt+F7) 执行,如下图单击或者(Ctrl+F5) 显示执行结果,在控制台中显示 hello world 回顾一下修改代码的过程: VS2008 会提供提示功能。 伯兮科技 info@liboxi.cn 第 6 页 共 48 页 伯兮科技 info@liboxi.cn 第 7 页 共 48 页 上图可见,Console.Write 有 17 种参数形式,根据自己的需要可以探索更多的实现方式和方 法。 对生成的文件和文件夹的探索 伯兮科技 info@liboxi.cn 第 8 页 共 48 页 用记事本打开 VS2008 生成的文件 Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "helloworld1", "helloworld1\helloworld1.vbproj", "{5BE89406-4C02-4332-959B-8003B9A57C6F}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU 伯兮科技 info@liboxi.cn 第 9 页 共 48 页 Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {5BE89406-4C02-4332-959B-8003B9A57C6F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5BE89406-4C02-4332-959B-8003B9A57C6F}.Debug|Any CPU.Build.0 = Debug|Any CPU {5BE89406-4C02-4332-959B-8003B9A57C6F}.Release|Any CPU.ActiveCfg = Release|Any CPU {5BE89406-4C02-4332-959B-8003B9A57C6F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal 限于篇幅限制更多的文件探索,根据个人兴趣进行不同深度的探索。 探索的目的:了解 VS2008 生成文件的组织架构,但并不意味着要打破砂锅问到底,而是, 进入一定深度的了解。保持操作黑箱的方法和态度是能够快速学习的基本条件,如果,时间 充裕,打破一定数量的黑箱,能让我们更加了解机理。 2.2:使用 BASIC 创建窗体应用程序 helloworld 伯兮科技 info@liboxi.cn 第 10 页 共 48 页 增加 button 按钮,并双击该按钮添加代码 添加代码前: Public Class Form1 伯兮科技 info@liboxi.cn 第 11 页 共 48 页 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click End Sub End Class 添加代码后: Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Button1.Text = "hello world" End Sub End Class 编译 Ctrl+Alt+F7 执行 Ctrl+F5 伯兮科技 info@liboxi.cn 第 12 页 共 48 页 单击“Button1” 扩展应用: 改变颜色,隐藏 Button1.Hide() 隐藏按钮 编译 Ctrl+Alt+F7 伯兮科技 info@liboxi.cn 第 13 页 共 48 页 执行 Ctrl+F5 单击“Button1 ” 伯兮科技 info@liboxi.cn 第 14 页 共 48 页 更多地功能,读者可以自行探索和实验,以备以后应用。 2.3:使用 C#创建控制台程序 helloworld 伯兮科技 info@liboxi.cn 第 15 页 共 48 页 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace helloworld3 { class Program { static void Main(string[] args) { } } } 添加代码如下: 伯兮科技 info@liboxi.cn 第 16 页 共 48 页 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace helloworld3 { class Program { static void Main(string[] args) { Console.Write("hello world"); } } } 编译(Ctrl+Alt+F7)并执行 (Ctrl+F5) 伯兮科技 info@liboxi.cn 第 17 页 共 48 页 2.4:使用 C#创建窗口应用程序 helloworld 添加“Button”按钮,并且双击该按钮,编辑代码 伯兮科技 info@liboxi.cn 第 18 页 共 48 页 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace helloworld4 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { } } } 伯兮科技 info@liboxi.cn 第 19 页 共 48 页 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace helloworld4 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { button1.Text = "hello world"; } } } 伯兮科技 info@liboxi.cn 第 20 页 共 48 页 编译(Ctrl+Alt+F7)并执行(Ctrl+F5),并单击 Button1 2.5:使用 C++的 CLR 创建控制台程序 helloworld 什么是 CLR:CLR 是微软的通用语言运行时,可以与 java 的虚拟机 VM 类比。无论是 C++, BASIC,C#都可以运行在 CLR 上,CLR 与硬件无关,可以理解为操作系统的一种封装形式。 伯兮科技 info@liboxi.cn 第 21 页 共 48 页 已经有 helloworld 代码了无需更改。 编译(Ctrl+Alt+F7)并执行 (Ctrl+F5) 伯兮科技 info@liboxi.cn 第 22 页 共 48 页 2.6:使用 C++创建 Win32 控制台程序 helloworld 伯兮科技 info@liboxi.cn 第 23 页 共 48 页 伯兮科技 info@liboxi.cn 第 24 页 共 48 页 #include "stdafx.h" 伯兮科技 info@liboxi.cn 第 25 页 共 48 页 int _tmain(int argc, _TCHAR* argv[]) { return 0; } // helloworld6.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { printf("hello world"); return 0; } 编译(Ctrl+Alt+F7)并执行 (Ctrl+F5) 伯兮科技 info@liboxi.cn 第 26 页 共 48 页 2.7:使用 C++创建 CLR 窗体程序 helloworld 伯兮科技 info@liboxi.cn 第 27 页 共 48 页 添加“Button”按钮,并双击,查看代码: 伯兮科技 info@liboxi.cn 第 28 页 共 48 页 #pragma once namespace helloworld7 { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; /// /// Form1 摘要 /// /// 警告: 如果更改此类的名称,则需要更改 /// 与此类所依赖的所有.resx 文件关联的托管资源编译器工具的 /// “资源文件名”属性。否则, /// 设计器将不能与此窗体的关联 /// 本地化资源正确交互。 /// public ref class Form1 : public System::Windows::Forms::Form { public: Form1(void) { InitializeComponent(); // //TODO: 在此处添加构造函数代码 // } protected: /// /// 清理所有正在使用的资源。 /// ~Form1() { if (components) { delete components; } 伯兮科技 info@liboxi.cn 第 29 页 共 48 页 } private: System::Windows::Forms::Button^ button1; protected: private: /// /// 必需的设计器变量。 /// System::ComponentModel::Container ^components; #pragma region Windows Form Designer generated code /// /// 设计器支持所需的方法- 不要 /// 使用代码编辑器修改此方法的内容。 /// void InitializeComponent(void) { this->button1 = (gcnew System::Windows::Forms::Button()); this->SuspendLayout(); // // button1 // this->button1->Location = System::Drawing::Point(57, 62); this->button1->Name = L"button1"; this->button1->Size = System::Drawing::Size(136, 58); this->button1->TabIndex = 0; this->button1->Text = L"button1"; this->button1->UseVisualStyleBackColor = true; this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click); // // Form1 // this->AutoScaleDimensions = System::Drawing::SizeF(6, 12); this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; this->ClientSize = System::Drawing::Size(292, 266); this->Controls->Add(this->button1); this->Name = L"Form1"; this->Text = L"Form1"; this->ResumeLayout(false); } #pragma endregion private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { 伯兮科技 info@liboxi.cn 第 30 页 共 48 页 } }; } 添加代码: 编译(Ctrl+Alt+F7)并执行(Ctrl+F5) 并单击“Button1” 2.8:使用 C++创建 win32 控制台程序 helloworld 伯兮科技 info@liboxi.cn 第 31 页 共 48 页 伯兮科技 info@liboxi.cn 第 32 页 共 48 页 伯兮科技 info@liboxi.cn 第 33 页 共 48 页 编译并执行 使用 Win32 创建窗体程序,比较复杂,需要创建类,变量,并且作相关的链接。这里不做 详细表述。相关技术可参考《》。 伯兮科技 info@liboxi.cn 第 34 页 共 48 页 第三章:简单的串口程序 3.1:串口控制台程序 程序列表: //VS2008 VC++ 控制台 串口 #include "stdafx.h" using namespace System; int main(array ^args) { System::IO::Ports::SerialPort aa; aa.BaudRate=2400; aa.Open(); aa.Write("hello"); Console::WriteLine(L"Hello World"); return 0; } //VS2008 BASIC 控制台 串口 Module Module1 Dim a As New System.IO.Ports.SerialPort Sub Main() a.BaudRate = 2400 a.Open() a.Write("hello,boxitech") End Sub End Module //VS2008 CS 控制台 串口 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace csconuart { class Program { static void Main(string[] args) { 伯兮科技 info@liboxi.cn 第 35 页 共 48 页 System.IO.Ports.SerialPort aa = new System.IO.Ports.SerialPort(); aa.BaudRate = 4800; aa.Open(); aa.Write("hello cs uart"); } } } 串口控制台程序详细步骤解析: 构建 VC++控制台串口程序 // uart01.cpp: 主项目文件。 #include "stdafx.h" using namespace System; 伯兮科技 info@liboxi.cn 第 36 页 共 48 页 int main(array ^args) { Console::WriteLine(L"Hello World"); return 0; } 增加串口控制代码: System::IO::Ports::SerialPort aa; //定义一个串口对象的一个实例 aa aa.Open(); //调用串口对象 aa 的方法 open,用来打开串口 aa.Write(“hello”); //调用串口对象 aa 的方法 Write,用户通过串口发送字符串 hello 使用 AccessPort 对串口进行监控,观察设计的程序的运行结果。 伯兮科技 info@liboxi.cn 第 37 页 共 48 页 编译(Ctrl+Alt+F7)并执行(Ctrl+F5)程序 观察串口监控的结果: 伯兮科技 info@liboxi.cn 第 38 页 共 48 页 或者 Ctrl+H 上图,串口波特率是 9600 修改串口对象的参数:波特率 4800 伯兮科技 info@liboxi.cn 第 39 页 共 48 页 编译(Ctrl+Alt+F7)并执行(Ctrl+F5)程序 观察串口监控的结果: 修改串口其他参数: 伯兮科技 info@liboxi.cn 第 40 页 共 48 页 伯兮科技 info@liboxi.cn 第 41 页 共 48 页 小知识:类与对象 类,上面操作的串口,可以归纳综合为一类。而我们所操作的一个串口,就是一个对象或实 例。所有的操作,称为方法;对象中被赋值或者引用的相关变量,成为属性。 串口的打开是一个方法;aa.Open(); 串口发送数据也是一个方法;aa.Write(“hello”); 串口名称是一个属性;aa.PortName=“COM1”; 串口的波特率也是一个属性:aa.BaudRate=4800; VISUAL BASIC 控制台串口程序 伯兮科技 info@liboxi.cn 第 42 页 共 48 页 编译并执行 监控串口结果 伯兮科技 info@liboxi.cn 第 43 页 共 48 页 更多地参数: 属性: 伯兮科技 info@liboxi.cn 第 44 页 共 48 页 方法: 伯兮科技 info@liboxi.cn 第 45 页 共 48 页 伯兮科技 info@liboxi.cn 第 46 页 共 48 页 多线程编程 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace ConsoleApplication2 { public class a1 { public void a11() { while (true) { Console.WriteLine("a11 aa"); } } } public class a2 { public void a22() { while (true) { Console.WriteLine("a22"); } } } class Program { static void Main(string[] args) { a1 mya1=new a1(); a2 mya2 = new a2(); Thread omya1 = new Thread(new ThreadStart(mya1.a11)); 伯兮科技 info@liboxi.cn 第 47 页 共 48 页 Thread omya2 = new Thread(new ThreadStart(mya2.a22)); omya1.Start(); omya2.Start(); } } } SOCKET 程序 服务器端 private void button2_Click(object sender, EventArgs e) { IPAddress myipa1 = IPAddress.Parse("127.0.0.1"); IPEndPoint myipe1 = new IPEndPoint(myipa1, 2000); Socket d = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); d.Bind(myipe1); d.Listen(0); Socket e11 = d.Accept(); string recstr = ""; byte [] recbytes = new byte[1024]; int bytes; bytes = e11.Receive(recbytes, recbytes.Length, 0); recstr += Encoding.ASCII.GetString(recbytes, 0, bytes); label1.Text = recstr; } 客户端 private void button1_Click(object sender, EventArgs e) { IPAddress myipa = IPAddress.Parse("127.0.0.1"); IPEndPoint myipe = new IPEndPoint(myipa, 2000); Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); c.Connect(myipe); 伯兮科技 info@liboxi.cn 第 48 页 共 48 页 string sendstring = "helloworld"; byte[] bs = Encoding.ASCII.GetBytes(sendstring); c.Send(bs, bs.Length, 0); }
还剩47页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

kexuetou

贡献于2015-11-14

下载需要 10 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf