Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как добавить строчку в service?? [D6, IB5.x, IB6.x]


КомофОнСамый ©   (2004-02-05 19:53:00) 

коректно. чтоб и на 9х и на НТ/2000/ХР работало...

Проверяем наличие в файле Services строчки gds_db 3050/tcp
и если нет - то добавляем?


Romkin   (2004-02-06 09:38:00) [1]

2Anatoly Podgoretsky не совсем :)
Лови, первая проверяет, вторая делает:

Sgds = "gds_db 3050/tcp";
SIBServ = "gds_db";

function GetIBService(var IBPort: integer): boolean;
var
ServEnt: PServEnt;
begin
Result := false;
ServEnt := GetServByName(PChar(SIBServ), "tcp");
if assigned(ServEnt) then
begin
Result := true;
IBPort := ntohs(ServEnt.s_port);
end;
end;

function WriteServString(const ServString: string): boolean;
var
ServFile: textFile;
reg: TRegistry;
ServPath: string;
PathStr: array [0..MAX_PATH] of char;
begin
Result := false;
//Путь
if GetWindowsDirectory(PathStr, MAX_PATH) = 0 then
RaiseLastOSError;
ServPath := IncludeTrailingPathDelimiter(PathStr);
Reg := TRegistry.Create(KEY_READ);
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKeyReadOnly(ServiceKey) then
begin
ServPath := reg.ReadString("DataBasePath");
ExpandEnvironmentStrings(PChar(ServPath), PathStr, MAX_PATH);
ServPath := IncludeTrailingPathDelimiter(PathStr);
end;
finally
reg.CloseKey;
reg.Free;
end;
assignFile(ServFile, ServPath + "Services");
append(ServFile);
try
Writeln(ServFile, Sgds);
Result := true;
finally
CloseFile(ServFile);
end;
end;


Anatoly Podgoretsky   (2004-02-05 20:33:00) [2]

Функция POS


kaif   (2004-02-05 20:05:00) [3]

Кстати, насколько я знаю, прописывать в Services эти вещи для последних версий Yaffil и Firebird не обязательно. Хотя, может ошибаюсь - тогда пусть меня поправят.


Наверх

Титульная страница Поиск, карта сайта Написать письмо