키워드
이 참조 문서는 Altium Designer의 스크립팅 시스템에 사용되는 DelphiScript 키워드를 다룹니다. 이 스크립팅 시스템은 Embarcadero Delphi™ 프로그래밍 언어와 매우 유사한 DelphiScript 언어를 지원합니다. 두 언어의 주요 차이점은 DelphiScript가 타입이 없는 스크립팅 언어라는 점입니다.
이 섹션에서는 일반적인 DelphiScript 키워드에 대한 상세한 정보와 예제를 Outline합니다. Delphi 파일, 수학 연산 및 문자열 처리 루틴과 같은 추가 키워드 정보는‘함수(Functions
)’ 및 ‘Embarcadero Delphi 참조’를 참조하십시오.
그리고
And
연산을
수행합니다.
And
Var I, J : Integer Begin I := $F0; J := $8F; ShowMessage(IntToStr(I and J)); End;
Var S : String; Begin S := ''; If (Length(S) > 0) and (S[1\] = 'X') Then Delete(S,1,1); End;
배열
Array [index range];
DelphiScript는 타입이 없는 언어이므로, 배열의 크기나 범위를 명시해야 합니다. 배열이 어떤 유형의 요소를 담을 수 있는지는 여전히 정의할 수 있지만, 반드시 정의해야 하는 것은 아닙니다. ` Open array
var x : array [1..2];
Begin
Begin
statement
End;
begin
Var Test : Integer; Begin Test := Test + 4; ShowMessage(IntToStr(Test)); End;
End 키워드
Break
Break;
BreakGoto
While Condition Do Begin DoSomething; Begin If AnotherCondition Then Break; End; End;
While 키워드
Continue 키워드
Do 키워드
키워드 반복
Case
Case expression Of
Value range : Expression;
Else Expression;
End;
Case
많은 경우, 복잡한 일련의 ' IfCasecasecaseCaseelseCase Of
Case Char Of '+' : Text := 'Plus sign'; '-' : Text := 'Minus sign'; '*', '/': Text := 'Multiplication or division'; '0'..'9': Text := 'Number'; 'a'..'z': Text := 'Lowercase character'; 'A'..'Z': Text := 'Uppercase character'; Else Text := 'Unknown character'; End;
Case UserName Of Jack', 'Joe' : IsAdministrator := true; 'Fred' : IsAdministrator := false; Else Raise('Unknown User'); End;
Of 키워드
계속
Continue
ContinueGoto
Var I := 0; s:= 1; Begin While True Do Begin S := S \* 2; I := I \\+ 1; If I > 4 then continue; Break; End;
Break 키워드
While 키워드
Continue 키워드
'Do' 키워드
키워드 반복
Const
Const
Name = Expression;
Constconst
Const b = 30; Begin ShowMessage(IntTtStr(b)); End;
b const
Const b = 30; Begin b := 40; ShowMessage(IntToStr(b)); End;
Div
dividend div divisor
Div
Do
-
문For variable := expression1 to expression2 do -
문장While expression do -
문.With expression do
DoFor, While and With
For i := 0 To AnIndex - 1 Do S := S + #13 + AString;
'for' 키워드
'For' 키워드
While 키워드
~와 함께 키워드
~까지 키워드
DownTo
For variable := expression1 DownTo expression2 Do statement.
카운트다운을 하려면 For DownTo
'For' 키워드
To 키워드
키워드 수행
Else
-
If condition then statement Else statement -
Try statement except exception Else statement end -
Case expression of Else end;
Elseifelsetry-exceptcaseelse
키워드
Then 키워드
Try 키워드
Case 키워드
끝
-
Begin statements End; -
Try statements Except Exception clauses... else Statements... End; -
Try statements Finally statements End; -
Case Expression of clauses Else statements... End;
EndCase
Begin 키워드
Case 키워드
Try 키워드
Except
Try statements Except statements End;
Try-ExceptOnExceptRaise
Try X := Y/Z; Except Raise('A divide by zero error!'); End;
End 키워드
Finally 키워드
Try 키워드
Finally
Try statements... Finally statements... End;
finallytry-finallyfinallytrytry-finally
End 키워드
Raise 키워드
Try 키워드
For
-
for variable := expression1 to expression2 do statement -
for variable := expression1 downto expression2 do statement
for
For i := 0 to AnIndex - 1 Do Begin S := S + #13 + AString; End; ShowMessage(S);
Do 키워드
DownTo 키워드
Repeat 키워드
~ 키워드
~ 동안 키워드
~와 함께 키워드
전달
subroutine header; forward;
Forwardforward
함수
Function name (parameters) : return type;
Function
Function TestFunc(Min, Max : integer) : integer; Begin Result := Random(Max - Min +1); End;
Goto
goto label
goto
Label StartHere; // code StartHere: //do anything; Goto StartHere;
Label 키워드
만약
-
if condition then statement; -
if condition then statement1 else statement2;
IfElse
If A > B Then ShowMessage('X>Y이고 A > B'); Else ShowMessage('X>Y이고 A <=B'); End;</code></wrap></pre> <p><wrap><strong>참조</strong></wrap><br> <a href="#And">And 키워드</a><br> <a href="#Begin">Begin 키워드</a><br> <a href="#Or">Or 키워드</a><br> <a href="#Then">Then 키워드</a><br> <a href="#Else">Else 키워드</a> </p> <p><a id="Interface" name="Interface"></a> </p> <h3>인터페이스</h3> <p><wrap><strong>선언</strong></wrap><br> <wrap><code>인터페이스<br> // 전역적으로 고유한 식별자 문자열.<br> 메서드<br> 속성<br> 끝;</code></wrap> </p> <p><wrap><strong>설명</strong></wrap><br> <wrap><code>interface</code></wrap> 키워드는 메모리 내의 기존 객체에 접근하고 해당 객체의 메서드를 호출할 수 있게 해줍니다. 인터페이스는 속성과 메서드로만 구성될 수 있으며, 데이터는 포함할 수 없습니다. 인터페이스는 데이터를 포함할 수 없기 때문에, 속성은 메서드를 통해 데이터를 읽고 써야 합니다. 가장 중요한 점은 인터페이스가 메모리 내의 기존 객체에 대한 계약만을 정의하므로 구현이 없다는 것입니다.인터페이스는 컴퓨터 메모리에 있는 기존 객체에 대한 접점이라고 볼 수 있으며, 인터페이스의 속성을 통해 데이터를 읽고 쓸 수 있는 기능을 제공합니다. 인터페이스는 연관된 객체로부터 데이터를 요청합니다.
DelphiScript는 타입이 없는 언어이므로, 새로운 레코드, 배열 또는 클래스와 같은 새로운 타입이나 이와 관련된 인터페이스를 정의할 수 없습니다.
라벨
Declaration
label digits, identifier, ...;
Description
키워드는 하나 이상의 레이블을 선언합니다. 레이블은 최대 4자리까지의 숫자 문자열이거나 식별자일 수 있습니다. 레이블은 동일한 블록 내에서 ` label` 문장의 타겟인 문장을 식별하는 데 사용할 수 있습니다. goto
Example: Label StartHere; // code StartHere: //do anything; Goto StartHere;
See also
Goto 키워드Mod
Declaration
Integer expression mod integer expression
Description
연산자는 정수 모듈로 연산 또는 나머지 연산을 수행합니다. ` mod`의 결과는 ` A mod B`입니다. A - (A div B) * B
See also
Div 함수Nil
Declaration
const nil = pointer(0);
Description
키워드는 고유하며 아무것도 가리키지 않는 것으로 보장되는 특수한 포인터 값입니다. nil아님
Declaration
not boolean expressionnot integer expression
Description
연산자는 부정 연산을 수행합니다. 피연산자가 부울(boolean) 유형인 경우, 그 부정은 Logical 부정입니다. not및 Not False = True. 피연산자가 정수인 경우, not true = false연산자는 정수 값의 각 비트에 대해 비트 단위 부정을 수행합니다. 즉, 보충 연산을 수행합니다. notOf
Declaration
case expression of
selector: expression1
...
end
Description
키워드는 Of문에 사용됩니다. case
See also
Case 문Or
Declaration
boolean expression or boolean expressioninteger expression or integer expression
Description
연산자는 피연산자가 부울 유형인 경우 Logical OR 연산을 수행하고, 피연산자가 정수인 경우 비트별 OR 연산을 수행합니다. Logical OR은 두 피연산자가 모두 false인 경우에만 false가 되며, 그렇지 않은 경우 적어도 하나의 피연산자가 true이면 true가 됩니다. or
See also
And 키워드
Not 키워드
Shl 키워드
Shr 키워드
XOR 키워드절차
Declaration
Procedure name;Procedure Name (Parameter, ...);
Description
키워드는 반환 유형이 없는 서브루틴을 선언합니다. 프로시저 내부에서 선언된 변수는 해당 프로시저 외부에서는 접근할 수 없습니다. 이 키워드는 사용할 수 있지만 스크립팅 시스템에서는 무시된다는 점에 유의하십시오. procedure
Example: Procedure TestRand(Var Rand: Integer; Max : Integer); Begin Rand := Random(Max); End;
See also
Function 키워드프로그램
Declaration
Program Name;
declarations...
Block
Description
키워드는 스크립트의 시작을 알립니다. 스크립트의 파일 확장자는 program입니다. 이 키워드는 사용할 수 있지만 스크립팅 시스템에서는 무시된다는 점에 유의하십시오. *.pas
See also
Function 키워드Raise
Declaration
Raise statement;
Description
키워드는 raise키워드와 관련이 있습니다. Try키워드는 파라미터 없이 사용하면 마지막으로 발생한 예외를 다시 발생시킵니다. 또한 문자열 파라미터와 함께 사용하면 특정 메시지를 사용하여 예외를 발생시킬 수 있습니다. Raise
Example: Raise(Format('Invalid Value Entered : %d', \[Height]));
키워드는 DelphiScript에서 지원되지 않으므로, 스크립트에서는 On객체를 사용할 수 없습니다. Exception반복
Declaration
repeat
statements;
until boolean expression
Description
블록 내의 문장은 부울 표현식이 참이 될 때까지 반복적으로 실행됩니다. Repeat Until
Example: Repeat Write('Enter a value (0..9): '); ShowMessage(IntToStr(I)); Until (I >= 0) and (I = 9);
See also
Until 키워드결과
Declaration
Var result : Function return type;
Description
스크립트의 모든 함수는 결과 값을 반환하기 위해 `` 키워드를 사용해야 합니다. 변수 `type`은 함수의 반환 유형입니다. Result
See also
함수 키워드Shl
Declaration
value shl bits
Description
연산자는 정수 값을 shl비트 위치만큼 왼쪽으로 시프트합니다. 비워진 비트 위치는 오른쪽에서 0 비트로 Fill됩니다. Bits
See also
And 키워드
Not 키워드
Or 키워드
Shr 키워드
Xor 키워드Shr
Declaration
value shr bits
Description
연산자는 정수 값을 shr비트 위치만큼 오른쪽으로 시프트합니다. 비워진 비트 위치는 왼쪽에서 0 비트로 Fill됩니다. Bits
See also
And 키워드
Not 키워드
Or 키워드
Shl 키워드
Xor 키워드문자열
Declaration
type string;type Name = string[Constant]
Description
키워드는 문자열(string) 유형을 나타냅니다. string다음과 같이
Declaration
If expression then statement
Description
키워드는 Then문에 포함됩니다. If
See also
If 키워드To
Declaration
For variable := expression1 to expression2 do statement
Description
키워드는 순차적으로 증가하는 to루프의 일부입니다. for
Example For i := 0 to AnIndex - 1 do S := S + #13 + AString;검색해
See also
Downto 키워드
For 키워드보세요
Declaration
Try statements finally statements end;Try statements except statements end;
Description
키워드는 try문 또는 try-except문을 시작합니다. 이 두 문은 관련이 있지만 서로 다른 용도로 사용됩니다. try-finally
Try Finally
블록 내의 문은 try 블록을 예외, Exit 또는 Break를 통해 어떤 방식으로 제어 흐름이 빠져나가더라도 항상 실행됩니다. finally블록은 임시 객체 및 기타 리소스를 해제하고 정리 작업을 수행하는 데 사용합니다. 일반적으로 서브루틴 내에서 try-finally문을 하나 이상 사용할 필요는 없습니다. try-finally
Example: Reset(F); Try ... // process file F Finally CloseFile(F); End;
Try Except
를 사용하여 예외 상황을 처리할 수 있습니다. 예를 들어, 특정 예외를 포착하여 오류 로그에 기록하거나 사용자 친화적인 대화 상자를 표시하는 등 유용한 작업을 수행할 수 있습니다. DelphiScript에서는 try-except키워드가 지원되지 않으므로, On블록 내에서 Except문을 사용하십시오. Raise
Example: Try X := Y/Z; Except Raise('A divide by zero error!'); End;
See also
Raise 키워드Type
Declaration
Type Name = type declaration ...
Description
키워드는 변수의 타입을 선언합니다. DelphiScript는 타입이 없는 언어이므로 특정 타입의 변수를 선언할 필요는 없지만, 스크립트의 가독성을 높이기 위해 선언할 수 있습니다. 스크립트 내의 모든 변수는 항상 Variant 타입입니다. 스크립트 작성 시 가장 큰 제약 사항은 레코드나 클래스를 선언할 수 없다는 점입니다. Type스크립트에서는 형 변환이 무시되므로, 변수 선언 시 명시된 형식은 무시되며 생략할 수 있습니다. 따라서 다음 선언들은 모두 올바른 것입니다:
Example:
var a : integer;
var b : integer;
var c, d;프로시저/함수 선언에서 파라미터의 타입은 무시되므로 생략할 수 있습니다. 예를 들어, 다음 코드는 올바른 코드입니다:
Function sum(a, b) : integer; Begin Result := a + b; End;일반적으로 Variant는 모든 데이터 유형을 저장하고 다양한 연산 및 유형 변환을 수행하는 데 사용할 수 있습니다. Variant는 실행 시점에 유형 검사가 이루어지고 계산됩니다. 컴파일러는 코드에 잠재적인 오류가 있을 경우 경고를 표시하지 않으므로, 이러한 오류는 광범위한 테스트를 통해서만 발견할 수 있습니다. 전반적으로, Variant를 사용하는 코드 부분은 많은 연산이 실행 시점까지 해결되지 않기 때문에 해석형 코드로 간주될 수 있습니다. 이는 코드의 실행 속도에 영향을 미칠 수 있습니다.
Example: Var V Begin // you can assign to it values of several different types: V := 10; V := 'Hello, World'; V := 45.55; End;
See also
Var 키워드Unit
Declaration
Unit Name;
interface
declarations
implementation
declarations
statements
Initialization
statements
finalization
statements
end.
Unit Name;
interface
declarations
implementation
declarations
statements
begin
statements
end.
키워드는 스크립트의 기본 단위인 유닛을 정의합니다. 이 키워드는 사용할 수는 있지만 스크립팅 시스템에서는 무시된다는 점에 유의하십시오. unit
See also
Function 키워드
Program 키워드Until
Declaration
Repeat
Statements;
Until boolean expression
Description
키워드는 until블록의 끝을 표시합니다. Repeat-Until블록 내의 문들은 부울 표현식이 참이 될 때까지 반복적으로 실행됩니다. Repeat-Until
Example: Repeat Write('Enter a value (0..9): '); ShowMessage(IntToStr(I)); Until (I >= 0) and (I = 9);
See also
Repeat 키워드용도
Declaration
Uses Unit Name, ...;
Description
키워드는 주변 유닛으로 Import되는 유닛의 이름을 나열합니다. Altium Designer의 스크립팅 시스템은 유닛 Import를 지원하므로 uses선언은 선택 사항입니다. 가독성을 높이기 위해 uses 선언을 포함할 수 있습니다. uses동일한 프로젝트 내에 저장된 모든 유닛은 이러한 유닛 중 어느 것에서든 전역 변수에 접근할 수 있습니다. 동일한 프로젝트 내의 유닛에서 변수를 선언할 때 이 점을 유의하십시오.
Altium Designer의 Client, PCB, Schematic 및 워크스페이스 관리자 API와 Delphi의 SysUtils, Classes 및 기타 유닛은 스크립트에서 Import되어 사용할 수 있으므로, 스크립트 내에서 이러한 유닛을 별도로 선언할 필요는 없습니다.
See also Altium Designer API에 대한 자세한 내용은‘Altium Designer API 사용’ 문서를 참조하십시오.
Var
Declaration
Name : Type
Name : Type = Expression;
DelphiScript Variables
스크립트 내의 모든 변수는 항상 Variant 유형입니다. 형 변환은 무시됩니다. 변수 선언 시의 유형은 무시되며 생략할수
있으므로, 다음 선언들은 모두 올바른
형태입니다
:
Var a : integer;
Var b : integer;
Var c, d;프로시저/함수 선언 시 파라미터의 유형은 무시되며 생략할 수 있습니다. 예를 들어, 다음 코드는 올바른 형태입니다:
Function sum(a, b) : integer; Begin Result := a + b; End;일반적으로 Variant는 모든 데이터 유형을 저장하고 다양한 연산 및 유형 변환을 수행하는 데 사용할 수 있습니다. Variant는 실행 시점에 유형 검사가 이루어지고 계산됩니다. 컴파일러는 코드의 잠재적 오류에 대해 경고하지 않으므로, 이러한 오류는 광범위한 테스트를 통해서만 발견할 수 있습니다. 전반적으로, Variant를 사용하는 코드 부분은 많은 연산이 실행 시까지 해결될 수 없기 때문에 해석형 코드로 간주될 수 있습니다. 이는 코드의 실행 속도에 영향을 미칠 수 있습니다.
Variant 변수 선언:
Var V; Begin // you can assign to it values of several different types: V := 10; V := 'Hello, World'; V := 45.55; End;
Array elements
배열 요소의 유형은 무시되며 생략할 수 있으므로, 다음 선언들은 동일합니다:
Var x : array [1..2] of double;
Var x : array [1..2];
Illegal array example:
Type
TVertices = Array [1..50] Of TLocation;
Var
NewVertices : TVertices;
Legal array example:
Var
NewVertices : Array [1..50] of TLocation;반면
Declaration
while expression do statement
Description
문은 식이 참인 동안 해당 문을 반복적으로 실행합니다. while~
See also
Break 키워드
Continue 키워드
Do 키워드
DownTo 키워드
For 키워드
Repeat 키워드
~ 키워드
~와 함께와 함께
Declaration
with expression do statement
Description
문은 심볼 이름을 해결하기 위한 범위에 레코드, 객체, 클래스 또는 인터페이스 참조를 추가합니다. With
Normal version example: Form.Canvas.Pen.Width := 2; Form.Canvas.Pen.Color := clSilver;
With version example: With Form.Canvas.Pen do Begin Width := 2; Color := clSilver; End;
See also
Do 키워드Xor
Declaration
- 부울 식 XOR 부울 식
integer expression Xor integer expression
Description
연산자는 피연산자에 대해 배타적 OR 연산을 수행합니다. 피연산자가 부울형인 경우, 부울형 결과를 반환합니다. 피연산자가 서로 다르면 true를, 같으면 false를 반환합니다. xor정수형
은 피연산자의 각 비트에 대해 연산을 수행하며, 두 피연산자의 해당 비트가 서로 다를 경우 결과 비트를 xor로 설정하고, 두 피연산자의 비트가 동일할 경우 0으로 설정합니다. 한 피연산자가 다른 피연산자보다 작을 경우, 더 작은 피연산자의 가장 왼쪽 비트들은 1로 확장됩니다. 0