Gambas-it

Gambas3 => Programmazione => Topic aperto da: Gianluigi - 17 Febbraio 2019, 09:49:25

Titolo: Contare le righe di una ReportTextLabel
Inserito da: Gianluigi - 17 Febbraio 2019, 09:49:25
Credevo di aver risolto il problema, ma provando a cambiare la larghezza di stampa del report (proprietà padding) ottengo una visualizzazione errata.
Qualcuno mi sa dire dove sto sbagliando?
Il codice è quello di LoremReport sulla Software farm e a me pare corretto.  :-\
Titolo: Re:Contare le righe di una ReportTextLabel
Inserito da: Gianluigi - 17 Febbraio 2019, 15:05:39
Finalmente credo di aver risolto definitivamente il conteggio delle righe con questo codice:

Codice: [Seleziona]
Private Function Rows(value As String, iWidth As Integer) As Integer

  Dim i As Integer
  Dim ss As String[]
  Dim sRow As String

  If Report1.Font.TextWidth(value) < iWidth Then Return 1
  ss = Split(value, " ")
  For Each s As String In ss
    sRow &= " " & s
    If Report1.Font.TextWidth(sRow) > iWidth Then
      sRow = s
      Inc i
    Endif
  Next
  Return i + 1

End

Ho aggiornato il progetto nella Software farm.

 :ciao:

Titolo: Re:Contare le righe di una ReportTextLabel
Inserito da: Gianluigi - 17 Febbraio 2019, 15:29:35
Ma la miseria se lo porti, anche così non funziona se imposto left e right su 25 mm. non va  :hatecomputer:

Forse dovrei cambiare strategia rispetto alle righe...

Inoltre il codice precedente potrebbe nascondere un altro malfunzionamento, se l'ultima riga è esatta dovrebbe aggiunge una riga vuota...
Titolo: Re:Contare le righe di una ReportTextLabel
Inserito da: naderit - 18 Febbraio 2019, 20:36:48
Ciao hai provato a cambiare font?
Titolo: Re:Contare le righe di una ReportTextLabel
Inserito da: Gianluigi - 18 Febbraio 2019, 22:27:52
No non è quello, non è la funzione che conta le righe, quello sbagliato è il codice con cui misuro la larghezza di stampa (iWidth).
So come rimediare ma ora non capisco come si fa a fermare il codice di apertura dell'anteprima se nel frattempo sopraggiunge un errore  :mad:

Non ho trovato nulla, mi rassegno ad usare Quit, però è davvero strano  :-\