Il 15/12/2010 11:42, Cerrato Antonello ha scritto:
Nessun aiuto?! Qual'é il problema? Che la questione é troppo complicata, non é
chiara o perché é troppo stupida?
No Antonello.. ma è fine anno... con le sue allucinanti scadenze... :-)
Leggo che hai risolto... ma mi accodo con un pezzo di codice ( un
picker) che tra le varie soluzioni provate mi è sembrato il migliore.
L'ho estratto da un cosa più complessa e tagliando dei pezzi non di
interesse generale...
Spero non siano rimaste chiamate a roba che ho solo io sulla mia
macchina.. :)
Spero ti sia utile
Bart
____________________codice ______________________________
Sub Scegli_la_cartella
'sceglie la dir proponendo quella del doc "attivo"
If (Not GlobalScope.BasicLibraries.isLibraryLoaded("Tools")) Then
GlobalScope.BasicLibraries.LoadLibrary("Tools")
End If
' codice originale di questa subroutine by Andrew Pitonyak
If (ThisComponent.hasLocation()) Then ' se è noto al file system
sDocURL = ThisComponent.getURL()
sDocDir = DirectoryNameoutofPath(sDocURL, "/")
else
oPathSettings =
CreateUnoService("com.sun.star.util.PathSettings")
sDocDir = oPathSettings.Work & "/"
End If
'Selezione e conferma della dir destinazione (picker di FJCC - 2009)
'(in
http://user.services.openoffice.org/en/forum/viewtopic.php?f=20&t=29150&start=0)
oFolderDialog = CreateUnoService(
"com.sun.star.ui.dialogs.FolderPicker" )
oFolderDialog.setDisplayDirectory(sDocDir)
oFolderDialog.Title = "SELEZIONA LA CARTELLA DESTINAZIONE:"
If oFolderDialog.execute() Then
ChosenDir = oFolderDialog.Directory
Else
ChosenDir = 0 ' premuto annulla
Endif
if ChosenDir = 0 then
msgbox "non hai selezionato la dir di destinazione...
ANNULLO!"
exit sub
end if
' qui controlla se si tratta della dir corrente del doc se non lo è
aggiunge lo slash finale
' ma se si aggiunge per sbaglio uno / ? mmm... pare che lo
elimini automaticamente.
if ChosenDir <> sDocDir then
ChosenDir = ChosenDir & "/"
end if
'sceglie il nome e assembla la path completa
sDocName = "il_mio_file"
sUrl = ChosenDir & sDocName & ".pdf"
print sUrl
end sub
_________________fine codice_____________-
Antonello
--------Cerrato Antonello<[email protected]> wrote--------
Subject: [dev-it] selezione file
Date: 09.12.2010 09:45
Salve a tutti.
Chiedo aiuto per una questione che ho in sospeso da un po' con i
dialoghi, in particolare con i controlli di selezione dei file.
In alcuni dialoghi devo consentire all'utilizzatore di scegliere percorso
e cartella in rete nella quale memorizzare un file. Non ho trovato fino
adesso altra soluzione se non quella di usare il controllo di selezione
file che però non é la soluzione ideale perché:
1. con quel controllo non é possibile scegliere, in ultimo, una cartella,
ma bisogna per forza indicare un file (che non sia una cartella) per
chiudere la selezione: quindi (come ho fatto fino adesso) bisogna
posizionare almeno un file nella cartella per poter selezionarla e poi con
i codice estrarre dalla stringa il percorso, eliminando il nome del
file... non é un bel metodo, specialmente perché bisogna spiegare
all'utilizzatore perché deve scegliere quel file lì, anche se può aiutare
se gli diamo un nome appropriato tipo ("ApreCartella" o "Cliccami" ecc.)
2. perché non riesco a definire di default un percorso da cui
l'utilizzatore parta per la scelta della sua cartella, praticamente la
finestra che si apre per la selezione dei file apre il percorso
selezionato l'ultima volta che é stato usato il controllo (e mantiene
questa memoria addirittura se chiudo Oo e lo riapro!). Ho giá provato a
impostare la proprietà testo del controllo in modo che punti ad un
percorso predefinito ma non serve a nulla, anche se mi sembra (ma non
potrei giurarci) che in una delle versioni vecchie di Oo, così
funzionasse.
Mi pare molto strano che gli sviluppatori abbiano pensato a fornire un
controllo specifico per l'apertura dei file, ma non ad uno che sia fatto
apposta per indicare un percorso dove poterli memorizzare.
Qualcuno mi può aiutare?
Antonello
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]