|
1 | | -# C4D-Version |
2 | | -Controle a versão do seu sistema através do Version Info da própria IDE do Delphi |
| 1 | +# C4D-Version - Controle a versão do seu sistema |
| 2 | +<p align="center"> |
| 3 | + <a href="https://github.com/Code4Delphi/Code4D-Wizard/blob/master/Img/C4D-Logo.png"> |
| 4 | + <img alt="Horse" height="100" src="https://github.com/Code4Delphi/Code4D-Wizard/blob/master/Img/c4d-logo-100x100.png"> |
| 5 | + </a> |
| 6 | +</p> |
| 7 | +Com o C4D-Version, você pode fazer o controle da versão do seu sistema através do Version Info da própria IDE do Delphi. |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | +## 📞 Contacts |
| 12 | + |
| 13 | +<p align="left"> |
| 14 | + <a href="https://t.me/Code4DelphiDevs" target="_blank"> |
| 15 | + <img src="https://img.shields.io/badge/Telegram:-Join%20Channel-blue?logo=telegram"> |
| 16 | + </a> |
| 17 | + |
| 18 | + <a href="mailto:contato@code4delphi.com.br" target="_blank"> |
| 19 | + <img src="https://img.shields.io/badge/E--mail-contato%40code4delphi.com.br-yellowgreen?logo=maildotru&logoColor=yellowgreen"> |
| 20 | + </a> |
| 21 | + |
| 22 | + <a href="https://go.hotmart.com/U81331747Y?dp=1" target="_blank"> |
| 23 | + <img src="https://img.shields.io/badge/Course:-Open%20Tools%20API-F00?logo=delphi"> |
| 24 | + </a> |
| 25 | + |
| 26 | + <a href="https://www.youtube.com/@code4delphi" target="_blank"> |
| 27 | + <img src="https://img.shields.io/badge/YouTube:-Join%20Channel-red?logo=youtube&logoColor=red"> |
| 28 | + </a> |
| 29 | +</p> |
| 30 | + |
| 31 | + |
| 32 | + |
| 33 | +## ⚙️ Instalação |
| 34 | + |
| 35 | +* Instalação usando o [**Boss**](https://github.com/HashLoad/boss): |
| 36 | + |
| 37 | +``` |
| 38 | +boss install github.com/Code4Delphi/C4D-Version |
| 39 | +``` |
| 40 | + |
| 41 | +* **Instalação manual**: Abra seu Delphi e adicione a seguinte pasta ao seu projeto, em *Project > Options > Resource Compiler > Directories and Conditionals > Include file search path* |
| 42 | + |
| 43 | +``` |
| 44 | +..\C4D-Version\Src |
| 45 | +``` |
| 46 | + |
| 47 | + |
| 48 | + |
| 49 | +## 🚀 Como usar |
| 50 | +* Adcione os dados da versão do seu sistema, acessando *Project > Options... (ou Shift+Ctrl+F11) > Application > Version Info* |
| 51 | + |
| 52 | +* Adicione a uses a seu sistema: |
| 53 | +``` |
| 54 | +uses |
| 55 | + C4D.Version; |
| 56 | +``` |
| 57 | + |
| 58 | +* Adicionando os dados da **versão do sistema** em um TMemo: |
| 59 | +``` |
| 60 | +var |
| 61 | + LVersao: IC4DVersionInfo; |
| 62 | +begin |
| 63 | + LVersao := TC4DVersion.Info; |
| 64 | + Memo1.Lines.Clear; |
| 65 | + Memo1.Lines.Add('GetFileName: ' + LVersao.GetFileName); |
| 66 | + Memo1.Lines.Add('FileDescription: ' + LVersao.FileDescription); |
| 67 | + Memo1.Lines.Add('VersionShort: ' + LVersao.VersionShort); |
| 68 | + Memo1.Lines.Add('VersionLong: ' + LVersao.VersionLong); |
| 69 | + Memo1.Lines.Add('VersionMajor: ' + LVersao.VersionMajor.ToString); |
| 70 | + Memo1.Lines.Add('VersionMinor: ' + LVersao.VersionMinor.ToString); |
| 71 | + Memo1.Lines.Add('VersionPatch: ' + LVersao.VersionPatch.ToString); |
| 72 | + Memo1.Lines.Add('PreRelease: ' + BoolToStr(LVersao.PreRelease, True)); |
| 73 | + Memo1.Lines.Add('VersionPreRelease: ' + LVersao.VersionPreRelease); |
| 74 | + Memo1.Lines.Add('VersionNum: ' + LVersao.VersionNum.ToString); |
| 75 | + Memo1.Lines.Add('ProductName: ' + LVersao.ProductName); |
| 76 | + Memo1.Lines.Add('VersionProductShort: ' + LVersao.VersionProductShort); |
| 77 | + Memo1.Lines.Add('VersionProductLong: ' + LVersao.VersionProductLong); |
| 78 | + Memo1.Lines.Add('Comments: ' + LVersao.Comments); |
| 79 | + Memo1.Lines.Add('CompanyName: ' + LVersao.CompanyName); |
| 80 | + Memo1.Lines.Add('InternalName: ' + LVersao.InternalName); |
| 81 | + Memo1.Lines.Add('LegalCopyright: ' + LVersao.LegalCopyright); |
| 82 | + Memo1.Lines.Add('LegalTrademarks: ' + LVersao.LegalTrademarks); |
| 83 | + Memo1.Lines.Add('OriginalFilename: ' + LVersao.OriginalFilename); |
| 84 | + Memo1.Lines.Add('TranslationString: ' + LVersao.TranslationString); |
| 85 | + Memo1.Lines.Add('VerFileDate: ' + DateTimeToStr(LVersao.VerFileDate)); |
| 86 | + Memo1.Lines.Add('SpecialBuild: ' + LVersao.SpecialBuild); |
| 87 | + Memo1.Lines.Add('PrivateBuild: ' + LVersao.PrivateBuild); |
| 88 | + Memo1.Lines.Add('DebugBuild: ' + BoolToStr(LVersao.DebugBuild, True)); |
| 89 | + Memo1.Lines.Add('Patched: ' + BoolToStr(LVersao.Patched, True)); |
| 90 | + Memo1.Lines.Add('InfoInferred: ' + BoolToStr(LVersao.InfoInferred, True)); |
| 91 | +end; |
| 92 | +``` |
| 93 | +Veja como ficaria o retorno: |
| 94 | +``` |
| 95 | +GetFileName: C:\Componentes-Delphi\Code4D\C4D-Version\Samples\Demo01\Win32\Debug\C4DVersionDemo01.exe |
| 96 | +FileDescription: Code4Delphi Controle de Versão |
| 97 | +VersionShort: 1.0.0 |
| 98 | +VersionLong: 1.0.0.0 |
| 99 | +VersionMajor: 1 |
| 100 | +VersionMinor: 0 |
| 101 | +VersionPatch: 0 |
| 102 | +PreRelease: False |
| 103 | +VersionPreRelease: |
| 104 | +VersionNum: 65536 |
| 105 | +ProductName: Code4Delphi VersionInfo |
| 106 | +VersionProductShort: 1.0.0 |
| 107 | +VersionProductLong: 1.0.0.0 |
| 108 | +Comments: contato@code4delphi.com.br |
| 109 | +CompanyName: Code4Delphi - Cursos e conteúdos de Programação Delphi |
| 110 | +InternalName: Internal Name Code4Delphi |
| 111 | +LegalCopyright: Copyright Code4Delphi |
| 112 | +LegalTrademarks: https://github.com/Code4Delphi |
| 113 | +OriginalFilename: C4DVersionDemo01 |
| 114 | +TranslationString: 041604E4 |
| 115 | +VerFileDate: 11/05/2023 22:47:48 |
| 116 | +SpecialBuild: |
| 117 | +PrivateBuild: |
| 118 | +DebugBuild: False |
| 119 | +Patched: False |
| 120 | +InfoInferred: False |
| 121 | +``` |
| 122 | + |
| 123 | +* Adicionando apenas os dados do **Semantic Version** do sistema em um TMemo: |
| 124 | +``` |
| 125 | +begin |
| 126 | + Memo1.Lines.Clear; |
| 127 | + Memo1.Lines.Add('Major: ' + TC4DVersion.SemanticVersion.Major.ToString); |
| 128 | + Memo1.Lines.Add('Minor: ' + TC4DVersion.SemanticVersion.Minor.ToString); |
| 129 | + Memo1.Lines.Add('Patch: ' + TC4DVersion.SemanticVersion.Patch.ToString); |
| 130 | + Memo1.Lines.Add('PreRelease: ' + TC4DVersion.SemanticVersion.PreRelease); |
| 131 | + Memo1.Lines.Add('SemanticVersion: ' + TC4DVersion.SemanticVersion.GetString); |
| 132 | +end; |
| 133 | +``` |
| 134 | +Veja como ficaria o retorno: |
| 135 | +``` |
| 136 | +Major: 1 |
| 137 | +Minor: 0 |
| 138 | +Patch: 0 |
| 139 | +PreRelease: |
| 140 | +SemanticVersion: 1.0.0 |
| 141 | +``` |
| 142 | + |
| 143 | + |
| 144 | +* Também é possível, acessar os dados de outros .exe, para isso basta passar o caminho do .exe como parâmetro ao char o método: TC4DVersion.Info(). Veja como fariamos para recuperar os dados do .exe do próprio Delphi: |
| 145 | +``` |
| 146 | +var |
| 147 | + LVersao: IC4DVersionInfo; |
| 148 | +begin |
| 149 | + LVersao := TC4DVersion.Info('C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\bds.exe'); |
| 150 | +``` |
| 151 | + |
| 152 | + |
| 153 | +## Vantagens em se utilizar o Version Info do Delphi |
| 154 | +* Os dados da versão são inseridos no .exe, como isso ao repousar o mouse sobre nosso arquivos .exe, os dados da versão e informações do produto são exibidos: |
| 155 | + |
| 156 | + |
| 157 | + |
| 158 | +* Se acessarmos as propriedades do .exe, veremos que os dados da versão, e as informações do produto, também seram exibidos na aba Detalhes: |
0 commit comments