Newsgroup: it.comp.appl.access
Titolo: Gestione degli errori in caso di assenza delle immagini, o loro diverso nome

Come da oggetto, probabilmente poco chiarificatore, vorrei che se il nome
dell'immagine inserito fosse errato o inesistente, mi inserisse un'immagine
di richiamo tipo "Il percorso o il nome dell'immagine NON è corretto.
Controlla!" (che ho già creato).
Mi andrebbe bene anche visualizzare una etichetta.
Non riesco ad intercettare l'errore (che dovrebbe essere il 2220).
Purtroppo devo anche gestire due immagini nella stessa sottomaschera (una è
CopertinaAlbiOriginali e l'altra è QuartadiCopertinaAlbiOriginali) e
relativo errore.
Suggerimenti?
In anticipo grazie a chiunque mi darà consigli.
PS: ho cercato anche (senza successo) di usare la funzione di Fulvio Bonini
"Verificare la presenza di immagini in una determinata cartella", ma mi dà
il debug del codice sulla riga "immagine = !Image" (mi dice che non ha
trovato Image nell'insieme).
Scusate la confusione.
(¯`·.¸SpiderMax¸.·´¯)

 news:L2c2a.106873$YG2.3...@twister1.libero.it...

    Potresti verificare che l'immagine esista, *prima* di caricarla. Per
esempio:
        sImgPathName = "C:\Fotografie\Foto1.jpg"
        Id (Len(Dir(sImgPathName))=0) Then
            ' carichi la tua "immagine di richiamo".
        Else
            ' carichi l'immagine.
        End If
-- 
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

         End If
Anche se non so se leggerai questa mia, volevo dirti che, con il tuo
suggerimento, non ero riuscito.
Forse perchè il path non lo potevo conoscere ab initio dato che lo trovavo
con la funzione PathCorrente del sito.
Prima di impazzire ho risolto in stile "Northwind 2002" (orpole).
Mi show/hide un'etichetta con un messaggio di richiamo se l'errore è il
2220.
Comunque ancora grazie per la disponibilità e speriamo ti reiscriva al NG (o
almeno ci segua "dietro le quinte")
Saluti


 ha scritto nel messaggio
news:L2c2a.106873$YG2.3...@twister1.libero.it...

Per verificare l'esattezza del percorso dell'immagine, prima di impostarci
la proprietà Picture del controllo Immagine, usa la funzione Dir (vedi
help); se il file è inesistente la Dir ti restituisce una stringa vuota.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:sPw2a.110576$YG2.3...@twister1.libero.it...

Grazie, Roberto.
Stò temporeggiando nel darti una risposta (spero positiva alla tua dritta)
dato che la guida mi fa un pò le bizze.
Ti farò sapere.
Saluti



Fatto or ora.
Grazie tantissimo della dritta.
PS: ma se la stringa del percorso è vuota perché non mi visualizza
l'immagine di "richiamo"? Bhò
Studio ancora (e tanto).


 (¯`·.¸SpiderMax¸.·´¯)
--



E' quello che avevo fatto, ma se la stringa è vuota non mi restituisce
l'immagine di "richiamo" (sembra quasi che da qualche parte ci sia un pò di
codice che me la nasconde -anche se così non è-).
Mha.
Studio ancora e grazie della risposta.



scusa spider 
ma se 
x = dir()
if "" & x = "" then
     img.picture = immaginedirichiamo
 else
    img.picture = x
end if
non funziona? mi sembra impossibile.
--
a.cara 
Togli qualcosa dall'email

 end if
A. Cara
if dir("tuopercorso" & tuastringa & ".jpg") = "" then
img.picture = Empty
else
img.picture = "tuopercorso" & tuastringa & ".jpg"
end if
Questa me la suggerì in illo tempore Roberto da casa
if len(dir("tuopercorso" & tuastringa & ".jpg")) > 0 then
img.picture = "tuopercorso" & tuastringa & ".jpg"
else
img.picture = Empty
end if
Questa lo rivista da qualche parte.
Io usa da tempo la sluzione di Roberto e va come un treno
ciao MAssimiliano
 
--------------------------------
Inviato via 
http://usenet.libero.it

 ha scritto nel messaggio
news:oIP3a.124636$ZE.35...@twister2.libero.it...

Ogni aggiunta a quanto ti hanno detto Alessandro Cara e Ma sarebbe
superflua.


Grazie a tutti per i consigli.
Purtroppo in questo momento non posso provare tutto il "ben di Dio" che mi
avete fatto avere.
Appena ho un'attimo faccio tutti i "test" (ha, ha, ha) e faccio sapere.
Potrebbero interessare anche ad altri.
Saluti


 ha scritto nel messaggio
news:7%24a.126862$ZE.36...@twister2.libero.it...


SpiderMax wrote:
[cut]
ciao
(¯`·.¸SpiderMax¸.·´¯)
mi pareva impossibile che non potesse funzionare
Tutte e tre i suggerimenti sono pressapoco la stessa zuppa.
Qualcuno ci mette il pepe, qualcuno il peperoncino, qualcuno la cannella
o la noce moscata ma siamo sempre li.
Proprio adesso sto rimettendo mano ad una mia vecchia applicazione
di gestione immagini. Mi rammenti qual'e' la chiave che devo modificare
nel registry
per evitare l'avviso di caricamento dell'immagine ?


 ha scritto nel messaggio
news:3E5108F0...@blunet.it...

Imposta a No
HKEY_LOCAL_MACHINE\Software\Microsoft\ Shared Tools\Graphics
Filters\Import\JPEG\Options\ShowProgressDialog


Filters\Import\JPEG\Options ---->ShowProgressDialog


 per evitare l'avviso di caricamento dell'immagine ?
Io non l'ho fatto modificando il Registro, ma:
HKEY_LOCAL_MACHINE\Software\Microsoft\ Shared Tools\Graphics
Filters\Import\JPEG\Options
e modifica la ShowProgressDialog key value a "No".
Altrimenti puoi usare le API:
Richiama questa subroutine sull'evento "Su Timer" della maschera (con un
intervallo settato su un numero basso, ad esempio 50).
Private Sub Form_Timer()
  Call NascondiFinestraCaricamentoImmagini(hWndAccessApp)
End Sub
'************* Inizio Codice*************
Private Declare Function apiGetClassName Lib "user32" _
  Alias "GetClassNameA" _
  (ByVal hWnd As Long, _
  ByVal lpClassname As String, _
  ByVal nMaxCount As Long) _
  As Long
Private Declare Function apiGetWindowText Lib "user32" _
  Alias "GetWindowTextA" _
  (ByVal hWnd As Long, _
  ByVal lpString As String, _
  ByVal aint As Long) _
  As Long
Private Declare Function apiGetLastActivePopup Lib "user32" _
  Alias "GetLastActivePopup" _
  (ByVal hWndOwnder As Long) _
  As Long
Private Declare Function apiShowWindow Lib "user32" _
  Alias "ShowWindow" _
  (ByVal hWnd As Long, _
  ByVal nCmdShow As Long) _
  As Long
Private Const MAX_LEN = 255
Private Const GW_HWNDNEXT = 2
Private Const SW_HIDE = 0
Private Const SW_MINIMIZE = 6
Private Const SW_SHOWMINNOACTIVE = 7
Private Const SW_SHOWDEFAULT = 10
Sub NascondiFinestraCaricamentoImmagini(ByVal hWndApp As Long)
On Error GoTo NascondiFinestraCaricamentoImmagini_Err
Dim lnghWndChild As Long
Dim strCaption As String
Dim strClass As String
Dim lngRet As Long
  lnghWndChild = apiGetLastActivePopup(hWndApp)
  strClass = fGetClassName(lnghWndChild)
  strCaption = fGetCaption(lnghWndChild)
  If strClass = "#32770" And Trim(strCaption) = vbNullString Then
    lngRet = apiShowWindow(lnghWndChild, SW_HIDE)
  End If
NascondiFinestraCaricamentoImmagini_Exit:
  Exit Sub
NascondiFinestraCaricamentoImmagini_Err:
  MsgBox "Error #: " & Err.Number & vbCrLf & Err.Description, vbCritical +
vbOKOnly, "Errore nella visualizzazione della Finestra di caricamento
Immagini"
  Resume NascondiFinestraCaricamentoImmagini_Exit
End Sub
Function fGetClassName(ByVal hwnd As Long) As String
Dim strBuffer As String
Dim lngRet As Long
  strBuffer = String$(32, 0)
  lngRet = apiGetClassName(hwnd, strBuffer, Len(strBuffer))
  If lngRet > 0 Then
    fGetClassName = left$(strBuffer, lngRet)
  End If
End Function
Function fGetCaption(ByVal hwnd As Long) As String
Dim strBuffer As String
Dim lngRet As Long
  strBuffer = String$(MAX_LEN, 0)
  lngRet = apiGetWindowText(hwnd, strBuffer, Len(strBuffer))
  If lngRet > 0 Then
    fGetCaption = left$(strBuffer, lngRet)
  End If
End Function
*********Fine Codice***********
Spero di esserti stato utile.
Saluti


 Filters\Import\JPEG\Options\ShowProgressDialog
come direbbero i tuoi "amici"  yankee
Thanks Rob 


 ha scritto nel messaggio
news:dw84a.128034$ZE.36...@twister2.libero.it...


 a.cara


 (¯`·.¸SpiderMax¸.·´¯)


 ancora digitato (o almeno il "maledetto" OE non me le aveva prelevate).
Spider, va bene che Biso vuole soggetti significativi! Ma i "Promessi
Sposi" no!!
Il problema, credo, derivi dal server news che usi. Qual'e'?
Evidentemente ritarda nell'acquisizione/rilascio dei post


 Evidentemente ritarda nell'acquisizione/rilascio dei post
Chissà perchè il Biso non mi ha "bacchettato", allora, (shhh, silenzio, che
altrimenti "attiro").
Chiedo scusa a tutti.
Per la cronaca (e a noi che ce frega) uso Libero.
Saluti.


 Grazie a tutti per la disponibilità e la celerità nelle dritte.
Mi succede una strana cosa...
Se mi trovo in una maschera con sottomaschera, ed in quest'ultima ho
inserito il controllo Immagine tutto funzia alla perfezione.
Se invece il controllo Immagine lo ho DIRETTAMENTE in una maschera mi dà la
finestra di errore con il debug dicendomi "Il file... blà blà blà ...non è
stato trovato.
Vi risulta?
Preciso che ho creato "addirittura" un nuovo (e spoglio) DB per fare le
prove e nulla mi fa capire perché.
Aggiungo che:
1) se ho un'Immagine esistente me la visualizza correttamente;
2) vado, senza spostarmi ad altro record, ad inserire un'Immagine
"palesemente" inesistente e... ...mi visualizza l'immagine di attenzione;
3) mi sposto ad altro record, e tornando su quello editato... ..."nun mé fà
vedè gniente" (haaarrgggggg).
Saluti
Uno  (¯`·.¸SpiderMax¸.·´¯)  un pò "confuso"
Per rispondermi in privato togli le dita dal naso...

 vedè gniente" (haaarrgggggg).
Su quale evento l'hai inserito?



Sia sull'evento "Su Corrente" che su quello "Dopo Aggiornamento".
Ho provato anche a creare una funzione (?) e richiamarla (o "scatenarla"?)
da questi due eventi, ma "gniente".
E' come se, con l'errore 2220 me le rendesse invisibili, pur avendo
intercettato (o "gestito") l'errore.
Mha ("Io sò pazz" - o lo è la mia copia di Access????).
Ho risolto (per tutte le maschere -escludendo le sottomaschere, dove fungono
perfettamente i vostri consigli- visto che avevo più maschere da
implementare con Immagini) a là Northwind 2002 (con una etichetta).
Saluti
(¯`·.¸SpiderMax¸.·´¯)
Per rispondermi privatamente togli le dita dal naso...