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

📄 newback.pas

📁 还是一个词法分析程序
💻 PAS
字号:
{************************************************}
{                                                }
{   Turbo Vision 2.0 Demo                        }
{   Copyright (c) 1992 by Borland International  }
{                                                }
{************************************************}

program NewBack;

uses Objects, Drivers, Views, App;

type
  PMyBackground = ^TMyBackground;
  TMyBackground = object(TBackground)
    Text: TTitleStr;
    constructor Init(var Bounds: TRect; AText: TTitleStr);
    procedure Draw; virtual;
  end;

  PMyDesktop = ^TMyDesktop;
  TMyDesktop = object(TDesktop)
    procedure InitBackground; virtual;
  end;

  TMyApplication = object(TApplication)
    procedure InitDesktop; virtual;
  end;

constructor TMyBackground.Init(var Bounds: TRect; AText: TTitleStr);
begin
  inherited Init(Bounds, ' ');
  Text := AText;
  while Length(Text) < SizeOf(TTitleStr) - 1 do
    Text := Text + AText;
end;

procedure TMyBackground.Draw;
var
  DrawBuffer: TDrawBuffer;
begin
  MoveStr(DrawBuffer, Text, GetColor(1));
  WriteLine(0, 0, Size.X, Size.Y, DrawBuffer);
end;

procedure TMyDesktop.InitBackground;
var
  R: TRect;
begin
  GetExtent(R);
  Background := New(PMyBackground, Init(R, 'I Love Pascal! '));
end;

procedure TMyApplication.InitDesktop;
var
  R: TRect;
begin
  GetExtent(R);
  R.Grow(0, -1);
  Desktop := New(PMyDesktop, Init(R));
end;

var
  MyApp: TMyApplication;

begin
  MyApp.Init;
  MyApp.Run;
  MyApp.Done;
end.

⌨️ 快捷键说明

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