Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
ciao..
in una dll in c per VB.. come posso fare assegnazioni di campi VB nelle routine C?
mi spiego meglio..
mettiamo che io abbia una routine in C che estae record da un file.. nella stessa routine potrei mettere un'istruzione che mi assegni il valore direttamente a una textbox, ad esempio?
fatemi sapere..grazie
ok..
ma se per esempio dovessi mettere in un form i dati di una struttura? tipo ho una struct anagrafica con (nome, data di nascita ecc..) e li volessi mettere in alcuni controlli di un form..come potrei fare?
faccio ritornare tutta la struttura..
e poi?
fammi sapere grazie..
allora..
ho una dll che gestisce le operazioni su dei file. sul file ho scritto delle strutture anagrafiche..in visualbasic devo creare la GUI, più precisamente devo fare un form che per permetta la visualizzazione e la modifica di specifici record del file gestito in c..
vorrei sapere come posso fare a trasferire il record dal C al visual basic.. cioè una volta estratto il record dal file come glielo passo al VB?
Col return della funzione sicuramente..ma i singoli campi del record/struttura come lo gestisco in VB?
ancora il codice non è completo..cmq ho già in mente come fare..
la struct è:
Codice sorgente - presumibilmente C++
struct anag{
int numero;
char cognomeé[20];
char nome[20];
}
più o meno deve avere questi campi..
le funzioni principali sono quelle per gestire i file quindi..lettura dei record e modifica dei file..
quello che mi serve è un modo per trasferire il record letto dalla DLL al VB..devo per forza fare una funzione che ritorni un campo della struttura alla volta? o c'è un modo per ottimizzare un pò il tutto?
fammi sapere..grazie
Puoi usare i puntatori per restituire l'indirizzo in memoria della struct. In VB il puntatore sara' un Long che utilizzerai con la API CopyMemory per trasferire i dati nelle variabili del VB.
Ma devi dare maggiori info se vuoi maggiori indicazioni. Non hai risposto completamente alle mie domande e non posso "tirarti" le informazioni con mille post ...
ok ci riprovo..
con la struttura precedente è stato memorizzato in un file un record.. il file si chiama anagrafe.dat
ecco il codice di questi primi passi..
Codice sorgente - presumibilmente C++
struct anag{
int numero;
char cognome[20];
char nome[20];
}
struct anag Anag;
..
FILE*fp;
void main(){
//apro il file
fp =fopen("Anag.dat", "w");
//leggo il campo del record
fscanf(fp, "%s", &Anag.cognome);
..
}
supponendo che nel file il record sia memorizzato così:
1
Rossi
Mario
In teoria l'output dovrebbe essere "Rossi"..
allora quello che vorrei fare..è inserire "Rossi" in un form VB in una textbox o simili..
ora indago sul CopyMemory..
spero di essere stato chiaro adesso..
fammi sapere
grazie per la pazienza