Newsgroup: it.comp.lang.visual-basic
Titolo: [VB.NET] Altri 2 problemi a cui non ho trovato soluzione

grazie a chiunque ha la pazienza di aiutarmi ...
1) Lettura/Scrittura su File INI non funziona !!!
 le funzioni API getPrivateProfileString e setPrivateProfileString che
utilizzavo in VB6
 per leggere e scrivere su file INI non funzionano in 
VB.NET
 e mi ritornano
un overflow:
 Public Function fnLeggi_INI(ByVal Sezione As String, ByVal Chiave As
String, ByVal DefaultVal As String) As String
         Dim sTemp As String
         Dim nLength As Long
         sTemp = Space(256)
         nLength = GetPrivateProfileString(Sezione, Chiave, DefaultVal,
sTemp, Len(sTemp), strFileINI)
         fnLeggi_INI = Left$(sTemp, nLength)
 End Function
 Public Sub sbScrivi_INI(ByVal Sezione As String, ByVal Chiave As String,
ByVal Valore As String)
         Dim n As Long
         n = WritePrivateProfileString(Sezione, Chiave, Valore, strFileINI)
 End Sub
2) Apertura Recordset ADODB non funziona !!!
 Quando setto la proprietą source del recordset su una qualsiasi stringa SQL
non me la riconosce
 dicendomi: "Gli argomenti non sono di tipo valido, non sono compresi
nell'intervallo consentito o sono in conflitto"
 dim conn as new ADODB.Connection
 dim rs as new ADODB.Recordset
 conn.Open strConnessione
 rs.Open "Select * FROM Clienti",conn,ADODB.CursorTypeEnum.adOpenStatic

 2) Apertura Recordset ADODB non funziona !!!
Perché non utilizzi 
ADO.NET
?
Ciao.
--
BSD is for UNIX-lovers -- linux is for Windows-haters.

  End Function
uhmmm sicuro che quel Long debba essere un Long? mi pare di aver letto
che in 
VB.NET
 bisogna usare gli Integer al posto dei Long, per le
chiamate ad API.
Facci sapere, ci teniamo un sacco a leggere/scrivere dai file INI, vero
ragazzi?  :P
--
Faber

Dim sTemp as string = Space(256)
Assolutamente non vero, puoi dimensionare la variabile dove vuoi ed
eventualmente inizializzarla da un altra parte.
Vero č che puoi utilizzare la sintassi del tipo
Dim iValue as Int32=33
cosa non fattibile in Vb6
Attenzione che le variabili hanno scope diverso a seconda di dove le
dimensioni ovvero
Dim iValue as Int32=33
Select Case iValue
    case 33
    Dim iMyVar as Int32=55
    case else
    Dim iMyVar as Int32=66
end select
Debug.writeLine iMyvar    <-Errore la variabile non viene riconosciuta in
quanto ha scope limitato al select case
Ciao
Corrado

 dove vuoi ed eventualmente inizializzarla da un altra parte.
No, un momento. Non mi sono spiegato.
La frase "una variabile va dichiarata ..." non significa che il
linguaggio lo richieda, ma significa che non facendolo perdi uno dei
vantaggi offerti dal 
VB.NET
 cioè, come avevo scritto, la
*possibilità* di inizializzare le variabili nella dichiarazione
delle stesse.
VB.NET
 ci offre notevoli migliorie del linguaggio, non utilizzarle
(per quanto, ovviamente, il linguaggio ci consenta di farlo) è un
vero "errore".


 Perché non utilizzi 
ADO.NET
?
perchè per una semplice query devo utilizzare un sacco di oggetti (command,
datareader,dataset) .... con ADO è più semplice ... ;-) (se funzionasse
......)
Grazie per l'interessamento .... CIAO

 eventualmente inizializzarla da un altra parte.
si infatti io ho fatto così .... ma più che altro per abitudine acquisita
con VB6 ... :-)
mi dovrò abituare ai nuovi "trucchetti" di 
VB.NET
 !!!
CIAO

Sono d'accordo anche io la penso come te,però la comodità mi sta facendo
cambiare idea...
Corrado

 ragazzi?  :P
Io sě, specie alla luce di quanto si diceva qui la settimana scorsa:
http://groups.google.com/groups?hl=it&selm=a2pljs%241u9u%241%40newsreader1.mclin
k.it
Bye, Paperino.UseINIFiles = True