Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-10-2003, 16:52   #1
ASyd
Senior Member
 
Iscritto dal: Apr 2003
Città: Varese
Messaggi: 331
Leggere un file...

E' possibile leggere un determinato campo "chiamandolo" per la posizione in cui si trova, in un file sequenziale?

Ho letto una sintassi di questo tipo:

Input #numerofile, elencocampi

"elencocampi" può essere una cosa tipo "riga-campo1" o "riga-campo12" o "riga-campo40"?

Se si, com'è la sintassi corretta?

In caso non fosse possibile come posso ottenere un risultato simile?

tnx
ASyd è offline   Rispondi citando il messaggio o parte di esso
Old 21-10-2003, 17:53   #2
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Prima di tutto nn è Elenco campi ma cosi:

Input #numerofile, elencovariabili

c'è un po' di differenza


Quello che vuoi fare tu fai in due metodi (almeno secondo me), il primo leggere in una varibile stringa tutto il file riga per riga con l'isctruzione "Line Input #numerofile, nomevariabile", l'istruzione successiva potrebbe essere cosi: sFile= sFile & nomevaribile & vbcrlf

In questa maniera ti ricrei il file in una varibile e "giochi" con le stringhe...supponiamo che il tuo file sia del tipo:

riga1=ciao1
riga2=ciao2
riga3=ciao3

Per leggere riga 2 fai una cosa del genere (ti riproduco un pezzo di codice)

Codice:
Option Explicit

Dim sFile        As String

Private Sub Form_Load()
  
  sFile = ""
  sFile = sFile & "riga1 = ciao1" & vbCrLf
  sFile = sFile & "riga2 = ciao2" & vbCrLf
  sFile = sFile & "riga3 = ciao3" & vbCrLf
  
  MsgBox (ValoreRiga("riga2"))
  
End Sub

Private Function ValoreRiga(ByVal sRiga As String) As String

  Dim lLen         As Long
  
  
  lLen = InStr(sFile, sRiga)
  lLen = lLen + Len(sRiga) + 3 'tolgo il carattere " = "
  
  ValoreRiga = Mid(sFile, lLen, InStr(lLen, sFile, vbCrLf) - lLen)
  
End Function

Come seconda soluzione hai il metodo pià usato...cioè utilizzando le API di windows

Codice:
Option Explicit

Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long

Public Sub WriteFileINI(ByVal sFile As String, ByVal sSezione As String, ByVal sChiave As String, ByVal sChiaveValore As String)

  'scrittura file INI
  Call WritePrivateProfileString(sSezione, sChiave, sChiaveValore, sFile)

End Sub

Public Function ReadFileINI(ByVal sFile As String, ByVal sSezione As String, ByVal sChiave As String, Optional ByVal sChiaveValoreDefault As String = "") As String
  
  'lettura file INI
  ReadFileINI = Space$(255)

  Call GetPrivateProfileString(sSezione, sChiave, sChiaveValoreDefault, ReadFileINI, Len(ReadFileINI), sFile)
  
  ReadFileINI = Left$(ReadFileINI, InStr(ReadFileINI, Chr$(0)) - 1)
  
End Function
Queste due funzioni leggono un qlc file formattato modello INI, cioè si imposta un file, si imposta la sezione (quella racchiusta tra due parentesi quadre), si imposta la chiave (nel tuo caso le righe) ed ti tornerà indietro il valore


ciaooooooooooooooo
matpez è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
iPhone 18 Pro: il componente che garanti...
DeepL alza il livello: con Voice-to-Voic...
Apple sta utilizzando sempre più ...
Il MacBook Neo vende tanto? Microsoft le...
AST SpaceMobile BlueBird 7: Blue Origin ...
È il momento migliore per comprar...
Svendita MacBook Pro: c'è il mode...
Oggi questa TV TCL QLED da 43 pollici co...
Il caricatore multiplo da 200W che va be...
Top 7 Amazon, il meglio del meglio di qu...
Spento lo strumento LECP della sonda spa...
Voyager Technologies ha siglato un accor...
GoPro annuncia la linea MISSION 1 con tr...
Alcune varianti dei futuri Samsung Galax...
Il ridimensionamento di OnePlus in Europ...
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: 04:22.


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