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

Pagine: 1 2 [3] 4 5 6
31
Programmazione / Re:[Risolto] Access forbiten file in scrittura
« il: 04 Novembre 2017, 01:45:24 »
Dal wiki:
Citazione
Usare la funzione write( ) con la funzione fopen( )
Comunque ho trovato la "quadra" con:
Codice: [Seleziona]
Public Sub btn_reqins_Click()
Dim pnt1, pw, pr As Pointer
Dim i As Byte
Dim er_t As String
Dim dati_utente As String[]
Dim my_str As String

  ' popoliamo i campi utente ...
  dati_utente = New String[]
  dati_utente.Add(campi_utn[0] & utn_tb1.Text & "\n", 0)
  dati_utente.Add(campi_utn[1] & utn_tb2.Text & "\n", 1)
  dati_utente.Add(campi_utn[2] & utn_tb8.Text & "\n", 2)
  dati_utente.Add(campi_utn[3] & utn_cb1.Text & " " & utn_tb3.Text & " " & utn_tb4.Text & " " & utn_tb5.Text & " " & utn_tb6.Text & " " & utn_tb7.Text & "\n", 3)
  dati_utente.Add(campi_utn[4] & utn_tb9.Text, 4)
  ' ora prepariamo il puntatore per il file da aprire in scrittura ...
  pnt1 = fopen("./fatture_user/Utente.ftr", "w")
  If pnt1 = Null Then
    er_t = "Impossibile aprire il file Prestazioni causa:\n" & Error.Text
    Message.Error(er_t)
  Else
    ' ... adesso i dati ...
    For i = 0 To 4
      'dati_utente[i]
      pw = Alloc(dati_utente[i])
      fwrite(pw, 1, Len(dati_utente[i]), pnt1)
    Next
  Endif
  my_response = True
  Free(pw)
  fclose(pnt1)
  requestwind.Close()
End
E funziona!  ;D ;D ;D
Grazie a tutti per il supporto, una menzione particolare a Gianluigi e a vuott per la pazienza e i codici.  :2birre: :2birre:
Quando tutto "l'ambaradan" funzionerà a dovere mi occuperò della pacchettizzazione i. .deb
Non temete vi "romperò i ..." ancora  ;D ;D ;D
 :ciao: :ciao:

32
Programmazione / Re:Access forbiten file in scrittura
« il: 04 Novembre 2017, 00:26:33 »
La cartella è presente, ed ha accesso a tutti sia in lettura che in scrittura.
So che tu non ami molto l'uso delle librerie esterne ma ..
Codice: [Seleziona]
Try my_file = Open "./fatture_user/Utente.ftr" For Write
  If Error Then
    er_t = "Impossibile aprire il file Prestazioni causa:\n" & Error.Text
    Message.Error(er_t)
  Else
    Write #my_file, my_utente.nome_completo
    my_file.Close
  Endif

questo non funziona mentre ..
Codice: [Seleziona]
pnt1 = fopen("./fatture_user/Utente.ftr", "w")
il file lo crea.
Ora devo capire bene quale funzione usare per scriverci dentro, ci sto lavorando.  :-\
Sto provando con
Codice: [Seleziona]
' ssize_t write (int __fd, const void *__buf, size_t __n)
' Write N bytes of BUF to FD.
Private Extern write_C(__fd As Integer, __buf As Pointer, __n As Long) As Long Exec "write"

my_str = my_utente.nome_completo
  pnt2 = VarPtr(my_str)
  write_C(Int@(pnt1 + 122), pnt2, 54)
ma non funge.  ??? ???

Grazie
 :ciao: :ciao:

33
Programmazione / Re:Access forbiten file in scrittura
« il: 03 Novembre 2017, 22:34:14 »
Citazione
Penso che tu sappia che linux attribuisce i permessi di lettura, scrittura, esecuzione a ciascun file o cartella in relazione a ciascun utente.
Devi controllare che la cartella e sotto cartelle siano accessibili all'utente in uso.

Avevo già provato (ma senza risultato) a modificare i permessi in modo che "tutti" avevao il permesso di leggere e scrivere. 8)

Citazione
Mi sa che devi studiarti meglio i percorsi relativi, dai un occhio a questo

ti porto ad esempio :
Codice: [Seleziona]
Public Sub load_prestazioni()
  Dim my_file As File
  Dim s$, er_t As String
 
  Try my_file = Open "./fatture_user/Tipo_Prestazioni.ftr" For Read
  If Error Then
    er_t = "Impossibile aprire il file Prestazioni causa:\n" & Error.Text
    Message.Error(er_t)
    Return
  Endif

  lista_prestaz = New String[]
  While Not Eof(my_file)
    Line Input #my_file, s$
    lista_prestaz.Add(s$)
  Wend
  num_prestaz = lista_prestaz.Count - 1
  my_file.Close
End
in questo caso il percorso "relativo"  funziona. 8)
In realtà credo che vi sia qualcosa da "settare" in Gambas per poter aver accesso in scrittura,
poiché se uso la libreria esterna "libc:6" riesco a creare senza patemi d'animo il file ... ;)
Non solo ma anche l'istruzione "Mkdir" nativa di gambas si rifiuta !  ???
Quindi mi si avvalora l'idea dei presunti "settagi" di prima.

Grazie  :ciao: :ciao:
 

34
Programmazione / Re:Access forbiten file in scrittura
« il: 03 Novembre 2017, 02:48:09 »
Probabilmente ho fatto confusione, non ho un file da aprire.
il file non esiste, lo devo creare ex novo, scrivendoci i dati raccolti.
La dir in cui deve essere salvato il file è quella direttamente superiore.
"./ "
Mi spiego meglio
il progetto è situato nella cartella " x " in cui c'è la cartella " y " al cui interno devo salvare il file " z "
quindi l'istruzione dovrebbe essere:
my_file = Open "./y/z" for Write ( o Create).
Ma non funziona e non so il perché
 ???

Grazie  :ciao:

35
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 ...

36
Programmazione / [Risolto]Comportamento inaspettato dei TextBox
« il: 02 Novembre 2017, 22:08:56 »
Avevo letto il post di Gianluigi tardi  :-[
Scusate. :-[

Ciò non toglie che Vi sia grato per l'aiuto che avete dato e per quello che vorrete darmi.
Per me la sintassi di Gambas è ancora sconosciuta, apprendo poco per volta.
Sin'ora avevo usato il c++ con wxWidget per Win, poi il c per il gtk++, la mia ultima versione funziona (più o meno)
Sto provando con Gambas per risolvere i problemi.
Ci vorrà un po di tempo, pazienza.

Grazie  :D
 :ciao: :ciao:

37
Programmazione / [Risolto]Comportamento inaspettato dei TextBox
« il: 01 Novembre 2017, 23:07:36 »
Ho risolto con i valori Interi dei tasti:
Tasto tab -> 167772170
Tasto "Return" -> 16777220
Tasto "Enter" -> 16777221
 ;)

Grazie e a presto con un nuovo post  ;D
 :ciao: :ciao:

38
Programmazione / Re:Comportamento inaspettato dei TextBox
« il: 01 Novembre 2017, 16:16:38 »
Ok !  :D
Key.Tab funziona
Ma se ...
Codice: [Seleziona]
Public Sub tb1_KeyPress()
  voci_utn = 1
  If (Key.Code = Key.Tab) Or (Key.Code = Key.Enter) Then
funziona key.Enter solo dal tastierino numerico  ???
Citazione
Come ho già avuto modo di dirti, stai usando Gambas in modo non gambas, vedi se questo codice può aiutarti:
Dipende da quello che intendi tu ...
Per me Gambas è un modo di ottenere ciò che intendo in modo un po meno "complicato" .. 8)
Grazie per i tuo aiuto  :D :D
Ora proseguo più tranquillo, ci siamo quasi, il più e fatto, la meta è più vicina  ...  :yeah:
 :ciao: :ciao:

39
Programmazione / Re:Comportamento inaspettato dei TextBox
« il: 01 Novembre 2017, 09:55:55 »
Con questo sarei a posto !!!
 :rotfl: :rotfl: :rotfl:
nell' attesa di poter risolvere passo oltre ...
 sanmidi
Che il mio portatile sia posseduto ?
W.Y.S.I.W.Y.W.   no ... :( :(

Grazie e  :ciao: :ciao:

40
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:

41
Programmazione / Re:[Risolto] Funzione da libreria esterna
« il: 31 Ottobre 2017, 23:40:10 »
Vero! E' semplice  ;D ;D
Ma ho posto male il quesito.
Volevo sapere se in qualche modo è possibile visualizzare l'immagine con cairo,
avendo già inserito nel codice i dati dell'immagine in formato xpm.
il brano del codice che ho postato funziona con Gtk+ attraverso Gdk pixbuf.
Qui uso il componente gb.qt4.  8)

Grazie
 :ciao: :ciao:

42
Programmazione / Re:[Risolto] Funzione da libreria esterna
« il: 30 Ottobre 2017, 01:06:22 »
cairo_move_to(cairo, (448 - (my_width / 2)), 295)
si, si può scrivere anche:
cairo_move_to(cairo,(448-(my_text_extents.width/2)),295)
ottieni lo stesso risultato, ma usando una variabile in meno ... 8)
che tu sappia si può caricare un'immagine da file (es. xpm) ?
negli esempi che ho visto, il "load" avviene con un file immagine su disco.
Cioè se io scrivo nell'editor un file tipo:
Codice: [Seleziona]
/* XPM */
static const char * arrow_left_xpm[] = {
"16 16 3 1",
" c None",
". c #000000",
"+ c #FFFFFF",
"                ",
"                ",
"           ..   ",
"         ....   ",
"       ......   ",
"     ........   ",
"   ..........   ",
"  ...........   ",
"  +..........   ",
"   ++........   ",
"     ++......   ",
"       ++....   ",
"         ++..   ",
"           ++   ",
"                ",
"                "};
e volessi visualizzarlo come immagine esiste una cosa come questa ?
Codice: [Seleziona]
GdkPixbuf *image_2;
image_2 = gdk_pixbuf_new_from_xpm_data((const char **)arrow_left_xpm);
gdk_cairo_set_source_pixbuf(cr1, image_2, 430, 8);
cairo_rectangle(cr1,430, 8, 134, 89);
cairo_fill(cr1);
ecc. ecc.
:-\
Oppure va in conflitto con gb.qt ?
Grazie  :ciao: :ciao:

43
Programmazione / Re:[Risolto] Funzione da libreria esterna
« il: 29 Ottobre 2017, 19:49:41 »
Questo è uno ...
Codice: [Seleziona]
Public Sub scrivi_intestazioni(cairo As Pointer)
 Dim my_text_extent As New Cairo_text_extents_t
 Dim ptn As Pointer
 Dim my_width As Float
 
  ptn = Alloc(Object.SizeOf(my_text_extent), 1)
 
  cairo_set_source_rgb(cairo, 0.0, 0.0, 0.0)
  cairo_select_font_face(cairo, "Liberation Serif", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL)
  cairo_set_font_size(cairo, 16)
  cairo_move_to(cairo, 250, 108)
  cairo_show_text(cairo, "FATTURA N°")
  cairo_set_font_size(cairo, 9.0)
  cairo_text_extents(cairo, "Tipo prestazione", ptn)
  my_text_extent = ptn
  my_width = my_text_extent.width
  cairo_move_to(cairo, (169 - (my_width / 2)), 295)
  cairo_show_text(cairo, "Tipo prestazione")
  cairo_text_extents(cairo, "Ore / Prestaz.", ptn)
  my_text_extent = ptn
  my_width = my_text_extent.width
  cairo_move_to(cairo, (368 - (my_width / 2)), 295)
  cairo_show_text(cairo, "Ore / Prestaz.")
  cairo_text_extents(cairo, "Onorario €", ptn)
  my_text_extent = ptn
  my_width = my_text_extent.width
  cairo_move_to(cairo, (448 - (my_width / 2)), 295)
  cairo_show_text(cairo, "Onorario €")
  cairo_text_extents(cairo, "Importo €", ptn)
  my_text_extent = ptn
  my_width = my_text_extent.width
  cairo_move_to(cairo, (536 - (my_width / 2)), 295)
  cairo_show_text(cairo, "Importo €")
  Free(ptn)
End
e già che c'ero...  ;)
Codice: [Seleziona]
Public Sub test_pdf()
  Dim surface, pattern, pagina_1, pagina_2 As Pointer
  Dim x, y As Byte
 
  surface = cairo_pdf_surface_create("/home/franco/Scrivania/test.6_Cairo.pdf", 595.3, 841.9)
  'cairo = cairo_create(surface)
  pagina_1 = cairo_create(surface)
  pagina_2 = cairo_create(surface)
  prima_pagina = True
  '' Disegna la prima pagina (Originale)
  disegna_modello(pagina_1)
  scrive_logo(pagina_1)
  scrivi_data(pagina_1)
  scrivi_intestazioni(pagina_1)
  scrivi_ultime(pagina_1)
  cairo_show_page(pagina_1)
  prima_pagina = False
  '' Disegna la seconda pagina (Copia)
  disegna_modello(pagina_2)
  scrive_logo(pagina_2)
  scrivi_data(pagina_2)
  scrivi_intestazioni(pagina_2)
  scrivi_ultime(pagina_2)
  cairo_show_page(pagina_2)
  ''Finito !
  cairo_destroy(pagina_1)
  cairo_destroy(pagina_2)
  cairo_surface_destroy(surface)
  Message.Info("Creazione completata")
 
End
Tra le altre cose quel puntatore servirà anche per disegnare sulla Drawing Area.   ;)
Vorrei chiederti (se posso) una volta che ho finito, vorresti testarlo ?  :-[
Una cosa è certa, senza il tuo aiuto credo che avrei rinunciato.  :ok:
Grazie ancora
 :ciao: :ciao:

44
Programmazione / Re:[Risolto] Funzione da libreria esterna
« il: 29 Ottobre 2017, 00:04:28 »
Presumo che la versione/revisione di gambas che ho io sia più vecchia della tua.
D'altronde devo aggiornare il mio debian alla versione 9.1, pare che gambas3 installabile sia più recente.
Mah staremo a vedere ???
Prossima sfida, usare un'icona come pulsante, tipo le finestre di sistema "doppio Click" ed esegue ...

45
Programmazione / Re:Funzione da libreria esterna
« il: 28 Ottobre 2017, 23:53:21 »
Che dire Grazieeee  ;D ;D :2birre: :2birre:
Provato con Alloc() e funziona.
ma con l'ultima modifica (tuo post successivo) mi da lo stesso errore.
Ad ogni buon conto l'importante è che il problema sia stato risolto.
Grazie a te ...

Citazione
Se un programma non funziona o funziona male, il problema è fra la sedia e la tastiera ....
  :rotfl:
metterò risolto con infinito piacere
Grazie  :ciao: :ciao:

Pagine: 1 2 [3] 4 5 6