Size: a a a

2020 December 09

ДT

Дмитрий Texnix... in Delphi & Lazarus
Miss Очепятка
Ага и админ к БД
простейшие бд не требуют администрирования
источник

RS

Renat Suleymanov in Delphi & Lazarus
Дмитрий Texnix
именно, админов отвлекают такой хернёй как блокировка файлов
С сетью на 500 и критически важными файлами расшаренные ресурсы с доступом для редактирования, конечно, нельзя делать. я приводил пример с небольшим конструкторским отделом на 5-20 компьютеров
источник

ДT

Дмитрий Texnix... in Delphi & Lazarus
в установочных файлах, например больничных листов, устанавливается бд постгрес, на всех предприятиях, и о том что это бд многие юзеры даже не знают
источник

ДT

Дмитрий Texnix... in Delphi & Lazarus
а больничные листы выписывают все, все-все. Так что даже у вас, есть или 1С с бд, или ФСС с бд.
источник

z

zamtmn in Delphi & Lazarus
вот, диагноз я выше описывал))
источник

ДT

Дмитрий Texnix... in Delphi & Lazarus
ну, по закону, ща все переходят на электронные больничные листы, и чтобы оплатить его, ваша фирмочка обязана загрузить его с сервера ФСС. А значит иметь необходимое ПО
источник

Miss Очепятка... in Delphi & Lazarus
Дмитрий Texnix
ну, по закону, ща все переходят на электронные больничные листы, и чтобы оплатить его, ваша фирмочка обязана загрузить его с сервера ФСС. А значит иметь необходимое ПО
Сейчас предприятия из этой цепочки решено исключить.
источник

RS

Renat Suleymanov in Delphi & Lazarus
Вообщем, для его программы postgress и вообще СУБД явно не подходит. Тут даже обсуждать нечего
источник

ДT

Дмитрий Texnix... in Delphi & Lazarus
Miss Очепятка
Сейчас предприятия из этой цепочки решено исключить.
да, ща переход на 2.0 осуществляется. Но в текущий момент должна стоять программа ФСС
источник

z

zamtmn in Delphi & Lazarus
рекомендуешь ТСу БД? представь что у тебя calc.exe будет зависеть от нескольких субд и не будет работать пока не подключится к 5ти серверам
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Нет ли у кого алгоритма сравнения версий ПО вида Х.Х.Х.Х (Х уже разделены, может быть integer/string)
источник

ДT

Дмитрий Texnix... in Delphi & Lazarus
Сергей Пятыгин
Нет ли у кого алгоритма сравнения версий ПО вида Х.Х.Х.Х (Х уже разделены, может быть integer/string)
у меня даж код есть, ща
источник

Miss Очепятка... in Delphi & Lazarus
zamtmn
рекомендуешь ТСу БД? представь что у тебя calc.exe будет зависеть от нескольких субд и не будет работать пока не подключится к 5ти серверам
Я тут отечественный файрво один хотел освоить так там как раз 5 БД было на 5 виртуалках.
источник

ДT

Дмитрий Texnix... in Delphi & Lazarus
Сергей Пятыгин
Нет ли у кого алгоритма сравнения версий ПО вида Х.Х.Х.Х (Х уже разделены, может быть integer/string)
а, тебе просто строку разбить по точкам?
источник

ДT

Дмитрий Texnix... in Delphi & Lazarus
не, я прост беру версию : FileVersion(Paramstr(0))
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
function TFormMain.CheckVersion(Old, New: string): boolean;
var
 OldVersion: array [0..3] of integer;
 NewVersion: array [0..3] of integer;
begin

 OldVersion[0] := StrToInt(ExtractWord(1, Old, ['.']));
 OldVersion[1] := StrToInt(ExtractWord(2, Old, ['.']));
 OldVersion[2] := StrToInt(ExtractWord(3, Old, ['.']));
 OldVersion[3] := StrToInt(ExtractWord(4, Old, ['.']));

 NewVersion[0] := StrToInt(ExtractWord(1, New, ['.']));
 NewVersion[1] := StrToInt(ExtractWord(2, New, ['.']));
 NewVersion[2] := StrToInt(ExtractWord(3, New, ['.']));
 NewVersion[3] := StrToInt(ExtractWord(4, New, ['.']));  

Далее ГУГЛ мне дает не очень изящные решения, на мой взгляд. Мб есть уже проверенное в бою решение?
источник

RS

Renat Suleymanov in Delphi & Lazarus
Сергей Пятыгин
function TFormMain.CheckVersion(Old, New: string): boolean;
var
 OldVersion: array [0..3] of integer;
 NewVersion: array [0..3] of integer;
begin

 OldVersion[0] := StrToInt(ExtractWord(1, Old, ['.']));
 OldVersion[1] := StrToInt(ExtractWord(2, Old, ['.']));
 OldVersion[2] := StrToInt(ExtractWord(3, Old, ['.']));
 OldVersion[3] := StrToInt(ExtractWord(4, Old, ['.']));

 NewVersion[0] := StrToInt(ExtractWord(1, New, ['.']));
 NewVersion[1] := StrToInt(ExtractWord(2, New, ['.']));
 NewVersion[2] := StrToInt(ExtractWord(3, New, ['.']));
 NewVersion[3] := StrToInt(ExtractWord(4, New, ['.']));  

Далее ГУГЛ мне дает не очень изящные решения, на мой взгляд. Мб есть уже проверенное в бою решение?
Lazarus вроде дает значение в виде record из 4-ёх Integer. Остается просто сравнить
источник

ДT

Дмитрий Texnix... in Delphi & Lazarus
ну.. можно добавить i и цикл
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Дмитрий Texnix
ну.. можно добавить i и цикл
Да, вставил и это тоже увидел, конечно же:

for j := 0 to 3 do
   OldVersion[j] := StrToInt(ExtractWord(j + 1, Old, ['.']));

 for j := 0 to 3 do
   NewVersion[j] := StrToInt(ExtractWord(j + 1, New, ['.']));
источник

RS

Renat Suleymanov in Delphi & Lazarus
Сергей Пятыгин
function TFormMain.CheckVersion(Old, New: string): boolean;
var
 OldVersion: array [0..3] of integer;
 NewVersion: array [0..3] of integer;
begin

 OldVersion[0] := StrToInt(ExtractWord(1, Old, ['.']));
 OldVersion[1] := StrToInt(ExtractWord(2, Old, ['.']));
 OldVersion[2] := StrToInt(ExtractWord(3, Old, ['.']));
 OldVersion[3] := StrToInt(ExtractWord(4, Old, ['.']));

 NewVersion[0] := StrToInt(ExtractWord(1, New, ['.']));
 NewVersion[1] := StrToInt(ExtractWord(2, New, ['.']));
 NewVersion[2] := StrToInt(ExtractWord(3, New, ['.']));
 NewVersion[3] := StrToInt(ExtractWord(4, New, ['.']));  

Далее ГУГЛ мне дает не очень изящные решения, на мой взгляд. Мб есть уже проверенное в бою решение?
function CompareVersions(const aVersion1, aVersion2: TFileProductVersion): Integer;
begin
 Result:=aVersion1[0]-aVersion2[0];
 if Result=0 then
   Result:=aVersion1[1]-aVersion2[1]
 else
   Exit;
 if Result=0 then
   Result:=aVersion1[2]-aVersion2[2]
 else
   Exit;
 if Result=0 then
   Result:=aVersion1[3]-aVersion2[3];
end;
Но тут уже версия это массив из четерых типа Word

 TFileProductVersion = array[0..3] of word;
источник