У меня такая проблема - необходимо поместить файл с данными (драйвер
TopSpeed) - в директорий с Windows.
При этом, в принципе, на разных компьютерах каталог Windows может
называться по-разному (Win98, Win и т.д.) и находиться на разных диках.
Как можно в словаре прописать путь к файлу, чтобы на всех компьютерах
он помещался именно в каталог Windows?
Пробовал задать путь вида %SystemRoot%\asd.tps - не понимает.
ys@antonovus.ru
Помогите определить путь файла
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Это не простая задача.В ДОС была такая внешняя штучка под названием
Fname,которая позволяла решить эту проблему.Один из путей,проверенных мной:
1-укажи в качестве пути глобальную переменную
2-после компиляции в головном модуле руками убери кавычки в оформлении
пути к файлу
3-до начала работы основных модулей программы "попроси" usera ввести путь
к нужной директории или считай путь из дополнительного файла,затем
присвой это значение глобальной переменной.Все должно заработать.
Может есть и более элегантный метод решения.Если найдешь,обязательно выложи на форум.
Успехов! Lsgsoftware
Fname,которая позволяла решить эту проблему.Один из путей,проверенных мной:
1-укажи в качестве пути глобальную переменную
2-после компиляции в головном модуле руками убери кавычки в оформлении
пути к файлу
3-до начала работы основных модулей программы "попроси" usera ввести путь
к нужной директории или считай путь из дополнительного файла,затем
присвой это значение глобальной переменной.Все должно заработать.
Может есть и более элегантный метод решения.Если найдешь,обязательно выложи на форум.
Успехов! Lsgsoftware
Задача довольно простая.
выполняешь пункт 1 послания
далее используй WinApi (GetWindowsDirectory)
GetWindowsDirectory returns the full pathname of the windows directory.
в Global Map
MODULE('WINAPI')
GetWindowsDirectory(*CSTRING,UNSIGNED),UNSIGNED,PASCAL,RAW,NAME('GetWindowsDirectoryA')
END
где тебе надо
DATA
LOC:WindowsDirectory CString(255)
Code
If GetWindowsDirectory(LOC:WindowsDirectory,Size(LOC:WindowsDirectory))
Message(LOC:WindowsDirectory)
End
Написал: Ravenous(3)
выполняешь пункт 1 послания
далее используй WinApi (GetWindowsDirectory)
GetWindowsDirectory returns the full pathname of the windows directory.
в Global Map
MODULE('WINAPI')
GetWindowsDirectory(*CSTRING,UNSIGNED),UNSIGNED,PASCAL,RAW,NAME('GetWindowsDirectoryA')
END
где тебе надо
DATA
LOC:WindowsDirectory CString(255)
Code
If GetWindowsDirectory(LOC:WindowsDirectory,Size(LOC:WindowsDirectory))
Message(LOC:WindowsDirectory)
End
Написал: Ravenous(3)
См. переменную окружения WINDIR
Igor Gubin <igor@quantor.com>
(Добавление)
Типа ФАК
http://www.clarionline.h1.ru/index.php? ... iew&qid=48
Вопрос: Необходимо в приложениии определить в какой каталог установлена Windows. Как это сделать?
Ответ 1: Ниже пример кода для получения Windows-каталога:
В глобальном MAP'е описываем прототип:
В коде процедуры:
Функция возвращает ненулевое значение в случае успешного завершения, иначе 0.
Алексей,
начальник отдела ПТО
ООО "ОРК"
mail: alex@jrcn.donetsk.ua, icq: 62605472
www: http://atinet.hypermart.net
http://www.nikasoft.co.uk
http://www.clarionline.h1.ru (FAQ-онлайн)
irc: irc.lucky.net:6669, channel #clarion, Bambino
origin: Hезавидна участь того, кому никто не завидует.
Написал: ClaList(2)
Igor Gubin <igor@quantor.com>
(Добавление)
Типа ФАК
http://www.clarionline.h1.ru/index.php? ... iew&qid=48
Вопрос: Необходимо в приложениии определить в какой каталог установлена Windows. Как это сделать?
Ответ 1: Ниже пример кода для получения Windows-каталога:
В глобальном MAP'е описываем прототип:
Код: Выделить всё
MODULE('win32')
COMPILE('***',_WIDTH32_)
GetWindowsDirectory(*CSTRING,UNSIGNED),UNSIGNED,PASCAL,RAW,NAME('GetWindowsDirectoryA')
!***
END
Код: Выделить всё
! Секция данных
LOC:WinDir CSTRING(256)
LOC:Size UNSIGNED
LOC:Flag UNSIGNED
! Секция кода
LOC:Size = SIZE(LOC:WinDir)
LOC:Flag = GetWindowsDirectory(LOC:WinDir,LOC:Size)
IF LOC:Flag AND LOC:Flag =< LOC:Size
MESSAGE('Windows здесь -> ' & CLIP(LOC:WinDir),'Каталог Windows')
END
Алексей,
начальник отдела ПТО
ООО "ОРК"
mail: alex@jrcn.donetsk.ua, icq: 62605472
www: http://atinet.hypermart.net
http://www.nikasoft.co.uk
http://www.clarionline.h1.ru (FAQ-онлайн)
irc: irc.lucky.net:6669, channel #clarion, Bambino
origin: Hезавидна участь того, кому никто не завидует.
Написал: ClaList(2)
Код: Выделить всё
MAP
MODULE('Windows API')
GetWindowsDir(*CSTRING, USHORT), USHORT, RAW, PASCAL, NAME('GetWindowsDirectoryA')
END
END
SystemFolder CSTRING(255)
code
Res# = GetWindowsDir(SystemFolder, SIZE(SystemFolder))
MESSAGE(SystemFolder)
Всего хорошего
Evgeny mailto:mixer@clarionlife.net
Сайт для кларионистов: http://www.clarionlife.net
Clarion FAQ: http://www.clarionlife.net/cgi-bin/bl_faq.pl?comm=tree
Написал: ClaList(2)