起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 252|回复: 11

【结贴】取字符串问题**

[复制链接]
发表于 2008-5-15 09:37:15 | 显示全部楼层 |阅读模式
首先判断dataset.fieldbyname('A').asstring 长度是否大于3,如果大于3, 往dataset.fieldbyname('B').asstring  中 填写 dataset.fieldbyname('A').asstring 中字符串去掉最后两位以后  剩余的字符串.
回复

使用道具 举报

发表于 2008-5-15 09:46:11 | 显示全部楼层
取长度的函数:length(字串)
截字串函数: Copy(字段, 开始位置, 结束位置)  
更详的可查Delphi函数说明
回复 支持 反对

使用道具 举报

发表于 2008-5-15 10:02:14 | 显示全部楼层
提醒一下楼主,平台的length函数把汉字也当作一个字符来处理的。这样的话可以用StrLen。具体看帮助。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-15 10:09:52 | 显示全部楼层
SysUtils.StrCopy(DataSetBroker2.DataSet.fieldbyname('B').AsString,DataSetBroker2.DataSet.fieldbyname('A').AsString);  这句话有问题么?将A中写入B中.运行后,A中有数据,但是B中一直是空字符串,好像没有写入哦~~
回复 支持 反对

使用道具 举报

发表于 2008-5-15 10:17:50 | 显示全部楼层
加个DataSetBroker2.DataSet.edit看看
DataSetBroker2.DataSet.fieldbyname('A').AsString这个有数据么?
如果还不行,那就这样用吧
DataSetBroker2.DataSet.edit;
DataSetBroker2.DataSet.fieldbyname('B').AsString := DataSetBroker2.DataSet.fieldbyname('A').AsString
看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-15 10:18:14 | 显示全部楼层
StrLen取长度我已经实现,现在就是不知道怎样把A字符串去掉最后两位~~
回复 支持 反对

使用道具 举报

发表于 2008-5-15 10:19:52 | 显示全部楼层
那就用copy啊
lstr := Copy(DataSetBroker2.DataSet.fieldbyname('A').AsString ,1 ,StrLen(DataSetBroker2.DataSet.fieldbyname('A').AsString ) - 2)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-15 10:23:36 | 显示全部楼层
DataSetBroker2.DataSet.fieldbyname('B').AsString := DataSetBroker2.DataSet.fieldbyname('A').AsString
用这个直接赋值当然可以.上面的等于操作只是为了测试函数对不对等等......
现在关键是我想要函数来实现 取 已经去掉 最后两位的 A 来给B赋值 ~~~
我刚开始说的可能有偏差,现在了解了吧?请帮忙~~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-15 10:24:46 | 显示全部楼层
最初由 zfang 发布
[B]那就用copy啊
lstr := Copy(DataSetBroker2.DataSet.fieldbyname('A').AsString ,1 ,StrLen(DataSetBroker2.DataSet.fieldbyname('A').AsString ) - 2) [/B]


试试~~~以前尝试过直接-2 好像有错误,我再试一下~~
回复 支持 反对

使用道具 举报

发表于 2008-5-15 10:32:54 | 显示全部楼层
嗯,应该没问题。
记得反馈结果。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-13 06:03 , Processed in 0.042486 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表