是学Delphi的都进来!!!!!!!(10分)

  • 主题发起人 主题发起人 54weige
  • 开始时间 开始时间
5

54weige

Unregistered / Unconfirmed
GUEST, unregistred user!
var
S: array[0..1000000] of Char;
begin
{ Set to all spaces }
FillChar(S, SizeOf(S), Ord('d'));
我还不满足,s太少了!
 
这个没什么对内存初始化而已....
 
楼主标题的这种口气似乎不太友好!我看了标题开始还以为是来找茬打架的呢,问问题这个态度似乎不妥(让人感觉是:傲慢+无理,进来的DFW们就是知道恐怕也不愿意回答你的问题)...
 
我向全国人民道歉.
 
这不是摆明找自己麻烦?
定义那么大的数组来干嘛?
 
var
S: array of Char;
begin
SetLength(S, 10000000000);
动态设置,随便你设置,想多大就多大(只要内存能放下),也可以开始分配一点点,越用需要越多的时候继续增大.随便你设置.
 
支持zqw0117的,动态设置
 
用了zqw0117大哥的方法,程序错误!
 
var
buf: pchar;
begin
Buf:= VirtualAlloc(nil, 16777215, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
end;
 
建议用 链表
 
认为zqw0117 可行,否则,没有用到那么多内存,不久浪费了
 
局部数组肯定不行,就用全局数组吧,估计行。
 
type
TForm1 = class(TForm)
btn1: TButton;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
S: array[0..1000000000] of Char;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
begin
{ Set to all spaces }
FillChar(S, SizeOf(S), Ord('d'));

end;

end.

调试通过。
 
你还可以改一改数值,我没多试。
不过调试这个程序时,我的机器变得超慢,内存从380多M一下猛增到1.3G
受不了。
建议:如果能用链表,最好用链表吧。
 
zqw0117应该行的,你看看你程序是不是其它地方出错了,能不能说说你分那么大干嘛用呀,有些不切实际的问题不一定要解决的。,
 

Similar threads

S
回复
0
查看
688
SUNSTONE的Delphi笔记
S
S
回复
0
查看
683
SUNSTONE的Delphi笔记
S
I
回复
0
查看
625
import
I
I
回复
0
查看
577
import
I
后退
顶部