Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Wie ExePath zerlegen?

Frage Entwicklung VB for Applications

Mitglied: Micki

Micki (Level 1) - Jetzt verbinden

26.07.2011 um 20:12 Uhr, 3880 Aufrufe, 8 Kommentare

Programmiere gerade unter VB 6.0 an einer Anwendung für die ich den Start-Path der Exe brauche.

Ich kann mit ExePath unter VB 6.0 ja wunderbar die Exe incl. Startpfad auslesen. Leider wenn ich den Wert in eine String Variable einlese kann man den String nicht bearbeiten. So nette Sachen wie Left $ (ExecPath, 11) funktionieren einfach nicht. Hat Da wer einen Rat?


Private Declare Function GetModuleFileName Lib "kernel32" _
Alias "GetModuleFileNameA" _
(ByVal hModule As Long, _
ByVal lpFileName As String, _
ByVal nSize As Long) As Long
.
.
.

Retval = GetModuleFileName(hInst, ExePath, Len(ExePath))
MsgBox Left$(ExePath, Retval), , "Anwendungspfad"
datzielvar = ExePath
cut = Len(datzielvar)
cut = cut - 11
datzielvar = Left$(datzielvar, 106)
Mitglied: mathe172
26.07.2011 um 22:52 Uhr
Hallo,

ich kenn zwar nur VB.NET, aber gibt es in VB 6.0 nicht auch etwas wie Split, das den String bei den "/" zerlegt und als Array die Teile ausgibt?
Dann müsstest du nur noch alle Teile bis auf den letzten wieder zusammensetzen und fertig.

Mathe172
Bitte warten ..
Mitglied: bastla
26.07.2011 um 23:19 Uhr
@mathe172
gibt es in VB 6.0 nicht auch etwas wie Split
Gibt es (VB 5.0 kannte das aber tatsächlich noch nicht) ebenso wie InStrRev(), aber wenn bei Micki schon ein Left() nicht funktioniert ...

Grüße
bastla
Bitte warten ..
Mitglied: Xolger
26.07.2011 um 23:42 Uhr
Hallo Micki,

schön das es noch mehr Leute gibt die VB 6.0 nutzen.
Ich habe mit deinem Beispielcode für ExePath keinen Erfolg, bei mir kommt immer
eine leere Zeichenkette heraus.
Ich nutze bei mir jedoch "App.Path" um Pfade zu übernehmen und zu bearbeiten.
Vielleicht hilft dir das weiter.


Gruß
Xolger
Bitte warten ..
Mitglied: mrtux
27.07.2011 um 03:29 Uhr
Hi !

Zitat von bastla:
Gibt es (VB 5.0 kannte das aber tatsächlich noch nicht) ebenso wie InStrRev(), aber wenn bei Micki schon ein Left()
nicht funktioniert ...

Und wenn wir schon bei der Kritik sind:

Lieber TO, untersteh dich und komm bitte ja nicht auf die Idee, irgendwelche Dateien (z.B. Ini-Files, Datenbanken usw.) im gleichen Verzeichnis (z.B. unter C:\Program Files) wie deine Exe-Datei zu speichern. Das macht man schon seit längerer Zeit (mind. seit Windows 2000) im Benutzerprofil! Dann muss auch der arme Admin, der sich gezwungenermaßen mit deiner Anwendung herumschlagen muss, nicht mühsam die Schreibzugriffe deiner Applikation mit Sysinternals ProcessMon raussuchen und manuell die nötigen Rechte setzen, damit deine Applikation auch ohne Adminrechte (z.B. unter Windows XP) läuft. Die nötigen Pfade für das globale- bzw. lokale Benutzerprofil bekommst Du über entweder über die Systemvariablen (von M$ nicht empfohlen) oder über die API-Funktionen SHGetSpecialFolderLocation, SHGetSpecialFolderPath oder SHGetFolderPath. Nachzulesen hier.

mrtux
Bitte warten ..
Mitglied: Micki
27.07.2011 um 11:10 Uhr
Zitat von mrtux:
Hi !
Also leider waren die bisherigen Beiträge nicht wirklich konstruktiv!


> Zitat von bastla:
> ----
> Gibt es (VB 5.0 kannte das aber tatsächlich noch nicht) ebenso wie InStrRev(), aber wenn bei Micki schon ein
Left()
> nicht funktioniert ...

Und wenn wir schon bei der Kritik sind:

Lieber TO, untersteh dich und komm bitte ja nicht auf die Idee, irgendwelche Dateien (z.B. Ini-Files, Datenbanken usw.) im
gleichen Verzeichnis (z.B. unter C:\Program Files) wie deine Exe-Datei zu speichern. Das macht man schon seit längerer Zeit
(mind. seit Windows 2000) im Benutzerprofil! Dann muss auch der arme Admin, der sich gezwungenermaßen mit deiner Anwendung
herumschlagen muss, nicht mühsam die Schreibzugriffe deiner Applikation mit Sysinternals ProcessMon raussuchen und manuell
die nötigen Rechte setzen, damit deine Applikation auch ohne Adminrechte (z.B. unter Windows XP) läuft. Die nötigen
Pfade für das globale- bzw. lokale Benutzerprofil bekommst Du über entweder über die Systemvariablen (von M$
nicht empfohlen) oder über die API-Funktionen SHGetSpecialFolderLocation, SHGetSpecialFolderPath oder
SHGetFolderPath. Nachzulesen hier.

mrtux

@mrtux

wo ich Dateien aus welchem Grund ablege hat nichts mit der Händelbarkeit für Admins zu tun sondern nur damit, dass ich da auf Vorgaben eines schon vorhanden Programms mit rekurieren muss!
Bitte warten ..
Mitglied: mathe172
27.07.2011 um 15:25 Uhr
Hallo,

Also leider waren die bisherigen Beiträge nicht wirklich konstruktiv!

Wenn du ein Forum suchst, dass dir den kompletten Code gibt, bist du hier falsch. Wenn es dir wirklich nur darum geht, den String zu zerlegen und alles unnötige zu löschen,
dann lies dir doch noch mal ersten durch.

MfG,
Mathe172
Bitte warten ..
Mitglied: Micki
27.07.2011 um 15:59 Uhr
1. Ich hab mittlerweile einen ehm. Doz erreicht. Der hat mir gesagt warum das nicht ging.
Jetzt geht es und das reicht mir!
Bitte warten ..
Mitglied: mrtux
27.07.2011 um 17:55 Uhr
Hi !

Zitat von Micki:
Also leider waren die bisherigen Beiträge nicht wirklich konstruktiv!

Der Meinung bin ich nicht. Du hast hier sehr wohl fachlich richtige Antworten erhalten.

@mrtux
da auf Vorgaben eines schon vorhanden Programms mit rekurieren muss!

Das muss ich auch oft, deshalb muss ich aber noch lange nicht die Fehler des Vorgängers übernehmen.

Was Du machst und nicht machst, ist natürlich deine Sache aber da ich mich bei meiner Admintätigkeit ständig mit solchem Softwaremüll herumärgern muss, erlaube ich es mir, ab und zu mal die Leute auf bestehende Windows Konventionen hinzuweisen, die man normalerweise (und aus gutem Grund) auch einhalten sollte.

mrtux
Bitte warten ..
Ähnliche Inhalte
Sonstige Systeme
Batch Dateinamen zerlegen (5)

Frage von Mummel zum Thema Sonstige Systeme ...

Batch & Shell
gelöst SMIME Datei (4)

Frage von mero59 zum Thema Batch & Shell ...

Drucker und Scanner
Laserjet 3005n schmiert und gibt Abdrücke (15)

Frage von uridium69 zum Thema Drucker und Scanner ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

Server-Hardware
Bestehendes Raid erweitern um 4 gleiche Platten! (Verständnis Fragen) (12)

Frage von Hendrik2586 zum Thema Server-Hardware ...

Windows Update
WSUS 4 (Server 2012 R2) - Windows 10 Updates nicht möglich (12)

Frage von c0d3.r3d zum Thema Windows Update ...