Hallo,
Ik ben bezig met een GUI te maken voor eac3to. Ik probeer hierbij het pad naar eac3to.exe variabel te maken. Verder wordt er via een FileOpenDialog een bestand gekozen dat geconverteerd gaat worden.
Deze code werkt gewoon, alleen is hier alles hardcoded. Dit schiet natuurlijk niet op. Ik heb ook moeite met de console argumenten variabel te maken, ik heb het vermoeden dat de fout zit in enkele en dubbele haakjes.Code:Public Class frmHoofd Public strConvertFile As String Friend WithEvents Proc As System.Diagnostics.Process Private Sub btnUitvoeren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUitvoeren.Click Try Shell("""C:\Program Files (x86)\eac3to\eac3to.exe"" ""D:\test.flac"" ""D:\test.wav""", AppWinStyle.NormalFocus) Catch ex As Exception End Try End Sub Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click With dlgOpenBestand .Filter = "Flacbestanden (*.flac)|*.flac|Alle bestanden (*.*)|*.*" .FilterIndex = 1 .InitialDirectory = Environment.SpecialFolder.MyDocuments.ToString .ShowDialog() txtInput.Text = .FileName strConvertFile = .FileName End With End Sub End Class
"Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering."
Het gaat eigenlijk om de volgende regel
Hierin moet C:\Program Files (x86)\eac3to\eac3to.exe, D:\test.flac en D:\test.wav variabel worden. Alleen als ik ze vervang door dubbele of enkele aanhalingstekens wordt de variabele niet meer als variabele maar als platte tekst gezien.Code:Shell("""C:\Program Files (x86)\eac3to\eac3to.exe"" ""D:\test.flac"" ""D:\test.wav""", AppWinStyle.NormalFocus)
"Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering."
Werkt dit voor jou, of heb ik nu de aantallen aanhalingstekens verkeerd gedaan??
Het enige wat er dus nog verder veranderd moest worden, was dat er nog '&'-tekens bij moesten...Code:Dim Var1 As String = "C:\Program Files (x86)\eac3to\eac3to.exe" Dim Var2 As String = "D:\test.flac" Dim Var3 As String = "D:\test.wav" Shell("" & Var1 & """" & Var2 & """" & Var3 & "", AppWinStyle.NormalFocus)
MartinJM
Nope, werkt niet:
A first chance exception of type 'System.IO.FileNotFoundException' occurred in Microsoft.VisualBasic.dll
"Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering."
Het is dus niet het pad naar mijn eigen programma, maar het programma dat ik maak is een GUI voor dat programma (werkt normaal gesproken alleen via commandline of batch). Om mijn GUi te laten werken moet dus wel het pad naar eac3to.exe bekend zijn, dit is natuurlijk niet bij iedereen hetzelfde. De gebruiker moet dus kunnen aangeven waar hij dat bestand heeft.
"Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering."
Ik heb nog even naar de aanhalingstekens en spaties gekeken, en nu verwacht ik dat het zo zou moeten werken:
CPP Code:
1 2 3 4 5 Dim Var1 As String = "C:\Program Files (x86)\eac3to\eac3to.exe" Dim Var2 As String = "D:\test.flac" Dim Var3 As String = "D:\test.wav" Shell("""" & Var1 & """ """ & Var2 & """ """ & Var3 & """", AppWinStyle.NormalFocus)
MartinJM
Edit:
Let er wel op dat de bestanden in de variablen moeten bestaan, anders zal dit dus niet werken...
Ja! Het werkt! Zou je even kunnen uitleggen hoe het zit met die dubbele en enkele haakjes? Ik snap er geen sikkepit van!
"Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering."
Bedankt voor de hulp en de tip!
"Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering."