Visual Basic
- Für String-Werte muss der Ausdruck in Anführungszeichen eingeschlossen werden "Text".
- Eingabe genau eines Zeichens (Typ Character): z.B. "z“C oder nur z ohne "
- Mehrzeiligen string mit + umbrechen, z.B. „abc“ + „def“
- Zeilenumbrüche in einem String: „\r\n“… oder Environment.NewLine
- In VisualBasic werden bei Indexern runde Klammern „(i)“ statt eckigen (wie z.B. in C# oder Java) verwendet!
- Wenn Sie in einem String ein Anführungszeichen verwenden wollen, muss dieses escaped werden. Escapen Sie Anführungsstriche indem Sie 2 Anführungsstriche setzen (also so: "Text "" Text")
- Listen
Vor der Verwendung einer Liste muss diese initialisiert werden:
Beispiel: Anlegen einer Liste mit string-Einträgen: New List (Of string)
Weitere Informationen finden Sie hier: https://docs.microsoft.com/de-de/dotnet/visual-basic/programming-guide/language-features/collection-initializers/ - Umwandlung eines Wertes vom Typ "Object" in einen anderen Datentyp (in C# oder Java auch "Cast" genannt) funktioniert mit der Funktion "CType(<Value>, <Type>)"
Beispiel: Umwandlung der zurückgegebenen IDs eines DMS-Attributes vom Typ "Mehrfachauswahl": CType(accDocumentAttributes( dmsAttr_Projekte.Id ), Guid()) - String-Eingabe mit eckigen Klammern: Sollten Sie in einem String-Feld einen Text eingeben, der mit "[" beginnt und mit "]" endet, fügt der Workflow Designer automatisch ein Prozentzeichen zu ein. Bei der Auführung wird dieses Zeichen nicht berücksichtigt.
Vereinfachte Eingaben
Datum (Typ DateTime):
Statt „New DateTime(…)“ kann für Datumwerte folgende vereinfachte Schreibweise verwendet werden:
Optional können Sie auch die Uhrzeit mit angeben.Zeitspanne (Typ TimeSpan z.n. in der Delay-Aktivität)
Statt "New TimeSpan(...) kann für Werte dieses Typen auch folgende Schreibweise verwendet werden :
(5 Minuten)
LINQ ("Language Integrated Query")
LINQ ist eine Abfragesprache von Microsoft für VisualBasic (und C#). Die Ausdrücke ermöglichen es Ihnen unter anderem Listen zu sortieren, zu durchsuchen und zu filtern.
Die können LINQ auf zwei Arten schreiben:
- Abfrage-Syntax (Query)
- Methoden-Syntax (Method)
Beide Schreibweisen sind gleichwertig.
' Liefert die Namen aller Dateien der Auflistung "aFileInfoArray", die größer als 10000 Byte ist und auf ".txt" enden. FROM fileInfo IN aFileInfoArray WHERE fileInfo.FileSize>10000 AND fileInfo.Extension.ToUpper()=".TXT" SELECT fileInfo.FullName
' Liefert die Namen aller Dateien der Auflistung "aFileInfoArray", die größer als 10000 Byte ist und auf ".txt" enden. aFileInfoArray.Where(Function(fileInfo) fileInfo.FileSize>10000 and fileInfo.Extension.ToUpper()=".TXT" ).Select(Function(fileInfo) fileInfo.FullName)
Weitere Hilfestellungen und Informationen zu LINQ finden Sie u.a. hier:
- https://www.tutlane.com/tutorial/linq/linq-syntax-query-syntax-method-syntax
- https://docs.microsoft.com/de-de/dotnet/visual-basic/programming-guide/language-features/linq/introduction-to-linq
- https://de.wikipedia.org/wiki/LINQ
Beispiel
Es sollen nur die Textdateien einer Liste (also Dateien mit der Endung".txt") ermittelt werden.
Um das erste gefundene Element zu protokollieren gibt man z.B. "(FROM fileInfo IN aFileInfoArray WHERE fileInfo.Extension.ToUpper()=".TXT" SELECT fileInfo.FileName).ToArray(0)" oder
"(FROM fileInfo IN aFileInfoArray WHERE fileInfo.Extension.ToUpper()=".TXT" SELECT fileInfo.FileName).FirstOrDefault()" ein.