PDA

View Full Version : GUI in Visual Basic e C++ file


MisterW2
15-04-2002, 15:14
Salve a tutti,
ho dei programmini in C++, vorrei farne una piccola GUI. Siccome la VC++ è decisamente più complicata, per motivi anche di tempo volevo realizzarli con Visual Basic.
Ora anche in altri thread ho sentito parlare della facilità di visual basic... ora mi chiedo a priori prima di addentrarmi nel VB:

1)E' facilmente implementabile il programma scritto in c++ con il VB?

2)Un'altra strada sarebbe (se possibile) di far eseguire alla GUI scritta in VB un file.exe (realizzata dal VC++) con questo usage:
file parametro1 paramtro2 parametro3 ecc...
con i parametri inseribili nella GUI.
QUesta strada è forse la più veloce?
Grazie mille

cavay
15-04-2002, 17:57
sicuramente la strada + facile è quella di costruire l'interfaccia grafica con vb e lanciare gli eseguibili scritti in c++. Se poi sei bravo con il c++ puoi fare una cosa molto + elegante...ti racchiudi quello che ti serve in una dll scritta in c++ e te la richiami in vb

MisterW2
15-04-2002, 19:14
Grazie per la risposta, scaricherò qualche manuale e cercherò di inventare qualcosa.
Sai perchè installando Visual Basic 6 nello stesso pc dove risiede Visual c++6 mi dice priam dell'installazione che ci saranno conflitti tra i due e visual c++ non potrebbe più funzionare?
Sai se c'è un modo di farli convivere senza che si piglino a manate?
Grazie ancora.

////////////ERRATA CORRIGE//////// ;)
Solo ora mi sono accorto che VB 6 contiene anche VC++ al suo interno...

alexmaz
15-04-2002, 20:17
Originariamente inviato da MisterW2
[B]

////////////ERRATA CORRIGE//////// ;)
Solo ora mi sono accorto che VB 6 contiene anche VC++ al suo interno...


:eek: :eek: :D

Probabilmente hai installato Visual Studio 6 che ha tutto...

cavay
16-04-2002, 15:37
Originariamente inviato da MisterW2
[B]Grazie per la risposta, scaricherò qualche manuale e cercherò di inventare qualcosa.
Sai perchè installando Visual Basic 6 nello stesso pc dove risiede Visual c++6 mi dice priam dell'installazione che ci saranno conflitti tra i due e visual c++ non potrebbe più funzionare?
Sai se c'è un modo di farli convivere senza che si piglino a manate?
Grazie ancora.

////////////ERRATA CORRIGE//////// ;)
Solo ora mi sono accorto che VB 6 contiene anche VC++ al suo interno...

se hai installato tutto visual studio e nn solo visual basic e....la macchina su cui stai lavorando aveva gia install vc++...è normale che ti avverta che installando due volte vc++ ...potrebbero darsi a capate!!!
La cosa che ti consiglio...disinstalla tutto e dal cd del vstudio...installi vb e vc++.
Ci@oO!

MisterW2
16-04-2002, 16:27
Salve a tutti,
ancora un piccolo aiutino che per gli esperti sarà sicuramente una cosa banale... ma non per me alle prime armi.
Ho creato un piccolo form, contenente un bottone apri (command1) un textbox (text1), ed un altro bottone avvia (command4).
Il mio scopo è quello premendo il tasto apri di caricare una path da disco nel textbox, dopodichè premendo avvia parta un file.exe prendendo il parametro del textbox.
Insomma deve fare x esempio:
1) apri.... c:\windoz
2) avvia... file.exe c:\windoz

2)Ho provato a risolvere questo secondo punto (passaggio per esempio del file calc.exe), ma mi dà errore Run time error 424 Object required.. (ho copiato il file calc.exe da system32 nella path del progetto, ma anche dandogli diversa path stesso risultato)

Private Sub Command4_Click()
Tools.Shell "CALC.EXE"
End Sub

dove sbaglio?

cavay
16-04-2002, 19:23
Supponendo il fatto che hai nella casellla di testo txtPath il percorso del tipo C:\WINDOWS\Calc.exe ... al comando click del bottone apri devi mettere questa linea di codice

Shell txtPath.Text, vbNormalFocus

cmq...ti ho fatto un esempino,Gu@rdaloO!

cavay
16-04-2002, 19:31
se poi vuoi far riferimento alla stessa dir dell'applicazione(la tua) devi copiarti il file exe nella dir e utilizzare Path.app!!

es. Shell Path.app & "\" & nomef.exe, vbNormalFocus

nn ho provato sta cosa...quindi è possib che mi sia dimenticato qualcosa(parlo di sintassi e/o semmantica) ...cmq in linea di principio la cosa è cosi..............eventualmente famm sape'!

Ci@o0O!! (mailto:cavay@libero.it)

MisterW2
16-04-2002, 23:53
Che dirti.. sei stato gentilissimo... ma avendo ancora qualche piccolo problema... oramai hai fatto 30, puoi fare 31!! ;)
Il tuo programma (ovviamente..) funziona, dovrei modificarlo però per la mia esigenza:

1)
With Browse
.DialogTitle = "Scegliere L'applicazione"
.Filter = "Applicazione(*.exe)|*.exe"
.FilterIndex = 0
.Flags = &H4
.FileName = ""
.ShowOpen
End With
If Browse.FileName <> "" Then
path1 = Browse.FileName
End If
Questo giustamente mette nel campo path1 il nome del file exe che ho scelto, il mio scopo era invece metterci una path, non un file.

2) Non riuscendo nel punto 1) ho provato cmq a fare un 'passaggio di parametri' del tipo:

Shell path1.Text & "prova.txt", vbNormalFocus

dove in path1.Text avevo scelto il notepad, mi dà errore.

Grazie mille, fossero tutti disponibili come te!

PS MI CORREGGO: Il punto 2) funzziona perfettamente, sono io rincoglionito a non aver dato lo spazio, cioè dovevo mettere " prova.txt".
Il punto 1) ho provato a risolverlo con app.path, ma mi segnala la path dove risiede il project in VB non quello del file che ho aperto!! Come mai?

cavay
17-04-2002, 12:32
Questo giustamente mette nel campo path1 il nome del file exe che ho scelto, il mio scopo era invece metterci una path, non un file.

puoi usare il controllo dirlistbox per selezionare la dir ..quindi il path e poi te la copi nella txtBox....oppure aspetta che entro dom ti faccio l'es.


2) Non riuscendo nel punto 1) ho provato cmq a fare un 'passaggio di parametri' del tipo:

Shell path1.Text & "prova.txt", vbNormalFocus

dove in path1.Text avevo scelto il notepad, mi dà errore.


è ovvio che ti da errore...è come se gli avessi scritto:

Shell c:\windows\notepadprova.txt, vbNormalFocus



Il punto 1) ho provato a risolverlo con app.path, ma mi segnala la path dove risiede il project in VB non quello del file che ho aperto!! Come mai?

Forse sono stato io poco chiaro ma...è proprio quello che deve fare...fà riferimento al path dove risiede l'eseguibile dell'applicazione(il tuo progetto)

cavay
17-04-2002, 12:40
ecco l'es.....fammi sapere

MisterW2
17-04-2002, 16:00
grazie, adattandola al mio scopo ho sistemato tutto.
Grazie ancora per la disponibilità!