精华内容
下载资源
问答
  • 尤其大中型项目和(或)团队协作编码的情况下,文档显得尤为重要。人员交接、团队交流,只有代码、没有文档是难以想象的。即使是一个人编码,天长日久,自己阅读自己曾经的代码也是一件耗时和费神的事情。 然而,...

        有句话说:软件 = 代码 + 文档。可见文档的重要性!尤其在大中型项目和(或)团队协作编码的情况下,文档显得尤为重要。人员交接、团队交流,只有代码、没有文档是难以想象的。即使是一个人编码,天长日久,自己阅读自己曾经的代码也是一件耗时和费神的事情。

        然而,整理和编制文档却是一件枯燥和乏味的事情,尤其是项目工期紧张的时候,最早做出让步和牺牲一定是编制文档的工夫。

        幸好有一些文档辅助编写工具,可以帮我们的大忙,PHPDocumentor 就是很好的文档编制辅助工具。

        PHPDocumentor 最早是从 JAVADoc 借鉴和移植到 PHP 环境下的,现在已经成为一个优秀的文档辅助工具之一。
        PHPDocumentor 以 PEAR 扩展类库的形式分发,需要通过 PEAR 管理工具来下载和安装。

        安装命令为:

        pear install --alldeps PHPDocumentor

        参数 --alldeps 表示同时下载安装 PHPDocumentor 依赖的其它 PEAR 类库。

        PHPDocumentor 的使用:

        编写代码时,需要在 PHP 文件、类、成员变量、成员函数等部位,以约定的格式(很重要!),进行代码注释。PHPDocumentor 可以根据代码的语法特征和约定的注释格式,生成最终的文档。文档以 Html 的形式保存,利于在网上发布和浏览。

        文档的一般注释格式为:

        标识文件:
        /**
         * @licens ……
         * @package ……
         * 【这里是注释……】
         * @author ……
         * @copyright
         */

        标识成员变量:
        /**
         * 【这里是注释……】
         * @var string/int/array
         */

        标识成员函数:
        /**
         * 【这里是注释……】
         * @param ……
         * @return ……
         * @author ……
         * @copyright
         */

        生成文档的 DOS/Shell 命令为:

        phpdoc -d <包含代码的文件夹> -t <保存生成文档的文件夹>

        这个命令很灵活,还有其它一些参数用于生成不同详细程度的文档。

        作者:张庆(网眼) 西安 PHP 教育培训中心 2010-7-6
        来自“网眼视界”:http://blog.why100000.com
        作者微博:http://t.qq.com/zhangking
        “十万个为什么”电脑学习网:http://www.why100000.com
     

    展开全文
  • C# 操作word总结(一)——建立文档和添加页眉页脚

    千次阅读 热门讨论 2015-09-28 11:38:44
    最近程序中经常使用到world的操作,我在网上查了一些资料,这里整理一下。  使用代码创建world文档:  #region 新建Word文档 /// /// 动态生成Word文档并填充内容 /// /// 文档目录 /// 文档名 /// 返回...

          最近程序中经常使用到word的操作,我在网上查了一些资料,在这里整理一下。

          使用代码创建word文档:

    #region 新建Word文档
    /// <summary>
    /// 动态生成Word文档并填充内容 
    /// </summary>
    /// <param name="dir">文档目录</param>
    /// <param name="fileName">文档名</param>
    /// <returns>返回自定义信息</returns>
    public static bool CreateWordFile(string dir, string fileName)
    {
        try
        {
            Object oMissing = System.Reflection.Missing.Value;
    
            if (!Directory.Exists(dir))
            {
                //创建文件所在目录
                Directory.CreateDirectory(dir);
            }
            //创建Word文档(Microsoft.Office.Interop.Word)
            Microsoft.Office.Interop.Word._Application WordApp = new Application();
            WordApp.Visible = true;
            Microsoft.Office.Interop.Word._Document WordDoc = WordApp.Documents.Add(
                ref oMissing, ref oMissing, ref oMissing, ref oMissing);
    
            //保存
            object filename = dir + fileName;
            WordDoc.SaveAs(ref filename, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
            WordDoc.Close(ref oMissing, ref oMissing, ref oMissing);
            WordApp.Quit(ref oMissing, ref oMissing, ref oMissing);
            return true;
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
            Console.WriteLine(e.StackTrace);
            return false;
        }
    }
    #endregion 新建Word文档
          给Word文档添加页眉页脚
    #region 给word文档添加页眉页脚
    /// <summary>
    /// 给word文档添加页眉
    /// </summary>
    /// <param name="filePath">文件名</param>
    /// <returns></returns>
    public static bool AddPageHeaderFooter(string filePath)
    {
        try
        {
            Object oMissing = System.Reflection.Missing.Value;
            Microsoft.Office.Interop.Word._Application WordApp = new Application();
            WordApp.Visible = true;
            object filename = filePath;
            Microsoft.Office.Interop.Word._Document WordDoc = WordApp.Documents.Open(ref filename, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
    
            添加页眉方法一:
            //WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;
            //WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryHeader;
            //WordApp.ActiveWindow.ActivePane.Selection.InsertAfter( "**公司" );//页眉内容
    
            添加页眉方法二:
            if (WordApp.ActiveWindow.ActivePane.View.Type == WdViewType.wdNormalView ||
                WordApp.ActiveWindow.ActivePane.View.Type == WdViewType.wdOutlineView)
            {
                WordApp.ActiveWindow.ActivePane.View.Type = WdViewType.wdPrintView;
            }
            WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekCurrentPageHeader;
            WordApp.Selection.HeaderFooter.LinkToPrevious = false;
            WordApp.Selection.HeaderFooter.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
            WordApp.Selection.HeaderFooter.Range.Text = "页眉内容";
    
            WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekCurrentPageFooter;
            WordApp.Selection.HeaderFooter.LinkToPrevious = false;
            WordApp.Selection.HeaderFooter.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
            WordApp.ActiveWindow.ActivePane.Selection.InsertAfter("页脚内容");
    
            //跳出页眉页脚设置
            WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument;
    
            //保存
            WordDoc.Save();
            WordDoc.Close(ref oMissing, ref oMissing, ref oMissing);
            WordApp.Quit(ref oMissing, ref oMissing, ref oMissing);
            return true;
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
            Console.WriteLine(e.StackTrace);
            return false;
        }
    }
    #endregion 给word文档添加页眉页脚
          在这里做个笔记,希望能帮助大家。另外 部分代码 来自于网络。


    展开全文
  • 产生文本文档的过程中遇到了诸多问题,一一解决的过程中学到了很多东西。现把C语言中如何实现建立和写入文本文档总结如下: FILE *file; file=fopen("D://H5As_User//example.txt","wt"); /

            最近由于公司要做一个小软件,功能很简单,就是实现通过界面的选择而产生相应的文本文档。在产生文本文档的过程中遇到了诸多问题,一一解决的过程中学到了很多东西。现把C语言中如何实现建立和写入文本文档总结如下:

             FILE *file;
             file=fopen("D://H5As_User//example.txt","wt");           //打开文本文件(t)文件 ,fopen函数的具体参数可以在网上查   
             if(file==NULL)                        //打开失败
              {
                     MessageBox(hwnd,"打开失败!","抱歉",MB_OK);
              }

             else

             {

             TCHAR cResult[256];

              lstrcpy(cResult,"aaaa");

             fwrite(cResult,sizeof(cResult),1,file);//第一个参数为要写入的字符串,第二个为每次写入的字节数,第三个为写入的次数,第四个为文件的指针

              }

              fcolse(file);//最后别忘了关闭文件!!!

             在这里,我遇到了一个问题,就是在写入文本文档后产生的文件并不是真正的纯文本文件,用记事本是看不到的,用UE打开会显示一些地址码,这说明在保存的过程中还写入了一些虚拟的东西。后来经过检查和调试发现在写入时我写入的字节数大于实际字符串的字节数,因此在文本文档中还保存了虚拟空间。在上面对cResult的定义中,其长度是256,在赋值中其长度是4,而sizeof(cResult)结果为其定义的长度256,因此它向文本文档中写入了256个字节的内容,而实际的字符串只有四个字节,因此其他的均保存为虚拟的地址空间。因此在写入纯文本文档时写入字节数一定要与字符串的实际字节数相等。

             在fwrite函数的应用中,我们想写入指定的字符串到文档中,往往会使用函数fwrite(cResult,sizeof(cResult),1,file)。上面写了它的各个参数的意义。那么怎样才能恰好写入整个字符串口而不会多出或缺少呢?我们配合使用第二和第三个参数可以实现,一般会选择一次写入,即第三个参数填1,那么第二个参数是关键了!!!这里我们要注意上面所用的sizeof(cResult),它获得的是cResult字符串定义的长度256,而不是实际长度4。所以在这里我们最好用另一个函数strlen或lstrlen,它获得的是实际字符串的长度,上面lstrlen(cResult)结果为4,正好是我们需要的结果!!!

              所以在这里我们要注意的是,sizeof获得的是字符串的定义长度,而strlen获得的是字符串的实际长度。所以我们当因需而用,可以方便的解决很多问题!

            

    展开全文
  • 同事把一个VC++2003开发的多文档工程转化为单文档工程,按照网上所说,做了修改。但是 BOOL CSDITestApp::InitInstance()中的语句 if (!ProcessShellCommand(cmdInfo)) 运行后弹出“创建空文档失败”对话框。...

    同事把一个VC++2003开发的多文档工程转化为单文档工程,按照网上所说,做了修改。但是在

    BOOL CSDITestApp::InitInstance()中的语句

    if (!ProcessShellCommand(cmdInfo)) 运行后弹出“创建空文档失败”对话框。困扰了他一段时间(两天),我拿来调了一会,只感觉应该是CMainFrame创建失败导致,不过没找出真正原因。后来还是他发现了原因并修改成功。原因:把多文档工程改为单文档后,CMainFrame对象的创建方式发生了改变。多文档中是显示生成,单文档中是系统生成。

    单文档如下:

    	CCommandLineInfo cmdInfo;
    	ParseCommandLine(cmdInfo);
    	// 调度在命令行中指定的命令。如果
    	// 用 /RegServer、/Register、/Unregserver 或 /Unregister 启动应用程序,则返回 FALSE。
    	if (!ProcessShellCommand(cmdInfo))
    		return FALSE;
    	// 唯一的一个窗口已初始化,因此显示它并对其进行更新
    	m_pMainWnd->ShowWindow(SW_SHOW);
    	m_pMainWnd->UpdateWindow();

    
    多文档如下:
    

     

    AddDocTemplate(pDocTemplate);// 创建主 MDI 框架窗口CMainFrame* pMainFrame = new CMainFrame;if (!pMainFrame || !pMainFrame->LoadFrame(IDR_MAINFRAME))return FALSE;m_pMainWnd = pMainFrame;// 仅当具有后缀时才调用 DragAcceptFiles//  在 MDI 应用程序中,这应在设置 m_pMainWnd 之后立即发生// 分析标准外壳命令、DDE、打开文件操作的命令行//	CCommandLineInfo cmdInfo;ParseCommandLine(cmdInfo);// 调度在命令行中指定的命令。如果// 用 /RegServer、/Register、/Unregserver 或 /Unregister 启动应用程序,则返回 FALSE。//cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;if (!ProcessShellCommand(cmdInfo))return FALSE;// 主窗口已初始化,因此显示它并对其进行更新m_pMainWnd->ShowWindow(m_nCmdShow);m_pMainWnd->UpdateWindow();


     解决方案:

    把多文档CMainFrame类中的 IMPLEMENT_DYNAMIC 改为IMPLEMENT_DYNCREATE 即可,后者是动态生成,系统可以生成。

     

    
    
    
    
    展开全文
  • Python+Opencv建立一个文档扫描器

    千次阅读 2019-05-02 12:07:12
      简单来讲,所谓的文档扫描器的作用是对手机拍摄的图片中的目标进行校正的过程,具体的效果如下图所示: 左边表示的是原始的输入图片,右边表示校正后的结果,我们可以观察到相比于校正前的图片而言,纠正后的...
  • 关于蓝牙通信文档: http://www.lanwind.com/android106.php     Android建立蓝牙RFCOMM通信 前面两篇文章中我们提到了有关Android平台蓝牙的配对、发现、启用等操作,本文开始通过BluetoothSocket类建立有关...
  • Android系统开源,使得市场竞争这一块很大,各大手机厂商为了建立自己的特有风格,都去原有系统修改,为了我们开发增大很懂难度,所以我们需要知道各大手机厂商的文档,方便我们去适配和兼容我们的App; Google...
  • 使用C++和XML建立智能文档

    千次阅读 2005-06-02 15:27:00
    可能的情况下,在建立智能文档的时候使用Word和Excel的下层能力,而不是智能文档DLL中编写自定义代码是明智的。我的Excel进度表工作薄中的公式就演示了这一点。我希望在上一周的星期一得到状态报告,但是人们...
  • 开发Modbus转发器时应用到MSCOMM32.OCX控件,但未安装VC开发环境的机器,总会弹出"建立文档失败"的情况,所幸的是软件的使用人员是自己公司的,但久而久之,他们感觉非常不便,于是我在网上找了好多好多关于”建立...
  • 基于nodeJS创建一个Express站点后,需要连接MongoDB数据库,此时需要先定义文档,再创建索引(index)视图,使数据库的内容能够展示网站中。对于怎么创建Express站点,怎么连接到MongoDB库,我另外的博文可以看到...
  • 如何LINUX下打开DOCX文档

    万次阅读 2011-09-07 11:40:33
    Debian下,有OpenOffice的软件能够打开普通的doc文档,但对于Microsoft Word 2007建立的docx文档就不支持了,因此,需要对它安装相关插件。 首先,先去下载odf-converter for i386 systems: http://
  • 万维网的文档

    千次阅读 2013-05-07 21:12:17
    概述  本篇博客讲述的是万维网文档发展的一个过程,读这篇博客的... 万维网的文档可以分为3类:静态文档、动态文档和活动文档。  静态文档和动态文档  静态文档和动态文档都是标准的HTML语言编写的文档,唯一不
  • 新建文本文档快捷键

    万次阅读 多人点赞 2017-09-28 10:29:08
    身为一个程序员,效率至上...首先,我现在网上找解决这个问题的办法,但网上大多数的推荐都是右击文本文档设置快捷键,但这只是一个快速打开的方式,当你保存此文件时会发现本末倒置,让自己新建文本文件变得更加繁琐。
  • Spring Boot中文文档(官方文档翻译 基于1.5.2.RELEASE)

    万次阅读 多人点赞 2017-04-06 16:41:22
    Spring Boot官方文档中文翻译(更新至 26. 日志)
  • Android 7.0 以后对Uri的访问进行了限制,需要manifest项目清单文件里面添加 provider,具体怎么写这个就不说了。 解决此问题只需添加以下代码即可: intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);...
  • 基于FlashPaper的文档播放器

    千次阅读 2011-07-04 01:29:34
    本文主要讨论、描述了使用Adobe公司的Flex与FlashPaper产品完成对发布到网上文档资料进行只读控制,也就是说只允许浏览操作、对下载、打印进行控制。FlashPaperFlashPaper是Macromedia的一款用于将操作系统所识别...
  • PDFBOX处理PDF文档

    千次阅读 2014-12-01 22:00:32
    首先,学习中接触到了pdfbox,感觉用它处理pdf文档确实很方便,从网上找到一段处理文档的代码,但运行中发现一些问题,具体的解决方法如下,希望给你有所帮助, 首先myeclipse中建立一个java工程, 从pdfbox官网...
  • 钉钉平台接入文档

    万次阅读 热门讨论 2017-08-13 10:31:10
    钉钉平台接入文档Auth-date: [add by Easzz 2017-07-18]1.接入说明由于业务发展,需要接入钉钉平台,特整理了一份简明的接入文档,此文档旨在帮助用户快速熟悉钉钉平台,调用钉钉相关接口,以实现具体的业务逻辑。...
  • 中文 Appium API 文档

    万次阅读 2016-09-06 09:56:40
    文档是Testerhome官方翻译的 源地址:https://github.com/appium/appium/tree/master/docs/cn 官方网站的:http://appium.io/slate/cn/master/?ruby#about-appium 中文Appium API 文档 第一章:关于appium 1.1...
  • 当然,一篇文档可能和其他资源是有关系的,那么怎么快速建立联系呢?只要点击相关信息后面的+ 即可弹出关联对话框 可以通过全文检索快速定位相关的内容进行关联 关闭对话框,就会变成下面的样子 ...
  • 方法一:桌面空白处右击→属性→桌面→自定义桌面→勾选你所要恢复的选项,确定后即可。如果要恢复或者修改图标,可以...方法二:通过新建文件夹的方法分别建立我的电脑、我的文档网上邻居、回收站,首先桌面新建
  • RFC中文文档

    千次阅读 2007-08-17 18:10:00
    RFC文档目录RFC1 主机软件 RFC2 主机软件 RFC3 文档规范 RFC4 网络时间表 RFC6 与 Bob Kahn 会话 RFC10 文档规范 RFC13 零文本长度的EOF信息 RFC16 M.I.T RFC18 IMP-IMP和主机-主机控制联接
  • 今天做一个信息查询系统时需要对读入的信息进行保存,自然需要建立文件,于是就在网上寻找了很多见文件的方法。我选择了一种操作比较简单的文件处理方式,希望对你有帮助。 指定路径下新建文件 这里新建文件的...
  • 操作系统:Windows 7软件环境:Visual Studio 2008 SP1本次目的:文档程序中动态切换多个窗体 此文章转自网上,本人最新的2008 SP1试验通过,现将步骤(转帖)和过程图片(本人自己截图)记录如下。 Normal 0 7.8...
  • XPS文档阅读器

    千次阅读 2010-07-19 18:49:00
    XPS是微软的一个文档标准,就像Adobe的PDF,现在网上也有很多的PDF文档在线阅读器,而XPS文档阅读器很少几乎没有。今天我将我制作的这个XPS文档阅读器拿出来跟大家分享,也顺便期望某个高手能解决一些问题,...
  • ElasticSearch7.2 父子文档

    千次阅读 2020-03-01 18:32:29
    首先看一下如何建立父子文档,明显和网上”_parent”的方式不一样,说明es后期版本已经修改了语法 1 2 3 4 5 6 7 8 9 10 11 12 13 PUT my_index { "mappings": { "properties": { "my_join_...
  • 前一阵子学习selenium2.0,发现网上很多资料都是selenium1.0的且部分信息不...因此github上建立了一个在线测试文档的项目,其中第一个项目内容就是把selenium2.0进行中文翻译。因本人英语水平有限,怕有误导新人
  • Spring 官方文档彩蛋

    千次阅读 2016-01-22 20:30:59
    Spring 官方文档彩蛋
  • Android官方入门文档

    千次阅读 2015-01-21 17:19:14
    Android官方入门文档 欢迎来到为Android开发者的培训。这里,你会发现套课中,描述了如何实现代码示例中的应用程序,你可以重复使用一个特定的任务类。类被组织成可以左侧导航的顶层看到几个组。 这第一组,入门...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 153,567
精华内容 61,426
关键字:

在手机上怎么建立文档