powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / показать номер сборки проекта (build) Delphi 2010
9 сообщений из 9, страница 1 из 1
показать номер сборки проекта (build) Delphi 2010
    #39471445
SDA_H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день! Как из программы вывести № сборки текущего проекта в группе проектов?
...
Рейтинг: 0 / 0
показать номер сборки проекта (build) Delphi 2010
    #39471454
SDA_H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашел:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
function GetMyVersion:string;
type
  TVerInfo=packed record
    Nevazhno: array[0..47] of byte; // ненужные нам 48 байт
    Minor,Major,Build,Release: word; // а тут версия
  end;
var
  s:TResourceStream;
  v:TVerInfo;
begin
  result:='';
  try
    s:=TResourceStream.Create(HInstance,'#1',RT_VERSION); // достаём ресурс
    if s.Size>0 then begin
      s.Read(v,SizeOf(v)); // читаем нужные нам байты
      result:=IntToStr(v.Major)+'.'+IntToStr(v.Minor)+'.'+ // вот и версия...
              IntToStr(v.Release)+'.'+IntToStr(v.Build);
    end;
  s.Free;
  except; end;
end;
...
Рейтинг: 0 / 0
показать номер сборки проекта (build) Delphi 2010
    #39471467
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SDA_Hнашел:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
function GetMyVersion:string;
type
  TVerInfo=packed record
    Nevazhno: array[0..47] of byte; // ненужные нам 48 байт
    Minor,Major,Build,Release: word; // а тут версия
  end;
var
  s:TResourceStream;
  v:TVerInfo;
begin
  result:='';
  try
...
  except; end;
end;



Закопай обратно
...
Рейтинг: 0 / 0
показать номер сборки проекта (build) Delphi 2010
    #39471723
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SDA_H,

можно так

зы. в Лазаре все намного проще
...
Рейтинг: 0 / 0
показать номер сборки проекта (build) Delphi 2010
    #39472138
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
14.06.2017 19:38, Док пишет:
> можно так < https://stackoverflow.com/questions/6557778/get-fileversion-with-build>

не нужно ТАК.
ТАК получают версию любого СТОРОННЕГО файла.
можно конечно и "самого себя", но это будет "чешежопица".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
показать номер сборки проекта (build) Delphi 2010
    #39472180
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

так ты покажи, как надо. ТС не прочтет, другие найдут :)
...
Рейтинг: 0 / 0
показать номер сборки проекта (build) Delphi 2010
    #39472196
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
15.06.2017 12:41, Док пишет:
> так ты покажи, как надо. ТС не прочтет, другие найдут :)

все интернеты завалены бесплатными советами "как надо" (С)
версия сидит в ресурсе, читать нужно ресурс и разбирать его.
примерно так (схематически):
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
  m := TMemoryStream.Create;
  try
    try
      rs := TResourceStream.CreateFromID(HInstance, 1, RT_VERSION);
      try
        m.CopyFrom(rs, rs.Size);
      finally
        rs.Free;
      end;

      m.Position := 0;

      if VerQueryValue(m.Memory, '\', pointer(VerInfo), InfoSize) then
        begin
          Major1 := VerInfo.dwFileVersionMS shr 16;
          Major2 := VerInfo.dwFileVersionMS and $FFFF;
          Minor1 := VerInfo.dwFileVersionLS shr 16;
          Minor2 := VerInfo.dwFileVersionLS and $FFFF;
          Result := true;
        end;
    except
      Result := false;
      Major1 := 0;
      Major2 := 0;
      Minor1 := 0;
      Minor2 := 0;
    end;
  finally
    m.Free;
  end;



Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
показать номер сборки проекта (build) Delphi 2010
    #39472271
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий15.06.2017 12:41, Док пишет:
> так ты покажи, как надо. ТС не прочтет, другие найдут :)

все интернеты завалены бесплатными советами "как надо" (С)
версия сидит в ресурсе, читать нужно ресурс и разбирать его.
примерно так (схематически):
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
  m := TMemoryStream.Create;
  try
    try
      rs := TResourceStream.CreateFromID(HInstance, 1, RT_VERSION);
      try
        m.CopyFrom(rs, rs.Size);
      finally
        rs.Free;
      end;

      m.Position := 0;

      if VerQueryValue(m.Memory, '\', pointer(VerInfo), InfoSize) then
        begin
          Major1 := VerInfo.dwFileVersionMS shr 16;
          Major2 := VerInfo.dwFileVersionMS and $FFFF;
          Minor1 := VerInfo.dwFileVersionLS shr 16;
          Minor2 := VerInfo.dwFileVersionLS and $FFFF;
          Result := true;
        end;
    except
      Result := false;
      Major1 := 0;
      Major2 := 0;
      Minor1 := 0;
      Minor2 := 0;
    end;
  finally
    m.Free;
  end;





Ты завалил еще одним "схематическим советом". А если нет версии, что в твоем "схематическом" варианте вернется ?
...
Рейтинг: 0 / 0
показать номер сборки проекта (build) Delphi 2010
    #39472276
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
15.06.2017 13:56, schi пишет:
> А если нет версии, что в твоем "схематическом" варианте вернется ?

Идите, идите. Я подаю только по субботам, нечего тут заливать. (С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / показать номер сборки проекта (build) Delphi 2010
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]