사용자 도구

사이트 도구

English

comfilehmi:hmieditor_function:index

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
comfilehmi:hmieditor_function:index [2023/11/03 10:07]
Comfile Technology [7. 문자열 관련 함수]
comfilehmi:hmieditor_function:index [2024/03/13 16:52] (현재)
Comfile Technology
줄 11: 줄 11:
 최초상태 번지는 0부터 1023까지 사용가능하며 0으로 채워져 있습니다. set_mem_size함수로 용량 확장이 가능합니다. 최초상태 번지는 0부터 1023까지 사용가능하며 0으로 채워져 있습니다. set_mem_size함수로 용량 확장이 가능합니다.
  
-  * 예: set_mem_size(20000) - 20000개까지 사용가능하도록 확장시킴. 최대 1,​000,​000(백만)개까지 설정가능. 예를 들어 [이벤트와 액션>​전역 이벤트>​프로젝트 시작 시>​액션>​스크립트]에서 set_mem_size(5000) 라고 지정하면 프로젝트가 시작할 때 메모리를 5000개로 늘려 놓고 시작할 수 있습니다. +  * 예: set_mem_size(20000) - 20000개까지 사용가능하도록 확장시킴. 최대 1,​000,​000(백만)개까지 설정가능. 예를 들어 [이벤트와 액션>​전역 이벤트>​프로젝트 시작 시>​액션>​스크립트]에서 set_mem_size(5000) 라고 지정하면 프로젝트가 시작할 때 메모리를 5000개로 늘려 놓고 시작할 수 있습니다. 확장후 데이터는 0으로 다시 채워집니다. 각 번지에 64비트 정수및 실수형 수치를 저장할 수 있습니다. ​
-  * 확장후 데이터는 0으로 다시 채워집니다. +
- +
- 각 번지에 64비트 정수및 실수형 수치를 저장할 수 있습니다. ​+
  
   * set_mem(번지,​값) : //내부 메모리// 특정번지에 값을 기록.   * set_mem(번지,​값) : //내부 메모리// 특정번지에 값을 기록.
 +
   * mem(번지) : //내부 메모리// 특정번지에서 값을 읽어옴.   * mem(번지) : //내부 메모리// 특정번지에서 값을 읽어옴.
  
 다음과 같이 연속된 번지에 계속 값을 기록할 수도 있습니다. 다음과 같이 연속된 번지에 계속 값을 기록할 수도 있습니다.
  
-  * set_mem(번지,​값1,​값2,​값3....) ​ +  * set_mem(번지,​값1,​값2,​값3....)
- +
 ===== 2. 기본 수학함수 ===== ===== 2. 기본 수학함수 =====
  
줄 29: 줄 25:
  
   * sin : 사인   * sin : 사인
 +
   * cos : 코사인 ​     * cos : 코사인 ​  
 +
   * tan : 탄젠트   * tan : 탄젠트
 +
   * asin : 아크사인   * asin : 아크사인
 +
   * acos : 아크코사인   * acos : 아크코사인
 +
   * atan : 아크탄젠트   * atan : 아크탄젠트
 +
   * sinh : 하이퍼블릭 사인   * sinh : 하이퍼블릭 사인
 +
   * cosh : 하이퍼블릭 코사인   * cosh : 하이퍼블릭 코사인
 +
   * tanh : 하이퍼블릭 탄젠트   * tanh : 하이퍼블릭 탄젠트
 +
   * floor : 소수점 이하를 버린 정수값 리턴   * floor : 소수점 이하를 버린 정수값 리턴
 +
   * ceil : 소수점 이하를 올린 정수값 리턴   * ceil : 소수점 이하를 올린 정수값 리턴
 +
   * exp : 익스포넨셜(exponential),​ 자연로그의 밑 e의 거듭제곱승 리턴.   * exp : 익스포넨셜(exponential),​ 자연로그의 밑 e의 거듭제곱승 리턴.
 +
   * log : 자연로그   * log : 자연로그
 +
   * log10 : 사용로그   * log10 : 사용로그
 +
   * fabs : 절대값. 항상 양수로 리턴.   * fabs : 절대값. 항상 양수로 리턴.
 +
   * sqrt : 제곱근   * sqrt : 제곱근
  
줄 48: 줄 59:
  
   * pow(x,y) : x의 y제곱   * pow(x,y) : x의 y제곱
 +
   * fmod(x,y) : x를 y로 나눈 나머지   * fmod(x,y) : x를 y로 나눈 나머지
  
줄 53: 줄 65:
  
   * max(x,​y,​z,​...) : 가장 큰 값   * max(x,​y,​z,​...) : 가장 큰 값
 +
   * min(x,​y,​z,​...) : 가장 작은 값   * min(x,​y,​z,​...) : 가장 작은 값
 +
   * max_index(x,​y,​z,​...) : 가장 큰 값의 인덱스(순번을 말하며 0부터 시작합니다.)   * max_index(x,​y,​z,​...) : 가장 큰 값의 인덱스(순번을 말하며 0부터 시작합니다.)
 +
   * min_index(x,​y,​z,​...) : 가장 작은 값의 인덱스(순번을 말하며 0부터 시작합니다.)   * min_index(x,​y,​z,​...) : 가장 작은 값의 인덱스(순번을 말하며 0부터 시작합니다.)
 +
   * avg(x,​y,​z,​...) : 평균값   * avg(x,​y,​z,​...) : 평균값
 +
   * stdev(x,​y,​z,​...) : 표준편차값   * stdev(x,​y,​z,​...) : 표준편차값
 +
   * scale(입력값,​ 입력 최소값, 입력 최대값, 출력 최소값, 출력 최대값)   * scale(입력값,​ 입력 최소값, 입력 최대값, 출력 최소값, 출력 최대값)
 ===== 3. 시스템 함수 ===== ===== 3. 시스템 함수 =====
  
-시스템과 관련된 함수입니다. ​ +시스템과 관련된 함수입니다. 인수가 없는 함수들입니다.
- +
-인수가 없는 함수들입니다.+
  
   * tick_count() : 기기가 부팅한 이후로 경과된 1000분의 1초 단위의 시간(ms)   * tick_count() : 기기가 부팅한 이후로 경과된 1000분의 1초 단위의 시간(ms)
 +
   * touch_duration() : 마지막으로 터치를 누른 채로 현재까지 경과된 시간(ms). 만약 터치가 눌려져 있는 상태가 아니라면 -1.0을 반환.   * touch_duration() : 마지막으로 터치를 누른 채로 현재까지 경과된 시간(ms). 만약 터치가 눌려져 있는 상태가 아니라면 -1.0을 반환.
 +
   * action_group_repeat_index() : 사용자 액션그룹을 반복 실행할 경우 현재 반복된 순번(0부터 시작). 실행된 사용자 액션그룹에 소속된 액션 내부에서 이 함수를 호출하여 값을 얻습니다.   * action_group_repeat_index() : 사용자 액션그룹을 반복 실행할 경우 현재 반복된 순번(0부터 시작). 실행된 사용자 액션그룹에 소속된 액션 내부에서 이 함수를 호출하여 값을 얻습니다.
 +
   * idle_seconds() : 현재까지 얼마나 오랫동안 터치 입력이 없었는지 나타내는 함수(초 단위) ​   * idle_seconds() : 현재까지 얼마나 오랫동안 터치 입력이 없었는지 나타내는 함수(초 단위) ​
 +
   * idle_minutes() : (분 단위) ​ ※ 주의: set_backlight_state(1)을 수행시 초기화됩니다.   * idle_minutes() : (분 단위) ​ ※ 주의: set_backlight_state(1)을 수행시 초기화됩니다.
 +
   * prev_screen_id() : 이전 화면 번호 ​   * prev_screen_id() : 이전 화면 번호 ​
 +
   * screen_id() : 현재 화면 번호 ​   * screen_id() : 현재 화면 번호 ​
 +
   * timeout_result() : 가장 최근 통신의 결과 타임아웃이 발생했을 경우 1을 리턴. 발생하지 않았거나 통신내역이 없다면 0을 리턴.   * timeout_result() : 가장 최근 통신의 결과 타임아웃이 발생했을 경우 1을 리턴. 발생하지 않았거나 통신내역이 없다면 0을 리턴.
 +
   * timeout_count() : 프로젝트 실행후 현재까지의 타임아웃 총 발생횟수를 리턴.   * timeout_count() : 프로젝트 실행후 현재까지의 타임아웃 총 발생횟수를 리턴.
 +
   * reset_timeout_count() : 위 timeout_count()함수로 얻을 수 있는 횟수를 0으로 초기화 합니다.   * reset_timeout_count() : 위 timeout_count()함수로 얻을 수 있는 횟수를 0으로 초기화 합니다.
-  ​* cpu_usage() : 현재 시스템의 CPU 점유율을 백분율로 나타냅니다. + 
-  * reboot_system() : 시스템을 재부팅합니다.+  ​* cpu_usage() : 현재 시스템의 CPU 점유율을 백분율로 나타냅니다. ​ ​시뮬레이터와 PC런타임에서는 항상 0을 반환합니다. 
 + 
 +  * reboot_system() : 시스템을 재부팅합니다. ​시뮬레이터/​PC 런타임에서는 지원하지 않습니다. 
   * firmware_version() : 현재 펌웨어 버전을 반환합니다. 예를 들어 2.73일 경우 273을 반환합니다.   * firmware_version() : 현재 펌웨어 버전을 반환합니다. 예를 들어 2.73일 경우 273을 반환합니다.
 +
   * keypad_state() : 현재 동적 키패드가 띄워져 있는지 여부를 반환합니다. 띄워져 있을 경우 1, 그렇지 않으면 0을 반환합니다.   * keypad_state() : 현재 동적 키패드가 띄워져 있는지 여부를 반환합니다. 띄워져 있을 경우 1, 그렇지 않으면 0을 반환합니다.
 +
   * backlight_state() : 현재 백라이트가 켜져 있는지 여부를 반환합니다. 켜져 있을 경우 1, 그렇지 않으면 0을 반환합니다.   * backlight_state() : 현재 백라이트가 켜져 있는지 여부를 반환합니다. 켜져 있을 경우 1, 그렇지 않으면 0을 반환합니다.
 +
   * beep() : 비프음을 발생시킵니다.(버튼 터치할 경우 나는 터치음과 같은 음입니다). 음성을 지원하지 않는 모델일 경우는 부저음을 발생시킵니다.   * beep() : 비프음을 발생시킵니다.(버튼 터치할 경우 나는 터치음과 같은 음입니다). 음성을 지원하지 않는 모델일 경우는 부저음을 발생시킵니다.
 +
   * exit_project() : 프로젝트를 종료하고 HMI 초기화면으로 전환합니다.(HMI의 우측 상단 모서리를 5번 누른 것과 같은 효과입니다) ​   * exit_project() : 프로젝트를 종료하고 HMI 초기화면으로 전환합니다.(HMI의 우측 상단 모서리를 5번 누른 것과 같은 효과입니다) ​
 +
   * keypad_value() : 가장 최근에 입력했던 키패드의 입력값을 반환합니다.   * keypad_value() : 가장 최근에 입력했던 키패드의 입력값을 반환합니다.
 +
   * keypad_text() : 가장 최근에 입력했던 키패드 입력값을 문자열로 반환합니다 (숫자 키패드, 멀티 키패드 모두 적용)   * keypad_text() : 가장 최근에 입력했던 키패드 입력값을 문자열로 반환합니다 (숫자 키패드, 멀티 키패드 모두 적용)
 +
   * keypad_text_length() : 가장 최근에 입력했던 키패드 입력값의 문자열 길이를 반환합니다 (숫자 키패드, 멀티 키패드 모두 적용)   * keypad_text_length() : 가장 최근에 입력했던 키패드 입력값의 문자열 길이를 반환합니다 (숫자 키패드, 멀티 키패드 모두 적용)
-  ​* free_memory_bytes() : 현재 사용 가능한 시스템의 남은 메모리양(byte 단위)을 반환합니다.+ 
 +  ​* free_memory_bytes() : 현재 사용 가능한 시스템의 남은 메모리양(byte 단위)을 반환합니다. ​ ​시뮬레이터와 PC버전에서는 항상 0을 반환합니다. 
   * status_monitoring_message() : 현재 상태 모니터링 출력 메세지를 반환합니다.   * status_monitoring_message() : 현재 상태 모니터링 출력 메세지를 반환합니다.
 +
   * is_status_monitoring_enabled() : 현재 상태 모니터링이 활성화되어 있는지 조사합니다. 1을 리턴하면 활성화되어 있는 것이고 0을 리턴하면 비활성화되어 있는 것입니다.   * is_status_monitoring_enabled() : 현재 상태 모니터링이 활성화되어 있는지 조사합니다. 1을 리턴하면 활성화되어 있는 것이고 0을 리턴하면 비활성화되어 있는 것입니다.
-  ​* self_ip_addr() : 현재 기기의 내부 IP 주소를 문자열로 반환합니다(예:​ 192.68.0.50). 주의: 시뮬레이터에서는 공백을 반환합니다.+ 
 +  ​* self_ip_addr() : 현재 기기의 내부 IP 주소를 문자열로 반환합니다(예:​ 192.68.0.50). 주의: 시뮬레이터에서/​PC런타임에서는 공백을 반환합니다. 
   * queries_per_sec() : 최근 초당 통신 요청 횟수를 반환합니다.   * queries_per_sec() : 최근 초당 통신 요청 횟수를 반환합니다.
  
줄 96: 줄 136:
   * enable_status_monitoring(활성화 여부 =1) : 상태 모니터링을 활성화할지 비활성화할지 결정합니다. 런타임의 설정을 바꾸는 효과가 있으므로 재부팅해도 설정이 유지됩니다. 파라미터가 1일 경우 활성화시키고 0일 경우 비활성화시키며 생략시 기본값은 1입니다.   * enable_status_monitoring(활성화 여부 =1) : 상태 모니터링을 활성화할지 비활성화할지 결정합니다. 런타임의 설정을 바꾸는 효과가 있으므로 재부팅해도 설정이 유지됩니다. 파라미터가 1일 경우 활성화시키고 0일 경우 비활성화시키며 생략시 기본값은 1입니다.
  
-  * verify_developer_key(개발자 키) : HMI 기기에 등록된 개발자 키의 일치 여부를 조사하여 결과를 반환합니다. 검사 결과가 일치할 경우 1을, 불일치할 경우 0을 반환합니다. HMI의 [런타임 설정>​개발자 키 등록] 메뉴를 통해 HMI기기에 개발자 키를 미리 등록해놓을 수 있습니다. 예를 들어 프로젝트 동작중에 중요한 화면 진입시에 verify_developer_key(1234)==0 일 경우 에러 표시 화면으로 이동하게끔 작화를 할 수 있습니다. 이 기능은 개발자가 자신이 지정한 특정 기기에서만 자신의 프로젝트가 동작하게끔 하고 싶을 때 유용하게 쓸 수 있습니다.+  * verify_developer_key(개발자 키) : HMI 기기에 등록된 개발자 키의 일치 여부를 조사하여 결과를 반환합니다. 검사 결과가 일치할 경우 1을, 불일치할 경우 0을 반환합니다. HMI의 [런타임 설정>​개발자 키 등록] 메뉴를 통해 HMI기기에 개발자 키를 미리 등록해놓을 수 있습니다. 예를 들어 프로젝트 동작중에 중요한 화면 진입시에 verify_developer_key(1234)==0 일 경우 에러 표시 화면으로 이동하게끔 작화를 할 수 있습니다. 이 기능은 개발자가 자신이 지정한 특정 기기에서만 자신의 프로젝트가 동작하게끔 하고 싶을 때 유용하게 쓸 수 있습니다. ​시뮬레이터에서 이 함수의 지원 여부는 런타임 설정에 따라 결정되고 PC 런타임에서는 USB 동글에 들어 있는 개발자 키 값을 체크합니다. (시뮬레이터나 PC런타임 프로그램을 실행시켜서 개발자 키를 USB 동글에 직접 기록할 수 있습니다.)
  
   * set_data_processing_period(처리 주기 ms) : HMI 기기의 데이터 처리 주기를 조정하여 결과적으로 CPU 점유율을 낮춥니다. 데이터 처리 주기란 화면 갱신이나 통신 처리를 제외한 다른 모든 처리를 하는 주기를 말하며(1/​1000초 단위) 이벤트나 액션의 갯수가 많아지는 등의 이유로 CPU점유율이 높아진 경우 이 함수를 유용하게 사용할 수 있습니다. 일반적으로 프로젝트 시작시에 한번만 호출하면 되며 상황에 따라서 유동적으로 부하를 조절하고 싶을 경우 프로젝트 중간에 사용할 수도 있습니다. CPU 점유율이 높더라도 개의치 않고 최대의 성능을 내고 싶을 경우 파라미터를 0으로 주면 되나, 50 미만의 값은 주의를 요하며 CPU 점유율이 100% 가까이 될 경우 이 값을 대략 100ms 정도로 하고 통신 간격을 30ms 정도로 하면 효과를 볼 수도 있습니다. 이 값은 펌웨어 v3.87부터는 디폴트값이 50이며 그보다 낮은 버전에서는 0입니다.   * set_data_processing_period(처리 주기 ms) : HMI 기기의 데이터 처리 주기를 조정하여 결과적으로 CPU 점유율을 낮춥니다. 데이터 처리 주기란 화면 갱신이나 통신 처리를 제외한 다른 모든 처리를 하는 주기를 말하며(1/​1000초 단위) 이벤트나 액션의 갯수가 많아지는 등의 이유로 CPU점유율이 높아진 경우 이 함수를 유용하게 사용할 수 있습니다. 일반적으로 프로젝트 시작시에 한번만 호출하면 되며 상황에 따라서 유동적으로 부하를 조절하고 싶을 경우 프로젝트 중간에 사용할 수도 있습니다. CPU 점유율이 높더라도 개의치 않고 최대의 성능을 내고 싶을 경우 파라미터를 0으로 주면 되나, 50 미만의 값은 주의를 요하며 CPU 점유율이 100% 가까이 될 경우 이 값을 대략 100ms 정도로 하고 통신 간격을 30ms 정도로 하면 효과를 볼 수도 있습니다. 이 값은 펌웨어 v3.87부터는 디폴트값이 50이며 그보다 낮은 버전에서는 0입니다.
줄 105: 줄 145:
        
   * change_screen(화면 번호) : 주어진 화면 번호로 화면을 이동합니다.   * change_screen(화면 번호) : 주어진 화면 번호로 화면을 이동합니다.
 +
   * set_viewer_browser_title("​웹브라우저 타이틀"​) : 웹브라우저로 HMI를 원격 접속할 때 웹브라우저의 타이틀을 원하는 문구로 나타나게끔 수정합니다.   * set_viewer_browser_title("​웹브라우저 타이틀"​) : 웹브라우저로 HMI를 원격 접속할 때 웹브라우저의 타이틀을 원하는 문구로 나타나게끔 수정합니다.
        
줄 149: 줄 190:
  
   * year() : 현재 연도   * year() : 현재 연도
 +
   * month() : 현재 월   * month() : 현재 월
 +
   * day() : 현재 일   * day() : 현재 일
 +
   * day_of_week() : 현재 요일 ​ (일요일=0,​ 월요일=1,​ 화요일=2,​ ...)   * day_of_week() : 현재 요일 ​ (일요일=0,​ 월요일=1,​ 화요일=2,​ ...)
 +
   * hour() : 현재 시각   * hour() : 현재 시각
 +
   * minute() : 현재 분   * minute() : 현재 분
 +
   * second() : 현재 초   * second() : 현재 초
 +
   * rand() : 0~ 32767 (0x7fff) 사이의 난수를 얻습니다.   * rand() : 0~ 32767 (0x7fff) 사이의 난수를 얻습니다.
  
줄 160: 줄 208:
  
   * set_year(연도) : 연도를 세팅   * set_year(연도) : 연도를 세팅
 +
   * set_month(월) : 월을 세팅   * set_month(월) : 월을 세팅
 +
   * set_day(일) : 일을 세팅   * set_day(일) : 일을 세팅
 +
   * set_hour(시) : 시를 세팅   * set_hour(시) : 시를 세팅
 +
   * set_minute(분) : 분을 세팅   * set_minute(분) : 분을 세팅
 +
   * set_second(초) : 초를 세팅   * set_second(초) : 초를 세팅
 +
   * srand(seed) : rand() 함수에서 추후에 얻어질 값을 결정하기 위해 난수 체계를 초기화합니다. seed값에 따라 예측 가능한 시작값으로 난수 체계가 정해집니다. srand(tick_count());​ 라고 하면 예측 불가능한 시작값으로 시작됩니다. rand() 함수를 호출하기 위해 이 함수를 필수적으로 호출해야 되는 것은 아닙니다.   * srand(seed) : rand() 함수에서 추후에 얻어질 값을 결정하기 위해 난수 체계를 초기화합니다. seed값에 따라 예측 가능한 시작값으로 난수 체계가 정해집니다. srand(tick_count());​ 라고 하면 예측 불가능한 시작값으로 시작됩니다. rand() 함수를 호출하기 위해 이 함수를 필수적으로 호출해야 되는 것은 아닙니다.
  
줄 196: 줄 250:
   * text_ends_with("​대상 문자열",​ "​찾는 문자열",​ 대소문자 무시 옵션) : 문자열이 특정 문자열로 끝나는지 검사합니다. 첫번째 파라미터 문자열이 두번째 파라미터 문자열로 끝난다면 1을 반환하고 그렇지 않으면 0을 반환합니다. 대소문자를 무시하려면 세번째 파라미터를 1로 지정하고 그렇지 않고 대소문자를 정확히 가려서 검사하려면 0으로 지정합니다. 세번째 인자는 생략할 수 있으며 생략시 기본값은 0(대소문자 구별)입니다. ​ \\ (예) text_ends_with("​LUNCH","​CH"​) ​ - - - 1을 반환합니다. ​ \\ (예) text_ends_with("​LUNCH","​ch",​1) ​  - - - 1을 반환합니다. ​ \\ (예) text_ends_with("​LUNCH","​ch",​0) ​ - - - 0을 반환합니다.\\ (예) $suffix="​CH";​result=text_ends_with("​LUNCH",​$suffix);​   * text_ends_with("​대상 문자열",​ "​찾는 문자열",​ 대소문자 무시 옵션) : 문자열이 특정 문자열로 끝나는지 검사합니다. 첫번째 파라미터 문자열이 두번째 파라미터 문자열로 끝난다면 1을 반환하고 그렇지 않으면 0을 반환합니다. 대소문자를 무시하려면 세번째 파라미터를 1로 지정하고 그렇지 않고 대소문자를 정확히 가려서 검사하려면 0으로 지정합니다. 세번째 인자는 생략할 수 있으며 생략시 기본값은 0(대소문자 구별)입니다. ​ \\ (예) text_ends_with("​LUNCH","​CH"​) ​ - - - 1을 반환합니다. ​ \\ (예) text_ends_with("​LUNCH","​ch",​1) ​  - - - 1을 반환합니다. ​ \\ (예) text_ends_with("​LUNCH","​ch",​0) ​ - - - 0을 반환합니다.\\ (예) $suffix="​CH";​result=text_ends_with("​LUNCH",​$suffix);​
  
-<'​텍스트 메모리'​ 관련 함수들>​+<'​텍스트 메모리'​ 관련 함수들> ​\\
 텍스트 메모리는 HMI 기기 내부의 특정 문자열 영역입니다. 전원이 꺼지면 내용이 지워집니다. //내부 메모리//​와 흡사하나 실수가 아닌 문자열을 저장하는 점이 다릅니다. 최초상태 번지는 0부터 1023까지 사용가능하며 처음에는 빈 문자열로 채워져 있습니다. set_tmem_size함수로 용량 확장이 가능합니다. 텍스트 메모리는 HMI 기기 내부의 특정 문자열 영역입니다. 전원이 꺼지면 내용이 지워집니다. //내부 메모리//​와 흡사하나 실수가 아닌 문자열을 저장하는 점이 다릅니다. 최초상태 번지는 0부터 1023까지 사용가능하며 처음에는 빈 문자열로 채워져 있습니다. set_tmem_size함수로 용량 확장이 가능합니다.
  
줄 224: 줄 278:
   * rename_file("​현재 파일 경로",​ "​바꿀 파일 경로"​) : 파일 이름을 변경합니다. \\ (예) rename_file("​storage card\myfile.txt","​storage card\newfile.txt"​)   * rename_file("​현재 파일 경로",​ "​바꿀 파일 경로"​) : 파일 이름을 변경합니다. \\ (예) rename_file("​storage card\myfile.txt","​storage card\newfile.txt"​)
   ​   ​
-  * base64_to_file("​BASE64 형식의 문자열","​저장할 파일 경로",​저장 옵션 = 0) : BASE64 형식으로 된 바이너리 데이터를 해석하여 특정 파일에 기록합니다. 저장할 데이터와 경로에 문자형 변수('​$'​로 시작)를 사용할 수 있습니다. 기존 파일이 존재할 경우 저장 옵션이 0이면 덮어쓰고 0이 아니면 뒤에 이어서 기록합니다. 기본값은 0입니다.(덮어쓰기) \\ (예) base64_to_file($base64_data,"​storage card\myfile.bin",​1)+  * base64_to_file("​BASE64 형식의 문자열","​저장할 파일 경로",​저장 옵션 = 0) : BASE64 형식으로 된 바이너리 데이터를 해석하여 특정 파일에 기록합니다. 저장할 데이터와 경로에 문자형 변수('​$'​로 시작)를 사용할 수 있습니다. 기존 파일이 존재할 경우 저장 옵션이 0이면 덮어쓰고 0이 아니면 뒤에 이어서 기록합니다. 기본값은 0입니다.(덮어쓰기). 성공하면 1을, 실패하면 0을 반환합니다. ​\\ (예) base64_to_file($base64_data,"​storage card\myfile.bin",​1)
   ​   ​
   * file_to_base64("​불러올 파일 경로"​) : 특정 파일을 읽어서 BASE64 형식(문자열)으로 변환하여 리턴합니다. 파일이 존재하지 않거나 실패할 경우 공백을 리턴합니다. \\ (예) $base64_data=file_to_base64("​storage card\data.bin"​)   * file_to_base64("​불러올 파일 경로"​) : 특정 파일을 읽어서 BASE64 형식(문자열)으로 변환하여 리턴합니다. 파일이 존재하지 않거나 실패할 경우 공백을 리턴합니다. \\ (예) $base64_data=file_to_base64("​storage card\data.bin"​)
comfilehmi/hmieditor_function/index.1698973628.txt.gz · 마지막으로 수정됨: 2023/11/03 10:07 저자 Comfile Technology