vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2022
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Dateipfad aus String 
Autor: manuelhasi
Datum: 21.06.22 08:26

Hallo zusammen,

wie kann ich einen Dateipfad aus einem String auslesen?

so irgendwie wäre meine Wunschvorstellung, funktioniert aber leider nicht


Dim sb As StringBuilder = New StringBuilder(1024)
Dim sAppPath As String = Application.StartupPath
 
INI.Lesen("Pfade-Einstellung", "Dokumentation", "", sb, sb.Capacity, sAppPath & _
  "\Settings.ini")
 
Dim PfadDokumentation As String = sb.ToString
Dim sPath as String = PfadDokumentation & Dokumentation.pdf
WebView21.Source = New Uri(sPath)
Der String in Settings.ini würde so aussehen: System.Windows.Forms.Application.StartupPath\Dokumentation\

wenn ich es so wie unten beschrieben mache, dann geht es..
Allerdings habe ich so nicht die Möglichkeit, einen anderen Pfad als den Startverzeichnispfad zu nehmen?

Dim sPath as String = System.Windows.Forms.Application.StartupPath & "\" & _
  "Dokumentation" & "\" & Dokumentation.pdf
 
WebView21.Source = New Uri(sPath)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dateipfad aus String 
Autor: HenryV
Datum: 21.06.22 15:33

Ich nehme an du willst den Pfad zu dem Ordner "Dokumentation" in der INI abspeichern.
Dabei soll der StartupPath darin vorkommen. Dein Problem ist nun, dass der StartupPath variabel ist und man den
nicht als Text abbilden kannst.

Auf die Schnelle fällt mit ein, das du einen Dummy-Ausdruck für den StartupPath verwendest, und diesen beim Lesen und Schreiben ersetzt.

Beispiel-String in der Ini-Datei:
{StartupPath}\Dokumentation
Einlesen:
'Pfad einlesen:
INI.Lesen("Pfade-Einstellung", "Dokumentation", "", sb, sb.Capacity, _
  IO.Path.Combine(sAppPath, "Settings.ini"))
Dim PfadDokumentation As String = sb.ToString
 
'Dummy-Ausdruck ersetzen:
PfadDokumentation = PfadDokumentation.Replace("{StartupPath}", sAppPath)
Dim sPath As String = IO.Path.Combine(PfadDokumentation, "Dokumentation.pdf")
Zurückschreiben:
If PfadDokumentation.StartsWith(sAppPath) Then
    PfadDokumentation = PfadDokumentation.Replace(sAppPath, "{StartupPath}")
End If
 
INI.Schreiben("Pfade-Einstellung", "Dokumentation", PfadDokumentation, _
  IO.Path.Combine(sAppPath, "Settings.ini"))
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dateipfad aus String 
Autor: manuelhasi
Datum: 21.06.22 21:03

Hallo HenryV,

vielen Dank für die Hilfe. Genau da war mein Problem.
Allerdings muss

If PfadDokumentation.StartsWith(sAppPath) Then
    PfadDokumentation = PfadDokumentation.Replace(sAppPath, "{StartupPath}")
End If
in

If PfadDokumentation.StartsWith(sAppPath) Then
    PfadDokumentation = PfadDokumentation.Replace("{StartupPath}", sAppPath)
End If
geändert werden, sonst läuft es nicht
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dateipfad aus String 
Autor: manuelhasi
Datum: 22.06.22 05:12

eigentlich Quatsch, was ich da erzähle
es muss gar nichts verändert werden
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2022 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel