Explorerfenster öffnen
Explorerfenster öffnen
Hi!
Ich würde gerne aus meinem Programm heraus einen Ordner "öffnen"
D.h. wenn ich auf "den" Button klicke soll mir der Explorer das Verzeichnis öffen (unter OSX der Finder).
Geht das einfach mit den Bordmitten von Purebasic?
RunProgram scheint mir da der falsche Befehl dafür zu sein, oder?
Danke, Gekkonier
Ich würde gerne aus meinem Programm heraus einen Ordner "öffnen"
D.h. wenn ich auf "den" Button klicke soll mir der Explorer das Verzeichnis öffen (unter OSX der Finder).
Geht das einfach mit den Bordmitten von Purebasic?
RunProgram scheint mir da der falsche Befehl dafür zu sein, oder?
Danke, Gekkonier
Re: Explorerfenster öffnen
Ich habe herausgefunden, dass ich das unter Windows mit
machen kann.
Wie könnte das unter OSX funktionieren?
Danke, Gekkonier
Code: Alles auswählen
RunProgram("explorer.exe", GetCurrentDirectory()+"Output", "")
Wie könnte das unter OSX funktionieren?
Danke, Gekkonier
Re: Explorerfenster öffnen
Was passiert denn auf dem Apfel, wenn man folgendes aufruft?
Grüße ... Kiffi
Code: Alles auswählen
RunProgram(GetCurrentDirectory()+"Output")
a²+b²=mc²
Re: Explorerfenster öffnen
Danke für die Antwort
Wenn ich unter OSX
mache kommt leider nein, ansonst passiert nix.
Ich probier mal weiter rum.
Wenn ich unter OSX
Code: Alles auswählen
If RunProgram(GetCurrentDirectory())
Debug "ja"
Else
Debug "nein"
EndIf
Ich probier mal weiter rum.
-
- Beiträge: 213
- Registriert: 13.07.2008 10:05
- Computerausstattung: Windows 8.1 Pro
AMD Phenom II X4 955 @ 3.2 GHz
4GB RAM
NVIDIA GeForce GTX 660
Re: Explorerfenster öffnen
Schon mal so was getestet?
Code: Alles auswählen
RunProgram("open", "-R " + GetCurrentDirectory() + "Output", "")
Windows 8.1 Pro 64Bit | AMD Phenom II X4 955 @ 3.2 GHz | 4GB RAM | NVIDIA GeForce GTX 660
Re: Explorerfenster öffnen
Danke für den Tipp mit open!
Folgendes Ergebnis:
Wenn der Pfad kein Leerzeichen enthält, dann funktioniert diese Methode, aber sobald welche drinnen sind macht RunProgram nix.
Auf der Shell:funktioniert.
In Purebasic:funktioniert nicht.
Wenn ich den Ordner in Etik umändere, um einen Pfad ohne Leerzeichen zu erhalten funktionierts.
Bug oder Pebkac?
Folgendes Ergebnis:
Wenn der Pfad kein Leerzeichen enthält, dann funktioniert diese Methode, aber sobald welche drinnen sind macht RunProgram nix.
Auf der Shell:
Code: Alles auswählen
open -R /Users/gekkonier/Desktop/Etik\ 4.1/Output/
In Purebasic:
Code: Alles auswählen
RunProgram("open", "-R /Users/gekkonier/Desktop/Etik\ 4.1/Output/", "")
Wenn ich den Ordner in Etik umändere, um einen Pfad ohne Leerzeichen zu erhalten funktionierts.
Bug oder Pebkac?
Re: Explorerfenster öffnen
Füg vor und nach dem Pfad ein Chr(34) hinzu.
Re: Explorerfenster öffnen
Code: Alles auswählen
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_MacOS
RunProgram("open", "-R " + Chr(34) + GetCurrentDirectory() + "Output" + Chr(34), "")
CompilerCase #PB_OS_Windows
RunProgram("explorer.exe", GetCurrentDirectory() + "Output", "")
CompilerEndSelect
Trotzdem finde ich es seltsam, dass RunProgram("open", "-R /Users/gekkonier/Desktop/Etik\ 4.1/Output/", "") nicht funktioniert. Irgendwie hätte ich das doch erwartet.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Explorerfenster öffnen
Das kann niemals funktionieren, sobald ein Space auftritt ist der Parameter zuende und es folgt der nächste 

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Explorerfenster öffnen
Dann dürfte wohl der Space nach dem Backslash mit folgendem Space hier von der Shell sein (also gequoted) und so in Wirklichkeit nicht an open übergeben werden?
Das ist jetzt prinzipiell das selbe wie
übergibt ja auch nach dem -R einen Space. Hat also nicht den Grund dass alles nach einem Space einen neuen Parameter erzeugt.
Irgendwie ist das nicht ganz rund und unlogisch.
Code: Alles auswählen
open -R /Users/gekkonier/Desktop/Etik\ 4.1/Output/
Code: Alles auswählen
open -R "/Users/gekkonier/Desktop/Etik 4.1/Output/"
Code: Alles auswählen
RunProgram("open", "-R " + Chr(34) + GetCurrentDirectory() + "Output" + Chr(34), "")
Irgendwie ist das nicht ganz rund und unlogisch.
Zuletzt geändert von gekkonier am 08.03.2013 22:42, insgesamt 1-mal geändert.