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

📄 frmini.pas

📁 一个简单的同学录软件
💻 PAS
字号:
unit FrmInI;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Buttons, jpeg, Frminilogin, frmINIsmtp, Frminiosoon,
  Frminisuc, FrmWelcome, xutils, rcdstud;

type
  Tfmini = class(TForm)
    StaticText1: TStaticText;
    btnnext: TBitBtn;
    btnpre: TBitBtn;
    btndo: TBitBtn;
    Bevel2: TBevel;
    btnhelp: TBitBtn;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Image1: TImage;
    fminisuc1: Tfminisuc;
    fminiosoon1: Tfminiosoon;
    fminismtp1: Tfminismtp;
    Fminilogin1: TFminilogin;
    Fmwelcome1: TFmwelcome;
    procedure btnnextClick(Sender: TObject);
    procedure btnpreClick(Sender: TObject);
    procedure btndoClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fmini: Tfmini;

implementation

{$R *.DFM}

procedure Tfmini.btnpreClick(Sender: TObject);
begin
  if fminisuc1.Visible then
  begin
    fmwelcome1.Visible := false;
    fminilogin1.visible := false;
    fminismtp1.Visible := false;
    fminiosoon1.Visible := true;
    fminisuc1.Visible := false;
    btnpre.Enabled := true;
    btnnext.Enabled := true;
    btndo.Caption := '取消(&C)'
  end
  else if fminiosoon1.Visible then
  begin
    fmwelcome1.Visible := false;
    fminilogin1.visible := false;
    fminismtp1.Visible := true;
    fminiosoon1.Visible := false;
    fminisuc1.Visible := false;
    btnpre.Enabled := true;
    btnnext.Enabled := true;
    btndo.Caption := '取消(&C)'
  end
  else if fminismtp1.Visible then
  begin
    fmwelcome1.Visible := false;
    fminilogin1.visible := true;
    fminismtp1.Visible := false;
    fminiosoon1.Visible := false;
    fminisuc1.Visible := false;
    btnpre.Enabled := true;
    btnnext.Enabled := true;
    btndo.Caption := '取消(&C)'
  end
  else if fminilogin1.Visible then
  begin
    fmwelcome1.Visible := true;
    fminilogin1.visible := false;
    fminismtp1.Visible := false;
    fminiosoon1.Visible := false;
    fminisuc1.Visible := false;
    btnnext.Enabled := true;
    btnpre.Enabled := false;
    btndo.Caption := '取消(&C)'
  end;
end;

procedure Tfmini.btnnextClick(Sender: TObject);
begin
  if fmwelcome1.Visible then
  begin
    fmwelcome1.Visible := false;
    fminilogin1.visible := true;
    fminismtp1.Visible := false;
    fminiosoon1.Visible := false;
    fminisuc1.Visible := false;
    btnpre.Enabled := true;
    btnnext.Enabled := true;
    btndo.Caption := '取消(&C)'
  end
  else if fminilogin1.Visible then
  begin
    fmwelcome1.Visible := false;
    fminilogin1.visible := false;
    fminismtp1.Visible := true;
    fminiosoon1.Visible := false;
    fminisuc1.Visible := false;
    btnpre.Enabled := true;
    btnnext.Enabled := true;
    btndo.Caption := '取消(&C)'
  end
  else if fminismtp1.Visible then
  begin
    fmwelcome1.Visible := false;
    fminilogin1.visible := false;
    fminismtp1.Visible := false;
    fminiosoon1.Visible := true;
    fminisuc1.Visible := false;
    btnpre.Enabled := true;
    btnnext.Enabled := true;
    btndo.Caption := '取消(&C)'
  end
  else if fminiosoon1.Visible then
  begin
    fmwelcome1.Visible := false;
    fminilogin1.visible := false;
    fminismtp1.Visible := false;
    fminiosoon1.Visible := false;
    fminisuc1.Visible := true;
    btnnext.Enabled := false;
    btnpre.Enabled := true;
    btndo.Caption := '完成(&F)';
  end;
end;

procedure Tfmini.btndoClick(Sender: TObject);
var
  smtpfile: file of SmtpSetup;
  osoonfile: file of OsoonUser;
  loginfile: file of PLoginUser;
  rcdsmtp: smtpsetup;
  rcdosoon: osoonuser;
  rcdlogin: Ploginuser;
  temfn: string;
  ok1: boolean;
  ok2: boolean;
  ok3: boolean;
begin
  if btndo.Caption = '关闭(&X)' then
  begin
    fmini.Close;

  end;
  fminisuc1.meno.Lines.Clear;
  if (btndo.caption = '取消(&C)') and yesnobox('真的要退出吗?') then
  begin
    close;
  end;
  if btndo.caption = '完成(&F)' then
  begin
   {
   进行数据有效性验证先不进行,但要注意用trim来去掉空格
   文件名分别为
   user.log
   osoonini.dat
   smtpini.dat
   }
   //对用户名部分进行处理
   {********************************************}
    temfn := 'user.log';
    if FileExists(temfn) then //如果原用户名及密码存在则检查是否正确
    begin
      assignfile(loginfile, temfn);
      reset(loginfile);
      read(loginfile, rcdlogin);
      closefile(loginfile);
      if (fminilogin1.oUsername.Text = rcdlogin.name) and (fminilogin1.oPassword.Text = rcdlogin.password) then
      begin
        if (fminilogin1.nUsername.text <> '') and (fminilogin1.nPassword.text = fminilogin1.nPasswordr.text) then
        begin
          assignfile(loginfile, temfn);
          rewrite(loginfile);
          fminisuc1.meno.Lines.Add('正生成USER.LOG文件......');
          rcdlogin.name := trim(fminilogin1.nUsername.Text);
          rcdlogin.password := fminilogin1.nPassword.Text;
          write(loginfile, rcdlogin);
          fminisuc1.meno.Lines.Add('正生向USER.LOG文件写入数据......');
          closefile(loginfile);
          fminisuc1.meno.Lines.add('USER.LOG成功生成!');
          ok1 := true;
        end
        else
        begin
          msgbox('两次输入的新密码不对或新用户名为空请检查!');
          fmwelcome1.Visible := false;
          fminilogin1.visible := true;
          fminismtp1.Visible := false;
          fminiosoon1.Visible := false;
          fminisuc1.Visible := false;
          btnnext.Enabled := true;
          btnpre.Enabled := true;
          btndo.Caption := '取消(&C)';
          fminilogin1.nPassword.SetFocus;
          ok1 := false;
        end;

      end
      else
      begin
        msgbox('原用户名和密码不对请检查!');
        fmwelcome1.Visible := false;
        fminilogin1.visible := true;
        fminismtp1.Visible := false;
        fminiosoon1.Visible := false;
        fminisuc1.Visible := false;
        btnnext.Enabled := true;
        btnpre.Enabled := true;
        btndo.Caption := '取消(&C)';
        fminilogin1.opassword.SetFocus;
        ok1 := false;
      end;
    end
    else
    begin
      msgbox('丢失user.log文件,软件不完整,请email到joh007@21cn.com索取!');
      ok1 := false;
      close;

    end;

   {********************************************}
   {***********************************************
   //对smtp进行设置
   }
    with fminismtp1 do
    begin
      if (strname.Text <> '') and (strsmtp.Text <> '') and (strport.Text <> '') and (stremail.Text <> '') then
      begin
      //一切正常可以进行写入操作。
        temfn := 'smtpini.dat';
        assignfile(smtpfile, temfn);
        rewrite(smtpfile);
        fminisuc1.meno.Lines.Add('正在生成smtpini.dat......');
        reset(smtpfile);
        rcdsmtp.strUserId := trim(strname.text);
        rcdsmtp.strSmtp := trim(strsmtp.Text);
        rcdsmtp.strPort := trim(strport.Text);
        rcdsmtp.strEmail := trim(stremail.text);
        fminisuc1.meno.Lines.Add('正在向smtpini.dat写入数据......');
        write(smtpfile, rcdsmtp);
        closefile(smtpfile);
        fminisuc1.meno.Lines.Add('成功生成smtpini.dat!');
        ok2 := true;
      end
      else
      begin
      //有点问题提示要把所有项目都填写完整
        msgbox('smtp设置项目必须全部填写!');
        fmwelcome1.Visible := false;
        fminilogin1.visible := false;
        fminismtp1.Visible := true;
        fminiosoon1.Visible := false;
        fminisuc1.Visible := false;
        btnnext.Enabled := true;
        btnpre.Enabled := true;
        btndo.Caption := '取消(&C)';
        fminismtp1.strname.SetFocus;
        ok2 := false;
      end;
    end;
    {****************************************************}
    {进行osoon同学录设置工作}
    with fminiosoon1 do
    begin
      if (strname.Text <> '') and (strpassword.Text <> '') and (strdelay.Text <> '') then
      begin
      //写入数据
        temfn := 'osoonini.dat';
        assignfile(osoonfile, temfn);
        fminisuc1.meno.Lines.Add('正在生成osoonini.dat......');
        rewrite(osoonfile);
        reset(osoonfile);
        rcdosoon.username := trim(strname.Text);
        rcdosoon.password := trim(strpassword.Text);
        rcdosoon.classid := trim(strclassid.Text);
        rcdosoon.webdelay := strtoint(trim(strdelay.text));
        fminisuc1.meno.Lines.Add('正在向osoonini.dat写入数据......');
        write(osoonfile, rcdosoon);
        closefile(osoonfile);
        fminisuc1.meno.Lines.Add('成功生成osoonini.dat');
        ok3 := true;
      end
      else
      begin
        msgbox('osoon登陆设置有些项目没有完善!');
        fmwelcome1.Visible := false;
        fminilogin1.visible := false;
        fminismtp1.Visible := false;
        fminiosoon1.Visible := true;
        fminisuc1.Visible := false;
        btnnext.Enabled := true;
        btnpre.Enabled := true;
        btndo.Caption := '取消(&C)';
        fminiosoon1.strname.SetFocus;
        ok3 := false;
      end;
    end;
    {*****************************************************}
    if ok1 and ok2 and ok3 then
      btndo.Caption := '关闭(&X)';


  end;
end;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -