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

Pagine: 1 ... 275 276 [277] 278
4141
Segnalazione bug / [RISOLTO] Finestre di messaggio, possibile bug
« il: 07 Febbraio 2014, 10:56:39 »
 :-[
Chiedo anticipatamente scusa per eventuale sciocchezza, ma a me sembra che le finestre di avviso non funzionino bene almeno sul lato GTK+.
Uso 3.5.99.1+svn20140206+build18~ubuntu13.10.1
Per meglio esplicitarmi allego codice
Codice: [Seleziona]
' Gambas class file

'' Progetto grafico con aggiunta alla Main form una textlabel1
Public Sub _new()

End
'' Possibile bug nelle finestre di avviso?
Public Sub Form_Open()
Dim sMessaggio As String = "Devo dirvi qualcosa di importante, ma cosa?"
Message.Info(sMessaggio)
Message.Delete(sMessaggio)
Message.Error(sMessaggio)
'Message.Optional(sMessaggio, "Pippo", "Delete") ' scusate ma come funziona?
Message.Question(sMessaggio)
Message.Warning("Pare proprio che" & Chr(10) & "se non vado a capo" & Chr(10) & "non riesca a comunicare" & Chr(10) & "con voi. Ciao")
TextLabel1.Text = "grazie dell'attenzione"
End
Un saluto a tutti

4142
Programmazione / Re: Differenze fra testo disegnato e testo scritto
« il: 06 Febbraio 2014, 23:25:48 »
Ho preso una piccola pausa di riflessione ma nel frattempo non sono stato con le mani in mano e grazie ai favolosi consigli di fsurfing penso di essere arrivato ad una più che soddisfacente risoluzione del problema.
Be a dire il vero mi è stato brillantemente risolto da fsurfing ma non bisogna dimenticare il fattivo stimolante aiuto di vuott, specialmente quando mi ha mandato l'ambulanza, il ricovero penso (o almeno spero) che mi abbia fatto bene. :)
In effetti in questa discussione ho inserito del codice che può nuocere gravemente alla salute mentale e me ne scuso.
A parte gli scherzi grazie davvero dei vari aiuti e consigli.
Però siccome al peggio non c'è mai fine insisto e vi propino la (mia?) soluzione.
Occorre fare una premessa all'inizio della terza pagina di questa discussione fsurfing mi consigliava già la soluzione: :-[

procedendo empiricamente, nel tuo programma il rapporto per il font dovrebb essere 0.744....
ti consiglio di creare la seguente funzione:
Codice: [Seleziona]
public sub ridimensiona(size as float)as float
   If Paint.Device = da Then
        Return size * 0.744
   Else
        Return size
   Endif
end
in questo modo nel modulo disegno per cambiare font darai
paint.font.size=ridimensiona(15)
così il programma cambierà automaticamente la dimensione del font nel caso tu stia stampando oppure disegnando a schermo

ma ai me io non l'ho capita subito e siccome sono di coccio anche dopo che mi sono reso conto che funzionava benissimo ho avuto bisogno di ulteriori delucidazioni e voi non ci crederete ma ho ancora delle domande da pormi e da porvi.

Comunque andiamo per ordine ho esemplificato “a modo mio” come ottenere un preciso riscontro fra il testo e il disegno mostrato a video, con quanto andremo poi a stampare.

Per il codice che segue ho tratto ispirazione dal codice mostrato negli esempi di Gambas – esempi di disegno.

Codice: [Seleziona]
' Gambas class file

'' Ho creato questo esempio come progetto grafico con l'aggiunta alla Main form (l.800x500 circa)di una DrawingArea nominata "da".
'' Una textbox1 e tre button Disegna, Stampa e Cancella.
'' Questo esempio è stato ispirato dall'esempio di disegno degli esempi di Ganbas.

Private fFontVideo As Float
Private fFontOrig As Float
'Private sFont As String
Private sTestoText As String
Private miaStampante As Printer
Private Const MM_X_PX As Float = 0.352778 'per mutare millimetri in pixel e viceversa
Private Const F_FSURFING_VIDEO As Float = 0.744 ' Per creare il giusto font a video :)
Private Const F_GAMBERETTO_STAMPA As Float = 1.3441 ' Per riportare il font alle giuste proporzioni :)


Public Sub _new()

End

Public Sub Form_Open()

  miaStampante = New Printer As "Stampa"   
  'Avrei voluto usare una fontbox ma non sono riuscito a capire come funziona
  'e allora accontentiamoci.
  sTestoText = "TO BE OR NOT TO BE: THAT IS THE QUESTION"
  fFontOrig = 26
  da.W = 210 / MM_X_PX
End

'' Non ho inserito questa bella funzione di fsurfing nel codice perchè mi confondevo durante il ciclo di ridimensionamento
'' ma occorre che ci ritorni su comunque la riporto per conoscenza.
'' Poi nel codice la si usa così: Paint.Font.size = ridimensiona(11)
 
''Public Sub ridimensiona(size As Float) As Float

'   If Paint.Device = da Then
'        Return size * 0.744
'   Else
'        Return size
'   Endif


''End




Public Sub Stampa_Draw()
 
  DisegnoX("Stampante")
 
End

'' Qui si sarebbe dovuta(?) usare la funzione Paint.Device al posto della string sDevice
'' ...ma le vecchie abitudini sono dure a morire.
Public Sub DisegnoX(sDevice As String)
 
  Dim fLarghezza, fAltezza As Float
  Dim fSpazInLarg, fSpazInAlt As Float
   
    Select Case sDevice
      Case "Video"
        da.Cached = True
        da.Clear       
        Paint.Begin(da)       
        'Paint.Scale(1.2, 1.2) '' Qui non ho capito bene se si può zoomare senza agire sui font!
      Case "Stampante"
        Paint.Begin(miaStampante)
      Case Else
        ' Avete idea di quale altro caso?
        Return
    End Select   
   
    'Spazi iniziali di 20 mm.
    fSpazInLarg = 20 / MM_X_PX
    fSpazInAlt = 20 / MM_X_PX
    fLarghezza = 150 / MM_X_PX
    fAltezza = 80 / MM_X_PX   
   
    Paint.Background = Color.Black     
    Paint.Rectangle(fSpazInLarg, fSpazInAlt, fLarghezza, fAltezza)
    Paint.Stroke(True)
    Paint.Save
    Paint.Clip   
    Paint.Font.Size = fFontVideo
    Print Paint.Font.Size   
    Print Paint.Font.TextWidth(sTestoText)
   
    'Qui inserisco un ciclo per ridurre la scritta e farla stare all'interno del rettangolo.   
    While Paint.Font.TextWidth(sTestoText) > fLarghezza
      Paint.Font.Size = Paint.Font.Size - 0.1
    Wend
    If sDevice = "Stampante" Then Paint.Font.Size = Round(Paint.Font.Size * F_GAMBERETTO_STAMPA, -2)
    Print Paint.Font.Size
    'Paint.Restore     
    Paint.Text(sTestoText, fSpazInLarg, fSpazInAlt + 50)
    Print sTestoText
    Paint.Fill(True)
    Paint.Restore   
    Paint.Font.Size = fFontVideo
    If sDevice = "Stampante" Then Paint.Font.Size = Round(Paint.Font.Size * F_GAMBERETTO_STAMPA, -2)
    Print Paint.Font.Size
    'Paint.Background = Color.Blue
    Paint.Text(sTestoText, fSpazInLarg, fSpazInAlt + 100)
    Paint.Fill
    Paint.End   
End





Public Sub Button3_Click()

  ' Invece di cancellare e basta ripristina la scritta di default
  ' altro trucco copiato ma non mi ricordo più da chi :)
  TextBox1.Text = "TO BE OR NOT TO BE: THAT IS THE QUESTION"

End



Public Sub Button1_Click() 
 
  fFontVideo = Round(fFontOrig * F_FSURFING_VIDEO, -2)
  Print fFontVideo
  'Disegna
  DisegnoX("Video")

End

Public Sub TextBox1_Change()

  sTestoText = TextBox1.Text

End

Public Sub Button2_Click()
'' Come giustamente ricorda fsurfing se vuoi risparmiare carta stampa le prove su file PDF.
   fFontVideo = Round(fFontOrig * F_FSURFING_VIDEO, -2)
   With miaStampante   
     If .Configure() Then Return 
    'Verticale
    .Orientation = 0   
    .PaperWidth = 210
    .PaperHeight = 297     
    '.OutputFile = "/home/gianluigi/ProvaGambas.pdf" ' vedi sotto!
        '' metti il tuo nome^                 
   
    .Resolution = 300 ' Desktop.Resolution  '200  '100     
    .FullPage = True 'parte da X0 e Y0 di paper   
    'Print .Resolution
  End With
 
  Me.Enabled = False
  Inc Application.Busy
  miaStampante.Print
  Dec Application.Busy
  Me.Enabled = True

End


Per quelli che come me sono poco istruiti riporto l'esemplificazione di come è stato ottenuto il fattore video fattami da fsurfing che è veramente chiara, io per mia maggiore comprensione ho inserito dei numeri che ho lasciato e messo fra parentesi:

Codice: [Seleziona]
''###################################codice di esempio####################################################
 
  Paint.Font.Name = "Ubuntu"
  Paint.Font.size = 11
 
  'sapento che un il testo "TESTOCORTO" IN UBUNTU 11  in stampa occupa 24mm in larghezza
  'procedo empiricamente costringendo il programma a diminuire il font finchè la larghezza corrisponde
  While Paint.Font.TextWidth("TESTOCORTO") > 24 / fMm_x_Dot ' (0.352778)
    Paint.Font.Size = Paint.Font.Size - 0.1
  Wend
  'uscendo da while il font avrà la dimensione corretta
  font_finale = Paint.Font.size
 
  'ora creo un equazione
  'dim_font_campione:font_finale=nuovo_font:x
 
  'quindi:
  'dim_font_campione/font_finale=nuovo_font/x
  '********* (11) **** (8.184) **(es.26)
  'ovvero
  'xr=nuovo_font*(font_finale/dim_font_campione)
  '
  'considerando
  r = font_finale / 11
  'e quindi
  'il font da usare per mostrare a video le giuste proporzioni va moltiplicato per r
  Message.Info("il rapporto per il video è: " & Chr(10) & Round(r, -4)) ' round serve per arrotondare
 
  '##################fine codice di esempio########################################################################################

Continuando con lo stesso ragionamento e udite udite si potrebbe quasi sostenere che è farina del mio sacco:
z = Round(11/8.184,-4)  che corrisponde a 1.3441 ora abbiamo anche il fattore che ci riporta un font proporzionato alla stampa e che serve come avete visto nell'esempio di codice quando dobbiamo rimpicciolire i caratteri per far rientrare la stringa in uno spazio più piccolo.

Bene io spero che questa discussione sia stata proficua, per me lo è stata moltissimo ho imparato diverse cose fra cui una molto confortevole che ci sono persone che si aiutano e questo fa sempre bene all'umore.

Comunque prima di mettere RISOLTO sarà meglio che attenda un attimino i vostri pareri e poi non vorreste rispondere alle ultime domande scusate? ;)  :ok:

4143
Programmazione / Re: Differenze fra testo disegnato e testo scritto
« il: 04 Febbraio 2014, 00:36:05 »
Ti lascio il brivido della ricerca su questo forum !  ;D

Si lo so ho scritto una cavolata ma sono alla frutta delle idee,   :rolleyes:  e anche se non faccio la ricerca posso immaginare

buonanotte  :ciao:

4144
Programmazione / Re: Differenze fra testo disegnato e testo scritto
« il: 04 Febbraio 2014, 00:17:28 »
...secondo me, a questo punto, sta prendendo il sopravvento la ceskhonite !  

Che cosa è la  ceskhonite :)

4145
Programmazione / Re: Differenze fra testo disegnato e testo scritto
« il: 03 Febbraio 2014, 23:36:38 »
Diciamo che si può sempre agire in diversi modi, nel tuo caso mi e sembrato piu semplice giocherellare con il font lasciando il resto invariato.
Facendo delle prove con il tuo software modificato tutto sembra funzionare correttamente ed il testo occupa il giusto spazio anche a monitor

Guarda un po questo codice a me restituisce un foglio A4 esatto esatto, ma non ho idea del perché  ;)

Codice: [Seleziona]
' Gambas class file

'' Solita DrawingArea denominata da
Private fRatio As Float
Private fRatioS As Float
Private fRatioD As Float
Private Const MM_X_DOT As Float = 0.352778
Public Sub _new()

End

Public Sub Form_Open()
  fRatioS = CFloat(Screen.Width / Screen.Height)
  fRatioD = CFloat(Desktop.Width / Desktop.Height)
  fRatio = Frac((fRatioD + fRatioS) / 2)
  Me.H = 210 / MM_X_DOT / fRatio
  Me.W = 297 / MM_X_DOT / fRatio
  da.X = 0
  da.Y = 0
  da.H = Me.H
  da.W = Me.W
End

4146
Programmazione / Re: Differenze fra testo disegnato e testo scritto
« il: 03 Febbraio 2014, 22:45:18 »
procedendo empiricamente, nel tuo programma il rapporto per il font dovrebb essere 0.744...
Questa è bella mentre io mi convinco che viste tutte le cose dette dovrò agire sul foglio e sul disegno ricalibrandoli tu ti convinci del contrario o eri già convinto e io ho capito tutto l'opposto. ???
Mi sento come quei cagnolini che cercano di morsicarsi la coda troppo corta :rolleyes:

4147
Programmazione / Re: Differenze fra testo disegnato e testo scritto
« il: 03 Febbraio 2014, 21:10:52 »
Ho provato il tuo applicativo, che mi hai invato in privato, e mi sembra che funzioni bene. 

Grazie ma se funzionasse non sarei a...  ;) rompere

Piuttosto vorrei fare il punto della situazione e cioè ricapitolare quanto fino ad ora è emerso:

Che inserendo disegni con misure in millimetri, attraverso un fattore, ottenevo dalla stampante,  misure precise al decimo di millimetro qualunque risoluzione di stampa io usassi.
Che se inserivo del testo dentro i disegni quest'ultimo appariva a video sproporzionato rispetto al disegno salvo poi essere stampato di giusta misura se lasciato uguale, oppure molto più piccolo se ridotto per rientrare nel disegno stesso.
Subito ho pensato fosse colpa del font e ho cercato di scalarlo sul disegno.
Ma credo, anche sulla base di quanto fsurfing ha detto e mostrato attraverso il suo codice e anche ribadito da te, che io debba concentrarmi sullo scalare o meglio aumentare le proporzioni del disegno.
Anche perché se apriamo LibreOffice con zoom 100% e scriviamo una parola, la stampiamo e quindi sovrapponiamo il foglio A4 al monitor vediamo l'esatta corrispondenza fra stampa e video, corrisponde tutto sia foglio che scritta!
Se invece stampo il foglio fustellato l'unica cosa che corrisponde è la scritta dei numeri il resto è molto più piccolo, ma basta fare una semplice prova empirica senza bisogno di stampare, si conforma una drawingarea sfondo bianco a .W 297 / 0.3527 e .H 210 / 0.3527 avendo il form che la possa contenere (bastano uguali misure) e poi sovrapporre il foglio A4.
Quindi è chiaro che occorre trovare il rapporto tra la risoluzione video lo screen e la risoluzione stampa, ma la vedo dura per uno con studi matematici elementari come il sottoscritto.  :-\
Comunque un passo avanti, grazie a voi l'ho fatto, speriamo bene.
Salutoni :ciao:

4148
Programmazione / Re: Differenze fra testo disegnato e testo scritto
« il: 02 Febbraio 2014, 21:11:28 »
la risoluzione video è sempre uguale ovvero 85 dpi,
quello che cambia è la risoluzione di stampa è la dimensione del tuo foglio "virtuale"...
ps: il tuo programma a risoluzioni diverse stampa in modo diverso perchè il rapporto fMm_x_Dot è fisso

 :-[
Scusa ma si vede che oggi proprio non ci sto con la testa.
Nella mail non ti ho scritto che misure di foglio reale io provavo:
Orizzontale - A4 - Larghezza et. 38,1 - Altezza et. 63,5 - 7 etichette per riga - 3 per colonna -Spazio iniz. 14,8 in larghezza - 6,8 in altezza - Spazio fra et. 0 in larghezza - 3 in altezza.

scusa e ciao


4149
Programmazione / Re: Differenze fra testo disegnato e testo scritto
« il: 02 Febbraio 2014, 20:45:33 »
la risoluzione video è sempre uguale ovvero 85 dpi,
quello che cambia è la risoluzione di stampa è la dimensione del tuo foglio "virtuale"...
ps: il tuo programma a risoluzioni diverse stampa in modo diverso perchè il rapporto fMm_x_Dot è fisso

Scusa ma a me la stampante stampa sempre uguale sia con risoluzione a 100 che a 600 ecc. ??? :rolleyes:

Aiuto!

4150
Programmazione / Re: Differenze fra testo disegnato e testo scritto
« il: 02 Febbraio 2014, 20:14:44 »
invece si...
la cosa strana di gambas è che il testo non segue le stesse proporzioni della parte grafica, quindi bisogna giocherellare con le dimensioni tra una modalità e l' altra

Allora è certo che la parte testo non segue le stesse regole della parte disegno?
Vuoi dire che il foglio fustellato funziona anche a te con tutte le differenti risoluzioni?
Però ci sarà un modo "universale" per trattare pure il testo es. 0,3527 del rapporto mm. px, magari a seconda della risoluzione video?
E' questo che intendi ???

4151
Programmazione / Re: Differenze fra testo disegnato e testo scritto
« il: 02 Febbraio 2014, 18:45:10 »

Ad ogni modo, mi viene in mente che - se non erro - Gianluigi non aveva posto la questione delle dimensioni in termini di "proporzione" (fra schermo e stampato), bensì in termini assoluti.

Sbaglio ?  ???

No non sbagli :ok:

4152
Programmazione / Re: Differenze fra testo disegnato e testo scritto
« il: 02 Febbraio 2014, 15:25:03 »
io per ottenere una stampa "precisa" al millimetro ... esempio.

Grazie molte per l'esempio che ora vado a studiare, poi mi faccio vivo  :D

ps per non sprecare carta si stampa su pdf :)

E ancora grazie per il suggerimento :D

4153
Programmazione / Re: Differenze fra testo disegnato e testo scritto
« il: 01 Febbraio 2014, 21:29:20 »

Sì, ma solo in lunghezza, e per circa 7 millimetri.

Non abbiamo nella WIKI traduzioni da altri testi.
Forse potresti creare una discussione ad hoc qui nel forum, ed allegarvi il file compresso della tua traduzione. Io penso, però, che sarebbe opportuno consultare ed attendere...

Per l'ultima parte ti ringrazio del consiglio, aspetterò. Iinvece per quanto riguarda i 7 millimetri mi mandi nello sconforto, cosa mi consigli di fare dove posso trovare una guida che mi possa aiutare a comprendere l'arcano, sempre che io sia in grado di capire. :'(

4154
Programmazione / Re: Differenze fra testo disegnato e testo scritto
« il: 01 Febbraio 2014, 21:00:00 »

Questa è la seconda parte di codice che attraverso alcune aggiustature riesce a ottenere misure abbastanza simili al reale.
A me invece stampa il rettangolo un pochino più grande di quello che vedo nello schermo, ed il testo molto più grande di quello sullo schermo.
[/quote]

Intendi dire che la scritta trasborda il rettangolo?

4155
Programmazione / Re: Differenze fra testo disegnato e testo scritto
« il: 01 Febbraio 2014, 20:49:09 »
 :-[
Scusate ma credo occorra una precisazione quando scrivo “altro software” io non intendo un altro software per programmare ma per esempio scrivendo con Libre Office o Scribus o Inkscape.
Per programmare io uso e userò solo il sublime Gambas che mi avanza e cresce.
Faccio presente che ho cancellato Windows 7 Professional e da ora in poi userò solo Linux e nient'altro che Linux amen.
Devo imparare tante di quelle cose che non posso essere distratto da nulla che non sia Gambas in Linux.
A proposito per studiare ho fatto delle traduzioni(acce) di alcuni capitoli di A Beginner's Guide to Gambas – Revised Edition, e qualcosa ho trovato già in internet. In particolare ho tradotto il capitolo sui DB se interessa posso inviarlo.
Ciao a tutti.

Pagine: 1 ... 275 276 [277] 278