Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Realizzato da Lenovo e installato presso il Cineca di Casalecchio di Reno, Pitagora offre circa 44 PFlop/s di potenza di calcolo ed è dedicato alla simulazione della fisica del plasma e allo studio dei materiali avanzati per la fusione, integrandosi nell’ecosistema del Tecnopolo di Bologna come infrastruttura strategica finanziata da EUROfusion e gestita in collaborazione con ENEA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Rullo di lavaggio dei pavimenti abbinato a un potente motore da 28.000 Pa e a bracci esterni che si estendono: queste, e molte altre, le caratteristiche tecniche di Z60 Ultra Roller Complete, l'ultimo robot di Mova che pulisce secondo le nostre preferenze oppure lasciando far tutto alla ricca logica di intelligenza artificiale integrata
Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-07-2004, 11:45   #1
wicasa
Senior Member
 
L'Avatar di wicasa
 
Iscritto dal: Apr 2001
Città: Casarsa (PN) Trieste e Navigo con FireFox! ;o)
Messaggi: 300
[VB6] Come passare un array intero

Ad esempio io mi creo un array

Codice:
dim myArray(0 to 5)  as double
'assegno i valori ad alcune celle...
myArray(0)= 12.2
myArray(3)= 13.46
...ora voglio far passare l'intero array come variabile
che ne conservi i valori e il loro posto all'interno della matrice!!!

nel caso seguente viene definita una funzione che richiede tra gli altri parametri anche un array...
Codice:
valore=myFunction(parm1,parm2,myArray)
...se scrivo così il compilatore mi dà errore...ho provato in mille altri modi tranne quello giusto...ovviamente!!!

Aiuto
Grassie
__________________
Polcenigo rulez
"Don't laugh if I, an old man, wear flower. The six strings harp is struck, the goblet passes round. Where in man's life there is a moment better than the once before a full wine-bowl."
wicasa è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2004, 13:08   #2
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Bhe inanzitutto un array lo puoi dichiarare semplicemente con Prova(5) e lui ti crea 6 posti (da 0 a 5)

Per passare un array come parametro:

Codice:
Option Explicit

Private Sub Form_Load()
  
  Dim ciao(5) As Double
  
  ciao(1) = 1
  ciao(3) = 2
  
  Call ole(ciao)
  
End Sub

Private Sub ole(ByRef bho() As Double)

  MsgBox bho(1)
  MsgBox bho(2)
  MsgBox bho(3)

End Sub
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2004, 14:42   #3
wicasa
Senior Member
 
L'Avatar di wicasa
 
Iscritto dal: Apr 2001
Città: Casarsa (PN) Trieste e Navigo con FireFox! ;o)
Messaggi: 300
grazie mille Matpez...ma nn me lo prende...
forse ho capito dove sbaglio, ma nn capisco come risolvere il probl...
...dunque sono costretto a rompere ulteriormente...


io devo far passare ilmio array come parametro ad una funzione che già esiste...è una chiamata alle Api di un programma x intenderci, la funzione in questione richiede i seguenti parametri:
Codice:
funzione(ByVal uID As Long, ByVal PropNum As Long, 
ByVal PropNum 2 As Long, ByRef Doubles As Double) as integer
dove quel doubles dovrebbe essere...anzi deve essere...un vettore di 6 elementi!!!!

ma quando chiamo la funzione dalla mia sub nel seguente modo....

Codice:
...
dim myarray(6) as double
...
iErr=funzione(Uid,propNum,propNum2,myArray)
mi dà errore "ByRef argument type mismatch."...ho provato con

Codice:
...
dim myarray(6) as double
...
iErr=funzione(Uid,propNum,propNum2,myArray())
e idem con patate!!!

:HELP:Please
__________________
Polcenigo rulez
"Don't laugh if I, an old man, wear flower. The six strings harp is struck, the goblet passes round. Where in man's life there is a moment better than the once before a full wine-bowl."
wicasa è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2004, 15:00   #4
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Bhe dimmi che chiamata API è ?
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2004, 15:08   #5
wicasa
Senior Member
 
L'Avatar di wicasa
 
Iscritto dal: Apr 2001
Città: Casarsa (PN) Trieste e Navigo con FireFox! ;o)
Messaggi: 300
Chiamata alle API di Straus7...programma di calcolo strutturale...

....la chiamata è la seguente:
Codice:
call St7SetBeamSectionGeometry(1, intCount, kCircularHollow, dblSectionGeom)
dove i primi tre parametri sono quelli di cui ti ho detto prima!
...l'ultimo è un array!

GRASSIE

PS: forse ci sono vicino......ora faccio e poi ti aggiorno...grazie ancora per l'aiuto!
__________________
Polcenigo rulez
"Don't laugh if I, an old man, wear flower. The six strings harp is struck, the goblet passes round. Where in man's life there is a moment better than the once before a full wine-bowl."
wicasa è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2004, 15:55   #6
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
e questi sono i risultati del copia-incolla ...

a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2004, 16:04   #7
wicasa
Senior Member
 
L'Avatar di wicasa
 
Iscritto dal: Apr 2001
Città: Casarsa (PN) Trieste e Navigo con FireFox! ;o)
Messaggi: 300
...son qua!....

allora il problema di prima l'ho risolto, misono dannato l'anima per
due giorni quando il problema era a monte, ovvero la casa madre
mi ha fornitole librerie tradotte in VB ma a quanto sembra
avevano sbagliato a passarle...spero almeno!!!
...ora ti riporto il codice del declare della funzione incriminata:

Codice:
Declare Function St7SetBeamSectionGeometry& Lib 
"St7API.DLL" (ByVal uID As Long, ByVal PropNum As Long, 
ByVal SectionType As Long, ByRef Doubles  As Double)
...questo è l'originale...
...iol'ho modificato così...

Codice:
Declare Function St7SetBeamSectionGeometry& Lib 
"St7API.DLL" (ByVal uID As Long, ByVal PropNum As Long, 
ByVal SectionType As Long, ByRef Doubles()  As Double)
...ora l'errore è sparito...ma ora mi chiedo...quel byRef mi dice cosa?...che il parametro è un riferimento ad una variabile
esistente e da definire, quindi in input?...oppure è un parametro
che la funzione mi sputa fuori?

perché questa domanda?...semplice qui il problema
è apparentementerisolto...nn mi dà errori...ma poco
dopo il programma si pianta perchè ha perso dei valori!!!
:MAD: :MAD:

a questo punto mivien da pensare una cosa, visto che ci sono
delle chiamate con radice SET per impostare dei parametri e
delle chiamate GET per avere dei parametri...queste ultime
secondo il mio punto di vista dovrebbero avere in ingresso
solo i parametri necessari al calcolo della funzione...
Es.
Codice:
Declare Function St7GetBeamResult& Lib "St7API.DLL" 
(ByVal uID As Long, ByVal ResultType As Long, ByVal BeamNum As Long, 
ByVal MinStations As Long, ByVal ResultCase As Long,
 ByRef NumStations As Long, ByRef NumColumns As Long, 
ByRef BeamPos() As Double, ByRef BeamRes() As Double)
questa che è quella modificata (mancavano sempre le parentesi degli array) dal manuale se ne deduce che:

uID ,ResultType ,BeamNum ,MinStations ,ResultCase
sono parametri d'input...o almeno dovrebbero essere tali...
mentre gli altri sono valori che la funzione dovrebbe sputare fuori...
__________________
Polcenigo rulez
"Don't laugh if I, an old man, wear flower. The six strings harp is struck, the goblet passes round. Where in man's life there is a moment better than the once before a full wine-bowl."

Ultima modifica di wicasa : 08-07-2004 alle 16:09.
wicasa è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2004, 16:06   #8
wicasa
Senior Member
 
L'Avatar di wicasa
 
Iscritto dal: Apr 2001
Città: Casarsa (PN) Trieste e Navigo con FireFox! ;o)
Messaggi: 300
Quote:
Originariamente inviato da a2000
e questi sono i risultati del copia-incolla ...



no questi sono i risultati di un architetto pazzo...e di qualche amico ingegnere che lo ha aiutato nella sua pazzia...cercando di ca***e fuori dal boccale!

__________________
Polcenigo rulez
"Don't laugh if I, an old man, wear flower. The six strings harp is struck, the goblet passes round. Where in man's life there is a moment better than the once before a full wine-bowl."
wicasa è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2004, 16:31   #9
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
SET e GET si usano per settare le proprietà in una dll

ByRef è una parametro per riferimento, cioè i dati che entrano possono essere modificati nella funzione e quando torna indietro sono cambiati

ByVal invece sono parametri per valori, per cui se entra un valore, esce sempre lo stesso, anche se dentro viene modificato

I vottori non possono essere passati per valori
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2004, 16:37   #10
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
alè!
ma qui siamo alla fiera delle vanità.

Quote:
Originariamente inviato da wicasa


no questi sono i risultati di un architetto pazzo...e di qualche amico ingegnere che lo ha aiutato nella sua pazzia...cercando di ca***e fuori dal boccale!

sarò più esplicito: questi sono i risultati del cAPIa - incolla !
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2004, 16:37   #11
wicasa
Senior Member
 
L'Avatar di wicasa
 
Iscritto dal: Apr 2001
Città: Casarsa (PN) Trieste e Navigo con FireFox! ;o)
Messaggi: 300
OK grassie...ora provo a smanopolare su due parametri e poi vi faccio sapere o pure vi pregherò ancora!!
__________________
Polcenigo rulez
"Don't laugh if I, an old man, wear flower. The six strings harp is struck, the goblet passes round. Where in man's life there is a moment better than the once before a full wine-bowl."
wicasa è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2004, 16:43   #12
wicasa
Senior Member
 
L'Avatar di wicasa
 
Iscritto dal: Apr 2001
Città: Casarsa (PN) Trieste e Navigo con FireFox! ;o)
Messaggi: 300
Quote:
Originariamente inviato da a2000
alè!
ma qui siamo alla fiera delle vanità.



sarò più esplicito: questi sono i risultati del cAPIa - incolla !
OK messaggio ricevuto!!!
...cmq la mia nn era ironia, era lasemplice verità ...

Il mio professore diceva sempre...
"...se nn te ghà il soramanegho xe mejio che te stia a casa!"...
(sperando che si scriva così?!)...
tradotto...se nn si ha l'arte è meglio nn cimentarsi...discutibile ma in questi casi vero!...d'altronde il controllo ultimo è sempre dato dall'esperienza mai dalla macchina! ....OHHHH...sono terminato x oggi!...
ciao e a presto
__________________
Polcenigo rulez
"Don't laugh if I, an old man, wear flower. The six strings harp is struck, the goblet passes round. Where in man's life there is a moment better than the once before a full wine-bowl."
wicasa è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare Cineca inaugura Pitagora, il supercomputer Lenov...
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA Mova Z60 Ultra Roller Complete: pulisce bene gra...
Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
Da Intel ad AMD, il grande salto di Kulk...
Velocità 12 volte superiore a que...
Una piccola Morte Nera è gi&agrav...
Sei frodi che minacciano gli utenti nel ...
BioShock 4: Take-Two rassicura sullo svi...
Tesla, Musk promette FSD 'quasi pronto' ...
BioWare conferma: il nuovo Mass Effect &...
5 robot aspirapolvere di fascia alta in ...
Xiaomi Redmi Note 14 5G a 179€ è ...
Veri affari con gli sconti de 15% Amazon...
Tutti gli iPhone 16 128GB a 699€, 16e a ...
Take-Two ammette: vendite di Borderlands...
Tutti i Macbook Air e Pro con chip M4 ch...
GeForce RTX 50 SUPER: non cancellate, ma...
Warner Bros. riporterà al cinema ...
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: 16:08.


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