Ancora Visual Basic
Mi è sorta una curiosità…
Sapete per caso come si fa, con visual basic, a cambiare le associazioni file e, in caso, ad assegnare un tipo file ad un altro programma?
Non so se mi sono spiegato bene…
Grazie in anticipo
Sapete per caso come si fa, con visual basic, a cambiare le associazioni file e, in caso, ad assegnare un tipo file ad un altro programma?
Non so se mi sono spiegato bene…
Grazie in anticipo

Risposte
"antonio89x":
ad assegnare un tipo file ad un altro programma?
Assegnare in che senso?
Ciao ciao!

Ad esempio io creo un programma per un certo tipo di file e voglio assegnare quel tipo al mio programma, in modo tale che venga aperto da quest'ultimo.
Quale funzione si usa per arrotondare un numero alla seconda cifra decimale??
"antonio89x":
Ad esempio io creo un programma per un certo tipo di file e voglio assegnare quel tipo al mio programma, in modo tale che venga aperto da quest'ultimo.
L'unico modo e apri con..., evidenzi la casella apri sempre con questo programma, lo cerchi e basta. Forse chiedi troppo a VB.
"stellacometa2003":
Quale funzione si usa per arrotondare un numero alla seconda cifra decimale??
Usa format. Ad esempio: number=format(number, "#.##").
"Crook":
L'unico modo e apri con..., evidenzi la casella apri sempre con questo programma, lo cerchi e basta. Forse chiedi troppo a VB.
Quindi pensi che con vb non si possa fare?
premesso che non conosco il visual basic....
credo che quando tu doppioclicchi un file non e' il prog che ti apre il file stesso, ma il SISTEMA OPERATIVO.... cioe' tu da riga potresti digitare (mettiamo per assurdo)
quindi dici a word di aprire il documento1.doc . nel tuo programmino vb penso che tu debba chiamare il prog seguito dal file che vuoi aprire
(quando doppioclikki e' si sistema operativo che ti fa quel comando per te)
ad esempio, quest'associazione di files c'e' solo in win, in mac os alcuni pdf me li apre con acrobat, mentre altri con preview. se poi io vado a specificare nelle opzioni dell'estensione che me li deve aprire con una certa applicazione, lo fa...
credo che quando tu doppioclicchi un file non e' il prog che ti apre il file stesso, ma il SISTEMA OPERATIVO.... cioe' tu da riga potresti digitare (mettiamo per assurdo)
admin@macchina c\programmi\blablabla\word.exe documento1.doc
quindi dici a word di aprire il documento1.doc . nel tuo programmino vb penso che tu debba chiamare il prog seguito dal file che vuoi aprire
(quando doppioclikki e' si sistema operativo che ti fa quel comando per te)
ad esempio, quest'associazione di files c'e' solo in win, in mac os alcuni pdf me li apre con acrobat, mentre altri con preview. se poi io vado a specificare nelle opzioni dell'estensione che me li deve aprire con una certa applicazione, lo fa...
"Crook":
Usa format. Ad esempio: number=format(number, "#.##").
Grazie mille..

Sapete come si usa una FlexGrid in Vb per inserire i valori di una matrice o come si carica? Io prorpio non riesco..anche se metto il codice mi viene sbagliato..e poi vorrei visualizzare delle scritte nelle prime colonne e righe ma non riesco proprio...sapete qualcosa in merito?
Allora, ti dico quello che mi ricordo sulle caratteristiche più significative di FlexGrid:
Dim k as MSFlexGrid (dichiarazione)
k.rows = 3 (imposti il numero di righe)
k.cols = 4 (imposti il numero di colonne)
k.row = 2 (metti il "puntatore" sulla riga numero 2)
k.col = 3 (metti il "puntatore" sulla colonna numero 3)
k.text = 3 (scrivi il valore 3 nello spazio della matrice individuato dal puntatore; nel nostro caso viene scritto 3 in seconda riga, terza colonna)
Altro non mi ricordo...
Ciao
Enea
Dim k as MSFlexGrid (dichiarazione)
k.rows = 3 (imposti il numero di righe)
k.cols = 4 (imposti il numero di colonne)
k.row = 2 (metti il "puntatore" sulla riga numero 2)
k.col = 3 (metti il "puntatore" sulla colonna numero 3)
k.text = 3 (scrivi il valore 3 nello spazio della matrice individuato dal puntatore; nel nostro caso viene scritto 3 in seconda riga, terza colonna)
Altro non mi ricordo...
Ciao
Enea
"superpunk733":
premesso che non conosco il visual basic....
credo che quando tu doppioclicchi un file non e' il prog che ti apre il file stesso, ma il SISTEMA OPERATIVO.... cioe' tu da riga potresti digitare (mettiamo per assurdo)
admin@macchina c\programmi\blablabla\word.exe documento1.doc
quindi dici a word di aprire il documento1.doc . nel tuo programmino vb penso che tu debba chiamare il prog seguito dal file che vuoi aprire
(quando doppioclikki e' si sistema operativo che ti fa quel comando per te)
ad esempio, quest'associazione di files c'e' solo in win, in mac os alcuni pdf me li apre con acrobat, mentre altri con preview. se poi io vado a specificare nelle opzioni dell'estensione che me li deve aprire con una certa applicazione, lo fa...
Non ti seguo bene, ma non penso sia quello a cui mi riferivo io...

Volevo sapere, inoltre, se è possibile aggiungere operazioni ai tipi file sempre con vb.
Con operazioni intendo (ad esempio) "Apri", "Mostra", "Autoplay", ecc.
Con operazioni intendo (ad esempio) "Apri", "Mostra", "Autoplay", ecc.
@ stella
Se ho capito cosa vuoi ottenere, ti ricordo che non è possibile immettere direttamente dati in un flexgrid, nè editarli; bisogna fornire l'input, ad esempio con InputBox, e poi trasportarlo nel FlexGrid. Vedi se ti può essere utile questo abbozzo di programma, che immette dati in un FlexGrid, li copia in una matrice, e riporta in un secondo FlexGrid il contenuto, eventualmente elaborato, della matrice.
E' anche presente una intestazione nei FlexGrid.
Ciao.
Se ho capito cosa vuoi ottenere, ti ricordo che non è possibile immettere direttamente dati in un flexgrid, nè editarli; bisogna fornire l'input, ad esempio con InputBox, e poi trasportarlo nel FlexGrid. Vedi se ti può essere utile questo abbozzo di programma, che immette dati in un FlexGrid, li copia in una matrice, e riporta in un secondo FlexGrid il contenuto, eventualmente elaborato, della matrice.
Const r = 50 Const c = 100 Option Base 1 Dim m, n, i, j As Integer Dim A(r, c) As Integer Private Sub form_load() MSFlexGrid1.Rows = r + 1 MSFlexGrid1.Cols = c + 1 MSFlexGrid2.Rows = r + 1 MSFlexGrid2.Cols = c + 1 For i = 1 To r For j = 1 To c MSFlexGrid1.TextMatrix(i, j) = "" Next Next End Sub Private Sub command1_click() 'immette dati nel 1° FlexGrid e li trasporta nella matrice A m = Val(InputBox("n.righe")) n = Val(InputBox("n.colonne")) MSFlexGrid1.Rows = m + 1 MSFlexGrid1.Cols = n + 1 For i = 1 To m For j = 1 To n MSFlexGrid1.TextMatrix(i, j) = InputBox("immetti A(" + Str(i) + "," + Str(j) + ")") A(i, j) = Val(MSFlexGrid1.TextMatrix(i, j)) Next Next MSFlexGrid1.TextMatrix(0, 0) = "matr. input" End Sub Private Sub command2_click() 'porta nel 2° FlexGrid il contenuto della matrice A For i = 1 To m For j = 1 To n MSFlexGrid2.TextMatrix(i, j) = Str(A(i, j)) Next Next MSFlexGrid2.TextMatrix(0, 0) = "matr. output" End Sub
E' anche presente una intestazione nei FlexGrid.
Ciao.

Grazie Lorven...senti, io nel mio caso vorrei fare la prima colonna con tutti i nomi delle materie, vorrei acquisire tali nomi dagli inputbox e poi trascriverli nella colonna, e poi altre tre colonne in cui voglio andare a scrivere per ogni materia i voti scritto, orale e pratico...tu che mi suggerisci di fare??
"Enea":
Allora, ti dico quello che mi ricordo sulle caratteristiche più significative di FlexGrid:
Dim k as MSFlexGrid (dichiarazione)
k.rows = 3 (imposti il numero di righe)
k.cols = 4 (imposti il numero di colonne)
k.row = 2 (metti il "puntatore" sulla riga numero 2)
k.col = 3 (metti il "puntatore" sulla colonna numero 3)
k.text = 3 (scrivi il valore 3 nello spazio della matrice individuato dal puntatore; nel nostro caso viene scritto 3 in seconda riga, terza colonna)
Altro non mi ricordo...
Ciao
Enea
GRAZIE mi serviva anche questo!!!

Per immettere nella colonna 0 le materie e nelle colonne 1,2 e 3 i voti:
un ciclo, con I che varia secondo l'indice della materia, in cui si effettui qualcosa del genere:
MSFlexGrid2.TextMatrix(I, 0) = InputBox('Materia:')
MSFlexGrid2.TextMatrix(I, 1) = InputBox('Voto Scritto:')
MSFlexGrid2.TextMatrix(I, 2) = InputBox('Voto Orale:')
MSFlexGrid2.TextMatrix(I, 3) = InputBox('Voto Pratica:')
Completalo tu...
(si faceva prima a scrivere il programmino)
un ciclo, con I che varia secondo l'indice della materia, in cui si effettui qualcosa del genere:
MSFlexGrid2.TextMatrix(I, 0) = InputBox('Materia:')
MSFlexGrid2.TextMatrix(I, 1) = InputBox('Voto Scritto:')
MSFlexGrid2.TextMatrix(I, 2) = InputBox('Voto Orale:')
MSFlexGrid2.TextMatrix(I, 3) = InputBox('Voto Pratica:')
Completalo tu...

(si faceva prima a scrivere il programmino)

Ecco...ora sorge il mio dubbio..se tengo fermo l'indice I con cui indico le materie e incremento solo J che voglio arrivi fino a 3 per indicare i voti come faccio ad incrementare visto che la domanda cambia di volta in volta ??
Es.
For I=0 to numeromaterie
'chiedo nome materia
for J=1 to 3
'chiedo voto orale
'ora dovrei incrementare j
'chiedo voto scritto
'incremento
...
....
Non penso sia così...
Qui mi perdo!!
Es.
For I=0 to numeromaterie
'chiedo nome materia
for J=1 to 3
'chiedo voto orale
'ora dovrei incrementare j
'chiedo voto scritto
'incremento
...
....
Non penso sia così...
Qui mi perdo!!
Mi intrometto! Se devi incrementare in alcune parti specifiche, ti conviene utilizzare un while che testa un contatore!
"leonardo":
.. un while che testa un contatore!
Una struttura while quindi

Ti suggerisco di usare un solo ciclo su I (le materie) e procedere con le 4 assegnazioni che ti ho già postato...

Quindi farei:
For I=0 to numero materie
MSFlexGrid2.TextMatrix(I, 1) = InputBox('Voto Scritto:')
MSFlexGrid2.TextMatrix(I, 2) = InputBox('Voto Orale:')
MSFlexGrid2.TextMatrix(I, 3) = InputBox('Voto Pratica:')
Next I
così?
For I=0 to numero materie
MSFlexGrid2.TextMatrix(I, 1) = InputBox('Voto Scritto:')
MSFlexGrid2.TextMatrix(I, 2) = InputBox('Voto Orale:')
MSFlexGrid2.TextMatrix(I, 3) = InputBox('Voto Pratica:')
Next I
così?