Newsgroup: it.comp.appl.access
Titolo: font piu grandi per gest. cronometro

Salve a tutti,
forse faccio una domanda banale ma non ne sto uscendo.
 
Devo realizzare un cronometro (con fon digitali che ho scaricato e 
installato).
All'interno della maschera il font utilizzato non si ingrandisce piu di 
tanto, indipendente da quanto grande io faccia la casella di testo.
 
C'e' un limite in Access?
Qualcuno ha gia' adottato un sistema simile e trovato soluzione?
 
 
-- 
 
 
 
 
G.L. Informatica
Via B. Buozzi 74/B Grosseto
tel. 0564/411.318 - fax 0564/070.848
http://www.glinformatica.it
 
 
 


No dipende da che FontSize il FONT mette a disposizione...
 
Altre soluzioni... dipende da varie cose... esempio la velocità di scorrimento del cronometro... puoi tranquillamente caricare 10 Immagini bmp con i 10 simboli digitali dei numeri 0-9, quindi imposti 4 o 6 COntrolli immagine ed in ogni controllo vai a caricare l'immagine del numero che serve passando la proprietà PICTUREDATA... è gratis e non devi installare nulla...
Probabilmente non è così veloce, quindi a seconda delle performance che richiedi potrebbe essere da valutare, ma funziona bene ed io fossi in te una prova la farei...
 
@Alex


Con questo sistema, diversi anni fa, realizzai una roulette
Mi ricordo erano 360 immagini, una per ogni gradi di rotazione, che da 
disco venivano caricate in ram all'avvio programma, ci metteva qualche 
secondo perche' ognuna era sui 2-300 Kbyte
E poi a colpi della famigerata BitBlit venivano visualizzate in sequenza
Ancor oggi, a distanza di ventanni, mi meraviglio della fluidita' che si 
riusciva ad ottenere
Chissa' dov'e' finito quel programma
Parlo di Vb non di Access
 

Infatti con Access non puoi in quanto non hai la PictureBox... ma quello che ho suggerito direi che equivale... poi parliamo di 4 o 6 immagini e dovrebbe essere veloce... basta non scrivere il numero se uguale al precedente per migliorare ancora le cose.
Alla fine se si usa un Array con 4 o 6 elementi e si indicizzano i nomi dei controlli Picture... parliamo di 6 righe di codice...
 
@Alex  

 ha scritto nel messaggio 
news:d434e426-9668-4683...@googlegroups.com...

***
Ah, grazie 1000.
 
In effetti e' l'alternativa a cui avevo pensato se non avessi trovato il 
sistema di ingrandire direttamente il font.
Il cronometro visualizza 6 valori (con i secondi per capirsi), quindi non 
credo di avere grossi problemi di flickering dell'immagine, in ogni caso, 
ogni secondo, risulterebbe da rivisualizzare in contemporanea solo una 
picture (o 2 ogni minuto, o 3 nel cambio ora... ma credo nulla di 
chissache').
 
Grazie 1000 @Alex
 
Un saluto
Marco67 
 
 

 ha scritto nel messaggio 
news:ptnjl4$1vdl$1...@gioia.aioe.org...

Eh si Roberto,
ho capito il metodo, ma lavorando in Access...
penso la soluzione suggerita da Alex sia da provare e, per me, la piu' 
veloce e percorribile.
 
Procedo.
Grazie 1000 a entrambi.
Marco67 
 
 

>>>>  
http://www.bb2002.it
 :)  <<<<<
........... [ al lavoro ] ...........

 ha scritto nel messaggio 
news:ptnjl4$1vdl$1...@gioia.aioe.org...

Ho inserito nella form e caricato la picture in base al valore sui singoli 
controlli.
Tutto perfetto, tranne il fatto che, ad ogni cambio picture (quindi ogni 
secondo), appare il messaggio "importazione in corso c:\......png" che poi 
e' il nome del file che il sistema sta caricando dal disco.
 
Ho provato ad usare i controlli sulle picture, sia in maniera 'collegata' 
che 'importata', ma non cambia nulla.
 
Non conosco comandi che eliminino i messaggi a video (conosco solo il 
setwarning, ma evidentemente funziona solo su altri messaggi).
 
Sapreste darmi un suggerimento?
Grazie ancora
Marco67
 
 
 
 
 

Ma io ti dissi di fare in modo diverso...
Prova a rileggere il mio post...
 
Usa 16 ontrolli immagine... 10 li prrecarichi con le 10 immagini ma li rendi NON VISIBILI.
Gli altri 6 li rendi visibili e li assegni man mano...
Me!Numero0.Picturdata=Me!NumeroEsterno0.Picturedata
 
@Alex

 ha scritto nel messaggio 
news:6ee142b3-1365-4f9b...@googlegroups.com...

Certo Alex, ho fatto proprio cosi:
 
riassegno 'picture' solo so il contenuto della cas. di controllo attuale e' 
diverso da quello precedente.
 
- P1 > P6 sono stati assegnati 1 secondo fa
- PA > P6 vengono assegnati adesso e, per quelli diversi dal corrispondente 
P(x) verra' assegnata la corretta 'picture' sulle caselle immagine (da O1 a 
o6), prendendone il valore dalle cas. immagine precaricate I1 > I6)
 
ecco di seguito:
 
 
Dim x As Integer
For x = 1 To 6
If Me("a" & x) <> Me("p" & x) Then
    Me("O" & x).Picture = Me("I" & Me("a" & x)).Picture
    Me("p" & x) = Me("a" & x)
End If
Next x
 
Come ti dicevo, ad ogni riassegnazione del picture, e' come se l'immagine, 
nonostante sia precaricata, venga reimportata ogni volta.
 
Mah!!!
Grazie 1000 ancora Alex
 
 
 

 ha scritto nel messaggio 
news:V25ND.1030$lb....@tornado.fastwebnet.it...

Mi correggo Alex:
ho provato la procedura, direttamente su una macchina che utilizza la sola 
RunTime e tutto funziona perfettamente, senza alcun messaggio a video...
 
per cui, risolto!!!
Non sto a perderci e fartio perdere altro tempo.
 
Ti ringrazio ancora Alex, Un saluto
Marco67
 
 
 


Scusa, ma perchè io parlo di PICTUREDATA e tu parli di PICTURE e sembra sia la stessa cosa...?
 
Secondo me non hai capito quello che ho detto...
Se usi la proprietà PICTURE, vai a caricare ogni volta il FILE dal PATH e questo non ha senso dal momento che hai INGLOBATO nella Form le 10 Picture.
 
Usando infatti la proprietà PICTUREDATA, vai ad accedere all'area di memoria che contiene l'immagine inglobata e la rendi disponibile per l'immagine a cui la passi...
 
Il vantaggio è che il tutto è estremamente più rapido e non ti devi portare dietro le IMMAGINI nella Cartella... cosa che invece con il tuo metodo sei costretto a fare.
 
@Alex

 ha scritto nel messaggio 
news:9c0cfdd8-9058-40b8...@googlegroups.com...

Cavolo Alex,
scusami: ho dato pe scontato che l'istruzione picturedata (che non 
conoscevo), facesse riferimento alla stessa istruzione picture ma su 
versione access piu' recenti di quella che utilizzo io.
 
Ok, fatto la prova: tutto funziona alla perfezione adesso.
Grazie ancora
Marco67
 
 

Una mia visione della soluzione è questa:
 
N° 10 Controlli Immagini NON VISIBILI 
I nomi dei controlli I0, I1, I2,...I9 (con i Numeri cosrrispondenti precaricati con le immagini).
 
N° 6 Controlli Immagini VISIBILI
I nomi dei controlli da SX a DX:
 IH1 IH2 : IH3 IH4 : IH5 IH6
 
QUesto il codice per Visualizzare l'orologio:
 
Option Compare Database
Option Explicit
 
Dim m(0 To 5) As String
 
Private Sub Form_Load()
    Call LoadTime
    Me.TimerInterval = 500
End Sub
 
Private Sub Form_Timer()
    Call LoadTime
End Sub
 
Function LoadTime()
    Dim sTime   As String
    Dim sT      As String
    Dim i       As Integer
 
    sTime = Replace(CStr(Time), ":", vbNullString)
 
    For i = 1 To 6
 
        sT = Mid$(sTime, i, 1)
        If sT <> m(i - 1) Then
            Me.Controls("IH" & i).PictureData = Me.Controls("I" & sT).PictureData
            m(i - 1) = sT
        End If
 
    Next
End Function
 
@Alex

 ha scritto nel messaggio 
news:76cdaa89-ce2a-4a37...@googlegroups.com...

Si Alex,
mi pare che, grosso modo sia quello che ho fatto io:
 
Dim x As Integer
For x = 1 To 6
If Me("a" & x) <> Me("p" & x) Then
    Me("O" & x).PictureData = Me("I" & Me("a" & x)).PictureData
    Me("p" & x) = Me("a" & x)
End If
Next x
 
Dove a(x) è il valore del controllo timer attuale e p(x) e' il valore 
precedente.
Dove I(x) e' il controllo invisibile e O(x) e' il controllo effettivamente 
visualizzato
 
Ho utilizzato una variabile numerica da utilizzare come valore del timer 
(1000 - 0), semplicemente cliccando su un pulsante, che di fatto funge da 
START - STOP del cronometro.
 
Grazie davvero Alex.
Buon Lavoro
Marco67