Message Boards Message Boards

GROUPS:

How can I create a data import button for Player Pro?

Posted 7 years ago
3558 Views
|
5 Replies
|
7 Total Likes
|

Hi everyone,

Can't seem to create a button for importing data from external files that could be used by those opening a notebook with Player Pro. I tried the example at the bottom of

http://www.wolfram.com/player-pro/developer-guidelines.html

by doing this

Manipulate[
 data = Import[dataFilePath, "CSV"],
 Button["Load data...", dataFilePath = SystemDialogInput["FileOpen"]]
 ]

but I get Failed or Canceled. Seems as though the file path is not saved to dataFilePath. What am I doing wrong?

Gregory

5 Replies

Here is a button that you can use that will import a file into a global parameter called myData:

Button["Import Data",
 myData = Catch@Module[{filePath},
    filePath = SystemDialogInput["FileOpen"];
    If[filePath === $Canceled, Throw[$Failed]];
    Import[filePath]
    ],
 Method -> "Queued"
 ]

The Method -> "Queued" option keeps the process from timing out since dynamic behaviors have a time limit on them when they are preemptive (as buttons are). The Catch and Throw just help to keep things nice if you cancel the system dialog.

Hi David,

Works like a charm. Thank you for the crystal-clear explanation. I'll do my homework on Catch and Throw as I haven't had occasion to use them before.

Thanks again,

Gregory

Posted 6 months ago

.... seems not to work anymore ...

I would just open a file (picture) with a button, but I don't understand why my code doesn't work ...

Button["Click Here",
 Import[SystemDialogInput["FileOpen"]],
 Method -> "Queued"
 ]

Thanks for an help ...

Yvan

Posted 6 months ago

Hello Yvan,

I think the issue is that you need to store the result of the import into a variable that is shown somewhere else and wrapped inside a Dynamic[]. For example:

DynamicModule[{result = "please load file"},
 {Dynamic[result],
  Button["Click Here", result = Import[SystemDialogInput["FileOpen"]],
    Method -> "Queued"]}]
Posted 6 months ago

Many thanks Gustavo It works ! The best new of the day for me today. So that I can go to sleep earlier today !

Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract