Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Quattro modi di indossarlo, stessa app del Plaud Note Pro e integrazione con il desktop. Il registratore IA da indossare di Plaud eccelle in mobilità, ma resta vincolato all'abbonamento ed è facile da perdere
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Xiaomi ha portato Redmi Watch 6 anche sul mercato italiano, puntando su un display AMOLED da 2,07 pollici con picco di luminosità a 2000 nit, frame in alluminio da 9,9mm e un'autonomia dichiarata di 12 giorni. Lo smartwatch gira su HyperOS 3 e integra GPS, Bluetooth 5.4 e oltre 150 sport mode. Il tutto a meno di 100 euro
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Con 22 tasti, il pulsante 5D, lo Shift Mode e il sensore PixArt 3395 da 26.000 DPI, il nuovo mouse wireless di Mad Catz si rivolge in modo preciso ai giocatori di MMO e RPG. Ma chi conosce già il R.A.T. 8+ ADV si accorgerà subito di quanto i due prodotti condividano, e di dove invece divergono
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-06-2006, 19:01   #1
Manugal
Senior Member
 
L'Avatar di Manugal
 
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
[C] Progetto database

Ciao a tutti!!

Devo creare una funzione ReadRecord() che legge alcuni campi da un determinato record. Le specifiche della funzione (e di altre che dovrò sviluppare in questo modulo) sono qui: http://twiki.dsi.uniroma1.it/pub/Lab...l/modules.html

FieldValue è una struttura definita in questo modo:
Codice:
typedef struct {
	
	char	Name[FIELD_NAME_LENGTH+1];	//!< Nome del campo
	void	*value;				//!< Valore del campo
	
} FIELD_VALUE_t;
Il problema è che non riesco a capire come faccio a spostarmi sul campo che devo leggere, cioè su quale informazione mi baso per spostarmi in quel punto? Grazie.
Manugal è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2006, 07:14   #2
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da Manugal
Ciao a tutti!!

Devo creare una funzione ReadRecord() che legge alcuni campi da un determinato record. Le specifiche della funzione (e di altre che dovrò sviluppare in questo modulo) sono qui: http://twiki.dsi.uniroma1.it/pub/Lab...l/modules.html

FieldValue è una struttura definita in questo modo:
Codice:
typedef struct {
	
	char	Name[FIELD_NAME_LENGTH+1];	//!< Nome del campo
	void	*value;				//!< Valore del campo
	
} FIELD_VALUE_t;
Il problema è che non riesco a capire come faccio a spostarmi sul campo che devo leggere, cioè su quale informazione mi baso per spostarmi in quel punto? Grazie.
void *value; ?? per il valore del campo ???
perché un puntatore void ?
ti complichi la vita cosí
come la useresti questa struttura ?

ps: non ci posso andare sul sito che hai postato per "politiche aziendali"
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2006, 19:07   #3
Manugal
Senior Member
 
L'Avatar di Manugal
 
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
La struttura è per forza così, non l'ho creata io. E' richiesta dalle specifiche in questo modo. Dicono che visto che è void posso metterci qualsiasi valore. Questa contiene praticamente i nomi dei campi che dovrò andare a leggere e nel campo value dovrò mettere il valore del relativo campo. Su quel sito c'è scritto tutto in dettaglio, l'ho postato proprio per non scrivere tutto qua.
Manugal è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2006, 08:22   #4
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da Manugal
La struttura è per forza così, non l'ho creata io. E' richiesta dalle specifiche in questo modo. Dicono che visto che è void posso metterci qualsiasi valore. Questa contiene praticamente i nomi dei campi che dovrò andare a leggere e nel campo value dovrò mettere il valore del relativo campo.
certo che se tu scrivi la sera ed io il mattino ... campacavallo!

Forse qualcuno mi correggerá ma mi sembra assurdo fare un record cosí!
Sarebbe meglio una struttura a lunghezza fissa:

Codice:
typedef struct {
	
	char	Name [FIELD_NAME_LENGTH+1];  //!< Nome del campo
	char	Value[     VALUE_LENGTH+1];  //!< Valore del campo
	
} FIELD_VALUE_t;
anche in un char ci metti quello che vuoi

Il vantaggio della struttura fissa é che con le funzioni
fread(...) e fwrite(...) tu leggi e scrivi intere strutture
a blocchi

Ma nel tuo caso é diverso: siccome nel file non ci puoi scrivere
il puntatore (sarebbe assurdo) ma per forza il valore,
non puoi sapere quanto é grande il record.
Quindi te li devi leggere tutti, uno per uno e devi
stare bene attento a quando lo scrivi, il record, che ci
sia un delimitatore, un fine campo, sennó quando leggi
il record come fai a sapere che é finito ???
(ma chi minkia ha fatto le specifiche ??? )
Per capirci, la sizeof(FIELD_VALUE_t) non corrisponde
con la reale dimensione del record sul file


E poi in una struttura del genere servirebbe almeno un campo
Codice:
   int Length; // Dimensione del campo value
cosí quando leggi sai quanto devi allocare.
Ripeto ed insisto: fai cambiare le specifiche

Quote:
Originariamente inviato da Manugal
Su quel sito c'è scritto tutto in dettaglio, l'ho postato proprio per non scrivere tutto qua.
ho capito ma non ci posso andare, non é colpa mia
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2006, 08:57   #5
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Ho trovato il modo per leggere il sito con le specifiche
Ho "detto" a google di tradurlo e ... lo ha fatto
quindi é mezzo in italiano e mezzo in inglese
Ho solo capito che é molto diverso da come lo avevo
inteso io.

Scusa ma li si parla di database, il discorso diventa molto piú complesso, io pensavo ad un file sequenziale.
Non mi posso mettere a leggere tutte le specifiche ...
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 23-06-2006, 10:38   #6
Manugal
Senior Member
 
L'Avatar di Manugal
 
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
Scusa sono stato molto occupato ultimamente.

Pensavo che leggendoti quest'ultime specifiche riuscivi a capire cosa bisognava fare. Pazienza.

Grazie lo stesso.
Manugal è offline   Rispondi citando il messaggio o parte di esso
Old 23-06-2006, 11:04   #7
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
beh, se vuoi mi mandi tutte le specifiche via mail,
me le studio, ti trovo una soluzione ... e ti mando la fattura
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ...
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC Radeon RX 9070 GRE, AMD la porta in tutto il mon...
Reolink OMVI 3i WiFi: videosorveglianza più intelligente e facile da usare Reolink OMVI 3i WiFi: videosorveglianza pi&ugrav...
Virtua Fighter è tornato e non &e...
Il ritorno di Fumito Ueda, autore di Sha...
Cooler Master svela GPU Shield, la nuova...
Samsung Galaxy S27 Pro: sarà lui ...
Così Google ha ottimizzato Chrome...
Xiaomi non cambia idea: il display poste...
LG presenta in Italia le gamme TV Micro ...
Sette anni dopo l'annuncio, The Wolf Amo...
'Non avrete aumenti': la decisione shock...
TIM lancia il Pass Mondiali DAZN: 104 pa...
Tesla Roadster, promessa o miraggio? La ...
Mark Hamilton, la tavola periodica del m...
Hanger 13 annuncia Uomo d'Onore: espansi...
La battaglia delle HBM4 entra nel vivo: ...
Dopo 12 anni torna Alien: Isolation. Ecc...
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: 06:36.


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