===[ Программизм / FreeBasic ]=== #post-id: 7067-19-46 #original-date: 1.12.2019 Sun #original-time: 7:46 PM #original-day: 7067 #original-host: WinXP Home SP3 (Build 2600) Решила на FreeBasic написать простенькую программу. Уже в лёгком шоке. Оказывается, в FreeBasic нельзя просто взять и получить командную строку в оригинальном виде. Есть функция Command(), которая должна возвращать её, но на деле рантайм делает так. Сначала он парсит командную строку, разбивает на элементы и даёт доступ к результату через ARGC/ARGV хреновины. Потом при вызове Command() он СОБИРАЕТ ПОЛУЧЕННОЕ В ОДНУ СТРОКУ и возвращает. Тоесть это: > 1 2 3 "4 5 6" Превращается в это: > 1 2 3 4 5 6 Более того, он без спросу, типа для совместимости с линупсом делает развёртывание масок на уровне самой программы, а не оболочки. Это: > *.txt Превращается в это: > 1.txt 2.txt 3.txt Сюрприз, сюрприз! В доках сказано, как это непотребство выключить, но во-первых для каждой платформы это делается своим костылём, а во-вторых оно не работает. Короче, действовать придётся, как водится, методом кишлака: GetCommandLine() и вычленением екзешника. #upd(3.12.2019 - 1:00 AM): Навелосипедила так: https://gist.github.com/Linda-chan/b5d71f338852a5039053848bc62e833b