📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
ADOQuery1: TADOQuery;
DBGrid1: TDBGrid;
Button2: TButton;
DataSource1: TDataSource;
ADOQuery2: TADOQuery;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
myi:integer;
add:array[0..100000] of array[0..1] of string;
implementation
{$R *.dfm}
function Fun2(C:Char):Char;
begin
result:=Dec(C, 32);
end;
function mydo(a:string;b:integer):string;
var
sql:string;
num:integer;
begin
form1.adoquery1.Close;
form1.adoquery1.SQL.Clear;
sql:='select * from lib where 单词='+#39+a+#39;
try
form1.adoquery1.SQL.Add(sql);
form1.adoquery1.Open ;
except
end;
sql:='';
if form1.adoquery1.FieldByName('单词').Asstring=a then
begin //4
num:=form1.adoquery1.FieldByName('频率').AsInteger+b;
sql:='update lib set 频率='+inttostr(num)+' where 单词='+#39+a+#39;
end
else
sql:='insert into lib (单词,频率) values ('+#39+a+#39+','+inttostr(b)+')';
form1.adoquery1.Close;
form1.adoquery1.SQL.Clear;
try
form1.adoquery1.SQL.Add(sql);
form1.adoquery1.ExecSQL
except
end; //4.1
end;
function insert(a:string):string;
var
n,j,i,mytime:integer;
begin
if ((a<>'')and (length(a)>2)) then
begin
for j:=0 to length(a)-1 do
if (a[j] in ['A'..'Z'])then
a[j]:=fun2(a[j]);
n:=10 ;
for i:=0 to myi-1 do
if add[i][0]=a then
begin
mytime:=strtoint(add[i][1])+1;
add[i][1]:=inttostr(mytime);
n:=20;
break;
end ;
if n=10 then
begin
add[myi][0]:=a;
add[myi][1]:='1';
myi:=myi+1;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
st,buff,buf,word:string;
i:integer;
begin
st:=ExtractFilePath(Application.ExeName);
adoquery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+st+'english.mdb;Persist Security Info=False';
memo1.Lines.LoadFromFile(st+'eng.txt');
buf:=memo1.Text ;
{for i:=0 to length(buff)-1 do
begin
if not ((buff[i] in['A'..'Z']) or (buff[i] in ['a'..'z'])) then
begin
buf:=StringReplace(buff,'buff[i]',' ',[rfReplaceAll]);
end
end;
repeat
if pos(' ',buf)>0 then
delete(buf,pos(' ',buf),1);
until pos(' ',buf)<=0;
word:=''; }
for i:=0 to length(buf)-1 do
if ((buf[i] in ['A'..'Z']) or (buf[i] in ['a'..'z'])) then
word:=word+buf[i]
else
if ((buf[i-1] in ['A'..'Z']) or (buf[i-1] in ['a'..'z'])) then
begin
// showmessage('zzzzzz');
insert(word);
word:='';
end;
showmessage('ok00000000000000');
for i:=0 to myi-1 do
begin
mydo(add[i][0],strtoint(add[i][1]));
end;
myi:=0;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
sql:string;
begin
form1.adoquery2.Close;
form1.adoquery2.SQL.Clear;
sql:='select * from lib order by 频率 desc';
form1.adoquery2.SQL.Add(sql);
form1.adoquery2.Open ;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
st:string;
i:integer;
begin
st:=ExtractFilePath(Application.ExeName);
adoquery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+st+'english.mdb;Persist Security Info=False';
adoquery2.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+st+'english.mdb;Persist Security Info=False';
myi:=0;
for i:=0 to 100000 do
add[i][1]:='0';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -