meta data for this page
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
string-operationen [2018/05/24 11:09] – [Teilstring zwischen Begrenzern herauslösen] michaelstring-operationen [2020/01/03 11:13] (aktuell) michael
Zeile 3: Zeile 3:
  
 ===== Leere Zeichenkette prüfen ===== ===== Leere Zeichenkette prüfen =====
- Es gibt mehrere Möglichkeiten zu prüfen, ob eine Zeichenkette leer ist. Das Problem im Skripting ist jedoch, dass Variablen keinen festen Typ haben, sondern nur Variant-Datentypen sind. Einige Vorgehensweisen können aber auch hier übernommen werden.\\ + Es gibt mehrere Möglichkeiten zu prüfen, ob eine Zeichenkette leer ist. Das Problem im Skripting ist jedoch, dass Variablen keinen festen Typ haben, sondern nur Variant-Datentypen sind. Einige Vorgehensweisen können aber auch hier übernommen werden. 
 + 
 +<code VBScript [enable_line_numbers="true"]>
   Dim sString   Dim sString
  
Zeile 14: Zeile 16:
   If Len(sString) = 0 Then MsgBox "Leer"   If Len(sString) = 0 Then MsgBox "Leer"
   If Len(sString) > 0 Then MsgBox "Variable enthält Daten"   If Len(sString) > 0 Then MsgBox "Variable enthält Daten"
-Die effizientes Variante ist dabei Möglichkeit 3. Hier wird kein Vergleich durchgeführt, sondern nur die Länge, die im internen Variablenkopf gespeichert ist, geprüft. Sie ist sehr schnell.\\ \\ +</code> 
 + 
 +Die effizientes Variante ist dabei Möglichkeit 3. Hier wird kein Vergleich durchgeführt, sondern nur die Länge, die im internen Variablenkopf gespeichert ist, geprüft. Sie ist sehr schnell. 
 + 
 ===== Zeichenketten vergleichen ===== ===== Zeichenketten vergleichen =====
- Auch hier gibt es verschiedene Möglichkeiten. Hier soll nur die vielseitigste Variante dargestellt werden, die sowohl mit als auch ohne Groß-/Kleinschreibung effektiv ist.\\ + 
 +Auch hier gibt es verschiedene Möglichkeiten. Hier soll nur die vielseitigste Variante dargestellt werden, die sowohl mit als auch ohne Groß-/Kleinschreibung effektiv ist.\\  
 + 
 +<code VBScript [enable_line_numbers="true"]>
   Dim sText   Dim sText
  
Zeile 24: Zeile 32:
   'Vergleich berücksichtigt Groß-/Kleinschreibung   'Vergleich berücksichtigt Groß-/Kleinschreibung
   If StrComp(sText, "Vergleich", vbBinaryCompare) = 0 Then MsgBox "Gleich"   If StrComp(sText, "Vergleich", vbBinaryCompare) = 0 Then MsgBox "Gleich"
-   +</code>    
 ===== Zeichenketten in Zahlen umwandeln ===== ===== Zeichenketten in Zahlen umwandeln =====
- Der einfachste und schnellste Weg ist das Casting, also das direkte Umwandeln einer Zeichenkette in eine Zahl mittels Operator.\\ + 
 +Der einfachste und schnellste Weg ist das Casting, also das direkte Umwandeln einer Zeichenkette in eine Zahl mittels Operator.\\  
 + 
 +<code VBScript [enable_line_numbers="true"]>
   Option Explicit   Option Explicit
  
Zeile 63: Zeile 75:
       End Select       End Select
   End Function   End Function
 +</code>  
 +
 ===== Ländercode (Gebietsschema) berücksichtigen ===== ===== Ländercode (Gebietsschema) berücksichtigen =====
- Als Dezimaltrennzeichen wird je nach Gebietsschema entweder ein Komma (z. B. Deutschland) oder ein Punkt (z. B.englischer Sprachraum, Schweiz, Lichtenstein) verwendet. Das lokale Gebietsschema kann in VBScript mit der Funktion **GetLocale** ermittelt werden (s. [[http://msdn.microsoft.com/en-us/library/0h88fahh(v=vs.85).aspx|Tabelle der Ländercodes]]).\\  Für fehlerfreie Berechnungen ist es daher ggf. erforderlich, bei Zahlenwerten, die in unter einem fremden Gebietsschema erzeugt wurde, dass Trennzeichen den Konventionen des lokalen Systems anzupassen.\\  Ein Bsp. ist die Verarbeitung von Exif-Werten, denn diese werden grundsätzlich mit einem Punkt als Trennzeichen gespeichert.\\ \\ //VBScript//\\ + 
 +Als Dezimaltrennzeichen wird je nach Gebietsschema entweder ein Komma (z. B. Deutschland) oder ein Punkt (z. B.englischer Sprachraum, Schweiz, Lichtenstein) verwendet. Das lokale Gebietsschema kann in VBScript mit der Funktion **GetLocale** ermittelt werden (s. [[http://msdn.microsoft.com/en-us/library/0h88fahh(v=vs.85).aspx|Tabelle der Ländercodes]]).\\  Für fehlerfreie Berechnungen ist es daher ggf. erforderlich, bei Zahlenwerten, die in unter einem fremden Gebietsschema erzeugt wurde, dass Trennzeichen den Konventionen des lokalen Systems anzupassen.\\  Ein Bsp. ist die Verarbeitung von Exif-Werten, denn diese werden grundsätzlich mit einem Punkt als Trennzeichen gespeichert.\\ \\ //VBScript//\\  
 + 
 +<code VBScript [enable_line_numbers="true"]>
   Wert = FF_GetExifTag("ExposureBiasValue"                  ' Wert der Belichtungskorrektur auslesen, er ist stets mit Punkt getrennt   Wert = FF_GetExifTag("ExposureBiasValue"                  ' Wert der Belichtungskorrektur auslesen, er ist stets mit Punkt getrennt
   Gebietsschema = GetLocale                                   ' Gebietsschema des Systems ermitteln   Gebietsschema = GetLocale                                   ' Gebietsschema des Systems ermitteln
Zeile 71: Zeile 88:
   End If   End If
   Korrekturwert = Round(Wert, 2)                              ' jetzt wird die Round erfolgreich ausgeführt   Korrekturwert = Round(Wert, 2)                              ' jetzt wird die Round erfolgreich ausgeführt
 +</code>  
 +
 ====== Teilstring löschen ====== ====== Teilstring löschen ======
 +
 +<code VBScript [enable_line_numbers="true"]>
   Function DelPartString (Startstring, Delstring)   Function DelPartString (Startstring, Delstring)
       ' löscht aus der Zeichekette 'Startstring' die Zeichenkette 'Delstring'       ' löscht aus der Zeichekette 'Startstring' die Zeichenkette 'Delstring'
Zeile 80: Zeile 101:
       DelPartstring = Left (Startstring, i - 1) & Mid (Startstring, i + Len (Delstring))       DelPartstring = Left (Startstring, i - 1) & Mid (Startstring, i + Len (Delstring))
   End Function   End Function
-   +</code>    
 **Alternative:**\\  **Alternative:**\\ 
-  VBScript:+ 
 +VBScript: 
 +<code VBScript [enable_line_numbers="true"]>
   sResult = Replace(sValue, sDelString, "", 1, 1, vbTextCompare)   sResult = Replace(sValue, sDelString, "", 1, 1, vbTextCompare)
-\\  +</code> 
-  JScript:+ 
 +JScript: 
 +<code JavaScript [enable_line_numbers="true"]>  
   sResult = sValue.replace(sDelString,"");   sResult = sValue.replace(sDelString,"");
 +</code>  
        
-\\  
 ===== String um eine bestimmte Zeichenzahl kürzen ===== ===== String um eine bestimmte Zeichenzahl kürzen =====
 +
 +<code VBScript [enable_line_numbers="true"]>
   Function Cut(p_Str,p_Cnt)   Function Cut(p_Str,p_Cnt)
   'schneidet vom String "p_Str" "p_Cnt" Zeichen ab   'schneidet vom String "p_Str" "p_Cnt" Zeichen ab
Zeile 96: Zeile 124:
  
   End Function   End Function
 +</code>
 +
 ===== Teilstring zwischen Begrenzern herauslösen ===== ===== Teilstring zwischen Begrenzern herauslösen =====
 +
 +<code VBScript [enable_line_numbers="true"]>
   Function MidString (String, Suchstring1, Suchstring2)   Function MidString (String, Suchstring1, Suchstring2)
   ' gibt den Teilstring zwischen Suchstring1 und Suchstring2 zurück   ' gibt den Teilstring zwischen Suchstring1 und Suchstring2 zurück
Zeile 102: Zeile 134:
       MidString = Mid(String, Instr(String,Suchstring1)+1, Instr(String,Suchstring2)-Instr(String, Suchstring1)-1)       MidString = Mid(String, Instr(String,Suchstring1)+1, Instr(String,Suchstring2)-Instr(String, Suchstring1)-1)
   End Function   End Function
-\\ \\  s. auch [[Pfad zerlegen]]+</code>   
 +siehe auch [[Pfad zerlegen]]