Autore Topic: APPLICAZIONE ARIGA DI COMANDO (IN CONSOLE)  (Letto 1807 volte)

Offline plasteroid

  • Gamberetto
  • *
  • Post: 7
    • Mostra profilo
Re: APPLICAZIONE A RIGA DI COMANDO (IN CONSOLE)
« Risposta #15 il: 08 Maggio 2014, 19:40:34 »
hai qualche altra idea su come posizionare il cursore del mouse in una qualunque posizione dello schermo, e se non è troppo difficile anche quello del mouse.

A mio avviso si tratta di utilizzare risorse "al di là" di Gambas considerato in senso stretto.

Ad ogni modo, sono per ora riuscito a fare solo questo (è necessario espandere a schermo intero la finestra del terminale):
Codice: gambas [Seleziona]
Public Sub Main()
 
 Dim aa As Integer
 Dim s As String
 Dim fl As File

   s = "aaa bbb cccc ddd eee ffff gggg hhhh iiii llll mmmm nnnn oooo pppp qqqq rrr ssss tttt vvvvv uuuu zzz " &
          "aaa bbb cccc ddd eee ffff gggg hhhh iiii llll mmmm nnnn oooo pppp qqqq rrr ssss tttt vvvvv uuuu zzz " &
          "aaa bbb cccc ddd eee ffff gggg hhhhh"
 
 ' Shell "export TERM=xterm"

   fl = Open "/dev/stdout" For Write
   Write #fl, s
   
   Wait 3

' Sposta il cursore 100 caratteri a sinistra lungo la riga:
   For aa = 1 To 100
     Write #fl, "\x08"
   Next

   Wait 3

' Salta di 8 caratteri alla volta a destra x 10 volte lungo la riga:
   For aa = 1 To 10
     Write #fl, "\x09"
     Wait 0.3
   Next

   Wait 2

' Si sposta (ora più lentamente) di 150 caratteri a sinistra lungo la riga:
   For aa = 1 To 150
     Write #fl, "\x08"
     Wait 0.05
   Next

   fl.Close

  Wait 4
 
' Pulisce la finestra del terminale, perché.... è una cosa allucinante operare così !!!
   Shell "clear"

End


Che San Midi mi protegga !   :'(
Sei davvero in gamba.
Ti ringrazio per le informazioni, vorrei ancora chiederti se esiste un libro di testo che deschive
le funzioni da te esposte in modo da poter provare e imparare.
Su internet cercando nelle varie case editrici ho trvato poco e niente di soddisfacente.
Ciao  ???



Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.307
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: APPLICAZIONE A RIGA DI COMANDO (IN CONSOLE)
« Risposta #16 il: 09 Maggio 2014, 02:16:52 »
....se esiste un libro di testo che descrive le funzioni da te esposte in modo da poter provare e imparare.
Su internet cercando nelle varie case editrici ho trvato poco e niente di soddisfacente.


....libri ?  :rolleyes:

Riguardo alle funzioni e risorse di Gambas puoi fare riferimento a:
- ci sarebbe un manuale che è stato un po' aggiornato in inglese (fai la ricerca qui nel forum). C'è anche un manuale ancor più aggiornato, scritto però in spagnolo.
- utilizzare questo forum (ma anche gli altri forum aperti in Europa) per fare le ricerche su determinati argomenti.
- dare uno sguardo anche alla nostra WIKI.
- vedere la guida in linea quando si scrivono le parole del codice.
- ...fare le prove.
- se si hanno problemi e difficoltà porre domande (come hai fatto tu) qui nel forum.
Per altri argomenti fare la classica ricerca in internet.
« Ultima modifica: 09 Maggio 2014, 02:20:16 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.307
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: APPLICAZIONE A RIGA DI COMANDO (IN CONSOLE)
« Risposta #17 il: 09 Maggio 2014, 02:32:46 »
...abbiamo visto in due messaggi precedenti come spostare il cursore lungo una riga del Terminale e come piazzare in determinate coordinate del Terminale il predetto cursore.

Ora vediamo come è possibile conoscere la riga e la colonna nelle quali è posizionato il cursore.
(Per ora il risultato, seppur efficace, è ancora un pochino grezzo :-X )
Codice: gambas [Seleziona]
Public Sub Main()

  Dim s As String
  Dim fl As File
  Dim a As Byte


' La stringa, sulla quale sposteremo il cursore, è semplicemente questa:
   s = "1234567890"

   fl = Open "/dev/stdout" For Read Write
    
   Write #fl, s  
   Wait 0.1
   For a = 1 To 4     ' Ci spostiamo di quattro caratteri a sinistra lungo la stringa visibile sul Terminale
     Write #fl, "\x08"  
     Wait 0.3
   Next  

   Wait 2

' Inviamo al Terminale il comando necessario per conoscere la posizione del cursore.
' Nel risultato mostrato il primo valore numerico è la riga, il secondo è la colonna,
' nelle quali è posizionato il cursore al termine dello spostamento lungo la stringa.
' La scritta per maggiore evidenza sarà in grassetto e colorata di giallo:
   Write #fl, "\e[1;33m\e[6n"

   Print #fl, "\n\nRiga ; Colonna"

' Esegue il ciclo sino a quando non premeremo il tasto 'Invio':  
   Do
     Read #fl, s, -256
   Loop Until s <> Null


' Va finalmente in chiusura:
   Write #fl, "\e[0m"
   fl.Close

End
« Ultima modifica: 07 Ottobre 2014, 01:10:03 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 960
    • Mostra profilo
Re: APPLICAZIONE ARIGA DI COMANDO (IN CONSOLE)
« Risposta #18 il: 10 Maggio 2014, 11:47:41 »
Ma da dove li prendi quei codici da mandare al terminale?
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re: APPLICAZIONE ARIGA DI COMANDO (IN CONSOLE)
« Risposta #19 il: 10 Maggio 2014, 15:54:30 »
Ma da dove li prendi quei codici da mandare al terminale?
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.307
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: APPLICAZIONE ARIGA DI COMANDO (IN CONSOLE)
« Risposta #20 il: 10 Maggio 2014, 16:08:03 »
Ma da dove li prendi quei codici da mandare al terminale?

In sostanza Gianluigi ti ha ben risposto: mi viene in sogno San Midi, musico ed eremita.  ;D

Per i miscredenti basterebbe fare una ricerca nel web sul prompt bash.  :-\
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.307
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: APPLICAZIONE ARIGA DI COMANDO (IN CONSOLE)
« Risposta #21 il: 10 Maggio 2014, 18:18:03 »
Ad ogni modo... è possibile anche intercettare i dati provenienti dal mouse leggendo da un suo file-device:

http://www.gambas-it.org/wiki/index.php?title=Intercettare_i_dati_del_mouse_dal_suo_file-device
« Ultima modifica: 11 Maggio 2014, 02:26:53 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re: APPLICAZIONE ARIGA DI COMANDO (IN CONSOLE)
« Risposta #22 il: 10 Maggio 2014, 18:34:30 »
Ad ogni modo... è possibile anche intercettare i dati provenienti dal mouse leggendo da un suo file-device:

http://www.gambas-it.org/wiki/index.php?title=Intercettare_i_dati_del_mouse_dal_suo_file-device#Gestione_mediante_il_file-device:_.2Fdev.2Finput.2Fevent...

Veramente, veramente interessante!!!

Sei proprio forte

 :ok:  :2birre:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro