我不会Delphi,哪位兄弟能帮我翻译成C#或VB或VB.net

liujiayu10 2008-11-24 08:53:14
TMP_STRINGLIST.TEXT由文本读出
TMP_STRINGLIST.text := Cl_crypt32.cl_decrypt(trim(TMP_STRINGLIST.text))


const
StartKey = 956; {Start default key}
MultKey = 58645; {Mult default key}
AddKey = 28564; {Add default key}

function cl_decrypt(s:AnsiString):AnsiString;
var
cl_StartKey, cl_Multkey, cl_AddKey:word;
begin
cl_StartKey:=strtoint(decrypt(cl_bytetocharstr(copy(s, 1, 9)),StartKey,MultKey,AddKey));
cl_MultKey:=strtoint(decrypt(cl_bytetocharstr(copy(s, 10, 15)),StartKey,MultKey,AddKey));
cl_AddKey:=strtoint(decrypt(cl_bytetocharstr(copy(s, 25, 15)),StartKey,MultKey,AddKey));
result:=decrypt(cl_bytetocharstr(copy(s, 40, length(s)-39)),cl_StartKey,cl_MultKey,cl_AddKey);
end;

function Decrypt(const InString:AnsiString; StartKey,MultKey,AddKey:word): AnsiString;
var
I : word;
begin
Result := '';
for I := 1 to Length(InString) do
begin
Result := Result + CHAR(Byte(InString[I]) xor (StartKey shr 8));
StartKey := (Byte(InString[I]) + StartKey) * MultKey + AddKey;
end;
end;
...全文
86 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
僵哥 2008-11-24
  • 打赏
  • 举报
回复
TMP_STRINGLIST.TEXT由文本读出
TMP_STRINGLIST.text = Cl_crypt32.cl_decrypt(trim(TMP_STRINGLIST.text)) 'TMP_STRINGLIST这里可以当是一个TextBox,Cl_crypt32是一个加解密函数定义单元


const StartKey as Integer = 956 '{Start default key}
const MultKey as Integer = -6891 '58645 '{Mult default key}
const AddKey as Integer = 28564 ' {Add default key}

function cl_decrypt(s as String) as String
dim cl_StartKey as Integer, cl_Multkey as Integer, cl_AddKey as integer
cl_StartKey = decrypt(cl_bytetocharstr(mid(s, 1, 9)),StartKey,MultKey,AddKey)
cl_MultKey = decrypt(cl_bytetocharstr(mid(s, 10, 15)),StartKey,MultKey,AddKey)
cl_AddKey = decrypt(cl_bytetocharstr(mid(s, 25, 15)),StartKey,MultKey,AddKey)
cl_decrypt = decrypt(cl_bytetocharstr(mid(s, 40, len(s)-39)),cl_StartKey,cl_MultKey,cl_AddKey)
end function

function Decrypt(byval InString As String, StartKey as Integer,MultKey as Integer,AddKey As Integer) As String

dim I as Integer

Decrypt = ""
for I = 0 to Len(InString)-1
Decrypt = Decrypt & CHR(asc(Mid(InString,I,1)) xor (StartKey \ 256))
StartKey = (asc(Mid(InString,I,1)) + StartKey) * MultKey + AddKey;
Next I
end function

缺少函数:cl_bytetocharstr
另外,对于字符串的处理品,比如比如Len,Mid,ASC之类的,对于多字节字符比如中文的处理,可能需要做个转换(学VB的应该明白的^_^)
内容概要:本文详细介绍了一种基于MATLAB实现的改进前推回代法,用于高效求解低压配电网的潮流计算问题。该方法针对传统前推回代法在处理放射状或弱环状配电网络时存在的收敛性差、计算效率低等缺陷,提出了多项优化策略,包括节点分层排序、支路编号优化以及合理的电压初始值设定,从而显著提升了算法的数值稳定性与运算速度。文中系统阐述了改进算法的数学模型构建过程与核心原理,并提供了完整的MATLAB代码实现流程。通过标准算例的仿真测试,验证了该改进方法在计算精度和收敛性能方面的优越性,可为低压配电网的规划、运行状态分析、电压调控及分布式电源接入能力评估等实际工程问题提供可靠的技术支撑。; 适合人群:具备电力系统分析基础知识和MATLAB编程能力的高校研究生、从事电力系统相关研究的科研人员,以及负责配电网规划、运行与优化的工程技术人员。; 使用场景及目标:①实现低压配电网的稳态潮流计算与仿真分析,获取各节点电压和支路功率分布;②支撑含分布式光伏、储能等设备接入的配电网承载力评估与电压越限风险分析;③用于研究电压调控策略、无功补偿配置等优化问题;④作为电力系统专业课程的教学案例,助学生深入理解潮流计算的基本原理与数值算法的编程实现。; 阅读建议:建议读者结合文中的理论推导与提供的MATLAB代码进行上机实践,重点关注节点分层逻辑和迭代收敛判据的编程实现细节,通过调试和修改算例参数来加深理解,并可尝试将该方法拓展应用于三相不平衡潮流或动态潮流计算等更复杂的场景。

16,741

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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