Питання № 5 053 ... Зростання

Питання просте. Як дізнатися поточну папку, де знаходиться програма.
Але завдання не зовсім проста. Наприклад, в англомовній версії ОС, де в дорозі використовують кирилицю, функція GetCurrentDir видає наступне: "C: \ Users \." Замість кирилиці знаки питання, тому не визначити шлях, де знаходиться додаток. Якщо додаток в автозавантаження, то GetCurrentDir = "C: \ WINDOWS" і виходить, що не впізнати папку програми, і навіть не встановити її як поточну.

Питання таке: як встановити поточної папку програми яку ви запускаєте?

Міні-форум питання

Для таких цілей можна використовувати юнікодовие функції з kernel32.dll (описані в Windows.pas):
З приводу каталогу програми - не знаю, що в такій ситуації поверне ParamStr (0), однак є інший спосіб:
Мені цими функціями користуватися не доводилося, тому оформляю свою відповідь як пост в форумі.
Експериментуй.

Роблю Лаби і курсачі по Delphi і Turbo Pascal. За ПИВО! Пишіть в личку, а краще в аську. А ще краще - телефонуйте в скайп!

Там то насправді не знаки питання. Просто англійська винда дурненька і символи кирилиці відобразити не може. Ну не знає вона їх. Але це абсолютно не заважає їй оперувати ними.
Те, звідки запустився exe файл точно визначається по рядку Application.ExeName.

Галочка "підтвердження прочитання" - вселенське зло.

після цього в змінної dir буде записано шлях до ехе фаилов
якщо у нього таке розташування
З: /my/программи/test.exe
то в dir буде записано
З: / my / програми

Схожі статті