Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Scrivere su Console
Forum - Visual Basic 6 - Scrivere su Console

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Overflow (Normal User)
Expert


Messaggi: 334
Iscritto: 11/01/2008

Segnala al moderatore
Postato alle 20:27
Giovedì, 08/05/2008
Voglio creare in Visual Basic un programma senza interfaccia grafica, che funzioni sotto Dos. Un semplice programma che mi stampi su schermo la scritta Hello World! Sapete come si fa?? So solo che si crea una sub main() in un modulo ma non so come stampare una scritta su console. Ad esempio per chi conosce il C/C++ si può usare la printf(), in Visual Basic come si fa??
Grazie!

PM Quote
Avatar
kryc (Normal User)
Rookie


Messaggi: 23
Iscritto: 10/12/2007

Segnala al moderatore
Postato alle 21:11
Giovedì, 08/05/2008
in vb.net

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 22:10
Giovedì, 08/05/2008
qui http://www.marcopipino.it/visualbasic/
avevo trovato un prog che fa le operazioni del cmd di windows

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 23:00
Giovedì, 08/05/2008
il vb6 non e` il linguaggio adatto per questo tipo di programmi.

PM Quote
Avatar
Overflow (Normal User)
Expert


Messaggi: 334
Iscritto: 11/01/2008

Segnala al moderatore
Postato alle 10:12
Venerdì, 09/05/2008
Testo quotato

Postato originariamente da kryc:

in vb.net



se ho postato qui vuol dire che sto parlando di Visual Basic 6.0, altrimenti avrei postato il problema nella sezione .Net.

Testo quotato

Postato originariamente da P4p3r0g4:

il vb6 non e` il linguaggio adatto per questo tipo di programmi.



adatto che vuol dire che non si può fare... o che si può fare ma è complesso da sviluppare???

Ultima modifica effettuata da Overflow il 09/05/2008 alle 10:13
PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 14:04
Venerdì, 09/05/2008
In VB6 e' possibile ma dovrai utilizzare un bel po' di API ed e' un po' complesso.

Prima di iniziare a farlo, mi piacerebbe capire come mai vuoi fare una cosa del genere per forza in VB6 ...

PM Quote
Avatar
Overflow (Normal User)
Expert


Messaggi: 334
Iscritto: 11/01/2008

Segnala al moderatore
Postato alle 16:05
Venerdì, 09/05/2008

Testo quotato


Postato originariamente da gantonio:
In VB6 e' possibile ma dovrai utilizzare un bel po' di API ed e' un po' complesso.


va bene...

Testo quotato


Prima di iniziare a farlo, mi piacerebbe capire come mai vuoi fare una cosa del genere per forza in VB6 ...


no non c'è un motivo.. è solo pura curiosità.
Non ho mai visto un applicazione in Visual Basic che giri sotto Dos, e visto che non la so realizzare volevo capire come fare... Pura e semplice curiosità!

Ultima modifica effettuata da Overflow il 09/05/2008 alle 16:08
PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 16:29
Venerdì, 09/05/2008
Ovviamente non sara' un'applicazione DOS ma una applicazione che utilizza le Console di Win32.

Un esempio, liberamente modificato da un codice di esempio, e' il seguente (utilizza un solo modulo e fai partire il programma dalla main ...)

Codice sorgente - presumibilmente VB.NET

  1. Private Const STD_OUTPUT_HANDLE = -11&
  2. Private Const STD_INPUT_HANDLE = -10&
  3. Private Const STD_ERROR_HANDLE = -12&
  4.  
  5. Private Declare Function AllocConsole Lib "kernel32" () As Long
  6. Private Declare Function FreeConsole Lib "kernel32" () As Long
  7. Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  8. Private Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long
  9. Private Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" (ByVal hConsoleOutput As Long, lpBuffer As Any, ByVal nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, lpReserved As Any) As Long
  10. Private Declare Function ReadConsole Lib "kernel32" Alias "ReadConsoleA" (ByVal hConsoleInput As Long, ByVal lpBuffer As String, ByVal nNumberOfCharsToRead As Long, lpNumberOfCharsRead As Long, lpReserved As Any) As Long
  11. Private Declare Function SetConsoleTitle Lib "kernel32" Alias "SetConsoleTitleA" (ByVal lpConsoleTitle As String) As Long
  12.  
  13. Private hConsoleOut As Long
  14. Private hConsoleIn As Long
  15.  
  16. Private Sub Main()
  17.     Dim r As String
  18.    
  19.     AllocConsole
  20.  
  21.     hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE)
  22.     hConsoleIn = GetStdHandle(STD_INPUT_HANDLE)
  23.  
  24.     SetConsoleTitle "Prova console"
  25.  
  26.     ConsoleWriteLine "Ciao a tutti ..."
  27.  
  28.     r = ConsoleReadLine
  29.    
  30.     CloseHandle hConsoleOut
  31.     CloseHandle hConsoleIn
  32.     FreeConsole
  33. End Sub
  34.  
  35. Sub ConsoleWriteLine(sInput As String)
  36.     ConsoleWrite sInput + vbCrLf
  37. End Sub
  38.  
  39. Sub ConsoleWrite(sInput As String)
  40.     Dim cWritten As Long
  41.     WriteConsole hConsoleOut, ByVal sInput, Len(sInput), cWritten, ByVal 0&
  42. End Sub
  43.  
  44. Function ConsoleReadLine() As String
  45.     Dim ZeroPos As Long
  46.     ConsoleReadLine = String(10, 0)
  47.     ReadConsole hConsoleIn, ConsoleReadLine, Len(ConsoleReadLine), vbNull, vbNull
  48.     ZeroPos = InStr(ConsoleReadLine, Chr$(0))
  49.     If ZeroPos > 0 Then ConsoleReadLine = Left$(ConsoleReadLine, ZeroPos - 3)
  50. End Function


PM Quote
Avatar
kryc (Normal User)
Rookie


Messaggi: 23
Iscritto: 10/12/2007

Segnala al moderatore
Postato alle 18:44
Venerdì, 09/05/2008
ho scritto vb.net perchè su vb.net puoi scegliere di aprire un progetto in console application senza scrivere un codice complesso come lo sarebbe per vb6

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo