Skip to content

Commit d821379

Browse files
committed
Merge branch 'add-vibin-pages'
Add new page for vibin project & URL redirect to vibin documenation
2 parents c297e0f + de44c39 commit d821379

File tree

1 file changed

+213
-0
lines changed

1 file changed

+213
-0
lines changed

_software/vibin.html

Lines changed: 213 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
1+
---
2+
dl-file-prefix: "dd-vibin-"
3+
layout: "codelib-tplt"
4+
group: lib
5+
priority: 3.5
6+
version: No releases yet
7+
release-date: N/a
8+
platforms: ["Win32"]
9+
frameworks: ["VCL", "FMX"]
10+
compatibility: "Delphi XE and later"
11+
title: "Binary Version Information Manipulation Units"
12+
precis: "Classes to manipulate binary Windows version information."
13+
summary: "UNDER DEVELOPMENT: Classes to read, manipulate and write binary Windows version information, bypassing the Windows API."
14+
meta-title: "Delphi VCL & FMX classes to read, manipulate and write binary Windows version information."
15+
meta-desc: "Delphi Pascal VCL & FMX classes to read, manipulate and write binary Windows version information, bypassing the Windows API. Requires Delphi XE & later."
16+
download-base-url: "https://sourceforge.net/projects/ddablib/files/vibin/"
17+
repo-url: "https://github.com/ddablib/vibin"
18+
docs-url: "https://lib-docs.delphidabbler.com/VIBin/"
19+
want-header-buttons: false
20+
status: "current"
21+
---
22+
{% assign dl-file = page.dl-file-prefix | append: page.version | append: ".zip" %}
23+
{% assign dl-url = page.download-base-url | append: dl-file %}
24+
25+
<section class="panel panel-default">
26+
27+
<div class="panel-heading">
28+
<h2 class="panel-title">
29+
Overview
30+
</h2>
31+
</div>
32+
33+
<div class="panel-body">
34+
<p class="alert alert-danger glyph">
35+
This code is in development and has not yet been released.
36+
</p>
37+
<p>
38+
The Binary Version Information Manipulation Units provide a set of classes that can be used to read, manipulate and write Windows version information in its raw binary form. This is the form used to store version information in Windows executables and resource files.
39+
</p>
40+
<p>
41+
The advantage of using this code over the Windows API for reading version information is that the code can cope with badly formed version information that would defeat the API routines. Furthermore, this code can enumerate the contents of string tables and list and access non-standard string table entries. It also works with string tables in multiple languages.
42+
</p>
43+
44+
<h3 data-toggle="collapse" data-target="#demo" class="collapsible collapsed">
45+
Demo code
46+
</h3>
47+
48+
<div id="demo" class="collapse"> <!-- begin collapsible #demo section -->
49+
<p>
50+
Two programs are provided that show how to use classes made available by the <code>vibin</code> project:
51+
</p>
52+
<ol>
53+
<li>
54+
<code>ResRWDemo</code> - demonstrates how to read from and write to 32 bit version information resources within binary resource files.
55+
</li>
56+
<li>
57+
<code>VIReaderDemo</code> - demonstrates how to read 32 bit version information from executable programs or DLLs.
58+
</li>
59+
</ol>
60+
<p>
61+
You should the read demo source code alongside the user guide: the two are complementary.
62+
</p>
63+
</div> <!-- /#demo -->
64+
</div>
65+
66+
</section>
67+
68+
<section class="panel panel-default">
69+
70+
<div class="panel-heading">
71+
<h2 class="panel-title">
72+
Get The Code
73+
</h2>
74+
</div>
75+
76+
<div class="panel-body">
77+
<!--
78+
<p>
79+
You can download the latest version of the <em>{{page.title}}</em> directly from SourceForge as <code>{{ dl-file }}</code>.
80+
</p>
81+
<p class="text-center">
82+
<a class="btn btn-primary" role="button" href="{{ dl-url }}" aria-label="Go to SourceForge and download latest version automatically">Download <span class="hidden-xs">release </span>v{{ page.version }}<span class="hidden-xs"> from SourceForge</span></a>
83+
</p>
84+
<p>
85+
The <em>{{ page.title }}</em> source code is hosted in the <a href="{{ page.repo-url }}" aria-label="Link to the ddablib/vibin repository on GitHub"><code>ddablib/vibin</code></a> GitHub repository. You can <code>git clone</code> or fork the repository as required.
86+
</p>
87+
-->
88+
<p class="alert alert-danger glyph">
89+
The source code will shortly be available on GitHub. At the moment the repository is private.
90+
</p>
91+
</div>
92+
93+
</section>
94+
95+
<!--
96+
<section class="panel panel-default">
97+
98+
<div class="panel-heading">
99+
<h2 class="panel-title">
100+
Installation
101+
</h2>
102+
</div>
103+
104+
<div class="panel-body">
105+
<p>
106+
The <em>{{ page.title }}</em> is supplied in a zip file. Before installing you need to extract all the files from the zip file. The following files will be extracted:
107+
</p>
108+
<ul class="list-group">
109+
<li class="list-group-item">
110+
<strong><code>UVerInfoData.pas</code></strong> &ndash; Contains all the primary classes you need to interact with to manipulate binary version information.
111+
</li>
112+
<li class="list-group-item">
113+
<strong><code>UVerInfoRec.pas</code></strong> &ndash; Contains support classes required by <code>UVerInfoData.pas</code>. These classes do not need to be accessed directly.
114+
</li>
115+
<li class="list-group-item">
116+
<strong><code>UVerInfoBinIO.pas</code></strong> &ndash; Contains support classes required by </code>>UVerInfoRec.pas</code>. These classes do not need to be accessed directly.
117+
</li>
118+
<li class="list-group-item">
119+
<code>README.md</code> &ndash; Read-me file.
120+
</li>
121+
<li class="list-group-item">
122+
<code>CHANGELOG</code> &ndash; The project's change log.
123+
</li>
124+
<li class="list-group-item">
125+
<code>MPL-2.txt</code> &ndash; The Mozilla Public License v2.0.
126+
</li>
127+
<li class="list-group-item">
128+
<code>Documentation.URL</code> &ndash; Short-cut to the component's online documentation.
129+
</li>
130+
</ul>
131+
<p>
132+
In addition to the above files you will find the the source code of two demo projects along with read-me files in the <code>Demos</code> directory.
133+
</p>
134+
<p>
135+
There are four possible ways to use the units:
136+
</p>
137+
<ol>
138+
<li>
139+
The simplest way is to add <code>UVerInfoData.pas</code>, <code>UVerInfoRec.pas</code> and <code>UVerInfoBinIO.pas</code> to your projects.
140+
</li>
141+
<li>
142+
To make the units easier to re-use you can either copy them to a folder on your Delphi search path, or add the folder where you extracted the units to the search path. You then simply use the units as required without needing to add it to your project.
143+
</li>
144+
<li>
145+
For maximum portability you can add the units to a Delphi package.
146+
</li>
147+
<li>
148+
If you use Git you can add the <a href="https://github.com/ddablib/vibin"><code>ddablib/vibin</code></a> GitHub repository as a Git submodule and add it to your project. Obviously, it's safer if you fork the repo and use your own copy, just in case <code>ddablib/vibin</code> ever goes away.
149+
</li>
150+
</ol>
151+
</div>
152+
153+
</section>
154+
-->
155+
156+
<!--
157+
<section class="panel panel-default">
158+
159+
<div class="panel-heading">
160+
<h2 class="panel-title">
161+
Documentation
162+
</h2>
163+
</div>
164+
165+
<div class="panel-body">
166+
<p>
167+
The <em>{{ page.title }}</em> is comprehensively documented online <a href="{{ page.docs-url }}" aria-title="View the online documentation">here</a>
168+
</p>
169+
<p>
170+
The project's change log can be viewed <a href="https://github.com/ddablib/vibin/blob/master/CHANGELOG.md" aria-title="View the change log in Markdown format">here</a>.
171+
</p>
172+
<p>
173+
A read-me file (<code>README.md</code>) is included in the project download or it can be viewed <a href="https://github.com/ddablib/vibin/blob/master/README.md" aria-title="View the read-me file in Markdown format">here</a>.
174+
</p>
175+
</div>
176+
177+
</section>
178+
-->
179+
180+
<!--
181+
<section class="panel panel-default">
182+
<div class="panel-heading">
183+
<h2 class="panel-title" id="feedback">
184+
Feedback &amp; Queries
185+
</h2>
186+
</div>
187+
<div class="panel-body">
188+
<p>
189+
If you find any bugs or want to suggest a new feature please report them using the <em>{{page.title}}</em> <a href="https://github.com/ddablib/vibin/issues">issue tracker</a>.
190+
</p>
191+
<p>
192+
If you have created a bug fix or have implemented a new feature please open a pull request for it.
193+
</p>
194+
<p>
195+
Should you have any queries about using the component please read the <a href="{{ page.docs-url }}">documentation</a>. If you can't find an answer in the documentation then post a message in the <a href="https://github.com/orgs/ddablib/discussions">discussion group</a>
196+
</p>
197+
</div>
198+
</section>
199+
-->
200+
201+
<section class="panel panel-default">
202+
<div class="panel-heading">
203+
<h2 class="panel-title">
204+
License
205+
</h2>
206+
</div>
207+
<div class="panel-body">
208+
<p>
209+
<span class="fa fa-copyright fa-pull-left fa-3x"></span>
210+
The <em>{{ page.title }}</em> is open source. It is copyright &copy; 1998-2014 by <a href="https://en.gravatar.com/delphidabbler" aria-label="Peter Johnson's Gravatar account">Peter Johnson</a>. The source code is made available under the terms of the <a href="https://www.mozilla.org/MPL/2.0/" aria-label="Mozilla Public License v2.0 on mozilla.org">Mozilla Public License v2.0</a>. All relevant trademarks are acknowledged.
211+
</p>
212+
</div>
213+
</section>

0 commit comments

Comments
 (0)