델파이 레코드에서 함수 사용가능하기에 1 에서 C++로 구현 한것을 델파이로 구현해 보았습니다. 이제 까진 Unit를 클래스에서나 사용해 왔는데.. 조금 나아가 생각하면 자신만의 라이브러리를 record로 구현 해 놓고 불러서 사용하면 좋을 것 같습니다.
unit Unit1;
interface
type
변동금리형식 = record
신용등급: integer;
function 결정할증(): real;
end;
type
은행형식 = record
원금, 이율, 기간: real;
변동금리: 변동금리형식;
function 원리합계: real;
end;
implementation
{ 변동금리형식 }
function 변동금리형식.결정할증: real;
var 임시할증: real;
begin
임시할증 := 1.0;
case 신용등급 of
1: 임시할증 := 1.1;
2: 임시할증 := 1.2;
else writeln('신용등급 입력 에러');
end;
Result := 임시할증;
end;
{ 은행형식 }
function 은행형식.원리합계: real;
begin
Result := 원금 * 이율 * 기간 * 변동금리.결정할증;
end;
end.
program Project1;
{$APPTYPE CONSOLE}
uses
System.SysUtils,
Unit1 in 'Unit1.pas'; // 이게 C++에서 Namespace ?
var 은행: 은행형식;
begin
with 은행 do begin // 이게 C++ 에서 Using
원금:= 10000.0;
이율:= 0.035;
기간:= 3; //년
Write('신용등급?(1,2 으로 구분하여 입력) ');
Readln (변동금리.신용등급);
Writeln ('당신의 원리합계는 = ', 원리합계():10:3);
Readln;
end;
end.