-
C++ Qt设计模式第2版(中文版)+源码
C Qt设计模式(第2版)是美国萨福克大学已使用十余年的经典教程,利用跨平台开源软件开发框架Qt阐释了C 和设计模式中的主要思想。全书共分四个部分:第一部分介绍C 、UML、Qt、模型-视图、SQL、XML、设计模式等基础知识,目的是为零基础的C 初学者铺垫一条学习面向对象编程的快捷之路;第二部分讲解内存访问、继承等重要的C 特性,是前一部分的延伸和拓展;第三部分使用Phonon编写了一个多媒体播放器,展示了主要技术理念的应用方法;附录部分给出了C 保留关键字、Debian和Qt程序开发环境的配置等内容。每节的练习题和各章后面的复习题,既可作为课堂上的讨论题,也可进一步启发读者对于关键知识点的思考。【核心代码】C Qt设计模式 第2版(中文版).pdfQT设计模式Introduction to Design Patterns in C with Qt 2nd Edition.pdfansicastarithmeticarraysbashbookpagecarclasscardgamecastscircularclargsclassesclipboardcommon.pricomplexcompositeconstconstptrcontainerscontinuectorctorpolydebuggingderivationdesignerdestructordockearly-examplesellipsisencapsulationenumsenvironmenteventloopexceptionsfindchildrenfunctionsfunctorsgenericgotohandoutshugeintiostreamiterationjobseekerlayoutslibslifecycleloginlogtailmetatypemodelviewmultinheritancemystringnamespacenewfailureoperatorspointer-containerpointerspolymorphic1.ccpolymorphic2.ccpreprocessorprivatederivpropertiespuzzleqappqobjectqonsoleqstdqstringqtioqtrttiqtstreamsquizzesreferencereflectionregex-testerregexprttiserializersqlstaticsstdstreamsstlstoragestructdemosubobjectswitchtemplatesthreadstimertypesundo-demovalidatewidgetsxml
- 2021-05-06下载
- 积分:1
-
C# 设计模式之【装饰模式】
C# 设计模式之【装饰模式】
- 2015-08-27下载
- 积分:1
-
自动登录qq空间,获取最近访客列表.
自动登录qq空间,获取最近访客列表.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 WindowsFormsApplication1{ public partial class Form1 : Form { Timer terAutologin = new Timer(); public Form1() { InitializeComponent(); terAutologin.Enabled = true; terAutologin.Interval = 3 * 1000; terAutologin.Tick = ter_Tick; } void ter_Tick(object sender, EventArgs e) { if(wb1.Document==null) { return; } HtmlElement dialog_content_1 = wb1.Document.GetElementById("dialog_content_1"); if (dialog_content_1 == null) { return; } var frame = wb1.Document.Window.Frames[0]; if (frame==null) { return; } if (frame.Document==null) { return; } // iframe HtmlElement u = frame.Document.GetElementById("u"); u.InnerText = "171586098"; HtmlElement p = frame.Document.GetElementById("p"); p.InnerText = "*************"; p.SetAttribute("value", "********"); HtmlElement login_button = frame.Document.GetElementById("login_button"); login_button.InvokeMember("click"); terAutologin.Stop(); } private void Form1_Load(object sender, EventArgs e) { ssl1.Text = string.Empty; txtUrl.Text = "http://user.qzone.qq.com/14371939"; wb1.ScriptErrorsSuppressed = true; wb1.Navigate("http://user.qzone.qq.com/14371939/main"); } private void btnGO_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(txtUrl.Text)) { wb1.Navigate(txtUrl.Text); ssl1.Text = txtUrl.Text " Navigated"; } } private void wb1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { System.Diagnostics.Trace.WriteLine(e.Url.ToString()); // http://g.cnc.qzone.qq.com/cgi-bin/friendshow/cgi_get_visitor_simple?uin=4371939&type=1&mask=3&rd=0.7801240284461528&_=1397644130601&g_tk=9281770 ssl1.Text = e.Url.ToString() " Completed"; tryRead(); } private void btnTest_Click(object sender, EventArgs e) { tryRead(); } private void tryRead() { if (wb1.Document == null) { return; } HtmlElement pagediv = wb1.Document.GetElementById("visitor_list_page_con"); if (pagediv==null) { return; } //若分页内容存在,则表示已经加载过了. if(pagediv.Children.Count>0) { handlerAbc(null,null); return; } //模拟点击 "最近访客" var aa = pagediv.Parent.Parent.FirstChild.Children[2]; aa.InvokeMember("click"); //给访问列表的容器绑定一个事件...回调时就能获取到. HtmlElement guestlist = pagediv.Parent.FirstChild; //ul.RaiseEvent guestlist.AttachEventHandler("onpropertychange", new EventHandler(handlerAbc)); } private void handlerAbc(Object sender, EventArgs e) { HtmlElement div = wb1.Document.GetElementById("visitor_list_page_con"); HtmlElement guestlist = div.Parent.FirstChild; if (guestlist.InnerHtml.IndexOf("QZONE.FrontPage.showLoginBox") > -1) { HtmlElement alogin = guestlist.GetElementsByTagName("a")[0]; alogin.InvokeMember("click"); // 使用定时器.检测登录窗口的出现.. terAutologin.Start(); return; } else { System.Text.StringBuilder sb = new StringBuilder(); // 取回里面的内容? foreach (HtmlElement li in guestlist.Children) { string qq = li.GetAttribute("uin"); string visitname = li.Children[1].FirstChild.InnerText; string visittime = li.Children[1].Children[1].InnerText; sb.AppendLine(qq visitname visittime); } MessageBox.Show(sb.ToString()); } } }}
- 2014-04-18下载
- 积分:1
-
C# 批量重命名文件名 实例源码
C# 批量重命名文件名 实例源码
- 2014-07-09下载
- 积分:1
-
C# 开发海康(实时预览示例)
C# 开发海康(实时预览示例)
- 2021-05-06下载
- 积分:1
-
wpf带箭头的直线(Canvas入门级)
wpf带箭头的直线(Canvas入门级)
- 2019-03-27下载
- 积分:1
-
C# 彩色连珠 小游戏源码
C# 彩色连珠 小游戏源码
- 2015-06-09下载
- 积分:1
-
C语言扫雷小游戏
【实例简介】
扫雷游戏是Windows里一款十分经典的单机小游戏,请你用C程序自己建立一个扫雷小游戏。
系统可以随机产生一个m行n列的雷区,包含若干颗地雷,用户可以挖开一个区域,如果是地雷,游戏结束,失败;
如果不是,显示出它周围的地雷个数,如果能把所有安全的地区找出来,获胜。 注:每个格子周围格有八个:上、下、左、右、左上、右上、左下、右下。
运行结果:
请输入雷区的范围:
3 5
X X X X X
X X X X X
X X X X X
请输入安全的位置:
2 2
X X X X X
X 3 X X X
X X X X X
请输入安全的位置:
3 4
X X X X X
X 3 X X X
X X X O X
很不幸,你踩到雷了,游戏结束!
- 2021-05-18 10:33:03下载
- 积分:1
-
c#图形编程例子源码下载(滚动的球)
c#图形编程例子源码下载(滚动的球)
- 2015-04-23下载
- 积分:1
-
GC 垃圾回收算法
=1,2垃圾回收算法: 托管堆:CLR要求的资源从托管堆分配,任何对象只要没有应用程序的根引用它,都会在某个时刻被垃圾回收器回收 基于代的机制,提高回收的性能,在程序的生命期中,新建的对象是新一代,而创建的比较早的对象是老一代,第0代是最近分配的对象,CLR 使用了0,1,2三代进行管理 =3 GC和调试GcAndDebug.cs =4本地资源终结(finalization)是CLR提供的一种机制,允许对象在垃圾回收器回收其内存之前执行一些得体的清理工作,任何包装了本地资源的类型都必须支持终结操作(实现一个命名为Finalize的方法)。GC判断一个对象是垃圾时,会调用对象的Finalize(实现的情况下),C#中使用~ClassName表示FinalizeIn most cases, you do not need to write classes that derive from the CriticalFinalizerObject class. The .NET Framework class library provides two classes, SafeHandle and CriticalHandle, that provide critical finalization functionality for handle resources. Furthermore, the .NET Framework provides a set of prewritten classes derived from the SafeHandle class, and this set is located in the Microsoft.Win32.SafeHandles namespace. These classes are designed to provide common functionality for supporting file and operating system handles. System.Runtime.ConstrainedExecution 下的 CriticalFinalizerObject 抽象对象,CLR特殊对待 System.Runtime.InteropServices下的派生抽象类 SafeHandle CriticalHandle 和SafeHandle只是引用计数的区别Microsoft.Win32.SafeHandles SafeFileHandle,SafeRegistryHandle ,SafeWaitHandle... SafeProcessHandle SafeLibraryHandle SafeLocalMemHandle SafeThreadHandle等MSDN没有编写,但同样是处理这个问题的 类似的实现的不同类代表不同的资源类型,这么多的类似,主要是为了类型安全SafeHandle的作用:1、以前的IntPtr形式不够健壮,如在IntPtr赋值前可能抛出ThreadAbortException异常,这样托管代码将造成本地资源的泄露2、防止利用潜在的安全漏洞,一个线程访问一个本地资源,另一个线程释放该资源,通过引用计数实现 对托管资源只有在极少数情况下才使用终结器 终结器被调用的时刻:1、第0代满:2、显式调用GC.Collect3、Windows报告内存不足4、CLR卸载AppDomain5、CLR关闭 内部实现使用终结列表保留对象,通过这个GC进行处理, freachable队列 =Dispose终结器的调用时间由GC确定,调用者无法显式调用它Dispose提供了显式清理资源的能力 GCHandle WeakReference System.Runtime.CompilerServices.ConditionalWeakTable 加入时的是对象的WeakReference,因此可能会回收,但可以确保只要key存在,value也是存在的 任何大于85000字节的对象被自动认为是大对象,大对象在大对象堆中分配 ==大量资源GCpublic static void AddMemoryPressure(Int64 bytesAllocated); public static void RemoveMemoryPressure(Int64 bytesAllocated);提示GC实际需要消耗的内存,然后GC监视内存压力,压力变大时,强制回收 System.Runtime.InteropServices HandleCollector 数量有限的本地资源 MemoryFailPoint在需要大量内存前可以先检查是否可以使用这么大的内存 GC的监视代码形式: GC.GetTotalMemory GC.CollectionCountPerMon.exe系统性能监视工具CLR Profiler工具FUSLOGVW.execlrver.exeSvcTraceViewer.exe
- 2012-12-16下载
- 积分:1