Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
11/04/10 17:12
noitide
Buon pomeriggio a tutti, è da stamattina ke sbatto la testa contro questo problema, allora ho queste dichiarazioni:
Public Class Form1
Private Declare Unicode Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringW" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Int32, ByVal lpFileName As String) As Int32
    Private Declare Unicode Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringW" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim prova As String = "SPS_F110.rfm"
        msgbox(ReadIniData("SPS F1 2010", "rfactor", "C:\Users\Davide\Desktop\Opzioni.ini") + "\rfm\" + prova)

    End Sub
    Public Function ReadIniData(ByVal Section As String, ByVal Key As String, ByVal filename As String) As String
        Dim Valore As Long
        Dim RetVal As String = Space(256)
        Valore = GetPrivateProfileString(Section, Key, "<Nessun valore>", RetVal, RetVal.Length, filename)
        ReadIniData = Trim(RetVal.ToString)
    End Function

    Public Function WriteIniData(ByVal Section As String, ByVal Key As String, ByVal Value As String, ByVal filename As String) As String
        Dim Valore As Long
        Dim RetVal As String = Space(256)
        Valore = WritePrivateProfileString(Section, Key, Value, filename)
        WriteIniData = Trim(RetVal.ToString)
    End Function
End Class


nella sub Button1_click a rigor di logica dovrebbe apparirmi una msgbox con questo percorso "C:\Users\rfm\SPS_F110.rfm" dove "C:\Users" è il valore ke va a leggere dal file ini, il problema è ke invece mi appare solo "C:\Users" e il + "rfm" + prova non li considera neanke, se però faccio così:
Dim prova As String = "SPS_F110.rfm"
        TextBox1.Text = ReadIniData("SPS F1 2010", "rfactor", "C:\Users\Davide\Desktop\Opzioni.ini")
        MsgBox(TextBox1.Text + "\rfm\" + prova)

il percorso ke mi appare nella msgbox è quello desiderato, solo ke a me serve ke funzioni senza textbox. qualcuno può aiutarmi? grazie..
aaa
11/04/10 17:33
XBarboX
soluzione non bella ma...
Perchè non metti la textbox invisibile e salvi il suo contenuto su una variabile?
aaa
11/04/10 17:40
noitide
Postato originariamente da XBarboX:

soluzione non bella ma...
Perchè non metti la textbox invisibile e salvi il suo contenuto su una variabile?

ci ho pensato e se non dovessi trovare la soluzione farò sicuramente così, ma non mi piace tanto come idea..:)
aaa
11/04/10 19:04
Alfonso
GetPrivateProfileString restituisce una stringa che termina con chr(0).
Devi pertanto togliere il chr(0) prima di aggiungere qualcosa.
aaa
12/04/10 14:04
noitide
Postato originariamente da Alfonso:

GetPrivateProfileString restituisce una stringa che termina con chr(0).
Devi pertanto togliere il chr(0) prima di aggiungere qualcosa.

Grazie grazie grazie grazie grazie grazie grazie grazie grazie, veramente grazie 1000! :hail::hail::hail:
funziona alla perfezione :k::k:
aaa
12/04/10 14:17
Alfonso
Sei esagerato! Di grazie ne bastano cinque. :asd:
aaa