shortstring 疑问

mouseingrief 2003-01-16 10:28:50
var
str:shortstring;
i:integer;
begin
for i:= 1 to 255 do
str[i]:='w';
end;
如此str的长度应该是255吧,但是用length(str)却是176;为什么?
...全文
27 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mouseingrief 2003-01-17
  • 打赏
  • 举报
回复
to ehom
你这样做可以强行改变字符串的长度
但是,我想知道的是为什么字符串的长度会是176呢
而我已经很明显的给它赋值了255个'w'呀。

to CSDNBowlder
这样也不行
ehom 2003-01-16
  • 打赏
  • 举报
回复
str[0] := Char(255);

str[0] := Chr(255);

直接赋数字无法通过语法检查
张灰太狼 2003-01-16
  • 打赏
  • 举报
回复
你这样声明:
var
str:String[255];//这就表示一个255个字符的ShortString字符串
i:integer;
begin
for i:= 1 to 255 do
str[i]:='w';
end;
因为ShortString主要用于向Dephi1.0兼容,所在平时我们所使用的都是AnsiString。在声明ShortString的时候,最好声明其长度。
试试看!!!
chechy 2003-01-16
  • 打赏
  • 举报
回复
try this:
str[0] := 255;
这样就是255了。

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧