一个实用的小程序
pascal吧
全部回复
仅看楼主
level 8
徐一凡_exe 楼主
百度网盘
可用来测试设备读写速度(当然只能是存储设备[滑稽]
设置不合理而导致除零崩溃或硬盘损坏不要来找楼主,因为这是特性[滑稽],不是Bug。
会放代码,给新手学习用的。
2017年01月21日 04点01分 1
level 8
徐一凡_exe 楼主
uses crt,dos;
const b:array[1..10]of string=('Byte','KB','MB','GB','TB','PB','EB','ZB','YB','BB');
var st:array[1..1000000]of ansistring;
f:array[1..1000000]of text;
s3:string;
c:char;
i,j,ls:longint;
h,m,s,hs,h2,m2,s2,hs2:word;
time,speed:real;
procedure start;
begin
clrscr;
writeln('要测试哪个设备?请键下字母。');
c:=readkey;
writeln('要测试几轮(4KB一轮,越大越准,还可以避免除零Bug,但小于1000000)?请输入数:');
readln(ls);
writeln('初始化写······');
for i:=1 to ls do begin
st[i]:='';
for j:=1 to 4096 do st[i]:=st[i]+chr(random(256));
str(i,s3);
s3:=c+':\file'+s3;
assign(f[i],s3);
rewrite(f[i]);
end;
writeln('测试写速度······共',ls,'轮,4KB一轮。');
gettime(h,m,s,hs);
for i:=1 to ls do write(f[i],st[i]);
gettime(h2,m2,s2,hs2);
time:=(h2-h)*360+(m2-m)*60+(s2-s)+(hs2-hs)/1000;
speed:=4096*ls/time;
i:=1;
while (speed>1023)and(i<10) do begin
inc(i);
speed:=speed/1024;
end;
writeln(c,'的写速度为',speed:0:1,b[i],'/秒。');
writeln('初始化读······');
for i:=1 to ls do begin
close(f[i]);
str(i,s3);
s3:=c+':\file'+s3;
assign(f[i],s3);
reset(f[i]);
end;
writeln('测试读速度······共',ls,'轮,4KB一轮。');
gettime(h,m,s,hs);
for i:=1 to ls do read(f[i],st[i]);
gettime(h2,m2,s2,hs2);
time:=(h2-h)*360+(m2-m)*60+(s2-s)+(hs2-hs)/1000;
speed:=4096*ls/time;
i:=1;
while (speed>1023)and(i<10) do begin
inc(i);
speed:=speed/1024;
end;
writeln(c,'的读速度为',speed:0:1,b[i],'/秒。');
writeln('测试删除速度······共',ls,'轮,4KB一轮。');
gettime(h,m,s,hs);
for i:=1 to ls do begin
close(f[i]);
str(i,s3);
s3:=c+':\file'+s3;
assign(f[i],s3);
erase(f[i]);
end;
gettime(h2,m2,s2,hs2);
time:=(h2-h)*360+(m2-m)*60+(s2-s)+(hs2-hs)/1000;
speed:=4096*ls/time;
i:=1;
while (speed>1023)and(i<10) do begin
inc(i);
speed:=speed/1024;
end;
writeln(c,'的删除速度为',speed:0:1,b[i],'/秒。');
readln;
clrscr;
end;
begin
randomize;
clrscr;
while true do begin
writeln('设备读写速度测试');
writeln('开 始(1)');
writeln('退 出(2)');
c:=readkey;
while pos(c,'12')=0 do c:=readkey;
case c of
'1':start;
'2':halt;
end;
end;
end.
含有单位自动换算、crt、文件操作、获取系统时间。
新手可以学到很多东西(是吗?[滑稽]
2017年01月21日 04点01分 2
真的很短很垃圾,不到一层。比那些大神的成楼神作渣多了[阴险]
2017年01月21日 04点01分
运行时360报毒,说明你得重装系统了。
2017年01月21日 04点01分
level 8
徐一凡_exe 楼主
连下载文件的都没有吗?
pascal吧好冷清
2017年01月21日 12点01分 5
level 11
dd if=/dev/zero of=~/test.img bs=8k count=256k && rm -f ~/test.img
删Windows保平安[呵呵]
2017年01月22日 09点01分 6
level 9
目测LZ不知道text文件是每256字节一block的。
2017年01月22日 20点01分 9
我不是大神 我怎么知道
2017年02月03日 04点02分
irs
2017年02月03日 04点02分
orz
2017年02月03日 04点02分
level 15
神踏马不是bug[滑稽][滑稽]
2017年02月12日 12点02分 11
level 7
为什么用CRT可以输出中文
2017年02月18日 05点02分 12
你不知道?
2017年02月18日 08点02分
我怎么不行
2017年02月18日 10点02分
不用crt就可以
2017年02月18日 10点02分
1