CSDN 寻找最后一个Delphi犀利哥

原创 2010年05月26日 16:54:00

百度知道真垃圾,那么大的一个企业,就给那么点空间,提个问1500字限制了。想想来csdn,挂了一个星期都没人理,不知道是我分太少,还是真的高手都不来这里???期待一个英雄的到来,菜鸟我在这里拜谢了!!其实这根本不是生命难题,我才刚刚学,问不出生命高深的题目来:
rT;
delphi7 ,DB:oracle
问题运行工程文件exe不报错,出现了登入界面却,无法进入基本界面,调出任务管理器看不到EXE的进程,生命这个系统已经退出了。
主界面的代码:login.pass  ,name 属性frmLogin
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls;

type
  TfrmMain = class(TForm)
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmMain: TfrmMain;

implementation

uses GoodsInfo, Vendor, InHouse, OutHouse, Stocks, AlterPWD;

{$R *.dfm}

procedure TfrmMain.SpeedButton2Click(Sender: TObject);
begin
  frmGoodsinfo:=TfrmGoodsinfo.Create(self);
  frmGoodsinfo.Showmodal;
  frmGoodsinfo.Free;
end;

procedure TfrmMain.SpeedButton3Click(Sender: TObject);
begin
   frmVendor:=TfrmVendor.Create(self);
   frmVendor.Showmodal;
   frmVendor.Free;

end;

procedure TfrmMain.SpeedButton4Click(Sender: TObject);
begin
  frmInHouse:=TfrmInHouse.Create(self);
  frmInHouse.Showmodal;
  frmInhouse.Free;

end;

procedure TfrmMain.SpeedButton5Click(Sender: TObject);
begin
 frmOutHouse:=TfrmOutHouse.Create(self);
  frmOutHouse.Showmodal;
  frmOutHouse.Free;

end;

procedure TfrmMain.SpeedButton6Click(Sender: TObject);
begin
  frmStocks:=TfrmStocks.Create(self);
  frmStocks.Showmodal;
  frmStocks.Free;

end;

procedure TfrmMain.BitBtn1Click(Sender: TObject);
begin
frmalterpwd:=Tfrmalterpwd.Create(self);
  frmalterpwd.Showmodal;
  frmalterpwd.Free;

end;

end.

 

登入界面
unit Login;

interface

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

type
  TfrmLogin = class(TForm)
    edtUserID: TEdit;
    edtPassword: TEdit;
    bbtYes: TBitBtn;
    bbtNo: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure bbtYesClick(Sender: TObject);
    procedure bbtNoClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmLogin: TfrmLogin;
  //  提供外界访问该表单的接口函数
  //  sAdminNo:用于接受登录用户输入的账号传递给调用者
  //  nStatus:当为0时表示是第一次登录,单击取消按钮退出整个程序
  //  当为1时表示是重新登录,单击取消按钮仅退出本程序
  function gfunOpenLogin(var usAdminNo:string ; nStatus:integer):integer;
implementation
  uses DataModual,main;
var
 sAdminNo: string;          // 接收管理员账号
 unStatus: integer;         // 与nStatus含义一样
 unTimes: integer;          // 计算用户登录次数

{$R *.dfm}
 //登录表单提供出来的接口函数
function gfunOpenLogin(var usAdminNo:string ; nStatus:integer):integer;
begin
  frmLogin := TfrmLogin.Create(nil);      // 动态创建登录表单对象
  unStatus := nStatus;                    //  将调用者参数送人unStatus变量中
  unTimes := 1;                            //  初始登录次数设置为1
  frmLogin.ShowModal;                      //  显示登录界面
  usAdminNo := sAdminNo;                   //   将登录界面的管理员账号返回给调用者
  result := 0;                             //   函数返回0值
  frmLogin.Free;                           //  释放登录表单对象
end;

procedure TfrmLogin.bbtYesClick(Sender: TObject);
var
   sConn : string;
  sAdminPwd : string;
begin
  sAdminNo := trim(edtUserID.text);
  sAdminPwd := trim(edtPassword.text);
  if sAdminNo = '' then                                //没有输入管理员账号
    begin
      application.MessageBox('没有输入管理员账号','提示',mb_ok);
      edtUserID.setFocus;
      exit;
    end;
    sConn := 'Provider=OraOLEDB.Oracle.1;Password='+sAdminPwd+';Persist Security Info=True;User ID='+sAdminNo+';Data Source=connb01';
    if  DataModule1.ADOConnection1.connected then
        DataModule1.ADOConnection1.close;
        DataModule1.ADOConnection1.ConnectionString := sConn;
        DataModule1.ADOConnection1.loginprompt := False;
  try
       DataModule1.ADOConnection1.open;
       close;                           //关闭登陆界面
       main.frmMain.Show; //显示仓库管理系统界面
    except
    application.MessageBox('输入账号或密码有误,请重新登陆','提示',mb_ok);
    unTimes := unTimes+1;
    if unTimes > 3 then
    begin
      application.MessageBox('你已经试图登录三次不成功,退出系统','提示',mb_ok);
      application.Terminate;
    end
    else
      edtUserID.setFocus;
  end;
end;
procedure TfrmLogin.bbtNoClick(Sender: TObject);
begin
if unStatus = 0 then                //初次取消退出整个应用程序
  begin
    if DataModule1.ADOConnection1.Connected then
       DataModule1.ADOConnection1.Close;
       application.Terminate;
  end
  else                               //重新登录后取消本次登录
    close;
end;

end.

 

Delphi可视化精讲视频教程

目前市场上delphi教程少之又少,这让很多对delphi编程感兴趣的学员无从下手。本课程本着“理论+实践”的讲课原则,由浅入深的详细讲解delphi这门编程语言,零基础的学员也能学会。本套课程每节课都提供课件供学员们下载,方便学员们的复习。 Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;
  • 2017年11月28日 21:14

在使用DelphiXE3和SQLite3进行程序开发时,解决最后一个字符乱码的问题

在使用DelphiXE3和SQLite3进行程序开发时,如果使用原版的SQLiteTable3,当使用UTF8Decode函数之后,可能依然存在乱码问题,一个表现就是,最后一个汉字显示为框,后面跟一个...
  • shuaihj
  • shuaihj
  • 2013-06-25 15:38:00
  • 2420

Delphi中判断一个字符的位置在字符串开头或者末尾

procedure TForm1.btn1Click(Sender: TObject); var s: string; begin s := 'abcdefghijkilkjasldnbG'; ...
  • wozengcong
  • wozengcong
  • 2013-10-19 13:30:29
  • 1991

跟着鬼哥学爬虫-1

好久没公开过破解的文章了,手上的东西都不太方便公开,所以写一点编程方面的文章。...
  • guiguzi1110
  • guiguzi1110
  • 2016-09-27 11:44:19
  • 3553

delphi中如何让焦点一直在listbox的最后一行

lst1.Items.Add(Path+FSearchrec.Name);  lst1.ItemIndex:=lst1.Items.Count-1;
  • forgotsnow
  • forgotsnow
  • 2014-09-13 15:03:27
  • 634

怎么获取字符串中最后一个“\”的位置? 获取字符串子串

得到一个字符串,如:strFileFullName = "D:\code\cpp\data\frames_Src\001.jpg" 怎样得到: strFilePath = "D:\code...
  • xiaominggunchuqu
  • xiaominggunchuqu
  • 2016-01-04 16:44:26
  • 4999

arcgis for js 犀利哥版

  • 2018年01月23日 11:29
  • 2.08MB
  • 下载

Delphi自动检测U盘插入、拔出及获取U盘盘符!

//检测U盘插入、拔出 测试通过1、新建工程;2、定义一个私有过程procedure WMDeviceChange(var Msg: TMessage); message WM_DEVICECHANG...
  • xxhh07
  • xxhh07
  • 2010-04-04 11:58:00
  • 632

firstChild,lastChild 获取第一个/最后一个元素节点

firstChild,lastChild1 2 3 4 var ul = document.getElementsByTagName('ul')[0]; ul...
  • qq_25479327
  • qq_25479327
  • 2017-12-10 18:46:28
  • 124

跟着鬼哥学爬虫-3-美女图片!!!

跟着鬼哥学爬虫-3-美女图片!!!
  • guiguzi1110
  • guiguzi1110
  • 2016-09-27 13:01:20
  • 3338
收藏助手
不良信息举报
您举报文章:CSDN 寻找最后一个Delphi犀利哥
举报原因:
原因补充:

(最多只允许输入30个字)