📄 复件 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB;
type
TForm1 = class(TForm)
ADOQuery2: TADOQuery;
Memo1: TMemo;
Button1: TButton;
Label1: TLabel;
Memo2: TMemo;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
my:array[0..1000000] of string;
mycount,temp:integer;
implementation
{$R *.dfm}
function save(b:string;a:string;c:string):string;
var
saveedit:TStringList;
filename:String; //文件名
filestr:String; //文本字符串
begin
try
createdir(ExtractFilePath(Application.ExeName)+c);
except
end;
filename:=ExtractFilePath(Application.ExeName)+c+a+'.txt'; //名称为exe所在的目录下格式为当前日期.txt
filestr:=b;
saveedit:=TStringList.Create;
saveedit.Text:=filestr;
if Not FileExists(filename) then //判断文件是否存在
saveedit.SaveToFile(filename)//不存在创建
else
begin
saveedit.LoadFromFile(filename);//存在打开
saveedit.add(filestr); //追加
saveedit.SaveToFile(filename);//保存
end;
saveedit.Free; //释放
end;
procedure TForm1.FormCreate(Sender: TObject);
var
st:string;
begin
mycount:=1000000 ;
st:=ExtractFilePath(Application.ExeName);
adoquery2.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+st+'english.mdb;Persist Security Info=False';
memo2.Lines.LoadFromFile(st+'sql.txt');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
sql,mystr:string;
use,z,n,t,i,j,ii,jj,kk,ll,mm,nn,oo,pp,qq,jja,kka,lla,mma,nna,ooa,ppa,qqa:integer;
begin
temp:=0;
j:=0;
for i:=0 to mycount do
my[i]:='';
form1.adoquery2.Close;
form1.adoquery2.SQL.Clear;
sql:=memo2.Text;
form1.adoquery2.SQL.Add(sql);
form1.adoquery2.Open ;
label1.Caption:='一共有'+ inttostr(form1.adoquery2.RecordCount)+'条记录!';
for i:=0 to adoquery2.RecordCount-1 do
begin
if j=5 then
begin
j:=0;
for ii:=temp to mycount do
if my[ii]=''then
begin
temp:=ii;
my[ii]:=mystr;
use:=ii+2;
for jj:=use to mycount do
if my[jj]=''then
begin
for jja:=use to jj-1 do
my[jj-jja+use]:=my[jj-jja+use-1];
my[use]:=mystr;
use:=use+4;
for kk:=use to mycount do
if my[kk]=''then
begin
for kka:=use to kk-1 do
my[kk-kka+use]:=my[kk-kka+use-1];
my[use]:=mystr;
use:=use+8;
for ll:=use to mycount do
if my[ll]='' then
begin
for lla:=use to ll-1 do
my[ll-lla+use]:=my[ll-lla+use-1];
my[use]:=mystr;
use:=use+16;
for mm:=use to mycount do
if my[mm]='' then
begin
for mma:=use to mm-1 do
my[mm-mma+use]:=my[mm-mma+use-1];
my[use]:=mystr;
use:=use+32;
for nn:=use to mycount do
if my[nn]='' then
begin
for nna:=use to nn-1 do
my[nn-nna+use]:=my[nn-nna+use-1];
my[use]:=mystr;
use:=use+64;
for oo:=use to mycount do
if my[oo]='' then
begin
for ooa:=use to oo-1 do
my[oo-ooa+use]:=my[oo-ooa+use-1];
my[use]:=mystr;
use:=use+128;
for pp:=use to mycount do
if my[pp]='' then
begin
for ppa:=use to pp-1 do
my[pp-ppa+use]:=my[pp-1-ppa+use];
my[use]:=mystr;
use:=use+256;
for qq:=use to mycount do
if my[qq]='' then
begin
for qqa:=use to qq-1 do
my[qq-qqa+use]:=my[qq-1-qqa+use];
my[use]:=mystr;
break;
end;
break;
end;
break;
end;
break;
end;
break;
end;
break;
end;
break;
end;
break;
end;
break;
end;
mystr:='';
end;
j:=j+1;
mystr:=mystr+adoquery2.Fieldbyname('单词').AsString;
mystr :=mystr+' '+ adoquery2.Fieldbyname('翻译').AsString;
mystr :=mystr+' '+ adoquery2.Fieldbyname('频率').AsString+#13#10;
adoquery2.Next;
end;
for n:=0 to mycount do
if my[mycount-n]<>'' then
begin
for t:=0 to mycount-n do
if my[t]<>'' then
memo1.Lines.Add(my[t]+#13#10);
break;
end;
save(memo1.Text,'文件','');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -