if (slaidid<>sldcnt) then MessageBox(Handle, 'У вас не осталось больше попыток. Переходите к следующему слайду','Внимание',MB_OK or MB_ICONINFORMATION)
else begin
cnt:=0;
for i:=0 to sldcnt-1 do
if results[i] then inc(cnt);
Gauge1.Progress:=round(cnt*100/sldcnt);
if Gauge1.Progress>60 then label9.Caption:='Поздравляем!!!! Вы успешно прошли тест!'#13#10'Кодовая фраза: I know SQL'
else label9.Caption:='К сожалению ваш процент правильных ответов слишком низок.'#13#10'Вы не сдали тест. Нажмите кнопку меню.';
Panel1.Show;
end;
end;
if (Memo2.Text='') then begin
MessageBox(Handle, 'Введите запрос и нажмите на кнопку с колесиком или на вкладку результат','Внимание',MB_OK);
inproc:=false;
exit;
end;
DataSource1.Enabled:=false;
ClientDataSet1.Close;
ClientDataSet1.CommandText:='SELECT * FROM KOSTIK.TDATA WHERE ID='+IntToStr(slaidid);
ClientDataSet1.Open;
DeleteBadCharacters;
if SQLTypeTest<>-1 then begin
ClientDataSet1.Close;
ClientDataSet1.CommandText:=Memo2.Text;
try
ClientDataSet1.Open;
DataSource1.Enabled:=true;
except on e:exception do begin
Memo1.Text:='При обработке запроса в СУБД DB2 возникла ошибка:'#13#10#13#10+
e.message;
Memo1.Visible:=true;
DBGrid1.Visible:=false;
if needpageChange then PageControl1.ActivePageIndex:=1;
if tries<>0 then tries:=tries-1;
inproc:=false;
exit;
end;
end;
Memo1.Visible:=false;
DBGrid1.Visible:=true;
results[slaidid-1]:=true;
end
else begin
if tries<>0 then tries:=tries-1;
Memo1.Visible:=true;
DBGrid1.Visible:=false;
end;
if needpageChange then PageControl1.ActivePageIndex:=1;
inproc:=false;
end;
procedure TSQLFormX.SpeedButton2Click(Sender: TObject);
begin
inc(slaidid);
if slaidid=sldcnt then SpeedButton2.Enabled:=false;
tries:=3;
Label2.Caption:=IntToStr(slaidid)+' из ' + IntToStr(sldcnt);
ClientDataSet1.Close;
ClientDataSet1.CommandText:='SELECT TASK from KOSTIK.TDATA where ID='+IntToStr(slaidid);
ClientDataSet1.Open;
RichEdit1.Lines.Clear;
try
RichEdit1.Lines.Add(ClientDataSet1.Fields[0].AsString);
except on e:Exception do;
end;
ClientDataSet1.Close;
end;
procedure TSQLFormX.TabSheet2Show(Sender: TObject);
begin
needpageChange:=false;
SpeedButton1Click(Sender);
needpageChange:=true;
end;
initialization
TActiveFormFactory.Create(
ComServer,
TActiveFormControl,
TSQLFormX,
Class_SQLFormX,
1,
'',
OLEMISC_SIMPLEFRAME or OLEMISC_ACTSLIKELABEL,
tmApartment);
end.
Сервернаячасть
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, ExtCtrls, Buttons, Registry, AppEvnts;
type
TMainForm = class(TForm)
StringGrid1: TStringGrid;
Timer1: TTimer;
Panel1: TPanel;
Label1: TLabel;
Panel2: TPanel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
SpeedButton1: TSpeedButton;
procedure FormShow(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Panel1Resize(Sender: TObject);
procedure Panel2Resize(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
FConnectionCount: LongWord;
procedure SetConnectionCount(ConCnt:LongWord);
public
MyRegFile: TRegIniFile;
protected
procedure WndProc(Var Msg:TMessage); Override;
published
property ConnectionCount:LongWord read FConnectionCount write SetConnectionCount;
end;
var
MainForm: TMainForm;
const
DefConStr = 'Provider=IBMDADB2.1;Data Source=ASULR;Persist Security Info=False';
strRegFolder = 'MainForm';
strRegCon = 'Connection String';
strRegIni = 'DB2TestServerApp';
implementation
uses ConStrUnit, tray;
{$R *.dfm}
procedure TMainForm.SetConnectionCount(ConCnt:LongWord);
begin
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.