Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - VB nel C
Forum - C/C++ - VB nel C

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
gismo (Normal User)
Rookie


Messaggi: 43
Iscritto: 07/01/2007

Segnala al moderatore
Postato alle 16:48
Venerdì, 02/05/2008
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

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 17:22
Venerdì, 02/05/2008
Potresti ma e' abbastanza scomodo ...

Se hai dei dati in una DLL C, passali sotto forma di stringa al VB e poi questo li inserira' nel textbox ...

PM Quote
Avatar
gismo (Normal User)
Rookie


Messaggi: 43
Iscritto: 07/01/2007

Segnala al moderatore
Postato alle 20:56
Venerdì, 02/05/2008
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..:)

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 20:58
Venerdì, 02/05/2008
Fammi capire la relazione che c'e' nel tuo progetto tra

la struttura

il programma in C

il programma in VB

PM Quote
Avatar
gismo (Normal User)
Rookie


Messaggi: 43
Iscritto: 07/01/2007

Segnala al moderatore
Postato alle 21:04
Venerdì, 02/05/2008
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?
8-|

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 22:50
Venerdì, 02/05/2008
Se ho capito bene tu scrivi anche il sorgente della DLL ... ovvero puoi modificare il sorgente C ... giusto?

Come e' fatta la struct?

Quali funzioni mette a disposizione la DLL?

Cosa accettano in ingresso?

O devi ancora scrivere tutto tu?

PM Quote
Avatar
gismo (Normal User)
Rookie


Messaggi: 43
Iscritto: 07/01/2007

Segnala al moderatore
Postato alle 9:17
Sabato, 03/05/2008
ancora il codice non è completo..cmq ho già in mente come fare..
la struct è:
Codice sorgente - presumibilmente C++

  1. struct anag{
  2. int numero;
  3. char cognomeé[20];
  4. char nome[20];
  5. }


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

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 11:07
Sabato, 03/05/2008
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 ...

PM Quote
Avatar
gismo (Normal User)
Rookie


Messaggi: 43
Iscritto: 07/01/2007

Segnala al moderatore
Postato alle 11:37
Sabato, 03/05/2008
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++

  1. struct anag{
  2. int numero;
  3. char cognome[20];
  4. char nome[20];
  5. }
  6. struct anag Anag;
  7. ..
  8. FILE *fp;
  9. void main(){
  10. //apro il file
  11. fp = fopen("Anag.dat", "w");
  12.  
  13. //leggo il campo del record
  14. fscanf(fp, "%s", &Anag.cognome);
  15. ..
  16. }



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..:k:
ora indago sul CopyMemory..
spero di essere stato chiaro adesso..
fammi sapere
grazie per la pazienza:D

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo