Mehrere TextEdit Inhalte in einem Fliesstextfeld lesen und bearbeiten

scripting

#1

1. Zunächst legen Sie eine FlexTextEdit aus der Toolbox ab und setzen die Eigenschaft "Multiline = true."
ACHTUNG: zum Einfügen einer neuen Zeile im FlexTextEdit muß der User “Strg+Return” verwenden anstatt “Return”.

image

2. Lesen Sie im Event HostDataChange nun die Inhalte in das TextEdit

var text = "";

text += flexTextEdit2.Text + "\r\n"; 
text += flexTextEdit3.Text + "\r\n"; 
text += flexTextEdit4.Text + "\r\n";
text += flexTextEdit5.Text + "\r\n";

//remove trailing empty lines
while (text.EndsWith("\r\n"))
	text = text.Remove(text.Length - 2, 2);

flexTextEdit1.Text = text;

3.Mit dem folgenden Code im Event “TextChanged” begrenzen Sie die Eingaben, damit die Aufnahmefähigkeit der Felder und deren Anzahl nicht überschritten wird. Außerdem schreiben Sie direkt den Inhalt in die Felder.

int fieldCount = 4; // 4 fields on green screen
int fieldLength = 20; // length of green screen fields is 20

if (flexTextEdit1.Lines.Length > fieldCount)
	flexTextEdit1.Undo();

foreach (string line in flexTextEdit1.Lines)
	if (line.Length > fieldLength)
		flexTextEdit1.Undo();

//write Current text to fields
try { flexTextEdit2.Text = flexTextEdit1.Lines[0]; } catch { flexTextEdit2.Text = ""; };
try { flexTextEdit3.Text = flexTextEdit1.Lines[1]; } catch { flexTextEdit3.Text = ""; };
try { flexTextEdit4.Text = flexTextEdit1.Lines[2]; } catch { flexTextEdit4.Text = ""; };
try { flexTextEdit5.Text = flexTextEdit1.Lines[3]; } catch { flexTextEdit5.Text = ""; };

flexTextEdit1.ClearUndo();