Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-10-2010, 23:09   #1
Andrea993
Member
 
Iscritto dal: Jun 2010
Messaggi: 35
[C#] Problema GetPrivateProfileString

Ciao a tutti sto programmando una funzione che mi deve leggere il valore di "language" che è "ita" da questo file INI:
Codice:
[config]
language = ita
version = 2.0
Fatto sta che per qualche motivo l'operazione non va a buon fine!

Questa è la classe contenente solo la funzione:
Codice:
public class INI_reader
    {
        [DllImport("kernel32.dll")]
        static extern uint GetPrivateProfileString(
      string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName);

        public static string ReadKey(string file_path, string Section, string Key)
        {
            StringBuilder sb = new StringBuilder(500);
            uint res = GetPrivateProfileString(Section, Key, "ERROR", sb, sb.Capacity, file_path);
            return sb.ToString();
        }
    }
Gli passo percorso_file_ini, sezione ("config") e chiave ("language").

Mi viene sempre restituito "ERROR" che indica che l'operazione non è andata a buon fine.

Sapete dov'è il problema??
Grazie mille in anticipo
Andrea993 è offline   Rispondi citando il messaggio o parte di esso
Old 21-10-2010, 08:08   #2
giangian2
Member
 
L'Avatar di giangian2
 
Iscritto dal: Dec 2005
Città: Provincia di Vicenza
Messaggi: 174
Quote:
Originariamente inviato da Andrea993 Guarda i messaggi
sezione ("config") e chiave ("language").
ciao
non ci vanno le parentesi.

sezione "config" e chiave "language"
giangian2 è offline   Rispondi citando il messaggio o parte di esso
Old 21-10-2010, 16:18   #3
Andrea993
Member
 
Iscritto dal: Jun 2010
Messaggi: 35
sì so era solo per fart capire cosa passo alla funzione!

La funzione la chiamo così:
Codice:
lingua = INI.INI_reader.ReadKey(Directory.GetCurrentDirectory() + @"\config\config.conf", "config", "version");
Andrea993 è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2010, 08:19   #4
giangian2
Member
 
L'Avatar di giangian2
 
Iscritto dal: Dec 2005
Città: Provincia di Vicenza
Messaggi: 174
La funzione "Directory.GetCurrentDirectory()" ritorna la path corrente, ma non è detto che sia quella in cui si trova l'eseguibile.
Se tu crei un collegamento all'eseguibile e nelle proprietà cambi la directory di avvio la funzione "Directory.GetCurrentDirectory()" ritorna la path impostata.
Detto questo in debug (da visual studio) la path è "<path del progetto>\bin\debug" (a meno che non sia stata modificata con Directory.SetCurrentDirectory).
giangian2 è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2010, 16:23   #5
Andrea993
Member
 
Iscritto dal: Jun 2010
Messaggi: 35
La cartella è quella giusta, ho gia verificato con un breakpoint
Andrea993 è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2010, 16:57   #6
giangian2
Member
 
L'Avatar di giangian2
 
Iscritto dal: Dec 2005
Città: Provincia di Vicenza
Messaggi: 174
Quote:
Originariamente inviato da Andrea993 Guarda i messaggi
La cartella è quella giusta, ho gia verificato con un breakpoint
allora non ne ho proprio idea... ho copiato pari pari il tuo pezzo di codice ed ho creato in file come il tuo e da me funziona correttamente.
Prova a modificare l'import della funzione come segue

[DllImport("kernel32.dll", SetLastError=true)]
static extern uint GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName);

poi una volta fatta la chiamata prova a verificare il codice d'errore che ha settato la GetPrivateProfileString chiamando:

Marshal.GetLastWin32Error()

Spero ti possa essere di aiuto.

ciao ciao
giangian2 è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2010, 11:35   #7
Andrea993
Member
 
Iscritto dal: Jun 2010
Messaggi: 35
Puoi spiegarti meglio che non ho mai usato questa procedura??...grazie mille
Andrea993 è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2010, 16:53   #8
Andrea993
Member
 
Iscritto dal: Jun 2010
Messaggi: 35
Mi dice che il numero dell'errore è 2!
Andrea993 è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2010, 08:11   #9
giangian2
Member
 
L'Avatar di giangian2
 
Iscritto dal: Dec 2005
Città: Provincia di Vicenza
Messaggi: 174
Quote:
Originariamente inviato da Andrea993 Guarda i messaggi
Mi dice che il numero dell'errore è 2!
ciao,
da MSDN il codice di errore 2 indica "File non trovato".
Sei sicuro che la path del file impostata da codice sia esattamente la path in cui ha creato il file??
giangian2 è offline   Rispondi citando il messaggio o parte di esso
Old 28-04-2011, 17:28   #10
Andrea993
Member
 
Iscritto dal: Jun 2010
Messaggi: 35
Sì, sicursissimo ho provato anche con altri file ma niente
Andrea993 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
Il nuovo OnePlus Nord 6 è vicino al debu...
Tesla svela i risultati del Q4: conferma...
Nuova rimodulazione da Fastweb: fino a 3...
La NVIDIA RTX 5090 potrebbe presto costa...
ASUS non produrrà più smar...
CoopVoce sta per lanciare il 5G: ecco qu...
Factorial, azienda di batterie allo stat...
Le specifiche fuori di testa della Yangw...
I numeri incredibili di Xiaomi: nel 2025...
In Cina è pronto il parco fotovol...
Neuralink accelera: produzione di massa ...
Starlink abbassa l'orbita di migliaia di...
Dal MIT una nuova batteria per auto elet...
Adam Mosseri parla di IA su Instagram: l...
Suonerie personalizzate e Tone Store: il...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:51.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v