-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathduse.html
135 lines (131 loc) · 7.3 KB
/
duse.html
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
---
layout: "programs-tplt"
group: apps
priority: 1.5
version: "0.3.1"
release-date: "2025-04-05"
os: Windows 7 / Windows Server 2012 R2 & later
title: "DUSE"
precis: "Finds the unit scope that a given Pascal unit belongs to."
summary: "Maintains one or more 'mappings' of Delphi Pascal units to the unit scopes to which they may belong. Copies the fully qualified unit name to the clipboard for pasting into Pascal code. "
meta-title: "DUSE: Utility That Finds Fully Qualified Delphi Unit Names | Open Source | 32 & 64 bit"
meta-desc: "Windows utility program that looks up a Delphi Pascal unit name and finds all fully qualified unit scopes it belongs to. Open source. Written in Delphi Pascal."
download-base-url: "https://github.com/ddabapps/duse/releases/tag/v"
repo-url: "https://github.com/ddabapps/duse"
want-header-buttons: true
status: "current"
redirect_from:
- /software/unit2ns
---
<section class="panel panel-default">
<div class="panel-heading">
<h2 class="panel-title">
Overview
</h2>
</div>
<div class="panel-body">
<p>
<em>DUSE</em> is a little Windows GUI tool for Delphi programmers to find the <a href="https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Unit_Scope_Names">unit scope(s)</a> that a unit belongs to and copies the fully qualified unit name to the clipboard.
</p>
<p>
Since the introduction of unit scopes to Delphi I've been struggling to remember which scopes some units belong to. OK, sometimes the code editor pops up a list of unit names in a scope, but what I wanted was to type in a unit name and be told what unit scopes(s) the unit may belong to.
</p>
<p>
This program does that. When you have found the required unit scope name you can copy the fully qualified unit name to the clipboard ready for pasting into your code editor. It will also let you examine a unit scope to see what units it contains.
</p>
<p>
You have to teach <em>DUSE</em> about what units exist and the unit scopes they belong to. The program makes this easy to do. It finds installed versions of Delphi and can automatically read the units in an installation's source code directory. Alternatively it can scan directory trees and extract the unit names from any <code>.pas</code> or <code>.dcu</code> files that it finds. <em>DUSE</em> can remember more than one set of unit-scope name "mappings", which makes it useful for using with different versions of Delphi.
</p>
<p>
The program is available in either 64 bit 32 bit Windows versions. You should always use the 64 bit version if you are running 64 bit Windows.
</p>
<p>
No non-Windows version is (or will be) available, simply because the program is designed for use alongside the Windows-only Delphi IDE.
</p>
<aside>
<p>
Why <em>DUSE</em>? <strong>D</strong>elphi <strong>U</strong>nit <strong>S</strong>cope <strong>E</strong>xpander. And you can think of the tool being used with <strong>D</strong>elphi <strong>use</strong>s statements.
</p>
</aside>
<aside>
<p class="alert alert-info glyph">
Before release v0.3.0 <em>DUSE</em> was named <em>Unit2NS</em>, which stood for <em>Unit to namespace</em>. But someone pointed out that the program wasn't dealing with namespaces, but with unit scope names. Which buggered up using "NS" to stand for "namespace". Cue the rewriting of the UI and docs and, eventually, a new name!
</p>
</aside>
</div>
</section>
<section class="panel panel-default">
<div class="panel-heading">
<h2 class="panel-title">
Download
</h2>
</div>
<div class="panel-body">
<p>
This program is hosted on GitHub in the <code><a href="{{ page.repo-url }}">ddabapps/duse</a></code> repository. The 64 and 32 bit versions are available as separate downloads from the repository's <em><a href="{{ page.repo-url }}/releases">Releases</a></em> section.
</p>
<p>
Each release gives the option of downloading the program in executable format or as source code. From release v0.3.0 the following files can be downloaded:
</p>
<ul>
<li>
<code>duse-64bit-{{page.version}}.zip</code> – contains the 64 bit version of <em>DUSE</em> (<code>DUSE.exe</code>). The included<code>README.txt</code> file explains how to install the program. <em>Always</em> use this version on 64 bit Windows.
</li>
<li>
<code>duse-32bit-{{page.version}}.zip</code> – contains the 32 bit version of <em>DUSE</em> (<code>DUSE32.exe</code>). The included<code>README.txt</code> file explains how to install the program. <em>Only</em> use this version on 32 bit Windows.
</li>
<li>
<code>Source code.zip</code> – contains the source code in <code>.zip</code> format.
</li>
<li>
<code>Source code.tar.gz</code> – contains the source code as a g-zipped tarball.
</li>
</ul>
<p class="text-center">
<a class="btn btn-primary" role="button" href="{{ page.download-base-url }}{{ page.version }}" aria-label="Go to release v{{ page.version}} on GitHub">Get <span class="hidden-xs">release </span>v{{ page.version }} from GitHub</a>
</p>
<aside>
<p class="alert alert-warning glyph">
This is early development code. Always use the latest release, currently v{{page.version}}.
</p>
</aside>
</div>
</section>
<section class="panel panel-default" id="docs">
<div class="panel-heading">
<h2 class="panel-title">
Documentation
</h2>
</div>
<div class="panel-body">
<p>
The following documentation is available. All the links open on GitHub.
</p>
<ul class="list-group">
<li class="list-group-item">
<span class="fa fa-fw fa-x-pad-right fa-file-text-o" aria-hidden="true"></span><a href="https://github.com/ddabapps/duse/blob/master/README.md">Read Me<span class="sr-only"> (markdown format text file)</span></a> – contains details of how to install the program, brief help on using it, how to contribute etc.
</li>
<li class="list-group-item">
<span class="fa fa-fw fa-x-pad-right fa-file-text-o" aria-hidden="true"></span><a href="https://github.com/ddabapps/duse/blob/master/LICENSE">License<span class="sr-only"> (plain text file)</span></a> – the programs' end user license agreement.
</li>
<li class="list-group-item">
<span class="fa fa-fw fa-x-pad-right fa-file-text-o" aria-hidden="true"></span><a href="https://github.com/ddabapps/duse/blob/master/CHANGELOG.md">Change Log<span class="sr-only"> (markdown format text file)</span></a> – lists significant changes made in each release.
</li>
</ul>
</div>
</section>
<section class="panel panel-default">
<div class="panel-heading">
<h2 class="panel-title">
Bugs & Feature Requests
</h2>
</div>
<div class="panel-body">
<p>
If you find any bugs or want to suggest a new feature, please use the GitHub project's <a href="https://github.com/ddabapps/duse/issues">issue tracker</a>. You can browse existing issues to see if a similar one has already been raised. If so please add any further information as comments. If there is no similar issue please raise new one.
</p>
<p class="alert alert-warning glyph">
You will need a GitHub account if you want to create or edit an issue.
</p>
</div>
</section>