p align="left">ProgressMax: Integer); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure ToolButton7Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure WebBrowser1BeforeNavigate2(Sender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); procedure WebBrowser1NavigateComplete2(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); procedure ToolButton8Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure N1Click(Sender: TObject); private { Private declarations } public {procedure ExecWB(cmdID: OLECMDID; cmdexecopt: OLECMDEXECOPT); overload;} { Public declarations } end; var Form37: TForm37; z,time1:integer;m:string; implementation uses Unit19, kontr; {$R *.DFM} procedure TForm37.ComboBox1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin {if Key = VK_RETURN then WebBrowser1.Navigate(ComboBox1.Text);} end; procedure TForm37.ToolButton1Click(Sender: TObject); begin { if OpenDialog1.Execute then begin WebBrowser1.Navigate(OpenDialog1.FileName); ComboBox1.Text := OpenDialog1.FileName; end;} timer1.Enabled:=false; close; end; procedure TForm37.ToolButton2Click(Sender: TObject); begin z:=z+1; WebBrowser1.GoBack; ToolButton3.Enabled:=true; end; procedure TForm37.ToolButton3Click(Sender: TObject); begin z:=z-1; if z>-1 then WebBrowser1.GoForward else ToolButton3.Enabled:=false; end; procedure TForm37.ToolButton4Click(Sender: TObject); begin WebBrowser1.Stop; end; procedure TForm37.ToolButton5Click(Sender: TObject); begin WebBrowser1.Refresh; end; procedure TForm37.ToolButton6Click(Sender: TObject); var PostData, Headers: OLEvariant; begin WebBrowser1.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT, PostData, Headers); end; procedure TForm37.WebBrowser1StatusTextChange(Sender: TObject; const Text: WideString); begin StatusBar1.SimpleText := Text; end; procedure TForm37.WebBrowser1ProgressChange(Sender: TObject; Progress, ProgressMax: Integer); begin ProgressBar1.Max := ProgressMax; ProgressBar1.Position := Progress; end; procedure TForm37.FormClose(Sender: TObject; var Action: TCloseAction); begin timer1.Enabled:=false; Form37.Hide; ElektKursInf.Show; ElektKursInf.Button1.Enabled:=true; end; procedure TForm37.ToolButton7Click(Sender: TObject); const CGID_WebBrowser: TGUID = '{ED016940-BD5B-11cf-BA4E-00C04FD70816}'; {var CmdTarget : IOleCommandTarget; vaIn, vaOut: OleVariant; PtrGUID: PGUID;} begin {New(PtrGUID); PtrGUID^ := CGID_WebBrowser; if WebBrowser1.Document <> nil then try WebBrowser1.Document.QueryInterface(IOleCommandTarget, CmdTarget); if CmdTarget <> nil then try CmdTarget.Exec( PtrGUID, HTMLID_FIND, 0, vaIn, vaOut); finally CmdTarget._Release; end; except // nothing end; Dispose(PtrGUID);} end; procedure TForm37.FormShow(Sender: TObject); begin time1:=0; timer1.Enabled:=true; Form37.Caption:=ElektKursInf.ListBox2.Items.Strings[ElektKursInf.ListBox2.ItemIndex]; end; procedure TForm37.WebBrowser1BeforeNavigate2(Sender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); var l:integer; begin end; procedure TForm37.WebBrowser1NavigateComplete2(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); begin Combobox1.Text:=WebBrowser1.LocationURL; if (ElektKursInf.ListBox1.Items.Strings[ElektKursInf.ListBox1.ItemIndex]<>WebBrowser1.LocationURL)then ToolButton2.Enabled:=true else ToolButton2.Enabled:=false; end; procedure TForm37.ToolButton8Click(Sender: TObject); begin Form2.Show; Form37.Hide; end; procedure TForm37.Timer1Timer(Sender: TObject); begin time1:=time1+timer1.interval; end; procedure TForm37.N1Click(Sender: TObject); begin close; end; end. 5. Модуль контрольного тестирования unit tester_; interface uses SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, jpeg, Gauges; type TForm1 = class(TForm) // вопрос Label5: TLabel; // альтернативные ответы Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; // радиокнопки выбора ответа RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; RadioButton4: TRadioButton; Image1: TImage; // область вывода иллюстрации Button1: TButton; Panel1: TPanel; RadioButton5: TRadioButton; Gauge1: TGauge; Timer1: TTimer; procedure FormActivate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure RadioButtonClick(Sender: TObject); // Эти объявления вставлены сюда вручную procedure Info; procedure VoprosToScr; procedure ShowPicture; // выводит иллюстрацию procedure ResetForm; // "очистка" формы перед выводом очередного вопроса procedure Itog; procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormShow(Sender: TObject); // результат тестирования private { Private declarations } public { Public declarations } end; var Form1: TForm1; // форма implementation uses Unit19, Unit1, Unit44; {$R *.DFM} const N_LEV=4; // четыре уровня оценки N_ANS=4; // четыре варианта ответов var f,fil1:TextFile; fn:string; // имя файла вопросов level:array[1..N_LEV] of integer; // сумма, соответствующая уровню mes:array[1..N_LEV] of string; // сообщение, соответствующее уровню score:array[1..N_ANS] of integer; // оценка за выбор ответа summa:integer; // набрано очков vopros:integer; // номер текущего вопроса otv:integer; // номер выбранного ответа // вывод информации о тесте procedure Tform1.Info; var s,buf:string; begin readln(f,s); Form1.Caption := s; buf:=''; repeat readln(f,s); if s[1] <> '.' then buf := buf +s + #13; until s[1] ='.'; Label5.caption:=buf; end; // прочитать информацию об оценках за тест Procedure GetLevel; var i:integer; buf:string; begin i:=1; repeat readln(f,buf); if buf[1] <> '.' then begin mes[i]:=buf; // сообщение readln(f,level[i]); // оценка i:=i+1; end; until buf[1]='.'; end; // масштабирование иллюстрации Procedure TForm1.ShowPicture; var w,h: integer; // максимально возможные размеры картинки begin // вычислить допустимые размеры картинки w:=ClientWidth-10; h:=ClientHeight - Panel1.Height -10 - Label5.Top - Label5.Height - 10; // вопросы if Label1.Caption <> '' then h:=h-Label1.Height-10; if Label2.Caption <> '' then h:=h-Label2.Height-10; if Label3.Caption <> '' then h:=h-Label3.Height-10; if Label4.Caption <> '' then h:=h-Label4.Height-10; // если размер картинки меньше w на h, // то она не масштабируется Image1.Top:=Form1.Label5.Top+Label5.Height+10; if Image1.Picture.Bitmap.Height > h then Image1.Height:=h else Image1.Height:= Image1.Picture.Height; if Image1.Picture.Bitmap.Width > w then Image1.Width:=w else Image1.Width:=Image1.Picture.Width; Image1.Visible := True; end; // вывести вопрос Procedure TForm1.VoprosToScr; var i:integer; s,buf:string; ifn:string; // файл иллюстрации begin vopros:=vopros+1; caption:='Вопрос ' + IntToStr(vopros); // прочитать вопрос buf:=''; repeat readln(f,s); if (s[1] <> '.') and (s[1] <> '\') then buf:=buf+s+' '; until (s[1] ='.') or (s[1] ='\'); Label5.caption:=buf; // вывести вопрос {Иллюстрацию прочитаем, но выведем только после того, как прочитаем альтернативные ответы и определим максимально возможный размер области формы, который можно использовать для ее вывода.} if s[1] <> '\' then Image1.Tag:=0 // к вопросу нет иллюстрации else // к вопросу есть иллюстрация begin Image1.Tag:=1; ifn:=copy(s,2,length(s)); try Image1.Picture.LoadFromFile(ifn); except on E:EFOpenError do Image1.Tag:=0; end; end; // Читаем варианты ответов i:=1; repeat buf:=''; repeat // читаем текст варианта ответа readln(f,s); if (s[1]<>'.') and (s[1] <> ',') then buf:=buf+s+' '; until (s[1]=',')or(s[1]='.'); // прочитан альтернативный ответ score[i]:= StrToInt(s[2]); case i of 1: Label1.caption:=buf; 2: Label2.caption:=buf; 3: Label3.caption:=buf; 4: Label4.caption:=buf; end; i:=i+1; until s[1]='.'; // здесь прочитана иллюстрация и альтернативные ответы // текст вопроса уже выведен
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
|