DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Text einer Variablen zurückgeben

Solved!
Go to solution

Hallo zusammen,

 

ich habe eine Variable, die "Zeilen" heißt. Der Inhalt lautet z.B. "Harry 2010".

Ich möchte die Variable nun so kürzen, das mir nur noch der Text bis zur ersten Zahl ausgegeben wird, also "Harry". Hat jmd. eine Idee?

 

Viele Grüße

Sebastian

0 Kudos
Message 1 of 6
(4,356 Views)

Hallo Sebastian,

 

Wie waere es mit dieser Vorgehensweise?

 

Zeilen = "Harry 2010"

NumStr = val(Zeilen)

NumPos = InStr(Zeilen, NumStr)

IF NumPos > 1 THEN Zeilen = Trim(Left(Zeilen, NumPos-1))

MsgBox Zeilen

 

Brad Turpin

DIAdem Product Support Engineer
National Instruments

0 Kudos
Message 2 of 6
(4,343 Views)

Hallo Brad,

 

vielen Dank für die schnelle Hilfe! Leider habe ich immer noch ein Problem damit! 

Es würde viell. gehen, ich habe aber mehrere Fälle, wo es nicht mehr funktoniert!

Folgende Fälle habe ich:

 

1) Zeilen = "Harry 2010"

2) Zeilen = "Harry"                                      (hier geht es nicht mehr, da er keinen numerischen Wert findet!)

3) Zeilen = "Harry 2010 Verantwortlicher"

4) Zeilen = "Harry F. 2010"

5) Zeilen = "Harry / Sally 2010"

 

Es wäre also super, wenn alles vor der ersten Zahl ausgegeben wird, auch wenn keine Zahl in der Variablen drin steckt (wie bei 2 z.B.)! Alles andere kann gelöscht werden bzw. interessiert nicht!

 

Vielen Dank!

Sebastian

0 Kudos
Message 3 of 6
(4,337 Views)
Hallo Sebastian,

die Left-Funktion wird weiterhelfen:

Left-Funktion

Gibt eine bestimmte Anzahl von Zeichen ab dem ersten (linken) Zeichen einer Zeichenfolge zurück.

Left(Zeichenfolge, Länge)

Weitere VBS-Befehle finden sich im VBS-Sprachverzeichnis: DIAdem-Hilfe -> Programmierreferenz -> Allgemeines zu Scripten -> VBScript -> VBScript Sprachverzeichnis

Viele Grüße,
Ralf N.


0 Kudos
Message 4 of 6
(4,336 Views)
Solution
Accepted by steddys

Dim cString, sString

sString = "Hallo 123"

Dim iCount
For iCount = 1 To Len(sString)
  cString = Mid(sString,iCount,1)
  If ( (cString >= "0") And (cString <= "9") ) Then Exit For
Next

Call MsgBoxDisp( Trim(Left(sString,iCount-1)) )

Message Edited by ralfn on 05-04-2010 11:22 AM
Message 5 of 6
(4,331 Views)

Hallo Ralf,

 

vielen Dank, das ist es!

 

Viele Grüße Sebastian

0 Kudos
Message 6 of 6
(4,307 Views)