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

Pagine: 1 2 [3] 4
31
Se utilizzo WAIT l'applicazione è bloccata fino alla fine del processo?

32
@ Ceskho
Citazione
Puoi semplicemente dare:   SHELL "lpr " & Application.Path & "/report.ps" WAIT   senza assegnare a nessuna variabile...a meno chè tu non voglia effettuare dei controlli sul comando.


che tipo di controllo posso effettuare su una variabile di tipo Process

DIM hStampa AS Process
hStampa = SHELL ("lpr " & Application.Path & "/report.ps") WAIT


Una variabile di tipo Process è legata all'esecuzione di una applicazione esterna?
hstampa = SHELL "evince \"" & User.Home & "/report.ps\""

33
Dimmi se ho capito:

Quindi la stampa passa sempre attraverso la creazione di un file .ps

hStampa = SHELL ("lpr " & Application.Path & "/report.ps") WAIT
stampa direttamente sulla stampante predefinita, e il comando WAIT attende la fine dell'invio dei dati alla stampante per ridare il focus all'applicazione.


hstampa = SHELL "evince \"" & User.Home & "/report.ps\""
fa l'anteprima di stampa e mi fa aprire la finestra di dialogo delle stampanti.
E se il programma evince (o un altro visualizzatore indicato nel comando) non è installato sulla macchina?

34
Allego le bozze dei primi report che si devono realizzare, non sono complessi e penso che si possano disegnare da codice con il comando DRAW.

I report che ho già realizzato, creano un file .ps che poi vado ad aprire con il seguente comando:
SHELL "evince \"" & User.Home & "/report.ps\""

Come si fa a aprire la finestra di dialogo delle stampanti senza passare per 'evince'?

35
Segnalazione bug (Gambas 2) / Re: Utilizzo Ctrl-C e Ctrl-V
« il: 11 Maggio 2009, 16:23:24 »
Forse ho individuato il colpevole.
Ho una tastiera marca Microsoft, oggi la rottamo.

36
Nella documentazione ho trovato queste funzioni per la stampa della immagini, sembrano perfettamente uguali.
Tu le hai utilizzate?

Draw.Image (gb.qt)
Syntax

STATIC SUB Image ( Image AS Image, X AS Integer, Y AS Integer [ , Width AS Integer, Height AS Integer, SrcX AS Integer, SrcY AS Integer, SrcWidth AS Integer, SrcHeight AS Integer ] )

Draws an Image, or part of it.

    * If the Width and Height parameters are specified, then the image is scaled to fit the specified dimensions.
    * If SrcX, SrcY, SrcWidth and SrcHeight are specified, the only this part of the image is drawn.



Draw.Picture (gb.qt)
Syntax

STATIC SUB Picture ( Picture AS Picture, X AS Integer, Y AS Integer [ , Width AS Integer, Height AS Integer, SrcX AS Integer, SrcY AS Integer, SrcWidth AS Integer, SrcHeight AS Integer ] )

Draws a Picture, or part of it.

    * If the Width and Height parameters are specified, then the picture is scaled to fit the specified dimensions.
    * If SrcX, SrcY, SrcWidth and SrcHeight are specified, the only this part of the picture is drawn.

37
Anni fa ho realizzato in vb6 un discreto gestionale di magazzino, e per le stampe dei documenti (fatture, ddt, note di credito, preventivi, ecc) ho utilizzato questa tecnica:

Per ogni documento ho creato una immagine con le linee e le descrizioni dei campi, utilizzando l'oggetto printer di vb6 stampavo prima l'immagine e poi la riempivo con i dati contabili.

Quello che mi scoccia è di stare a disegnare tutti i riquadri da codice.

Ti allego una immagine che ho realizzato.

38
Ho trovato in rete che è possibile utilizzare Kugar, che è un report designer.
In pratica prima si costruisce graficamente il template del report e lo si salva in un file con estensione .ktf.
Poi dall'applicazione in gambas si crea un file xml contenente i dati da stampare e si salva in un file temporaneo con estensione .kdk.
Si conclude con il comando:  shell(kugar -r sample1.ktf -d sample1.kdf)

39
@ leo72

avevo pensato anche io a utilizzare una variabile globale con il nome del form chiamante, però utilizzando una matrice posso avere l'elenco completo di tutti i form aperti e simulare la proprietà utilizzata in vb6.

E ho pure l'ordine di apertura dei form.

40
Per l'ora tarda ho fatto un po di confusione e adesso mi spiego meglio.
La domanda esatta era: Come verificare se un form è aperto.

Io voglio l'elenco di tutti i form aperti (sia visibili che nascosti).

Chiarisco con un esempio:
1) ho 4 form (a,b,c,d)
2) da ciascuno dei form a,b,c posso aprire il form d
3) nell'evento Form_Close del form d, devo stabilire quale dei form a,b,c  è il form chiamante.

Lavorando sempre con un unico form con il focus, con la soluzione seguente ho la cronologia dei form aperti, in cui quello con indice 0 è l'ultimo aperto.

Ho creato in una classe una matrice:
STATIC PUBLIC MatriceForm AS String[100]

All'evento OPEN del form:
classe.MatriceForm.Add("nomeform", 0)

All'evento CLOSE del form
classe.MatriceForm.Remove(0)

41
@ leo72
Grazie per l'aiuto.
Nella parte di applicazione realizzata ne ho fatti alcuni utilizzando la libreria gb.qt.ext (printer e draw), e mi farebbe piacere avere una tua valutazione.
Però è una procedura molto laboriosa e per questo volevo utilizzare la libreria gb.report,  ma mi manca l'input iniziale per capire come vanno impostate.

42
Ho completato le seguenti parti:

1) Tabelle:
- Causali contabili
- Conti
- Modalità di pagamento
- Banche

2) Registrazioni
- Fatture di vendita
- Fatture di acquisto
- Corrispettivi
- Movimenti generici

3) Elenchi con filtro di estrazione e
   modifica delle registrazioni.
- Fatture di vendita
- Fatture di acquisto
- Corrispettivi
- Movimenti generici

Ver. gambas 2.12
s.o. ubuntu 9.04
database sqlite3

p.s. Ho bisogno di aiuto per realizzare i report degli elenchi.

43
Devo precisare che la soluzione che ho trovato funziona solo se c'è un unico form con il focus attivo.

44
Per il momento l'ho risolta in questo modo:

Ho creato in una classe una matrice:
STATIC PUBLIC MatriceForm AS String[100]

All'evento OPEN del form:
classe.MatriceForm.Add("nomeform", 0)

All'evento CLOSE del form
classe.MatriceForm.Remove(0)

Così in qualsiasi punto dell'applicazione ho la cronologia delle form aperte.

45
Programmazione (Gambas 2) / Come verificare se un form è attivo
« il: 08 Maggio 2009, 23:51:39 »
Qual'è il modo per verificare se un form è attivo?

In vb6 utilizzavo questa funzione:

   Public Function VerificaFormAperto(ByVal nomeForm As String) As Boolean
      Dim f As Form
      For Each f In Application.OpenForms
         If f.Name = nomeForm Then
            Return True
         End If
      Next
      Return False
   End Function

Nella documentazione in rete non sono riuscito a trovare nulla a riguardo.

Pagine: 1 2 [3] 4