---
title: ScriptBuilder
---

# <a id="TecnoPack_ScriptBuilder"></a> Class ScriptBuilder

Namespace: [TecnoPack](TecnoPack.md)  
Assembly: CO0002\_Templ\_FlowpackHMI\_V00\_9\_3.dll  

Classe statica responsabile della generazione di script batch dinamici
utilizzati per presentare opzioni all'utente e gestire l'input.

```csharp
public static class ScriptBuilder
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← 
[ScriptBuilder](TecnoPack.ScriptBuilder.md)

#### Inherited Members

[object.GetType\(\)](https://learn.microsoft.com/dotnet/api/system.object.gettype), 
[object.MemberwiseClone\(\)](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone), 
[object.ToString\(\)](https://learn.microsoft.com/dotnet/api/system.object.tostring), 
[object.Equals\(object?\)](https://learn.microsoft.com/dotnet/api/system.object.equals\#system\-object\-equals\(system\-object\)), 
[object.Equals\(object?, object?\)](https://learn.microsoft.com/dotnet/api/system.object.equals\#system\-object\-equals\(system\-object\-system\-object\)), 
[object.ReferenceEquals\(object?, object?\)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), 
[object.GetHashCode\(\)](https://learn.microsoft.com/dotnet/api/system.object.gethashcode)

## Methods

### <a id="TecnoPack_ScriptBuilder_FilterOptionsByLetters_System_String_System_String___"></a> FilterOptionsByLetters\(string, string\[\]\)

Filtra l'elenco delle opzioni in base alle lettere selezionate dall'utente.
Ogni lettera corrisponde a un indice nell'array delle opzioni.

```csharp
public static string[] FilterOptionsByLetters(string inputLetters, string[] options)
```

#### Parameters

`inputLetters` [string](https://learn.microsoft.com/dotnet/api/system.string)

Lettere immesse dall'utente, ad esempio "AC".

`options` [string](https://learn.microsoft.com/dotnet/api/system.string)\[\]

Array di stringhe con tutte le opzioni disponibili.

#### Returns

 [string](https://learn.microsoft.com/dotnet/api/system.string)\[\]

Array di opzioni selezionate, senza duplicati.

#### Examples

```csharp
var options = new[] { "Flowpack", "RDS", "Shrinkwrapper", "Packer" };
var selected = ScriptBuilder.FilterOptionsByLetters("AC", options);
// selected = [ "Flowpack", "Shrinkwrapper" ]
```

### <a id="TecnoPack_ScriptBuilder_GenerateOptionScript_System_String_System_String___"></a> GenerateOptionScript\(string, string\[\]\)

Genera uno script batch che presenta un messaggio e una lista di opzioni numerate all'utente.
L'utente può selezionare una o più opzioni utilizzando lettere corrispondenti.

```csharp
public static string GenerateOptionScript(string message, string[] options)
```

#### Parameters

`message` [string](https://learn.microsoft.com/dotnet/api/system.string)

Messaggio da visualizzare prima delle opzioni.

`options` [string](https://learn.microsoft.com/dotnet/api/system.string)\[\]

Array di stringhe contenente le opzioni disponibili.

#### Returns

 [string](https://learn.microsoft.com/dotnet/api/system.string)

Script batch sotto forma di stringa.

#### Exceptions

 [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception)

Sollevata se l'array delle opzioni è nullo o vuoto.

