Commit 21a21e91 authored by Victor Yacovlev's avatar Victor Yacovlev

Added routines to detect program location and cwd

parent d8786b8d
......@@ -105,8 +105,12 @@ class Files
/* 0x000f */ result << QString::fromUtf8("алг НАЗНАЧИТЬ ВВОД(лит имя файла)");
/* 0x0010 */ result << QString::fromUtf8("алг НАЗНАЧИТЬ ВЫВОД(лит имя файла)");
/* 0x0011*/ result << QString::fromUtf8("алг лог =(файл ф1, файл ф2)");
/* 0x0012*/ result << QString::fromUtf8("алг лог <>(файл ф1, файл ф2)");
/* 0x0011 */ result << QString::fromUtf8("алг лит РАБОЧИЙ КАТАЛОГ");
/* 0x0012 */ result << QString::fromUtf8("алг лит КАТАЛОГ ПРОГРАММЫ");
/* 0x0013*/ result << QString::fromUtf8("алг лог =(файл ф1, файл ф2)");
/* 0x0014*/ result << QString::fromUtf8("алг лог <>(файл ф1, файл ф2)");
return result;
}
......
......@@ -1194,6 +1194,13 @@ public:
absPath = workDir + fileName;
return getNormalizedPath(absPath, Char('\\'));
}
inline static String CurrentWorkingDirectory() {
wchar_t cwd[1024];
GetCurrentDirectoryW(1024, cwd);
String workDir;
workDir = String(cwd);
return workDir;
}
#else
inline static String getAbsolutePath(const String & fileName) {
char cwd[1024];
......@@ -1215,6 +1222,22 @@ public:
absPath = workDir + fileName;
return getNormalizedPath(absPath, Char('/'));
}
inline static String CurrentWorkingDirectory() {
char cwd[1024];
getcwd(cwd, 1024*sizeof(char));
String workDir;
# ifdef NO_UNICODE
workDir = String(cwd);
# else
wchar_t wcwd[1024];
size_t pl = mbstowcs(wcwd, cwd, 1024);
wcwd[pl] = L'\0';
workDir = String(wcwd);
# endif
return workDir;
}
#endif
inline static String getNormalizedPath(const String & path, const Char separator)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment