Autore Topic: [Risolto] Come salvare nel mio ambiente Gambas le classi multiuso?  (Letto 2642 volte)

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Sarà una domanda banale, ma per me ha sempre costituito un ostacolo insormontabile.
Supponiamo di disporre di un programma "Gambas.A" che contenga la classe "Classe1"; supponiamo adesso di dovere utilizzare detta "Classe1" in un nuovo progragramma "Gambas.B". Fino ad oggi io ho sempre prelevato le classi da riutilizzare direttamente da uno dei programmi presente nella cartellla di Gambas. Dato però che non tutti i programmi disponibili contengano la "Classe1", dovrò scorrere uno dopo l'altro i programmi fin a quando non ne avrò trovato uno che la contenga. Vorrei allora creare una copia della "Classe1" in una cartella apposita da dove copiarla all'occorrenza. Ma come posso dire a Gambas: Scrivimi questa classe nella Cartella /home/utente/gambas/classi?
 :ciao:
« Ultima modifica: 12 Febbraio 2013, 18:56:24 da Picavbg »
:ciao:

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Come salvare nel mio ambiente Gambas le classi multiuso?
« Risposta #1 il: 11 Febbraio 2013, 12:24:54 »
hai provato a creare dei code snipped?

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.258
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Come salvare nel mio ambiente Gambas le classi multiuso?
« Risposta #2 il: 11 Febbraio 2013, 16:31:07 »
Ma come posso dire a Gambas: Scrivimi questa classe nella Cartella /home/utente/gambas/classi?


Non so se ho capito bene...  :-X  ...ma, forse, volevi una cosa di questo genere ?
Codice: gambas [Seleziona]

   Public Sub Button1_Click() 
         
      Copy Application.Path &/ ".src/Class1.class" To "/home/utente/gambas/classi" &/ "Class1.class"
     
    End 


      :-X
« 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 Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Come salvare nel mio ambiente Gambas le classi multiuso?
« Risposta #3 il: 11 Febbraio 2013, 17:14:05 »
hai provato a creare dei code snipped?
:o  ???
Scusami, ma non so nemmeno che cosa sia un "code snipped"

Ma come posso dire a Gambas: Scrivimi questa classe nella Cartella /home/utente/gambas/classi?


Non so se ho capito bene...  :-X  ...ma, forse, volevi una cosa di questo genere ?
Codice: gambas [Seleziona]

   Public Sub Button1_Click() 
         
      Copy Application.Path &/ ".src/Class1.class" To "/home/utente/gambas/classi" &/ "Class1.class"
     
    End 


      :-X

Veramente pensavo ad un pulsante proprio dell'Ide di Gambas come quello per esempio per salvare l'intero progetto, o creare il file eseguibile
:ciao:

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Come salvare nel mio ambiente Gambas le classi multiuso?
« Risposta #4 il: 11 Febbraio 2013, 18:26:52 »
Citazione
Scusami, ma non so nemmeno che cosa sia un "code snipped"

prova a scrivere nell' editor _c e poi premi TAB

ti comparira lo snippet corrispondente ovver0:

Codice: [Seleziona]
Public Function _compare(Other As Type) As Integer

  

End

per impostare gli snippets vai in strumenti>preferenze>code formatting

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Come salvare nel mio ambiente Gambas le classi multiuso?
« Risposta #5 il: 11 Febbraio 2013, 22:26:09 »
Perfetto. Ho capito, ma assai poco.
 ???
Particolarmente: la digitazione di "_c" va fatta in qualsiasi parte dell'editor o dentro la classe che voglio copiare all'esterno?
                           La nuova function che  trovo predisposta dovrà contenere il codice suggerito da vuott?
                           In quali altre occasioni conviene utilizzare detto metodo?
                           Avrei potuto apprenderlo da solo? Come?
 :ciao:
:ciao:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.258
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Come salvare nel mio ambiente Gambas le classi multiuso?
« Risposta #6 il: 11 Febbraio 2013, 23:32:33 »
                         La nuova function che  trovo predisposta dovrà contenere il codice suggerito da vuott?

Non credo che fsurfing facesse riferimento al mio codice.   :-X
« 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 fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Come salvare nel mio ambiente Gambas le classi multiuso?
« Risposta #7 il: 12 Febbraio 2013, 12:00:04 »
si esatto ,non mi riferivo al codice di vuott.

gli snippets non sono altro che stralci di codice o anche funzioni complete che per qualche motivo utilizziamo spesso nei nostri programmi,
gambas ci permette di memorizzarli all' interno dell' ide  , richiamandoli con un semplice testo seguito dal tasto tab.

se vai in 

strumenti>preferenze>code formatting

potrai creare i tuoi snippets

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Come salvare nel mio ambiente Gambas le classi multiuso?
« Risposta #8 il: 12 Febbraio 2013, 13:13:25 »
si esatto ,non mi riferivo al codice di vuott.

gli snippets non sono altro che stralci di codice o anche funzioni complete che per qualche motivo utilizziamo spesso nei nostri programmi,
gambas ci permette di memorizzarli all' interno dell' ide  , richiamandoli con un semplice testo seguito dal tasto tab.

se vai in 

strumenti>preferenze>code formatting

potrai creare i tuoi snippets

Quindi, se non ho capito male, ogni qualvolta che dovrò scrivere una Sub o una Function per richiamarla in un punto qualsiasi del programma, basterà che utilizzi detta tecnica perchè nasca automaticamente una struttura con inizio e fine di una nuova procedura.  :-[
Da quanto tempo soffro per non averlo saputo prima ...! Io, quelle righe lì,  le ho sempre scritte a manina.

Assunta finalmente la nuova tecnica, mi viene da chiedere: ma che c'entra con la produzione di una copia di una qualsiasi classe da inserire in una cartella "Classi".
Suppongo che dovrei scriverci qualcosa dentro, a meno che tu non mi dica che dovrei scrivere un programma da destinare esclusivamente allo scopo di portare una certa classe di un certo programma nella cartella "ClassiPronte".
Scusami, ma non ho ancora capito.
 :ciao:
:ciao:

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Come salvare nel mio ambiente Gambas le classi multiuso?
« Risposta #9 il: 12 Febbraio 2013, 13:22:32 »
be io non posso sapere tu cosa vuoi fare esattamente , però se una determinata classe la utilizzi spesso il codice relativo a quella classe lo puoi inserire in uno snippets,

se invece sporadicamente ti serve copiare la classe di un programma in un altro , la cosa migliore è farlo a manina, o aprire due istanze di gambas (una per ogni programam) e fare copia ed incolla di quello che ti serve

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Come salvare nel mio ambiente Gambas le classi multiuso?
« Risposta #10 il: 12 Febbraio 2013, 15:44:32 »
be io non posso sapere tu cosa vuoi fare esattamente , però se una determinata classe la utilizzi spesso il codice relativo a quella classe lo puoi inserire in uno snippets,

Non capisco. Quando devo richiamare una classe eseguo l'istruzione
Classe1 = new Class1(parametri)
il code snippets verrebbe ad inglobare il codice interno a Class1, ma una struttura snippets si presenta come quella di una Sub o Function:
Codice: [Seleziona]
Public Function _compare(Other As Type) As Integer

End
quindi, mi sembra che la class1 si trasformerebbe in una function, perdendo in realtà le peculiarità della classe, finendo di funzionare.

Sicuramente sono io che continuo a non capire. Mi potresti fare un esempio pratico o indicare un applicativo presente nell'Area di Download dove potere riscontrare un simile uso?
 ???

Citazione da: fsurfing
se invece sporadicamente ti serve copiare la classe di un programma in un altro , la cosa migliore è farlo a manina, o aprire due istanze di gambas (una per ogni programam) e fare copia ed incolla di quello che ti serve
Quest'ultima tua indicazione è proprio quello che ho fatto ogni volta che ho dovuto riprendere una classe già esistente. Ciò è proprio quello che vorrei evitare. Vorrei infatti creare una cartella, per Es. "ClassiVarie" e copiare lì tutti i file Classe di Gambas, in modo da costituire una sorta di libreria, dove potere rintracciare e quindi copiare nel nuovo programma la ClasseX che mi serve al momento.
 :(
:ciao:

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Come salvare nel mio ambiente Gambas le classi multiuso?
« Risposta #11 il: 12 Febbraio 2013, 15:52:12 »
Citazione
be io non posso sapere tu cosa vuoi fare esattamente , però se una determinata classe la utilizzi spesso il codice relativo a quella classe lo puoi inserire in uno snippets,

Non capisco. Quando devo richiamare una classe eseguo l'istruzione
Classe1 = new Class1(parametri)
il code snippets verrebbe ad inglobare il codice interno a Class1, ma una struttura snippets si presenta come quella di una Sub o Function:
Codice:

Public Function _compare(Other As Type) As Integer

End

quindi, mi sembra che la class1 si trasformerebbe in una function, perdendo in realtà le peculiarità della classe, finendo di funzionare.

Sicuramente sono io che continuo a non capire. Mi potresti fare un esempio pratico o indicare un applicativo presente nell'Area di Download dove potere riscontrare un simile uso?
 Che?!?

ma  non puoi semplicemente provare !!!!!!!!!
così capisci immediatamente cosè uno snippets!

quello era un esempio,

potresti avere uno snippet con scritto:

Codice: [Seleziona]
Public Sub esporta_tabella(griglia As TableView, nome As String)
  
  Dim righe As New String[]
  Dim riga As String
  Dim i, i1 As Integer
  
  
  For i = 0 To griglia.Columns.Max
    riga &= griglia.Columns[i].Text & "|"
  Next
  
  righe.Add(riga)
  
  For i = 0 To griglia.Rows.Max
    riga = ""
    For i1 = 0 To griglia.Columns.Max
      riga &= griglia[i, i1].Text & "|"
    Next
    righe.Add(riga)
    
  Next
  
  riga = ""
  For i = 0 To righe.Max
    riga &= righe[i] & "\n"
  Next
  
  If Not Exist(User.Home & "/gesthotel2/cvs") Then
    Mkdir User.Home & "/gesthotel2/cvs"
  Endif
  file.Save(User.Home & "/gesthotel2/cvs/" & nome & ".cvs", riga)
  Desktop.open(User.Home & "/gesthotel2/cvs/" & nome & ".cvs")
  
End

che richiami con il testo "_pippo"

uno snippet può contenere qualsiasi cosa., vedilo più come un tacquino che contiene pezzi di codice qualsiasi



non è detto che sia quello che tu cerchi , ma è il massimo che ti può offrire gambas


« Ultima modifica: 12 Febbraio 2013, 15:57:01 da fsurfing »

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Come salvare nel mio ambiente Gambas le classi multiuso?
« Risposta #12 il: 12 Febbraio 2013, 18:55:57 »
Proverò, anche se non capisco come. Tuttavia intanto ho risolto secondo una logica alla quale mi ha portato Gambas stesso: Ho aperto un nuovo progetto che ho chiamato "ClassiVarie" e vi ho copiato soltanto alcune delle classi, distribuite in quei pochi programmi che ho scritto fino ad oggi. Alla fine l'ho salvato. Penso che così mi verrà più facile, in futuro, copiare la o le classi che mi serviranno. Ora dovrò solo aggiungervi quelle altre classi che potranno essere connsiderate di comune utilità.
Grazie di tutto. ;D
 :ciao:
:ciao: