翻转字符串,如下procedure ReverseString(var S: string);
var
P, Q: PChar;
C: Char;
begin
if Length(S) = 0 then Exit;
P := PChar(S);
Q := P + Length(S) - 1;
while P < Q do begin
C := P^;
P^ := Q^;
Q^ := C;
Inc(P);
Dec(Q);
end;
end;怎么错了?????
var
P, Q: PChar;
C: Char;
begin
if Length(S) = 0 then Exit;
P := PChar(S);
Q := P + Length(S) - 1;
while P < Q do begin
C := P^;
P^ := Q^;
Q^ := C;
Inc(P);
Dec(Q);
end;
end;怎么错了?????
解决方案 »
- delphi如何执行oracle的存储过程package??
- 在Delphi7中如何编程得到进入互联网后的IP地址?急
- 我又写了一个小工具《VCL继承图1.0》大家一起玩玩~~
- 请教SQL!
- 怎么样使窗体内的组件随窗体的变化而变化,比例 是相同的,
- 怎么用继承的方法?除了继承还有什么方法可重复使用窗体?
- 如何做半透明的控件
- 在(DPLPHI)开发中如何操作文件内幕?请各位高手指教
- Delphi,C++Bulider到底那个更有前途?(请客观讨论)
- 请问大家一个小问题,Delphi里面有继承吗?TImage从TControl继承的,可是我为什么不能用它的AdjustSize呢?
- 入门级问题(如何使用在另一个unit中声明无返回值的函数(如何声明此函数))
- 求一显示WAVE波形的源代码(最好不用第三方的DLL)
var
S1, S2: string;
I, L: Integer;
begin
S1 := '1234567890';
L := Length(S1);
SetLength(S2, L);
for i := L - 1 downto 1 do
S2[L - i] := S1[i];
Caption := S2;
end;我试过了。没有问题。
但你说的方法,我知道,
而且翻转字符串的方法还远不止这些!我现在想问的是,
用我上面的方法怎么就错了?
到底错哪了?
Str: string;
begin
Str := 'abcdefg';
ReverseString(Str);
ShowMessage(str);
end;
检查一下C、P、Q的值
“ C := P^;
P^ := Q^;
Q^ := C;”
我知道了。我看看原因。
这个表达式没问题吗?