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

📄 uiqstk.~pas

📁 Delphi编写的启光短信试题编辑平台源码
💻 ~PAS
📖 第 1 页 / 共 3 页
字号:
begin
    if Key =#13 then
    begin
        Edit3.SetFocus;
    end;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
    if Key =#13 then
    begin
        Edit2.SetFocus;
    end;
end;

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
    if Key =#13 then
    begin
        Edit4.SetFocus;
    end;
end;

procedure TForm1.OQuerySTAfterScroll(DataSet: TDataSet);
begin
    with OQueryST do
    begin
        if Active then
        begin
            Edit6.Text:=fieldbyname('F_STNR').AsString;
            Edit1.Text:=fieldbyname('F_STDAA').AsString;
            Edit2.Text:=fieldbyname('F_STDAB').AsString;
            Edit3.Text:=fieldbyname('F_STDAC').AsString;
            Edit4.Text:=fieldbyname('F_STDAD').AsString;
            ComboBox1.ItemIndex:=ComboBox1.Items.IndexOf(Fieldbyname('F_LXBH').AsString+' ( '+Fieldbyname('F_LXMC').AsString+' )');
            if fieldbyname('F_STDAZ').AsString = 'A' then
            begin
                RadioButton1.Checked:=true;
            end;
            if fieldbyname('F_STDAZ').AsString = 'B' then
            begin
                RadioButton2.Checked:=true;
            end;
            if fieldbyname('F_STDAZ').AsString = 'C' then
            begin
                RadioButton3.Checked:=true;
            end;
            if fieldbyname('F_STDAZ').AsString = 'D' then
            begin
                RadioButton4.Checked:=true;
            end;
        end;
    end;
end;

procedure TForm1.BtnEditClick(Sender: TObject);
begin
    if Edit6.Text = '' then
    begin
        Application.MessageBox('试题内容不能为空','注意',MB_OK or MB_ICONINFORMATION);
        exit;
    end;
    if ComboBox1.Text = '' then
    begin
        Application.MessageBox('试题类型不能为空','注意',MB_OK or MB_ICONINFORMATION);
        exit;
    end;
    if Edit1.Text = '' then
    begin
        Application.MessageBox('答案A不能为空','注意',MB_OK or MB_ICONINFORMATION);
        exit;
    end;
    if Edit2.Text = '' then
    begin
        Application.MessageBox('答案B不能为空','注意',MB_OK or MB_ICONINFORMATION);
        exit;
    end;
    if not(RadioButton1.Checked or RadioButton2.Checked or RadioButton3.Checked or RadioButton4.Checked) then
    begin
        Application.MessageBox('正确答案不能为空','注意',MB_OK or MB_ICONINFORMATION);
        exit;
    end;
    F_STXH:=OQueryST.Fieldbyname('F_STXH').AsInteger;
    F_STNR:=Edit6.Text;
    F_KLXBH:=CutString('(',ComboBox1.Text,1,true);
    F_STDAA:=Edit1.Text;
    F_STDAB:=Edit2.Text;
    F_STDAC:=Edit3.Text;
    F_STDAD:=Edit4.Text;
    if RadioButton1.Checked then
        F_STDAZ:='A'
    else if RadioButton2.Checked then
        F_STDAZ:='B'
    else if RadioButton3.Checked then
        F_STDAZ:='C'
    else if RadioButton4.Checked then
        F_STDAZ:='D';
    with OQueryST do
    begin
        try
            Close;
            SQL.Text:='update SMTEST.D_IQSTK set F_STNR = '''+F_STNR+''','+
                                                'F_LXBH = '''+F_KLXBH+''','+
                                                'F_STDAA = '''+F_STDAA+''','+
                                                'F_STDAB = '''+F_STDAB+''','+
                                                'F_STDAC = '''+F_STDAC+''','+
                                                'F_STDAD = '''+F_STDAD+''','+
                                                'F_STDAZ = '''+F_STDAZ+''''+
                                                ' where F_STXH = '+IntToStr(F_STXH);
            ExecSQL;
        except
            Application.MessageBox('修改失败','注意',MB_OK or MB_ICONINFORMATION);
            exit;
        end;
        Application.MessageBox('修改成功','注意',MB_OK or MB_ICONINFORMATION);
        STKRefeshData;
    end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
    if Edit5.Text = '' then
    begin
        Application.MessageBox('试题类型不能为空','注意',MB_OK or MB_ICONINFORMATION);
        exit;
    end;
    with OQuerySTLX do
    begin
        Close;
        SQL.Text:='select F_LXBH from SMTEST.D_IQSTLX where F_LXMC = '''+Edit5.Text+'''';
        ExecSQL;
        if OQuerySTLX.RecNo <> 0 then
        begin
            Application.MessageBox('试题类型重复,请重新输入类型名称','提示',MB_OK or MB_ICONINFORMATION);
            Exit;
        end;
    end;
    with OQuerySTLX do
    begin
        Close;
        SQL.Text:='select * from SMTEST.D_IQSTLX';
        ExecSQL;
        if RecNo <> 0 then
        begin
            Close;
            SQL.Text:='select max(F_LXBH) as LXNo from SMTEST.D_IQSTLX';
            ExecSQL;
            if OQuerySTLX.RecNo <> 0 then
                F_LLXBH:=Format('%0.3d',[Fieldbyname('LXNo').asinteger+1])
            else
                F_LLXBH:=Format('%0.3d',[1]);
        end
        else
        begin
            F_LLXBH:=Format('%0.3d',[1]);
        end;
    end;
    F_LXMC:=Edit5.Text;
    F_BZ:=Memo2.Lines.Text;
    with OQuerySTLX do
    begin
        try
            Close;
            SQL.Text:='insert into SMTEST.D_IQSTLX (F_LXBH,F_LXMC,F_BZ) values '+
             '('''+F_LLXBH+''','''+F_LXMC+''','''+F_BZ+''')';
            ExecSQL;
        except
            Application.MessageBox('新增失败','注意',MB_OK or MB_ICONINFORMATION);
            exit;
        end;
        Application.MessageBox('保存成功','注意',MB_OK or MB_ICONINFORMATION);
        STLXRefeshData;
        STLXEditClear;
    end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
    if Edit5.Text = '' then
    begin
        Application.MessageBox('试题类型不能为空','注意',MB_OK or MB_ICONINFORMATION);
        exit;
    end;
    F_LLXBH:=CutString('(',ListBox1.Items.Strings[ListBox1.ItemIndex],1,true);
    F_LXMC:=Edit5.Text;
    F_BZ:=Memo2.Lines.Text;
    with OQuerySTLX do
    begin
        try
            Close;
            SQL.Text:='update SMTEST.D_IQSTLX set F_LXMC = '''+F_LXMC+''', F_BZ = '''+F_BZ+''' where F_LXBH = '''+F_LLXBH+'''';
            ExecSQL;
        except
            Application.MessageBox('修改失败','注意',MB_OK or MB_ICONINFORMATION);
            exit;
        end;
        Application.MessageBox('修改成功','注意',MB_OK or MB_ICONINFORMATION);
        STLXRefeshData;
    end;
end;

procedure TForm1.STLXRefeshData;
begin
    if not OraSession1.Connected then
        OraSession1.Connected:=true;
    with OQuerySTLX do
    begin
        Close;
        SQL.Text:='select F_LXBH,F_LXMC from SMTEST.D_IQSTLX order by F_LXBH';
        Open;
        ListBox1.Clear;
        ComboBox1.Clear;
        ListBox1.Items.Add('显示全部试题记录');
        while not Eof do
        begin
            ListBox1.Items.Add(Fieldbyname('F_LXBH').AsString+' ( '+Fieldbyname('F_LXMC').AsString+' )');
            ComboBox1.Items.Add(Fieldbyname('F_LXBH').AsString+' ( '+Fieldbyname('F_LXMC').AsString+' )');
            Next;
        end;
    end;
end;

procedure TForm1.STEditReadOnly(readOnly: Boolean);
begin
    Edit1.ReadOnly:=readOnly;
    Edit2.ReadOnly:=readOnly;
    Edit3.ReadOnly:=readOnly;
    Edit4.ReadOnly:=readOnly;
    Edit6.ReadOnly:=readOnly;
end;

procedure TForm1.STLXEditReadOnly(readOnly: Boolean);
begin
    Edit5.ReadOnly:=readOnly;
    Memo2.ReadOnly:=readOnly;
end;

procedure TForm1.BtnDeletClick(Sender: TObject);
var
    F_STXH:Integer;
begin
    if not OQueryST.Active then
    begin
        exit;
    end;
    if Application.MessageBox('确实要删除该记录吗?','注意',MB_YESNO or MB_ICONINFORMATION) = IDNO then
    begin
        exit;
    end;
    try
        with OQueryST do
        begin
            F_STXH:=Fieldbyname('F_STXH').AsInteger;
            Close;
            SQL.Text:='delete from SMTEST.D_IQSTK where F_STXH = '+IntToStr(F_STXH);
            ExecSQL;
        end;
    except
        Application.MessageBox('删除失败!','错误',MB_OK or MB_ICONERROR);
        Exit;
    end;
    STKRefeshData;
    Application.MessageBox('记录已删除','提示',MB_OK or MB_ICONINFORMATION);
end;

procedure TForm1.Button4Click(Sender: TObject);
var
    longintTemp : integer;
    strTemp : string;
    intIndex : integer;
begin
    if OpenDialog1.Execute then
    begin
        try
            ADOConnection1.DefaultDatabase:=OpenDialog1.FileName;
            ADOConnection1.Connected:=true;
            Label9.Caption:=OpenDialog1.FileName;
            ADOConnection1.GetTableNames(ComboBox2.Items,false);
        except

        end;
    end;
end;

procedure TForm1.Button5Click(Sender: TObject);
var
    str: String;
    intkey,num: integer;
    Strtemp: String;
    i,j: Integer;
begin
    with ADOTable1 do
    begin
        Open;
        Gauge1.MaxValue:=ADOTable1.RecordCount;
        if ADOTable1.TableName = 'tmb' then
        begin
            {
            for i := 0 to 20 do
            begin
                with OQuerySTLX do
                begin
                    Close;
                    SQL.Text:='select * from SMTEST.D_IQSTK';
                    ExecSQL;
                    if RecNo <> 0 then
                    begin
                        Close;
                        SQL.Text:='select max(F_STXH) as STNo from SMTEST.D_IQSTK';
                        ExecSQL;
                        if OQuerySTLX.RecNo <> 0 then
                            F_STXH:=Fieldbyname('STNo').asinteger+1
                        else
                            F_STXH:=1;
                    end
                    else
                    begin
                         F_STXH:=1;
                    end;
                end;
                F_STNR:=ADOTable1.fieldbyname('tmnr').AsString;
                F_KLXBH:=Format('%0.3d',[strtoint(ADOTable1.fieldbyname('tmlx').AsString)]);
                Strtemp:=ADOTable1.fieldbyname('tmzqda').AsString;
                num:=0;
                intkey:=0;
                for j := 1 to 6 do
                begin
                    if Strtemp[j]= '1' then
                    begin
                        inc(num);
                        if num > 1 then
                        begin
                            Break;
                        end;
                        intkey:= j;
                    end;
                end;
                if (intkey = 0) or (num > 1)then

⌨️ 快捷键说明

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