March 16, 20169 yr 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; }
March 16, 20169 yr 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()!
March 16, 20169 yr Author 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 March 16, 20169 yr by Morkus
March 17, 20169 yr Author Christian, I replied in the FM Community forum, but wanted to thank you again here. I was able to get the FileExists() function working fine. Thanks again. - m
Create an account or sign in to comment