Hot News:
   

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  InStrRev-->VB.Left

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

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Lenovo erstellt zum dritten Mal in Folge die achte jährliche Liste der besten Arbeitsplätze für Innovatoren in den Bereichen KI, Automatisierung und Machine Learning, eine Pressemitteilung
Autor Thema:  InStrRev-->VB.Left (1105 mal gelesen)
Feyza
Mitglied



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

Beiträge: 605
Registriert: 12.01.2004

AutoCAD Mechanical 2014 / Windows Win7 / HP-UX / Oracle 10
VB6 / Visual Studio:NET2005 / .NET 2010 - Vb.net / Windows Server 2012, ASP.net

erstellt am: 25. Nov. 2008 12:53    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

Hallo Zusammen,

mit diesem Code kann ich einen Text bis auf nächstem . kürzen.
z.B.
lblFileNameBox.Text = "123456.dwg"
dann ist txtFilePath3 = 123456.
                        Dim LastExtPos As Short
                        txtFilePath3 = lblFileNameBox.Text
                        LastExtPos = InStrRev(txtFilePath3, ".", -1)
                        txtFilePath3 = VB.Left(txtFilePath3, LastExtPos)

Ich möchte gerne, dass er den Punkt bei 123456. nicht mitnimmt.
Was muß ich hier noch tun?

------------------
Schöne Grüße
Feyza : )

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

Feyza
Mitglied



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

Beiträge: 605
Registriert: 12.01.2004

AutoCAD Mechanical 2014 / Windows Win7 / HP-UX / Oracle 10
VB6 / Visual Studio:NET2005 / .NET 2010 - Vb.net / Windows Server 2012, ASP.net

erstellt am: 25. Nov. 2008 15:58    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

Hallo : )

falls jemanden intressiert, habe ich es folgend gelöst:

  txtFilePath3 = txtFilePath3.Replace(".", "")

------------------
Schöne Grüße
Feyza : )

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2895
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2025
Plateia, Canalis
Visual Basic

erstellt am: 25. Nov. 2008 22:37    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 Feyza 10 Unities + Antwort hilfreich

Hallo Feyza,
warum nicht einfacher?
Code:
if LastExtPos then txtFilePath3 = VB.Left(txtFilePath3, LastExtPos - 1)

Du solltest schon prüfen, ob ein Wert überhaupt gefunden wurde oder hast Du eine Fehlerroutine?
Grüße,
Klaus

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

Feyza
Mitglied



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

Beiträge: 605
Registriert: 12.01.2004

AutoCAD Mechanical 2014 / Windows Win7 / HP-UX / Oracle 10
VB6 / Visual Studio:NET2005 / .NET 2010 - Vb.net / Windows Server 2012, ASP.net

erstellt am: 27. Nov. 2008 08:21    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

Guten Morgen Klaus,

danke Dir für Deine Hilfe.
Das war nur ein Teil vom Code.

------------------
Schöne Grüße
Feyza : )

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles... i.R.



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

Beiträge: 2689
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
privat:
ab 2024 Onshape
seit 2025 SolidWorks for Makers (und Rentner)

erstellt am: 08. Dez. 2008 11:16    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 Feyza 10 Unities + Antwort hilfreich

Und was ist, wenn der Dateinamen noch weitere Punkte enthält?

Besser wäre es, du zerlegst den Text in alle Teile zwischen Punkten und setzt ihn dann wieder- bis auf den letzten Teil- zusammen:

Code:
   
Dim txtFilepath3 as string
dim n as byte
Dim Record As Variant
   
    txtFilepath3 = ""

    'Zerlegen des Textes mit Split:
    Record = Split(lblFileNameBox.Text, ".")

    'War überhaupt ein Punkt drin?
    If UBound(Record) > 0 Then
    'Wenn ja, dann die Éinzelteile zusammensetzen
        For n = 0 To UBound(Record) - 1
            txtFilepath3 = txtFilepath3 + Record(n)
            If n < UBound(Record) - 1 Then
             'mit je einem Punkt dazwischen
                txtFilepath3 = txtFilepath3 + "."
            End If
        Next n
    Else
        'Wenn nicht, dann einfach den Text übernehmen
        txtFilepath3 = lblFileNameBox.Text
    End If


Ach ja: Das ist VBA oder VB6, in .Net muss du das ein bischen korrigieren, da gibt es zum Beispiel keine Variant-Datentyp.
Aber das Prinzip bleib das selbe.

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat...   

[Diese Nachricht wurde von KMassler am 08. Dez. 2008 editiert.]

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

tbd
Moderator
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600

erstellt am: 08. Dez. 2008 11:21    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 Feyza 10 Unities + Antwort hilfreich

Hallöle,

nun gebe ich doch auch mal meinen Senf dazu ab!

Meiner Meinung nach ist es am besten wenn man Dateinamen und -pfade mit der Klasse System.IO.Path behandelt.
In dieser gibt es die Methode GetFileNameWithoutExtension, damit müsste die Aufgabe zu lösen sein.

------------------
Mfg Daniel

www.MySldWorks.de - SolidWorks Api Snippets

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles... i.R.



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

Beiträge: 2689
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
privat:
ab 2024 Onshape
seit 2025 SolidWorks for Makers (und Rentner)

erstellt am: 08. Dez. 2008 11:24    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 Feyza 10 Unities + Antwort hilfreich

Stimmt, daran hatte ich nicht gedacht, Asche über mein Haupt.
Bin aber erst mal von VBA ausgegangen...aber spätestens das VB.Left hätte mich wohl stutzig machen müssen.

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat...   

[Diese Nachricht wurde von KMassler am 08. Dez. 2008 editiert.]

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2895
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2025
Plateia, Canalis
Visual Basic

erstellt am: 08. Dez. 2008 18:36    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 Feyza 10 Unities + Antwort hilfreich

Ja es gibt viele Wege die nach Rom führen
Zitat:
Und was ist, wenn der Dateinamen noch weitere Punkte enthält

deshalb die Suche mit InStrRev(txtFilePath3, ".", -1) also von hinten den letzten Punkt holend gemacht.
Grüße,
Klaus

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles... i.R.



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

Beiträge: 2689
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
privat:
ab 2024 Onshape
seit 2025 SolidWorks for Makers (und Rentner)

erstellt am: 09. Dez. 2008 08:08    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 Feyza 10 Unities + Antwort hilfreich

wieder was gelernt:

1. man sollte die Beiträge richtig lesen, auch wenn das Antworten mehr Spaß macht als das Lesen 
2. InStrRev...noch nie vorher davon gehört gehabt, danke!

   

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat...

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

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

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

(c)2026 CAD.de | Impressum | Datenschutz