--- a/src/stringClass.cpp Tue Jul 22 19:22:31 2014 +0300 +++ b/src/stringClass.cpp Thu Jul 24 16:54:45 2014 +0300 @@ -446,3 +446,47 @@ ::sprintf (buf, "%ld", a); return String (buf); } + +// ============================================================================= +// +String String::fromNumber (double a) +{ + char buf[64]; + ::sprintf (buf, "%f", a); + return String (buf); +} + +#ifndef _WIN32 +# define DIRSLASH "/" +#else +# define DIRSLASH "\\" +#endif + +// ============================================================================= +// +String dirname (String const& path) +{ + int lastpos = path.lastIndexOf (DIRSLASH); + + if (lastpos > 0) + return path.mid (0, lastpos); + +#ifndef _WIN32 + if (path[0] == '/') + return "/"; +#endif // _WIN32 + + return ""; +} + +// ============================================================================= +// +String basename (String const& path) +{ + long lastpos = path.lastIndexOf (DIRSLASH); + + if (lastpos != -1) + return path.mid (lastpos + 1); + + return path; +}