Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - plasteroid

Pagine: [1]
1
Programmazione / Re: APPLICAZIONE A RIGA DI COMANDO (IN CONSOLE)
« 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  ???



2
Programmazione / Re: APPLICAZIONE A RIGA DI COMANDO (IN CONSOLE)
« il: 06 Maggio 2014, 20:24:45 »
A mio modesto parere credo che, essendo Gambas un linguaggio "orientato agli oggetti", esso ha una predisposizione "originaria" al superamento, laddove non sia effettivamente necessario (demone o non uso di testo o della grafica), della logica del funzionamento "a riga di comando" all'interno della finestra del Terminale.
Del resto, il tuo uso prevede l'utilizzo comunque di una normale finestra (quella del Terminale), nella quale scrivere del testo. Pertanto, non è comprensibile, agendo in ambiente Gambas, il perché del non-utilizzo di un Form (che è comunque una finestra) e degli oggetti che supportano testo e/o grafica messi a disposizioni dalle risorse di Gambas.

Ad ogni modo, non è certo vietato l'uso del linguaggio Gambas per applicazioni "a riga di comando". Pertanto, vediamo cosa possiamo risolvere riguardo alle domande da te poste.

Affronterei la questione della "pulizia dello schermo", che si risolve nella pulizia del Terminale.
Di norma, la pulizia del Terminale avviene con il comando "clear" (ma anche Ctr+l). Pertanto, dovrai inviare questo comando al Terminale.
Va segnalato che potrebbe essere necessario inviare preliminarmente la riga: export TERM=xterm, al fine di evitare il problema "TERM environment variable not set".

Il tuo codice quindi assumerebbe per ora questo tenore:
Codice: gambas [Seleziona]
Public Sub Main()
 
 Dim aa As Integer

 ' Va verificato se l'attivazione di questa riga è necessaria:
  ' Shell "export TERM=xterm"

  Print Chr$(10); Chr$(13)
  For aa = 1 To 2
    Print Space$(8); "pippo"; Space$(16); aa
    Sleep 1  
  Next
    
  Print Space$(8); "fine"; Space$(8); "fine"; Space$(8); "fine";
  Print Chr$(10)

  Wait 1   ' oppure Sleep se preferisci
    
' Puliamo il Terminale inviandogli il comando "clear":
  Shell "clear"
    
  Wait 0.01
  Print "Ultima riga"
  Wait 2
    
End

Ti ringrazio proverò quello da te descritto.
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.
Ma forse sto approfittando troppo della tua pazienza.  :)
Puoi dirmi se esiste qualche libro che possa spiegare queste cose.
Ciao

Comandi da te descritti provati. Funzionano perfettamente.

3
Programmazione / Re: APPLICAZIONE ARIGA DI COMANDO (IN CONSOLE)
« il: 06 Maggio 2014, 20:15:23 »
Si, ma posizionami il cursore sulla riga 8 colonna 15 del terminale. Come fai? :)
Nel QB il mouse si gestiva con il mitico interrupt &h33, ma qui?  :-\
Se devi leggere cosa c'è scritto alla riga 8 colonna 15 con il QB facevi un DEF SEG %hB800 e leggevi direttamente la memoria video, ma qui non vedo nessuna maniera. Non è facile...

In effetti hai ragione,  nel qb45 per posizionare il cursore il comando era locate x,y
con il mouse come hai detto tu si usava interupt 33
ho anche il libro di basic avanzato di Peter Norton. dove spiega molte cose.
Io non sono bravo come voi per questo ho chiesto.


4
Programmazione / Re: APPLICAZIONE ARIGA DI COMANDO (IN CONSOLE)
« il: 05 Maggio 2014, 23:56:03 »
In effetti sembra un pò un bel problema, essendo Gambas un ambiente visuale, non sembra implementata nessuna maniera di creare applicazioni a riga di comando. Vengo anche io dal caro vecchio QB 4.5, e anche io all'inizio mi sono trovato abbastanza in difficoltà.

' Gambas module file

scusate le faccine non era mia intenzione, sono nuovo e non so come si fa a mettere il codice.
imparerò grazie a tutti.
Ciao


Public Sub Main()
 Dim aa As Integer
 
  Print Chr$(10); Chr$(13)
    For aa = 1 To 2
        Print Space$(8); "pippo"; Space$(16); aa
      Sleep 1 
    Next
    Print Space$(8); "fine"; Space$(8); "fine"; Space$(8); "fine";
    Print Chr$(10)
End
Questo esempio di codice compilato gira sul terminale.
Ciao

5
Programmazione / Re: APPLICAZIONE ARIGA DI COMANDO (IN CONSOLE)
« il: 05 Maggio 2014, 23:06:47 »
In effetti sembra un pò un bel problema, essendo Gambas un ambiente visuale, non sembra implementata nessuna maniera di creare applicazioni a riga di comando. Vengo anche io dal caro vecchio QB 4.5, e anche io all'inizio mi sono trovato abbastanza in difficoltà.

' Gambas module file

Public Sub Main()
 Dim aa As Integer
 
  Print Chr$(10); Chr$(13)
    For aa = 1 To 2
        Print Space$(8); "pippo"; Space$(16); aa
      Sleep 1 
    Next
    Print Space$(8); "fine"; Space$(8); "fine"; Space$(8); "fine";
    Print Chr$(10)
End
Questo esempio di codice compilato gira sul terminale.
Ciao

6
Programmazione / Re: APPLICAZIONE A RIGA DI COMANDO (IN CONSOLE)
« il: 05 Maggio 2014, 23:03:34 »
...Il primo e come pulire lo schermo
E come programmare il mouse, sempre in console.


Vorrei capire meglio.
Poiché tu parli di "applicazioni a riga di comando", qui per "schermo" e "console" intendi la stessa cosa, cioè il "Terminale" Linux ?

Si intendo un applicazione che giri nel terminale di linux, per esempio in konsole.
Grazie

7
Programmazione / APPLICAZIONE ARIGA DI COMANDO (IN CONSOLE)
« il: 04 Maggio 2014, 22:05:32 »
Da qualche anno sono passato a linux, e per caso ho scoperto GAMBAS.
Ho provato a smanettare un po' con le applicazioni in console (applicazione a riga di comando)
Parecchi anni fa me la cavavo abbastanza bene con il quick basic 4.5 di micosoft e pensavo
di cimentatmi sviluppando qualche applicazione in console.  ;D

Non riesco a trovare spiegazioni riguardo al lcuni comandi da poter riprodurre su gambas
Il primo e come pulire lo schermo, in qb45 e CLS
il secondo è LOCATE x y in qb45, posiziona il cursore alle coordinate x y
E come programmare il mouse, sempre in console.
Potete aiutarmi?  ???
Grazie a tutti







Pagine: [1]