슈퍼톡

SuperTalk

SuperTalk는 SuperCard에서 사용되는 스크립트 언어입니다.SuperTalk는 HyperTalk의 후예입니다.

HyperTalk 기본 언어 확장

추가 구문

슈퍼카드가 HyperTalk 언어에 추가한 가장 강력한 기능 중 하나는 사용자 속성입니다.HyperTalk 객체에 고정된 속성 세트가 있는 경우 SuperCard 스크립터는define property propName명령어를 사용하여 버튼 및 필드에 새 속성을 추가합니다.이러한 속성에는 임의의 텍스트(xTalk에서 텍스트를 사용하여 표시되는 숫자 및 개체 참조 포함) 및 전체 파일의 덤프도 포함될 수 있습니다.

SuperTalk는 HyperTalk에 대해 몇 가지 변형을 제공합니다.answer그리고.answer file이 명령을 사용하면 목록에서 여러 항목을 선택하거나 사용 가능한 모든 아이콘에서 아이콘을 선택하거나 사운드를 재생할 MIDI 계측기를 선택하거나 지원되는 이미지 형식(미리보기 포함)의 파일 또는 디스크와 폴더를 선택할 수 있습니다.HyperTalk의 대화상자와 달리 SuperTalk의 응답 및 요청 대화상자는 더 많은 텍스트를 저장할 수 있도록 크기를 동적으로 조정하지 않습니다.그러나 SuperCard는 임의의 유형의 창에 카드(페이지)를 설치할 수 있기 때문에 충분히 큰 대화 상자를 쉽게 만들 수 있다.SuperTalk는 또한alert표준 시스템 아이콘을 포함한 표준 시스템 경보 창 및 시트를 표시하는 명령어.

스위치 커맨드를 사용하면, 복잡한 조건하에서 보다 읽기 쉽게 할 수 있습니다.또, 다양한 종류의 미디어(카드의 스크린 캡쳐, 사운드, Quick Time 무비등)를 기록할 수 있습니다.또,clone복사 및 붙여넣기와 동일하지만 클립보드는 변경되지 않은 상태로 두는 명령어, 순차 정수 값으로 글로벌 변수를 생성하는 열거 명령어 및 최근 MetaCard에 익숙한 명령어repeat for each item x목록을 통해 반복하는 명령어가 추가되었습니다.

또한 SuperCard는 다음과 같은 예외 처리를 제공합니다.try관련 진술throw명령어를 입력합니다.

차이점 및 비호환성

SuperTalk는 HyperCard보다 훨씬 앞서 소스 레벨 디버거와 함께 제공되었지만 SuperTalk 디버거는 모달 창이며 줄 옆을 클릭하는 것만으로 중단점을 설정할 수 없습니다.스페셜trace명령어는 디버거에 들어가 현재 실행 중인 코드 줄을 보거나 명령을 실행하거나 식을 평가할 수 있습니다.따라서 스크립트 오류가 발생했을 때 바로 사용할 수 있는 것이 아니라 SuperTalk 디버거를 명시적으로 켜야 합니다.

visual effect명령어는 구문이 좀 더 엄격하지만 QuickTime 전환 및 특수 플러그인 모듈(데이터 포크 리소스에 저장됨) 등 수많은 추가 전환 효과를 지원합니다.TRAN) 언로드되지 않고 창을 소유할 수 있는 특수한 종류의 외부 명령어가 추가되었습니다.그 타입은XRTNXCMD 프로토콜과는 확연히 다르며 나중에 HyperTalk에 윈도우를 추가하기 위해 도입된 xWindoid 프로토콜도 사용하지 않습니다.

또한 SuperTalk는launch명령어를 사용하여 외부 응용 프로그램을 시작할 수 있습니다(HyperTalk와 다릅니다).open이 명령어는 SuperTalk가 다양한 창을 열기 위해 사용하는 명령어입니다(HyperTalk는 를 사용하여 여기서 벗어났습니다).go to stack "foo" in new window).

풍부한 객체 모델

물론 SuperTalk에서는 SuperCard의 확장된 객체 모델도 공개되어 슬라이더, 스크롤바, 진행률 표시기 및 기타 축척, 스크립트 가능한 페인트 및 그리기 그래픽, 네이티브 목록 상자 및 퍼스트 클래스 메뉴 객체를 만들 수 있습니다.또한 여러 스타일(모달 패널, 비모달, 스크롤, 크기 조정 가능..., 플로팅 팔레트)을 가진 여러 창을 사용할 수 있으며, 완전한 스크립트 제어 하에 포커스와 액티베이션 범위를 변경할 수 있습니다.

편차

슈퍼카드의 일부는 HyperTalk의 영어다운 모습에서 벗어난다.여기에는alert이 명령어는 의 약간 어색한 구문을 에뮬레이트하려고 했습니다.answer좀 과하게 굴다또한 시간이 지남에 따라 많은 XCMD가 내장 명령어로 엔진에 롤인되어 그다지 기억에 남지 않는 핸들러 콜 구문이 유지되고 있는 것 같습니다.여기서 가장 명백한 경우는movie슬라이더나 기타 요소와 같은 실제 컨트롤로 구현되는 대신 동영상이 창에 "보이지 않게 고정"되는 기능.기본 시스템 API의 일대일 변환인 일반적인 응용 프로그램 동작을 제어하는 속성도 있습니다. 예를 들어 "외관 관리자"(Mac OS 9의 주제 엔진)를 사용하는 경우입니다.