精华内容
下载资源
问答
  • 使用JCom的时候,你可以在Java控制几乎所有的COM对象,而且它还带有一些用于Excel的强大的辅助类。 你每次编写用HTML表格样式或Java表格对象显示数据的应用程序的时候,通常都需要带有"导...

    通过使用COM技术,我们用微软Office应用程序能够建立很多应用程序扩展,但是Java开发人员却无法享受它带来的便利--除非他们拥有方便的Java访问COM的途径(Java-to-COM桥)。使用JCom的时候,你可以在Java中控制几乎所有的COM对象,而且它还带有一些用于Excel的强大的辅助类。

      在你每次编写用HTML表格样式或Java表格对象显示数据的应用程序的时候,通常都需要带有"导出到Excel"功能。那么头疼的问题就出现了。怎么样实现这种功能呢?在HTML中显示的可以在Office2003中处理吗?没有这么好!你还必须支持Office97!

      你只能去找一个符合当前需求的工具了,但是接着收到更多的要求了。"这能在Word中做到吗?PowERPoint能做到吗?能不能用调制解调器拨号到远程服务器上并发布数据?Java无法实现这些功能是什么意思啊?Java可以实现任何功能。"

      感谢作为Java和COM桥梁的框架组件,它使你在遇到这些情况的时候都可以回答"Yes"。Java-COM桥梁使你能够根据自己的需要操作Windows组件--以前这是VB、C 和.net开发人员的领地。你通过实现一个与DCOM后端(backend)对话的Java前端(frontend),可以远离端对端(end-to-end)的COM系统。在本文的末尾,你可以使用其中一个Java-to-COM桥:它可以被命名为JCom。 

      Excel基础知识

      开始之前,你需要首先从Sourceforge网站下载API。它包含了JCom所使用的Java类的所有源代码、C 代码和JCom用于配置Java和COM的编译好的DLL。把这个DLL放到你的Java主目录的/bin/目录下面,否则会出现问题。同时,为了不出现问题,还要正确地设置JAVA_HOME环境变量。JCom的大多数文档目前都是用日语写的,但是翻译工作正在进行中,因此以后会有些改进的。

      下载和安装过程完成以后,用列表1中的代码试一试。这段代码会建立到Excel的JCom接口,并把"HelloWorld"写入第一个单元格中。你可以看到如图1所示的结果。尽管JCom是一个通用的COM类库,但是还是带有很多用于Excel的辅助类,这是因为Excel可能是最常用的自动化COM应用程序。这些辅助类可以为我们节省很多时间,它们使JCOM成为一个更好的类库了。

     

    importjp.ne.so_net.ga2.no_ji.jcom.excel8.*;
    importjp.ne.so_net.ga2.no_ji.jcom.*;
    
    publicclasstestSimple
    {
    publicstaticvoidmain(String[]args)throwsException{
    ReleaseManagerrm=newReleaseManager();
    try{
    System.out.println("EXCELisStarting...");
    ExcelApplicationexcel=newExcelApplication(rm); 
    excel.Visible(true);
    ExcelWorkbooksxlBooks=excel.Workbooks();
    ExcelWorkbookxlBook=xlBooks.Add();
    ExcelWorksheetsxlSheets=xlBook.Worksheets();
    ExcelWorksheetxlSheet=xlSheets.Item(1);
    ExcelRangexlRange=xlSheet.Cells();
    xlRange.Item(1,1).Value("Hello,World!");
    }
    catch(Exceptione){e.printStackTrace();}
    finally{rm.release();}
    }
    }

     

    图1:Java中使用Excel的第一个COM自动化
      如果曾经使用VB或VBA来自动化Excel,那么你应该很熟悉列表1中的代码了。ExcelApplication类暴露了Workbooks()属性,它列举出Excel中当前打开的工作薄(workbook),并允许你向运行的Excel副本增加或删除工作薄。使用.Add()方法增加工作薄,这个方法会返回一个工作薄的引用。

      在Excel中工作薄用于保存输入的数据。工作薄是XLS文件的基础。一个工作薄由多个工作表(worksheet,在图1中有三个工作表,分别叫做Sheet1、Sheet2和Sheet3)。工作表通过Item属性来枚举。你可以使用这个属性访问特定的工作表。在图1中,Sheet1是第一个工作表,因此你可以使用xlSheets.Item(1)来获取对它的引用。

    有了工作表之后,你就可以使用range(范围)来操作它上面的数据。Range是一个单元格或多个单元格。例如,单元格A1可以使用range(1,1)来引用,接着可以使用Value属性把数据载入单元格中。

      更有意义的例子

      假设你希望把Excel作为数据库中某些数据的表现层。在Java中你希望通过JDBC获取数据,并把数据显示在Excel前端。这种假设是很好的,因为复杂业务逻辑中的用例(usecase)已经用Excel前端显示了,更不用说工作流中的其它的数据项的显示和交互操作了。现在你不需要了解业务逻辑或分析,就可以使用原始的电子表格,并使用Java中的自动化来"填充它们之间的裂痕"。

      我将给出一个演示这种操作的简单示例:本文下载中所包含的内容是建立比较销售行为的一个简单的MySQL数据库的。它有三个表:

      ·Sales是销售的细节信息,包括销售项、数量、销售价格、是谁销售的以及销售地区。

      ·People包含销售人员的姓名和佣金。

      ·Districts包含了销售地区的名称和税率。

      生成报表的时候,你需要使用下面的业务逻辑来算出真正的数值:

      ·毛销售额等于销售项乘以销售价格加上地税金额。

      ·纯销售额等于毛销售额减去销售人员提取的税前佣金。 

      这都是一些在Java中可以实现的简单直接的计算过程,但是我在本文中使用它们的目的是演示如何把这些数据写入Excel电子表格并让Excel自动计算。对于更复杂的情况(使用了更复杂的Excel公式),原理也是一样的。

      此外,下载的内容中还包含了如图2所示的电子表格。它是作为"模板"供你填充适当的数据的电子表格。


    图2:用于前端填充数据的Excel模板
      使用JCOM的时候,查询数据库中所有销售数据需要使用下面的SQL:

    SELECTsales.id,sales.description,sales.quantity,sales.price,districts.districtname,districts.salestax,people.name,people.commission
    FROM'sales','districts','people'
    WHERE(sales.district=districts.id)AND(sales.salesperson=people.id)

      接着使用自动化(automation)把每条记录都写入Excel电子表格的适当的列中。下载的内容中包含了完整的代码(列表2所示)。在下面的部分,我将为你解释代码中使用JCOM的自动化部分。

      列表2:从数据库中获取数据并载入Excel中的代码

    在列表2的第一部分中,其目标是获取希望修改的单元格的控制权。这会花费了一定的开销。

    //首先建立Excel的引用
    ExcelApplicationexcel=newExcelApplication(rm);
    
    //使它可视
    excel.Visible(true);
    //接着打开我们将使用的模板工作薄
    ExcelWorkbooksxlBooks=excel.Workbooks();
    ExcelWorkbookxlBook=xlBooks.Open("c:\\sales.xls");
    //接着获取我们将修改的范围的引用
    ExcelWorksheetsxlSheets=xlBook.Worksheets();
    ExcelWorksheetxlSheet=xlSheets.Item(1);
    ExcelRangexlRange=xlSheet.Cells();
    
    …
    //此处放置数据库链接和查询建立代码
    …
    
    if(stmt.execute(strSql))
    {
     rs=stmt.getResultSet();
    }
    intnColCount=rs.getMetaData().getColumnCount();
    intnRow=1;
    intnCol=0;
    //在记录集中循环
    while(rs.next())
    {
     //记录集中的每行都是电子表格中的一行
     nRow ;
     for(inti=1;i<=nColCount;i )
     {
      //匹配DB列和电子表格列
      nCol=getExcelColumn(i);
      //查找于行和列对应的单元格,并把它设置为适当的记录集字段
      xlRange.Item(nRow,nCol).Value(rs.getObject(i).toString());
     }
     //填入公式
     xlRange.Item(nRow,7).Value("=RC[-2]*RC[-1]");
    xlRange.Item(nRow,9).Value("=RC[-2]*RC[-1]/100");
     xlRange.Item(nRow,10).Value("=RC[-3] RC[-1]");
     xlRange.Item(nRow,11).Value("=RC[-4]*((100-RC[2])/100)");
    }
     
      ·首先你必须获取表现Excel本身的对象,有了JCOM辅助类的帮助以后,这一步操作相当直接。

    ExcelApplicationexcel=newExcelApplication(rm);  
      ·下一步,你希望获取对工作薄集合的访问权。你希望打开自己的模板工作薄(本示例中这个模板在C:\sales.xls中),在工作薄集合中打开它。

    ExcelWorkbooksxlBooks=excel.Workbooks();
      ·下一步,你希望打开自己的工作薄并获取该工作薄集合的引用。

    ExcelWorkbookxlBook=xlBooks.Open("c:\\sales.xls");
    ExcelWorksheetsxlSheets=xlBook.Worksheets();
      ·最后,你希望获取集合中的第一个工作表,并把工作范围定义为整个工作表。

    ExcelWorksheetxlSheet=xlSheets.Item(1);
    ExcelRangexlRange=xlSheet.Cells();
      完成这些工作以后,你的xlRange对象将允许你在单元中放入值和公式了。通过在前面的记录集(从提交给数据库的SQL命令中返回的)中循环,使用xlRange.Item(nRow,nCol).Value("whatever")语法,逐行逐列地把记录集中的值插入到电子表格中(语法中的whatever来自于记录集)。通过使用rs.getObject(i).toString可以得到当前行中I列的值。通过使用rs.movenext(),当前行一直向后移动,直到记录集的末尾。 

      你在列表2中可能会注意到一个奇怪的函数调用:

    nCol=getExcelColumn(i);
      这是一个简单的辅助函数,它把记录集中的列编号与Excel中存放数据的位置进行匹配。例如,如果你再次查看上面的SQL语句,佣金费率将返回到第8列。在电子表格中,存放它的列是第13列。这个函数用于处理两者之间的转换。更复杂的应用程序可以使用Excel中的命名(named)范围来匹配列,但是这超出了本文的范围。

      最后,应用程序把公式输入适当的单元中。它是使用Excel的R1C1符号来实现的,因此相应的字符串是用于描述公式的。在Excel中,假设你希望把第1行中A列的值与B列的值相加,然后放到C列中,那么你就需要在C列中输入公式"=A1 B1"。如果在第二行你也希望这样操作,那么可以复制和粘贴这个公式,它会自动地更新为"=A2 B2"。

      从示例程序中得到这些值需要一些字符串操作,但是如果使用"R1C1"相关的转换就非常直接了。在本文的例子中,你在C1中输入公式的时候,不需要给出"=A1 B1"引用,而是给出"=RC[-2] RC[-1]"引用,它的意思是把向前两列的值与向前一列的值相加。

      当你移动了其它行的时候,这个公式的值不会发生改变,因此它使我们生成程序所需要的值非常简单了。这也是我用于计算总销售额、销售税金、毛销售额和纯销售额的方法,如下所示:



    xlRange.Item(nRow,7).Value("=RC[-2]*RC[-1]");
    xlRange.Item(nRow,9).Value("=RC[-2]*RC[-1]/100");
    xlRange.Item(nRow,10).Value("=RC[-3] RC[-1]");
    xlRange.Item(nRow,11).Value("=RC[-4]*((100-RC[2])/100)");
      运行这段代码将得到图3所示的电子表格。


    图3:公式:Excel显示了数据库查询的输出信息
      请注意,这是一种比较好的工程学经验,即不要在应用程序中包含公式,因为公式可能随时改变,而你肯定不希望在改变公式的时候就去改变自己的代码。这种办法使每个新数据行成为包含公式的已有数据行的副本。模板电子表格(sales.xls)包含了假数据,并在第二列中包含了公式(第一列包含了列标题)。因此,当你填充每行的时候,在你填入数据库值的之前线复制这一行的内容。通过这种办法,公式通过复制进入了新数据行,并且你不需要在Java代码中包含任何业务逻辑。我们看一看salesReport2.java文件(也在下载内容中)中的内容,你可以发现,我们并没有使用前面所说的公式,而是在While循环顶部使用了下面的代码:


    if(nRow>1)
    {
     StringstrDest="A" (nRow 1);
     ExcelRangexlRange2Copy=xlSheet.Range("A2:M2");
     xlRange2Copy.Copy(xlSheet.Range(strDest));
    }
      除了第一行之外(第一行不需要处理,这样的信息已经包含在sales.xls中了),这段代码将处理A2到M2之间的单元,并把它们复制到nRow 1标识的数据行中(nRow是当前行的编号)。加上1的原因是计算了列标题(列标题在第一行)。

      超越Excel

      请记住JCOM是用于COM的而不仅仅是用于Excel的。你可以使用这种工具在Java中控制几乎所有的COM对象。Excel是最常见的被控制对象,因为有很多很好的辅助类可以让它更简单,但是所有的COM组件都是可以使用的。因此控制其它的应用程序(例如Word和PowERPoint)也是直接的。

      下面是使用Word的一个例子:

    IDispatchwdApp=newIDispatch(rm,"Word.Application");
    wdApp.put("Visible",newBoolean(true));
      由于没有用于Word的直接的辅助类,每个部分都必须通过使用IDispatch对象来实现(用于Excel的下层辅助类也是这样实现的)。上面的代码将载入微软Word副本,并通过wdApp对象使它可以自动化操作。接着你可以使用类似"put"(设置属性)或"method"(调用方法)等方法来使用Word。例如,上面的代码把Visible属性设置为true,使得该Word应用程序可视。 

      如果你一定要使用Windows,那么有大量的COM组件可以扩充你的视野,它的数量比Java目前提供的多很多。通过串行和并行口进行硬件控制也可以在Java中实现了,而这仅仅是个开始。在你的工具包中有了JCOM之后,就不受任何限制了。

     

     

     

     

     

     

    展开全文
  • Linux内核工作原理 word版本 强烈推荐

    热门讨论 2010-04-25 17:03:30
    当你将文件从一个目录拷到另一个目录或者阅读电子邮件时,不妨脑海勾勒一下系统正在发生什么事情,我还清楚的记得当我感到第一次认识到操作系统真的工作时的兴奋。这种兴奋正是我想将它带给本书的读者的。 ...
  • db2 IBM DB2企业级的应用最为广泛, 全球的500家最大的企业,几乎85%以上用DB2数据库服务器。收费 大型企业 Access 微软 Access是一种桌面数据库,只适合数据量少的应用,处理少量 数据和单机访问的数据库时...
  • 词嵌入是指单词低维空间的分布式表示。词嵌入使机器更容易理解文本。有多种算法可用于将文本转换为词嵌入矢量,例如Word2Vec,GloVe,WordRank,fastText等。所有这些算法都提供了多种单词矢量表示形式,但可以...

    推荐系统对于我们今天使用的几乎所有应用程序都是至关重要的。 借助大数据,我们有大量可供选择的内容。并且我们可以建系统,通过这些系统可以帮助我们筛选和确定选择的优先次序。 这些系统还给我们一种个性化的内容和服务的感觉。

    词嵌入是指单词在低维空间中的分布式表示。词嵌入使机器更容易理解文本。有多种算法可用于将文本转换为词嵌入矢量,例如Word2Vec,GloVe,WordRank,fastText等。所有这些算法都提供了多种单词矢量表示形式,但可以将它们直接输入到NLP模型中。这些算法的用法取决于我们要执行的任务的类型,例如,如果我们要执行单词相似性任务,并且要输出可互换的单词,则应使用Word2Vec,否则,如果我们要输出相关的属性到一个特定的单词,那么我们应该选择WordRank。

    词嵌入是任何任务的基础,例如情感分析,文本摘要,语言翻译或任何其他NLP任务。 Airbnb,Spotify等公司大量使用它们来构建推荐系统,从而提供实时个性化。但是他们使用词嵌入构建这些系统的方式各不相同,这就是我们将在此处讨论的内容。

    Airbnb使用点击会话来构建单词嵌入,即他们从用户点击的列表中提取模式。他们将每个列表转换成词嵌入向量,然后根据其点击会话最终向用户显示最相似的列表。为了将列表转换为向量,他们将用户的每次点击会话都视为句子和skipgram(在Word2Vec的两个变体中)。他们找到了正样本和负样本,它们可以用于训练并最终计算嵌入向量。考虑以下示例:

    每个用户的这些点击会话均视为句子。 然后,进行正负采样。 只要用户没有点击推荐的列表,就会被视为否定样本。 为了进一步改善模型的性能,它们将最终预订的用户列表作为该用户单击的其他所有列表的肯定示例。 例如,如果我们认为用户1最终预订了清单124,那么正样本和负样本的生成将与图2相似。这样,Airbnb便会为其用户提供实时建议。

    阿里巴巴以不同的方式使用词嵌入。 他们还利用产品点击会话,但不会直接使用skipgram ,而是根据它们建立有向图。 考虑图1的示例,图看起来像图3中的图。现在,他们使用随机游走的概念来计算我们所谓的图嵌入。 在这里,他们随机选择一个节点并继续沿着路径行驶,直到到达终点为止。 然后,对这些随机游动序列进行skipgram 操作,从而为这些产品中的每一个找到单词嵌入。 他们还使用影响这些嵌入的产品附带信息来进一步提高准确性。 在这里详细了解他们的工作。

    现在让我们谈谈Spotify。针对其用户创建和收听的播放列表进行Spotify的skipgram。他们还考虑了用户跳过的歌曲,用户在歌曲上花费的时间以及整个用户的收听历史。他们从这些活动中构建正样本和负样本,然后运行单词嵌入算法。最后,他们根据此推荐相关的艺术家。

    最后,让我们谈谈一家名为ASOS的在线时装和化妆品零售商公司。他们使用词嵌入作为输入来预测客户价值寿命预测。如果客户访问的时间取决于销售,产品价格等的不同,则其生命周期价值较低。另一方面,生命周期价值高意味着您在相似的时间进行相似的访问。现在,ASOS不会对用户的点击会话创建skipgram 。他们要做的是找到访问产品页面的用户序列,然后对这些用户序列创建skipgram 。因此,每个用户都将转换为嵌入向量。然后将这些嵌入用作模型的输入以进行预测。

    以上内容均来自以下论文的整理,有兴趣的可以搜索查看:

    [1] Grbovic and Cheng, Real-time Personalization using Embeddings for Search Ranking at Airbnb

    [2] Huang et al., Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba

    [3] Chamberlain et al., Customer Lifetime Value Prediction Using Embeddings

    [4] Jay Alammar’s talk on “Intuition & Use-Cases of Embeddings in NLP & beyond”

    [5] Lev Konstantinovski’s talk on “Next generation of word embeddings in Gensim”

    ation of word embeddings in Gensim”

    [6] Jay Alammar’s blog on “The Illustrated Word2Vec”

    展开全文
  • 可以通过不同的产品的效率来判断哪一种产品才是最畅销的,针对性的生产产品,避免不必要的浪费,从而增加工厂的效益,因此,尽快建立一个功能齐备的专门为陶瓷工厂设计的进销存管理系统,完善一个现代陶瓷企业的...
  • "这能在Word中做到吗?Powerpoint能做到吗?能不能用调制解调器拨号到远程服务器上并发布数据?Java无法实现这些功能是什么意思啊?Java可以实现任何功能。"  感谢作为Java和COM桥梁的框架组件,它使你在遇到这些...
  • 的文字编辑和程序设计生涯总结出来的最快速最实在的操作, 在几乎等 于计算机本身历史的成长期中, 历经无数严厉苛刻的计算机用户的批评与 检验, 无用的特性或糟糕的设计Vim用户群面前根本就没有生存的余地. Vim...
  • MarginNoteMac,iPad和iPhone上可用,它们几乎具有相同的功能。从启用iCloud的一台设备切换到另一台设备时,所有内容将自动同步。 MarginNote甚至支持Wifi传输-因此您可以一键同步多个笔记本和书籍或整个库。
  • MarginNoteMac,iPad和iPhone上可用,它们几乎具有相同的功能。从启用iCloud的一台设备切换到另一台设备时,所有内容将自动同步。MarginNote甚至支持Wifi传输-因此您可以一键同步多个笔记本和书籍或整个库。 集成...
  • vfp6.0系统免费下载

    2009-09-17 13:49:13
    现在您的应用程序可以使用此标准 Microsoft Excel 和 Word 等其他应用程序之间拖放数据。 问题 2-4: 为什么有两个应用程序向导? 答案: 为了简化 Visual FoxPro 开发人员开发应用程序的过程, 6.0 版加入了...
  • 但是,同一个公司,程序员和工程师也需要软件,可以让他们建立UML图,工作流程,程序结构,网页设计图,电气工程图和数据库图表。 有什么解决办法吗?购买一个图形程序,适合一组,但迫使对方妥协和凑合?或购买...
  • 【新建工作表】 批量新建或者复制工作表,依指定存储格内容可以瞬间建立/复制1到255个。还可以在新建或复制时全自动命名。分为自动新增方式与依指定存储格内容两种方式。 【插入批注背景】 可以选定任意一幅图片为...
  • 【新建工作表】 批量新建或者复制工作表,依指定存储格内容可以瞬间建立/复制1到255个。还可以在新建或复制时全自动命名。分为自动新增方式与依指定存储格内容两种方式。 【插入批注背景】 可以选定任意一幅图片为...
  • 【新建工作表】 批量新建或者复制工作表,依指定存储格内容可以瞬间建立/复制1到255个。还可以在新建或复制时全自动命名。分为自动新增方式与依指定存储格内容两种方式。 【插入批注背景】 可以选定任意一幅图片为...
  • 【新建工作表】 批量新建或者复制工作表,依指定存储格内容可以瞬间建立/复制1到255个。还可以在新建或复制时全自动命名。分为自动新增方式与依指定存储格内容两种方式。 【插入批注背景】 可以选定任意一幅图片为...
  • train.py文件加入了fp16与gradient accumulation支持,如果你安装了apex并且知道fp16是什么的话,可以修改变量fp16=True来启用。但是目前fp16可能不收敛,原因不明。 联系作者 Mail:ned1991@gmail.com ...
  • EXCEL集成工具箱V6.0

    2010-09-11 01:44:37
    【新建工作表】 批量新建或者复制工作表,依指定存储格内容可以瞬间建立/复制1到255个。还可以在新建或复制时全自动命名。分为自动新增方式与依指定存储格内容两种方式。 【插入批注背景】 可以选定任意一幅图片为...
  • 成 class文件,最后就可以在JaⅦa运行环境运行了。运行阶段的工作由Java平台自身提供 我们不需要做什么上作。 六:Java技术三大特性 1:虚拟机 Java虚拟机JM( Java Virtual Machine)Java编程里面具有非常重要的地位...
  • 这一讲,我们主要是了解一下 Linux 的概况,以及对 Linux 有一个初步的感性认识。 一.什么是Linux? Linux 是一个以 Intel 系列 CPU(CYRIX,AMD 的 CPU也可以)为硬件平台,完全免费的 UNIX 兼容系统,完全...
  • 6) 自由:可以任意绘制表格,添加表格,复制表格,建立目录,导入Excel,导入Word,导出Excel\pdf,编排表格顺序 7) 丰富:提供专业的技术及安全交底素材\施工组织设计方案; 8) 绘图:选择相关单元格可以自动进行矢量绘图及...
  • asp.net知识库

    2015-06-18 08:45:45
    .NET 2.0,让你的组件也可以绑定 .NET20 一种简单的窗口控件UI状态控制方法 翻译MSDN文章 —— 泛型FAQ:最佳实践 Visual C# 3.0 新特性概览 C# 2.0会给我们带来什么 泛型技巧系列:如何提供类型参数之间的转换 ...
  • f045_95.ZIP 根目录建立一个文件夹和文件夹中建立win的启动文件(7KB) 13,f044_ExtTextOut.ZIP 演示ExtTextOut这个扩展文本输出函数(2KB) 14,f043_wjsx.ZIP 单击文件名,它的几乎所有属性就...
  • 所有信息内容在线完成编辑,就象WORD一样简单、可视而又功能完善,几乎能完成你想要的所有效果。简体,繁体使你建设的分类信息网站,最大范围被人了解,占得网络市场。本分类信息网站系统正式版搜索引擎SEO优化非常好,...
  • 如果没有安装IDE设备,我们可以选择NONE参数,这样可以加快系统的启动速度,一些特殊操作,我们也可以通过这样来屏蔽系统对某些硬盘的自动检查。 图2部分是DRIVE A和DRIVE B软驱设置,如果没有A或B驱动器,...
  • 所有信息内容在线完成编辑,就象WORD一样简单、可视而又功能完善,几乎能完成你想要的所有效果。简体,繁体使你建设的分类信息网站,最大范围被人了解,占得网络市场。本分类信息网站系统正式版搜索引擎SEO优化非常好,...
  • AutoLISP学习导引.pdf

    2015-07-18 22:45:17
    当更新到更高级版本的环境下,用AutoLISP编写的程序几乎不需任何改动即可直接使用。本书以单元方式逐步引导你使用AutoLISP解决日常工作上的问题,并提供相关的设计概念和技巧,让你可以触类旁通,举一反三。书涉及...
  • vc++ 应用源码包_1

    热门讨论 2012-09-15 14:22:12
    代码里用了备份dll的方法,因此自定义的函数中可以直接调用内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...
  • vc++ 应用源码包_2

    热门讨论 2012-09-15 14:27:40
    代码里用了备份dll的方法,因此自定义的函数中可以直接调用内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...

空空如也

空空如也

1 2 3
收藏数 43
精华内容 17
关键字:

在word中可以建立几乎