Seite 3 von 3

Re: NACHFRAGE - Parameter? weitergeben. Datei durchreichen

Verfasst: 08.11.2015 19:09
von ts-soft

Code: Alles auswählen

SoundForge = RunProgram("C:\Program Files (x86)\Sony\SoundForge11\Sound Forge Pro 11.0\Forge110.exe", dateiname.s, "")
Ist natürlich verkehrt! In #DQUOTE einschliessen, alles was Leerzeichen im Namen enthält, das gilt
auch für die Exe und Ihren Pfad!

Siehe mein Beispiel.

Code: Alles auswählen

SoundForge = RunProgram(#DQUOTE$ + "C:\Program Files (x86)\Sony\SoundForge11\Sound Forge Pro 11.0\Forge110.exe" + #DQUOTE$, dateiname.s, "")

Re: NACHFRAGE - Parameter? weitergeben. Datei durchreichen

Verfasst: 08.11.2015 19:12
von c4s
@ts-soft
Nein, das stimmt so nicht.


Zzgl. Kiffis Bemerkung: Wenn du "EnableExplicit" (ohne Anführungsstriche) an den Anfang deines Quellcodes schreibst, wäre dieser Fehler (vermutlich) nicht aufgetreten. (@Team: Baut das endlich mal standardmäßig ein!)

Re: NACHFRAGE - Parameter? weitergeben. Datei durchreichen

Verfasst: 08.11.2015 19:24
von ts-soft
c4s hat geschrieben:@ts-soft
Nein, das stimmt so nicht.
Wie? Keine Tüdelchen beim ersten Parameter erforderlich? In der Hilfe steht da nichts von,
aber bei Parametern steht ja auch nichts von Tüdelchen.

Ich gehe danach, was z.B. die WinAPI sagt: Lange Pfadnamen sind in Anführungsstriche zu setzen.

Re: NACHFRAGE - Parameter? weitergeben. Datei durchreichen

Verfasst: 08.11.2015 19:30
von GPI
Den Programmnamen muss man nicht mit " umschließen, weil dort nur der ein Dateiname+Pfad stehen kann. Dementsprechend ist ein Leerzeichen hier absolut kein Problem.

Bei Parametern ist das was anderes. Hier können mehrere Parameter stehen, die durch Leerzeichen getrennt sind. Das ganze Problem hat man schon bei sämtlichen DosBox/CLI etc. bei jeden Betriebsystem.

z.b.:

Code: Alles auswählen

Dir *.* /b /S
Problem gibt es mit Leerzeichen in Dateinamen. Der große Gag ist, das diese früher schlicht nicht gingen. Deshalb hat man früher gerne statt Leerzeichen einen Unterstrich verwendet.
Also hat man das ganze mit " eingeschlossen.
z.b.:

Code: Alles auswählen

dir "c:\program files\*.*" /b /s
jetzt ist es eindeutig.

Ab und zu hat es Vorteile die Entwicklung von C64 über Atari ST von Dos nach Windows mitgemacht zu haben :)

Re: NACHFRAGE - Parameter? weitergeben. Datei durchreichen

Verfasst: 08.11.2015 20:36
von udg

Code: Alles auswählen

SoundForge = RunProgram("C:\Program Files (x86)\Sony\SoundForge11\Sound Forge Pro 11.0\Forge110.exe", dateiname.s, "")

Code: Alles auswählen

SoundForge = RunProgram(#DQUOTE$ + "C:\Program Files (x86)\Sony\SoundForge11\Sound Forge Pro 11.0\Forge110.exe" + #DQUOTE$, dateiname.s, "")
hatte ich drin mit Ergebnis: Fehler siehe Screenshot


Also bleibt mir nur, das leerzeichen rauszunehmen?

Re: NACHFRAGE - Parameter? weitergeben. Datei durchreichen

Verfasst: 08.11.2015 20:40
von udg
Kiffi hat geschrieben:wo kommt dateiname.s her?

Grüße ... Peter

ups, Fehler aber funktioniert trotzdem.

Datei.s steht für meine Dateiendung: wav

Re: NACHFRAGE - Parameter? weitergeben. Datei durchreichen

Verfasst: 08.11.2015 20:50
von NicTheQuick
Du musst '#DQUOTE + dateiname + #DQUOTE' als Parameter nutzen.

Re: NACHFRAGE - Parameter? weitergeben. Datei durchreichen

Verfasst: 08.11.2015 21:42
von udg
NicTheQuick hat geschrieben: '#DQUOTE + dateiname + #DQUOTE' als Parameter nutzen.
wenn ich #DQUOTE einbinde bekomme ich : Fehler Konstante nicht gefunden.

Es geht nur: #DQUOTE$

... aber weiter komme ich trotzdem nicht.
Ich benenn den Ordner wieder um, ohne Leerzeichen und dann funktioniert es ja.

Gruß

Re: NACHFRAGE - Parameter? weitergeben. Datei durchreichen

Verfasst: 08.11.2015 22:22
von NicTheQuick
Entschuldige, natürlich #DQUOTE$. Aber es muss gehen. Wenn das nicht geht, machst du wo anders etwas falsch. Die Lösung ist jedenfalls nicht, bei sämtlichen Dateien und Ordnern die Leerzeichen zu entfernen.

Re: NACHFRAGE - Parameter? weitergeben. Datei durchreichen

Verfasst: 08.11.2015 22:53
von udg
Habs endlich hinbekommen, es geht sogar mit Ordnern die mehrere Leerzeichen haben :)

Danke NicTheQuick.
dein Code Snip : '#DQUOTE + dateiname + #DQUOTE'
geändert in: #DQUOTE$ + Datei.s + #DQUOTE$


Buttoncode:

Code: Alles auswählen

;CALL SOUNDFORGE           
        Case #Soundforge
          Datei.s = ProgramParameter()
          SoundForge = RunProgram("C:\Program Files (x86)\Sony\SoundForge11\Sound Forge Pro 11.0\Forge110.exe", #DQUOTE$ + Datei.s + #DQUOTE$,  "")
         End
Jetzt ist das Tool endlich 100%ig.

Danke Euch allen.