Nugroho's blog.: Playing with Memo in Delphi

Thursday, May 18, 2017

Playing with Memo in Delphi


I change the font in memo (tMemo) into courier. With this change, it's easy to do string manipulation with old Pascal style.

Below, I create small program with read input from edit into n variable. The input can only contain number 1 to 9.

The output is displayed on Memo. It's just number 123456789 (yeah, it has type string, but its number).

It's that all? No. The number's forming a 'cross' centered on number specified in edit. :)





Here's the code.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Memo1: TMemo;
    Button1: TButton;
    procedure proses;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
procedure tform1.proses;
var   s:array[1..9]of string;
      c:string;
      i,j,n:integer;
begin
  memo1.Text:='';
  for i:=1 to 9 do begin
    for j:=1 to 9 do begin
      s[i]:=s[i]+' ';
    end;
  end;
  n:=strToInt(edit1.Text);
  for i:=1 to 9 do begin
    if i=n then begin
      for j:=1 to 9 do begin
        c:=intTostr(j);
        s[i][j]:=c[1];
      end;
    end else begin
      c:=intToStr(i);
      s[i][n]:=c[1];
    end;
    memo1.Lines.Append(s[i]);
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  memo1.Text:='';
  edit1.Text:='1';
  button1.Caption:='OK';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  proses;
end;

end.


.

No comments:

323f (5) amp (1) android (12) apple (7) arduino (18) art (1) assembler (21) astina (4) ATTiny (23) blackberry (4) camera (3) canon (2) cerita (2) computer (106) crazyness (11) debian (1) delphi (39) diary (286) flash (8) fortran (6) freebsd (6) google apps script (8) guitar (2) HTML5 (10) IFTTT (7) Instagram (7) internet (12) iOS (5) iPad (6) iPhone (5) java (1) javascript (1) keynote (2) LaTeX (6) lazarus (1) linux (29) lion (15) mac (28) macbook air (8) macbook pro (3) macOS (1) Math (3) mathematica (1) maverick (6) mazda (4) microcontroler (35) mountain lion (2) music (37) netbook (1) nugnux (6) os x (36) php (1) Physicist (29) Picture (3) programming (189) Python (109) S2 (13) software (7) Soliloquy (125) Ubuntu (5) unix (4) Video (8) wayang (3) yosemite (3)