Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] problema stringa di ReadIniData
Forum - C# / VB.NET - [VB.NET] problema stringa di ReadIniData

Avatar
noitide (Normal User)
Pro


Messaggi: 107
Iscritto: 24/06/2009

Segnala al moderatore
Postato alle 19:12
Domenica, 11/04/2010
Questo topic è stato chiuso dal moderatore

Buon pomeriggio a tutti, è da stamattina ke sbatto la testa contro questo problema, allora ho queste dichiarazioni:
Codice sorgente - presumibilmente VB.NET

  1. Public Class Form1
  2. 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
  3.     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
  4.  
  5. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  6.         Dim prova As String = "SPS_F110.rfm"
  7.         msgbox(ReadIniData("SPS F1 2010", "rfactor", "C:\Users\Davide\Desktop\Opzioni.ini") + "\rfm\" + prova)
  8.  
  9.     End Sub
  10.     Public Function ReadIniData(ByVal Section As String, ByVal Key As String, ByVal filename As String) As String
  11.         Dim Valore As Long
  12.         Dim RetVal As String = Space(256)
  13.         Valore = GetPrivateProfileString(Section, Key, "<Nessun valore>", RetVal, RetVal.Length, filename)
  14.         ReadIniData = Trim(RetVal.ToString)
  15.     End Function
  16.  
  17.     Public Function WriteIniData(ByVal Section As String, ByVal Key As String, ByVal Value As String, ByVal filename As String) As String
  18.         Dim Valore As Long
  19.         Dim RetVal As String = Space(256)
  20.         Valore = WritePrivateProfileString(Section, Key, Value, filename)
  21.         WriteIniData = Trim(RetVal.ToString)
  22.     End Function
  23. 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ì:
Codice sorgente - presumibilmente C# / VB.NET

  1. Dim prova As String = "SPS_F110.rfm"
  2.         TextBox1.Text = ReadIniData("SPS F1 2010", "rfactor", "C:\Users\Davide\Desktop\Opzioni.ini")
  3.         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..

PM
Avatar
XBarboX (Member)
Guru


Messaggi: 945
Iscritto: 31/12/2008

Segnala al moderatore
Postato alle 19:33
Domenica, 11/04/2010
soluzione non bella ma...
Perchè non metti la textbox invisibile e salvi il suo contenuto su una variabile?


The old lie: Dulce et decorum est pro patria mori
PM
Avatar
noitide (Normal User)
Pro


Messaggi: 107
Iscritto: 24/06/2009

Segnala al moderatore
Postato alle 19:40
Domenica, 11/04/2010
Testo quotato

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..:)

PM
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 21:04
Domenica, 11/04/2010
GetPrivateProfileString restituisce una stringa che termina con chr(0).
Devi pertanto togliere il chr(0) prima di aggiungere qualcosa.


che le risposte ti siano servite o meno un tuo riscontro è segno di cortesia.

http://www.alfonsonatale.altervista.org/
PM
Avatar
noitide (Normal User)
Pro


Messaggi: 107
Iscritto: 24/06/2009

Segnala al moderatore
Postato alle 16:04
Lunedì, 12/04/2010
Testo quotato

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:

PM
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 16:17
Lunedì, 12/04/2010
Sei esagerato! Di grazie ne bastano cinque. :asd:


che le risposte ti siano servite o meno un tuo riscontro è segno di cortesia.

http://www.alfonsonatale.altervista.org/
PM