zoukankan      html  css  js  c++  java
  • Memo 的当前行、当前列与当前字符

    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;
    
  • 相关阅读:
    人工智能第一次作业
    在uni-app的textarea中输入纯数字或者英文不换行的问题
    uni-app实现选择图片上传并显示进度条
    减肥计划
    前端时间格式2020-02-11T12:24:18.000+0000转化成正常格式
    男孩和女孩
    java 获取当前年份 月份 日期
    深海收破烂
    如何爱一个人
    随手心情
  • 原文地址:https://www.cnblogs.com/qingsong/p/3515082.html
Copyright © 2011-2022 走看看