Anytime Help Center

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Support
  • Guest
  • Log In
English (US)
US English (US)
DE German
CN Chinese
MX Spanish (Mexico)
Chinese (Simplified)
  • AKG
    Microphones Wireless Integrated Systems Automatic Mixers Headphones Discontinued Products (AKG) General AKG Inquiries Certifications (AKG)
  • AMX
    Networked A/V Distribution (AVoIP) Traditional A/V Distribution Video Signal Processing Architectural Connectivity User Interfaces Control Processing Power (AMX) Programming (AMX) Software (AMX) Discontinued Products (AMX) General AMX Inquiries Certifications (AMX)
  • BSS
    Soundweb™ Omni Soundweb™ London Soundweb™ Contrio™ Software (BSS) Discontinued Products (BSS) General BSS Inquiries Certifications (BSS)
  • Crown
    CDi DriveCore Series CDi Series Commercial Series ComTech Series DCi DriveCore Series I-Tech HD Series XLC series XLi Series XLS DriveCore 2 Series XTi 2 Series Discontinued Products (Crown) Software (Crown) General Crown Inquiries Certifications (Crown)
  • dbx
    CX Series 500 Series DriveRack Personal Monitor Control ZonePRO Zone Controllers FeedBack Suppression Microphone Preamps Dynamics Processors Crossovers Equalizers Software (dbx) Discontinued Products (dbx) General dbx Inquiries Certifications (dbx)
  • Flux::
    Immersive Processing Analysis Subscriptions
  • JBL
    Cinema Sound Installed Live Portable Tour Sound Recording & Broadcast Software (JBL) Discontinued Products (JBL) Video Manual Series (JBL) General JBL Inquiries Certifications (JBL)
  • Lexicon
    Plugins Effects Processors Cinema Discontinued Products (Lexicon) Video Manual Series (Lexicon) General Lexicon Inquiries Certifications (Lexicon)
  • Martin
    Atomic ELP ERA Exterior MAC P3 VC VDO Tools Discontinued Products (Martin) General Martin Inquiries Certifications (Martin)
  • Soundcraft
    Digital Analog Connected Analog Only Discontinued Products (Soundcraft) Video Manual Series (Soundcraft) General Soundcraft Inquiries Certifications (Soundcraft)
  • General HARMAN Inquiries
    Dante
+ More
  • Home
  • AMX
  • Programming (AMX)
  • Programming

AMX TRIM_STRING

Technical Support Guide

Written by Peter Stauber

Updated at February 3rd, 2026

Table of Contents

Brand: Models: Question: Answer: Code Block

Brand:

  • AMX 

Models:

  • Netlink

Question:

  • Is there a way to remove the spaces before or after characters in a string?

Answer:

Code Block

PROGRAM_NAME='TRIMSTRING'
(***********************************************************)
(***********************************************************)
(*  FILE_LAST_MODIFIED_ON: 04/05/2006  AT: 09:00:25        *)
(***********************************************************)
(* System Type : NetLinx                                   *)
(***********************************************************)
(* REV HISTORY:                                            *)
(***********************************************************)
(*
   $History: $
*)
(***********************************************************)
(*          DEVICE NUMBER DEFINITIONS GO BELOW             *)
(***********************************************************)
DEFINE_DEVICE
(***********************************************************)
(*               CONSTANT DEFINITIONS GO BELOW             *)
(***********************************************************)
DEFINE_CONSTANT
TRIMSTRING_MAX_STRING_LENGTH = 1000
(***********************************************************)
(*              DATA TYPE DEFINITIONS GO BELOW             *)
(***********************************************************)
DEFINE_TYPE
(***********************************************************)
(*               VARIABLE DEFINITIONS GO BELOW             *)
(***********************************************************)
DEFINE_VARIABLE
(***********************************************************)
(*               LATCHING DEFINITIONS GO BELOW             *)
(***********************************************************)
DEFINE_LATCHING
(***********************************************************)
(*       MUTUALLY EXCLUSIVE DEFINITIONS GO BELOW           *)
(***********************************************************)
DEFINE_MUTUALLY_EXCLUSIVE
(***********************************************************)
(*        SUBROUTINE/FUNCTION DEFINITIONS GO BELOW         *)
(***********************************************************)
(* EXAMPLE: DEFINE_FUNCTION <RETURN_TYPE> <NAME> (<PARAMETERS>) *)
(* EXAMPLE: DEFINE_CALL '<NAME>' (<PARAMETERS>) *)
DEFINE_FUNCTION CHAR[TRIMSTRING_MAX_STRING_LENGTH] TRIM_STRING(strSTR[],strDIR[2])
(****************************************************************************************************************)
(* TRIM_STRING FUNCTION            *)
(* Remove leading and/or trailing spaces in a string         *)
(* The syntax:             *)
(*               *)
(* CHAR[MAX_STRING_LENGTH] TRIM_STRING(strSTR[],strDIR[2])        *)
(*               *)
(* PARAMETERS:              *)
(* strSTR = string variable            *)
(* strDIR = which end the spaces should be removed from the string       *)
(* NOTE: To remove spaces from the left pass 'L' in to strDIR.        *)
(* To remove spaces from the right pass 'R' in to strDIR.        *)
(* To remove spaces from both ends pass 'LR'.          *)
(*               *)
(* RESULT:              *)
(* A string containing the removed spaces.          *)
(*               *)
(* EXAMPLES:              *)
(* strVAR = ' ABC ABC ABC '            *)
(* strRESULT = TRIM_STRING(strVAR,'LR')          *)
(* RESULT:              *)
(* strRESULT is 'ABC ABC ABC'            *)
(*               *)
(* strVAR = ' ABC ABC ABC '            *)
(* strRESULT = TRIM_STRING(strVAR,'L')           *)
(* RESULT:              *)
(* strRESULT is 'ABC ABC ABC '            *)
(*               *)
(* strVAR = ' ABC ABC ABC '            *)
(* strRESULT = TRIM_STRING(strVAR,'R')           *)
(* RESULT:              *)
(* strRESULT is ' ABC ABC ABC'            *)
(*               *)
(* NOTE:              *)
(* MAX_STRING_LENGTH must be defined in DEFINE_CONSTANT        *)
(* specifying the maximum string length          *)
(*               *)
(* DEFINE_CONSTANT             *)
(* MAX_STRING_LENGTH = 1000            *)
(*               *)
(****************************************************************************************************************)
STACK_VAR CHAR strTEMP[TRIMSTRING_MAX_STRING_LENGTH]
{
   strTEMP = strSTR //use a temporary string to keep integrity of original string
   IF(FIND_STRING(UPPER_STRING(strDIR),'L',1)) //remove spaces from the left
   {
WHILE(LEFT_STRING(strTEMP,1) = "' '") //loop until all spaces are removed
{
strTEMP = RIGHT_STRING(strTEMP,LENGTH_STRING(strTEMP)-1) //get rid of the space
}
   }
   IF(FIND_STRING(UPPER_STRING(strDIR),'R',1)) //remove spaces from the right
   {
WHILE(RIGHT_STRING(strTEMP,1) = "' '") //loop until all spaces are removed
{
SET_LENGTH_STRING(strTEMP,LENGTH_STRING(strTEMP)-1) //get rid of the space
}
   }
   RETURN strTEMP //return the string w/out spaces
}
(***********************************************************)
(*                STARTUP CODE GOES BELOW                  *)
(***********************************************************)
DEFINE_START
(***********************************************************)
(*                THE EVENTS GO BELOW                      *)
(***********************************************************)
DEFINE_EVENT
(*****************************************************************)
(*                                                               *)
(*                      !!!! WARNING !!!!                        *)
(*                                                               *)
(* Due to differences in the underlying architecture of the      *)
(* X-Series masters, changing variables in the DEFINE_PROGRAM    *)
(* section of code can negatively impact program performance.    *)
(*                                                               *)
(* See Ԅifferences in DEFINE_PROGRAM Program ExecutionԠsection *)
(* of the NX-Series Controllers WebConsole & Programming Guide   *)
(* for additional and alternate coding methodologies.            *)
(*****************************************************************)
DEFINE_PROGRAM
(*****************************************************************)
(*                       END OF PROGRAM                          *)
(*                                                               *)
(*         !!!  DO NOT PUT ANY CODE BELOW THIS COMMENT  !!!      *)
(*                                                               *)
(*****************************************************************)
 

 

Related Videos

framework model

Was this article helpful?

Yes
No
Give feedback about this article

Table of Contents

Brand: Models: Question: Answer: Code Block

Related Articles

  • AMX Test Article from PDF
  • AMX G5 Listview Button Feature Summary
  • How do I program a CE series device to work with a Netlinx system?

Related Articles

  • AMX Test Article from PDF
  • AMX G5 Listview Button Feature Summary
  • How do I program a CE series device to work with a Netlinx system?
Copyright © HARMAN Professional. All rights reserved. Privacy Policy | Terms of Use
Expand