StartprogrammingusingObjectPascal:Records: Difference between revisions
Jump to navigation
Jump to search
Onionmixer (talk | contribs) (SPOP 레코드 페이지 추가) |
Onionmixer (talk | contribs) (번역수정) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=== | ===Record=== | ||
''배열''은 같은 | ''배열''은 같은 형의 많은 변수들을 지닐 수 있지만, ''record'' 는 제각기 다른 형의 변수를 지닐 수 있으며, 이 변수들을 '' 'Field' ''라고 부릅니다. | ||
# | 이 변수/필드의 모임은 단일 Unit 이나 변수처럼 취급합니다. 예를 들어 자동차 정보와 같은 것들을 하나의 객체에 주려 할 때 레코드를 사용할 수 있습니다. | ||
# 자동차 형식: 문자열 변수 | |||
# 엔진 크기: 실수 | # 엔진 크기: 실수 | ||
# 생산 연도: 정수 값 | # 생산 연도: 정수 값 | ||
다음 예제에서는 제각각 다른 이 형식들을 자동차를 나타내는 레코드에 모을 수 있습니다. | |||
다음 예제에서는 제각각 다른 | |||
<syntaxhighlight lang="pascal"> | <syntaxhighlight lang="pascal"> | ||
Line 50: | Line 50: | ||
end. | end. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
이 예제에서는 ''‘type’'' 키워드를 사용하여 새 형식(''record'')을 정의했습니다. | 이 예제에서는 ''‘type’'' 키워드를 사용하여 새 형식(''record'')을 정의했습니다. | ||
<syntaxhighlight lang="pascal"> | <syntaxhighlight lang="pascal"> | ||
type | type | ||
Line 61: | Line 63: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
이 새로운 | 변수가 아니라 형식이라는 것을 표시하기 위해 ''Car''에 문자(''T'')를 더했습니다. 변수 이름은 ''Car, Hour, UserName''처럼 될 수 있지만, 형식 이름은 ''Tcar, Thour, TUserName''과 같이 되어야 합니다. 이것은 파스칼 언어의 표준입니다. | ||
이 새로운 형을 사용하려면, 이 형의 변수를 예제와 같이 선언할 것입니다. | |||
<syntaxhighlight lang="pascal"> | <syntaxhighlight lang="pascal"> | ||
var | var | ||
Car: TCar; | Car: TCar; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
이 변수/필드들 중 하나에 값을 저장하려면 다음과 같이 접근합니다. | 이 변수/필드들 중 하나에 값을 저장하려면 다음과 같이 접근합니다. | ||
<syntaxhighlight lang="pascal"> | <syntaxhighlight lang="pascal"> | ||
Car.ModelName; | Car.ModelName; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
레코드는 이 책의 '''임의 접근 파일''' 에서 사용할 것입니다. | 레코드는 이 책의 '''임의 접근 파일''' 에서 사용할 것입니다. | ||
[[Category:StartprogrammingusingObjectPascal]] | [[Category:StartprogrammingusingObjectPascal]] |
Latest revision as of 06:10, 4 April 2013
Record
배열은 같은 형의 많은 변수들을 지닐 수 있지만, record 는 제각기 다른 형의 변수를 지닐 수 있으며, 이 변수들을 'Field' 라고 부릅니다.
이 변수/필드의 모임은 단일 Unit 이나 변수처럼 취급합니다. 예를 들어 자동차 정보와 같은 것들을 하나의 객체에 주려 할 때 레코드를 사용할 수 있습니다.
- 자동차 형식: 문자열 변수
- 엔진 크기: 실수
- 생산 연도: 정수 값
다음 예제에서는 제각각 다른 이 형식들을 자동차를 나타내는 레코드에 모을 수 있습니다.
program Cars;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ you can add units after this };
type
TCar = record
ModelName: string;
Engine: Single;
ModelYear: Integer;
end;
var
Car: Tcar;
begin
Write('Input car Model Name: ');
Readln(Car.ModelName);
Write('Input car Engine size: ');
Readln(Car.Engine);
Write('Input car Model year: ');
Readln(Car.ModelYear);
Writeln;
Writeln('Car information: ');
Writeln('Model Name : ', Car.ModelName);
Writeln('Engine size : ', Car.Engine);
Writeln('Model Year : ', Car.ModelYear);
Write('Press enter key to close..');
Readln;
end.
이 예제에서는 ‘type’ 키워드를 사용하여 새 형식(record)을 정의했습니다.
type
TCar = record
ModelName: string;
Engine: Single;
ModelYear: Integer;
end;
변수가 아니라 형식이라는 것을 표시하기 위해 Car에 문자(T)를 더했습니다. 변수 이름은 Car, Hour, UserName처럼 될 수 있지만, 형식 이름은 Tcar, Thour, TUserName과 같이 되어야 합니다. 이것은 파스칼 언어의 표준입니다.
이 새로운 형을 사용하려면, 이 형의 변수를 예제와 같이 선언할 것입니다.
var
Car: TCar;
이 변수/필드들 중 하나에 값을 저장하려면 다음과 같이 접근합니다.
Car.ModelName;
레코드는 이 책의 임의 접근 파일 에서 사용할 것입니다.