Программирование

Автор работы: Пользователь скрыл имя, 04 Ноября 2011 в 08:14, отчет по практике

Краткое описание

Исследовательские учреждения давно ищут пути увеличения эффективности труда и уровня профессионализма разработчиков программ, т.е. интеллектуальной собственности, которая имеет свой особый статус и свое правовое поле.

Содержимое работы - 1 файл

Айнур отчет.doc

— 460.00 Кб (Скачать файл)

    procedure Table1AfterScroll(DataSet: TDataSet);

    procedure DBEdit3KeyPress(Sender: TObject; var Key: Char);

    procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);

    procedure Table1BeforeOpen(DataSet: TDataSet);

    procedure FormCreate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form1: TForm1;

  BmpPath: string;   

implementation

{$R *.DFM} 

procedure TForm1.FormCreate(Sender: TObject);

begin

    Table1.Active := True;

end; 

procedure ShowFoto(foto: string);

  begin

    try

       Form1.Image1.Picture.LoadFromFile(BmpPath+foto);

       Form1.Image1.Visible:=True;

     except

       on EFOpenError do

       begin

         MessageDlg('Ôàéë èëëþñòðàöèè '+foto+' íå  íàéäåí.',

                     mtInformation, [mbOk], 0);

       end;

    end;

end; 

procedure TForm1.Table1AfterScroll(DataSet: TDataSet);

begin

     if form1.DBEdit3.Visible

        then

          begin

             form1.DBEdit3.Visible := False;

             form1.Label4.Visible:=False;

          end;

     if Form1.DBEdit3.Text <> ''

        then ShowFoto(Form1.DBEdit3.Text)

        else form1.Image1.Visible:=False;

end; 

procedure TForm1.DBEdit3KeyPress(Sender: TObject; var Key: Char);

begin

     if (key = #13) then

         if Form1.DBEdit3.Text <> ''

             then ShowFoto(Form1.DBEdit3.Text)

             else form1.Image1.Visible:=False;

end; 

procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);

begin

     case Button of

     nbInsert: begin 

                Image1.Visible:=False; 

                DBEdit3.Visible:=True; 

                Label4.Visible:=True;  

               end;

     nbEdit:   begin 

                 DBEdit3.Visible:=True; 

                 Label4.Visible:=True;  

               end;

     end;

end; 

procedure TForm1.Table1BeforeOpen(DataSet: TDataSet);

begin

   BmpPath:=ExtractFilePath(ParamStr(0))+'data\';

end; 

end.

      1. Руководство пользователя

  Перед тем как запустить программу сначала надо создать базу данных типа STANDARD (таблицу monuments.db ), затем – псевдоним Kostanay.Псевдоним можно создать при помощи SQL Explorer.

 
 
 
 
 
 
 
 
 
 
 
 
 
 

    1. Задача 10
      1. Условие задачи

  Напишите  программу, используя которую можно подготовить и распечатать накладную.

      1. Таблица реквизитов
Входные данные Выводимые данные
dpiX, dpiY : integer; p: array[0..4] of integer;
kx,ky: real; x1,y1,x2,y2: integer;
  x1,y1,x2,y2: integer;
      1. Требования к программе

Программа должна подготавливать и распечатывать накладную.

      1. Форма программы

 
 

 Edit1 
 

                                                                                                                    StringGrid1 
 
 
 
 

Button2  

Button1 Edit2

 
 
 

      1. Листинг программы

unit schet_; 

interface 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, Grids, ExtCtrls; 

type

  TForm1 = class(TForm)

    StringGrid1: TStringGrid;

    Button1: TButton;

    Button2: TButton;

    Edit1: TEdit;

    Edit2: TEdit;

    procedure FormCreate(Sender: TObject);

    procedure Button2Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form1: TForm1; 

implementation 

{$R *.dfm} 

uses Printers; 

procedure TForm1.FormCreate(Sender: TObject);

var

    i: integer;

begin

    with StringGrid1 do

    begin

       Cells[0,0] := '   ¹';

       Cells[1,0] := '   Íàèìåíîâàíèå';

       Cells[2,0] := '   Öåíà';

       Cells[3,0] := '   Êîë-âî';

       Cells[4,0] := '   Ñóììà';

       for i:=1 to 10 do

           Cells[0,i] := '   '+IntToStr(i);

    end;

end; 

procedure TForm1.Button2Click(Sender: TObject);

const

    LEFT_MARGIN = 2;

    TOP_MARGIN  = 2;

var

    dpiX, dpiY : integer;

    kx,ky: real;

    p: array[0..4] of integer;

    x1,y1,x2,y2: integer; 

    px,py: integer;

    i,j: integer; 

begin

    dpiX := GetDeviceCaps(Printer.handle,LOGPIXELSX);

    dpiY := GetDeviceCaps(Printer.handle,LOGPIXELSY);

    kx := dpiX / Screen.PixelsPerInch;

    ky := dpiY / Screen.PixelsPerInch; 

    px := Round(LEFT_MARGIN / 2.54 * dpiX);

    py := Round(TOP_MARGIN  / 2.54 * dpiY); 

    p[0] := px;

    for i:=1 to 4 do

    begin

        p[i] := p[i-1] + Round(StringGrid1.ColWidths[i-1]* kx);

    end; 

    with Printer do

    begin

        BeginDoc;

        Canvas.Font.Name := Edit1.Font.Name;

        Canvas.Font.Size := Edit1.Font.Size;

        Canvas.TextOut(px,py,Edit1.Text);

        py := py+ Round(Edit1.Font.Size * 2 * ky); 

        x1 := px; y1 := py; 

        Canvas.Font.Name := StringGrid1.Font.Name;

        Canvas.Font.Size := StringGrid1.Font.Size; 

        x2 := p[4] + Round(StringGrid1.ColWidths[4]* kx);

        y2 := py +

              Round(StringGrid1.RowCount * StringGrid1.RowHeights[1] * ky); 

        for j:=0 to StringGrid1.RowCount do

        begin

            for i:=0 to StringGrid1.ColCount do

            begin

                Canvas.TextOut(P[i],py,StringGrid1.Cells[i,j]);

                Canvas.MoveTo(p[0],py);

                Canvas.LineTo(x2,py);

            end;

            py:=py+ Round(StringGrid1.RowHeights[j]* ky);

        end;

        for i:=0 to StringGrid1.ColCount -1 do

        begin

           Canvas.MoveTo(p[i],y1);

           Canvas.LineTo(p[i],y2);

        end;

        Canvas.MoveTo(x2,y1);

        Canvas.LineTo(x2,y2);

        EndDoc;

    end;

end; 

end.

      1. Руководство пользователя

 Запустите  программу, заполните накладную  и нажмите «Печать»

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    1. Задача 11

      2.11.1. Условие задачи

  Написать  программу, тестировщик на тему: Архивация данных. Защита компьютеров  от вирусов.

      2.11.2. Таблица реквизитов

Входные данные Выводимые данные
f:TextFile; level:array[1..N_LEV] of integer;
  fn:string; mes:array[1..N_LEV] of string;
  score:array[1..N_ANS] of integer;
  summa:integer;

      2.11.3. Требования к программе

Тест знания учащихся и вывод оценки. 

      1. Форма программы
 
 
 
 
 
 
 
 
      1. Листинг программы

unit tester_; 

interface 

uses

  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,

  Forms, Dialogs, StdCtrls, ExtCtrls,

  jpeg; 

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; 

    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); 
 

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form1: TForm1; 

implementation

{$R *.DFM}

const

   N_LEV=4;

   N_ANS=4; 

Информация о работе Программирование