![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как программно менять udl файл [D6, MSSQL]
TASADAR © (2003-10-08 12:39:00)
Делаю инсталятор который в одном из диалогов будет запускать программу (я хочу написать ее на дельфи) которая будет спрашивать у пользователя имя сервера где находится MSSQL и менять udl файл. Такой же вариант хочу сделать для другой программы которая работает с БД Access и спрашивает путь к файлу mdb.
p@ran0id (2003-10-10 16:48:00) [1]
Я всегда использую DSN-файлы. Это простой тектовый файл
Arm79 (2003-10-10 15:11:00) [2]
> TASADAR (10.10.03 02:09) [5]
Делай так. Выдели массив памяти под буфер типа PWideChar. Что-то вроде этого Str:=PWideChar(AllocMem(сколько надо)). Запиши туда строку. Затем добавь в конец строки #$D#$A#0. Открой файл через поток TFileStream и через метод ReadBuffer запиши в поток. Когда поток закроется, запись будет в файле. И еще, пишу по памяти, Делфей рядом нет, так что возможны ошибки в синтаксисе, а идея такая. Я сам мучился, правда у меня было наоборот - Из файла надо было выдернуть строку соединения. И еще, задай побольше размер памяти, тк например у меня был файл 509 б. Где гарантии, что не будет больше?
KSergey (2003-10-10 12:20:00) [3]
Погодите, с другой стороны - нито не заставляет делать udl-файл
Сформируйте в программе строку соединения - и все дела.
TASADAR (2003-10-10 02:09:00) [4]
>>Arm79
Как вариант, записывай текстовый файл со строкой соединения, но с расширением udl.
Сделал так но файл который содержит один и тот же текст у меня получился 129 байт а если создать правильно средствами Windows она получается 260 байт. Это юникод файл. При попытке открытия моего файла выдается ошибка и программа тоже не работает с этим файлом. Как можно средствами дельфи созранить файл как юникод-файл. Я в своей программе использую TntMemo (из TntUnicodeControls), делаю его не видимым, добавляю текст и SaveToFile... но так конечно же неправильно... У TWideStrings нет метода SaveToFile
Arm79 (2003-10-08 16:19:00) [5]
В делфи, если не ошибаюсь, есть специальный диалог для udl-файлов. К сожалению, я забыл наименование, но найти нетрудно. Как вариант, записывай текстовый файл со строкой соединения, но с расширением udl.
TASADAR (2003-10-08 16:17:00) [6]
> Tihiy
Это две разные программы. Просто хочу менять UDL файлы через программу конфигурации. Хотел узнать есть ли средсвто что бы корректно менять UDL файл (средствами Дельфи) в зависимости от выбранного драйвера?
Tihiy (2003-10-08 12:44:00) [7]
Не совсем понятен вопрос
Сделай несколько UDL-файлов и меняй их - всё вроде бы
zx (2003-10-08 12:44:00) [8]
Обычный текстовый файл.