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

Pagine: [1]
1
Programmazione / [RISOLTO]SetFocus di un TextBox che non và
« il: 31 Gennaio 2018, 21:51:10 »
Salve altro discorso.
Dovendo controllare che siano stati inseriti i dati richiesti nelle singole TextBox ho provato:
Codice: [Seleziona]
' chiusura
Public Sub btn_admin_insert_Click()
Dim xx As TextBox
Dim rr As Boolean

  For Each xx In my_panel_1.Children
    If (IsNull(xx.Text) = True) Then
      With Balloon
        .Warning("Campo vuoto !!", xx, (xx.W / 2), xx.Y)
      End With
      rr = False
      Break
    Endif
    rr = True
  Next
 
  If rr Then
    my_win_admin.Close(2)
  Else
    xx.SetFocus
  Endif
End

Facendo prove il balloon appare dove dovrebbe apparire (nel TextBox "saltato")
però ... il SetFocus non funge ! >:(
chi sà il perché ?
cosa ho sbagliato ?

Grazie  :ciao: :ciao:

2
Programmazione / SmtpClient Vs GMail : 0 a 1 anzi no
« il: 31 Gennaio 2018, 21:41:38 »
Salve  8)
come da titolo, ho inviato  richiesta d'aiuto alla mailig list come suggerito dal buon Gianluigi.
Ho avuto conferma di non aver capito un .... :-\ ..ciufolo !
cito testo di risposta integrale.
Citazione
Le 31/01/2018 à 21:10, Franco a écrit :
>
>
> Il 31/01/2018 18:59, T Lee Davidson ha scritto:
>> Try setting SmtpClient.Debug = True so you can see the exchange with the SMTP server as it happens.
> (Me)
> Thanks Lee for the time you dedicated to me.
> I was already aware of Google's restrictions on its mail server.
> obviously the SendMail component calls the default mail client, in my case Thunderbird, which already has the right settings for GMail.
> On the other hand, SmtpClient works well with another account that does not use OAuth2 as authentication.
> The only difference is graphic, with SmtpClient you can create an interface is more streamlined and simpler, as well as faster, Thunderbird intervenes with its GUI, a little more "cumbersome".
> But I do not find it right that Google indicates as less secure app all those not "Brand", perhaps to discourage ...?
> Please note that I am using an "automatic" Google translator to respond, so I hope there are no involuntary "nonsense".
> Thanks again, a dear greeting to you.
> vigiot
>

I have already sent mails through Google SMTP server, and it worked the last time I tried:

Dim hMsg As New SmtpClient

hMsg.Debug = True
hMsg.To.Add(...)
hMsg.Subject = "Test mail"
hMsg.Add("Something\n")
hMsg.From = "benoit.minisini@gmail.com"
hMsg.Host = "smtp.gmail.com"
hMsg.Encrypt = Net.TLS
hMsg.User = "benoit.minisini@gmail.com"
hMsg.Password = "*****"

hMsg.Send()

--
Benoît Minisini
di conseguenza proverò i giusti settaggi.

 :ciao: :ciao: :ciao:

3
Programmazione / [Risolto]invio email con SmtpClient (gb.net.smtp)
« il: 11 Gennaio 2018, 11:53:42 »
Salve, rieccomi
stavo cercando una soluzione per l'invio delle mail senza utilizzare il client di posta predefinito (nel mio caso Thunderbird)
credevo di aver trovato risposta con la classe di cui sopra ma ...
con il server GMail non funziona, una notifica dal server recitava più o meno:
 "L'app è stata bloccata perché non è aggiornata o considerata non sicura"  ???
controllando le impostazioni smpt su Thunderbird l'autenticazione è OAuth2.
e nella proprietà Authentication non compare  :-\
C'è la possibilità di risolvere il problema?
P.S. per ora utilizzo SendMail della clase Desktop per la bisogna seppur controvoglia.
Grazie
 :ciao: :ciao:

4
Salve
E' da un paio di giorni che sto cercando di generare da codice un MessageBox con i bordi arrotondati.
Ho provato con:
Codice: [Seleziona]
Public Sub my_message_box(responso As Boolean) As Boolean
'Dim my_win_box As Window ' posta nelle "Dichiarazioni"
Dim pc As Picture
Dim my_dwg As DrawingArea
Dim sPath As String

  ' una qualsiasi immagine png con sfondo trasparente
  ' con Width minore di questa finestra
  ' ed Heigth minore di 120 px.
  sPath = Application.Path &/ "fatture_user/image/vigiot.png"
  pc = Picture.Load(sPath)
  responso = False
  With my_win_box = New Window As "w_box"
    .Width = 450
    .Height = 160
    .Resizable = False
    .Border = False
    .Minimized = False
    .Background = Color.Transparent
    '.Opacity = 0
    .Mask = True
  End With
 
  With my_dwg = New DrawingArea(my_win_box) As "m_dwg"
    .X = 0
    .Y = 0
    .Width = my_win_box.Width
    .Height = my_win_box.Height
    .Background = Color.Transparent
  End With
  my_dwg.Cached = True
  With Paint
    .Begin(my_dwg)
    .Brush = Paint.Color(Color.DarkBlue)
    .LineWidth = 2.5
    .Rectangle(1, 1, my_win_box.Width - 2, my_win_box.Height - 2, my_win_box.Width / 6)
    .Stroke(False)
    .DrawPicture(pc, ((my_win_box.Width / 2) - pc.Height / 2), 20, pc.Width, pc.Height)
    .Brush = Paint.Color(Color.Black)
    .LineWidth = 1
    .Rectangle((my_win_box.Width / 2) - 30, my_win_box.Height - 32, 60, 20, 6)
    .Stroke(False)
    .MoveTo((my_win_box.Width / 2) - 14, my_win_box.Height - 16)
    .Font.Bold = True
    .Text("OK")
    .Fill(True)
    .End
  End With
  responso = my_win_box.ShowModal()
  Print responso
  Return responso
End

Public Sub m_dwg_MouseDown()
  If Mouse.X > ((my_win_box.Width / 2) - 70) Then
    If Mouse.Y > (my_win_box.Height - 30) Then
      my_win_box.Close(3)
    Endif
  Endif
End
Ma il rettangolo di sfondo appare comunque.
Settare " .Background = Color.Transparent "  della finestra non serve a nulla.    ???
Mentre   con " .Opacity = 0 "  la finestra non si vede proprio !    :o
In compenso il "finto bottone" funziona.
D'accordo che tutto il male non viene per nuocere però ... >:(
Non vorrei che il problema ( a parte quello che sta fra la sedia e la tastiera  :coder: ) fosse nel gestore di sistema delle finestre.  :hatecomputer:
Qualche suggerimento ?

 :ciao: :ciao:

5
Programmazione / [Risolto] Access forbiten file in scrittura
« il: 02 Novembre 2017, 23:26:07 »
Salve, ho riscontrato il problema tentando di scrivere un file di testo:
Codice: [Seleziona]
  If (my_response) Then
    my_file = Open "./fatture_user/Utente.ftr" For Write
    For i = 0 To 4
      Write #my_file, dati_utente[i]
    Next
    my_file.Close
  Endif
Ho provato anche con For Create ma nulla  >:(
perché compare questo errore?
Alla voce dell'errore c'è un laconico "mancano i permessi contattare l'amministratore"
amministratore ?  ??? permessi ??  ??? ???
non sto variando un file di sistema !
Che istruzione devo dare per scrivere questo benedetto file? :-\

Grazie
 :ciao:

P.S. non mi ricordo più come si fa a mettere [risolto] nel precedente topic  :-[ :-[  scusate ...

6
Programmazione / [Risolto]Comportamento inaspettato dei TextBox
« il: 31 Ottobre 2017, 23:47:37 »
Salve, altro problema che non so come risolvere ...
posto il codice, noterete (se lo provate) che al passaggio del mouse si attivano i text box
che dovevano restare "invisibili" e questo non va bene.  :evil:
ho provato con la propietà Enable a False, niente, Visible idem .... :hatecomputer:
Il percorso di inserimento deve essere obbligato ( a prova di ...), un inserimento alla volta.
Non so che pesci prendere ... :-\ :-\
Consigli ?
Grazie
 :ciao: :ciao:

7
Programmazione / [Risolto] Funzione da libreria esterna
« il: 26 Ottobre 2017, 23:38:32 »
Salve, ho un problema con una funzione della libreria "libcairomm-1.0" (ho usato questa perché "libcairo:2.1140-2.1" in usr/lib non cè)
che mi causa incomprensione è questa:
Codice: [Seleziona]
' void cairo_text_extents(cairo_t *cr,Const char * utf8,cairo_text_extents_t * extents);
' Gets the extents for a string of text.
Private Extern cairo_text_extents(cr As Pointer, utf8_string As String, extents As Pointer)
Da DevHelp:

void   cairo_text_extents(cairo_t *cr,const char *utf8, cairo_text_extents_t *extents);
Gets the extents for a string of text.

E non so come "tradurla" in quanto cairo_text_extents_t in realtà e una struttura.
Io ho una stringa che devo "centrare" in uno spazio specifico, la funzione di cui sopra mi ritorna la lunghezza della stringa.
Come posso fare ?
 :'(
Grazie  :2birre:

8
Programmazione / Generare un file immagine da una DrawingArea
« il: 16 Ottobre 2017, 00:47:59 »
Forse così ?  ???

9
Salve, eccomi di nuovo
Problemino, vorrei convertire una DrawinArea in Immagine per poi salvarla in pdf.
nel wiki ho trovato : Generare un file immagine da una DrawingArea se non ricordo male da vuotto (che profondamente ringrazio ..   :D)
ho inserito i codici:
Codice: [Seleziona]
Library "libX11:6.3.0"
Private Enum XYBitmap = 0, XYPixmap, ZPixmap
Private Extern XOpenDisplay(display_name As String) As Pointer
Private Extern XAllPlanes() As Long
Private Extern XGetImage(display As Pointer, d As Long, xI As Integer, yI As Integer, wid As Integer, hei As Integer, plane_mask As Long, formatI As Integer) As Pointer
Private Extern XCloseDisplay(display As Pointer)
e poi:
Codice: [Seleziona]
'' Creazione di un'immagine della DrawingArea
Private Sub Crea_Immagine()
  Dim dsp, XImage, dati_imm As Pointer
  Dim im As Image
  Dim st As Stream
  Dim i As Integer

  dsp = XOpenDisplay(Null)
  If dsp = 0 Then Error.Raise("Impossibile aprire una connessione al server X!")
  XImage = XGetImage(dsp, DwgArea1.Handle, 0, 0, DwgArea1.W, DwgArea1.H, XAllPlanes(), ZPixmap)
  If XImage = 0 Then Error.Raise("Impossibile ottenere un 'Puntatore' ai dati dell'immagine della DrawingArea !")
  dati_imm = Pointer@(XImage + 16)
  im = New Image(DwgArea1.W, DwgArea1.H)
  If IsNull(im) Then Error.Raise("Impossibile creare un oggetto 'Image' !")
  st = Memory im.Data For Write
  For i = 0 To im.W * im.H * Len(im.Format)
    Write #st, Byte@(dati_imm + i) As Byte
  Next
  st.Close
  im.Save("/home/franco/Test_Gambas/Casa_Serena/DwgArea1.png", 100)
  XCloseDisplay(dsp)
 
End
Ma qui mi sono arreso poiché mi dà questo errore:
Codice: [Seleziona]
If XImage = 0 Then Error.Raise("Impossibile ottenere un 'Puntatore' ai dati dell'immagine della DrawingArea !")

Ovviamente non ho la più pallida idea di come risolverlo. :-\
Uso Gambas3  ver. 3.5 su Debian 8.9
aiutino ... :'(
Grazie

10
Programmazione / [Risolto] Menu, SubMenu e ammennucoli vari
« il: 04 Ottobre 2017, 00:34:48 »
Buona serata a tutti
E' da poco che sto "giochicchiando" con Gambas, ho provato a modificare un codice dei Menù trovato sulla Guida della Comunità, ma ovviamente ho commesso degli errori dovuti alla mia ignoranza in materia.
Volevo porvi un quesito, anzi due...
primo: dove posso trovare una documentazione completa ( e magari esaustiva) di tutte le classi, funzioni e moduli vari, possibilmente visionabile "off line" ?
secondo: Vi posto il codice, la prima sub funziona ( Public Sub submn_Click() ) ma la seconda no.
Cosa manca?
Codice: [Seleziona]
' Dichiarazione d'intenti ...
Public mn_1 As Menu
Public submn As Menu
Public sub_submn As Menu


Public Sub _new()

End

Public Sub Form_Open()
Dim i, j As Integer
Dim testo1, testo2 As String
' creazione dei vari menù e sub menù ...
mn_1 = New Menu(Me, False)
mn_1.Caption = "Operazioni"
' ciclo per la creazione ...
For i = 0 To 3
  Select Case i
    Case 0
      testo1 = "Documento"
    Case 1
      testo1 = "Salva"
    Case 2
      testo1 = "Stampa"
    Case 3
      testo1 = "Esci"         
  End Select
  With submn = New Menu(mn_1, False)
    .Caption = testo1
    .Name = testo1
  End With
  Object.Attach(submn, Me, "SubMn")
  If i = 0 Then
    For j = 0 To 1
      Select Case j
        Case 0
          testo2 = "Crea"
        Case 1
          testo2 = "Richiama"
      End Select
      With sub_submn = New Menu(submn, False)
        .Caption = testo2
        .Name = testo2
        '.Action = sub_submn.Name
      End With
      Object.Attach(sub_submn, submn, "SubSubMn")
    Next
  Endif
  If i = 2 Then
    For j = 0 To 1
      Select Case j
        Case 0
          testo2 = "Crea file Pdf"
        Case 1
          testo2 = "Direttamente"
      End Select
      With sub_submn = New Menu(submn, False)
        .Caption = testo2
        .Name = testo2
      End With   
      Object.Attach(sub_submn, submn, "SubSubMn")
    Next
  Endif
Next

End

Public Sub submn_Click() 

' Riscontriamo quale sotto-voce abbiamo scelto:
  Message.Info("Hai premuto il sotto-menu: " & Last.Name)
  If Last.Name = "Esci" Then
    Me.Close
  Endif
End

Public Sub sub_submn_Click() 

' Riscontriamo quale sotto-voce abbiamo scelto:
  Message.Info("Hai premuto il sotto-sotto-menu: ")
 
End
   
 :-\ Vi ringazio  ;)
Citazione
"siamo tutti ignoranti ma fortunatamente non della stessa cosa"

Pagine: [1]