精华内容
下载资源
问答
  • JAI相机的VC使用方法设置,代码详细,是图形图像编程的好帮手
  • TinyXML2 VC使用方法

    千次阅读 2013-11-15 22:45:57
    这次使用了TinyXML后,觉得这个东西真是不错,于是将使用方法坐下总结来和大家分享。 该解析库在开源网站( http://sourceforge.net   )上有下载,在本Blog也提供下载( 下载TinyXML ) TinyXML是一个开源的...

    换cocos2d-x版本到2.1.3之后,自己的文件读写也用了引擎CCUserDefault使用的TinyXML2,在这汇总了一下TinyXML2的使用,希望大家看这一篇文章就可以解决自己的问题,省得到处查阅……

    注意,文章一次解释了写操作->读操作->TinyXML2属性介绍,均h3+红色字体表明,如不明白,可以点链接进入原文。。。

    以下是TinyXml的写操作,摘自:http://www.cppblog.com/zhaoyg/archive/2010/03/29/110862.html


    int Write()
    {
    TiXmlDocument doc ;
    TiXmlDeclaration *declare =new TiXmlDeclaration("1.0" , "","");
    doc.LinkEndChild(declare);
    doc.LinkEndChild(new TiXmlComment("群英集团人力资源表"));
    TiXmlElement *root = new TiXmlElement("群英集团");
    TiXmlElement *sub = new TiXmlElement("员工");
    sub->SetAttribute("ID" , "011"); // 向sub中添加属性
    sub->SetAttribute("职位" , "技术总监");
    TiXmlElement *child = new TiXmlElement("姓名"); // 建立子元素
    TiXmlText *content =new TiXmlText("虚竹"); // 建立文本
    child->LinkEndChild(content); // 将建立的文本追加到child所指的子元素中
    sub->LinkEndChild(child); // 将child追加到sub中,以作为子元素
    root->LinkEndChild(sub); // 将sub追加到root中,以作为子元素
    sub = new TiXmlElement("员工");
    sub->SetAttribute("ID" , "029");
    sub->SetAttribute("职位" , "技术总监");
    child = new TiXmlElement("姓名");
    content =new TiXmlText("乔峰");
    child->LinkEndChild(content);
    sub->LinkEndChild(child);
    root->LinkEndChild(sub);
    sub = new TiXmlElement("员工");
    sub->SetAttribute("ID" , "100");
    sub->SetAttribute("职位" , "总架构师");
    child = new TiXmlElement("姓名");
    content =new TiXmlText("扫地僧");
    child->LinkEndChild(content);
    sub->LinkEndChild(child);
    root->LinkEndChild(sub);
    sub = new TiXmlElement("员工");
    sub->SetAttribute("ID" , "101");
    sub->SetAttribute("职位" , "公关部经理");
    child = new TiXmlElement("姓名");
    content =new TiXmlText("韦小宝");
    child->LinkEndChild(content);
    sub->LinkEndChild(child);
    root->LinkEndChild(sub);
    sub = new TiXmlElement("员工");
    sub->SetAttribute("ID" , "102");
    sub->SetAttribute("职位" , "人事部经理");
    child = new TiXmlElement("姓名");
    content =new TiXmlText("黄蓉");
    child->LinkEndChild(content);
    sub->LinkEndChild(child);
    root->LinkEndChild(sub);
    doc.LinkEndChild(root);
    doc.SaveFile("WriteTest.xml");
    return 0;
    }
    输出效果:
    <?xml version="1.0" ?>
    <!--群英集团人力资源表-->
    <群英集团>
    <员工 ID="011" 职位="技术总监">
    <姓名>虚竹</姓名>
    </员工>
    <员工 ID="029" 职位="技术总监">
    <姓名>乔峰</姓名>
    </员工>
    <员工 ID="100" 职位="总架构师">
    <姓名>扫地僧</姓名>
    </员工>
    <员工 ID="101" 职位="公关部经理">
    <姓名>韦小宝</姓名>
    </员工>
    <员工 ID="102" 职位="人事部经理">
    <姓名>黄蓉</姓名>
    </员工>
    </群英集团>

    
    
    注意:
    在网上搜索如何用TinyXml时,本人普遍的发现了类似如下的代码
    TiXmlDocument doc;
    TiXmlElement *ele = new TiXmlElement("test");
    doc.LinkEndChild(ele);
    doc.SaveFile("test.xml");

    也就是只有new而没有delete。
    于是当我第一次写的时候,就很守规矩的按部就班的在doc.SaveFile后面加上了delete ele,而这一加就把问题加出来了,程序直接在运行时崩掉了。
    后来才知道,人家那样写是有原因的。当析构时,tinyxml会对所有已经连接进来的节点进行释放,所以不需要手动的去释放所new出来的东西,而如果TiXmlDocument对象也是new出来的,则需要对TiXmlDocument对象执行delete。

    ——-cocos2d-x[2.1.3]——-奉献Demo[self]————–

    bool FDTinyXML2::createXMLFile()
    {
    bool bRet = false;
    tinyxml2::XMLDocument *pDoc = new tinyxml2::XMLDocument();
    if (NULL == pDoc) {
    return false;
    }
    tinyxml2::XMLDeclaration *pDeclaration = pDoc->NewDeclaration("xml version=\"1.0\" encoding=\"UTF-8\"");
    if (NULL == pDeclaration) {
    return false;
    }
    pDoc->LinkEndChild(pDeclaration);
    tinyxml2::XMLElement *pRootEle = pDoc->NewElement(FDTinyXML2_ROOT_NAME);
    if (NULL == pRootEle) {
    return false;
    }
    pDoc->LinkEndChild(pRootEle);
    tinyxml2::XMLElement *subGroundGrass = pDoc->NewElement("groundGrass");
    tinyxml2::XMLText *content = pDoc->NewText("content:groudText");
    subGroundGrass->LinkEndChild(content);
    CCLog("%s",subGroundGrass->GetText());
    pRootEle->LinkEndChild(subGroundGrass);
    tinyxml2::XMLElement *subGroundSoil = pDoc->NewElement("groundSoil");
    subGroundSoil->SetAttribute("soil-attribute", "text:soil");
    pRootEle->LinkEndChild(subGroundSoil);
    bRet = tinyxml2::XML_SUCCESS == pDoc->SaveFile(m_sFilePath.c_str());
    if (pDoc) {
    delete pDoc;
    }
    return bRet;
    }

    ————————-奉献Demo—–END——————

    以下是TinyXml的读操作,摘自:http://blog.csdn.net/qp120291570/article/details/8491154

    读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。 TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。 DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系。

    不过官方的文档并不是很完善,例子更是不知所云…然后就有了下面的内容。

    这里用的是TinyXML2,相比于TinyXML1,它更小,更轻量,内存的使用也更加有效。

    1.配置TinyXML2

    这里把项目弄下来,然后解压,我们之需要里面的tinyxml2.h和tinyxml2.cpp,将他们拷到工程目录里面。

    2.HelloWorld

    在项目中创建test.xml,内容如下:
    创建main.cpp

    
    
    #include <iostream>
    #include"tinyxml2.h"
    using namespace std;
    using namespace tinyxml2;
    void example1()
    {
    XMLDocument doc;
    doc.LoadFile("test.xml");
    const char* content= doc.FirstChildElement( "Hello" )->GetText();
    printf( "Hello,%s", content );
    }
    int main()
    {
    example1();
    return 0;
    }
    编译运行:
    
    
    3.稍微复杂一些的例子
    下面这个例子的场景更可能在工程中遇到,就是在XML中存储一些数据,然后由程序来调用。
    <?xml version="1.0"?>
    <scene name="Depth">
    <node type="camera">
    <eye>0 10 10</eye>
    <front>0 0 -1</front>
    <refUp>0 1 0</refUp>
    <fov>90</fov>
    </node>
    <node type="Sphere">
    <center>0 10 -10</center>
    <radius>10</radius>
    </node>
    <node type="Plane">
    <direction>0 10 -10</direction>
    <distance>10</distance>
    </node>
    </scene>

    #include <iostream>
    #include"tinyxml2.h"
    using namespace std;
    using namespace tinyxml2;
    void example2()
    {
    XMLDocument doc;
    doc.LoadFile("test.xml");
    XMLElement *scene=doc.RootElement();
    XMLElement *surface=scene->FirstChildElement("node");
    while (surface)
    {
    XMLElement *surfaceChild=surface->FirstChildElement();
    const char* content;
    const XMLAttribute *attributeOfSurface = surface->FirstAttribute();
    cout<< attributeOfSurface->Name() << ":" << attributeOfSurface->Value() << endl;
    while(surfaceChild)
    {
    content=surfaceChild->GetText();
    surfaceChild=surfaceChild->NextSiblingElement();
    cout<<content<<endl;
    }
    surface=surface->NextSiblingElement();
    }
    }
    int main()
    {
    example1();
    return 0;
    }

    运行结果

    解释一下几个函数:

    FirstChildElement(const char* value=0):获取第一个值为value的子节点,value默认值为空,则返回第一个子节点。

    RootElement():获取根节点,相当于FirstChildElement的空参数版本;

    const XMLAttribute* FirstAttribute() const:获取第一个属性值;

    XMLHandle NextSiblingElement( const char* _value=0 ) :获得下一个节点。

    ——-cocos2d-x[2.1.3]——-奉献Demo[self]————–

    void FDTinyXML2::readXML()
    {
    tinyxml2::XMLDocument *pDoc = new tinyxml2::XMLDocument();
    tinyxml2::XMLElement *rootNode = NULL;
    tinyxml2::XMLElement *curNode = NULL;
    const tinyxml2::XMLAttribute *curAttribute = NULL;
    do {
    unsigned long nSize;
    const char *pXmlBuffer = (const char*)CCFileUtils::sharedFileUtils()->getFileData(m_sFilePath.c_str(), "rb", &nSize);
    if (NULL == pXmlBuffer) {
    break;
    }
    pDoc->Parse(pXmlBuffer);
    rootNode = pDoc->RootElement();
    if (NULL == rootNode) {
    break;
    }
    curNode = rootNode->FirstChildElement();
    XMLElement *secondNode = curNode->NextSiblingElement();
    CCLog("---------------Test------------------");
    CCLog("GetText():%s",secondNode->GetText());
    CCLog("Name():%s",secondNode->Name());
    CCLog("Value():%s",secondNode->Value());
    CCLog("---------------Test------------------");
    curAttribute = curNode->FirstAttribute();
    while (NULL != curNode) {
    CCLog("GetText():%s",curNode->GetText());
    CCLog("Value():%s",curNode->Value());
    while (NULL != curAttribute) {
    CCLog("curAttribute->Name():%s",curAttribute->Name());
    CCLog("curAttribute->Value():%s",curAttribute->Value());
    curAttribute = curAttribute->Next();
    }
    curNode = curNode->NextSiblingElement();
    if (curNode) {
    curAttribute = curNode->FirstAttribute();
    }
    CCLog("---------------END----------------");
    }
    if (pDoc) {
    delete pDoc;
    }
    } while (0);
    }
    

    ————————-奉献Demo—–END——————

    以下是各种元素的解释,摘自:http://www.cnblogs.com/freecoder/archive/2006/08/07/TinyXmlStapleA.html

    这次使用了TinyXML后,觉得这个东西真是不错,于是将使用方法坐下总结来和大家分享。
    该解析库在开源网站(http://sourceforge.net )上有下载,在本Blog也提供下载(下载TinyXML
    TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这课XML树。
    注:DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系(理解html语言的读者会很容易理解这种树状模型)。

    如下是一个XML片段:

    <Persons>
    < Person ID=”1″>
    < name>周星星</name>
    < age>20</age>
    < /Person>
    < Person ID=”2″>
    < name>白晶晶</name>
    < age>18</age>
    < /Person>
    < /Persons>
    在TinyXML中,根据XML的各种元素来定义了一些类:
    TiXmlBase:整个TinyXML模型的基类。
    TiXmlAttribute:对应于XML中的元素的属性。
    TiXmlNode:对应于DOM结构中的节点。
    TiXmlComment:对应于XML中的注释。
    TiXmlDeclaration:对应于XML中的申明部分,即<?versiong=”1.0″ ?>。
    TiXmlDocument:对应于XML的整个文档。
    TiXmlElement:对应于XML的元素。
    TiXmlText:对应于XML的文字部分。
    TiXmlUnknown:对应于XML的未知部分。
    TiXmlHandler:定义了针对XML的一些操作。

    那我们如何使用这些类以及他们的方法来操纵我们的XML呢?请看下面。
    一、读取XML(假设我们的Xml文档中的内容与上面的Xml内容一样)

    //创建一个XML的文档对象。
    TiXmlDocument *myDocument = new TiXmlDocument("填上你的Xml文件名");
    myDocument->LoadFile();
    //获得根元素,即Persons。
    TiXmlElement *RootElement = myDocument.RootElement();
    //输出根元素名称,即输出Persons。
    cout << RootElement->Value() << endl;
    //获得第一个Person节点。
    TiXmlElement *FirstPerson = RootElement->FirstChildElement();
    //获得第一个Person的name节点和age节点和ID属性。
    TiXmlElement *NameElement = FirstPerson->FirstChildElement();
    TiXmlElement *AgeElement = NameElement->NextSiblingElement();
    TiXmlAttribute *IDAttribute = FirstPerson->FirstAttribute();
    //输出第一个Person的name内容,即周星星;age内容,即20;ID属性,即1。
    cout << NameElement->FirstChild()->Value << endl;
    cout << AgeElement->FirstChild()->Value << endl;
    cout << IDAttribute->Value() << endl;

    看,读取XML是不是很简单阿,和Java的XML解析库非常的相似,就是名字改了一下而已。

    二、生成XML内容

    //创建一个XML的文档对象。
    TiXmlDocument *myDocument = new TiXmlDocument();
    //创建一个根元素并连接。
    TiXmlElement *RootElement = new TiXmlElement("Persons");
    myDocument->LinkEndChild(RootElement);
    //创建一个Person元素并连接。
    TiXmlElement *PersonElement = new TiXmlElement("Person");
    RootElement->LinkEndChild(PersonElement);
    //设置Person元素的属性。
    PersonElement->SetAttribute("ID", "1");
    //创建name元素、age元素并连接。
    TiXmlElement *NameElement = new TiXmlElement("name");
    TiXmlElement *AgeElement = new TiXmlElement("age");
    PersonElement->LinkEndChild(NameElement);
    PersonElement->LinkEndChild(AgeElement);
    //设置name元素和age元素的内容并连接。
    TiXmlText *NameContent = new TiXmlText("周星星");
    TiXmlText *AgeContent = new TiXmlText("20");
    NameElement->LinkEndChild(NameContent);
    AgeElement->LinkEndChild(AgeContent);
    //保存到文件
    myDocument->SaveFile("要保存的xml文件名");
    这样,便创建了一个如下的xml文件:


    <Persons>
    <Person ID=”1″>
    <name>周星星</name>
    <age>20</age>
    </Person>
    <Person ID=”2″>
    <name>白晶晶</name>
    <age>18</age>
    </Person>
    </Persons>




    
    
    


    
    
    展开全文
  • vc6.0 使用方法

    2011-04-07 11:15:39
    vc6.0使用方法vc6.0使用方法vc6.0使用方法vc6.0使用方法vc6.0使用方法
  • VC6使用方法

    2011-10-15 00:11:47
    有图讲解的VC6使用方法 易于学习 非常有用
  • VC6.0使用方法

    2012-09-21 08:56:34
    visual_c++_6.0使用方法,VC6.0是大部分学校使用的环境,适用于学习。
  • vc 数据库使用方法

    2013-11-27 16:12:51
    1. vc使用mysql数据库  mysql数据库的使用和普通的库使用方法一样。将其头文件目录和库文件目录在tools下面的option里面添加。然后将mysql.h的头文件加入到stdafx.h中。如果在工程设置中没有添加了依赖项libmysql....

     

     

    1. vc使用mysql数据库

        mysql数据库的使用和普通的库使用方法一样。将其头文件目录和库文件目录在tools下面的option里面添加。然后将mysql.h的头文件加入到stdafx.h中。如果在工程设置中没有添加了依赖项libmysql.lib,则需要添加#progama comment(lib,"libmysql.lib"). 如果仍然编译不过,则添加头文件 #“winsock.h" 。然后其中的mysql可以使用。接口在mysql.h中。

     

    2.vc ado连接excel

      ado在windows系统下其库默认在c:\program files\common files\system\ado\msado15.dll 。将其导入;在stdafx.h中加入#import "c:\program files\common files\system\ado\msado15.dll"  no_namespace  rename ("EOF", "adoEOF") 

     

      然后使用。

    如下:

     CoInitialize(NULL);
     _ConnectionPtr pConn(_uuidof(Connection));
     _RecordsetPtr pRst(_uuidof(Recordset));
     _CommandPtr pCmd(_uuidof(Command));

     pConn->ConnectionString = "Provider = Microsoft Jet.OLEDB.4.0;Data source=student.mdb";
     pCmd->put_ActiveConnection(_variant_t((IDispatch*)pConn));
     pCmd->CommandText = "select * from stu";
     pRst = pCmd->Execute(NULL,NULL,adCmdText);
     while(!pRst->adoEOF)
     {
      //((CListBox*)GetDlgItem(IDC_LIST1)->AddString((_bstr_t)pRst->GetCollect("学号")));
      pRst->MoveNext();
     }
     pRst->Close();

     pConn->Close();
     pCmd->Release();
     pRst.Release();
     pConn.Release();
     CoUninitialize();

     

     

    3. odbc 使用 添加头文件#include "C:\Program Files\Microsoft Visual Studio\VC98\MFC\Include\AFXDB.H"

    使用的都在afxdb.h中 具体参考

    参考:http://wenku.baidu.com/link?url=jXaVXLRIt5A0CU-pYKlC8XB9qHz8Ck8eDlSRRxmN_4lDFErW2LqaJQO5ufmzPceZ6Nk8U-REEO0k1YcQZxGVzwJmxWhdNbfpib2ZPCXcNPC

     

     

     
    展开全文
  • VC_CListCtrl使用方法

    2011-03-15 23:34:31
    VC_CListCtrl使用方法,我是在MFC的对话框模式下使用CListCtrl控件的,其实不管在SDK或文档/视图模式下,VC控件的使用都差不多,下面来好好的写写CListCtrl控件的使用笔记。
  • VC使用GDI+的方法.

    2012-07-27 13:23:12
    VC使用GDI+的方法.
  • VC高精度多媒体定时器使用方法

    千次阅读 2017-10-08 15:45:48
    VC高精度多媒体定时器使用方法
    在VC编程中,用SetTimer可以定义一个定时器,到时间了,就响应OnTimer消息,但这种定时器精度(OnTimer)太低了。如果需要精度更高一些的定时器(精确到1ms),可以使用下面的高精度多媒体定时器进行代码优化,可以达到毫秒级的精度,而且使用方便。
    多媒体定时器涉及到的几个重要的函数,具体说明见MSDN!
    功能:获得计时器所支持的解析度范围。
    1)MMRESULT timeGetDevCaps( LPTIMECAPS ptc, UINT cbtc );
    功能:调整计时器的解析度,用在启动计时器之前。
    2)MMRESULT timeBeginPeriod( UINT uPeriod );
    功能:调整计时器的解析度,用在结束计时器之后。这两个函数通常是成对出现。
    3)MMRESULT timeEndPeriod( UINT uPeriod );
    功能:设置并启动一个计时器
    参数:uDelay:以毫秒指定事件的周期。
       Uresolution:以毫秒指定延时的精度,数值越小定时器事件分辨率越高。缺省值为1ms。
       LpTimeProc:指向一个回调函数。
       DwUser:存放用户提供的回调数据。
       FuEvent:指定定时器事件类型:
       TIME_ONESHOT:uDelay毫秒后只产生一次事件
       TIME_PERIODIC :每隔uDelay毫秒周期性地产生事件。
    4)MMRESULT timeSetEvent( UINT uDelay, UINT uResolution, LPTIMECALLBACK lpTimeProc, DWORD_PTR dwUser, UINT fuEvent );
    功能:取消一个定时器,uTimerID标识要取消的事件(由timeSetEvent函数返回的标识符)。如果成功则返回TIMERR_NOERROR,如果定时器时间不存在则返回MMSYSERR_INVALPARAM。
    5)MMRESULT timeKillEvent( UINT uTimerID );
    6)回调函数
        void   CALLBACK   TimeProc(    
        UINT   uID,    
        UINT   uMsg,    
        DWORD   dwUser,    
        DWORD   dw1,    
        DWORD   dw2);    
      该函数是一个应用程序定义的回调函数,出现定时器事件时该函数被调用。TimeProc是应用程序定义的函数名的占位符。使用该函数  
      时要注意的是,它只能调用以下有限的几组API函数:PostMessage,timeGetSystemTime,   timeGetTime,   timeSetEvent,timeKillEvent  
      ,midiOutShortMsg,   midiOutLongMsg,OutputDebugString。同时也不要使用完成时间很长的API函数,程序尽可能简短。
    注意以下几点问题:
    1、回调函数的参数不能有误,否则可能引起程序崩掉;
    2、事件调用周期uDelay不能小于事件处理时间,否则会引起程序崩溃;
    3、timeKillEvent 关掉定时器的函数,一定要一一对应,每次timeSetEvent返回的定时器的ID是不一样的。
    4、SetTimer/timeSetEvent不能跨线程使用。
    5、不要忘记加上以下头文件和动态链接库。
    #include <Mmsystem.h>
    #pragma comment(lib,"Winmm.lib")
    VC实例
    // MMTimerTest.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include <windows.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <Mmsystem.h>
    #pragma comment(lib,"Winmm.lib")
    
    const int timePeriod = 15;
    const int timeRes = 1;
    
    MMRESULT gTimerId = NULL;			//定时器id
    
    void  CALLBACK TimeEvent(UINT uTimerID, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2)
    {
    	printf("time ID is %d, started,dwUser is %d\n",gTimerId, dwUser);
    	return;
    }
    
    int main(int argc, char* argv[])
    {
    	gTimerId = timeSetEvent(timePeriod,timeRes,(LPTIMECALLBACK)TimeEvent,0,TIME_PERIODIC);
    	if(gTimerId == NULL)
    	{
    		printf("timer is not created\n");
    		return 0;
    	}
    	
    	int i = 0;
    	while(true)
    	{
    		Sleep(1100);			//模拟操作
    		printf("test....\n");
    		i++;
    		if (i == 10)
    		{
    			break;
    		}
    	}
    	timeKillEvent(gTimerId); 
    
    	return 0;
    }
    
    

    展开全文
  • win10 使用vc6解决方法

    2017-03-08 09:39:33
    win10 使用vc6解决方法
  • VC使用ADO操作数据库的方法,此WORD文档初步介绍了VC环境中使用ADO技术访问数据库的方法。适合初学者。。
  • VC 使用区域剪裁方法实现椭圆图片,操作对象是BMP位图,当然,把图片显示成椭圆的形状,不只是就这一种方法,不过这种方法似乎也不错,多学一种方法毕竟很有用吧。
  • vc6使用方法

    千次阅读 2013-11-19 15:02:47
    方法1:可以新建一个工程(project),选win32 console application,右边写上工程名字,确定、an empty project、finish、OK; file->new; 选c++ source file, add to project;起名;确定;然后就可以编辑了...

     

    1.新建文件

    执行“文件/File”->“新建/New”,打开“文件ain/files”选项卡。先在“文件ain/file”栏中输入xx.c,(xx代表你的文件名),在“目录/location”框中选个目录,如“D:\”。然后选中“C++ Sourse Files”,单击“确定/OK”

    2.编辑和保存

    在编辑窗口中输入原代码,然后执行“文件/File”->“保存/Seva”或“文件/File”->”另存为/Seva As“,保存这个文件

    3.编译

    执行“编译/Build”->“编译.Compile”或按Ctrl+F7组合键,在“产生工作区”(就是跳出来的第一个对话框,具体是什么忘记了),选择“是/Yes”开始编译。。。

    如果信息窗口中出现“xxx.obj -0 error(s),0 warning(s)”,表示编译正确,没有语法错误,并生成目标文件xx.obj

    当有错误时,“xxx.obj -Y error(s),0 warning(s)”,Y检测到表示几个错误,当并不一定有这么多的错误

    6.连接

    执行“编译/Build”->“构件/Build”或按Ctrl+F5,也可以“重建全部/Rebuild All”

    7.运行

    执行“编译/Build”->“执行/Execute”或按Ctrl+F5,自动弹出结果

     

     

    文件(file)-> 新建(new):

    方法1:可以新建一个工程(project),选win32 console application,右边写上工程名字,确定、an empty project、finish、OK; file->new; 选c++ source file, add to project;起名;确定;然后就可以编辑了(ctrl+f5执行)。

    方法2:直接新建一个file(c++ source file),编辑程序,编译、连接、运行(ctrl+f5)。

    运行包括编译,连接,运行;这些都在build菜单里面。

    展开全文
  • VC Spin Button使用方法

    千次阅读 2016-05-20 15:06:06
    这里介绍一个 编辑框+Spin Button 的使用方法
  • teechart 在VC中的使用方法 都是一些相关介绍的网页
  • 一个,VC 串口通讯类使用方法例子,源码编译运行截图如图所示,自己看吧,串口相关操作的VC 源码。
  • 讲述了vc数据库编程详细的使用方法,适合入门级程序员参考。
  • VC 6.0使用方法(精品简约).doc
  • #include "stdafx.h" #include ...//静态库的使用方法,还需要将生成的静态库拷贝到当前工作目录下。主意静态库的编译方式要与当前项目的保持一致 #pragma comment(lib, "json_vc71_libmtd.lib") int
  • vc使用lib方法

    2012-01-07 11:03:34
    vc6.0 中使用lib文件 使用库的方法如下: 1. 包含库的头文件 在应用程序工程中使用 #include "file path" file path可以为绝对路径,也可以为相对于工程所在目录的相对路径 如果头文件比较多,可以在project>...
  • 使用DateTimePicker控件一般是获 取其时间替代手工输入带来的不便,而DateTimePicker控件既可以获取日期(2010-03-05)也可以获取时间(16:27:33),要获 取日期只需要更改控件属性的格式为长日期或短日期,要获取...
  • BasicExcel使用方法VC读取Excel方法

    千次阅读 2012-11-13 14:12:38
    使用VC读取Excel电子表格的类,这个比较方便: BasicExcel下载 刚开始弄的时候一编译全是错误。 那个demo没有给工程文件夹(是不是有点坑爹) 这里说一下方法: 1、自己建立一个VC工程,或者VC6.0直接打开 ...
  • VC Combobox 的使用方法

    2010-09-09 09:58:00
    VC Combobox 的使用方法 一、如何添加/删除ComboBox内容 1. 在ComboBox控件属性的Data标签里面添加,一行表示ComboBox下拉列表中的一行。换行用ctrl+回车。 2. 在程序初始化时动态添加  如:...
  • VC CListCtrl控件的使用方法

    千次阅读 2016-07-23 10:41:35
    VC使用控件一直是件让我头痛的事件,从控件的创建到控件的操作管理,都得写一大堆代码,相比于Delphi/VB,实在是麻烦多了。其实在之前学习SDK的时候,就有想过专门花点儿时间来学习VC中控件的使用,但一直没空。...
  • VC中CButtonST使用方法

    千次阅读 2012-08-06 10:00:24
    CButtonST是一个功能强大的类,他可以产生各种不同风格的Button按钮,可以在实际...下面是使用方法。 1、创建一个Button控件并为之关联一个Control变量 。 2、修改Button控件的父类为CButtonST  //{{AFX_DATA(CXXD
  • VC使用MySql的方法

    千次阅读 2017-12-16 11:43:50
    VC使用MySql的方法博客分类: 数据库 MySQLVC++SQLSQL ServerC# [/size] 在做对比mysql和sqlite数据对比工作时候,我用C++编程来实现时候遇到了些问题,首先就是怎么在C++里把mysql的数据读出来,现在解决如下...
  • 很好用的CC++样式格式化工具,支持VC6和VC2008使用方法。用过VC2008、和VC6开发c、C++程序的都知道,编译器对代码的格式化做的确实不怎么好,怎么看都没有C#看起来舒服。看了这篇文章,相信你一定能解决这个问题,...
  • VC_SkinMagic使用方法总结

    千次阅读 2015-09-09 10:39:26
    一直以来总想为自己用VC6做的程序美容一下,于是便找到这款skinmagic,虽然网上有许多关于此软件的使用说明,但实际使用过程中总会遇到一些问题,经过反复摸索和总结,于是便有了此文,希望对您有所帮助。...
  • VC专用SSK皮肤,包含使用方法和库
  • VC使用ADO操作数据库的方法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,577
精华内容 3,430
关键字:

vc使用方法