讨论一下Copy函数的问题,顺便放分

劣势 2004-11-26 05:53:58
鄙人在用COPY的时候总是想着Delphi中的源码的注释,下面是它的注释
{ limit index to satisfy 1 <= index <= Length(src) }
但是呢我们在用的时候index可以为0,也可以为1,一般情况下我们都是用1的,呵呵,
纳闷呀这两个参数传进去得到的值是一样的
...全文
457 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinaandys 2004-11-30
  • 打赏
  • 举报
回复
强烈支持 beyondtkl(大龙驹<*step by step:Cpp&&Crack*>) ,这位兄弟,是真正的高手,高深莫测
好人啊,CSDN上的好兄弟啊
surpassable 2004-11-30
  • 打赏
  • 举报
回复
mark~~~

学习,学习~~

preview 汇编
beyondtkl 2004-11-29
  • 打赏
  • 举报
回复
呵呵,什么人都有,to beyondtkl(大龙驹<暗黑系魔法师&&赏金猎人>) 你注释的很好,研究嘛,还是深一些的好,写delphi程序不是pascal语言的堆砌。


// ??? 唉 我看不懂你说的话 是赞同我的说法么 呵呵
我也是略懂皮毛而已... 研究 是谈不上的。
劣势 2004-11-29
  • 打赏
  • 举报
回复
呵呵,老兄我不是在说你的坏话,我是说有些人上来就知道要分码,也不说上几句有印象的话语。
学习Java中 2004-11-28
  • 打赏
  • 举报
回复
up
bgtlw 2004-11-28
  • 打赏
  • 举报
回复
学习
fsybaby 2004-11-28
  • 打赏
  • 举报
回复
看不懂!
zz5290 2004-11-28
  • 打赏
  • 举报
回复
学习学习再学习
nyf1220 2004-11-27
  • 打赏
  • 举报
回复
欺负看不动汇编的,哈哈
masterjames 2004-11-27
  • 打赏
  • 举报
回复
支持一下
lyguo 2004-11-27
  • 打赏
  • 举报
回复
学习
劣势 2004-11-27
  • 打赏
  • 举报
回复
呵呵,什么人都有,to beyondtkl(大龙驹<暗黑系魔法师&&赏金猎人>) 你注释的很好,研究嘛,还是深一些的好,写delphi程序不是pascal语言的堆砌。
beyondtkl 2004-11-27
  • 打赏
  • 举报
回复
什么研究那么深。。。就算研究深点 不好吗????

呵呵 也许人人都不一样吧...
cloudyandfog 2004-11-27
  • 打赏
  • 举报
回复
研究的好高深啊。历害。
merkey2002 2004-11-27
  • 打赏
  • 举报
回复
汗...
研究那么深...
不就是一个copy函数么

其实我是来接分的^_^
jackie168 2004-11-26
  • 打赏
  • 举报
回复
uses shellapi;
var tmp:string; //全局变量
function WinCOPY(SourceFileName: String; TargetFileName: String): String;
var
OpStruc: TSHFileOpStruct;
FromBuf,ToBuf: Array[0..128] of Char;
opstr, Wnd:integer;
begin
FillChar(FromBuf,Sizeof(FromBuf),0);
FillChar(ToBuf,Sizeof(ToBuf),0);
//用0初始化FromBuf和ToBuf数组
StrPCopy(FromBuf,Pchar(SourceFileName));
StrPCopy(ToBuf,Pchar(TargetFileName));
//分别在 FromBuf和ToBuf数组中填入操作的源目录及目标目录
//开始填充OpStruc记录
with OpStruc do
begin
// Wnd:=Handle;
wFunc:=FO_COPY;
//复制操作
pFrom:=@FromBuf;
pTo:=@ToBuf;
fFlags:=FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
fAnyOperationsAborted:=False;
hNameMappings:=nil;
lpszProgressTitle:=nil;
OpStR:= SHFileOperation(OpStruc);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
tmp:=OpenDialog1.FileName;
if SaveDialog1.Execute then
WinCOPY(tmp,(SaveDialog1.FileName+ExtractFileExt(OpenDialog1.FileName)));
showmessage('文件复制成功!');
end;
liyu001xj 2004-11-26
  • 打赏
  • 举报
回复
up ,mark
ahpei 2004-11-26
  • 打赏
  • 举报
回复
明年再看,先mark.
whythinkwhy 2004-11-26
  • 打赏
  • 举报
回复
楼上都汗
我up
Jute 2004-11-26
  • 打赏
  • 举报
回复
_Copy{ s : ShortString; index, count : Integer ) : ShortString};
asm
{ ->EAX Source string }
{ EDX index }
{ ECX count }
{ [ESP+4] Pointer to result string }

PUSH ESI
PUSH EDI

MOV ESI,EAX
MOV EDI,[ESP+8+4]

XOR EAX,EAX
OR AL,[ESI]
JZ @@srcEmpty
....
加载更多回复(12)
LINGO是用来求解线性和非线性优化问题的简易工具。LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果。 §1 LINGO快速入门 当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口: 外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGO Model – LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。下面举两个例子。 例1.1 如何在LINGO中求解如下的LP问题: 在模型窗口中输入如下代码: min=2*x1+3*x2; x1+x2>=350; x1>=100; 2*x1+x2<=600; 然后点击工具条上的按钮 即可。 例1.2 使用LINGO软件计算6个发点8个收点的最小费用运输问题。产销单位运价如下表。 单 位 销地 运 价 产地 B1 B2 B3 B4 B5 B6 B7 B8 产量 A1 6 2 6 7 4 2 5 9 60 A2 4 9 5 3 8 5 8 2 55 A3 5 2 1 9 7 4 3 3 51 A4 7 6 7 3 9 2 7 1 43 A5 2 3 9 5 7 2 6 5 41 A6 5 5 2 2 8 1 4 3 52 销量 35 37 22 32 41 32 43 38 使用LINGO软件,编制程序如下: model: !6发点8收点运输问题; sets: warehouses/wh1..wh6/: capacity; vendors/v1..v8/: demand; links(warehouses,vendors): cost, volume; endsets !目标函数; min=@sum(links: cost*volume); !需求约束; @for(vendors(J): @sum(warehouses(I): volume(I,J))=demand(J)); !产量约束; @for(warehouses(I): @sum(vendors(J): volume(I,J))<=capacity(I)); !这里是数据; data: capacity=60 55 51 43 41 52; demand=35 37 22 32 41 32 43 38; cost=6 2 6 7 4 2 9 5 4 9 5 3 8 5 8 2 5 2 1 9 7 4 3 3 7 6 7 3 9 2 7 1 2 3 9 5 7 2 6 5 5 5 2 2 8 1 4 3; enddata end 然后点击工具条上的按钮 即可。 为了能够使用LINGO的强大功能,接着第二节的学习吧。 §2 LINGO中的集 对实际问题建模的时候,总会遇到一群或多群相联系的对象,比如工厂、消费者群体、交通工具和雇工等等。LINGO允许把这些相联系的对象聚合成集(sets)。一旦把对象聚合成集,就可以利用集来最大限度的发挥LINGO建模语言的优势。 现在我们将深入介绍如何创建集,并用数据初始化集的属性。学完本节后,你对基于建模技术的集如何引入模型会有一个基本的理解。 2.1 为什么使用集 集是LINGO建模语言的基础,是程序设计最强有力的基本构件。借助于集,能够用一个单一的、长的、简明的复合公式表示一系列相似的约束,从而可以快速方便地表达规模较大的模型。 2.2 什么是集 集是一群相联系的对象,这些对象也称为集的成员。一个集可能是一系列产品、卡车或雇员。每个集成员可能有一个或多个与之有关联的特征,我们把这些特征称为属性。属性值可以预先给定,也可以是未知的,有待于LINGO求解。例如,产品集中的每个产品可以有一个价格属性;卡车集中的每辆卡车可以有一个牵引力属性;雇员集中的每位雇员可以有一个薪水属性,也可以有一个生日属性等等。 LINGO有两种类型的集:原始集(primitive set)和派生集(derived set)。 一个原始集是由一些最基本的对象组成的。 一个派生集是用一个或多个其它集来定义的,也就是说,它的成员来自于其它已存在的集。 2.3 模型的集部分 集部分是LINGO模型的一个可选部分。在LINGO模型中使用集之前,必须在集部分事先定义。集部分以关键字“sets:”开始,以“endsets”结束。一个模型可以没有集部分,或有一个简单的集部分,或有多个集部分。一个集部分可以放置于模型的任何地方,但是一个集及其属性

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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