文字处理9_VC++V6—基本要点

Posted 蜘蛛网计算机语言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文字处理9_VC++V6—基本要点相关的知识,希望对你有一定的参考价值。

实际项目与案例-文字处理9_VC++V6(1)—基本要点

计算机:电子线路组成的计算机器。人与计算机则是通过计算机语言-符号系统说给计算机听而交流。

计算机语言有低级语言-机器语言、汇编、高级语言-C/C++/C#/VB/PASCAL/LISP/JAVA/PYTHON/……几百种之多。

作为语言它们有共性:符号、格式-字词、语句、段落、文件、软件、……

用于数字计算的语言,字词就有-数据类型、运算符号、运算控制词汇等;复杂的运算有语句-句型-句法;句子组成段落、段落要有逻辑格式,这就是循环结构、分支结构、循环结构文章的结构语法;基本结构组成文件-多个文件组成一个软件来处理辅助处理各种事情数值计算问题、文字处理问题、图形图像处理问题、事务问题处理物流、金融、票务、人员、商务、……无孔不入。

计算机处理系统计算机辅助,通常分为两个部分后台-内部运行指令和前台-人机交互界面的显示。

后台是计算机语言的指令集二进制指令序列 

文字处理9_VC++V6(1)—基本要点

人们编写的汇编语言:

人们可编写的高级语言VB

后台则是

文字处理9_VC++V6(1)—基本要点 

前台则是

文字处理9_VC++V6(1)—基本要点

人们可编写的高级语言:……:

MATLAB语言及其平台

Fortran语言及其平台

C语言及其平台V6

C语言及其平台VS.NET

C++语言及其平台V6

C++语言及其平台VS.NET

C#语言及其平台VS.NET

VB语言及其平台V6

VB语言及其平台VS.NET

VC++语言及其平台V6

VC++语言及其平台VS.NET

VC#语言及其平台VS.NET

……

无孔不入的计算机、无孔不入的计算机语言、无所不在的计算机辅助、……

数字计算文字处理图形图像处理问题事务处理……控制与通讯、商业与社会管理、军事与太空、……

文字-字符采用标准编码就是用规定的二进制组合来固定的规范化形式表达。

文字-字符操作就是对规定的二进制组合来操作。而操作方式与数值计算不同。文字-字符操作是与自然数、离散量、集合论、数理逻辑学相关的“计算”方式。也就是说,字符输入或输出通常是按照某个顺序有前后逻辑关系规定格式的串进行。也就是有自身的词法与语法结构文字-字符顺序规定-规则。修改-编辑也是用删除、插入、顺序调整等方式进行。这些方式对于计算机器来说,不是一个顺手的处理对象。但是,好在语言有规则、有规范可寻语言规则学习的要点词法与语法。这样就可使人们提前编译一些制造一些标准的、常用的、通用的操作语句-或函数,以便后来者利用。

各种计算机语言中都有一些字符操作的内置函数或语句,提供给编程人员使用。提高了效率、减少了错误率、提高了重用性。

下面先简单的看一下计算机语言VC++的情形

模仿微软视窗模式下的Microsoft OfficeWORD软件一个多文档模式的软件;开发工具选择:

 

由于要在可视化的视窗模式下的软件平台上做文本处理软件,就很有必要使用微软提供的、大量的、通用的或说遵循标准库来进行工作大大节省人力、物力、财力、时间、成本、……大大提高效率、降低错误与BUG等。

这就是:MFCMicrosoft Foundation  Class  Library)问题微软基础类库及其API(Application Program  Interface)—应用程序编程接口(函数)与Microsoft WINDOWS操作系统打交道的函数库。

有必要从MFC的角度来了解软件开发问题文字处理问题可以做一个单文档模式的文本处理平台。(看来,做个好软件真不容易。)

与控制台模式的人机交互方式不同。微软的视窗交互模式的软件开发平台,提供了更好的文字-文本处理样板就是提供了大量的标准化的-内置函数、类库、界面、MFC、甚至于大量可用的API库。虽说有垄断之嫌,确也为普通用户带来很多的便利,节约了大量的时间与成本。在FORTRAN/C/C++/C#/等的控制台模式中,可以简单地了解、理解、应用计算机语言进行文字处理的好处与难点。由于文字处理问题的多数和重点是大量的文字字符需要一次性输入,其次是编辑-包括:修改(添加删除移位拷贝等),还需要排版、好需要字体字形变化、色彩变化、……。如果可以翻看OFFICE-Word的旧版本-比较其升级过程,或者体验过微信-百度APP版本的升级过程,仅就人机交互界面就可以体验文本处理-人机交互界面的进阶与改进。

若有首版本的新APP或其它平台发布,可以比较其与成熟-经过市场-用户检验而升级的APP或其它平台,或者可以体验当下的互联网+上出现的或企事业单位使用软件样式,体验其人机交互能力、感觉开发者的水平、技术、能力(也可能是成本问题)。

VC++中,textbox是很好的字符处理交互模式。但是,当文字量较大时,就有局限性了,需要后台的文本文件来保存这就是多文件系统的又一个例子。

OFFICE-Word是一个操作平台-工具,其结果产生一个OFFICE-Word文档保存,需要使用时再用OFFICE-Word打开处理,结果再保存。

VC++提供了许多模版,其中一个是标准的EXE文件模式,其上可以使用textbox来处理文字文本问题。另一个是在标准EXE模式中添加MDIForm1窗体,从而获得多文档模式的软件架构,用一个FORM中添加textbox来获得文本编辑处理界面。模仿OFFICE-Word样式。

这里有一个重要的技术问题鼠标控制相当于快捷键控制。捕捉显示器的坐标点文字处理的位置所在。捕捉图标及其设置字体、颜色、字号、格式等。转换操作模式编辑、拷贝、插入、……对齐方式等排版、……等等。这些都可以用菜单或图标来表达。

这里的另一个问题是保存与打开,存储与打开的文档的模式等。这就是软件功能与架构问题了。

还有许多的技术问题,可以在学习中逐步学习了解掌握创新,不光是语言规则。而语言只不过是其中最简单的一部分而已。语言中的文本处理函数也是简单实用的,需要熟练掌握运用。

 

……

来点有用的代码

// CTextview_1View message handlers

 

void CTextview_1View::OnInitialUpdate()

{

       CView::OnInitialUpdate();

      

       // TODO: Add your specializedcode here and/or call the base class

       CRect rcClient;

GetClientRect( rcClient );  

// if ( m_ctrlEdit ) delete m_ctrlEdit;

m_ctrlEdit = new CEdit();

m_ctrlEdit->Create( ES_MULTILINE | WS_CHILD | WS_VISIBLE

   | WS_HSCROLL | ES_AUTOHSCROLL 

   | WS_VSCROLL | ES_AUTOVSCROLL ,

   rcClient, this, 201);     // 创建多行编辑控件

CTextview_1Doc* pDoc = GetDocument(); // 获取与视图相关联的文档指针

// 以下是将文档中的m_strContent内容全部赋给str

CString str;

int nLines = (int)pDoc->m_strContent.GetSize();

for ( int i=0; i<nLines; i++ )

{

   str = str +pDoc->m_strContent.GetAt( i );

   str = str + " ";    

}

m_ctrlEdit->SetTabStops( 16 );  

m_ctrlEdit->SetWindowText( str );  // 将文档内容传给控件

      

}

 

void CTextview_1View::CalcWindowRect(LPRECT lpClientRect, UINT nAdjustType)

{

       // TODO: Add your specializedcode here and/or call the base class

      

       CView::CalcWindowRect(lpClientRect,nAdjustType);

}

以上是关于文字处理9_VC++V6—基本要点的主要内容,如果未能解决你的问题,请参考以下文章

placeholder的兼容处理

placeholder的兼容处理

函数的计算机处理8(11)_3VC++VS

第二章 数学运算数组文字处理

WPS表格 JSA-单格内,按文字颜色处理文字

如何在vc++ 对话框中显示文字