...
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.
Panel | |
---|---|
|
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.
Codeblock | ||||
---|---|---|---|---|
| ||||
' 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
|
Codeblock | ||||
---|---|---|---|---|
| ||||
' 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 Dateien, die größer als 10000 Bytes sind ermittelt werden.
Gehen Sie wie folgt vor:
- Ermitteln Sie mir der Aktivität "Dateien ermitteln" alle Dateien eines Verzeichnisses. Das Ergebnis erhalten Sie in der Variable "aFileInfo" vom Typ "List of FileInfo"
- Mit einer Assign-Aktivität können Sie nun eine LINQ-Abfrage anwenden und diese Liste filtern:
- Der Ausdruck "(FROM fileInfo IN aFileInfoArray WHERE fileInfo.FileSize > 10000 SELECT fileInfo.FileName).ToList()" selektiert alle Dateinamen der gesuchten Dateien
- Mit "ToList" am Ende geben Sie an, dass sie die gefundenen Einträge in eine Liste schreiben möchten (hier in die Liste "bigFiles")
Info | ||
---|---|---|
| ||
Um das erste gefundene Element zu protokollieren gibt man z.B.
|
...
title | Beispiel: Dateien mit LINQ filtern |
---|
...
Untergeordnete Seiten (Anzeige untergeordneter Seiten) | ||||
---|---|---|---|---|
|