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.


Topics - allegfede

Pagine: 1 ... 9 10 [11] 12
151
ho letto un precedente report di VUOTT sulla localizzazione di gambas, ma il discorso era su come settare il progetto gambas per farlo "apparire" adatto alla lingua e al paese prestabilito (diverso da quello dello sviluppatore).
Essenzialmente si tratta di mettere le giuste stringhe "locale" nella tab "enviroment" del progetto gambas.

Io invece avevo la necessita' di leggere le variabili d'ambiente della macchina linux su cui gira il programma per determinare il paese di residenza o la lingua utilizzando qualche funzione hardcoded in gambas.

Buoni riscontri li sta' dando la funzione

system.language

ma forse usero' system.timezone per "incrociare" i dati e determinare il "vero" paese della macchina client ...... vi terro' informati :D

in allegato due file di testo con le tabelle dei codici ..... potrebbe essere il caso di costruire un DB sqlite o un CSV da manipolare velocemente ....

152
Programmazione / piccolo esempio di treeview multi radice
« il: 10 Aprile 2013, 23:42:28 »
in allegato un piccolo "studio" per un'interfaccia ad albero per la catalogazione di film (mi serviva per il mio progetto OTVA).

magari puo' essere utile a qualcuno

153
Stavo cercando di implementare un campo testo multiriga che pero' non permettesse agli utenti di "battere" il tasto invio.
Quindi l'idea era di avere un campo testo che sembrasse multi riga, ma che in pratica fosse composto da un'unica stringa che poi ssalvero' nel DB.

Utilizzate il controllo TextArea e mettete la proprieta' wrap a true

 ... poi nell'evento TextArea_Keypressed() mettete la riga

IF (Key.Code = Key.Enter) or (key.code=key.return)) THEN stop event

in questo modo il programma non vedra' neppure l'evento :D

NB: key.enter e' l'ENTER del tastierino ...... key.return e' quello principale

154
Programmazione / gestione percorsi UNC
« il: 03 Aprile 2013, 10:08:11 »
che voi sappiate e' previsto a breve il supporto  in gambas dei percorsi unc?

tipo smb://nomeserver/nomecondivisione/cartella/file.estensione

di suo le moderne distribuzioni linux gia' lo fanno e sarebbe comodo per implementare cose tipo drag&drop da kde/gnome all'interfaccia della nostra gambas application ;-)

155
Programmazione / Message (box) non bloccante
« il: 28 Marzo 2013, 19:49:51 »
Come e' prassi il message (message box) blocca l'esecuzione del programma principale fino alla pressione degli opportuni pulsanti.
Mi chiedevo: esiste un modo per informare l'utente senza bloccare il programma in attesa?

ovvero, all'avvio mi connetto al DB e (se tutto va bene) notifico all'utente che la connessione e' riuscita, ma nel frattempo eseguo le query e carico i dati nel form.

Poi se l'utente preme il pulsante del message box mezz'ora dopo ho gia' caricato tutto e sono pronto.

in VB me lo ero fatto con un form non modale e un timer che chiudeva in automatico dopo uno certo tempo .... ma sono speranzoso che qualcosa sia gia' presente in GB ;-)

156
domanda dell'ultimo minuto per quelli veramente nabbi come me .....

perche' questo codice non funziona (le textbox rimangono vuote anche se la column view e' piena):

Dim Indice As Integer
Try Indice = ColumnView_Media.Current.Key
If Error Then Return

Form_Edit.Load
'Message.Info("indice=" & Indice, "OK")
Form_Edit.Label_id.Text = Indice
Form_Edit.TextBox_Programma.Text = ColumnView_Media.Item[1]
Form_Edit.TextBox_Stagione.Text = ColumnView_Media.Item[2]
Form_Edit.TextBox_Episodio.Text = ColumnView_Media.Item[3]
Form_Edit.TextBox_Durata.Text = ColumnView_Media.Item[4]
Form_Edit.TextBox_Taglist.Text = ColumnView_Media.Item[5]
Form_Edit.DrawingArea_Preview.Tag = ColumnView_Media.Item[6]
Form_Edit.Show


mentre questo si?

Dim Comando As String = "select * from Programs_episodes"
Dim $Con As New Connection
Dim Risultato As Result
  
  $Con.close()                  ' Close the connection
  $Con.Type = "MySQL"           ' Type of connection
  $Con.Host = DB_server_IP   ' Name of the server
  $Con.Login = DB_server_DBuser    ' User's name for the connection
  $Con.Port = DB_server_Port       ' Port to use in the connection, usually 3306
  $Con.Name = DB_server_DBname    ' Name of the database we want to use
  $Con.Password = DB_server_DBpass ' User's password
  
  Risultato = $Con.Exec(comando)
  
  For Each Risultato
  
    ColumnView_Media.Add(Risultato!id, Risultato!id, PictureBox_OK.Picture)
    ColumnView_Media.Item[1] = Risultato!program
    ColumnView_Media.Item[2] = Risultato!season
    ColumnView_Media.Item[3] = Risultato!episode_name
    ColumnView_Media.Item[4] = Somma(Risultato!Parts)
    ColumnView_Media.Item[5] = Risultato!Tags
    ColumnView_Media.Item[6] = Risultato!episode_path
    
  Next

come al solito ringrazio anticipatamente :D

157
salve, vorrei capire come poter gestire i controlli di un form dal form padre.

Ovvero, perche' il seguente codice mi da errore:

Public Sub Button_EditProgram_Click()
Dim Indice As Integer
Try Indice = ColumnView_Media.Current.Key
If Error Then Return

Form_Edit.Load
Form_Edit.label_id.Text = Indice
Form_Edit.TextBox_Programma.Text = ColumnView_Media.Item[1]
Form_Edit.Show

End

l'errore me lo da' sul form_edit.label_id
unknown symbol label_id in class container fmain

idee?

quale e' il metodo giusto?

PS: ovviamente il form c'e' e i controlli opportuni sono stati disegnati dall'IDE

Thanks

158
Progetti degli utenti / Open TV Architecture [OTVA]
« il: 21 Marzo 2013, 14:52:30 »
https://sourceforge.net/projects/otva/

su sourceforge il fork in gambas di Open TV architecture.
leggete il readme per le impostazioni iniziali e poi lanciate il setup
il modulo di ingesting e' appena uno scheletro ... notizie a breve :D

date un'occhiata anche alla brochure del progetto che trovate qui':
http://sourceforge.net/projects/otva/files/otva%20brochure.pdf/download

DETAILS:
OTVA (Open TV architecture) e' nato come applicazione web (basata su python+django) per la gestione facilitata di molteplici canali televisivi.
Per ora la versione web e' stata messa in stallo a causa delle mie scarse conoscenze del llinguaggio python e per la incredibile difficolta' di trovare professionisti ferrati che (a pagamento) fossero stati disposti a partecipare al progetto (chi ho trovato di valido era subbissato di lavori).

Va da se che mutuando la mia esperienza VB, dopo l'abbandono di python, il passo successivo e' stato creare una suite di applicazioni in gambas per aggiungere contenuti e schedularli al fine di gestire un multiplex di canali televisivi (Terrestri, satellitari, IP etc.)

Tecnologia:
1)database server MYSQL (su server DEBIAN)
2)linguaggio per applicativi otva GAMBAS
3)framework multimediale per applicativi GSTREAMER
4)canali di playout basati su minipc sapphire HD2 (debian)
5)framework multimediale per i canali di playout MLT
6)storage condiviso su rete gigabit

159
Ciao ragazzi e ben trovati.

Tra' le dodici cose che devo fare ORA, c'e' un progetto di automazione televisiva (che magari un giorno vi presentero') che usa tutte tecnologie open.
Una delle cose che volevo implementare era di rendere semplice il "setup" del sistema con una applicazione gambas che chiedesse all'utente i vari paramentri di funzionamento.

In questo caso specifico vorrei che l'utente facesse un "browse for network share", ovvero cliccasse un pulsante e gli si aprisse un dialog con cui sfolgiare la rete, indicasse quale server e magari quale condivisione ospita i media (video, spot, sigle, etc), per poi dare ok e salvare le preferenze nei DB e nell' ".ini" :D

Esiste un trucchetto, uno snippet di codice o un componente per ottenere un clone di dialog.openfile o dialog.selectdirectory che faccia il browse della rete locale?

sotto ubuntu per capirsi e' "places->network->windows network-> poi selezioni il workgroup -> poi selezioni il server -> poi selezioni la condivisione -> e a questo punto metti username e password :D

ancora saluti e buon pranzo da Federico

160
Ciao :), in vb6/.net se facevi doppio click su un oggetto l'ide ti andava sul codice e entrava nella sezione dedicata all'evento piu' comune di questo stesso oggetto (se non esisteva gia il codice lo creava) per esempio:
 private sub button1_click(...)

Ora pero c'era un comodissimo dropdown dove erano listati tutti gli eventi "ulteriori" dello stesso oggetto.
Se ne seleziinavi uno ti portava nella sezio e relativa (l'evento era listato in grassetto) oppure creava la "stanza" opportuna.

La mia domanda e': nell'ide di gambas c'รจ qualcosa di analogo? .... sono pigro e non ho voglia di guardare la documentazone degli oggetti ... e se trovo un automatismo che mi scriv il codice sono felicissimo ;-)

161
Programmazione / conversione percorsi windows a linux
« il: 31 Dicembre 2012, 12:58:33 »
problema:

Ho una condivisione samba dove i files sono stati creati per la maggior parte con windows e quindi contengono nella path spazi che la mia app linux non gradisce.

Ho provato a sostituire gli spazi (" ") con l'escape + spazio ( "\ ") utilizzando:

percorso=replace(dialog.path," ","\ ", gb.text)

ma in fase di avvio mi segnala l'essore:
"bad character constant in string" .....

c'e' una funzione built-in che faccia questa conversione di percorsi?

162
Programmazione / oggetto columnview senza "Keys"
« il: 28 Dicembre 2012, 02:10:15 »
Per aggiungere una riga alla columnist dobbiamo per forse usare una Key univoca? Se ho voci duplicate o peggio che devo inventarmi?

163
Programmazione / estrarre i tag dai file musicali (ogg e mp3)
« il: 24 Dicembre 2012, 18:41:22 »
prosegue il progetto di radio automation e ovviamente c'e la nescessita' di caricare nei DB i brani della vostra collezione musicale.

spesso questi sono in mp3 (od OGG se preferite file in formato open) e sarebbe carino poterli catalogare agevolmente per autore/anno/titolo etc etc.

Perche' duplicare l'immissione se spesso queste informazioni sono gia' nel file con gli opportuni metadata?

TAG mp3 (ed equivalenti OGG) non si possono (ancora?) estrarre attraverso l'interfaccia gstreamer di gambas (gb.media) od almeno ancora non ci sono riuscito, ma con un piccolo tool open (scaricabile dai repository) che si chiama "mp3info" (ogginfo per i file .ogg che trovate nel pacchetto vorbis-tools) poterete aggirare l'ostacolo facilmente.

mettete i pacchetti e poi potete scrivere qualcosa del genere:
Codice: [Seleziona]
Public Sub GetInfo(filepath As String)
Dim sOutput As String
Dim aScan As String[]
 
  Select Case LCase(File.Ext(filepath))
   
    Case "mp3" 'mp3info -p "%S\n"
      Exec ["mp3info", "-p", "%a", filepath] To sOutput
      Label_artist.Text = sOutput
      Exec ["mp3info", "-p", "%c", filepath] To sOutput
      TextArea_Comments.Text = sOutput
      Exec ["mp3info", "-p", "%l", filepath] To sOutput
      Label_album.Text = sOutput
      Exec ["mp3info", "-p", "%n", filepath] To sOutput
      Label_track.Text = sOutput
      Exec ["mp3info", "-p", "%t", filepath] To sOutput
      Label_title.Text = sOutput
      Exec ["mp3info", "-p", "%y", filepath] To sOutput
      Label_year.Text = sOutput
     
     
    Case "ogg", "flac"
      Exec ["ogginfo", filepath] To sOutput
      For Each sOutput In Split(sOutput, "\n")
        sOutput = Trim(sOutput)
        aScan = Scan(sOutput, "*: *m:*s")
         If aScan.Count = 3 Then
          'Return CInt(CInt(aScan[1]) * 60 + CFloat(Replace(aScan[2], ",", ".")) + 0.5)
         Endif
      Next
   
  End Select

un piccolo esempio nel pezzo della piattaforma PRS_OSE in fase di alfa :D
https://sourceforge.net/projects/prsose/files/latest/download?source=files

spero possa esservi utile :D

164
Programmazione / intercettare i tipi di errore diversi
« il: 07 Dicembre 2012, 17:21:26 »
salve ragazzi, una domanda.

Volendo fare alcune operazioni sui db da gambas, mi servirebbe di capire come "intercettare" gli eventuali messaggi d'errore enerati dalla connessione al DB.

con:
try
if error then
 messaggio "errore generico"

 return
end if

me la cavo se l'operazione e' univoca (connessione riuscita si/no)

ma per esempio se dovessi creare una tabella da codice, mi restituisce errore se la tabella e' esiste gia' oppure magari ci sono altri messaggi d'errore ....

in vb avevo per selezionare i vari comportamenti err.number e per passarli come messaggio all'utente err.description

in gambas?

Grazie ancora

165
Progetti degli utenti / Personal Radio Station [open source edition]
« il: 05 Dicembre 2012, 17:13:59 »
Salve ragazzi, sono nuovo di Gambas ma vecchio del mondo basic.
Da diversi anni l'emittente radiofonica per cui lavoro sta' trasmettendo con un mio programma (in realta' e' una architettura di diversi applicativi interconnessi attraverso database access) di automazione radiofonica.

Il tutto era scritto in vb6.

Ultimamente sia il mio applicativo che vb6 cominciano a manifestare i segni dell'eta' e siccome da un po' di tempo sto' migrando l'azienda verso il mondo linux, l'idea di eliminare la dipendenza da windows (XP, tanto con win7 il mio programma non funziona) passando ad un sistema di automazione radiofonica linux based mi intrigava parecchio.

Ci sono diversi progetti di Radio Automation open source e due dei piu' importanti sono RIVENDEL (http://www.rivendellaudio.org/) e AIR TIME (http://www.sourcefabric.org/en/airtime) ma entrambi troppo "professionali" per le piccole emittenti locali :D

I primi test di programmazione con python sono falliti davanti alla macchinosita' degli IDE e dei designer per le interfacce. Gambas e' stata una bella scoperta.

Per ora sto' scrivendo il modulo "settings" per impostare i dati di connessione al DB e altre preferenze globali (una alfa molto alfa la trovate in allegato).
Poi creero' un modulo di importazione audio (per creare il database della discoteca che manderemo in onda, taggando ogni brano ed impostando i punti di fade-mix-etc).
Dopo un modulo di gestione delle pubblicita' (gestisce fascie pubblicitarie, segnali orari, campagne pubblicitarie).
E quindi un player audio che scheduli il tutto come si deve .....

In futuro l'idea e' di interfacciare i moduli commerciali (campagne pubblicitarie) anche con un programma di fatturazione open source (invoicex o gestionale open i primi che mi vengono in mente).

allego anche uno screenshot dell'interfaccia alfa del player, tanto per farvi un'idea :D



penso di mettere su' il progetto in qualche sito di collaborazione, probabilmente sourceforge ..... chi ha voglia di collaborare e' ben accetto.

PS: il motore audio di base sara' gstreamer (gb.media) che sembrerebbe adatto alla gestione di piu' stream audio contemporanei :D

Pagine: 1 ... 9 10 [11] 12