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 - Gianluigi

Pagine: [1] 2 3 ... 12
1
Mailing List / Consultare l'archivio della Mailing List
« il: 04 Marzo 2024, 14:32:39 »
L'archivio della nuova ML ufficiale di Gambas, anche se credo che non sia ancora finito, può essere consultato a questo link:
https://lists.gambas-basic.org/archive/

2
Programmazione / Componente gb.poppler
« il: 19 Gennaio 2024, 17:56:14 »
Ciao ragazzi,
sto cercando di capire come ottenere dal componente in oggetto il formato UNI, qualcuno lo sa?
Io credevo di aver individuato nella proprietà Type di PdfAction quello che faceva al caso mio, ma non riesco a usarlo senza ottenere un errore di segmentazione.
A seguire un codice provato:
Codice: [Seleziona]
Public Sub Main()
 
  Dim hPdf As PdfDocument
  ' Dim hAction As PdfAction
  Dim sPath, sType As String
  Dim iHeight As Integer
 
  ' prima occorre inserire un file pdf nel progetto:
  sPath = Application.Path &/ "test.pdf"
  hPdf = New PdfDocument(sPath)
  ' Try hAction = New PdfAction
  ' Try sType = hAction.Type ' <------------Da errore di segmentazione!
  ' If Error Then Print Error.Text
 
  '' e l'altezza restituita non corrisponde ad alcun formato UNI
  ' iHeight = Round((hPdf[0].Render().Height) * 0.393700787401575)
  ' Print iHeight
  ' sType = ReturnType(iHeight)
  ' Print sType
 
End

Private Sub ReturnType(iHeight As Integer) As String 
 
  Dim aList As String[] = ["Custom", "A3", "A4", "A5", "B5", "Letter", "Executive", "Legal"]
  Dim i As Byte
  ' else, 420, 297, 210, 250, 279, 330, 356 mm
  Select iHeight
    Case 420
      i = 1
    Case 297
      i = 2
    Case 210
      i = 3
    Case 250
      i = 4
    Case 279
      i = 5
    Case 330
      i = 6
    Case 356
      i = 7
    Case Else
      i = 0
  End Select
  Return aList[i]
 
End

 :ciao:

3
Progetti degli utenti / Invertitore di frasi
« il: 24 Luglio 2023, 13:35:55 »
Ho visto una mail di Benoit (purtroppo l'ho cancellata involontariamente) che rispondeva con una frase capovolta e mi ha ispirato.
Questo è solo un codice basico, se volete migliorarlo...
Scrivete la frase che volete (numeri arabi esclusi più altre cose, se il carattere non è previsto appare un cancelletto), poi agite sul pulsante.
Potete copiare la frase capovolta e incollarla in qualunque posto che supporti il richtext (editor di testo, e-mail ecc.)

 :ciao:

4
Intelligenza artificiale / Per chi ama Gambas
« il: 20 Luglio 2023, 23:03:05 »
Bene io di intelligenza umana so poco e nulla di quella artificiale, però ho scoperto che attraverso di essa anche gli ignorantoni come me possono, attraverso i sottotitoli tradotti da essa nella nostra lingua, usufruire su Google di filmati tecnici prodotti in altre lingue.
Ad esempio ora possiamo godere appieno dei filmati di quel guru di Jorge Carrion detto Shordi qui il link:
https://www.youtube.com/@pelandogambas3
Ci sono un mare di cose interessanti là fuori e grazie alla AI ora possiamo goderne, bun studio

 :ciao:

5
Database / Modifiche in DataView
« il: 17 Luglio 2023, 22:42:46 »
Nell'ultima versione Master di Gambas, prima di andare in ferie, Benoit, pressato insistentemente dal sottoscritto, ha apportato delle modifiche a gb.db.form più precisamente a DataView e di conseguenza a DataBrowser che lo usa.
A questo limk: https://paste.c-net.org/BarksRenfro  potete scaricare un esempio funzionante.
Attenzione: per ora funziona solo con l'ultima versione Master di Gambas

Naturalmente l'esempio è stringato ma aiuta a capire molte cose, spero lo apprezziate e se avete domande...

 :ciao:

6
Programmazione / Applicazione Web sul server Lighttpd
« il: 28 Febbraio 2023, 15:00:10 »
Vi segnalo questa discussione:
https://lists.gambas-basic.org/pipermail/user/2023-February/078669.html
Nel momento in cui scrivo il link è all'ultimo post di Claus Dietrich l'autore del post originale ( https://lists.gambas-basic.org/pipermail/user/2023-February/078626.html )
Questo post è importante perché rimanda a questo interessantissimo progetto del Prof. Hans Lehmann
https://magentacloud.de/s/4iApw5WZHCNNo5Z
Questo si ricollega alle lezioni che ho indicato qui:
https://www.gambas-it.org/smf/index.php?topic=9585.msg52355#msg52355
Se volete provare il progetto su Lighttpd  dovrete:

Avviare il progetto dalla IDE di Gambas, controllare dal menu Debug che il server incorporato non sia attivo

Creare all'interno del progetto, come da default, l'eseguibile avendo cura di nominarlo index.gambas

Chiudere la IDE

Navigare fino alla cartella del progetto e cambiare lo script shell "cp2server.sh" così:
Codice: [Seleziona]
#IP address of the local (web) server
ipaddress="<vostro indirizzo ip>"
con il vostro ip address che troverete dando da terminale come utenti normali il comando:
Codice: [Seleziona]
ifconfig
è quello in seconda riga dopo inet

Sempre dall'interno della cartella del progetto, dando tasto destro del mouse cliccate sul menu "apri nel terminale" per poter lanciare lo script come utenti normali con il seguente comando:
Codice: [Seleziona]
./cp2server.sh <vostra password utente root>

dovreste vedere nel terminale qualcosa di simile (Vedi immagine allegata), date invio e chiudete il terminale

Ora aprite il browser web e nella barra degli indirizzi scrivete:
Codice: [Seleziona]
http://<vostro indirizzo ip>/cgi-bin/webapp4_new/index.gambas

Dovreste vedere questo (vedi immagine allegata)

 :ciao:

7
Programmazione / SPOSTATO: problemi con la versione di gb3.18
« il: 21 Febbraio 2023, 22:29:39 »

8
Programmazione / Conoscere la data di domani
« il: 01 Gennaio 2023, 15:49:27 »
C'era un grave errore di ragionamento nel progetto mpDDclock (l'orologio da desktop con le fasi lunari e la sveglia) che ho postato sulla Farm.

Volevo condividere con voi la mia soluzione e se credete avere da voi qualcosa di migliore.

Stupidamente avevo pensato che per aggiornare la data fosse sufficiente un
Codice: [Seleziona]
Data_di_domani = Date(Year(Now), Month(Now), Day(Now) + 1, 0, 0, 0)

Si lo so, non ho ragionato a sufficienza e mia moglie che ha l'orologio sul desktop avrebbe dovuto accorgersene già al primo fine mese.

Purtroppo per pura sorte (malasorte) non ha mai aperto il computer alla fine del mese, fino a ieri che mi ha chiesto lumi sulla finestra di errore.
A dire il vero era già successo un'altra volta ma io non ero in casa, lei ha cliccato su ignora ha riposizionato l'orologio e si è dimenticata di riferirlo.

Al che mi sono reso conto della mia ingenuità, ecco il codice che potrà essere usato con un Data_di_domani = TomorrowDay() :


Codice: [Seleziona]
Private Sub TomorrowDay() As Date

  Dim hTomorrow As Date

  If (Day(Now) + 1) > DaysInMonth(Month(Now)) Then
    If (Month(Now) + 1) > 12 Then
      hTomorrow = Date(Year(Now) + 1, 1, 1, 0, 0, 0)
    Else
      hTomorrow = Date(Year(Now), Month(Now) + 1, 1, 0, 0, 0)
    Endif
  Else
    hTomorrow = Date(Year(Now), Month(Now), Day(Now) + 1, 0, 0, 0)
  Endif
  Return hTomorrow

End

Private Sub DaysInMonth(Month As Integer, Optional Year As Integer = Year(Now)) As Integer

  If Month = 12 Then Return 31
  Return Day(DateAdd(Date(Year, Month + 1, 1), gb.Day, -1))

End

DaysInMount è ricopiato pari pari dal componente gb.util ma essendo un metodo inserito ultimamente ho preferito copiarlo per motivi di compatibilità.

Buon proseguimento di primo giorno dell'anno  :ciao:

9
Database / Result da tabelle poste su database differenti
« il: 23 Dicembre 2022, 23:54:09 »
ho pubblicato sulla farm un piccolo esempio ResultByTwoDatabases la cui classe è stata suggerita e scritta da Benoit in persona.

Serve per popolare una GridView da tabelle aventi gli stessi campi ma che provengono da database differenti.

Dopo che l'ho vista , la classe sembra ovvia ma io oggi ho provato a crearla in tutti i modi che mi sono venuti in mente senza ricavare nulla.

 :ciao:

10
https://lists.gambas-basic.org/pipermail/user/2022-October/077024.html

Se qualcuno, come Claus e il sottoscritto, non sapeva di questa cosa, qui di seguito la vado a spiegare:

Per prima cosa dalla IDE occorre creare un nuovo progetto Applicazione Web (il primo, quello senza finestra), lo nominate come più vi aggrada, ad esempio WebpageTest è un buon titolo per poterlo ritrovare in un secondo momento.

Rendete il progetto traducibile spuntando l'apposita casella.

Fate doppio click su Main (.webpage quello in grassetto e sottolineato) e cancellate tutto il codice di esempio già presente.

Nella pagina pulita incollate questo codice :

Codice: [Seleziona]
<% System.Language = Request.Language %>
<html>
  <body>
    <h1><%Print ("Web Page Written with Gambas3")%></h1>
    <h2><%=Format(Now, "dddd, dd mmmm yyyy")%></h2>
    <h3><%=Format(12345.67, "$,#.00")%></h3>
  </body>
</html>
Dal menu Debug cliccate su Configurazione... e nella finestra che appare attivate il button Usa il server HTTP incorporato lasciando la voce "(Internal)" e date OK.

Se vi eravate dimenticati di rendere il progetto traducibile, vi basta andare al menu Progetto > Proprietà... e dalla finestra alla pagina Opzioni attivare la traduzione, fate attenzione che la lingua predefinita sia Inglese (USA) e date OK.

Anche se lo avevate fatto alla partenza vi conviene controllare che la lingua predefinita sia l'inglese, ultimamente ci sono stati dei cambiamenti.

A questo punto occorre cliccare direttamente sul pulsante Traduci oppure menu Progetto > Traduci...

Nella finestra che appare ci sarà una sola voce, traducetela cliccando su Traduzione automatica (vedi immagine).

Cliccate sul menu Progetto > Compila tutto per garantirvi che sia tutto a posto, fatto.

Potete avviare il progetto e se è andato tutto a buon fine apparirà la finestra del browser interno (vedi immagine).

11
Programmazione / [Risolto] Come si confronta il tempo?
« il: 25 Agosto 2022, 00:42:10 »
Il codice seguente se scritto in FMain.class di una nuova applicazione grafica funziona, ma non mi convince e pertanto rinnovo la domanda in oggetto  :-\

Codice: [Seleziona]
Private $hTime As Date
Private $sTime As String
Private $hTimer As Timer

Public Sub Form_Open()

  Dim hButton As Button

  With Me
    .W = 240
    .H = 152
    .Margin = True
    .Arrangement = Arrange.Fill
  End With
  With hButton = New Button(Me) As "Button1"
    .Text = "Avvia il confronto Time"
  End With
  With $hTimer = New Timer As "Timer1"
    .Delay = 1000
    .Ignore = True
  End With

End

Public Sub Timer1_Timer()

   Dim hNow As Date = Time(Now)
   Dim sNow As String = Format(hNow, "hh:nn:ss")

   Print hNow;; $hTime

   ''If hNow = $hTime Then '' perché questo non funziona? :-/
   If sNow = $sTime Then '' e invece questo funziona ma...
     Print "UGUALE"
     $hTimer.Stop
   Endif

End

Public Sub Button1_Click()

  $hTimer.Start
  $hTime = Time(Hour(Now), Minute(Now) + 1, 0)
  $sTime = Format($hTime, "hh:nn:ss")

End

12
Progetti degli utenti / gvColumnFixer di Shordi
« il: 11 Luglio 2022, 11:56:54 »
Vi informo che Shordi ha aggiornato e migliorato gvColumnFixer che potete scaricare dalla Software Farm oppure da qui:
https://gitlab.com/shordi/gvColumnFixer

 :ciao:

13
Chiedo di verificare se succede anche a voi quello che ho riportato qui:
http://gambaswiki.org/bugtracker/edit?object=BUG.2579&from=L21haW4

Come da video se cerco di scrivere i numeri il cursore si sposta prima del simbolo euro e non scrive.
Per farlo scrivere occorre prima ridurre la finestra a icona.

Grazie per la collaborazione

 :ciao:

14
OpenBar / Doppio cognome
« il: 01 Maggio 2022, 00:14:57 »
L'avete sentita anche voi?
Pare che il figlio di Rosa Coglio e Fausto Nazzo abbia rinunciato al doppio cognome.

 :ciao:

15
Progetti degli utenti / WBackground per creare sfondi dai logo
« il: 31 Marzo 2022, 14:20:24 »
Questo programma serve a creare immagini logo di sfondo principalmente per il componente Workspace ma può essere usata anche per creare sfondi delle form.
Il funzionamento semplice è spiegato cliccando sul punto interrogativo.
Naturalmente occorre partire da un logo png già creato di altezza circa 96 px

Claus Dietric coautore del libro tedesco mi ha aiutato con preziosi suggerimenti, lo ringrazio  :)

P.S. qui un esempio sull'uso di Workspace https://www.gambas-it.org/smf/index.php?topic=5712.msg51656#msg51656

Pagine: [1] 2 3 ... 12