DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: a1871584487
今日帖子: 8
在线用户: 9
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 jsnjsmc (鱼) ★☆☆☆☆ -
盒子活跃会员
2004/2/10 8:56:37
标题:
截取字符串问题?? 浏览:1095
加入我的收藏
楼主: 我记得以前有人贴过,可我又忘了,好象是用COPY,应该还有个函数,如取右边的第四位,或左边的第四位,另外我还想问一个关于INSERT的用法。


如下:

procedure TfrmLocale.Button4Click(Sender: TObject);
var
  AngleAarray: Array[0..100] of single;
  i, j: integer;
  str: string;
begin
  with StringGrid2 do
  for i := 1 to StringGrid2.RowCount do
  begin
    for j := 0 to StringGrid2.ColCount do
    begin
    str := cells[j,i];//
    Insert('!', str, 2);//这个地方有错!!!!!!!为什么呢????
    cells[j,i] := str;
    end;
  end;
end;

昨天我问的关于PAGECONTROL问题我基本上解决了,我谢谢BIOS和另外两位,

但我还是不知道为什么AllowChange:=.....那个地方会过不去,

最也只有用笨方法了。
----------------------------------------------
-
作者:
男 jsnjsmc (鱼) ★☆☆☆☆ -
盒子活跃会员
2004/2/10 9:16:14
1楼: 我想起来了应该是rightstr,leftstr,


但我想问一下怎么才能在倒数的第四位中插入一个字符呢?可以用:Insert('!',s,Length(s)-4)吗?
----------------------------------------------
-
作者:
男 fwjindream (fwjindream) ★☆☆☆☆ -
盒子活跃会员
2004/2/10 9:27:50
2楼: s:='1234';
insert('fwj',s,length(s)-2);
showmessage(s);//s='1fwj234'
倒数第四位是length(s)-3;
-------------------------------
s;='1';
insert('fwj',s,2);
//s='1fwj';
s:=';
insert('fwj',s,10);
s:='fwj';
//也就是说如果插入位大于字符串长度,
则插入的字符串接在原字符串后,并不用空格补足。
----------------------------------------------
我是鸟菜
作者:
男 jsnjsmc (鱼) ★☆☆☆☆ -
盒子活跃会员
2004/2/10 10:02:03
3楼: 谢谢fwjindream 
我还想问一下,
在StringGrid中怎么能判断我输入的长度???

也就是说一输入完就判断,就是离开那个单元时判断,

如我在cells[1,1]中输入12345678超过了五位,在离开cells[1,1]时就判断一下,

谢谢!!
----------------------------------------------
-
作者:
男 fwjindream (fwjindream) ★☆☆☆☆ -
盒子活跃会员
2004/2/10 10:29:27
4楼: //定义窗体变量用于存放单元格坐标
var
    OldR,OldC:integer;
//离开stringgrid时判断编辑的单元格长度是否大于5
procedure TForm1.StringGrid1Exit(Sender: TObject);
begin
        if length(stringgrid1.Cells[Oldc,oldr])>5 then
          begin
                showmessage('输入长度大于5');
          end;
end;
//点中其它单元格时判断编辑的单元格长度是否长度大于5
procedure TForm1.StringGrid1Click(Sender: TObject);
begin
        if length(stringgrid1.Cells[Oldc,oldr])>5 then
          begin
                showmessage('输入长度大于5');
          end;
end;
//输入时取正在编辑的单元格坐标
procedure TForm1.StringGrid1GetEditText(Sender: TObject; ACol,
  ARow: Integer; var Value: String);
begin
        OldR:=ARow;
        OldC:=Acol;
end;
----------------------------------------------
我是鸟菜
作者:
男 jsnjsmc (鱼) ★☆☆☆☆ -
盒子活跃会员
2004/2/10 13:14:39
5楼: 谢谢!!
fwjindream 
你再帮我一下,如果离开后输入的长度大于5,那么这个输入单元获得输入焦点怎么做呢??

还有我还想判断一下输入的内容是不是**.*** 同样当前的单元还获得输入焦点又怎么做呢?
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行66.40625毫秒 RSS