Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  String bis Zeichen erfassen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  String bis Zeichen erfassen (908 mal gelesen)
MakroNovize
Mitglied
Konstrukteur, CAD-Admin


Sehen Sie sich das Profil von MakroNovize an!   Senden Sie eine Private Message an MakroNovize  Schreiben Sie einen Gästebucheintrag für MakroNovize

Beiträge: 60
Registriert: 20.07.2009

Windows XP SP3
CATIA V5 R18
Xeon 2x 3Ghz
3Gb RAM
NVIDIA Quadro FX 3450

erstellt am: 08. Sep. 2010 12:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Leute helft mir!

Ich suche etwas, dass bestimmt sehr einfach ist. Ich hab das bestimmt schon mal irgendwo gesehen, aber ich find es nicht mehr. Ich bin mir auch sicher, dass es hier schon einen Thread dazu gibt, aber ich find nix!!!

Ich möchte aus einem String einen Teil bis zu einem bestimmten Zeichen.

Beispiel:

String = Teilenameodersonstwas.1

Was ich will ist die .1!!!

Anmerkungen hierzu: Weder die Anzahl der Zeichen vor noch nach dem Punkt sind fix.
Die Anzahl der Punkte ist ebenfalls nicht fix. Lediglich, dass ich dass Zeug hinter dem letzten Punkt brauche.

Ja es is die Instanzen Nummer. Wenn man die direkt abfragen kann ist das auch ok. Allerdings will ich die nicht neu Setzen. Ich brauch diese Nummer.

Ich bin mir sicher, dass ihr mir helfen könnt!!! 

------------------
Grüße

Christoph

*************************************************
Die Katia am Morgen, bringt dir reichlich Sorgen!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Ehrenmitglied V.I.P. h.c.
Arbeiter ツ



Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

NX 10
Win 7

erstellt am: 08. Sep. 2010 12:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MakroNovize 10 Unities + Antwort hilfreich

habe grade kein Catia vor mir, unter Excel würde ich den String umdrehen

Code:
Sub turn()
txt = "hugo.1"
txt_ret = ""
newtxt = ""
For x = Len(txt) To 1 Step -1
    txt_ret = zk_ret & Mid(txt, x, 1)
    newtxt = txt_ret & newtxt
        If txt_ret = "." Then GoTo msg
Next x
msg:
MsgBox (txt & ">" & txt_ret)
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

roccat
Mitglied
Konstrukteur


Sehen Sie sich das Profil von roccat an!   Senden Sie eine Private Message an roccat  Schreiben Sie einen Gästebucheintrag für roccat

Beiträge: 172
Registriert: 19.02.2010

WinXP/Win7
Office XP/2007
Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR
VB .Net 2010

erstellt am: 08. Sep. 2010 13:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MakroNovize 10 Unities + Antwort hilfreich

Hallo Christoph,
oder mit Split

Sub StringIt()
Dim TXT    As String
Dim sSplit

TXT = "Part.1"
sSplit = Split(TXT, ".")
MsgBox sSplit(UBound(sSplit)), vbOKOnly, "InstanceNumber:"

End Sub

mfG
Mario

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MakroNovize
Mitglied
Konstrukteur, CAD-Admin


Sehen Sie sich das Profil von MakroNovize an!   Senden Sie eine Private Message an MakroNovize  Schreiben Sie einen Gästebucheintrag für MakroNovize

Beiträge: 60
Registriert: 20.07.2009

Windows XP SP3
CATIA V5 R18
Xeon 2x 3Ghz
3Gb RAM
NVIDIA Quadro FX 3450

erstellt am: 08. Sep. 2010 13:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

@Thomas: Danke, ich hab's nicht ausprobiert sieht aber gut aus.

@Mario: Danke sieht sehr gut aus weil ich mit dem Split auch schon gearbeitet hab. Hab's dann aber net geblickt das letzte Array Feld auszulesen obwohl ich doch den Ubound selber schon zu genüge eingesetzt hab. Bin heute nicht in Programmierverfassung 

------------------
Grüße

Christoph

*************************************************
Die Katia am Morgen, bringt dir reichlich Sorgen!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

roccat
Mitglied
Konstrukteur


Sehen Sie sich das Profil von roccat an!   Senden Sie eine Private Message an roccat  Schreiben Sie einen Gästebucheintrag für roccat

Beiträge: 172
Registriert: 19.02.2010

WinXP/Win7
Office XP/2007
Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR
VB .Net 2010

erstellt am: 08. Sep. 2010 13:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MakroNovize 10 Unities + Antwort hilfreich

aber Vorsicht, wenn kein Punkt vorhanden ist entsteht ein Fehler.

Evtl. noch ne If-Abfrage mit Instr() oder ein On error resume next einfügen.

mfG
Mario

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MakroNovize
Mitglied
Konstrukteur, CAD-Admin


Sehen Sie sich das Profil von MakroNovize an!   Senden Sie eine Private Message an MakroNovize  Schreiben Sie einen Gästebucheintrag für MakroNovize

Beiträge: 60
Registriert: 20.07.2009

Windows XP SP3
CATIA V5 R18
Xeon 2x 3Ghz
3Gb RAM
NVIDIA Quadro FX 3450

erstellt am: 08. Sep. 2010 14:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hohoho!

Das hät ich gnadenlos vergessen. Man muss ja wirklich mit allem rechnen. Damit kann man sich dann schwer nachvollziehbaren Ärger ersparen.

Dankeschön recht herzlich!

Nachtrag:

Meine Lösung besteht darin nach dem Split abzufragen ob UBound größer ist wie 0. Wenn es Größer ist wird die Zahl hinter dem Punkt benutzt und wenn nicht wird das gleiche eben ohne Zahl ausgeführt. Somit kann kein Fehler an dieser Stelle entstehen, wenn man On Error Resume Next richtig einsetzt!!!

------------------
Grüße

Christoph

*************************************************
Die Katia am Morgen, bringt dir reichlich Sorgen!

[Diese Nachricht wurde von MakroNovize am 08. Sep. 2010 editiert.]

[Diese Nachricht wurde von MakroNovize am 08. Sep. 2010 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MarkusK
Mitglied



Sehen Sie sich das Profil von MarkusK an!   Senden Sie eine Private Message an MarkusK  Schreiben Sie einen Gästebucheintrag für MarkusK

Beiträge: 130
Registriert: 09.08.2002

Dell Precision T5500
Intel Xenon X5560 4x 2,8 GHz
12 GB Ram
NVIDIA Quadro FX 3800
Win XP
Catia V5R19 SP3

erstellt am: 14. Sep. 2010 16:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MakroNovize 10 Unities + Antwort hilfreich

Hallo Christoph,

es gibt doch ein befehl der den String von hinten durchsucht.

InStrRev

hier ein Beispiel.

Public Sub CATMain()
Dim x As String
Dim i As Integer
x = "Teilenameodersonstwas.1"
i = InStrRev(x, ".")
If i Then MsgBox Right(x, Len(x) - i + 1)
End Sub

------------------
Gruss Markus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz