none
Problemas com arquivo .ini RRS feed

  • Pergunta

  • Estou puxando um arquivo .ini utilizando um codigo...

    Está funcionando normal, mais ele tá puxando só pelo caminho completo, queria colocar só pelo "\config.ini" e não "C:\Users\Hykaro\Documents\Visual Studio 2008\Projects\RadioICOM\RadioICOM\bin\config.ini". Mando o codigo que estou usando.

    Imports System.Text
    Imports System.Runtime.InteropServices
    
    Module INI
        <DllImport("kernel32.dll", SetLastError:=True)> Public Function WritePrivateProfileString _
          (ByVal lpApplicationName As String, _
          ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Integer
        End Function
    
        <DllImport("kernel32.dll", SetLastError:=True)> Public Function GetPrivateProfileString( _
          ByVal lpAppName As String, _
          ByVal lpKeyName As String, _
          ByVal lpDefault As String, _
          ByVal lpReturnedString As StringBuilder, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
        End Function
    
        Public Function lerINI(ByVal strIniFile As String, ByVal strKey As String, ByVal strItem As String) As String
            Dim strValue As StringBuilder = New StringBuilder(255)
            Dim intSize As Integer
            intSize = GetPrivateProfileString(strKey, strItem, "", strValue, 255, strIniFile)
            Return strValue.ToString
        End Function
    
        'Para ler um arquivo .ini: lerINI(Diretório do arquivo + arquivo.ini, "valor entre cochetes", "valor antes do igual")
     
    
    Public Class player
    
        Dim ip_INI
        Dim porta_INI
    
        Private Sub player_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            txtNome.Text = lerINI("C:\Users\Hykaro\Documents\Visual Studio 2008\Projects\RadioICOM\RadioICOM\bin\config.ini", "Radio", "Nome")
            ip_INI = lerINI("C:\Users\Hykaro\Documents\Visual Studio 2008\Projects\RadioICOM\RadioICOM\bin\config.ini", "Radio", "IP")
            porta_INI = lerINI("C:\Users\Hykaro\Documents\Visual Studio 2008\Projects\RadioICOM\RadioICOM\bin\config.ini", "Radio", "Porta")
            player_componente.URL = "http://" & ip_INI & ":" & porta_INI
            player_componente.settings.volume = 100
    
        End Sub
    
        
    End Class

    Espero que possam me ajudar.

    quinta-feira, 1 de março de 2012 02:36

Respostas

  • Escreve assim amigo 

      Private Sub player_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            txtNome.Text = lerINI((Application.StartupPath & "\config.ini"), "Radio", "Nome"))
            ip_INI = lerINI((Application.StartupPath & "\config.ini", "Radio", "IP"))
            porta_INI = lerINI((Application.StartupPath & "\config.ini", "Radio", "Porta"))
            player_componente.URL = "http://" & ip_INI & ":" & porta_INI
            player_componente.settings.volume = 100


    --STAR IT'S LIFE-- Todos os programadores são roteiristas e todos os computadores são péssimos atores. Se ajudei, Por favor, marque-me como resposta.


    • Sugerido como Resposta Lord - i quinta-feira, 1 de março de 2012 15:48
    • Marcado como Resposta Eder CostaModerator segunda-feira, 5 de março de 2012 14:03
    • Editado Lord - i terça-feira, 6 de março de 2012 17:53
    quinta-feira, 1 de março de 2012 15:44

Todas as Respostas

  • Application.StartupPath & "\config.ini"
    quinta-feira, 1 de março de 2012 03:23
  • Vitor desculpe, mais eu nao sei muito de VB, como faria isso naquele codigo, eu sei muito pouco e estou começando agora em VB...

    Se puder modificar o codigo pra mim fico grato.

    Att Hykaro Curcioli

    quinta-feira, 1 de março de 2012 14:19
  • Escreve assim amigo 

      Private Sub player_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            txtNome.Text = lerINI((Application.StartupPath & "\config.ini"), "Radio", "Nome"))
            ip_INI = lerINI((Application.StartupPath & "\config.ini", "Radio", "IP"))
            porta_INI = lerINI((Application.StartupPath & "\config.ini", "Radio", "Porta"))
            player_componente.URL = "http://" & ip_INI & ":" & porta_INI
            player_componente.settings.volume = 100


    --STAR IT'S LIFE-- Todos os programadores são roteiristas e todos os computadores são péssimos atores. Se ajudei, Por favor, marque-me como resposta.


    • Sugerido como Resposta Lord - i quinta-feira, 1 de março de 2012 15:48
    • Marcado como Resposta Eder CostaModerator segunda-feira, 5 de março de 2012 14:03
    • Editado Lord - i terça-feira, 6 de março de 2012 17:53
    quinta-feira, 1 de março de 2012 15:44
  • Coloquei o codigo e ele apresentou os seguintes erros:

    Error 1 Value of type 'System.Diagnostics.Process' cannot be converted to 'String'.
    Error 2 End of statement expected.
    Error 3 Overload resolution failed because no accessible 'Start' accepts this number of arguments.
    Error 4 Overload resolution failed because no accessible 'Start' accepts this number of arguments.

    Outra coisa que está acontecendo é um erro:

    System.ArgumentException was unhandled
      Message="Value does not fall within the expected range."
      Source="Interop.WMPLib"
      StackTrace:
           at WMPLib.IWMPPlayer4.set_URL(String pbstrURL)
           at AxWMPLib.AxWindowsMediaPlayer.set_URL(String value)
           at RadioICOM.player.player_Load(Object sender, EventArgs e) in C:\Documents and Settings\Hykaro\Meus documentos\Visual Studio 2008\Projects\RadioICOM\RadioICOM\player.vb:line 10
           at System.Windows.Forms.Form.OnLoad(EventArgs e)
           at System.Windows.Forms.Form.SetVisibleCore(Boolean value)
           at System.Windows.Forms.Control.Show()
           at RadioICOM.abrir.Button1_Click(Object sender, EventArgs e) in C:\Documents and Settings\Hykaro\Meus documentos\Visual Studio 2008\Projects\RadioICOM\RadioICOM\abrir.vb:line 4
           at System.Windows.Forms.Control.OnClick(EventArgs e)
           at System.Windows.Forms.Button.OnClick(EventArgs e)
           at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
           at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
           at System.Windows.Forms.Control.WndProc(Message& m)
           at System.Windows.Forms.ButtonBase.WndProc(Message& m)
           at System.Windows.Forms.Button.WndProc(Message& m)
           at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
           at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
           at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
           at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
           at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
           at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
           at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
           at System.Windows.Forms.Application.Run(ApplicationContext context)
           at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
           at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
           at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
           at RadioICOM.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81
           at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
           at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
           at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
           at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
           at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           at System.Threading.ThreadHelper.ThreadStart()
      InnerException: 


    terça-feira, 6 de março de 2012 15:53
  • Eu estava mall FAIL total no dia sinto muito,

    Tenta agora.

      Private Sub player_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            txtNome.Text = lerINI((Application.StartupPath & "\config.ini"), "Radio", "Nome"))
            ip_INI = lerINI((Application.StartupPath & "\config.ini", "Radio", "IP"))
            porta_INI = lerINI((Application.StartupPath & "\config.ini", "Radio", "Porta"))
            player_componente.URL = "http://" & ip_INI & ":" & porta_INI
            player_componente.settings.volume = 100


    Sexy it's life
    Email: #ERRO 404
    Obs' Todos os programadores são roteiristas e todos os computadores são péssimos atores.

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.


    • Editado Lord - i terça-feira, 6 de março de 2012 17:54
    • Sugerido como Resposta Lord - i quarta-feira, 7 de março de 2012 15:26
    terça-feira, 6 de março de 2012 17:52