tkfilefind in tcltk on Windows2000
Jonathan Marchini <marchini at stats.ox.ac.uk> writes:
Hi,
The tkfilefind demo in the tcltk package doesn't seem to work for me in
Windows2000.
The demo script uses tkfilefind(".") which doesn't display the parent
directory so you can't browse around the whole drive.
Using tkfilefind() (which uses the default path getwd()) doesn't seem to
work for me at all.
I also tried tkfilefind("/") which worked fine but then using
a<-tkfilefind("/")
a
[1] "//jm2.null.mc.img"
library(AnalyzeFMRI) f.analyze.file.summary(a)
causes R to crash i.e. using "//jm2.null.mc.img" as a path to a file
doesn't seem to work.
I found a way round it using
path<-getwd()
if(.Platform$OS.type == "windows") {
path<-paste(substring(getwd(),1,2),Platform()$file.sep,sep="")
}
tkfilefind(path)
but this only allows you to access files on the drive of the working
directory.
I also found a problem selecting a file when the path has spaces. IIt
seems to return a vector of characters
tkfilefind("C:/")
[1] "C:/Program/Files" "/R/rw1031/FAQ" I was wondering if there was an easier way around these problems? I find the tkfilefind function very useful when writing small GUI's that read/write data from files.
Hmmm.... It is after all just a demo, intending to show how you might
communicate with a fairly complex Tcl module. It could well be the
case that the "hierarchy_dir" widget on which it builds has
shortcomings and you could go looking for another file selector
dialog. Or maybe you could take a closer look at the function and
modify it to suit your needs.
However, after poking around a bit, I'm 95% confident that what you
really want is tkcmd("tk_getOpenFile")...
O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907 -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._