Jump to content

Trying to get text for FileExists Function


Morkus
 Share

This topic is 2298 days old. Please don't post here. Open a new topic instead.

Recommended Posts

I'm trying to write a simple FileExists() function, but I'll be darned if I can't find any documentation (hours of playing with this not fruitful) on how to take the dataVect object passed (the parameter from FileMaker) and pass that (a file name path) to the 'fopen" block of unfinished code below. C++ is not my normal language so the syntax and XCODE errors aren't helping.

Not sure why this is difficult (OK, probably only for me). I'll get a file path in the dataVect and I just want to see if that path exists. (Magic apparently needed.)

Would appreciate any suggestions. This is easy, right?

Thanks,

- m

-------------------------

FMX_PROC(fmx::errcode) FileExists(short funcId, const fmx::ExprEnv& environment, const fmx::DataVect& dataVect, fmx::Data& result)
{
    fmx::errcode      err = 0;
    fmx::TextAutoPtr  tempText;
    fmx::TextAutoPtr  param1;

    param1->SetText(dataVect.AtAsText(0));  // INPUT: path to file.
    
    fmx::TextAutoPtr resultText;  // OUPUT: "true" or "false"
    
   
    if (FILE *file = fopen(<????>, "r")) {
        fclose(file);
        return true;
    } else {
        return false;
    }

Link to comment
Share on other sites

didn't you read my slides?

 

const fmx::Text & path = dataVect.AtAsText(0);

 

this gives first parameter.

Than you need to allocate memory, copy bytes from text object to buffer to have a C string.

And you may looking into using unicode path, so no simple fopen()!

Link to comment
Share on other sites

1 hour ago, MonkeybreadSoftware said:

didn't you read my slides?

 

const fmx::Text & path = dataVect.AtAsText(0);

 

this gives first parameter.

Than you need to allocate memory, copy bytes from text object to buffer to have a C string.

And you may looking into using unicode path, so no simple fopen()!


Maybe my rusty German is even rustier than I thought.

I thought this would be more or less like Java, but yuck, so complicated. Well, I'm just not used to C++, but in Java, this would basically be:

File test = new File("pathtofile");

if (test.exists())....

// SO EASY!

....

Thanks Christian,

- m

Edited by Morkus
Link to comment
Share on other sites

This topic is 2298 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.