⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 从英文单词提取、到网上下载翻译
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, ADODB, ComCtrls;

type
  TForm1 = class(TForm)
    ADOQuery2: TADOQuery;
    Memo1: TMemo;
    Button1: TButton;
    Label1: TLabel;
    Memo2: TMemo;
    ProgressBar1: TProgressBar;
    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
                    my[jj]:=mystr;
                         use:=jj+5;
                     for kk:=use to  mycount do
                     if my[kk]=''then
                     begin
                        my[kk]:=mystr;
                             use:=kk+10;
                         for ll:=use to mycount do
                             if my[ll]='' then
                               begin

                                  my[ll]:=mystr;
                                use:=ll+25;
                               for mm:=use to mycount do
                                  if  my[mm]='' then
                                  begin
                                   my[mm]:=mystr;

                                use:=mm+60;
                                  for nn:=use to mycount do
                                      if my[nn]='' then
                                      begin
                                        
                                    my[nn]:=mystr;

                                     use:=nn+200;
                                         for oo:=use to mycount do
                                           if my[oo]='' then
                                            begin

                                            my[oo]:=mystr;
                                              {
                                              use:=use+500;
                                               for pp:=use to mycount do
                                                 if my[pp]='' then
                                                    begin
                                                   my[pp]:=mystr;

                                                   use:=pp+1000;
                                                         for qq:=use to mycount do
                                                         if my[qq]='' then
                                                               begin
                                                            my[qq]:=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 + -