几个简单的问题!主要是没分了,倾家荡产了!请各位帮忙解决!小弟感激不禁!!!(15分)

  • 主题发起人 主题发起人 luckyboy97
  • 开始时间 开始时间
L

luckyboy97

Unregistered / Unconfirmed
GUEST, unregistred user!
1、我要判定密码输入三次错误,系统自动退出;
我实现密码判定的代码为:
if user='admin' and pass='sys' then
//主窗体打开
else
messagebox('密码错误,请重新输入')
要怎么才能判定三次错误退出系统登录呢?


2、我用combobox显示商品名称,我单击combobox中的商品名称就将该商品名称的相关的信息添加到memo中,将现在的商品的价格加到一起赋给edit。
我现在已经在combobox的change事件中写了如下的代码判定
if pos(combobox1.text+';' , memo1.text)=0 then
memo1.text := memo1.text + combobox1.Text + ';'
else
Application.MessageBox('数据已经存在!','信息提示!',MB_Iconinformation);
所加数据是否重复,combobox中的值是从属性里面直接加如的,也到是能够实现但是,我要用下面的代码:
var
s:String;
I:Integer;
begin
with Table1 do
for I:=0 to RecordCount-1 do
begin
s:=Table1['Name'];
ComboBox1.Items.Add(s);
Table1.Next;
end;
end;
将combobox的值从表当中追加进去,所要的功能就不能实现了(不能判定是否已经添加过),现在麻烦你帮我看看我应该怎么做呢?将table中的name(商品名称添加到combobox),单击combobox中的值就将该名称对应的信息显示在memo中,将选中的商品名称的价格累加赋给edit?


3、我想在关闭窗体之前判定append或者是EDIT、INSERT状态的数据是否已经保存,如果保存过就关闭,没有出现提示信息。请问我应该怎么做呢?

4、我添加了一条记录进行保存,我在保存的时候判定数据是否已经存在,请问我应该怎么做呢?
 
1 你可以設一個全局變量來紀錄輸入的次數﹐這個變量的初始值設為1﹐以后每次加一﹔

for i:= 1 to 3 do begin
if user='admin' and pass='sys' then
//主窗体打开
else
messagebox('密码错误,请重新输入');
end;
 
sorry,上面寫錯了﹐應該是這樣﹕
1 你可以設一個全局變量來紀錄輸入的次數﹐Form.show/active/create這個變量的初始值設為1﹐以后每次加一﹔

while i<= 3 do begin
if user='admin' and pass='sys' then
//主窗体打开
else
messagebox('密码错误,请重新输入');
inc(i);
end;
 
3 你可以在append或者是EDIT、INSERT操作時設一個變量初值為'N'﹐如果進行了其中任何一步操作就置為'Y',在关闭窗体之前判定變量是'Y'or'N'j進行相應的操作﹔
 
4. ,先设置一个主键,在post之前先在表里判断一下主键是否已经存在,如果已经存在,则提示已经存在,然后撤消
 
1. 除了要设置计数变量,在程序运行初始化为1,每登陆一次错误,就使计数变量加1,如果登陆成功就是计数变量还原为1
 
各位能将2、3、4的问题用事例讲详细点吗?小弟初学不久对DELPHI,谢谢了!!
 
第2个问题有点看不懂你要干什么,请说得清楚一些
 
第二个问题是想实现:通过选择商品名称(COMBOBOX显示,通过TABLE添加进去)
则将该商品的相关信息显示在MEMO中,然后将选中的商品价格累加赋值给一个EDIT
 
一、用自身所带的tag属性,这是最简单有效的方法。
二、if pos(combobox1.text+';'+chr(13) , memo1.text)=0 then
memo1.lines.add(combobox1.text + ';')
else
showmessage('小朋友,不可以这么做啊');
 
2、with DataSet do
begin
First;
while not Eof do
begin
ComboBox1.Items.Add(FieldByName('Name').asString);
Next;
end;
end;
3、判断数据集状态即可 if DataSet.State in [dsEdit, dsInsert] then // else //
4、将商品编号设置主键让数据库维护:
try
DataSet.Post;
except
Raise;
end;
 
第二个问题的判定是否重复是没有问题的,关键是要将这个内容对应的内容显示出来,
并将选中的价格累加赋值给EDIT
 
Table1.First;
while not Table1.Eof do
begin
ComboBox1.Items.add( Table1.FieldByName('name').AsString);
Table1.Next;
end;
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部