PDA

View Full Version : Visual Basic


leadergl
13-11-2003, 15:34
Ragazzi ieri per la prima volta mi sono cimentato nel Visual Basic, è carino e non sembra eccessivamente complicato!
Ho cerato il mio primo programma in VB e serve per calcolare il BitRate Video da assegnare quando si comprime un video in DivX........beh ci sono riuscito, oggi però volevo megliorarlo, ma mi serve una mano!
Quindi anvrei alcune cose da chiadervi:

1 - Come si fà a fare in modo che un pulsante chiuda tutto il programma??

2 - Come si fa ad assegnare un nome ad un MGSBOX ???


3 - Sapreste dirmi dove trovare una buona giuida al VB6 ??


...beh poi se avrò altri problemi non esiterò...grazie mille....ah vi prego rispondete in fretta......vorrei porre fine oggi a sto programmino...

leadergl
13-11-2003, 16:54
help....:p

bsummer
13-11-2003, 19:05
Ciao...

1) aggiungi un pulsante al form, ci clicchi sopra, si apre l'editor proprio sull'evento click del pulsante. Mettici l'istruzione "end".

2) MsgBox("quello che vuoi scrivere","titolo")

3) La msdn library, per il vb di + non serve.

Aloha!

leadergl
13-11-2003, 20:29
il problema è ke nn ho la msdn library......e non la posso installare.....non sai dove posso trovare un bel manuale??

E per il pulsante CHIUDI invece??

leadergl
13-11-2003, 20:36
-------------------------------------------------------------
Quoto:

2) MsgBox("quello che vuoi scrivere","titolo")

-------------------------------------------------------------

non funziona, mi da

COMPILE ERROR:
Expected: =

che significa??

matpez
13-11-2003, 21:06
Originariamente inviato da leadergl
-------------------------------------------------------------
Quoto:

2) MsgBox("quello che vuoi scrivere","titolo")

-------------------------------------------------------------

non funziona, mi da

COMPILE ERROR:
Expected: =

che significa??
Se vuoi mettere le parentesi tonde allora la funzione la devi chiamare con CALL MSGBOX, altrimenti batsta che le levi!! :p

leadergl
14-11-2003, 06:20
grazie ora funzione meglio!
Con le parentesi invece andava ma nn riuscivo a dare un titolo alla finestra d'errore!


mentre sapresti dirmi cm fare in modo che il pulsante ESCI metta termine al programma chiudendolo??

matpez
14-11-2003, 13:46
Originariamente inviato da leadergl
grazie ora funzione meglio!
Con le parentesi invece andava ma nn riuscivo a dare un titolo alla finestra d'errore!


mentre sapresti dirmi cm fare in modo che il pulsante ESCI metta termine al programma chiudendolo??

Se metti solo il testo va bene anche con le parentesi senza il CALL, invece se metti altri parametri devi mettere il CALL

--------------

mi spiace smentire bsummer, ma come ti ha detto lui nn è il metodo + corretto, bensì il metodo che si trova prima quando si programma in VB...in modalità "disegno" della form fai un doppio click sul pulsante con etichetta "ESCI" (o quello che ti inrteressa a te) e scrivi li dentro la parola UNLOAD ME !! :p

bsummer ha utilizzato la parola END, che nn è prettamente corretta in quento chiudo in maniera brutale il tuo programma! Se tu avessi qlc classe istanziata allora te la prendi nel c.... perchè non passa dalla procedura Form_Unload (dove di solito si settano le classi a nothing)....
cmq in fin dei conti basta che metti UNLOAD ME nell'evento click del tuo pulsante ed il gioco è fatto! :)

bsummer
14-11-2003, 13:51
Private Sub esci_Click()
End
End Sub


oppure nel caso il form attivo sia uno solo


Private Sub esci_Click()
unload Me
End Sub


Il comando "end" è molto sbrigativo: interrompe il codice, chiude tutti i file aperti, libera la memoria, ma non richiama gli eventi
Unload, QueryUnload o Terminate o altro codice Visual Basic, quindi il codice eventualmente inserito in questi eventi non viene eseguito.

Aloha!

bsummer
14-11-2003, 13:53
mi spiace smentire bsummer,


Mi hai preceduto di un soffio :D

leadergl
14-11-2003, 14:08
Grazie mille ragazzi, mi avete aiutato mooolto!!!

......magari nn è k avete anke un bel manuale che imparerò perfettamente?? mi sta piacendo sto visual basic!!!

E se riesco ad impararlo come si devo tra qualche mese passo a visual c++

matpez
14-11-2003, 14:09
Originariamente inviato da bsummer
Mi hai preceduto di un soffio :D

Eggià :p :) :p

Si cmq l'END nn va mai usato, è troppo brutale... :(

matpez
14-11-2003, 14:11
Originariamente inviato da leadergl
Grazie mille ragazzi, mi avete aiutato mooolto!!!

......magari nn è k avete anke un bel manuale che imparerò perfettamente?? mi sta piacendo sto visual basic!!!

E se riesco ad impararlo come si devo tra qualche mese passo a visual c++

Ora io nn vorrei alzare un polverone, ma VB è talmente vasto che imparalo bene (se nn l'hai mai visto prima) nn basta un paio di mesi!! Quando riesci a fare una cosa poi capisci che c'era un altro modo + facile per farla :P :P

Cmq a me piacciono i manuali cartacei...se vuoi gli e-book io nn posso aiutarti! :rolleyes:

bsummer
14-11-2003, 14:14
Originariamente inviato da leadergl
Grazie mille ragazzi, mi avete aiutato mooolto!!!

......magari nn è k avete anke un bel manuale che imparerò perfettamente??

Prego ;)

Prova qui: http://www.vbitalia.it/

Aloha!

leadergl
14-11-2003, 14:31
Beh raga lo so...imparare un linguaggio di programmazione...beh...diciamo che non si finisce mai di imparare!!!

Ci sono tantissime cose.....e ce ne sono tante altre non scritte, e che probabilmente non mi troverò mai ad usare e questo è un forte limite all'apprendimento!!

Però per ora mi piace e mi sto impegnando.....
Grazie per il link bsummer.....sapresti anche consigliarli quello che secondo te è IL MIGLIOR manuale cartaceo di VB 6 ??

thanks....

leadergl
14-11-2003, 14:50
OK PASSIAMO AL COMPLICATO.....non sono ancora all'altezza ma con un po di aiuto......beh si può fare tutto!!

Vorrei realizzare un programma stile il comando NET SEND di windows.....però con interfaccia grafica OVVIAMENTE.....solo che non so da cosa partire....

Avrei una mezza idea...ovvero di implementare proprio il NET SEND.....attraverso il comando shell di VB!!!

Si può fare?? L'unica cosa è....come faccio a far capire al mio programma che poi il messaggio di ricevuta lo deve aprire lui e non il NET SEND di windows??

Avviamente il programma dovrebbe funzionare tramite LAN...senza internet e cazzi vari...troppo complicato ed inutile.......vi va di aiutarmi??

-----------------------------
Ah ho un problema col mio programma di prima....quando lo eseguo su un'altro computer mi da errore che non trova una DLL......why??

leadergl
14-11-2003, 15:19
....ok fatto....ma come faccio a fargli intercettare i msg che si ricevono??

perchè inviandoli tramite un comando di shell presente in tutti i windows quando poi il messaggio viene recapitato è windows ad avvisare.....ed ovviamente non compare nel mio programma....uffi......come si fa?

matpez
14-11-2003, 16:54
Originariamente inviato da leadergl
Beh raga lo so...imparare un linguaggio di programmazione...beh...diciamo che non si finisce mai di imparare!!!

Ci sono tantissime cose.....e ce ne sono tante altre non scritte, e che probabilmente non mi troverò mai ad usare e questo è un forte limite all'apprendimento!!

Però per ora mi piace e mi sto impegnando.....
Grazie per il link bsummer.....sapresti anche consigliarli quello che secondo te è IL MIGLIOR manuale cartaceo di VB 6 ??

thanks....

Per esempi vari guarda anche http://www.visual-basic.it

Per il manuale io mi sono trovato bene con "Programmare Visual Basic 6.0" della Microsoft Press (unica pecca che costa 150.000 £) ora nn so quanto cosi in euro!

matpez
14-11-2003, 19:54
Originariamente inviato da leadergl
OK PASSIAMO AL COMPLICATO.....non sono ancora all'altezza ma con un po di aiuto......beh si può fare tutto!!

Vorrei realizzare un programma stile il comando NET SEND di windows.....però con interfaccia grafica OVVIAMENTE.....solo che non so da cosa partire....

Avrei una mezza idea...ovvero di implementare proprio il NET SEND.....attraverso il comando shell di VB!!!

Si può fare?? L'unica cosa è....come faccio a far capire al mio programma che poi il messaggio di ricevuta lo deve aprire lui e non il NET SEND di windows??

Avviamente il programma dovrebbe funzionare tramite LAN...senza internet e cazzi vari...troppo complicato ed inutile.......vi va di aiutarmi??

-----------------------------
Ah ho un problema col mio programma di prima....quando lo eseguo su un'altro computer mi da errore che non trova una DLL......why??

Secondo me ti conviene fare tu un applicazione Client-Server!

Ti posto alcuni esempi che conservo per queste occasioni!
:p

Se hai dubbi o qlc chiedi pure :rolleyes:

leadergl
14-11-2003, 21:10
ho letto il codice........in linea di massima ho capito, è solo k mi son fissato che vorrei farlo col NET SEND.....anche perchè è più semplice!

Ho fatto quasi tutto, devo "solo" intercettare la finestra del NET SEND, impedire che si apra, copiarmi il testo contenuto e mostrarlo in una finestra del mio programma VB!!!

Come si fa?!?!

matpez
14-11-2003, 21:36
Originariamente inviato da leadergl
ho letto il codice........in linea di massima ho capito, è solo k mi son fissato che vorrei farlo col NET SEND.....anche perchè è più semplice!

Ho fatto quasi tutto, devo "solo" intercettare la finestra del NET SEND, impedire che si apra, copiarmi il testo contenuto e mostrarlo in una finestra del mio programma VB!!!

Come si fa?!?!

Sincermente nn so, dovresti fare un hoock di sistema o al massimo uno spoofer sulla porta di trasmissione!! Sempre che windows nn ti rompa il caxxo!

Secondo me nn è una soluzione ottimale la tua...quello che richiedi di fare è veramente una cosa da programmazione avanzata di VB6, io la utilizzo ma mi manca anzora qlc cosia per completare la preparazione completa di VB6!
Questa è una di quelle :rolleyes:

leadergl
14-11-2003, 21:38
...oh cavolo...l'ho buttata proprio sul difficile..............è k non mi piace abbandonare.....credo che mi comprerò un bel manuale cartaceo di VB ed imparerò l'impossibile......

grazie ancora e se hai novità a riguardo...beh io sono lieto di apprendere!! ciao

matpez
14-11-2003, 21:45
Originariamente inviato da leadergl
...oh cavolo...l'ho buttata proprio sul difficile..............è k non mi piace abbandonare.....credo che mi comprerò un bel manuale cartaceo di VB ed imparerò l'impossibile......

grazie ancora e se hai novità a riguardo...beh io sono lieto di apprendere!! ciao

Impara impara ma queste cose nn le trovi nei manuali normali!

Devi prenderti un manuale che sfrutta la tecniche avanzate di programmazione VB + API :)

leadergl
14-11-2003, 22:14
come si fa a far comparire l'icona del proprio programma nella system tray????

vorrei eliminarla dalla taskbar e lasciarla solo nella system tray....come si fa?

matpez
14-11-2003, 22:43
Da quello che ho capito nn conosci bene VB...e già richiedi progrommazione avanzata :(

Cmq eccoti accontentato!!

leadergl
15-11-2003, 07:03
hai capito bene, l'ho visto per la prima volta l'altro ieri!!!
Ma mi piace abbastanza.....e poi sono mooolto curioso quando voglio fare qualcosa....quindi mi vengono un sacco di sfizi e siccome non lo conosco per niente un po lo imparo da me provando e riprovando......ma tante altre cose le chiederò a voi ed ai manuali

grazie mille

leadergl
15-11-2003, 07:06
senti sapresti dirmi perchè il mio programma VB compilato, sul mio computer gira un amore e dal mio amico mi chiede una DLL?
per l'esattezza mssdfmt.dll ...........perchè???
posso fare in modo che non serva possedere qsta dll?? o cmq posso implementarla in un unico pacchetto col mio programma??

ah va anche registrata in windows...help

bsummer
15-11-2003, 10:18
La cosa più semplice sarebbe stata lanciare il net send con una ridirezione dell'output, magari su file dal quale poi avresti letto comodamente le informazioni.
Purtroppo sembra che la ridirezione non funzioni col comando net (o forse sono io a non esserne capace)

Per quanto riguarda la questione della libreria...è probabile che il tuo programma utilizzi delle librerie che non sono installate nell'altro pc, ma che ovviamente lo sono nel tuo in quanto hai installato vb.

Puoi ovviare a questo problema utilizzando il tool che Vb fornisce per la creazione di pacchetti di installazione, oppure scaricando a parte le vb6runtime ed installandole nell'altro pc.

Aloha!

leadergl
15-11-2003, 10:52
per la libreria credo di aver risolto.....ho semplicemente riscritto da capo ma in maniera uguale il programma ed ora non la usa più!!
Forse prima la usava perchè mi son messo un po a cazzeggiare col VB per provare un po di funzioni che ha...e magari per una di queste serviva la libreria che lui poi voleva...!!
Adesso ho comtrollato in Referements.... e non è più spuntata!!
quindi credo sia ok!! poi proverò!!

Per il file...credo sia un po complicato se net non lo fa....cmq studierò e ci riuscirò.....

matpez
15-11-2003, 12:51
Originariamente inviato da leadergl
per la libreria credo di aver risolto.....ho semplicemente riscritto da capo ma in maniera uguale il programma ed ora non la usa più!!
Forse prima la usava perchè mi son messo un po a cazzeggiare col VB per provare un po di funzioni che ha...e magari per una di queste serviva la libreria che lui poi voleva...!!
Adesso ho comtrollato in Referements.... e non è più spuntata!!
quindi credo sia ok!! poi proverò!!

Per il file...credo sia un po complicato se net non lo fa....cmq studierò e ci riuscirò.....

Si esatto, se hai pacioccato ti va a salvare nel file .vbp che hai utilizzato la dll o un ocx! Per controllare a mano basta che apri con il notepad il file .vbp e vedi tutte le referenze nn che le proprietà :p