procedure TForm1.Memo1Click(Sender: TObject);
begin
  Text := Format('当前列:%d, 当前行:%d', [Memo1.CaretPos.X, Memo1.CaretPos.Y]);
end; //用 API 实现
procedure TForm1.Memo1Click(Sender: TObject);
var
  LineY,LineX: Integer;
begin
  LineY := SendMessage(Memo1.Handle,EM_LINEFROMCHAR,Memo1.SelStart,0);
  LineX := SendMessage(Memo1.Handle,EM_LINEINDEX,LineY,0);
  Text :=  '当前行:' + IntToStr(LineY) + '; ' +                  //0开始
          '当前列:' + IntToStr(Memo1.SelStart - LineX) + '; ' +  //0开始
          '当前字符:' + IntToStr(Memo1.SelStart) + '. ';          //包括#13#10
end;

//统计字数

//添加 Memo1、Label1、Label2、还有Button1
procedure TForm1.Button1Click(Sender: TObject);
var
  s: string;
  i,sum,e,c,t: Integer;
begin
  s := Memo1.Text;
  e := 0;
  c := 0;
  sum := Length(s);   for i := 0 to sum do
  begin
    if (Ord(s[i]) >= 33) and (Ord(s[i]) <= 126) then
    begin
      Inc(e);
      Label1.Caption := '字母数: ' + IntToStr(e);
    end;     if Ord(s[i]) >= 127 then
    begin
      Inc(c);
      Label2.Caption := '汉字数: ' + IntToStr(c div 2);
    end;
  end;
end;

Memo 的当前行、当前列与当前字符的更多相关文章

  1. Memo synEditor 当前行号

    Memo 当前行号,坐标,位置 可以使用Memo的属性CaretPos.X来取行鼠标所在行的行数与鼠标所在行的第几位 Memo.CaretPos.X 光标或鼠标所在行的列号(第几位),从0开始计数Me ...

  2. 软件工程实践_Task2_sudoku

    软工实践_Task2 标签(空格分隔): 软工实践 相关要求:第二次作业--个人项目实战 github:传送门 解题思路 先是一点杂谈. 首先,看完作业要求之后,心里先有个大概的框架. 语言:C++ ...

  3. SAS笔记

    SAS基础知识 SAS里面的PROC一览 The ACECLUS Procedure : 聚类的协方差矩阵近似估计(approximate covariance estimation for clus ...

  4. linux vi 命令大全

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...

  5. vim(vi)常用操作及记忆方法

    vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个“纯字符”模式下的工具,它的操作和WINDOWS中的文本编辑工具相比多少有些复杂.这 ...

  6. ubuntu的vim模式

    之前想修改一个文件的内容,居然发现之前的东西又随着时间在空气中淡忘了,所以取了网上的一些摘文. 1.vim #在命令行中输入vim,进入vim编辑器 2. i #按一下i键,下端显示 --INSERT ...

  7. 【Linux学习】Vi 操作命令集合

    Vi 操作命令集合 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文 ...

  8. linux下vi命令大全

    进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首 ...

  9. vi command

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...

随机推荐

  1. Mercurial hg web server的配置

    在windows下安装tortoisehg-1.0.3-hg-1.5.3-x64.exe的版本控制工具后,克隆建立中心库后,启动web server,其他分库可以连接中心库进行pull但无法push. ...

  2. Linux服务器自动备份压缩MySQL数据库的实用方法

    <?php$server = 'localhost'; $link = mysql_connect($server, 'root', 'haven'); $result = mysql_quer ...

  3. HTML中为何P标签内不可包含DIV标签? (转)

    起因:在做项目时发现原本在DW中无误的代码到了MyEclipse6.0里面却提示N多错误,甚是诧异.于是究其原因,发现块级元素P内是不能嵌套DIV的. 深究:我们先来认识in-line内联元素和blo ...

  4. Jquery和Javascript对象之间的转换

    jQuery 对象是通过 jQuery 包装DOM 对象后产生的对象.jQuery 对象是 jQuery 独有的,其可以使用 jQuery 里的方法,但是不能使用 DOM 的方法:例如: $(&quo ...

  5. Wiegand协议(转)

    源:http://blog.chinaunix.net/uid-22670933-id-3268318.html Wiegand26协议是由美国工业安全委员会SIA(Security Industry ...

  6. centos常用配置收集

    配置ntp服务器: # vi /etc/ntp.conf driftfile /var/lib/ntp/driftrestrict -4 default kod notrap nomodifyrest ...

  7. 利用css3特性写出三角形(兼容IE浏览器)

    利用CSS写出三角形的效果 效果如图: 代码如下: .triangle-up { width:0px; height:0px; border-left:10px solid transparent; ...

  8. 深度学习 for java http://deeplearning4j.org/

    http://deeplearning4j.org/ http://deeplearning4j.org/zh-neuralnet-overview

  9. SpringMVC接收页面表单参数-java-电脑编程网

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  10. Grunt 入门

    转自:http://user.qzone.qq.com/174629171/blog/1404433906 Grunt被定义为:the javascript task runner. 什么算是Java ...