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;
    
  • 相关阅读:
    JSON
    Iterator
    JSP内置对象和EL内置对象
    JavaBean简介
    Java关键字final、static使用总结
    static 语句块
    修改tomcat端口号的方法
    URL和URI的区别
    java.util.vector中的vector的详细用法
    java中Long 和long的区别
  • 原文地址:https://www.cnblogs.com/qingsong/p/3515082.html
Copyright © 2011-2022 走看看