| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod ChompText ( | 
|   String text_i | 
| ) const declarative remote as String | 
| { | 
|   Description: 'Limits feedback by fixed number of characters' | 
|   TextBody: | 
|   [* | 
|     output := text_i; | 
|     maxLength := SCK_FeedbackBuilder::GetMaxFeedbackLength(); | 
|     maxLines := SCK_FeedbackBuilder::GetMaxFeedbackLines(); | 
|      | 
|     // Chomp by number of characters | 
|     if( text_i.Length() > SCK_FeedbackBuilder::GetMaxFeedbackLength() ) | 
|     { | 
|       output := text_i.SubString( 0, maxLength ) + SCK_FeedbackBuilder::FeedbackOverflowTerminator(); | 
|     } | 
|      | 
|     // In the case that there are a lot of short sentences, also chomp by lines | 
|     lines := text_i.Tokenize( String::NewLine() ); | 
|     if( lines.Size() > maxLines ) | 
|     { | 
|       keepLines := construct( Strings ); | 
|       for( i := 0; i < maxLines - 1; i++ )  | 
|       { | 
|         keepLines.Add( lines.Element( i ) ); | 
|       } | 
|       keepLines.Add( SCK_FeedbackBuilder::FeedbackOverflowTerminator() ); | 
|        | 
|       output := keepLines.ToString( String::NewLine() ); | 
|     } | 
|      | 
|     return output; | 
|   *] | 
| } |