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:
Post a Comment