我看到并测试过,我谁知道根据和原理是什么?
解决方案 »
- 请问fastReport与Delphi环境如何实现交互?
- 求助有关delphi对象指针的问题
- 这些错误怎么修正?
- 图像与文字的合成的问题,
- 库存表要不要加商品的进货价、零售价字段??~我原来做的有,后来觉得出问题了,大家做的有没有呢?
- 救命呀,会vb和delphi的高手,请进呀---------------------再现等待
- 菜鸟想的纯玻璃,期待大牛们更好的方法来改进
- 一个简单的问题
- 请问各位高手以及斑竹,想掌握Delphi的VCL框架应该如何下手?
- 有关delphi调用存储过程的问题?
- Serversocket问题/客户每次连接-断开一次,服务程序占用内存就增加4K,为什么?
- 请教内存泄漏的问题
例如5^5=(5-1)^(5+1)=(5-1-1)^(5+1+1)
因为加一和减一,在和相同的两个数上发生,两个数对应二进制的最后一位都会跟原先的值取反,其他位的变化也一样。既然是^运算,两个bit都求反了,那^运算后的结果就不变。
我的例子,是两个5开始,两个数相等,用不相等的,例如7,6,也可以一样考虑。只是个人的理解方式,也想看一下大家的想法。
标题:处理IDE特殊字符
说明:就算Borland公司的人看了也会下一跳!
设计:Zswang
日期:2002-04-18
支持:wjhu111#21cn.com
//*)///////Begin Source
const
cIDEc: array[#0..#255] of string =
(
'^'#64, '^'#97, '^'#98, '^'#99, '^'#100, '^'#101, '^'#102, '^'#103, '^'#104,
'^'#105, '^'#106, '^'#107, '^'#108, '^'#109, '^'#110, '^'#111, '^'#112, '^'#113,
'^'#114, '^'#115, '^'#116, '^'#117, '^'#118, '^'#119, '^'#120, '^'#121, '^'#122,
'^'#91, '^'#92, '^'#93, '^'#94, '^'#95, '^'#96, '#33', '#34', '#35', '#36',
'#37', '#38', '#39', '#40', '#41', '#42', '#43', '#44', '#45', '#46', '#47',
'#48', '#49', '#50', '#51', '#52', '#53', '#54', '#55', '#56', '#57', '#58',
'^'#123, '^'#124, '^'#125, '^'#126, '^'#127, '#64', '^'#1, '^'#2, '^'#3, '^'#4,
'^'#5, '^'#6, '^'#7, '^'#8, '^'#9, '^'#10, '^'#11, '^'#12, '^'#13, '^'#14,
'^'#15, '^'#16, '^'#17, '^'#18, '^'#19, '^'#20, '^'#21, '^'#22, '^'#23, '^'#24,
'^'#25, '^'#26, '^'#27, '^'#28, '^'#29, '^'#30, '^'#31, '^'#32, '^'#33, '^'#34,
'^'#35, '^'#36, '^'#37, '^'#38, '^'#39, '^'#40, '^'#41, '^'#42, '^'#43, '^'#44,
'^'#45, '^'#46, '^'#47, '^'#48, '^'#49, '^'#50, '^'#51, '^'#52, '^'#53,
'^'#54, '^'#55, '^'#56, '^'#57, '^'#58, '^'#59, '^'#60, '^'#61, '^'#62,
'^'#63, '^'#192, '^'#193, '^'#194, '^'#195, '^'#196, '^'#197, '^'#198, '^'#199,
'^'#200, '^'#201, '^'#202, '^'#203, '^'#204, '^'#205, '^'#206, '^'#207, '^'#208,
'^'#209, '^'#210, '^'#211, '^'#212, '^'#213, '^'#214, '^'#215, '^'#216, '^'#217,
'^'#218, '^'#219, '^'#220, '^'#221, '^'#222, '^'#223, '^'#224, '^'#225, '^'#226,
'^'#227, '^'#228, '^'#229, '^'#230, '^'#231, '^'#232, '^'#233, '^'#234, '^'#235,
'^'#236, '^'#237, '^'#238, '^'#239, '^'#240, '^'#241, '^'#242, '^'#243, '^'#244,
'^'#245, '^'#246, '^'#247, '^'#248, '^'#249, '^'#250, '^'#251, '^'#252, '^'#253,
'^'#254, '^'#255, '^'#128, '^'#129, '^'#130, '^'#131, '^'#132, '^'#133, '^'#134,
'^'#135, '^'#136, '^'#137, '^'#138, '^'#139, '^'#140, '^'#141, '^'#142, '^'#143,
'^'#144, '^'#145, '^'#146, '^'#147, '^'#148, '^'#149, '^'#150, '^'#151, '^'#152,
'^'#153, '^'#154, '^'#155, '^'#156, '^'#157, '^'#158, '^'#159, '^'#160, '^'#161,
'^'#162, '^'#163, '^'#164, '^'#165, '^'#166, '^'#167, '^'#168, '^'#169, '^'#170,
'^'#171, '^'#172, '^'#173, '^'#174, '^'#175, '^'#176, '^'#177, '^'#178, '^'#179,
'^'#180, '^'#181, '^'#182, '^'#183, '^'#184, '^'#185, '^'#186, '^'#187, '^'#188,
'^'#189, '^'#190, '^'#191);function StrToIDEc(mStr: string): string;
var
I: Integer;
begin
Result := '';
for I := 1 to Length(mStr) do
Result := Result + cIDEc[mStr[I]];
end; { StrToIDEc }function IDEcToStr(mIDEc: string): string;
var
C: Char;
I, L: Integer;
T: string;
begin
Result := '';
I := 1;
L := Length(mIDEc);
mIDEc := LowerCase(mIDEc);
while I <= L do begin
if mIDEc[I] = '^' then begin
for C := #0 to #255 do
if cIDEc[C] = Copy(mIDEc, I, 2) then begin
Result := Result + C;
Inc(I, 2);
Break;
end;
end else if mIDEc[I] = '#' then begin
T := '';
Inc(I);
while mIDEc[I] in ['0'..'9'] do begin
T := T + mIDEc[I];
Inc(I);
end;
if T <> '' then Result := Result + Chr(StrToIntDef(T, 0));
end else Inc(I);
end;
end; { IDEcToStr }
///////End Source///////Begin Demo
procedure TForm1.Button1Click(Sender: TObject);
begin
Clipboard.AsText := StrToIDEc(Edit1.Text);
Caption := IDEcToStr(Clipboard.AsText);
ShowMessage(^^!^3^4^%);
end;
///////End Demo