You can subscribe to this list here.
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
(20) |
May
(48) |
Jun
(8) |
Jul
(23) |
Aug
(41) |
Sep
(42) |
Oct
(22) |
Nov
(17) |
Dec
(36) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
(43) |
Feb
(42) |
Mar
(17) |
Apr
(39) |
May
(16) |
Jun
(35) |
Jul
(37) |
Aug
(47) |
Sep
(49) |
Oct
(9) |
Nov
(52) |
Dec
(37) |
| 2008 |
Jan
(48) |
Feb
(21) |
Mar
(7) |
Apr
(2) |
May
(5) |
Jun
(17) |
Jul
(17) |
Aug
(40) |
Sep
(58) |
Oct
(38) |
Nov
(19) |
Dec
(32) |
| 2009 |
Jan
(67) |
Feb
(46) |
Mar
(54) |
Apr
(34) |
May
(37) |
Jun
(52) |
Jul
(67) |
Aug
(72) |
Sep
(48) |
Oct
(35) |
Nov
(27) |
Dec
(12) |
| 2010 |
Jan
(56) |
Feb
(46) |
Mar
(19) |
Apr
(14) |
May
(21) |
Jun
(3) |
Jul
(13) |
Aug
(48) |
Sep
(34) |
Oct
(51) |
Nov
(16) |
Dec
(32) |
| 2011 |
Jan
(36) |
Feb
(14) |
Mar
(12) |
Apr
(3) |
May
(5) |
Jun
(24) |
Jul
(15) |
Aug
(30) |
Sep
(21) |
Oct
(4) |
Nov
(25) |
Dec
(23) |
| 2012 |
Jan
(45) |
Feb
(42) |
Mar
(19) |
Apr
(14) |
May
(13) |
Jun
(7) |
Jul
(3) |
Aug
(46) |
Sep
(21) |
Oct
(10) |
Nov
(2) |
Dec
|
| 2013 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <cyc...@us...> - 2007-07-08 12:10:58
|
Revision: 2062
http://svn.sourceforge.net/jcl/?rev=2062&view=rev
Author: cycocrew
Date: 2007-07-08 05:10:55 -0700 (Sun, 08 Jul 2007)
Log Message:
-----------
Updated FileUtils.dtx help file
Modified Paths:
--------------
trunk/help/FileUtils.dtx
Modified: trunk/help/FileUtils.dtx
===================================================================
--- trunk/help/FileUtils.dtx 2007-07-06 16:43:20 UTC (rev 2061)
+++ trunk/help/FileUtils.dtx 2007-07-08 12:10:55 UTC (rev 2062)
@@ -47,7 +47,8 @@
the Windows operating system.
Platform:
Windows
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@PathDevicePrefix
<GROUP FilesandIO.Pathmanipulation>
@@ -59,7 +60,8 @@
of any driver.
Platform:
Windows
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@PathSeparator
<GROUP FilesandIO.Pathmanipulation>
@@ -70,7 +72,8 @@
of a path such as the drive, directories and the filename. The value of this
constant is conditionally defined as a forward or backward slash depening on the
targetted operating system (Linux and Windows respectively).
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@PathUncPrefix
<GROUP FilesandIO.Pathmanipulation>
@@ -79,7 +82,8 @@
Description:
Character string used a prefix for UNC paths. A full UNC path is of the
form: \\Server\Share or \\?\UNC\Server\Share.
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@GetSizeOfFile
<GROUP FilesandIO.FilesandDirectories>
@@ -95,8 +99,10 @@
Result:
The size of the file, in bytes. If the function fails to determine the size of
the file it raises an exception.
-Donator: David Hervieux (Win32 code)
-Contributor: Robert Rossmair (Unix code)
+Donator:
+ David Hervieux (Win32 code)
+Contributor:
+ Robert Rossmair (Unix code)
--------------------------------------------------------------------------------
@@TJclFileMappingView
<GROUP FilesandIO.Streams.FileMapping>
@@ -113,7 +119,8 @@
memory using pointers. TJclFileMappingView takes this a bit further by allowing
you to use the familiar TStream interface to manipulate the view. If you so desire
you can still use the 'memory' directly by using the Memory property.
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclFileMappingView.Create
Summary:
@@ -125,7 +132,8 @@
map directly to the Access, Count, Offset and Address parameters of the AddAt
method. The FileMap parameter specifies the TJclCustomFileMapping object for
which the view is created and cannot be nil.
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclFileMappingView.Flush
Summary:
@@ -138,7 +146,8 @@
Count - The number of bytes to flush. Specifying 0 causes the entire view to be flushed.
Result:
If the function succeeds it returns True, otherwise it returns False.
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclFileMappingView.Write
Summary:
@@ -154,7 +163,8 @@
Cound - Number of bytes to write from Buffer.
Result:
The number of bytes that were actually written to the view.
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclFileMappingView.LoadFromStream
Summary:
@@ -167,7 +177,8 @@
Stream - The stream from which to copy the contents. The contents are read starting at
position 0 up to the end of the stream. The stream's size must be smaller than or equal
to the view's size or an exception is raised.
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclFileMappingView.LoadFromFile
Summary:
@@ -178,7 +189,8 @@
hold an exception is raised (a view will not expand in size).
Parameters:
FileName - Name of the file whose contents to copy into the view.
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclFileMappingView.Index
Summary:
@@ -186,7 +198,8 @@
Description:
Index contains the Index into the owning TJclCustomFileMapping object's Views list.
Do not cache this index since it may change when other views are added or deleted.
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclFileMappingView.FileMapping
Summary:
@@ -194,7 +207,8 @@
Description:
Reference to the TJclCustomFileMapping object that this View was created from. The
View remains owned by that object until it is destroyed.
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclFileMappingView.Offset
Summary:
@@ -203,7 +217,8 @@
Offset contains the Offset into the filemapping that this view was created for.
Since the offset must always be a multiple of the system's allocation granularity
this value may not be the same value you specified when the view was created.
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclCustomFileMapping
<GROUP FilesandIO.Streams.FileMapping>
@@ -224,7 +239,8 @@
not use this class directly. Instead use the derived TJclFileMapping and
TJclSwapFileMapping classes. These two classes only differ in their constructors
but do prevent you from a common mistake (related to the return value of CreateFile).
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclCustomFileMapping.Open
Summary:
@@ -244,8 +260,8 @@
FILE_MAP_ALL_ACCESS Same as FILE_MAP_WRITE.
FILE_MAP_COPY Copy-on-write access. The target file-mapping object must have been created with PAGE_WRITECOPY protection. A copy-on-write view of the file is mapped.
</TABLE>
-
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclCustomFileMapping.Add
Summary:
@@ -261,7 +277,8 @@
The Index into the Views array of the newly created View object.
See also:
AddAt
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclCustomFileMapping.AddAt
Summary:
@@ -282,7 +299,8 @@
The Index into the Views array of the newly created View object.
See also:
Add
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclCustomFileMapping.Delete
Summary:
@@ -294,7 +312,8 @@
the function raises an exception.
Parameters:
Index - Index into the Views array of the View object to destroy. Must be a valid index or an exception is raised.
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclCustomFileMapping.IndexOf
Summary:
@@ -307,8 +326,8 @@
Result:
The Index into the Views array property of the specified View. If the View does
not exist in the array the function returns -1.
-
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclCustomFileMapping.Count
Summary:
@@ -319,7 +338,8 @@
or the AddAt method.
The individual TJclFileMappingView objects can be accessed using the Views array
property.
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclCustomFileMapping.Existed
Summary:
@@ -329,7 +349,8 @@
creation. This only applies if you used the Open constructor or specified a name
in the constructor and another process had already created the filemapping with
the same name.
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclCustomFileMapping.Handle
Summary:
@@ -339,8 +360,8 @@
use it, for example, to share the filemapping with another process through
handle inheritance. Never close the handle manually, this is done automatically
at destruction.
-
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclCustomFileMapping.Name
Summary:
@@ -348,7 +369,8 @@
Description:
The Name property contains the name of the filemapping object as specified during
construction.
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclCustomFileMapping.RoundViewOffset
Summary:
@@ -360,8 +382,8 @@
granularity. The RoundViewOffset determines how the TJclFileMappingView class
rounds the supplied offset and/or base address values when these conditions are
not met. You can have the class automatically round upwards or downwards.
-
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclCustomFileMapping.Views
Summary:
@@ -371,7 +393,8 @@
using the Add or AddAt method. The number of Views in this list can be determined
using the Count property. When a View is created it is automatically
added to the list and when a view is destroyed is is removed from the list.
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclFileMapping
<GROUP FilesandIO.Streams.FileMapping>
@@ -381,8 +404,8 @@
TJclFileMapping is a specification of a filemapping object. It only differs from
TJclCustomFileMapping in the implementation of its constructor. Use this class
when you want to map an actual disk file.
-
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclFileMapping.Create
Summary:
@@ -400,8 +423,8 @@
Protect - Protection attributes for the filemapping object. See the Win32 help file or Platform SDK for the allowed values (look at the description of the CreateFileMapping function, flProtect parameter).
MaximumSize - Maximum size of the filemapping object. If you specify 0 the filemapping will be the same size as the underlying disk file (which is not allowed to have a size of 0 itself).
SecAttr - Security attributes for the filemapping. See the Win32 help file or Platform SDK for details.
-
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclFileMapping.FileHandle
Summary:
@@ -416,7 +439,8 @@
use the handle after the TJclFileMapping class has been destroyed then you must
copy it using DuplicateHandle. Note that if you decide to use the Handle as such
you are still required to close the original handle using CloseHandle!
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclSwapFileMapping
<GROUP FilesandIO.Streams.FileMapping>
@@ -427,8 +451,8 @@
from TJclCustomFileMapping in the implementation of its constructor. Use this
class when you want to create a filemapping backed by the systems swap file (ideal
for cross-process communication).
-
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclSwapFileMapping.Create
Summary:
@@ -441,8 +465,8 @@
Protect - Protection attributes for the filemapping object. See the Win32 help file or Platform SDK for the allowed values (look at the description of the CreateFileMapping function, flProtect parameter).
MaximumSize - Maximum size of the filemapping object. Cannot be 0.
SecAttr - Security attributes for the filemapping. See the Win32 help file or Platform SDK for details.
-
-Donator: Wim De Cleen
+Donator:
+ Wim De Cleen
--------------------------------------------------------------------------------
@@TJclTempFileStream
<GROUP FilesandIO.Streams>
@@ -455,7 +479,8 @@
rights and in such manner that the stream cannot be opened by another thread.
Platforms:
Windows, Unix
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclTempFileStream.FileName
Summary:
@@ -464,8 +489,8 @@
FileName returns the fully qualified name of the file that is used by the
TJclTempFileStream object. This is mostly for informational purposes since the
file cannot be opened again using CreateFile.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclTempFileStream.Create
Summary:
@@ -480,7 +505,8 @@
is automatically deleted when the object is destroyed.
Parameters:
Prefix - On input the first three characters of the string are used to form the name of the temporary file (can be empty). On return, assuming the function succeeded, the FileName property contains the actual name of the temporary file, including the path.
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@FileGetTypeName
<GROUP FilesandIO.FilesandDirectories>
@@ -500,7 +526,8 @@
Windows
See also:
PathGetDisplayName
-Donator: Pelle F. S. Liljendal
+Donator:
+ Pelle F. S. Liljendal
--------------------------------------------------------------------------------
@@FindUnusedFileName
<GROUP FilesandIO.FilesandDirectories>
@@ -511,22 +538,20 @@
NumberPrefix, a sequential number and FileExt. If a file of the form
FileName.FileExt doesn't exist, this is returned. If such a file already exists,
NumberPrefix and a sequential number are appended to FileName.
-
e.g. FindUnusedFileName('c:\MyFile', '.txt', '.backup-') would return the first
unused filename in the following list:
c:\MyFile.txt
c:\MyFile.backup-1.txt
c:\MyFile.backup-2.txt
etc.
-
Parameters:
FileName - Name part of the filename
FileExt - Extension part of the filename
NumberPrefix - Optional text that is inserted before the unique number
Result:
A unique filename composed of the specified parts and a number to make it unique.
-
-Donator: Anthony Steele
+Donator:
+ Anthony Steele
--------------------------------------------------------------------------------
@@ForceDirectories
<GROUP FilesandIO.FilesandDirectories>
@@ -544,8 +569,8 @@
Notes:
Do not call ForceDirectories with an empty string. Doing so causes ForceDirectories
to raise an exception.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@FileGetDisplayName
<GROUP FilesandIO.FilesandDirectories>
@@ -565,8 +590,8 @@
PathGetShortName
PathGetLongName
FileGetTypeName
-
-Donator: Pelle F. S. Liljendal
+Donator:
+ Pelle F. S. Liljendal
--------------------------------------------------------------------------------
@@FileGetOwnerName
<GROUP FilesandIO.FilesandDirectories>
@@ -628,7 +653,6 @@
Thus, the '.' and '..' sequences have similar meaning to their counterparts in
the filesystem.
-
Parameters:
Path - The path to canonicalize.
Result:
@@ -656,10 +680,10 @@
Category: Files and IO
Platform:
Windows
+See Also:
+ PathGetShortName
Donator:
Rudy Velthuis
-See Also
- PathGetShortName
--------------------------------------------------------------------------------
@@PathGetLongName2
<GROUP FilesandIO.Pathmanipulation>
@@ -703,22 +727,30 @@
--------------------------------------------------------------------------------
@@PathGetRelativePath
<GROUP FilesandIO.Pathmanipulation>
-Summary: TODO
-Description: TODO
-Result: TODO
-Donator: Olivier Sannier
-Contributor: Robert Rossmair
+Summary:
+ TODO
+Description:
+ TODO
+Result:
+ TODO
+Donator:
+ Olivier Sannier
+Contributor:
+ Robert Rossmair
--------------------------------------------------------------------------------
@@PathGetTempPath
<GROUP FilesandIO.Pathmanipulation>
-Summary: Retrieves the path of the directory designated for temporary files.
-Description: The <i>GetTempPath</i> function retrieves the path of the directory
+Summary:
+ Retrieves the path of the directory designated for temporary files.
+Description:
+ The <i>GetTempPath</i> function retrieves the path of the directory
designated for temporary files.
Result:
The path of the directory designated for temporary files.
Platforms:
Windows, Unix
-Donator: Robert Rossmair
+Donator:
+ Robert Rossmair
--------------------------------------------------------------------------------
@@PathIsChild
<GROUP FilesandIO.Pathmanipulation>
@@ -736,8 +768,8 @@
See also:
PathIsDiskDevice
PathIsUnc
-
-Donator: Anthony Steele
+Donator:
+ Anthony Steele
--------------------------------------------------------------------------------
@@PathIsAbsolute
<GROUP FilesandIO.Pathmanipulation>
@@ -754,7 +786,8 @@
See also:
PathIsDiskDevice
PathIsUnc
-Donator: Robert Marquardt
+Donator:
+ Robert Marquardt
--------------------------------------------------------------------------------
@@PathIsDiskDevice
<GROUP FilesandIO.Pathmanipulation>
@@ -771,8 +804,11 @@
See also:
PathIsUnc
PathIsAbsolute
-Donators: Robert Marquardt (Win32), Andr\xE9 Snepvangers (Unix)
-Contributor: Robert Rossmair
+Donators:
+ Robert Marquardt (Win32)
+ Andr\xE9 Snepvangers (Unix)
+Contributor:
+ Robert Rossmair
--------------------------------------------------------------------------------
@@PathIsUNC
<GROUP FilesandIO.Pathmanipulation>
@@ -793,8 +829,8 @@
See also:
PathIsDiskDevice
PathIsAbsolute
-
-Donator: Robert Marquardt
+Donator:
+ Robert Marquardt
--------------------------------------------------------------------------------
@@PathExtractElements
<GROUP FilesandIO.Pathmanipulation>
@@ -810,8 +846,8 @@
Path - Path of the file, without drive or filename. Leading and trailing directory separators are trimmed.
FileName - Name of the file, without the extension part.
Ext - File extension including the dot (.).
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@PathAddSeparator
<GROUP FilesandIO.Pathmanipulation>
@@ -828,8 +864,8 @@
The resulting string is the path, ending in a directory separator.
See also:
PathRemoveSeparator
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@PathAddExtension
<GROUP FilesandIO.Pathmanipulation>
@@ -846,8 +882,8 @@
The Path with extension appended or Path if it already had an extension.
See also:
PathRemoveExtension
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@PathAppend
<GROUP FilesandIO.Pathmanipulation>
@@ -861,8 +897,8 @@
Append - The path to append to the base path. This path may start with a backslash.
Result:
The concatenation of the two paths.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@PathBuildRoot
<GROUP FilesandIO.Pathmanipulation>
@@ -875,8 +911,8 @@
Drive - Drive number. Must be in the range 0..25 or an EJclPathError exception is raised.
Result:
The root path for the given drive.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@PathCommonPrefix
<GROUP FilesandIO.Pathmanipulation>
@@ -892,8 +928,8 @@
Path2 - The second path name
Result:
The number of common prefix characters.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@PathCompactPath
<GROUP FilesandIO.Pathmanipulation>
@@ -922,8 +958,10 @@
path, even though it does not fit within the specified width.
Platform:
Windows
-Donator: Marcel van Brakel
-Contributor: Anonymous
+Donator:
+ Marcel van Brakel
+Contributor:
+ Anonymous
--------------------------------------------------------------------------------
@@PathExtractFileDirFixed
<GROUP FilesandIO.Pathmanipulation>
@@ -940,8 +978,8 @@
The drive and directory part of the specified filename, terminated with a
PathSeparator. If the filename does not contain a drive and directory specification
the resulting string is a single PathSeparator character.
-
-Donator: Anthony Steele
+Donator:
+ Anthony Steele
--------------------------------------------------------------------------------
@@PathExtractFileNameNoExt
<GROUP FilesandIO.Pathmanipulation>
@@ -955,8 +993,8 @@
The filename part of the path, without extension.
See also:
PathRemoveExtension
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@PathRemoveExtension
<GROUP FilesandIO.Pathmanipulation>
@@ -970,8 +1008,8 @@
Path without the extension part.
See also:
PathExtractFileNameNoExt
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@PathRemoveSeparator
<GROUP FilesandIO.Pathmanipulation>
@@ -988,8 +1026,8 @@
The function only removes one trailing directory separator.
See also:
PathAddSeparator
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@GetModulePath
<GROUP FilesandIO.FilesandDirectories>
@@ -1004,8 +1042,8 @@
is loaded (in Win32 a module handle is the base address at which a module is loaded).
Result:
The fully qualified filename of the specified module, or an empty string on failure.
-
-Donator: Azret Botash
+Donator:
+ Azret Botash
--------------------------------------------------------------------------------
@@FileGetTempName
<GROUP FilesandIO.FilesandDirectories>
@@ -1031,7 +1069,8 @@
Platforms:
Windows, Unix
Donators:
- Marcel van Brakel (Windows), Robert Rossmair (Unix)
+ Marcel van Brakel (Windows)
+ Robert Rossmair (Unix)
--------------------------------------------------------------------------------
@@FileCreateTemp
<GROUP FilesandIO.FilesandDirectories>
@@ -1054,12 +1093,16 @@
the function returns INVALID_HANDLE_VALUE.
Platforms:
Windows, Unix
-Donators: Marcel van Brakel (Windows), Robert Rossmair (Unix)
+Donators:
+ Marcel van Brakel (Windows)
+ Robert Rossmair (Unix)
--------------------------------------------------------------------------------
@@FileBackup
<GROUP FilesandIO.FilesandDirectories>
Summary:
+ Backup file by creating a copy of the file with a backup file extension (*.~*).
Description:
+ Backup file by creating a copy of the file with a backup file extension (*.~*).
Parameters:
FileName - The name of the file to backup.
Result:
@@ -1068,8 +1111,12 @@
on to the user.
Platforms:
Windows, Unix
-Donator: ?
-Contributor: Robert Rossmair
+See also:
+ FileRestore
+Donator:
+ Jean-Fabien Connault
+Contributor:
+ Robert Rossmair
--------------------------------------------------------------------------------
@@FileCopy
<GROUP FilesandIO.FilesandDirectories>
@@ -1096,13 +1143,17 @@
@@FileDelete
<GROUP FilesandIO.FilesandDirectories>
Summary:
+ Delete file with the option to send it to recycle bin.
Description:
+ Delete file with the option to send it to recycle bin.
Parameters:
FileName - The name of the file to delete.
MoveToRecycleBin - If True, the file is move to the recycle bin/trash can (and
still might be restored later); if False, it is to be deleted, allowing no
recovery later.
Result:
+ If the file has been successfully deleted the function returns True, otherwise
+ it returns False.
Platforms:
Windows, Unix
Donator:
@@ -1122,26 +1173,32 @@
FileName - The fully qualified name of the file whose existence to test.
Result:
If the file exists the function returns True, otherwise it returns False.
-Donator: Pelle F. S. Liljendal
+Donator:
+ Pelle F. S. Liljendal
--------------------------------------------------------------------------------
@@FileMove
<GROUP FilesandIO.FilesandDirectories>
Summary:
+ Move file from one location to another one.
Description:
+ Move file from one location to another one.
Parameters:
ExistingFileName - The existing file.
NewFileName - Specifies the new file name, or the name of a directory
- where the file shall be moved to.
+ where the file shall be moved to.
Result:
True, if the file was successfully moved, False, if not.
Platforms:
Windows, Unix
-Donator: Robert Rossmair
+Donator:
+ Robert Rossmair
--------------------------------------------------------------------------------
@@FileRestore
<GROUP FilesandIO.FilesandDirectories>
Summary:
+ Restore file by renaming the backup filename to original filename.
Description:
+ Restore file by renaming the backup filename to original filename.
Parameters:
FileName - The name of the file to restore.
Result:
@@ -1150,8 +1207,12 @@
on to the user.
Platforms:
Windows, Unix
-Donator: ?
-Contributor: Robert Rossmair
+See also:
+ FileBackup
+Donator:
+ Jean-Fabien Connault
+Contributor:
+ Robert Rossmair
--------------------------------------------------------------------------------
@@ShredFile
<GROUP FilesandIO.FilesandDirectories>
@@ -1180,7 +1241,8 @@
If the function succeeds it returns the size, in bytes, of the specified file.
If the function fails, for example because the file does not exist, the result
is -1.
-Donator: Pelle F. S. Liljendal
+Donator:
+ Pelle F. S. Liljendal
--------------------------------------------------------------------------------
@@GetFileAttributeListEx
<GROUP FilesandIO.FilesandDirectories>
@@ -1197,8 +1259,8 @@
Attr - Attributes of a file, for example retrieved by GetFileAttributes.
See also:
GetFileAttributeList
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@GetFileAttributeList
<GROUP FilesandIO.FilesandDirectories>
@@ -1229,8 +1291,8 @@
The combined size, in bytes, of all the files contained in the directory. If the
function fails, for example because the specified directory doesn't exists, it
returns -1.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@GetDriveTypeStr
<GROUP FilesandIO.FilesandDirectories>
@@ -1243,8 +1305,8 @@
Drive - Drive letter of the drive for which to query the type, e.g. 'a'.
Result:
String representation of the type of the specified drive.
-
-Donator: John C Molyneux
+Donator:
+ John C Molyneux
--------------------------------------------------------------------------------
@@SetFileLastWrite
<GROUP FilesandIO.FilesandDirectories>
@@ -1265,8 +1327,8 @@
GetFileLastAccess
GetFileLastWrite
GetFileCreation
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@SetFileLastAccess
<GROUP FilesandIO.FilesandDirectories>
@@ -1287,8 +1349,8 @@
GetFileLastAccess
GetFileLastWrite
GetFileCreation
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@SetFileCreation
<GROUP FilesandIO.FilesandDirectories>
@@ -1309,8 +1371,8 @@
GetFileLastAccess
GetFileLastWrite
GetFileCreation
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@SetDirLastWrite
<GROUP FilesandIO.FilesandDirectories>
@@ -1330,8 +1392,8 @@
See also:
SetDirLastAccess
SetDirCreation
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@SetDirLastAccess
<GROUP FilesandIO.FilesandDirectories>
@@ -1351,8 +1413,8 @@
See also:
SetDirLastWrite
SetDirCreation
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@SetDirCreation
<GROUP FilesandIO.FilesandDirectories>
@@ -1372,8 +1434,8 @@
See also:
SetDirLastAccess
SetDirLastWrite
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@IsDirectory
<GROUP FilesandIO.FilesandDirectories>
@@ -1387,8 +1449,9 @@
If the specified file is a directory the function returns True, otherwise it
returns False. Note that if the specified file is the root of a drive (e.g. 'c:\')
the function returns True, if the file does not exist the function returns False.
-
-Donators: Marcel van Brakel (Win32), Robert Rossmair (Unix)
+Donators:
+ Marcel van Brakel (Win32)
+ Robert Rossmair (Unix)
--------------------------------------------------------------------------------
@@LockVolume
<GROUP FilesandIO.FilesandDirectories>
@@ -1415,7 +1478,8 @@
Windows
See also:
UnlockVolume
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@OpenVolume
<GROUP FilesandIO.FilesandDirectories>
@@ -1437,8 +1501,8 @@
Windows
See also:
CloseVolume
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@CloseVolume
<GROUP FilesandIO.FilesandDirectories>
@@ -1457,8 +1521,8 @@
Windows
See also:
OpenVolume
-
-Donator: Massimo Maria Ghisalberti
+Donator:
+ Massimo Maria Ghisalberti
--------------------------------------------------------------------------------
@@CreateEmptyFile
<GROUP FilesandIO.FilesandDirectories>
@@ -1473,8 +1537,8 @@
FileName - Name of the file to create.
Platform:
Windows
-
-Donator: Anthony Steele
+Donator:
+ Anthony Steele
--------------------------------------------------------------------------------
@@GetFileInformation
<GROUP FilesandIO.FilesandDirectories>
@@ -1491,8 +1555,8 @@
for example because it can't find the file, it raises an EWin32Error exception.
See also:
GetStandardFileInfo
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@GetStandardFileInfo
<GROUP FilesandIO.FilesandDirectories>
@@ -1510,9 +1574,10 @@
EFileUtilsError exception.
See also:
GetFileInformation
-
-Donator: Marcel van Brakel
-Contributor: Anonymous
+Donator:
+ Marcel van Brakel
+Contributor:
+ Anonymous
--------------------------------------------------------------------------------
@@GetFileAgeCoherence
<GROUP FilesandIO.FilesandDirectories>
@@ -1530,8 +1595,8 @@
GetFileLastWrite
GetFileLastAccess
GetFileCreation
-
-Donator: Massimo Maria Ghisalberti
+Donator:
+ Massimo Maria Ghisalberti
--------------------------------------------------------------------------------
@@GetFileLastWrite
<GROUP FilesandIO.FilesandDirectories>
@@ -1550,8 +1615,8 @@
GetFileAgeCoherence
GetFileLastAccess
GetFileCreation
-
-Donator: Massimo Maria Ghisalberti
+Donator:
+ Massimo Maria Ghisalberti
--------------------------------------------------------------------------------
@@GetFileLastAccess
<GROUP FilesandIO.FilesandDirectories>
@@ -1569,8 +1634,8 @@
GetFileAgeCoherence
GetFileLastWrite
GetFileCreation
-
-Donator: Massimo Maria Ghisalberti
+Donator:
+ Massimo Maria Ghisalberti
--------------------------------------------------------------------------------
@@GetFileCreation
<GROUP FilesandIO.FilesandDirectories>
@@ -1590,8 +1655,8 @@
GetFileAgeCoherence
GetFileLastAccess
GetFileLastWrite
-
-Donator: Massimo Maria Ghisalberti
+Donator:
+ Massimo Maria Ghisalberti
--------------------------------------------------------------------------------
@@BuildFileList
<GROUP FilesandIO.FilesandDirectories>
@@ -1611,8 +1676,8 @@
failure.
See also:
AdvBuildFileList
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@AdvBuildFileList
<GROUP FilesandIO.FilesandDirectories>
@@ -1633,13 +1698,12 @@
failure.
See also:
BuildFileList
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TFileListOptions
<GROUP FilesandIO.FilesandDirectories>
-
<TABLE>
Options \Description
------------------- ------------------------------------------------------
@@ -1654,12 +1718,10 @@
parameter (currently broken).
</TABLE>
-Summary
-An enumeration describing the set of available file list
-\options.
-
-QuickInfo
- Donator: Marcel van Brakel
+Summary:
+ An enumeration describing the set of available file list options.
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TDelTreeProgress
<GROUP FilesandIO.FilesandDirectories>
@@ -1706,7 +1768,8 @@
DelTreeEx
Donator:
John C Molyneux
-Contributor: Robert Rossmair
+Contributor:
+ Robert Rossmair
--------------------------------------------------------------------------------
@@DelTreeEx
<GROUP FilesandIO.FilesandDirectories>
@@ -1734,9 +1797,10 @@
The deletions are permanent! Deletions are not recoverable through the recycle bin.
See also:
DelTree
-
-Donator: John C Molyneux
-Contributor: Robert Rossmair
+Donator:
+ John C Molyneux
+Contributor:
+ Robert Rossmair
--------------------------------------------------------------------------------
@@DirectoryExists
<GROUP FilesandIO.FilesandDirectories>
@@ -1750,8 +1814,10 @@
If the directory exists the function returns True, otherwise it returns False.
Notes:
This function is a replacement for the FileUtils.DirectoryExists function from the Delphi RTL to avoid dependency on that particular unit. There's nothing wrong with that function except that the unit uses Forms etc. which add significant resources and startup time to your application (if it doesn't use these units already).
-Donator: Unknown (Win32)
-Contributor: Robert Rossmair (Unix)
+Donator:
+ Unknown (Win32)
+Contributor:
+ Robert Rossmair (Unix)
--------------------------------------------------------------------------------
@@DiskInDrive
<GROUP FilesandIO.FilesandDirectories>
@@ -1770,8 +1836,8 @@
is not accessible or an error occurred the function returns False.
Platform:
Windows
-
-Donator: John C Molyneux
+Donator:
+ John C Molyneux
--------------------------------------------------------------------------------
@@TFileFlags
<GROUP FilesandIO.FilesandDirectories.FileVersionInfo>
@@ -1792,8 +1858,8 @@
Windows
See also:
TJclFileVersionInfo
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@VersionResourceAvailable
<GROUP FilesandIO.FilesandDirectories.FileVersionInfo>
@@ -1812,8 +1878,8 @@
Windows
See also:
TJclFileVersionInfo
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@OSIdentToString
<GROUP FilesandIO.FilesandDirectories.FileVersionInfo>
@@ -1828,8 +1894,8 @@
String representation of the OS identifier.
Platform:
Windows
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo
<GROUP FilesandIO.FilesandDirectories.FileVersionInfo>
@@ -1843,7 +1909,8 @@
keys through the UserKeys property.
Platform:
Windows
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.LanguageCount
Summary:
@@ -1855,8 +1922,8 @@
LanguageIndex
LanguageIds
LanguageNames
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.LanguageIndex
Summary:
@@ -1868,8 +1935,8 @@
LanguageCount
LanguageIds
LanguageNames
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.LanguageIds
Summary:
@@ -1883,8 +1950,8 @@
LanguageCount
LanguageIndex
LanguageNames
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.LanguageNames
Summary:
@@ -1897,32 +1964,32 @@
LanguageCount
LanguageIndex
LanguageIds
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.Comments
Summary:
Returns the comment string.
Description:
Comments returns the value of the comments string key.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.CompanyName
Summary:
Returns the company name string.
Description:
CompanyName returns the value of the company name string key.
-
-Donator: Marcel van Brake
+Donator:
+ Marcel van Brake
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.FileDescription
Summary:
Returns the file description string.
Description:
FileDescription returns the value of the file description string key.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.FileFlags
Summary:
@@ -1931,8 +1998,8 @@
FileFlags is a set of flags that specify the attributes of the file such as debug
and special build. See TFileFlags for more information on all the
possible values in this set.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.FileOS
Summary:
@@ -1966,8 +2033,8 @@
VOS_OS232_PM32 The file was designed for 32-bit Presentation Manager running on 32-bit OS/2.
</TABLE>
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.FileSubType
Summary:
@@ -2027,79 +2094,80 @@
<P>All other values are reserved for future use by Microsoft.</P>
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.FileVersion
Summary:
Returns the FileVersion string.
Description:
FileVersion returns the value of the file version string key.
-
-Donator: Marcel van Brake
+Donator:
+ Marcel van Brake
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.InternalName
Summary:
Returns the internal name string.
Description:
InternalName returns the value of the internal name string key.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.VersionLanguageId
Summary:
Returns the language identifier of the version resource.
Description:
VersionLanguage returns the language identifier of the version resource.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.VersionLanguageName
Summary:
Returns the language name of the version resource.
Description:
VersionLanguage returns the language name of the version resource.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.LegalCopyright
Summary:
Returns the legal copyright string.
Description:
LegalCopyright returns the value of the legal copyright string key.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.LegalTradeMarks
Summary:
Returns the LegalTradeMarks string.
Description:
LegalTradeMarks returns the value of the legal trademarks string key.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.OriginalFilename
Summary:
OriginalFileName returns the value of the original filename string key.
Description:
Returns the original filename string.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.ProductName
Summary:
Returns the product name string.
Description:
ProductName returns the value of the product name string key.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.ProductVersion
Summary:
Returns the product version string.
Description:
ProductVersion returns the value of the product version string key.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.SpecialBuild
Summary:
@@ -2110,8 +2178,8 @@
See also:
PrivateBuild
FileFlags
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.PrivateBuild
Summary:
@@ -2165,10 +2233,11 @@
Buffer - Buffer containing the version info resource.
Notes:
To include version information in your own projects select "Project | Options" and go to the "Version Info" tab.
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@TJclFileVersionInfo.Create
+<GROUP FilesandIO.FilesandDirectories>
Summary:
Creates an instance of TJclFileVersionInfo.
Description:
@@ -2187,31 +2256,31 @@
To include version information in your own projects select "Project | Options" and go to the "Version Info" tab.
See also:
Attach
-
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@DeleteDirectory
<GROUP FilesandIO.FilesandDirectories>
-Summary
+Summary:
Deletes specified directory or moves it to recycle bin.
-Description
+Description:
Delete the specified directory either permanently or moves it to
recycle bin. The behaviour depends on the value of
MoveToRecycleBin parameter.
-Parameters
- DirectoryName - Directory to be deleted
- MoveToRecycleBin - If <B>True</B> the directory will be moved to
- the system Recycle Bin instead of being
- deleted.
-Category: Files and IO
-Donator: Jean-Fabien Connault
-Quick info:
+Parameters:
+ DirectoryName - Directory to be deleted
+ MoveToRecycleBin - If <B>True</B> the directory will be moved to
+ the system Recycle Bin instead of being
+ deleted.
+Platforms:
Windows NT/2000/Vista: Requires Windows NT 3.1 or later.
Windows 95/98: Requires Windows 95 or later.
+Donator:
+ Jean-Fabien Connault
--------------------------------------------------------------------------------
@@CopyDirectory
<GROUP FilesandIO.FilesandDirectories>
-Summary
+Summary:
Copies specified directory to a new directory.
Description
Copy the existing directory to a new directory.
@@ -2219,120 +2288,120 @@
inside the new directory.
If the new directory name does not exist then the existing directory is copied
as the new directory.
-Parameters
- ExistingDirectoryName - Source directory
- NewDirectoryName - Destination directory
-Category: Files and IO
-Donator: Jean-Fabien Connault
-Quick info:
+Parameters:
+ ExistingDirectoryName - Source directory
+ NewDirectoryName - Destination directory
+Platforms:
Windows NT/2000/Vista: Requires Windows NT 3.1 or later.
Windows 95/98: Requires Windows 95 or later.
+Donator:
+ Jean-Fabien Connault
--------------------------------------------------------------------------------
@@MoveDirectory
<GROUP FilesandIO.FilesandDirectories>
-Summary
+Summary:
Moves specified directory to a new directory.
-Description
+Description:
Move the existing directory to a new directory.
If the new directory name already exists then the existing directory is moved
inside the new directory.
If the new directory name does not exist then the existing directory is moved
(renamed) as the new directory.
-Parameters
+Parameters:
ExistingDirectoryName - Source directory
NewDirectoryName - Destination directory
-Category: Files and IO
-Donator: Jean-Fabien Connault
-Quick info:
+Platforms:
Windows NT/2000/Vista: Requires Windows NT 3.1 or later.
Windows 95/98: Requires Windows 95 or later.
+Donator:
+ Jean-Fabien Connault
--------------------------------------------------------------------------------
@@GetBackupFileName
<GROUP FilesandIO.PathManipulation>
-Summary
+Summary:
Returns a file name that can be used for backup purposes.
-Description
+Description:
Returns a file name that can be used for backup purposes.
Basically it prepends the file extention with a tilde (<B>~</B>).
If file does not contain extension, the function does nothing.
-Parameters
- FileName : File name that is used to construct file name of backup file.
-See Also
- IsBackupFileName
-Category: Files and IO
-Donator: Jean-Fabien Connault
+Parameters:
+ FileName - File name that is used to construct file name of backup file.
+See Also:
+ IsBackupFileName
+Donator:
+ Jean-Fabien Connault
--------------------------------------------------------------------------------
@@IsBackupFileName
<GROUP FilesandIO.PathManipulation>
-Summary
+Summary:
Checks if a file name is a backup file name or not.
-Description
+Description:
Returns True if the specified file name is a backup file name (file extension starts with a tilde).
Returns False if the specified file name is not a backup file name (file extension doesn't start with a tilde).
-Parameters
- FileName : File name to check.
-See Also
- GetBackupFileName
-Category: Files and IO
-Donator: Jean-Fabien Connault
+Parameters:
+ FileName - File name to check.
+See Also:
+ GetBackupFileName
+Donator:
+ Jean-Fabien Connault
--------------------------------------------------------------------------------
@@OSFileTypeToString
<GROUP FilesandIO.FileSystems>
-Summary
+Summary:
Maps a file type identifier to a string.
-Description
+Description:
Maps a file type as returned by TJclFileVersionInfo.FileType
and TJclFileVersionInfo.FileSubType identifier to its string
representation.
-Parameters
- OSFileSubType : File subtype identifier. You can use a value returned
- by TJclFileVersionInfo.FileSubType member. Can be
- omitted. Default value is 0.
- OSFileType : File type identifier. You can use a value returned by
- TJclFileVersionInfo.FileType member.
+Parameters:
+ OSFileSubType - File subtype identifier. You can use a value returned
+ by TJclFileVersionInfo.FileSubType member. Can be
+ omitted. Default value is 0.
+ OSFileType - File type identifier. You can use a value returned by
+ TJclFileVersionInfo.FileType member.
Result:
If there is no an appropriate value for FileType passed the
function returns an empty string.
-Donator: Marcel van Brakel
+Donator:
+ Marcel van Brakel
--------------------------------------------------------------------------------
@@PathExtractPathDepth
-Summary
+Summary:
Returns Depth parts of the path excluding drive.
Description
Returns first Depth parts of the specified path excluding drive letter
and colon. Example:
-
PathExtractPathDepth('c:\users\brakelm\data', 2) => 'c:\users\brakelm'
-Parameters
+Parameters:
Depth - Specifies the maximum of path parts to return.
Path - The path to extract parts from.
-See Also
+See Also:
PathGetDepth
Donator:
Jean-Fabien Connault
--------------------------------------------------------------------------------
@@PathGetDepth
-Summary
+Summary:
Returns the depth of the path specified by Path parameter.
-Description
+Description:
Returns the depth of the path specified by Path parameter, that is the number
of subdirectories in the path.
-Parameters
+Parameters:
Path - The path to count the depth of.
-See Also
+See Also:
PathExtractPathDepth
Donator:
Jean-Fabien Connault
--------------------------------------------------------------------------------
@@UnlockVolume
<GROUP FilesandIO.FilesandDirectories>
-Summary
+Summary:
Tries to unlock the volume represented by the handle passed.
-Description
+Description:
Attempts to unlock the volume specified by the handle that
was previously locked by <LINK LockVolume, LockVolume>
function.
-Note
+Note:
This function calls Windows API DeviceIOControl function.
Although Microsoft provides the way to call this function in
Windows 95/98/ME environment, the implementation of
@@ -2343,22 +2412,25 @@
volume is getting freed and you should not use it again as
its value will be <B>INVALID_HANDLE_VALUE</B>. However the
handle remains valid if the function fails.
-Parameters
- Handle : Handle of the volume to be unlocked previously obtained
- calling <LINK LockVolume, LockVolume> function. Also this
- handle can be obtained by calling CreateFile Windows API
- function directly.
-Result
+Parameters:
+ Handle - Handle of the volume to be unlocked previously obtained
+ calling <LINK LockVolume, LockVolume> function. Also this
+ handle can be obtained by calling CreateFile Windows API
+ function directly.
+Result:
Returns <B>True </B>if the function succeeded, <B>False </B>otherwise.
Platforms:
Windows NT/2000: Requires Windows NT 4 or later.
Windows 95/98: Unsupported.
-Donator: Rudy Velthuis
+Donator:
+ Rudy Velthuis
--------------------------------------------------------------------------------
@@Win32DeleteFile
<GROUP FilesandIO.FilesandDirectories>
Summary:
+ TODO
Description:
+ TODO
Parameters:
FileName -
MoveToRecycleBin -
@@ -2370,8 +2442,10 @@
--------------------------------------------------------------------------------
@@Win32MoveFileReplaceExisting
<GROUP FilesandIO.FilesandDirectories>
-Summary: TODO
-Description: TODO
+Summary:
+ TODO
+Description:
+ TODO
Parameters:
ExistingFilename -
NewFileName -
@@ -2387,7 +2461,9 @@
@@Win32BackupFile
<GROUP FilesandIO.FilesandDirectories>
Summary:
+ TODO
Description:
+ TODO
Parameters:
FileName -
Move -
@@ -2405,7 +2481,9 @@
@@Win32RestoreFile
<GROUP FilesandIO.FilesandDirectories>
Summary:
+ TODO
Description:
+ TODO
Parameters:
FileName - The name of the file to restore.
Result:
@@ -2421,25 +2499,25 @@
--------------------------------------------------------------------------------
@@VersionFixedFileInfo
<GROUP FilesandIO.FilesandDirectories.FileVersionInfo>
-Summary
+Summary:
Retrieves the root block of version information resource from the specified
file.
-Description
+Description:
The <B>VersionFixedFileInfo </B>function retrieves the root
block of version information resource from the file specified
by the FileName parameter.
-Parameters
- FileName : The fully qualified file name, the version information
- resource of which should be retrieved.
- FixedInfo : \Output parameter. Contains the root block of version
- information resource if function succeedes.
-Result
+Parameters:
+ FileName - The fully qualified file name, the version information
+ resource of which should be retrieved.
+ FixedInfo - Output parameter. Contains the root block of version
+ information resource if function succeedes.
+Result:
Function returns <B>True</B> if version information resources
was retrieved successfully, <B>False</B> otherwise.
-Category: Files and IO
+See Also:
+ VersionResourceAvailable
+ TJclFileVersionInfo
Donator: Marcel van Brakel
-See Also
- VersionResourceAvailable, TJclFileVersionInfo
--------------------------------------------------------------------------------
@@CreateSymbolicLink
<GROUP FilesandIO.FilesandDirectories>
@@ -2468,7 +2546,8 @@
TODO
Description:
TODO
-Donator: Robert Rossmair
+Donator:
+ Robert Rossmair
--------------------------------------------------------------------------------
@@TAttributeInterest
<GROUP FilesandIO.FilesandDirectories.FileSearch>
@@ -2479,13 +2558,13 @@
Specifies how a given file attribute shall affect file search results.
Donator:
Robert Rossmair
-
+--------------------------------------------------------------------------------
@@TAttributeInterest.aiIgnored
File search matching is not affected by this attribute
-
+--------------------------------------------------------------------------------
@@TAttributeInterest.aiRequired
The attribute is required for a file to be included in the search result set.
-
+--------------------------------------------------------------------------------
@@TAttributeInterest.aiRejected
The attribute causes a file to be excluded from the search result set.
--------------------------------------------------------------------------------
@@ -2560,7 +2639,8 @@
Description:
TODO
Platforms:
- Win32, Unix
+ Windows
+ Unix
Donator:
Robert Rossmair
--------------------------------------------------------------------------------
@@ -2571,7 +2651,8 @@
Description:
TODO
Platforms:
- Win32, Unix
+ Windows
+ Unix
Donator:
Robert Rossmair
--------------------------------------------------------------------------------
@@ -2582,18 +2663,20 @@
Description:
TODO
Platforms:
- Win32, Unix
+ Windows
+ Unix
Donator:
Robert Rossmair
--------------------------------------------------------------------------------
@@IJclFileEnumerator
<GROUP FilesandIO.FilesandDirectories.FileSearch>
Summary:
- <COLOR 00000E>Interface for thread-based file search</COLOR>
+ Interface for thread-based file search.
Description:
TODO
Platforms:
- Win32, Unix
+ Windows
+ Unix
Donator:
Robert Rossmair
--------------------------------------------------------------------------------
@@ -2606,7 +2689,7 @@
Result:
TODO
Platforms:
- Win32, Unix
+ Windows
+ Unix
Donator:
- Robert Rossmair
-
+ Robert Rossmair
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cyc...@us...> - 2007-07-06 16:43:22
|
Revision: 2061
http://svn.sourceforge.net/jcl/?rev=2061&view=rev
Author: cycocrew
Date: 2007-07-06 09:43:20 -0700 (Fri, 06 Jul 2007)
Log Message:
-----------
Codegear -> CodeGear
Modified Paths:
--------------
trunk/jcl/install/build/build.dpr
trunk/jcl/source/jedi.inc
Modified: trunk/jcl/install/build/build.dpr
===================================================================
--- trunk/jcl/install/build/build.dpr 2007-07-04 19:17:49 UTC (rev 2060)
+++ trunk/jcl/install/build/build.dpr 2007-07-06 16:43:20 UTC (rev 2061)
@@ -88,7 +88,7 @@
(Name: 'Delphi'; VersionStr: '8'; Version: 8; CIV: '71'; ProjectDirResId: 64460; Supported: False),
(Name: 'Delphi'; VersionStr: '2005'; Version: 9; CIV: '90'; ProjectDirResId: 64431; Supported: True),
(Name: 'Borland Developer Studio'; VersionStr: '2006'; Version: 10; CIV: '100'; ProjectDirResId: 64719; Supported: True),
- (Name: 'Codegear RAD Studio'; VersionStr: '2007'; Version: 11; CIV: '110'; ProjectDirResId: 64719; Supported: True)
+ (Name: 'CodeGear RAD Studio'; VersionStr: '2007'; Version: 11; CIV: '110'; ProjectDirResId: 64719; Supported: True)
);
type
Modified: trunk/jcl/source/jedi.inc
===================================================================
--- trunk/jcl/source/jedi.inc 2007-07-04 19:17:49 UTC (rev 2060)
+++ trunk/jcl/source/jedi.inc 2007-07-06 16:43:20 UTC (rev 2061)
@@ -226,7 +226,7 @@
BDS2 Defined when compiling with BDS 2.0 (Delphi 8)
BDS3 Defined when compiling with BDS 3.0 (Delphi 2005)
BDS4 Defined when compiling with BDS 4.0 (Borland Developer Studio 2006)
- BDS5 Defined when compiling with BDS 5.0 (Codegear RAD Studio 2007)
+ BDS5 Defined when compiling with BDS 5.0 (CodeGear RAD Studio 2007)
BDS2_UP Defined when compiling with BDS 2.0 or higher
BDS3_UP Defined when compiling with BDS 3.0 or higher
BDS4_UP Defined when compiling with BDS 4.0 or higher
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cyc...@us...> - 2007-07-04 19:17:51
|
Revision: 2060
http://svn.sourceforge.net/jcl/?rev=2060&view=rev
Author: cycocrew
Date: 2007-07-04 12:17:49 -0700 (Wed, 04 Jul 2007)
Log Message:
-----------
Added TJclPeBorImage.PackageInfoSorted property (default = True)
Modified Paths:
--------------
trunk/help/PE.dtx
trunk/jcl/source/windows/JclPeImage.pas
Modified: trunk/help/PE.dtx
===================================================================
--- trunk/help/PE.dtx 2007-07-04 16:34:33 UTC (rev 2059)
+++ trunk/help/PE.dtx 2007-07-04 19:17:49 UTC (rev 2060)
@@ -2292,7 +2292,7 @@
Description:
Returns a list containing the names of all units contained in the package.
Note that the returned TStrings instance remains owned by the class so you should
- never free it.
+ never free it. The list sorting is controlled by the Sorted property.
Quick info:
Donator: Petr Vones
--------------------------------------------------------------------------------
@@ -2377,6 +2377,7 @@
Description:
Returns a list of package names that the package requires. Note that the returned
TStrings object remains owned by the class so you should never free it.
+ The list sorting is controlled by the Sorted property.
Quick info:
Donator: Petr Vones
--------------------------------------------------------------------------------
@@ -2398,6 +2399,15 @@
Quick info:
Donator: Petr Vones
--------------------------------------------------------------------------------
+@@TJclPePackageInfo.Sorted
+Summary:
+ Defines if Contains and Requires lists are sorted (or not).
+Description:
+ The Sorted property defines if Contains and Requires lists are sorted (or not).
+ It is set to True by default.
+Quick info:
+ Donator: Jean-Fabien Connault
+--------------------------------------------------------------------------------
@@TJclPeBorImage
<GROUP LibrariesProcessesandThreads.PortableExecutableFileFormat.BorlandDelphiSpecific.TJclPeBorImage>
Summary:
@@ -2453,6 +2463,15 @@
Quick info:
Donator: Petr Vones
--------------------------------------------------------------------------------
+@@TJclPeBorImage.PackageInfoSorted
+Summary:
+ Defines if PackageInfo's Contains and Requires lists are sorted (or not).
+Description:
+ The Sorted property defines if PackageInfo's Contains and Requires lists are
+ sorted (or not). It is set to True by default.
+Quick info:
+ Donator: Jean-Fabien Connault
+--------------------------------------------------------------------------------
@@TJclPeNameSearchOption
<GROUP LibrariesProcessesandThreads.PortableExecutableFileFormat.ThreadedSearch>
Summary:
Modified: trunk/jcl/source/windows/JclPeImage.pas
===================================================================
--- trunk/jcl/source/windows/JclPeImage.pas 2007-07-04 16:34:33 UTC (rev 2059)
+++ trunk/jcl/source/windows/JclPeImage.pas 2007-07-04 19:17:49 UTC (rev 2060)
@@ -22,6 +22,7 @@
{ Matthias Thoma (mthoma) }
{ Petr Vones (pvones) }
{ Hallvard Vassbotn }
+{ Jean-Fabien Connault (cycocrew) }
{ }
{**************************************************************************************************}
{ }
@@ -775,6 +776,7 @@
FIsBorlandImage: Boolean;
FLibHandle: THandle;
FPackageInfo: TJclPePackageInfo;
+ FPackageInfoSorted: Boolean;
FPackageCompilerVersion: Integer;
function GetFormCount: Integer;
function GetForms(Index: Integer): TJclPeBorForm;
@@ -799,6 +801,7 @@
property LibHandle: THandle read GetLibHandle;
property PackageCompilerVersion: Integer read GetPackageCompilerVersion;
property PackageInfo: TJclPePackageInfo read GetPackageInfo;
+ property PackageInfoSorted: Boolean read FPackageInfoSorted write FPackageInfoSorted;
end;
// Threaded function search
@@ -4388,6 +4391,7 @@
constructor TJclPeBorImage.Create(ANoExceptions: Boolean);
begin
FForms := TObjectList.Create(True);
+ FPackageInfoSorted := True;
inherited Create(ANoExceptions);
end;
@@ -4596,6 +4600,7 @@
begin
GetLibHandle;
FPackageInfo := TJclPePackageInfo.Create(FLibHandle);
+ FPackageInfo.Sorted := FPackageInfoSorted;
FreeLibHandle;
end;
Result := FPackageInfo;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cyc...@us...> - 2007-07-04 16:34:38
|
Revision: 2059
http://svn.sourceforge.net/jcl/?rev=2059&view=rev
Author: cycocrew
Date: 2007-07-04 09:34:33 -0700 (Wed, 04 Jul 2007)
Log Message:
-----------
Added Sorted property to TJclPePackageInfo (default to True to match previous behavior)
Modified Paths:
--------------
trunk/jcl/source/windows/JclPeImage.pas
Modified: trunk/jcl/source/windows/JclPeImage.pas
===================================================================
--- trunk/jcl/source/windows/JclPeImage.pas 2007-06-30 15:01:20 UTC (rev 2058)
+++ trunk/jcl/source/windows/JclPeImage.pas 2007-07-04 16:34:33 UTC (rev 2059)
@@ -1,4 +1,4 @@
-{**************************************************************************************************}
+{**************************************************************************************************}
{ }
{ Project JEDI Code Library (JCL) }
{ }
@@ -714,6 +714,7 @@
FFlags: Integer;
FDescription: string;
FEnsureExtension: Boolean;
+ FSorted: Boolean;
function GetContains: TStrings;
function GetContainsCount: Integer;
function GetContainsFlags(Index: Integer): Byte;
@@ -743,6 +744,7 @@
property Requires: TStrings read GetRequires;
property RequiresCount: Integer read GetRequiresCount;
property RequiresNames[Index: Integer]: string read GetRequiresNames;
+ property Sorted: Boolean read FSorted write FSorted;
end;
TJclPeBorForm = class(TObject)
@@ -4185,6 +4187,7 @@
FContains := TStringList.Create;
FRequires := TStringList.Create;
FEnsureExtension := True;
+ FSorted := True;
ReadPackageInfo(ALibHandle);
end;
@@ -4297,8 +4300,11 @@
GetPackageInfo(ALibHandle, Self, FFlags, PackageInfoProc);
if FDcpName = '' then
FDcpName := PathExtractFileNameNoExt(GetModulePath(ALibHandle)) + CompilerExtensionDCP;
- FContains.Sort;
- FRequires.Sort;
+ if FSorted then
+ begin
+ FContains.Sort;
+ FRequires.Sort;
+ end;
end;
DescrResInfo := FindResource(ALibHandle, DescriptionResName, RT_RCDATA);
if DescrResInfo <> 0 then
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cyc...@us...> - 2007-06-30 15:01:22
|
Revision: 2058
http://svn.sourceforge.net/jcl/?rev=2058&view=rev
Author: cycocrew
Date: 2007-06-30 08:01:20 -0700 (Sat, 30 Jun 2007)
Log Message:
-----------
Added DELPHI2006, DELPHI2007, DELPHI2006_UP and DELPHI2007_UP directives (as aliases)
Modified Paths:
--------------
trunk/jcl/source/jedi.inc
Modified: trunk/jcl/source/jedi.inc
===================================================================
--- trunk/jcl/source/jedi.inc 2007-06-30 13:06:31 UTC (rev 2057)
+++ trunk/jcl/source/jedi.inc 2007-06-30 15:01:20 UTC (rev 2058)
@@ -126,7 +126,9 @@
DELPHI2005 Defined when compiling with Delphi 2005
DELPHI9 Alias for DELPHI2005
DELPHI10 Defined when compiling with Delphi Personality of BDS 4.0
+ DELPHI2006 Alias for DELPHI10
DELPHI11 Defined when compiling with Delphi for Win32 2007
+ DELPHI2007 Alias for DELPHI11
DELPHI1_UP Defined when compiling with Delphi 1 or higher
DELPHI2_UP Defined when compiling with Delphi 2 or higher
DELPHI3_UP Defined when compiling with Delphi 3 or higher
@@ -138,7 +140,9 @@
DELPHI2005_UP Defined when compiling with Delphi 2005 or higher
DELPHI9_UP Alias for DELPHI2005_UP
DELPHI10_UP Defined when compiling with Delphi Personality of BDS 4.0 or higher
+ DELPHI2006_UP Alias for DELPHI10_UP
DELPHI11_UP Defined when compiling with Delphi for Win32 2007 or higher
+ DELPHI2007_UP Alias for DELPHI11_UP
- Kylix Versions
@@ -529,6 +533,7 @@
{$DEFINE BCB11}
{$ELSE}
{$DEFINE DELPHI11}
+ {$DEFINE DELPHI2007} // synonym to DELPHI11
{$DEFINE DELPHICOMPILER11}
{$ENDIF}
{$DEFINE RTL185_UP}
@@ -539,6 +544,7 @@
{$DEFINE BCB10}
{$ELSE}
{$DEFINE DELPHI10}
+ {$DEFINE DELPHI2006} // synonym to DELPHI10
{$DEFINE DELPHICOMPILER10}
{$ENDIF}
{$DEFINE RTL180_UP}
@@ -551,6 +557,7 @@
{$DEFINE BDS}
{$DEFINE COMPILER11}
{$DEFINE DELPHI11}
+ {$DEFINE DELPHI2007} // synonym to DELPHI11
{$DEFINE DELPHICOMPILER11}
{$DEFINE RTL185_UP}
{$UNDEF UNKNOWN_COMPILER_VERSION}
@@ -588,9 +595,16 @@
{ DELPHIX_UP from DELPHIX_UP mappings }
{------------------------------------------------------------------------------}
-{$IFDEF DELPHI11_UP} {$DEFINE DELPHI10_UP} {$ENDIF}
-{$IFDEF DELPHI10_UP} {$DEFINE DELPHI9_UP} {$ENDIF}
+{$IFDEF DELPHI11_UP}
+ {$DEFINE DELPHI2007_UP} // synonym to DELPHI11_UP
+ {$DEFINE DELPHI10_UP}
+{$ENDIF}
+{$IFDEF DELPHI10_UP}
+ {$DEFINE DELPHI2006_UP} // synonym to DELPHI10_UP
+ {$DEFINE DELPHI9_UP}
+{$ENDIF}
+
{$IFDEF DELPHI9_UP}
{$DEFINE DELPHI2005_UP} // synonym to DELPHI9_UP
{$DEFINE DELPHI8_UP}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cyc...@us...> - 2007-06-30 13:06:34
|
Revision: 2057
http://svn.sourceforge.net/jcl/?rev=2057&view=rev
Author: cycocrew
Date: 2007-06-30 06:06:31 -0700 (Sat, 30 Jun 2007)
Log Message:
-----------
Added TWideStringList example (JclUnicode)in JCL\jcl\examples\windows\widestring
Added Paths:
-----------
trunk/jcl/examples/windows/widestring/
trunk/jcl/examples/windows/widestring/WideStringDemoMain.dfm
trunk/jcl/examples/windows/widestring/WideStringDemoMain.pas
trunk/jcl/examples/windows/widestring/WideStringExample.dpr
trunk/jcl/examples/windows/widestring/WideStringExample.res
Added: trunk/jcl/examples/windows/widestring/WideStringDemoMain.dfm
===================================================================
--- trunk/jcl/examples/windows/widestring/WideStringDemoMain.dfm (rev 0)
+++ trunk/jcl/examples/windows/widestring/WideStringDemoMain.dfm 2007-06-30 13:06:31 UTC (rev 2057)
@@ -0,0 +1,159 @@
+object Form1: TForm1
+ Left = 0
+ Top = 0
+ Caption = 'TWideStringList Example (JclUnicode)'
+ ClientHeight = 544
+ ClientWidth = 791
+ Color = clBtnFace
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -15
+ Font.Name = 'Segoe UI'
+ Font.Style = []
+ OldCreateOrder = False
+ OnCreate = FormCreate
+ OnDestroy = FormDestroy
+ PixelsPerInch = 120
+ TextHeight = 20
+ object FileListView: TListView
+ Left = 0
+ Top = 177
+ Width = 791
+ Height = 342
+ Align = alClient
+ Columns = <
+ item
+ Caption = 'Name'
+ Width = 200
+ end
+ item
+ Caption = 'Location'
+ Width = 400
+ end
+ item
+ Caption = 'Encoding'
+ Width = 150
+ end>
+ RowSelect = True
+ PopupMenu = FilePopupMenu
+ TabOrder = 0
+ ViewStyle = vsReport
+ OnColumnClick = FileListViewColumnClick
+ OnDblClick = OpenwithNotepad1Click
+ ExplicitWidth = 909
+ ExplicitHeight = 343
+ end
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 791
+ Height = 177
+ Align = alTop
+ TabOrder = 1
+ ExplicitWidth = 909
+ object Label3: TLabel
+ Left = 216
+ Top = 58
+ Width = 106
+ Height = 20
+ Caption = 'Filter encoding :'
+ end
+ object Label2: TLabel
+ Left = 8
+ Top = 58
+ Width = 68
+ Height = 20
+ Caption = 'File mask :'
+ end
+ object Label1: TLabel
+ Left = 8
+ Top = 4
+ Width = 102
+ Height = 20
+ Caption = 'Root directory :'
+ end
+ object FilterEncodingComboBox: TComboBox
+ Left = 216
+ Top = 79
+ Width = 201
+ Height = 28
+ ItemHeight = 20
+ TabOrder = 0
+ Items.Strings = (
+ ''
+ 'ANSI'
+ 'Unicode'
+ 'Unicode big endian'
+ 'UTF-8')
+ end
+ object IncludeSubDirectoriesCheckBox: TCheckBox
+ Left = 448
+ Top = 84
+ Width = 177
+ Height = 17
+ Caption = 'Include sub directories'
+ Checked = True
+ State = cbChecked
+ TabOrder = 1
+ end
+ object ConvertButton: TButton
+ Left = 216
+ Top = 120
+ Width = 201
+ Height = 41
+ Caption = 'Convert UTF-8 to ANSI'
+ Enabled = False
+ TabOrder = 2
+ OnClick = ConvertButtonClick
+ end
+ object SearchButton: TButton
+ Left = 8
+ Top = 120
+ Width = 202
+ Height = 41
+ Caption = 'Search'
+ TabOrder = 3
+ OnClick = SearchButtonClick
+ end
+ object FileMaskEdit: TEdit
+ Left = 8
+ Top = 79
+ Width = 202
+ Height = 28
+ TabOrder = 4
+ Text = '*.pas;*.dfm;*.xfm;*.dpr;*.dpk*'
+ end
+ object RootDirectoryEdit: TEdit
+ Left = 8
+ Top = 24
+ Width = 769
+ Height = 28
+ TabOrder = 5
+ end
+ end
+ object StatusBar1: TStatusBar
+ Left = 0
+ Top = 519
+ Width = 791
+ Height = 25
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -15
+ Font.Name = 'Segoe UI'
+ Font.Style = []
+ Panels = <>
+ SimplePanel = True
+ UseSystemFont = False
+ ExplicitTop = 520
+ ExplicitWidth = 909
+ end
+ object FilePopupMenu: TPopupMenu
+ Left = 712
+ Top = 96
+ object OpenwithNotepad1: TMenuItem
+ Caption = 'Open with Notepad'
+ Default = True
+ OnClick = OpenwithNotepad1Click
+ end
+ end
+end
Property changes on: trunk/jcl/examples/windows/widestring/WideStringDemoMain.dfm
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Added: trunk/jcl/examples/windows/widestring/WideStringDemoMain.pas
===================================================================
--- trunk/jcl/examples/windows/widestring/WideStringDemoMain.pas (rev 0)
+++ trunk/jcl/examples/windows/widestring/WideStringDemoMain.pas 2007-06-30 13:06:31 UTC (rev 2057)
@@ -0,0 +1,192 @@
+unit WideStringDemoMain;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, ComCtrls, StdCtrls, ExtCtrls, Menus, ShellAPI,
+ JclFileUtils, JclUnicode, JclSysInfo, JclFont;
+
+type
+ TForm1 = class(TForm)
+ FileListView: TListView;
+ Panel1: TPanel;
+ FilterEncodingComboBox: TComboBox;
+ IncludeSubDirectoriesCheckBox: TCheckBox;
+ ConvertButton: TButton;
+ SearchButton: TButton;
+ Label3: TLabel;
+ FileMaskEdit: TEdit;
+ Label2: TLabel;
+ RootDirectoryEdit: TEdit;
+ Label1: TLabel;
+ StatusBar1: TStatusBar;
+ FilePopupMenu: TPopupMenu;
+ OpenwithNotepad1: TMenuItem;
+ procedure FormCreate(Sender: TObject);
+ procedure FormDestroy(Sender: TObject);
+ procedure SearchButtonClick(Sender: TObject);
+ procedure AddFile(const Directory: string; const FileInfo: TSearchRec);
+ procedure TaskDone(const ID: TFileSearchTaskID; const Aborted: boolean);
+ procedure FileListViewColumnClick(Sender: TObject; Column: TListColumn);
+ procedure OpenwithNotepad1Click(Sender: TObject);
+ procedure ConvertButtonClick(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ Form1: TForm1;
+ FileListViewSortAscending: boolean;
+ UTF8FileCount: integer;
+ FFileEnumerator: TJclFileEnumerator;
+ FTaskID: TFileSearchTaskID;
+ FWideStringList: TWideStringList;
+
+const
+ SaveFormatValues: array[TSaveFormat] of string =
+ ('Unicode', 'Unicode big endian', 'UTF-8', 'ANSI');
+
+implementation
+
+{$R *.dfm}
+
+function CustomSortByColumn(Item1, Item2: TListItem; iData: integer): integer;
+ stdcall;
+var
+ Str1, Str2: string;
+begin
+ if (Item1 = nil) or (Item2 = nil) then
+ begin
+ Result := 0;
+ exit;
+ end;
+
+ try
+ if (iData = 0) then
+ begin
+ Str1 := Item1.Caption;
+ Str2 := Item2.Caption;
+ end
+ else
+ begin
+ if (iData >= 1) and (iData <= Item1.SubItems.Count) then
+ Str1 := Item1.SubItems[iData - 1]
+ else
+ Str1 := '';
+ if (iData >= 1) and (iData <= Item2.SubItems.Count) then
+ Str2 := Item2.SubItems[iData - 1]
+ else
+ Str2 := '';
+ end;
+ Result := AnsiCompareStr(Str1, Str2);
+ except
+ Result := 0;
+ end;
+
+ if not FileListViewSortAscending then
+ Result := -Result;
+end;
+
+procedure TForm1.AddFile(const Directory: string; const FileInfo: TSearchRec);
+var
+ ListItem: TListItem;
+begin
+ FWideStringList.LoadFromFile(Directory + FileInfo.Name);
+
+ if (FilterEncodingComboBox.Text = '') or (FilterEncodingComboBox.Text =
+ SaveFormatValues[FWideStringList.SaveFormat]) then
+ begin
+ ListItem := FileListView.Items.Add;
+ with ListItem do
+ begin
+ Caption := FileInfo.Name;
+ SubItems.Add(Directory);
+ SubItems.Add(SaveFormatValues[FWideStringList.SaveFormat]);
+ if (FWideStringList.SaveFormat = sfUTF8) then
+ Inc(UTF8FileCount);
+ end;
+ end;
+end;
+
+procedure TForm1.SearchButtonClick(Sender: TObject);
+begin
+ FFileEnumerator.OnTerminateTask := TaskDone;
+ FFileEnumerator.RootDirectory := RootDirectoryEdit.Text;
+ FFileEnumerator.FileMask := FileMaskEdit.Text;
+ FFileEnumerator.IncludeSubDirectories := IncludeSubDirectoriesCheckBox.Checked;
+
+ FileListView.Items.BeginUpdate;
+ FileListView.Items.Clear;
+ Screen.Cursor := crHourGlass;
+ UTF8FileCount := 0;
+ FTaskID := FFileEnumerator.ForEach(AddFile);
+end;
+
+procedure TForm1.ConvertButtonClick(Sender: TObject);
+var
+ i: integer;
+begin
+ for i := 0 to FileListView.Items.Count - 1 do
+ begin
+ if (FileListView.Items[i].SubItems[1] = 'UTF-8') then
+ begin
+ FWideStringList.LoadFromFile(PChar(FileListView.Items[i].SubItems[0] +
+ FileListView.Items[i].Caption));
+ if (FWideStringList.SaveFormat = sfUTF8) then
+ begin
+ FWideStringList.SaveFormat := sfAnsi;
+ FWideStringList.SaveToFile(PChar(FileListView.Items[i].SubItems[0] +
+ FileListView.Items[i].Caption));
+ FileListView.Items[i].SubItems[1] := SaveFormatValues[FWideStringList.SaveFormat];
+ Dec(UTF8FileCount);
+ end;
+ end;
+ end;
+ ConvertButton.Enabled := (UTF8FileCount > 0);
+end;
+
+procedure TForm1.FileListViewColumnClick(Sender: TObject; Column: TListColumn);
+begin
+ if (Column.Index = TListView(Sender).Tag) then
+ FileListViewSortAscending := not FileListViewSortAscending
+ else
+ TListView(Sender).Tag := Column.Index;
+ TListView(Sender).CustomSort(@CustomSortByColumn, Column.Index);
+end;
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+ FFileEnumerator := TJclFileEnumerator.Create;
+ FWideStringList := TWideStringList.Create;
+
+ SetObjectFontToSystemFont(Form1);
+
+ RootDirectoryEdit.Text := ExtractFilePath(Application.ExeName);
+end;
+
+procedure TForm1.FormDestroy(Sender: TObject);
+begin
+ FWideStringList.Free;
+ FFileEnumerator.Free;
+end;
+
+procedure TForm1.OpenwithNotepad1Click(Sender: TObject);
+begin
+ if (FileListView.Selected <> nil) then
+ ShellExecute(Handle, 'open', PChar(GetWindowsFolder + '\notepad.exe'),
+ PChar(FileListView.Selected.SubItems[0] + FileListView.Selected.Caption),
+ nil, SW_SHOWNORMAL);
+end;
+
+procedure TForm1.TaskDone(const ID: TFileSearchTaskID; const Aborted: boolean);
+begin
+ FileListView.Items.EndUpdate;
+ Screen.Cursor := crDefault;
+ StatusBar1.SimpleText := Format('%d files', [FileListView.Items.Count]);
+ ConvertButton.Enabled := (UTF8FileCount > 0);
+end;
+
+end.
Property changes on: trunk/jcl/examples/windows/widestring/WideStringDemoMain.pas
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id LastChangedDate LastChangedBy LastChangedRevision URL
Name: svn:eol-style
+ native
Added: trunk/jcl/examples/windows/widestring/WideStringExample.dpr
===================================================================
--- trunk/jcl/examples/windows/widestring/WideStringExample.dpr (rev 0)
+++ trunk/jcl/examples/windows/widestring/WideStringExample.dpr 2007-06-30 13:06:31 UTC (rev 2057)
@@ -0,0 +1,15 @@
+program WideStringExample;
+
+uses
+ Forms,
+ WideStringDemoMain in 'WideStringDemoMain.pas' {Form1};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.MainFormOnTaskbar := True;
+ Application.Title := 'TWideStringList Example (JclUnicode)';
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
Property changes on: trunk/jcl/examples/windows/widestring/WideStringExample.dpr
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id LastChangedDate LastChangedBy LastChangedRevision URL
Name: svn:eol-style
+ native
Added: trunk/jcl/examples/windows/widestring/WideStringExample.res
===================================================================
(Binary files differ)
Property changes on: trunk/jcl/examples/windows/widestring/WideStringExample.res
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ah...@us...> - 2007-06-28 20:06:31
|
Revision: 2056
http://svn.sourceforge.net/jcl/?rev=2056&view=rev
Author: ahuser
Date: 2007-06-28 13:06:21 -0700 (Thu, 28 Jun 2007)
Log Message:
-----------
LoadLibrary => SafeLoadLibrary
Modified Paths:
--------------
trunk/jcl/source/common/JclSysInfo.pas
trunk/jcl/source/common/JclSysUtils.pas
trunk/jcl/source/common/bzip2.pas
trunk/jcl/source/common/pcre.pas
trunk/jcl/source/prototypes/JclWin32.pas
trunk/jcl/source/vcl/JclPrint.pas
trunk/jcl/source/windows/JclCOM.pas
trunk/jcl/source/windows/JclDebug.pas
trunk/jcl/source/windows/JclDotNet.pas
trunk/jcl/source/windows/JclMapi.pas
trunk/jcl/source/windows/JclShell.pas
trunk/jcl/source/windows/JclWin32.pas
trunk/jcl/source/windows/JclWin32Ex.pas
trunk/jcl/source/windows/Snmp.pas
trunk/jcl/source/windows/zlibh.pas
Modified: trunk/jcl/source/common/JclSysInfo.pas
===================================================================
--- trunk/jcl/source/common/JclSysInfo.pas 2007-06-24 23:29:45 UTC (rev 2055)
+++ trunk/jcl/source/common/JclSysInfo.pas 2007-06-28 20:06:21 UTC (rev 2056)
@@ -3577,22 +3577,18 @@
_GetNativeSystemInfo: TGetNativeSystemInfo;
begin
Result := False;
- LibraryHandle := LoadLibrary('kernel32.dll');
+ LibraryHandle := GetModuleHandle(kernel32);
if LibraryHandle <> 0 then
begin
- try
- _GetNativeSystemInfo := GetProcAddress(LibraryHandle,'GetNativeSystemInfo');
- if Assigned(_GetNativeSystemInfo) then
- begin
- _GetNativeSystemInfo(SystemInfo);
- Result := True;
- end
- else
- GetSystemInfo(SystemInfo);
- finally
- FreeLibrary(LibraryHandle);
- end;
+ _GetNativeSystemInfo := GetProcAddress(LibraryHandle,'GetNativeSystemInfo');
+ if Assigned(_GetNativeSystemInfo) then
+ begin
+ _GetNativeSystemInfo(SystemInfo);
+ Result := True;
+ end
+ else
+ GetSystemInfo(SystemInfo);
end
else
GetSystemInfo(SystemInfo);
@@ -3686,7 +3682,7 @@
Result := True;
if NetBiosLib = 0 then
begin
- NetBiosLib := LoadLibrary(PChar('netapi32.dll'));
+ NetBiosLib := SafeLoadLibrary('netapi32.dll');
Result := NetBiosLib <> 0;
if Result then
begin
@@ -5119,15 +5115,8 @@
function IsSystemResourcesMeterPresent: Boolean;
procedure LoadResmeter;
- var
- OldErrorMode: UINT;
begin
- OldErrorMode := SetErrorMode(SEM_FAILCRITICALERRORS);
- try
- ResmeterLibHandle := LoadLibrary('rsrc32.dll');
- finally
- SetErrorMode(OldErrorMode);
- end;
+ ResmeterLibHandle := SafeLoadLibrary('rsrc32.dll', SEM_FAILCRITICALERRORS);
if ResmeterLibHandle <> 0 then
begin
@MyGetFreeSystemResources := GetProcAddress(ResmeterLibHandle, '_MyGetFreeSystemResources32@4');
Modified: trunk/jcl/source/common/JclSysUtils.pas
===================================================================
--- trunk/jcl/source/common/JclSysUtils.pas 2007-06-24 23:29:45 UTC (rev 2055)
+++ trunk/jcl/source/common/JclSysUtils.pas 2007-06-28 20:06:21 UTC (rev 2056)
@@ -2615,7 +2615,7 @@
{$IFDEF MSWINDOWS}
begin
if Module = INVALID_MODULEHANDLE_VALUE then
- Module := LoadLibrary(PChar(FileName));
+ Module := SafeLoadLibrary(FileName);
Result := Module <> INVALID_MODULEHANDLE_VALUE;
end;
{$ENDIF MSWINDOWS}
@@ -2631,7 +2631,7 @@
{$IFDEF MSWINDOWS}
begin
if Module = INVALID_MODULEHANDLE_VALUE then
- Module := LoadLibraryEx(PChar(FileName), 0, Flags);
+ Module := LoadLibraryEx(PChar(FileName), 0, Flags); // SafeLoadLibrary?
Result := Module <> INVALID_MODULEHANDLE_VALUE;
end;
{$ENDIF MSWINDOWS}
Modified: trunk/jcl/source/common/bzip2.pas
===================================================================
--- trunk/jcl/source/common/bzip2.pas 2007-06-24 23:29:45 UTC (rev 2055)
+++ trunk/jcl/source/common/bzip2.pas 2007-06-28 20:06:21 UTC (rev 2056)
@@ -416,7 +416,7 @@
if BZip2Lib = INVALID_MODULEHANDLE_VALUE then
{$IFDEF MSWINDOWS}
- BZip2Lib := LoadLibrary(szBZIP2);
+ BZip2Lib := SafeLoadLibrary(szBZIP2);
{$ENDIF MSWINDOWS}
{$IFDEF UNIX}
BZip2Lib := dlopen(PChar(szBZIP2), RTLD_NOW);
Modified: trunk/jcl/source/common/pcre.pas
===================================================================
--- trunk/jcl/source/common/pcre.pas 2007-06-24 23:29:45 UTC (rev 2055)
+++ trunk/jcl/source/common/pcre.pas 2007-06-28 20:06:21 UTC (rev 2056)
@@ -1125,7 +1125,7 @@
if PCRELib = INVALID_MODULEHANDLE_VALUE then
{$IFDEF MSWINDOWS}
- PCRELib := LoadLibrary(libpcremodulename);
+ PCRELib := SafeLoadLibrary(libpcremodulename);
{$ENDIF MSWINDOWS}
{$IFDEF UNIX}
PCRELib := dlopen(PChar(libpcremodulename), RTLD_NOW);
Modified: trunk/jcl/source/prototypes/JclWin32.pas
===================================================================
--- trunk/jcl/source/prototypes/JclWin32.pas 2007-06-24 23:29:45 UTC (rev 2055)
+++ trunk/jcl/source/prototypes/JclWin32.pas 2007-06-28 20:06:21 UTC (rev 2056)
@@ -253,7 +253,7 @@
ModuleHandle := GetModuleHandle(PChar(ModuleName));
if ModuleHandle = 0 then
begin
- ModuleHandle := LoadLibrary(PChar(ModuleName));
+ ModuleHandle := SafeLoadLibrary(PChar(ModuleName));
if ModuleHandle = 0 then
raise EJclError.CreateResFmt(@RsELibraryNotFound, [ModuleName]);
end;
Modified: trunk/jcl/source/vcl/JclPrint.pas
===================================================================
--- trunk/jcl/source/vcl/JclPrint.pas 2007-06-24 23:29:45 UTC (rev 2055)
+++ trunk/jcl/source/vcl/JclPrint.pas 2007-06-28 20:06:21 UTC (rev 2056)
@@ -373,7 +373,7 @@
else
// >= Win 2000 uses GetDefaultPrinter
begin
- hWinSpool := LoadLibrary(cPrintSpool);
+ hWinSpool := SafeLoadLibrary(cPrintSpool);
if hWinSpool <> 0 then
try
@GetDefPrint := GetProcAddress(hWinSpool, 'GetDefaultPrinterA');
@@ -475,7 +475,7 @@
else
// >= Win 2000 uses SetDefaultPrinter
begin
- hWinSpool := LoadLibrary(cPrintSpool);
+ hWinSpool := SafeLoadLibrary(cPrintSpool);
if hWinSpool <> 0 then
try
@SetDefPrint := GetProcAddress(hWinSpool, 'SetDefaultPrinterA');
Modified: trunk/jcl/source/windows/JclCOM.pas
===================================================================
--- trunk/jcl/source/windows/JclCOM.pas 2007-06-24 23:29:45 UTC (rev 2055)
+++ trunk/jcl/source/windows/JclCOM.pas 2007-06-28 20:06:21 UTC (rev 2056)
@@ -166,7 +166,7 @@
Result := not (GetWindowsVersion in [wvUnknown, wvWin95, wvWin95OSR2]);
if not Result then
begin
- OLE32 := LoadLibrary(pcOLE32);
+ OLE32 := SafeLoadLibrary(pcOLE32);
if OLE32 > 0 then
try
Result := GetProcAddress(OLE32, PChar('CoCreateInstanceEx')) <> nil;
Modified: trunk/jcl/source/windows/JclDebug.pas
===================================================================
--- trunk/jcl/source/windows/JclDebug.pas 2007-06-24 23:29:45 UTC (rev 2055)
+++ trunk/jcl/source/windows/JclDebug.pas 2007-06-28 20:06:21 UTC (rev 2056)
@@ -3222,7 +3222,7 @@
class function TJclDebugInfoSymbols.LoadDebugFunctions: Boolean;
begin
- ImageHlpDllHandle := LoadLibrary(ImageHlpDllName);
+ ImageHlpDllHandle := SafeLoadLibrary(ImageHlpDllName);
if ImageHlpDllHandle <> 0 then
begin
Modified: trunk/jcl/source/windows/JclDotNet.pas
===================================================================
--- trunk/jcl/source/windows/JclDotNet.pas 2007-06-24 23:29:45 UTC (rev 2055)
+++ trunk/jcl/source/windows/JclDotNet.pas 2007-06-28 20:06:21 UTC (rev 2056)
@@ -436,7 +436,7 @@
ModuleHandle := GetModuleHandle(PChar(ModuleName));
if ModuleHandle = 0 then
begin
- ModuleHandle := LoadLibrary(PChar(ModuleName));
+ ModuleHandle := SafeLoadLibrary(ModuleName);
if ModuleHandle = 0 then
raise EJclError.CreateResFmt(@RsELibraryNotFound, [ModuleName]);
end;
Modified: trunk/jcl/source/windows/JclMapi.pas
===================================================================
--- trunk/jcl/source/windows/JclMapi.pas 2007-06-24 23:29:45 UTC (rev 2055)
+++ trunk/jcl/source/windows/JclMapi.pas 2007-06-28 20:06:21 UTC (rev 2056)
@@ -533,7 +533,7 @@
begin
if ClientLibLoaded then
Exit;
- FClientLibHandle := LoadLibrary(PChar(GetClientLibName));
+ FClientLibHandle := SafeLoadLibrary(GetClientLibName);
if FClientLibHandle = 0 then
RaiseLastOSError;
for I := 0 to Length(FFunctions) - 1 do
Modified: trunk/jcl/source/windows/JclShell.pas
===================================================================
--- trunk/jcl/source/windows/JclShell.pas 2007-06-24 23:29:45 UTC (rev 2055)
+++ trunk/jcl/source/windows/JclShell.pas 2007-06-28 20:06:21 UTC (rev 2056)
@@ -1243,7 +1243,7 @@
LibHandle: HINST;
begin
Result := False;
- LibHandle := LoadLibrary(PChar(FileName));
+ LibHandle := SafeLoadLibrary(FileName);
if LibHandle <> 0 then
begin
@_DllGetVersion := GetProcAddress(LibHandle, PChar('DllGetVersion'));
@@ -1404,7 +1404,7 @@
if IsWinNT then
begin
Result := False;
- RasDlg := LoadLibrary(PChar('rasdlg.dll'));
+ RasDlg := SafeLoadLibrary('rasdlg.dll');
if RasDlg <> 0 then
try
@RasDialDlgA := GetProcAddress(RasDlg, PChar('RasDialDlgA'));
Modified: trunk/jcl/source/windows/JclWin32.pas
===================================================================
--- trunk/jcl/source/windows/JclWin32.pas 2007-06-24 23:29:45 UTC (rev 2055)
+++ trunk/jcl/source/windows/JclWin32.pas 2007-06-28 20:06:21 UTC (rev 2056)
@@ -7410,7 +7410,7 @@
ModuleHandle := GetModuleHandle(PChar(ModuleName));
if ModuleHandle = 0 then
begin
- ModuleHandle := LoadLibrary(PChar(ModuleName));
+ ModuleHandle := SafeLoadLibrary(ModuleName);
if ModuleHandle = 0 then
raise EJclError.CreateResFmt(@RsELibraryNotFound, [ModuleName]);
end;
Modified: trunk/jcl/source/windows/JclWin32Ex.pas
===================================================================
--- trunk/jcl/source/windows/JclWin32Ex.pas 2007-06-24 23:29:45 UTC (rev 2055)
+++ trunk/jcl/source/windows/JclWin32Ex.pas 2007-06-28 20:06:21 UTC (rev 2056)
@@ -31,7 +31,7 @@
{$IFDEF UNITVERSIONING}
JclUnitVersioning,
{$ENDIF UNITVERSIONING}
- Windows;
+ Windows, Sysutils;
type
TJclWin32ExFunction = (jwfTryEnterCriticalSection, jwfSignalObjectAndWait,
@@ -181,7 +181,7 @@
if not Assigned(FunctionAddr) then
begin
if DllHandle^ = 0 then
- DllHandle^ := LoadLibrary(PChar(DllName));
+ DllHandle^ := SafeLoadLibrary(DllName);
if DllHandle^ = 0 then
raise EJclError.CreateResFmt(@RsELibraryNotFound, [DllName])
else
@@ -377,7 +377,7 @@
procedure JclCheckAndInitializeOpenGL;
begin
if OpenGl32DllHandle = 0 then
- OpenGl32DllHandle := LoadLibrary(PChar(opengl32));
+ OpenGl32DllHandle := SafeLoadLibrary(opengl32);
if OpenGl32DllHandle = 0 then
raise EJclError.CreateResFmt(@RsELibraryNotFound, [opengl32]);
end;
Modified: trunk/jcl/source/windows/Snmp.pas
===================================================================
--- trunk/jcl/source/windows/Snmp.pas 2007-06-24 23:29:45 UTC (rev 2055)
+++ trunk/jcl/source/windows/Snmp.pas 2007-06-28 20:06:21 UTC (rev 2056)
@@ -54,7 +54,7 @@
{$ENDIF ~SNMP_DYNAMIC_LINK}
uses
- Windows;
+ Windows, SysUtils;
(*$HPPEMIT '#include <snmp.h>'*)
@@ -676,7 +676,7 @@
Result := UnloadSnmpExtension;
if Result then
begin
- ExtensionLibHandle := LoadLibrary(PChar(LibName));
+ ExtensionLibHandle := SafeLoadLibrary(LibName);
Result := SnmpExtensionLoaded;
if Result then
begin
@@ -781,7 +781,7 @@
Result := SnmpLoaded;
if not Result then
begin
- SnmpLibHandle := LoadLibrary(snmpapilib);
+ SnmpLibHandle := SafeLoadLibrary(snmpapilib);
if SnmpLoaded then
begin
@SnmpUtilOidCpy := GetProcAddress(SnmpLibHandle, 'SnmpUtilOidCpy');
Modified: trunk/jcl/source/windows/zlibh.pas
===================================================================
--- trunk/jcl/source/windows/zlibh.pas 2007-06-24 23:29:45 UTC (rev 2055)
+++ trunk/jcl/source/windows/zlibh.pas 2007-06-28 20:06:21 UTC (rev 2056)
@@ -61,7 +61,7 @@
interface
uses
- Windows;
+ Windows, SysUtils;
type
uShort = Word;
{$EXTERNALSYM uShort}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <usc...@us...> - 2007-06-24 23:29:49
|
Revision: 2055
http://svn.sourceforge.net/jcl/?rev=2055&view=rev
Author: uschuster
Date: 2007-06-24 16:29:45 -0700 (Sun, 24 Jun 2007)
Log Message:
-----------
RAD Studio text updates
Modified Paths:
--------------
trunk/jcl/Install.txt
trunk/jcl/docs/Readme.html
trunk/jcl/docs/Readme.txt
Modified: trunk/jcl/Install.txt
===================================================================
--- trunk/jcl/Install.txt 2007-06-24 20:56:28 UTC (rev 2054)
+++ trunk/jcl/Install.txt 2007-06-24 23:29:45 UTC (rev 2055)
@@ -10,8 +10,7 @@
- Borland Kylix 3
- Borland Delphi 2005
- Borland Developer Studio 2006 (also known as Delphi 2006, C++Builder 2006)
-- CodeGear Delphi 2007
-- CodeGear C++Builder 2007
+- CodeGear RAD Studio 2007 (also known as Delphi 2007 for Win32, C++Builder 2007)
For more detailed information, see docs\Readme.html.
@@ -69,4 +68,4 @@
Kylix 3 installation) in case your system is not set up to do that at startup.
--------------------------------
-Document last updated 2007-06-21
+Document last updated 2007-06-25
Modified: trunk/jcl/docs/Readme.html
===================================================================
--- trunk/jcl/docs/Readme.html 2007-06-24 20:56:28 UTC (rev 2054)
+++ trunk/jcl/docs/Readme.html 2007-06-24 23:29:45 UTC (rev 2055)
@@ -4,10 +4,10 @@
<title>JEDI Code Library Release 1.100</title>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
-
+
<link rel="stylesheet" type="text/css" href="styles/default.css">
-
+
<meta content="Project JEDI" name="author">
</head>
@@ -55,7 +55,7 @@
<h3><a name="about">About this release</a></h3>
<p>JCL release 1.100 provides an updated support for all targets (including CodeGear Delphi 2007 for Win32 and CodeGear C++Builder 2007).</p>
-<p>As always, multiple bugs have been fixed; for detailed change logs,
+<p>As always, multiple bugs have been fixed; for detailed change logs,
use the facilities of our Subversion repository at Sourceforge.net
<a href="http://sourceforge.net/projects/jcl/">http://sourceforge.net/projects/jcl/</a>
, see below.</p>
@@ -89,7 +89,7 @@
stream, delegating read/write/seek operations.
</li>
- <li>Integration of the JCL help into the help system of Delphi 2005, BDS 2006, Turbo Delphi and Delphi 2007 for Win32.
+ <li>Integration of the JCL help into the help system of Delphi 2005, BDS 2006, Turbo Delphi and RAD Studio 2007.
</li>
<li>New IDE expert to have TortoiseSVN (<a href="http://tortoisesvn.tigris.org/">http://tortoisesvn.tigris.org/</a>) and TortoiseCVS (<a href="http://tortoisecvs.sourceforge.net/">http://tortoisecvs.sourceforge.net/</a>) commands integrated in all supportted IDE.</li>
@@ -102,17 +102,17 @@
<ul>
<li>
- <p>Note that the package naming has changed: the same package name is used by
-all versions of the compiler supporting suffixes (C++Builder 6, Delphi 6,
-Delphi 7, C#Builder 1, Delphi 8, Delphi 2005 and BDS 2006); a different suffix
-is added for each target to the BPL file name (for BDS 2006, the library file is named jcl100.bpl).
-The installer tries to remove old packages. 3rd party packages requiring old DJcl* resp. CJcl* packages need to be changed
+ <p>Note that the package naming has changed: the same package name is used by
+all versions of the compiler supporting suffixes (C++Builder 6, Delphi 6,
+Delphi 7, C#Builder 1, Delphi 8, Delphi 2005, BDS 2006 and RAD Studio 2007); a different suffix
+is added for each target to the BPL file name (for BDS 2006, the library file is named jcl100.bpl).
+The installer tries to remove old packages. 3rd party packages requiring old DJcl* resp. CJcl* packages need to be changed
to accomodate the new naming scheme or they will cause conflicts in the IDE at load time.</p>
</li>
<li>
- <p>DCP files are now created in the lib\target subdirectory of the JCL
-installation. 3rd party packages requiring JCL packages need to have this path
+ <p>DCP files are now created in the lib\target subdirectory of the JCL
+installation. 3rd party packages requiring JCL packages need to have this path
in their "browse path" option to compile.</p>
</li>
@@ -120,26 +120,26 @@
<p><span style="font-weight: bold;">(Windows only) Installation options:</span></p>
-<p>Packages compiled by the JCL installer don't contain any debug
+<p>Packages compiled by the JCL installer don't contain any debug
informations to keep their size as small as possible.</p>
-<p>The JEDI Code Library packages are required by some 3rd party packages
-(including the JEDI Visual Component Library - JVCL), the installer generates
+<p>The JEDI Code Library packages are required by some 3rd party packages
+(including the JEDI Visual Component Library - JVCL), the installer generates
them if the "Packages" node is checked.</p>
-<p>The installer can generate MAP informations for each package. These informations
-can be linked into binaries to become JCL debug data or be converted to .jdbg files.
+<p>The installer can generate MAP informations for each package. These informations
+can be linked into binaries to become JCL debug data or be converted to .jdbg files.
Once linked MAP files could be deleted. These options are subnodes of the "Packages" node.</p>
-<p>For BDS 2006, the compiler introduced a new option to make the same packages available in C++,
-by checking the "Dual packages" option of the "Packages" node, you will be able to call functions
+<p>For BDS 2006, the compiler introduced a new option to make the same packages available in C++,
+by checking the "Dual packages" option of the "Packages" node, you will be able to call functions
of the JCL from C++ code.</p>
<p><span style="font-weight: bold;">.net Framework support:</span></p>
-<p>A subset of JCL units was worked over to support Delphi.Net (Delphi 2005
-& BDS 2006). The packages belong to the Jedi.Jcl namespace. The installer can generate these
-packages for Delphi 2005 and BDS 2006, it displays an other tab to configure options and directory.
+<p>A subset of JCL units was worked over to support Delphi.Net (Delphi 2005
+& BDS 2006). The packages belong to the Jedi.Jcl namespace. The installer can generate these
+packages for Delphi 2005 and BDS 2006, it displays an other tab to configure options and directory.
The installation process is similar to the native targets.</p>
<hr><br>
@@ -181,13 +181,13 @@
<li>Delphi 2005 (Delphi Win32 and Delphi.net personalities).
</li>
- <li>Borland Developer Studio 2006 (Delphi Win32, C++ Builder Win32, Delphi.net and C#Builder personalities).
+ <li>Borland Developer Studio 2006 (Delphi Win32, C++Builder Win32, Delphi.net and C#Builder personalities).
</li>
<li>Turbo Delphi (explorer and professional - cf <a href="#notes">Installation notes</a>).
</li>
- <li>CodeGear Delphi 2007 for Win32.</li>
+ <li>CodeGear RAD Studio 2007 (Delphi Win32 and C++Builder Win32 personalities).</li>
</ul>
@@ -206,7 +206,7 @@
versions of the kernel. Please ensure you use the flavor of the JCL with Unix EOL.
</li>
- <li>Free Pascal (<a href="http://www.freepascal.org/">http://www.freepascal.org/</a>)
+ <li>Free Pascal (<a href="http://www.freepascal.org/">http://www.freepascal.org/</a>)
support has not been updated for this release; most units from
source/common should work with FP 2.0, as tests with a 2.0 beta (1.9.8)
indicated, but this has not been verified. Note that there are no plans
@@ -216,9 +216,9 @@
<p><span style="font-weight: bold;">Installation for Turbo Delphi</span></p>
-<p>The JEDI Code Library can be compiled targetting Turbo Delphi Explorer and Turbo Delphi Professional.
-Turbo Delphi Professional is recognized as BDS 2006, you have to download its command line compiler from
-CodeGear website at <a href="http://www.codegear.com/Default.aspx?tabid=160">http://www.codegear.com/Default.aspx?tabid=160</a>
+<p>The JEDI Code Library can be compiled targetting Turbo Delphi Explorer and Turbo Delphi Professional.
+Turbo Delphi Professional is recognized as BDS 2006, you have to download its command line compiler from
+CodeGear website at <a href="http://www.codegear.com/Default.aspx?tabid=160">http://www.codegear.com/Default.aspx?tabid=160</a>
to install the full JCL on this tool.</p>
<p>To install the JCL targetting Turbo Delphi Explorer, consider the following checks:</p>
@@ -261,15 +261,15 @@
<p><span style="font-weight: bold;">Default installation</span></p>
-<p>For all others versions of Delphi, C++Builder and BDS, simply launch Install.bat
+<p>For all others versions of Delphi, C++Builder and BDS, simply launch Install.bat
and the installer window will let you configure options and install the library.</p>
<hr><br>
<h3><a name="manual">Manual Installation</a></h3>
-<p>Although it is not recommended, a manual installation is possible. You will have
-to manually configure options for the library. That is done by modifying an included
+<p>Although it is not recommended, a manual installation is possible. You will have
+to manually configure options for the library. That is done by modifying an included
file.
</p>
<p>
@@ -308,12 +308,15 @@
<li>For Delphi.net 2005: source\jcld9.net.inc
</li>
- <li>For BDS 2006 (Delphi and C++Builder) and CodeGear Delphi 2007 for Win32 : source\jcld10.inc
+ <li>For BDS 2006 (Delphi and C++Builder): source\jcld10.inc
</li>
+ <li>For CodeGear RAD Studio 2007 (Delphi for Win32 and C++Builder): source\jcld11.inc
+ </li>
+
<li>For Delphi.net 2006: source\jcld10.net.inc</li>
-
+
</ul>
<li>In the IDE, open and compile package Jcl.dpk (or Jcl.bpk for C++Builder)
@@ -322,7 +325,7 @@
any components.
</li>
- <li>If you want to install experts, open package JclBaseExpert.dpk and compile it,
+ <li>If you want to install experts, open package JclBaseExpert.dpk and compile it,
then you can install all the experts you want (packages are located in the same
directory).</li>
@@ -338,21 +341,21 @@
<h3><a name="feedback">Giving your feedback</a></h3>
-If you have any comments or suggestions we would appreciate it if you
+If you have any comments or suggestions we would appreciate it if you
drop us a note. There are several ways to get in contact with us:
<ul>
- <li>Newsgroup is the recommended way to contact other JCL users and the team itself.
+ <li>Newsgroup is the recommended way to contact other JCL users and the team itself.
They are hosted at <a href="news://forums.talkto.net/jedi.jcl">news://forums.talkto.net/jedi.jcl</a>.
</li>
- <li>Write to <a href="mailto:jc...@de...">jc...@de...</a>
-or to <a href="mailto:jcl...@de...">jcl...@de...</a>
-This email account should not be used for support requests. If you need
+ <li>Write to <a href="mailto:jc...@de...">jc...@de...</a>
+or to <a href="mailto:jcl...@de...">jcl...@de...</a>
+This email account should not be used for support requests. If you need
support please use either the newsgroups or the mailing list.
</li>
- <li>If you want to keep up to date about JCL then you can join the
+ <li>If you want to keep up to date about JCL then you can join the
JCL mailing list by going to <a href="http://tech.groups.yahoo.com/group/JEDI-JCL/">http://tech.groups.yahoo.com/group/JEDI-JCL/</a>
You can also use this list to voice your opinion, comments or suggestions.</li>
@@ -361,7 +364,7 @@
<hr>
<h3><a name="issues">Reporting bugs</a></h3>
-<p>The general rule is: <b><font color="#ff0000">If you want to get a
+<p>The general rule is: <b><font color="#ff0000">If you want to get a
bug fixed you need to log it!</font></b></p>
<p>An issue tracking tool can be accessed via ('Code Library' category):
@@ -369,7 +372,7 @@
<p>Please be aware that you are allowed there to enter feature request and code donations as well.</p>
-<p>The JEDI issue tracker is based up on the Mantis BugTracker Open
+<p>The JEDI issue tracker is based up on the Mantis BugTracker Open
Source project. More background information about it is available on its homepage
<a href="http://mantisbt.sourceforge.net/">http://mantisbt.sourceforge.net</a></p>
@@ -377,8 +380,8 @@
<h3><a name="releases">Downloads of stable sources</a></h3>
-<p>These sources are official JCL releases and file status can be considered as
-stable for use in final applications. During the past years, there have been around 2
+<p>These sources are official JCL releases and file status can be considered as
+stable for use in final applications. During the past years, there have been around 2
or 3 releases per year.</p>
<p>JEDI Code Library: File List on SourceForge:
@@ -389,28 +392,28 @@
<h3><a name="development">Development sources</a></h3>
-<p>These files are under active development and may cause some incompatibilities
-and some conflicts with existing code. You should not use these files in final
-applications. The JCL development team provides these files for testing and
+<p>These files are under active development and may cause some incompatibilities
+and some conflicts with existing code. You should not use these files in final
+applications. The JCL development team provides these files for testing and
feedback from users.</p>
-<p>You can download snapshots of the Subversion repository updated every day in the JCL daily page
+<p>You can download snapshots of the Subversion repository updated every day in the JCL daily page
<a href="http://jcl.sourceforge.net/daily/">http://jcl.sourceforge.net/daily/</a></p>
-<p>To always have access to the most recent changes in the JCL, you
+<p>To always have access to the most recent changes in the JCL, you
should install a Subversion client (we recommend TortoiseSVN <a href="http://tortoisesvn.tigris.org/">http://tortoisesvn.tigris.org/</a>
-and RapidSVN <a href="http://rapidsvn.tigris.org/">http://rapidsvn.tigris.org/</a>) and download the
-SVN repository files to your computer as explained in the repository page of the JEDI Wiki at
+and RapidSVN <a href="http://rapidsvn.tigris.org/">http://rapidsvn.tigris.org/</a>) and download the
+SVN repository files to your computer as explained in the repository page of the JEDI Wiki at
<a href="http://homepages.codegear.com/jedi/wiki/index.php?title=Repository">http://homepages.codegear.com/jedi/wiki/index.php?title=Repository</a>
-With the SVN client, you can update your local repository at any time.
+With the SVN client, you can update your local repository at any time.
You can also view the repository online via the web interface at <a href="http://jcl.svn.sourceforge.net/">http://jcl.svn.sourceforge.net/</a></p>
<hr><br>
<h3><a name="contribute">Getting involved in JCL development</a></h3>
-If you want to help out making JCL better or bigger or just plain
-cooler, there are several ways in which you can help out. Here are some of the
+If you want to help out making JCL better or bigger or just plain
+cooler, there are several ways in which you can help out. Here are some of the
things we need your help on:
<ul>
@@ -429,21 +432,21 @@
</ul>
-<p>JCL accepts donations from developers as long as the source fullfills the
-requirements set up by the JEDI and JCL teams. To read more about these
+<p>JCL accepts donations from developers as long as the source fullfills the
+requirements set up by the JEDI and JCL teams. To read more about these
requirements, visit the page <a href="http://homepages.codegear.com/jedi/jcl">http://homepages.codegear.com/jedi/jcl</a></p>
-<p>You can also donate your time by writing help for the source already
-in JCL. We currently use Doc-o-Matic to create the finished help files but
-the actual help sources are plain text files in a simple to understand format.
-We can provide you with auto-generated templates with all classes, properties,
-types etc already inserted. The "only" thing left to do is fill in the actual
+<p>You can also donate your time by writing help for the source already
+in JCL. We currently use Doc-o-Matic to create the finished help files but
+the actual help sources are plain text files in a simple to understand format.
+We can provide you with auto-generated templates with all classes, properties,
+types etc already inserted. The "only" thing left to do is fill in the actual
help text for the help items. If you are interested in writing help, contact us.</p>
-<p>If you want to help fix bugs in JCL, go to Mantis and check the bug report
-there. You can post replies as well as fixes directly in the bug report. One of the
-JCL developers will pick up the report/fix and update the Subversion repository if the fi
-is satisfactory. If you report and fix a lot of bugs, you might even get developer
+<p>If you want to help fix bugs in JCL, go to Mantis and check the bug report
+there. You can post replies as well as fixes directly in the bug report. One of the
+JCL developers will pick up the report/fix and update the Subversion repository if the fi
+is satisfactory. If you report and fix a lot of bugs, you might even get developer
access to SVN so you can update the JCL files directly.</p>
</body>
Modified: trunk/jcl/docs/Readme.txt
===================================================================
--- trunk/jcl/docs/Readme.txt 2007-06-24 20:56:28 UTC (rev 2054)
+++ trunk/jcl/docs/Readme.txt 2007-06-24 23:29:45 UTC (rev 2055)
@@ -46,7 +46,7 @@
on changes, reading common data types, scoping a stream, delegating
read/write/seek operations.
- Integration of the JCL help into the help system of Delphi 2005, BDS 2006,
- Turbo Delphi and Delphi 2007 for Win32.
+ Turbo Delphi and RAD Studio 2007.
- New IDE expert to have TortoiseSVN (http://tortoisesvn.tigris.org/) and
TortoiseCVS (http://tortoisecvs.sourceforge.net/) commands integrated in all
supportted IDE.
@@ -55,7 +55,7 @@
- Note that the package naming has changed: the same package name is used by
all versions of the compiler supporting suffixes (C++Builder 6, Delphi 6,
- Delphi 7, C#Builder 1, Delphi 8, Delphi 2005 and BDS 2006); a different
+ Delphi 7, C#Builder 1, Delphi 8, Delphi 2005, BDS 2006 and RAD Studio 2007); a different
suffix is added for each target to the BPL file name (for BDS 2006, the
library file is named jcl100.bpl). The installer tries to remove old
packages. 3rd party packages requiring old DJcl* resp. CJcl* packages need to
@@ -108,10 +108,10 @@
- Delphi version 5, 6, 7.
- C++Builder version 5 & 6.
- Delphi 2005 (Delphi Win32 and Delphi.net personalities).
- - Borland Developer Studio 2006 (Delphi Win32, C++ Builder Win32, Delphi.net
+ - Borland Developer Studio 2006 (Delphi Win32, C++Builder Win32, Delphi.net
and C#Builder personalities).
- Turbo Delphi (explorer and professional - cf Installation notes).
- - CodeGear Delphi 2007 for Win32.
+ - CodeGear RAD Studio 2007 (Delphi Win32 and C++Builder Win32 personalities).
--------------------------------------------------------------------------------
@@ -188,8 +188,8 @@
- For Delphi 7: source\jcld7.inc
- For Delphi 2005: source\jcld9.inc
- For Delphi.net 2005: source\jcld9.net.inc
- - For BDS 2006 (Delphi and C++Builder) and CodeGear Delphi 2007 for Win32 :
- source\jcld10.inc
+ - For BDS 2006 (Delphi and C++Builder): source\jcld10.inc
+ - For CodeGear RAD Studio 2007 (Delphi for Win32 and C++Builder): source\jcld11.inc
- For Delphi.net 2006: source\jcld10.net.inc
2. In the IDE, open and compile package Jcl.dpk (or Jcl.bpk for C++Builder)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cyc...@us...> - 2007-06-24 20:56:31
|
Revision: 2054
http://svn.sourceforge.net/jcl/?rev=2054&view=rev
Author: cycocrew
Date: 2007-06-24 13:56:28 -0700 (Sun, 24 Jun 2007)
Log Message:
-----------
Help cosmetic changes (Stringmanipulation -> StringManipulation)
Modified Paths:
--------------
trunk/help/JCL.dfg
trunk/help/JCLHelp.dox
trunk/help/JCLxHelp.dox
trunk/help/Strings.dtx
trunk/help/hlpgrps.dtx
Modified: trunk/help/JCL.dfg
===================================================================
--- trunk/help/JCL.dfg 2007-06-23 16:52:59 UTC (rev 2053)
+++ trunk/help/JCL.dfg 2007-06-24 20:56:28 UTC (rev 2054)
@@ -11808,7 +11808,7 @@
ID19=$RegistryandInifiles
ID2=$BaseServices
ID20=$RuntimeTypeInformation
-ID21=$Stringmanipulation
+ID21=$StringManipulation
ID22=$SystemInformationRoutines
ID23=$Unicode
ID24=$UnitConversions
@@ -11976,7 +11976,7 @@
ETPCommand0=2
ETPTopicOrder0=18
-[External Topic Properties\$Stringmanipulation]
+[External Topic Properties\$StringManipulation]
Count=1
ETPCommand0=2
ETPTopicOrder0=19
Modified: trunk/help/JCLHelp.dox
===================================================================
--- trunk/help/JCLHelp.dox 2007-06-23 16:52:59 UTC (rev 2053)
+++ trunk/help/JCLHelp.dox 2007-06-24 20:56:28 UTC (rev 2054)
@@ -42126,7 +42126,7 @@
ID33=Regular Expressions
ID34=RuntimeTypeInformation
ID35=Source files
-ID36=Stringmanipulation
+ID36=StringManipulation
ID37=SystemInformationRoutines
ID38=TJclAnsiCaptureOffset
ID39=TJclAnsiCaptureOffset.FirstPos
@@ -42362,7 +42362,7 @@
ETPGroup1=JCL
ETPTopicOrder0=26
-[External Topic Properties\Stringmanipulation]
+[External Topic Properties\StringManipulation]
Count=1
ETPCommand0=2
ETPTopicOrder0=20
Modified: trunk/help/JCLxHelp.dox
===================================================================
--- trunk/help/JCLxHelp.dox 2007-06-23 16:52:59 UTC (rev 2053)
+++ trunk/help/JCLxHelp.dox 2007-06-24 20:56:28 UTC (rev 2054)
@@ -42255,7 +42255,7 @@
ID19=$RegistryandInifiles
ID2=$BaseServices
ID20=$RuntimeTypeInformation
-ID21=$Stringmanipulation
+ID21=$StringManipulation
ID22=$SystemInformationRoutines
ID23=$Unicode
ID24=$UnitConversions
@@ -42422,7 +42422,7 @@
ETPCommand0=2
ETPTopicOrder0=18
-[External Topic Properties\$Stringmanipulation]
+[External Topic Properties\$StringManipulation]
Count=1
ETPCommand0=2
ETPTopicOrder0=19
Modified: trunk/help/Strings.dtx
===================================================================
--- trunk/help/Strings.dtx 2007-06-23 16:52:59 UTC (rev 2053)
+++ trunk/help/Strings.dtx 2007-06-24 20:56:28 UTC (rev 2054)
@@ -1,65 +1,65 @@
-@@Stringmanipulation.CharacterSearchandReplace
-<GROUP Stringmanipulation>
+@@StringManipulation.CharacterSearchandReplace
+<GROUP StringManipulation>
<TITLE Character Search and Replace>
<TOPICORDER 100>
--------------------------------------------------------------------------------
-@@Stringmanipulation.CharacterTestRoutines
-<GROUP Stringmanipulation>
+@@StringManipulation.CharacterTestRoutines
+<GROUP StringManipulation>
<TITLE Character Test Routines>
<TOPICORDER 200>
--------------------------------------------------------------------------------
-@@Stringmanipulation.CharacterTransformationRoutines
-<GROUP Stringmanipulation>
+@@StringManipulation.CharacterTransformationRoutines
+<GROUP StringManipulation>
<TITLE Character Transformation Routines>
<TOPICORDER 300>
--------------------------------------------------------------------------------
-@@Stringmanipulation.Miscellaneous
-<GROUP Stringmanipulation>
+@@StringManipulation.Miscellaneous
+<GROUP StringManipulation>
<TITLE Miscellaneous>
<TOPICORDER 400>
--------------------------------------------------------------------------------
-@@Stringmanipulation.MultiSz
-<GROUP Stringmanipulation>
+@@StringManipulation.MultiSz
+<GROUP StringManipulation>
<TITLE MultiSz>
<TOPICORDER 500>
--------------------------------------------------------------------------------
-@@Stringmanipulation.PCharVector
-<GROUP Stringmanipulation>
+@@StringManipulation.PCharVector
+<GROUP StringManipulation>
<TITLE PCharVector>
<TOPICORDER 600>
--------------------------------------------------------------------------------
-@@Stringmanipulation.StringExtraction
-<GROUP Stringmanipulation>
+@@StringManipulation.StringExtraction
+<GROUP StringManipulation>
<TITLE String Extraction>
<TOPICORDER 700>
--------------------------------------------------------------------------------
-@@Stringmanipulation.StringManagement
-<GROUP Stringmanipulation>
+@@StringManipulation.StringManagement
+<GROUP StringManipulation>
<TITLE String Management>
<TOPICORDER 800>
--------------------------------------------------------------------------------
-@@Stringmanipulation.StringSearchandReplaceRoutines
-<GROUP Stringmanipulation>
+@@StringManipulation.StringSearchandReplaceRoutines
+<GROUP StringManipulation>
<TITLE String Search and Replace Routines>
<TOPICORDER 900>
--------------------------------------------------------------------------------
-@@Stringmanipulation.StringTestRoutines
-<GROUP Stringmanipulation>
+@@StringManipulation.StringTestRoutines
+<GROUP StringManipulation>
<TITLE String Test Routines>
<TOPICORDER 1000>
--------------------------------------------------------------------------------
-@@Stringmanipulation.StringTransformationRoutines
-<GROUP Stringmanipulation>
+@@StringManipulation.StringTransformationRoutines
+<GROUP StringManipulation>
<TITLE String Transformation Routines>
<TOPICORDER 1100>
--------------------------------------------------------------------------------
-@@Stringmanipulation.TStringsManipulation
-<GROUP Stringmanipulation>
+@@StringManipulation.TStringsManipulation
+<GROUP StringManipulation>
<TITLE TStrings Manipulation>
<TOPICORDER 1200>
--------------------------------------------------------------------------------
@@StrIsAlpha
-<GROUP Stringmanipulation.StringTestRoutines>
+<GROUP StringManipulation.StringTestRoutines>
Summary:
Tests whether S contains only alpha characters.
Description:
@@ -78,7 +78,7 @@
Donator: Nick Hodges
--------------------------------------------------------------------------------
@@StrIsAlphaNum
-<GROUP Stringmanipulation.StringTestRoutines>
+<GROUP StringManipulation.StringTestRoutines>
Summary:
Tests whether S contains only alpha-numerical characters.
Description:
@@ -98,7 +98,7 @@
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrIsAlphaNumUnderscore
-<GROUP Stringmanipulation.StringTestRoutines>
+<GROUP StringManipulation.StringTestRoutines>
Summary:
Tests whether S contains only alpha-numerical and underscore characters.
Description:
@@ -118,7 +118,7 @@
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrContainsChars
-<GROUP Stringmanipulation.StringTestRoutines>
+<GROUP StringManipulation.StringTestRoutines>
Summary:
Determines whether a string contains a specified set of characters.
Description:
@@ -135,7 +135,7 @@
Donator: Petr Vones
--------------------------------------------------------------------------------
@@StrIsDigit
-<GROUP Stringmanipulation.StringTestRoutines>
+<GROUP StringManipulation.StringTestRoutines>
Summary:
Tests whether S contains only numerical characters.
Description:
@@ -156,7 +156,7 @@
Donator: Martin Kubecka
--------------------------------------------------------------------------------
@@StrConsistsOfNumberChars
-<GROUP Stringmanipulation.StringTestRoutines>
+<GROUP StringManipulation.StringTestRoutines>
Summary:
Tests whether S contains only numerical characters.
Description:
@@ -177,7 +177,7 @@
Donator: Nick Hodges
--------------------------------------------------------------------------------
@@StrIsSubset
-<GROUP Stringmanipulation.StringTestRoutines>
+<GROUP StringManipulation.StringTestRoutines>
Summary:
Tests whether S contains only characters from the supplied set.
Description:
@@ -194,7 +194,7 @@
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrSame
-<GROUP Stringmanipulation.StringTestRoutines>
+<GROUP StringManipulation.StringTestRoutines>
Summary:
Tests two strings for equality.
Description:
@@ -211,7 +211,7 @@
Donator: Azret Botash
--------------------------------------------------------------------------------
@@StrCenter
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Description
The StrCenter routine takes the specified string and pads it
@@ -243,7 +243,7 @@
Donator: Alexander Radchenko
--------------------------------------------------------------------------------
@@StrDoubleQuote
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Returns a double-quoted version of the string.
Description:
@@ -263,7 +263,7 @@
Anthony Steele
--------------------------------------------------------------------------------
@@StrEnsurePrefix
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Forces Text to start with Prefix.
Description:
@@ -281,7 +281,7 @@
Donator: Nick Hodges
--------------------------------------------------------------------------------
@@StrEnsureNoPrefix
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Eventually removes Prefix from Text.
Description:
@@ -299,7 +299,7 @@
Donator: Olivier Sannier
--------------------------------------------------------------------------------
@@StrEnsureSuffix
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Forces Text to end with Suffix.
Description:
@@ -317,7 +317,7 @@
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrEnsureNoSuffix
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Eventually removes Suffix from Text.
Description:
@@ -335,7 +335,7 @@
Donator: Olivier Sannier
--------------------------------------------------------------------------------
@@StrEscapedToString
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Converts an escaped string to a string.
Description:
@@ -370,7 +370,7 @@
Donator: Robert Marquardt
--------------------------------------------------------------------------------
@@StrLower
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Lowercases all characters in a string
Description:
@@ -386,7 +386,7 @@
Donator: Pelle F. S. Liljendal
--------------------------------------------------------------------------------
@@StrLowerInPlace
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Lowercases all characters in a string
Description:
@@ -402,7 +402,7 @@
Donator: Azret Botash
--------------------------------------------------------------------------------
@@StrLowerBuff
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Lowercases all characters in a string
Description:
@@ -418,7 +418,7 @@
Donator: Azret Botash
--------------------------------------------------------------------------------
@@StrMove
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Copies a sub-string from one string to another.
Description:
@@ -435,7 +435,7 @@
Donator: Azret Botash
--------------------------------------------------------------------------------
@@StrPadLeft
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Left pads a string with characters.
Description:
@@ -454,7 +454,7 @@
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrPadRight
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Right pads a string with characters.
Description:
@@ -473,7 +473,7 @@
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrProper
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Lowercases the supplied string and uppercases the first character.
Description:
@@ -485,11 +485,11 @@
The transformed string.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@StrProperBuff
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Lowercases the supplied string and uppercases the first character.
Description:
@@ -499,11 +499,11 @@
S - The string to transform.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@StrQuote
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Quotes a string with a specific character.
Description:
@@ -517,11 +517,11 @@
The quoted string.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@StrRemoveChars
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Removes a set of characters from a string.
Description:
@@ -537,11 +537,11 @@
The function is case sensitive. That is, specifying 'e' will not remove 'E'.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrRepeat
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Repeats a string Count number of times.
Description:
@@ -554,11 +554,11 @@
The specified string, repeated Count number of times.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrReverse
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Reverses a string.
Description:
@@ -575,11 +575,11 @@
StrReverseInPlace
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrReverseInPlace
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Reverses a string.
Description:
@@ -592,11 +592,11 @@
StrReverse
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrSingleQuote
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Returns a single-quoted version of the string.
Description:
@@ -611,11 +611,11 @@
StrTrimQuotes
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrSmartCase
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Converts a string to 'smartcase' or 'camelcase'.
Description:
@@ -636,11 +636,11 @@
Original author is John C Molyneux (ja...@ho...). Function was rewritten by Marcel van Brakel.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrStringToEscaped
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Converts a string to an escaped string.
Description:
@@ -674,11 +674,11 @@
StrEscapedToString
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Robert Marquardt
--------------------------------------------------------------------------------
@@StrStripNonNumberChars
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Removes all non-number characters from a string.
Description:
@@ -693,11 +693,11 @@
The string after all non-number characters are removed.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrTrimQuotes
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Removes surrounding quotes from the supplied string.
Description:
@@ -714,11 +714,11 @@
StrDoubleQuote
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrToHex
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Converts a string of hex digit pairs to the corresponding bytes.
Description:
@@ -733,11 +733,11 @@
The string of converted bytes.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@StrTrimCharLeft
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Removes leading characters from a string.
Description:
@@ -752,11 +752,11 @@
StrTrimCharRight
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Jack N.A. Bakker
--------------------------------------------------------------------------------
@@StrTrimCharRight
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Removes trailing characters from a string.
Description:
@@ -771,11 +771,11 @@
StrTrimCharLeft
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Jack N.A. Bakker
--------------------------------------------------------------------------------
@@StrUpper
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Uppercases all characters in a string
Description:
@@ -790,11 +790,11 @@
StrLowerBuff
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@StrUpperInPlace
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Uppercases all characters in a string
Description:
@@ -809,11 +809,11 @@
StrLowerBuff
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@StrUpperBuff
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Uppercases all characters in a string
Description:
@@ -828,11 +828,11 @@
StrLowerBuff
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@StrAddRef
-<GROUP Stringmanipulation.StringManagement>
+<GROUP StringManipulation.StringManagement>
Summary:
Increments the reference count of a long string.
Description:
@@ -848,11 +848,11 @@
StrDecRef
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrAllocSize
-<GROUP Stringmanipulation.StringManagement>
+<GROUP StringManipulation.StringManagement>
Summary:
Returns the memory allocated to store the string.
Description:
@@ -877,11 +877,11 @@
StrRefCount
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrDecRef
-<GROUP Stringmanipulation.StringManagement>
+<GROUP StringManipulation.StringManagement>
Summary:
Decrements the reference count of a long string.
Description:
@@ -895,11 +895,11 @@
StrDecRef
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrLen
-<GROUP Stringmanipulation.StringManagement>
+<GROUP StringManipulation.StringManagement>
Summary:
Returns the length of the supplied string.
Description:
@@ -912,11 +912,11 @@
The length of the string, in characters.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Robert Lee
--------------------------------------------------------------------------------
@@StrLength
-<GROUP Stringmanipulation.StringManagement>
+<GROUP StringManipulation.StringManagement>
Summary:
Returns the length of the supplied string.
Description:
@@ -934,11 +934,11 @@
StrRefCount
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrRefCount
-<GROUP Stringmanipulation.StringManagement>
+<GROUP StringManipulation.StringManagement>
Summary:
Returns the reference count of the supplied string.
Description:
@@ -957,11 +957,11 @@
StrAllocSize
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrResetLength
-<GROUP Stringmanipulation.StringManagement>
+<GROUP StringManipulation.StringManagement>
Summary:
Resets the length of the supplied string.
Description:
@@ -976,11 +976,11 @@
S - The string whose length to reset.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrCharCount
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Counts the occurrences of a character in a string.
Description:
@@ -993,11 +993,11 @@
The number of occurrences of C in S.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Massimo Maria Ghisalberti
--------------------------------------------------------------------------------
@@StrCompare
-<GROUP Stringmanipulation.StringTestRoutines>
+<GROUP StringManipulation.StringTestRoutines>
Summary:
Compares two strings.
Description:
@@ -1026,11 +1026,11 @@
in case of a mismatch.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@StrCompareRange
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Description
StrCompareRange compares, case-sensitive, a sub-string from the
@@ -1059,7 +1059,7 @@
QuickInfo
Unit: JclStrings
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
@@ -1067,7 +1067,7 @@
StrCompare
--------------------------------------------------------------------------------
@@StrFillChar
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Creates a string consisting of the specified character repeated Count times.
Description:
@@ -1080,11 +1080,11 @@
A string consisting of the specified character repeated Count times.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrFind
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Returns the index of the first character in a specified sub-string that occurs in a given string.
Description:
@@ -1101,11 +1101,11 @@
StrSearch
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@StrHasPrefix
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Returns whether a string is prefixed by one of the supplied strings.
Description:
@@ -1123,11 +1123,11 @@
StrPrefixIndex
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrIndex
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Returns the index of a string in an array of strings.
Description:
@@ -1152,11 +1152,11 @@
current locale (ie it uses AnsiSameText).
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrILastPos
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Returns the index of the last occurrence of SubStr in S.
Description:
@@ -1172,11 +1172,11 @@
StrLastPos
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrLastPos
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Returns the index of the last occurrence of SubStr in S.
Description:
@@ -1192,11 +1192,11 @@
StrILastPos
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StrIPos
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Returns the index of the first occurrence of SubStr in S.
Description:
@@ -1210,11 +1210,11 @@
at all the result is 0.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrIsOneOf
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Tests whether the supplied string exists in the list of strings.
Description:
@@ -1227,11 +1227,11 @@
If the string exists in the supplied list the result is True, otherwise it's False.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrNPos
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Returns the position of the N-th occurence of a sub-string within a string.
Description:
@@ -1251,11 +1251,11 @@
StrNIPos
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: JCL Team
--------------------------------------------------------------------------------
@@StrNIPos
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Returns the position of the N-th occurence of a sub-string within a string.
Description:
@@ -1275,11 +1275,11 @@
StrNPos
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: JCL Team
--------------------------------------------------------------------------------
@@StrMatch
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Returns the index of the first character in a specified sub-string that occurs in a given string.
Description:
@@ -1301,11 +1301,11 @@
StrSearch
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@StrPrefixIndex
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Returns the index at which a string appears which is used as a prefix.
Description:
@@ -1323,11 +1323,11 @@
the result is -1.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrSearch
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Returns the index of the first character in a specified sub-string that occurs in a given string.
Description:
@@ -1344,11 +1344,11 @@
StrFind
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@StrAfter
-<GROUP Stringmanipulation.StringExtraction>
+<GROUP StringManipulation.StringExtraction>
Summary:
Returns the portion of the string after a specific sub-string.
Description:
@@ -1365,11 +1365,11 @@
StrBefore
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrBefore
-<GROUP Stringmanipulation.StringExtraction>
+<GROUP StringManipulation.StringExtraction>
Summary:
Returns the portion of the string before a specific sub-string.
Description:
@@ -1386,11 +1386,11 @@
StrAfter
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrBetween
-<GROUP Stringmanipulation.StringExtraction>
+<GROUP StringManipulation.StringExtraction>
Summary:
Returns the sub-string between the first occurences of Start and Stop.
Description:
@@ -1412,11 +1412,11 @@
appear in the sources string.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrChopRight
-<GROUP Stringmanipulation.StringExtraction>
+<GROUP StringManipulation.StringExtraction>
Summary:
Removes the last N characters from the string.
Description:
@@ -1430,11 +1430,11 @@
the string length, the result is an empty string.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrLeft
-<GROUP Stringmanipulation.StringExtraction>
+<GROUP StringManipulation.StringExtraction>
Summary:
Returns the Count leftmost characters from the string.
Description:
@@ -1450,11 +1450,11 @@
StrRight
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrMid
-<GROUP Stringmanipulation.StringExtraction>
+<GROUP StringManipulation.StringExtraction>
Summary:
Copies part of a string.
Description:
@@ -1469,11 +1469,11 @@
The string copied from S starting at offset Start and with length Count.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: John C Molyneux
--------------------------------------------------------------------------------
@@StrRestOf
-<GROUP Stringmanipulation.StringExtraction>
+<GROUP StringManipulation.StringExtraction>
Summary:
Returns the remainder of a string starting at the specified index.
Description:
@@ -1486,11 +1486,11 @@
The remainder of the string starting at the specified index.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrRight
-<GROUP Stringmanipulation.StringExtraction>
+<GROUP StringManipulation.StringExtraction>
Summary:
Returns the Count rightmost characters from the string.
Description:
@@ -1506,11 +1506,11 @@
StrLeft
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@CharEqualNoCase
-<GROUP Stringmanipulation.CharacterTestRoutines>
+<GROUP StringManipulation.CharacterTestRoutines>
Summary:
Test whether two characters are equal except possibly for case.
Description:
@@ -1524,11 +1524,11 @@
the result is False.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@CharIsAlpha
-<GROUP Stringmanipulation.CharacterTestRoutines>
+<GROUP StringManipulation.CharacterTestRoutines>
Summary:
Tests whether C is an alpha character.
Description:
@@ -1544,11 +1544,11 @@
CharIsAlphaNum
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@CharIsAlphaNum
-<GROUP Stringmanipulation.CharacterTestRoutines>
+<GROUP StringManipulation.CharacterTestRoutines>
Summary:
Test whether C is an alphanumeric character.
Description:
@@ -1564,11 +1564,11 @@
CharIsDigit
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@CharIsBlank
-<GROUP Stringmanipulation.CharacterTestRoutines>
+<GROUP StringManipulation.CharacterTestRoutines>
Summary:
Test whether C is a blank character.
Description:
@@ -1579,11 +1579,11 @@
If C is a blank character the return value is True, otherwise the return value is False.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@CharIsControl
-<GROUP Stringmanipulation.CharacterTestRoutines>
+<GROUP StringManipulation.CharacterTestRoutines>
Summary:
Tests whether C is a control character.
Description:
@@ -1595,11 +1595,11 @@
If C is a control character the result is True, otherwise the result is False.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@CharIsDelete
-<GROUP Stringmanipulation.CharacterTestRoutines>
+<GROUP StringManipulation.CharacterTestRoutines>
Summary:
Tests whether C is a delete character.
Description:
@@ -1611,11 +1611,11 @@
If C is a delete character the result is True, otherwise the result is False.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@CharIsDigit
-<GROUP Stringmanipulation.CharacterTestRoutines>
+<GROUP StringManipulation.CharacterTestRoutines>
Summary:
Test whether C is a digit.
Description:
@@ -1631,11 +1631,11 @@
CharIsAlphaNum
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@CharIsLower
-<GROUP Stringmanipulation.CharacterTestRoutines>
+<GROUP StringManipulation.CharacterTestRoutines>
Summary:
Tests whether a character is lowercase.
Description:
@@ -1646,11 +1646,11 @@
If C is lowercase the return value is True, otherwise the return value is False.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@CharIsNumberChar
-<GROUP Stringmanipulation.CharacterTestRoutines>
+<GROUP StringManipulation.CharacterTestRoutines>
Summary:
Tests whether C is a number.
Description:
@@ -1667,14 +1667,14 @@
CharIsDigit
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
Windows NT/2000: Requires Windows NT 4 or later.
Windows 95/98: Requires Windows 95 or later.
Requirements: Shell32 Version 4.00 or later.
--------------------------------------------------------------------------------
@@CharIsPrintable
-<GROUP Stringmanipulation.CharacterTestRoutines>
+<GROUP StringManipulation.CharacterTestRoutines>
Description
CharIsPrintable returns whether the specified character is
@@ -1694,11 +1694,11 @@
QuickInfo
Unit: JclStrings
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@CharIsPunctuation
-<GROUP Stringmanipulation.CharacterTestRoutines>
+<GROUP StringManipulation.CharacterTestRoutines>
Summary:
Tests whether a character is a punctuation character.
Description:
@@ -1711,11 +1711,11 @@
value is False.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@CharIsReturn
-<GROUP Stringmanipulation.CharacterTestRoutines>
+<GROUP StringManipulation.CharacterTestRoutines>
Summary:
Tests whether C is a return character.
Description:
@@ -1728,11 +1728,11 @@
If C is a return character the result is True, otherwise the result is False.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@CharIsSpace
-<GROUP Stringmanipulation.CharacterTestRoutines>
+<GROUP StringManipulation.CharacterTestRoutines>
Description
CharIsSpace returns whether or not the C character represents
@@ -1752,13 +1752,13 @@
QuickInfo
Unit: JclStrings
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
See Also
CharIsWhiteSpace
--------------------------------------------------------------------------------
@@CharIsUpper
-<GROUP Stringmanipulation.CharacterTestRoutines>
+<GROUP StringManipulation.CharacterTestRoutines>
Summary:
Tests whether a character is uppercase.
Description:
@@ -1769,11 +1769,11 @@
If C is uppercase the return value is True, otherwise the return value is False.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@CharIsWhiteSpace
-<GROUP Stringmanipulation.CharacterTestRoutines>
+<GROUP StringManipulation.CharacterTestRoutines>
Summary:
Tests whether C represents space.
Description:
@@ -1789,11 +1789,11 @@
CharIsSpace
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@CharType
-<GROUP Stringmanipulation.CharacterTestRoutines>
+<GROUP StringManipulation.CharacterTestRoutines>
Summary:
Returns character type information.
Description:
@@ -1823,11 +1823,11 @@
In a future Linux version the values may differ.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@CharHex
-<GROUP Stringmanipulation.CharacterTransformationRoutines>
+<GROUP StringManipulation.CharacterTransformationRoutines>
Summary:
Converts a hex digit character to its binary value.
Description:
@@ -1839,11 +1839,11 @@
The binary value of the hex digit or $ff if it was no hex digit.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@CharLower
-<GROUP Stringmanipulation.CharacterTransformationRoutines>
+<GROUP StringManipulation.CharacterTransformationRoutines>
Summary:
Lowercases a character.
Description:
@@ -1858,11 +1858,11 @@
CharToggleCase
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@CharUpper
-<GROUP Stringmanipulation.CharacterTransformationRoutines>
+<GROUP StringManipulation.CharacterTransformationRoutines>
Summary:
Uppercases a character.
Description:
@@ -1877,11 +1877,11 @@
CharToggleCase
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@CharToggleCase
-<GROUP Stringmanipulation.CharacterTransformationRoutines>
+<GROUP StringManipulation.CharacterTransformationRoutines>
Summary:
Reverses the case of a character.
Description:
@@ -1894,11 +1894,11 @@
Copy of the character with the case reversed.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@CharPos
-<GROUP Stringmanipulation.CharacterSearchandReplace>
+<GROUP StringManipulation.CharacterSearchandReplace>
Summary:
Finds the position of a character in a string.
Description:
@@ -1912,11 +1912,11 @@
The 1-based index of the first occurrence found, or 0 if the character was not found.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@CharIPos
-<GROUP Stringmanipulation.CharacterSearchandReplace>
+<GROUP StringManipulation.CharacterSearchandReplace>
Summary:
Finds the position of a character in a string.
Description:
@@ -1930,11 +1930,11 @@
The 1-based index of the first occurrence found, or 0 if the character was not found.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@CharReplace
-<GROUP Stringmanipulation.CharacterSearchandReplace>
+<GROUP StringManipulation.CharacterSearchandReplace>
Summary:
Replaces all occurrences of a character in a string.
Description:
@@ -1949,11 +1949,11 @@
CharReplace returns the number of replacements performed.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@StringsToPCharVector
-<GROUP Stringmanipulation.PCharVector>
+<GROUP StringManipulation.PCharVector>
Summary:
Converts a stringlist into a PCharVector.
Description:
@@ -1973,11 +1973,11 @@
FreePCharVector
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@PCharVectorCount
-<GROUP Stringmanipulation.PCharVector>
+<GROUP StringManipulation.PCharVector>
Summary:
Returns the number of elements in a PCharVector.
Description:
@@ -1993,11 +1993,11 @@
FreePCharVector
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@PCharVectorToStrings
-<GROUP Stringmanipulation.PCharVector>
+<GROUP StringManipulation.PCharVector>
Summary:
Converts a PCharVector to a stringlist.
Description:
@@ -2015,11 +2015,11 @@
FreePCharVector
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@FreePCharVector
-<GROUP Stringmanipulation.PCharVector>
+<GROUP StringManipulation.PCharVector>
Summary:
Frees a PCharVector
Description:
@@ -2034,11 +2034,11 @@
PCharVectorToStrings
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@StringsToMultiSz
-<GROUP Stringmanipulation.MultiSz>
+<GROUP StringManipulation.MultiSz>
Summary:
Converts a stringlist to a list of null terminated strings.
Description:
@@ -2058,11 +2058,11 @@
FreeMultiSz
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@MultiSzToStrings
-<GROUP Stringmanipulation.MultiSz>
+<GROUP StringManipulation.MultiSz>
Summary:
Converts a list of null terminated strings to a string list.
Description:
@@ -2080,11 +2080,11 @@
StringsToMultiSz
FreeMultiSz
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@FreeMultiSz
-<GROUP Stringmanipulation.MultiSz>
+<GROUP StringManipulation.MultiSz>
Summary:
Frees the memory pointed to by Dest.
Description:
@@ -2097,12 +2097,12 @@
StringsToMultiSz
MultiSzToStrings
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator:
Marcel van Brakel
--------------------------------------------------------------------------------
@@StringsToMultiString
-<GROUP Stringmanipulation.MultiSz>
+<GROUP StringManipulation.MultiSz>
Summary:
Assembles a single string from multiple strings
Description:
@@ -2120,11 +2120,11 @@
StringsToMultiSz
MultiStringToStrings
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anonymous
--------------------------------------------------------------------------------
@@StringsToMultiWideString
-<GROUP Stringmanipulation.MultiSz>
+<GROUP StringManipulation.MultiSz>
Summary:
Assembles a single string from multiple strings
Description:
@@ -2142,11 +2142,11 @@
StringsToMultiSz
MultiWideStringToStrings
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anonymous
--------------------------------------------------------------------------------
@@MultiStringToStrings
-<GROUP Stringmanipulation.MultiSz>
+<GROUP StringManipulation.MultiSz>
Summary:
Parses a string by separating into substrings whenever a NULL character is encountered.
Description:
@@ -2162,11 +2162,11 @@
MultiWideStringToStrings
StringsToMultiString
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anonymous
--------------------------------------------------------------------------------
@@MultiWideStringToStrings
-<GROUP Stringmanipulation.MultiSz>
+<GROUP StringManipulation.MultiSz>
Summary:
Parses a string by separating into substrings whenever a NULL character is encountered.
Description:
@@ -2182,11 +2182,11 @@
MultiStringToStrings
StringsToMultiWideString
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anonymous
--------------------------------------------------------------------------------
@@StrToStrings
-<GROUP Stringmanipulation.TStringsManipulation>
+<GROUP StringManipulation.TStringsManipulation>
Description
StrToStrings converts the supplied string, which supposedly is
@@ -2217,14 +2217,14 @@
QuickInfo
Unit: JclStrings
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
See Also
StringsToStr
@@StringsToStr
-<GROUP Stringmanipulation.TStringsManipulation>
+<GROUP StringManipulation.TStringsManipulation>
Summary:
Converts a stringlist to a single string.
Description:
@@ -2238,11 +2238,11 @@
StrToStrings
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Marcel van Brakel
--------------------------------------------------------------------------------
@@TrimStrings
-<GROUP Stringmanipulation.TStringsManipulation>
+<GROUP StringManipulation.TStringsManipulation>
Summary:
Trims all strings in a string list.
Description:
@@ -2258,11 +2258,11 @@
TrimStringsLeft
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@TrimStringsRight
-<GROUP Stringmanipulation.TStringsManipulation>
+<GROUP StringManipulation.TStringsManipulation>
Summary:
Right trims all strings in a stringlist.
Description:
@@ -2278,11 +2278,11 @@
TrimStringsLeft
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@TrimStringsLeft
-<GROUP Stringmanipulation.TStringsManipulation>
+<GROUP StringManipulation.TStringsManipulation>
Summary:
Left trims all strings in a stringlist.
Description:
@@ -2298,11 +2298,11 @@
TrimStringsRight
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrTokenToStrings
-<GROUP Stringmanipulation.Miscellaneous>
+<GROUP StringManipulation.Miscellaneous>
Summary:
Breaks apart S using a specified delimiter into a StringList.
Description:
@@ -2319,11 +2319,11 @@
StrToken
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Huanlin Tsai
--------------------------------------------------------------------------------
@@StrToken
-<GROUP Stringmanipulation.Miscellaneous>
+<GROUP StringManipulation.Miscellaneous>
Summary:
Returns a sub-string from S which is followed by Separator and deletes the sub-string from S including the separator.
Description:
@@ -2344,11 +2344,11 @@
StrTokenToStrings
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Huanlin Tsai
--------------------------------------------------------------------------------
@@StrTokens
-<GROUP Stringmanipulation.Miscellaneous>
+<GROUP StringManipulation.Miscellaneous>
Summary:
Description:
Parameters:
@@ -2357,22 +2357,22 @@
Result:
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@StrWord
-<GROUP Stringmanipulation.Miscellaneous>
+<GROUP StringManipulation.Miscellaneous>
Summary:
Description:
Parameters:
Result:
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Azret Botash
--------------------------------------------------------------------------------
@@FileToString
-<GROUP Stringmanipulation.Miscellaneous>
+<GROUP StringManipulation.Miscellaneous>
Summary:
Reads the contents of a file into a string.
Description:
@@ -2391,11 +2391,11 @@
StringToFile
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StringToFile
-<GROUP Stringmanipulation.Miscellaneous>
+<GROUP StringManipulation.Miscellaneous>
Summary:
Writes a string to a file.
Description:
@@ -2409,11 +2409,11 @@
FileToString
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Anthony Steele
--------------------------------------------------------------------------------
@@StrRepeatLength@AnsiString@Integer
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Repeats a string until a specified length L has been reached.
Description:
@@ -2429,11 +2429,11 @@
the length of the string is exactly L.
QuickInfo:
- Category: String manipulation
+ Category: String Manipulation
Donator: Unknown
--------------------------------------------------------------------------------
@@StrCharPosLower@AnsiString@Integer
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Lowercases a character within a string.
Description:
@@ -2444,11 +2444,11 @@
CharPos - The position of the character within the string to convert.
QuickInfo:
- Category: String manipulation
+ Category: String Manipulation
Donator: Jean-Fabien Connault
--------------------------------------------------------------------------------
@@StrCharPosUpper@AnsiString@Integer
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Uppercases a character within a string.
Description:
@@ -2459,11 +2459,11 @@
CharPos - The position of the character within the string to convert.
QuickInfo:
- Category: String manipulation
+ Category: String Manipulation
Donator: Jean-Fabien Connault
--------------------------------------------------------------------------------
@@StrTrimCharsLeft
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Removes characters from the left side of supplied string.
Description:
@@ -2474,11 +2474,11 @@
Result:
The trimmed string.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Leonard Wennekers
--------------------------------------------------------------------------------
@@StrTrimCharsRight
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Removes characters from the right side of supplied string.
Description:
@@ -2489,11 +2489,11 @@
Result:
The trimmed string.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Leonard Wennekers
--------------------------------------------------------------------------------
@@AnsiSameText
-<GROUP Stringmanipulation.Miscellaneous>
+<GROUP StringManipulation.Miscellaneous>
Summary:
AnsiSameText compares two strings.
Description:
@@ -2510,7 +2510,7 @@
Donator: JCL Team
--------------------------------------------------------------------------------
@@StrAnsiToOem
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Translates an ANSI string into a string using the OEM character set.
Description:
@@ -2521,11 +2521,11 @@
Result:
The translated string.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Unknown
--------------------------------------------------------------------------------
@@StrOemToAnsi
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Translates an OEM string into an ansi string.
Description:
@@ -2536,11 +2536,11 @@
Result:
The translated string.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Unknown
--------------------------------------------------------------------------------
@@StrCharsCount
-<GROUP Stringmanipulation.StringTransformationRoutines>
+<GROUP StringManipulation.StringTransformationRoutines>
Summary:
Counts the occurrences of characters in a string.
Description:
@@ -2553,11 +2553,11 @@
The number of occurrences of Chars in S.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Unknown
--------------------------------------------------------------------------------
@@StrKeepChars
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Keeps all occurences of specified characters within a string and removes the
others.
@@ -2572,11 +2572,11 @@
Result:
A string containing only characters which are within Chars.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Unknown
--------------------------------------------------------------------------------
@@StrReplace
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
StrReplace replaces one or all occurrences of the specified search pattern with the supplied replace
string.
@@ -2600,7 +2600,7 @@
Robert Rossmair
--------------------------------------------------------------------------------
@@StrReplaceChar
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Replaces all occurrences of a character with another character
Description:
@@ -2613,11 +2613,11 @@
Result:
The string with all replacements performed.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Unknown
--------------------------------------------------------------------------------
@@StrReplaceChars
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Replaces all occurrences of one or more characters with another character.
Description:
@@ -2630,11 +2630,11 @@
Result
The string with all replacements performed.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Unknown
--------------------------------------------------------------------------------
@@StrReplaceButChars
-<GROUP Stringmanipulation.StringSearchandReplaceRoutines>
+<GROUP StringManipulation.StringSearchandReplaceRoutines>
Summary:
Replaces all occurrences of one or more characters with another character.
Description:
@@ -2647,11 +2647,11 @@
Result:
The string with all replacements performed.
Quick info:
- Category: String manipulation
+ Category: String Manipulation
Donator: Unknown
--------------------------------------------------------------------------------
@@StrMatches
-<GROUP Stringmanipulation.StringTestRoutines>
+<GROUP StringManipulation.StringTestRout...
[truncated message content] |
|
From: <usc...@us...> - 2007-06-23 12:42:20
|
Revision: 2052
http://svn.sourceforge.net/jcl/?rev=2052&view=rev
Author: uschuster
Date: 2007-06-23 05:42:17 -0700 (Sat, 23 Jun 2007)
Log Message:
-----------
fixed RAD Studio detection
Modified Paths:
--------------
trunk/jcl/source/common/JclBorlandTools.pas
trunk/jcl/source/common/JclResources.pas
Modified: trunk/jcl/source/common/JclBorlandTools.pas
===================================================================
--- trunk/jcl/source/common/JclBorlandTools.pas 2007-06-22 22:19:09 UTC (rev 2051)
+++ trunk/jcl/source/common/JclBorlandTools.pas 2007-06-23 12:42:17 UTC (rev 2052)
@@ -994,7 +994,7 @@
CLRVersionResId: 9500;
Supported: True),
(
- Name: RsDelphiName;
+ Name: RsRSName;
VersionStr: '2007';
Version: 11;
CoreIdeVersion: '100';
@@ -5004,13 +5004,14 @@
if IDEVersionNumber in [Low(BDSVersions)..High(BDSVersions)] then
begin
Result := BDSVersions[IDEVersionNumber].Name;
- // IDE Version 5 comes in two flavors:
+ // IDE Version 5 comes in three flavors:
// - Delphi only (Spacely)
- // - C++ Builder only (Cogswell)
- // In the second case the product name is "C++ Builder" and not "Delphi"
- // Right now, the name of an installation of Cogswell on top of Spacely
- // is not yet known and a way to detect it will have to be thought of.
- if (IDEVersionNumber = 5) and (bpBCBuilder32 in Personalities) then
+ // - C++Builder only (Cogswell)
+ // - Delphi and C++Builder
+ if (IDEVersionNumber = 5) and (Personalities = [bpDelphi32]) then
+ Result := RsDelphiName
+ else
+ if (IDEVersionNumber = 5) and (Personalities = [bpBCBuilder32]) then
Result := RsBCBName;
end
else
Modified: trunk/jcl/source/common/JclResources.pas
===================================================================
--- trunk/jcl/source/common/JclResources.pas 2007-06-22 22:19:09 UTC (rev 2051)
+++ trunk/jcl/source/common/JclResources.pas 2007-06-23 12:42:17 UTC (rev 2052)
@@ -74,6 +74,7 @@
RsBCBName = 'C++Builder';
RsCSharpName = 'C#Builder';
RsBDSName = 'Borland Developer Studio';
+ RsRSName = 'RAD Studio';
{$IFDEF KYLIX}
RsKylixName = 'Kylix for %s';
RsKylixVersionName = 'Kylix %d for %s';
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-06-20 18:57:15
|
Revision: 2050
http://svn.sourceforge.net/jcl/?rev=2050&view=rev
Author: outchy
Date: 2007-06-20 11:57:14 -0700 (Wed, 20 Jun 2007)
Log Message:
-----------
Useless file: Delphi 2007 is MsBuild only, JclPackagesD110.groupproj has to be used.
Removed Paths:
-------------
trunk/jcl/packages/JclPackagesD110.bdsgroup
Deleted: trunk/jcl/packages/JclPackagesD110.bdsgroup
===================================================================
--- trunk/jcl/packages/JclPackagesD110.bdsgroup 2007-06-20 18:37:01 UTC (rev 2049)
+++ trunk/jcl/packages/JclPackagesD110.bdsgroup 2007-06-20 18:57:14 UTC (rev 2050)
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<BorlandProject>
- <PersonalityInfo>
- <Option>
- <Option Name="Personality">Default.Personality</Option>
- <Option Name="ProjectType"></Option>
- <Option Name="Version">1.0</Option>
- <Option Name="GUID">{E7B4DBC9-B036-40B2-88E6-984F5D7843B1}</Option>
- </Option>
- </PersonalityInfo>
- <Default.Personality> <Projects>
- <Projects Name="Jcl110.bpl">d11\Jcl.dproj</Projects>
- <Projects Name="JclVcl110.bpl">d11\JclVcl.dproj</Projects>
- <Projects Name="JclBaseExpert110.bpl">d11\JclBaseExpert.dproj</Projects>
- <Projects Name="JclDebugExpert110.bpl">d11\JclDebugExpert.dproj</Projects>
- <Projects Name="JclFavoriteFoldersExpert110.bpl">d11\JclFavoriteFoldersExpert.dproj</Projects>
- <Projects Name="JclProjectAnalysisExpert110.bpl">d11\JclProjectAnalysisExpert.dproj</Projects>
- <Projects Name="JclRepositoryExpert110.bpl">d11\JclRepositoryExpert.dproj</Projects>
- <Projects Name="JclVersionControlExpert110.bpl">d11\JclVersionControlExpert.dproj</Projects>
- <Projects Name="Targets">Jcl110.bpl JclVcl110.bpl JclBaseExpert110.bpl JclDebugExpert110.bpl JclFavoriteFoldersExpert110.bpl JclProjectAnalysisExpert110.bpl JclRepositoryExpert110.bpl JclVersionControlExpert110.bpl</Projects>
- </Projects>
- <Dependencies/>
- </Default.Personality>
-</BorlandProject>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-06-20 18:37:10
|
Revision: 2049
http://svn.sourceforge.net/jcl/?rev=2049&view=rev
Author: outchy
Date: 2007-06-20 11:37:01 -0700 (Wed, 20 Jun 2007)
Log Message:
-----------
Introducing new project-wide properties: major version number, minor version number, release flag, build number
Binary of package generator from JVCL 11360
Modified Paths:
--------------
trunk/jcl/devtools/pgEdit.exe
trunk/jcl/devtools/pgEdit.xml
trunk/jcl/packages/xml/Jcl-L.xml
trunk/jcl/packages/xml/Jcl-R.xml
trunk/jcl/packages/xml/JclBaseExpert-D.xml
trunk/jcl/packages/xml/JclDebugExpert-D.xml
trunk/jcl/packages/xml/JclDebugExpertDLL-L.xml
trunk/jcl/packages/xml/JclFavoriteFoldersExpert-D.xml
trunk/jcl/packages/xml/JclFavoriteFoldersExpertDLL-L.xml
trunk/jcl/packages/xml/JclProjectAnalysisExpert-D.xml
trunk/jcl/packages/xml/JclProjectAnalysisExpertDLL-L.xml
trunk/jcl/packages/xml/JclRepositoryExpert-D.xml
trunk/jcl/packages/xml/JclRepositoryExpertDLL-L.xml
trunk/jcl/packages/xml/JclSIMDViewExpert-D.xml
trunk/jcl/packages/xml/JclSIMDViewExpertDLL-L.xml
trunk/jcl/packages/xml/JclThreadNameExpert-D.xml
trunk/jcl/packages/xml/JclThreadNameExpertDLL-L.xml
trunk/jcl/packages/xml/JclUsesExpert-D.xml
trunk/jcl/packages/xml/JclUsesExpertDLL-L.xml
trunk/jcl/packages/xml/JclVClx-R.xml
trunk/jcl/packages/xml/JclVcl-R.xml
trunk/jcl/packages/xml/JclVersionControlExpert-D.xml
trunk/jcl/packages/xml/JclVersionControlExpertDLL-L.xml
Modified: trunk/jcl/devtools/pgEdit.exe
===================================================================
(Binary files differ)
Modified: trunk/jcl/devtools/pgEdit.xml
===================================================================
--- trunk/jcl/devtools/pgEdit.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/devtools/pgEdit.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -133,6 +133,12 @@
<alias name="Bds" value="cs1,d8,d9,d10,d11"/>
<alias name="JclDotNet" value="d9.net,d10.net"/>
</aliases>
+ <ProjectProperties>
+ <ProjectProperty name="VersionMajorNumber" value="1"/>
+ <ProjectProperty name="VersionMinorNumber" value="101"/>
+ <ProjectProperty name="ReleaseNumber" value="0"/>
+ <ProjectProperty name="BuildNumber" value="2647"/>
+ </ProjectProperties>
</Model>
</models>
</Configuration>
Modified: trunk/jcl/packages/xml/Jcl-L.xml
===================================================================
--- trunk/jcl/packages/xml/Jcl-L.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/Jcl-L.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>48000000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="System.Reflection" Targets="JclDotNet" Condition=""/>
<Package Name="System.Runtime.InteropServices" Targets="JclDotNet" Condition=""/>
Modified: trunk/jcl/packages/xml/Jcl-R.xml
===================================================================
--- trunk/jcl/packages/xml/Jcl-R.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/Jcl-R.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>48000000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="allLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
Modified: trunk/jcl/packages/xml/JclBaseExpert-D.xml
===================================================================
--- trunk/jcl/packages/xml/JclBaseExpert-D.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclBaseExpert-D.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>58000000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
Modified: trunk/jcl/packages/xml/JclDebugExpert-D.xml
===================================================================
--- trunk/jcl/packages/xml/JclDebugExpert-D.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclDebugExpert-D.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>58020000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
Modified: trunk/jcl/packages/xml/JclDebugExpertDLL-L.xml
===================================================================
--- trunk/jcl/packages/xml/JclDebugExpertDLL-L.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclDebugExpertDLL-L.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>58020000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
Modified: trunk/jcl/packages/xml/JclFavoriteFoldersExpert-D.xml
===================================================================
--- trunk/jcl/packages/xml/JclFavoriteFoldersExpert-D.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclFavoriteFoldersExpert-D.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>58040000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
Modified: trunk/jcl/packages/xml/JclFavoriteFoldersExpertDLL-L.xml
===================================================================
--- trunk/jcl/packages/xml/JclFavoriteFoldersExpertDLL-L.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclFavoriteFoldersExpertDLL-L.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>58040000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
Modified: trunk/jcl/packages/xml/JclProjectAnalysisExpert-D.xml
===================================================================
--- trunk/jcl/packages/xml/JclProjectAnalysisExpert-D.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclProjectAnalysisExpert-D.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>58060000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
Modified: trunk/jcl/packages/xml/JclProjectAnalysisExpertDLL-L.xml
===================================================================
--- trunk/jcl/packages/xml/JclProjectAnalysisExpertDLL-L.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclProjectAnalysisExpertDLL-L.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>58060000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
Modified: trunk/jcl/packages/xml/JclRepositoryExpert-D.xml
===================================================================
--- trunk/jcl/packages/xml/JclRepositoryExpert-D.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclRepositoryExpert-D.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>58000000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
Modified: trunk/jcl/packages/xml/JclRepositoryExpertDLL-L.xml
===================================================================
--- trunk/jcl/packages/xml/JclRepositoryExpertDLL-L.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclRepositoryExpertDLL-L.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>58000000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
Modified: trunk/jcl/packages/xml/JclSIMDViewExpert-D.xml
===================================================================
--- trunk/jcl/packages/xml/JclSIMDViewExpert-D.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclSIMDViewExpert-D.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>58080000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
Modified: trunk/jcl/packages/xml/JclSIMDViewExpertDLL-L.xml
===================================================================
--- trunk/jcl/packages/xml/JclSIMDViewExpertDLL-L.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclSIMDViewExpertDLL-L.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>58080000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
Modified: trunk/jcl/packages/xml/JclThreadNameExpert-D.xml
===================================================================
--- trunk/jcl/packages/xml/JclThreadNameExpert-D.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclThreadNameExpert-D.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>580A0000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
Modified: trunk/jcl/packages/xml/JclThreadNameExpertDLL-L.xml
===================================================================
--- trunk/jcl/packages/xml/JclThreadNameExpertDLL-L.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclThreadNameExpertDLL-L.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>580A0000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
Modified: trunk/jcl/packages/xml/JclUsesExpert-D.xml
===================================================================
--- trunk/jcl/packages/xml/JclUsesExpert-D.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclUsesExpert-D.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>580C0000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
Modified: trunk/jcl/packages/xml/JclUsesExpertDLL-L.xml
===================================================================
--- trunk/jcl/packages/xml/JclUsesExpertDLL-L.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclUsesExpertDLL-L.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>580C0000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
Modified: trunk/jcl/packages/xml/JclVClx-R.xml
===================================================================
--- trunk/jcl/packages/xml/JclVClx-R.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclVClx-R.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>48300000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="all" Condition=""/>
<Package Name="visualclx" Targets="all" Condition=""/>
Modified: trunk/jcl/packages/xml/JclVcl-R.xml
===================================================================
--- trunk/jcl/packages/xml/JclVcl-R.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclVcl-R.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>48200000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl" Targets="WinLibSuffix" Condition=""/>
Modified: trunk/jcl/packages/xml/JclVersionControlExpert-D.xml
===================================================================
--- trunk/jcl/packages/xml/JclVersionControlExpert-D.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclVersionControlExpert-D.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>580E0000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
Modified: trunk/jcl/packages/xml/JclVersionControlExpertDLL-L.xml
===================================================================
--- trunk/jcl/packages/xml/JclVersionControlExpertDLL-L.xml 2007-06-20 08:42:59 UTC (rev 2048)
+++ trunk/jcl/packages/xml/JclVersionControlExpertDLL-L.xml 2007-06-20 18:37:01 UTC (rev 2049)
@@ -7,10 +7,10 @@
<C5Libs/>
<C6Libs/>
<ImageBase>580E0000</ImageBase>
- <VersionMajorNumber>1</VersionMajorNumber>
- <VersionMinorNumber>101</VersionMinorNumber>
- <ReleaseNumber>0</ReleaseNumber>
- <BuildNumber>2647</BuildNumber>
+ <VersionMajorNumber/>
+ <VersionMinorNumber/>
+ <ReleaseNumber/>
+ <BuildNumber/>
<Requires>
<Package Name="rtl" Targets="WinLibSuffix" Condition=""/>
<Package Name="vcl50" Targets="c5,d5" Condition=""/>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-06-20 08:43:26
|
Revision: 2048
http://svn.sourceforge.net/jcl/?rev=2048&view=rev
Author: outchy
Date: 2007-06-20 01:42:59 -0700 (Wed, 20 Jun 2007)
Log Message:
-----------
Mantis 4160 Debug info cannot be read from .tds file under C++Builder 6
Modified Paths:
--------------
trunk/jcl/source/windows/JclTD32.pas
Modified: trunk/jcl/source/windows/JclTD32.pas
===================================================================
--- trunk/jcl/source/windows/JclTD32.pas 2007-06-20 08:30:37 UTC (rev 2047)
+++ trunk/jcl/source/windows/JclTD32.pas 2007-06-20 08:42:59 UTC (rev 2048)
@@ -1675,7 +1675,7 @@
TdsFileName := ChangeFileExt(FileName, TurboDebuggerSymbolExt);
if FileExists(TdsFileName) then
begin
- TempStream := TJclFileMappingStream.Create(TdsFileName);
+ TempStream := TJclFileMappingStream.Create(TdsFileName, fmOpenRead or fmShareDenyNone);
try
Result := TJclTD32InfoParser.IsTD32DebugInfoValid(TempStream.Memory, TempStream.Size);
if Result then
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-06-20 08:30:42
|
Revision: 2047
http://svn.sourceforge.net/jcl/?rev=2047&view=rev
Author: outchy
Date: 2007-06-20 01:30:37 -0700 (Wed, 20 Jun 2007)
Log Message:
-----------
Eliminating warning about inline failure.
Modified Paths:
--------------
trunk/jcl/source/common/JclExprEval.pas
Modified: trunk/jcl/source/common/JclExprEval.pas
===================================================================
--- trunk/jcl/source/common/JclExprEval.pas 2007-06-20 08:11:51 UTC (rev 2046)
+++ trunk/jcl/source/common/JclExprEval.pas 2007-06-20 08:30:37 UTC (rev 2047)
@@ -903,8 +903,10 @@
implementation
+{$IFDEF MSWINDOWS}
uses
- JclAnsiStrings;
+ Windows; // inline of AnsiSameText
+{$ENDIF MSWINDOWS}
//=== { TExprHashContext } ===================================================
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-06-20 08:11:54
|
Revision: 2046
http://svn.sourceforge.net/jcl/?rev=2046&view=rev
Author: outchy
Date: 2007-06-20 01:11:51 -0700 (Wed, 20 Jun 2007)
Log Message:
-----------
Mantis 4068 add operators to JclExprEval
Reworking comparisons in compiled mode (speeding up and reducing number of instructions)
Reworking operator level to be pascal-like
Modified Paths:
--------------
trunk/jcl/source/common/JclExprEval.pas
Modified: trunk/jcl/source/common/JclExprEval.pas
===================================================================
--- trunk/jcl/source/common/JclExprEval.pas 2007-06-18 18:34:54 UTC (rev 2045)
+++ trunk/jcl/source/common/JclExprEval.pas 2007-06-20 08:11:51 UTC (rev 2046)
@@ -32,6 +32,20 @@
// Last modified: $Date$
+// operator priority (as implemented in this unit)
+// all binary operators are associated from left to right
+// all unary operators are associated from right to left
+
+// (highest) not bnot(bitwise) +(unary) -(unary) (level 3)
+// * / div mod and band(bitwise) shl shr (level 2)
+// +(binary) -(binary) or xor bor(bitwise) bxor(bitwise) (level 1)
+// (lowest) < <= > >= cmp = <> (level 0)
+
+// details on cmp operator:
+// "1.5 cmp 2.0" returns -1.0 because 1.5 < 2.0
+// "1.5 cmp 1.5" returns 0.0 because 1.5 = 1.5
+// "1.5 cmp 0.0" returns 1.0 because 1.5 > 0.0
+
unit JclExprEval;
{$I jcl.inc}
@@ -401,10 +415,29 @@
function Subtract(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
function Multiply(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
function Divide(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
+ function IntegerDivide(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
+ function Modulo(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
function Negate(AValue: TExprNode): TExprNode; virtual; abstract;
function Compare(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
+ function CompareEqual(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
+ function CompareNotEqual(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
+ function CompareLess(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
+ function CompareLessEqual(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
+ function CompareGreater(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
+ function CompareGreaterEqual(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
+ function LogicalAnd(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
+ function LogicalOr(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
+ function LogicalXor(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
+ function LogicalNot(AValue: TExprNode): TExprNode; virtual; abstract;
+ function BitwiseAnd(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
+ function BitwiseOr(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
+ function BitwiseXor(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
+ function BitwiseNot(AValue: TExprNode): TExprNode; virtual; abstract;
+ function ShiftLeft(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
+ function ShiftRight(ALeft, ARight: TExprNode): TExprNode; virtual; abstract;
+
function LoadVar(ALoc: PFloat32): TExprNode; overload;
function LoadVar(ALoc: PFloat64): TExprNode; overload;
function LoadVar(ALoc: PFloat80): TExprNode; overload;
@@ -418,42 +451,38 @@
FContext: TExprContext;
FLexer: TExprLexer;
FNodeFactory: TExprNodeFactory;
+ protected
+ function CompileExprLevel0(ASkip: Boolean): TExprNode; virtual;
+ function CompileExprLevel1(ASkip: Boolean): TExprNode; virtual;
+ function CompileExprLevel2(ASkip: Boolean): TExprNode; virtual;
+ function CompileExprLevel3(ASkip: Boolean): TExprNode; virtual;
+ function CompileFactor: TExprNode; virtual;
+ function CompileIdentFactor: TExprNode; virtual;
public
constructor Create(ALexer: TExprLexer; ANodeFactory: TExprNodeFactory);
function Compile: TExprNode; virtual;
property Lexer: TExprLexer read FLexer;
property NodeFactory: TExprNodeFactory read FNodeFactory;
property Context: TExprContext read FContext write FContext;
-
- // grammar starts here
-
- function CompileExpr(ASkip: Boolean): TExprNode; virtual;
- function CompileSimpleExpr(ASkip: Boolean): TExprNode;
- function CompileTerm(ASkip: Boolean): TExprNode;
- function CompileSignedFactor(ASkip: Boolean): TExprNode;
- function CompileFactor: TExprNode;
- function CompileIdentFactor: TExprNode;
end;
TExprEvalParser = class(TObject)
private
FContext: TExprContext;
FLexer: TExprLexer;
+ protected
+ function EvalExprLevel0(ASkip: Boolean): TFloat; virtual;
+ function EvalExprLevel1(ASkip: Boolean): TFloat; virtual;
+ function EvalExprLevel2(ASkip: Boolean): TFloat; virtual;
+ function EvalExprLevel3(ASkip: Boolean): TFloat; virtual;
+ function EvalFactor: TFloat; virtual;
+ function EvalIdentFactor: TFloat; virtual;
public
constructor Create(ALexer: TExprLexer);
function Evaluate: TFloat; virtual;
property Lexer: TExprLexer read FLexer;
property Context: TExprContext read FContext write FContext;
-
- // grammar starts here
-
- function EvalExpr(ASkip: Boolean): TFloat; virtual;
- function EvalSimpleExpr(ASkip: Boolean): TFloat;
- function EvalTerm(ASkip: Boolean): TFloat;
- function EvalSignedFactor(ASkip: Boolean): TFloat;
- function EvalFactor: TFloat;
- function EvalIdentFactor: TFloat;
end;
{ some concrete class descendants follow... }
@@ -536,8 +565,28 @@
function Subtract(ALeft, ARight: TExprNode): TExprNode; override;
function Multiply(ALeft, ARight: TExprNode): TExprNode; override;
function Divide(ALeft, ARight: TExprNode): TExprNode; override;
+ function IntegerDivide(ALeft, ARight: TExprNode): TExprNode; override;
+ function Modulo(ALeft, ARight: TExprNode): TExprNode; override;
function Negate(AValue: TExprNode): TExprNode; override;
+
function Compare(ALeft, ARight: TExprNode): TExprNode; override;
+ function CompareEqual(ALeft, ARight: TExprNode): TExprNode; override;
+ function CompareNotEqual(ALeft, ARight: TExprNode): TExprNode; override;
+ function CompareLess(ALeft, ARight: TExprNode): TExprNode; override;
+ function CompareLessEqual(ALeft, ARight: TExprNode): TExprNode; override;
+ function CompareGreater(ALeft, ARight: TExprNode): TExprNode; override;
+ function CompareGreaterEqual(ALeft, ARight: TExprNode): TExprNode; override;
+
+ function LogicalAnd(ALeft, ARight: TExprNode): TExprNode; override;
+ function LogicalOr(ALeft, ARight: TExprNode): TExprNode; override;
+ function LogicalXor(ALeft, ARight: TExprNode): TExprNode; override;
+ function LogicalNot(AValue: TExprNode): TExprNode; override;
+ function BitwiseAnd(ALeft, ARight: TExprNode): TExprNode; override;
+ function BitwiseOr(ALeft, ARight: TExprNode): TExprNode; override;
+ function BitwiseXor(ALeft, ARight: TExprNode): TExprNode; override;
+ function BitwiseNot(AValue: TExprNode): TExprNode; override;
+ function ShiftLeft(ALeft, ARight: TExprNode): TExprNode; override;
+ function ShiftRight(ALeft, ARight: TExprNode): TExprNode; override;
end;
{ some concrete symbols }
@@ -854,6 +903,9 @@
implementation
+uses
+ JclAnsiStrings;
+
//=== { TExprHashContext } ===================================================
constructor TExprHashContext.Create(ACaseSensitive: Boolean; AHashSize: Integer);
@@ -985,12 +1037,12 @@
function TExprCompileParser.Compile: TExprNode;
begin
- Result := CompileExpr(False);
+ Result := CompileExprLevel0(False);
end;
-function TExprCompileParser.CompileExpr(ASkip: Boolean): TExprNode;
+function TExprCompileParser.CompileExprLevel0(ASkip: Boolean): TExprNode;
begin
- Result := CompileSimpleExpr(ASkip);
+ Result := CompileExprLevel1(ASkip);
{ Utilize some of these compound instructions to test DAG optimization
techniques later on.
@@ -1000,194 +1052,131 @@
while True do
case Lexer.CurrTok of
etEqualTo: // =
- begin
- // need to return 1 if true, 0 if false
- // compare will return 0 if true, -1 / +1 if false
- // squaring will force a positive or zero value
- // subtract value from 1 to get answer
- // IOW: 1 - Sqr(Compare(X, Y))
-
- // first, get comparison
- Result := NodeFactory.Compare(Result, CompileSimpleExpr(True));
-
- // next, square comparison - note that this
- // forces a common sub-expression; parse tree will no longer
- // be a tree, but a DAG
- Result := NodeFactory.Multiply(Result, Result);
-
- // finally, subtract from one
- Result := NodeFactory.Subtract(
- NodeFactory.LoadConst32(1),
- Result
- );
- end;
-
+ Result := NodeFactory.CompareEqual(Result, CompileExprLevel1(True));
etNotEqual: // <>
- begin
- // same as above, but without the subtract
- Result := NodeFactory.Compare(Result, CompileSimpleExpr(True));
- Result := NodeFactory.Multiply(Result, Result);
- end;
-
+ Result := NodeFactory.CompareNotEqual(Result, CompileExprLevel1(True));
etLessThan: // <
- begin
- // have 1 for less than, 0 for equal, 0 for greater than too
- // c = compare(X, Y)
- // d = c * c
- // if less than, d = 1, c = -1; d - c = 2
- // if greater than, d = c = 1; d - c = 0
- // if equal, d = c = 0; d - c = 0
- // IOW: (Sqr(compare(X, Y)) - compare(X, Y)) / 2
-
- // get comparison
- Result := NodeFactory.Compare(Result, CompileSimpleExpr(True));
- // subtract from square
- Result := NodeFactory.Subtract(
- NodeFactory.Multiply(
- Result,
- Result
- ),
- Result
- );
- // divide by two
- Result := NodeFactory.Divide(Result, NodeFactory.LoadConst32(2));
- end;
-
+ Result := NodeFactory.CompareLess(Result, CompileExprLevel1(True));
etLessEqual: // <=
- begin
- // less than or equal to return 1, greater than returns 0
- // c = compare(X, Y)
- // d = c * c
- // < c = -1, d = 1, c + d = 0
- // = c = 0, d = 0, c + d = 0
- // > c = +1, d = 1, c + d = 2
- // then divide by two, take away from 1
- // IOW: 1 - (compare(X, Y) + Sqr(compare(X, Y))) / 2
- Result := NodeFactory.Compare(Result, CompileSimpleExpr(True));
- // now, for some fun!
- Result := NodeFactory.Subtract(
- NodeFactory.LoadConst32(1),
- NodeFactory.Divide(
- NodeFactory.Add(
- Result,
- NodeFactory.Multiply(
- Result,
- Result
- )
- ),
- NodeFactory.LoadConst32(2)
- )
- );
- end;
-
+ Result := NodeFactory.CompareLessEqual(Result, CompileExprLevel1(True));
etGreaterThan: // >
- begin
- // same as <=, without the taking away from 1 bit
- Result := NodeFactory.Compare(Result, CompileSimpleExpr(True));
- Result := NodeFactory.Divide(
- NodeFactory.Add(
- Result,
- NodeFactory.Multiply(
- Result,
- Result
- )
- ),
- NodeFactory.LoadConst32(2)
- );
- end;
-
+ Result := NodeFactory.CompareGreater(Result, CompileExprLevel1(True));
etGreaterEqual: // >=
- begin
- // same as less than, but subtract from one
- Result := NodeFactory.Compare(Result, CompileSimpleExpr(True));
- Result := NodeFactory.Subtract(
- NodeFactory.Multiply(
- Result,
- Result
- ),
- Result
- );
- Result := NodeFactory.Divide(Result, NodeFactory.LoadConst32(2));
- Result := NodeFactory.Subtract(NodeFactory.LoadConst32(1), Result);
- end;
+ Result := NodeFactory.CompareGreaterEqual(Result, CompileExprLevel1(True));
+ etIdentifier: // cmp
+ if AnsiSameText(Lexer.TokenAsString, 'cmp') then
+ Result := NodeFactory.Compare(Result, CompileExprLevel1(True))
+ else
+ Break;
else
Break;
end;
end;
-function TExprCompileParser.CompileSimpleExpr(ASkip: Boolean): TExprNode;
+function TExprCompileParser.CompileExprLevel1(ASkip: Boolean): TExprNode;
begin
- Result := CompileTerm(ASkip);
+ Result := CompileExprLevel2(ASkip);
while True do
case Lexer.CurrTok of
etPlus:
- Result := NodeFactory.Add(Result, CompileTerm(True));
+ Result := NodeFactory.Add(Result, CompileExprLevel2(True));
etMinus:
- Result := NodeFactory.Subtract(Result, CompileTerm(True));
+ Result := NodeFactory.Subtract(Result, CompileExprLevel2(True));
+ etIdentifier: // or, xor, bor, bxor
+ if AnsiSameText(Lexer.TokenAsString, 'or') then
+ Result := NodeFactory.LogicalOr(Result, CompileExprLevel2(True))
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'xor') then
+ Result := NodeFactory.LogicalXor(Result, CompileExprLevel2(True))
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'bor') then
+ Result := NodeFactory.BitwiseOr(Result, CompileExprLevel2(True))
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'bxor') then
+ Result := NodeFactory.BitwiseXor(Result, CompileExprLevel2(True))
+ else
+ Break;
else
Break;
end;
end;
-function TExprCompileParser.CompileTerm(ASkip: Boolean): TExprNode;
+function TExprCompileParser.CompileExprLevel2(ASkip: Boolean): TExprNode;
begin
- Result := CompileSignedFactor(ASkip);
+ Result := CompileExprLevel3(ASkip);
while True do
case Lexer.CurrTok of
etAsterisk:
- Result := NodeFactory.Multiply(Result, CompileSignedFactor(True));
+ Result := NodeFactory.Multiply(Result, CompileExprLevel3(True));
etForwardSlash:
- Result := NodeFactory.Divide(Result, CompileSignedFactor(True));
+ Result := NodeFactory.Divide(Result, CompileExprLevel3(True));
+ etIdentifier: // div, mod, and, shl, shr, band
+ if AnsiSameText(Lexer.TokenAsString, 'div') then
+ Result := NodeFactory.IntegerDivide(Result, CompileExprLevel3(True))
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'mod') then
+ Result := NodeFactory.Modulo(Result, CompileExprLevel3(True))
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'and') then
+ Result := NodeFactory.LogicalAnd(Result, CompileExprLevel3(True))
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'shl') then
+ Result := NodeFactory.ShiftLeft(Result, CompileExprLevel3(True))
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'shr') then
+ Result := NodeFactory.ShiftRight(Result, CompileExprLevel3(True))
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'band') then
+ Result := NodeFactory.BitwiseAnd(Result, CompileExprLevel3(True))
+ else
+ Break;
else
Break;
end;
end;
-function TExprCompileParser.CompileSignedFactor(ASkip: Boolean): TExprNode;
-var
- Neg: Boolean;
+function TExprCompileParser.CompileExprLevel3(ASkip: Boolean): TExprNode;
begin
if ASkip then
Lexer.NextTok;
- Neg := False;
- while True do
- begin
- case Lexer.CurrTok of
- etPlus:
- { do nothing };
- etMinus:
- Neg := not Neg;
- else
- Break;
- end;
- Lexer.NextTok;
+ case Lexer.CurrTok of
+ etPlus:
+ Result := CompileExprLevel3(True);
+ etMinus:
+ Result := NodeFactory.Negate(CompileExprLevel3(True));
+ etIdentifier: // not, bnot
+ if AnsiSameText(Lexer.TokenAsString, 'not') then
+ Result := NodeFactory.LogicalNot(CompileExprLevel3(True))
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'bnot') then
+ Result := NodeFactory.BitwiseNot(CompileExprLevel3(True))
+ else
+ Result := CompileFactor;
+ else
+ Result := CompileFactor;
end;
-
- Result := CompileFactor;
- if Neg then
- Result := NodeFactory.Negate(Result);
end;
function TExprCompileParser.CompileFactor: TExprNode;
begin
case Lexer.CurrTok of
- etNumber:
- begin
- Result := NodeFactory.LoadConst64(Lexer.TokenAsNumber);
- Lexer.NextTok;
- end;
etIdentifier:
Result := CompileIdentFactor;
etLParen:
begin
- Result := CompileExpr(True);
+ Result := CompileExprLevel0(True);
if Lexer.CurrTok <> etRParen then
raise EJclExprEvalError.CreateRes(@RsExprEvalRParenExpected);
Lexer.NextTok;
end;
+ etNumber:
+ begin
+ Result := NodeFactory.LoadConst64(Lexer.TokenAsNumber);
+ Lexer.NextTok;
+ end;
else
raise EJclExprEvalError.CreateRes(@RsExprEvalFactorExpected);
end;
@@ -1238,7 +1227,7 @@
function TExprEvalParser.Evaluate: TFloat;
begin
- Result := EvalExpr(False);
+ Result := EvalExprLevel0(False);
if (Lexer.CurrTok <> etEof) then
begin
@@ -1247,114 +1236,178 @@
end;
end;
-function TExprEvalParser.EvalExpr(ASkip: Boolean): TFloat;
+function TExprEvalParser.EvalExprLevel0(ASkip: Boolean): TFloat;
+var
+ RightValue: TFloat;
begin
- Result := EvalSimpleExpr(ASkip);
+ Result := EvalExprLevel1(ASkip);
while True do
case Lexer.CurrTok of
etEqualTo: // =
- if Result = EvalSimpleExpr(True) then
+ if Result = EvalExprLevel1(True) then
Result := 1.0
else
Result := 0.0;
etNotEqual: // <>
- if Result <> EvalSimpleExpr(True) then
+ if Result <> EvalExprLevel1(True) then
Result := 1.0
else
Result := 0.0;
etLessThan: // <
- if Result < EvalSimpleExpr(True) then
+ if Result < EvalExprLevel1(True) then
Result := 1.0
else
Result := 0.0;
etLessEqual: // <=
- if Result <= EvalSimpleExpr(True) then
+ if Result <= EvalExprLevel1(True) then
Result := 1.0
else
Result := 0.0;
etGreaterThan: // >
- if Result > EvalSimpleExpr(True) then
+ if Result > EvalExprLevel1(True) then
Result := 1.0
else
Result := 0.0;
etGreaterEqual: // >=
- if Result >= EvalSimpleExpr(True) then
+ if Result >= EvalExprLevel1(True) then
Result := 1.0
else
Result := 0.0;
+ etIdentifier: // cmp
+ if AnsiSameText(Lexer.TokenAsString, 'cmp') then
+ begin
+ RightValue := EvalExprLevel1(True);
+ if Result > RightValue then
+ Result := 1.0
+ else
+ if Result = RightValue then
+ Result := 0.0
+ else
+ Result := -1.0;
+ end
+ else
+ Break;
else
Break;
end;
end;
-function TExprEvalParser.EvalSimpleExpr(ASkip: Boolean): TFloat;
+function TExprEvalParser.EvalExprLevel1(ASkip: Boolean): TFloat;
begin
- Result := EvalTerm(ASkip);
+ Result := EvalExprLevel2(ASkip);
while True do
case Lexer.CurrTok of
etPlus:
- Result := Result + EvalTerm(True);
+ Result := Result + EvalExprLevel2(True);
etMinus:
- Result := Result - EvalTerm(True);
+ Result := Result - EvalExprLevel2(True);
+ etIdentifier: // or, xor, bor, bxor
+ if AnsiSameText(Lexer.TokenAsString, 'or') then
+ begin
+ if (EvalExprLevel2(True) <> 0) or (Result <> 0) then // prevent boolean optimisations, EvalTerm must be called
+ Result := 1.0
+ else
+ Result := 0.0;
+ end
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'xor') then
+ begin
+ if (Result <> 0) xor (EvalExprLevel2(True) <> 0) then
+ Result := 1.0
+ else
+ result := 0.0;
+ end
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'bor') then
+ Result := Round(Result) or Round(EvalExprLevel2(True))
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'bxor') then
+ Result := Round(Result) xor Round(EvalExprLevel2(True))
+ else
+ Break;
else
Break;
end;
end;
-function TExprEvalParser.EvalTerm(ASkip: Boolean): TFloat;
+function TExprEvalParser.EvalExprLevel2(ASkip: Boolean): TFloat;
begin
- Result := EvalSignedFactor(ASkip);
+ Result := EvalExprLevel3(ASkip);
while True do
case Lexer.CurrTok of
etAsterisk:
- Result := Result * EvalSignedFactor(True);
+ Result := Result * EvalExprLevel3(True);
etForwardSlash:
- Result := Result / EvalSignedFactor(True);
+ Result := Result / EvalExprLevel3(True);
+ etIdentifier: // div, mod, and, shl, shr, band
+ if AnsiSameText(Lexer.TokenAsString, 'div') then
+ Result := Round(Result) div Round(EvalExprLevel3(True))
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'mod') then
+ Result := Round(Result) mod Round(EvalExprLevel3(True))
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'and') then
+ begin
+ if (EvalExprLevel3(True) <> 0) and (Result <> 0) then // prevent boolean optimisations, EvalTerm must be called
+ Result := 1.0
+ else
+ Result := 0.0;
+ end
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'shl') then
+ Result := Round(Result) shl Round(EvalExprLevel3(True))
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'shr') then
+ Result := Round(Result) shr Round(EvalExprLevel3(True))
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'band') then
+ Result := Round(Result) and Round(EvalExprLevel3(True))
+ else
+ Break;
else
Break;
end;
end;
-function TExprEvalParser.EvalSignedFactor(ASkip: Boolean): TFloat;
-var
- Neg: Boolean;
+function TExprEvalParser.EvalExprLevel3(ASkip: Boolean): TFloat;
begin
if ASkip then
Lexer.NextTok;
- Neg := False;
- while True do
- begin
- case Lexer.CurrTok of
- etPlus:
- { do nothing };
- etMinus:
- Neg := not Neg;
- else
- Break;
- end;
- Lexer.NextTok;
+ case Lexer.CurrTok of
+ etPlus:
+ Result := EvalExprLevel3(True);
+ etMinus:
+ Result := -EvalExprLevel3(True);
+ etIdentifier: // not, bnot
+ if AnsiSameText(Lexer.TokenAsString, 'not') then
+ begin
+ if EvalExprLevel3(True) <> 0.0 then
+ Result := 0.0
+ else
+ Result := 1.0;
+ end
+ else
+ if AnsiSameText(Lexer.TokenAsString, 'bnot') then
+ Result := not Round(EvalExprLevel3(True))
+ else
+ Result := EvalFactor;
+ else
+ Result := EvalFactor;
end;
-
- Result := EvalFactor;
- if Neg then
- Result := -Result;
end;
function TExprEvalParser.EvalFactor: TFloat;
begin
- case Lexer.CurrTok of
- etIdentifier:
- begin
- Result := EvalIdentFactor;
- end;
-
- etLParen:
- begin
- Result := EvalExpr(True);
+ case Lexer.CurrTok of
+ etIdentifier:
+ Result := EvalIdentFactor;
+ etLParen:
+ begin
+ Result := EvalExprLevel0(True);
if Lexer.CurrTok <> etRParen then
raise EJclExprEvalError.CreateRes(@RsExprEvalRParenExpected);
Lexer.NextTok;
@@ -1364,9 +1417,9 @@
Result := Lexer.TokenAsNumber;
Lexer.NextTok;
end;
- else
- raise EJclExprEvalError.CreateRes(@RsExprEvalFactorExpected);
- end;
+ else
+ raise EJclExprEvalError.CreateRes(@RsExprEvalFactorExpected);
+ end;
end;
function TExprEvalParser.EvalIdentFactor: TFloat;
@@ -1774,6 +1827,86 @@
procedure Execute; override;
end;
+ TExprGreaterVmOp = class(TExprBinaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
+ TExprGreaterEqualVmOp = class(TExprBinaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
+ TExprLessVmOp = class(TExprBinaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
+ TExprLessEqualVmOp = class(TExprBinaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
+ TExprEqualVmOp = class(TExprBinaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
+ TExprNotEqualVmOp = class(TExprBinaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
+ TExprIntegerDivideVmOp = class(TExprBinaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
+ TExprModuloVmOp = class(TExprBinaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
+ TExprShiftLeftVmOp = class(TExprBinaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
+ TExprShiftRightVmOp = class(TExprBinaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
+ TExprBitwiseAndVmOp = class(TExprBinaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
+ TExprBitwiseOrVmOp = class(TExprBinaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
+ TExprBitwiseXorVmOp = class(TExprBinaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
+ TExprLogicalAndVmOp = class(TExprBinaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
+ TExprLogicalOrVmOp = class(TExprBinaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
+ TExprLogicalXorVmOp = class(TExprBinaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
{ the unary operators }
TExprNegateVmOp = class(TExprUnaryVmOp)
@@ -1781,6 +1914,16 @@
procedure Execute; override;
end;
+ TExprLogicalNotVmOp = class(TExprUnaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
+ TExprBitwiseNotVmOp = class(TExprUnaryVmOp)
+ public
+ procedure Execute; override;
+ end;
+
{ function calls }
TExprCallFloatVmOp = class(TExprVirtMachOp)
@@ -2013,6 +2156,145 @@
FOutput := 0.0;
end;
+//=== { TExprCmpGreaterVmOp } ================================================
+
+procedure TExprGreaterVmOp.Execute;
+begin
+ if FLeft^ > FRight^ then
+ FOutput := 1.0
+ else
+ FOutput := 0.0;
+end;
+
+//=== { TExprCmpGreaterEqualVmOp } ===========================================
+
+procedure TExprGreaterEqualVmOp.Execute;
+begin
+ if FLeft^ >= FRight^ then
+ FOutput := 1.0
+ else
+ FOutput := 0.0;
+end;
+
+//=== { TExprCmpLessVmOp } ===================================================
+
+procedure TExprLessVmOp.Execute;
+begin
+ if FLeft^ < FRight^ then
+ FOutput := 1.0
+ else
+ FOutput := 0.0;
+end;
+
+// === { TExprCmpLessEqualVmOp } =============================================
+
+procedure TExprLessEqualVmOp.Execute;
+begin
+ if FLeft^ <= FRight^ then
+ FOutput := 1.0
+ else
+ FOutput := 0.0;
+end;
+
+//=== { TExprCmpEqualVmOp } ==================================================
+
+procedure TExprEqualVmOp.Execute;
+begin
+ if FLeft^ = FRight^ then
+ FOutput := 1.0
+ else
+ FOutput := 0.0;
+end;
+
+//=== { TExprCmpNotEqualVmOp } ===============================================
+
+procedure TExprNotEqualVmOp.Execute;
+begin
+ if FLeft^ <> FRight^ then
+ FOutput := 1.0
+ else
+ FOutput := 0.0;
+end;
+
+//=== { TExprDivVmOp } =======================================================
+
+procedure TExprIntegerDivideVmOp.Execute;
+begin
+ FOutput := Round(FLeft^) div Round(FRight^);
+end;
+
+//=== { TExprModVmOp } =======================================================
+
+procedure TExprModuloVmOp.Execute;
+begin
+ FOutput := Round(FLeft^) mod Round(FRight^);
+end;
+
+//=== { TExprShiftLeftVmOp } =================================================
+
+procedure TExprShiftLeftVmOp.Execute;
+begin
+ FOutput := Round(FLeft^) shl Round(FRight^);
+end;
+
+//=== { TExprShiftRightVmOp } ================================================
+
+procedure TExprShiftRightVmOp.Execute;
+begin
+ FOutput := Round(FLeft^) shr Round(FRight^);
+end;
+
+//=== { TExprBitwiseAndVmOp } ================================================
+
+procedure TExprBitwiseAndVmOp.Execute;
+begin
+ FOutput := Round(FLeft^) and Round(FRight^);
+end;
+
+//=== { TExprOrVmOp } ========================================================
+
+procedure TExprBitwiseOrVmOp.Execute;
+begin
+ FOutput := Round(FLeft^) or Round(FRight^);
+end;
+
+//=== { TExprXorVmOp } =======================================================
+
+procedure TExprBitwiseXorVmOp.Execute;
+begin
+ FOutput := Round(FLeft^) xor Round(FRight^);
+end;
+
+//=== { TExprLogicalAndVmOp } ================================================
+
+procedure TExprLogicalAndVmOp.Execute;
+begin
+ if (FLeft^ <> 0.0) and (FRight^ <> 0) then
+ FOutput := 1.0
+ else
+ FOutput := 0.0;
+end;
+
+//=== { TExprLogicalOrVmOp } =================================================
+
+procedure TExprLogicalOrVmOp.Execute;
+begin
+ if (FLeft^ <> 0.0) or (FRight^ <> 0) then
+ FOutput := 1.0
+ else
+ FOutput := 0.0;
+end;
+
+//=== { TExprLogicalXorVmOp } ================================================
+
+procedure TExprLogicalXorVmOp.Execute;
+begin
+ if (FLeft^ <> 0.0) xor (FRight^ <> 0) then
+ FOutput := 1.0
+ else
+ FOutput := 0.0;
+end;
+
//=== { TExprNegateVmOp } ====================================================
procedure TExprNegateVmOp.Execute;
@@ -2020,6 +2302,23 @@
FOutput := - FInput^;
end;
+//=== { TExprLogicalNotVmOp } ================================================
+
+procedure TExprLogicalNotVmOp.Execute;
+begin
+ if FInput^ <> 0.0 then
+ FOutput := 0.0
+ else
+ FOutput := 1.0;
+end;
+
+//=== { TExprBitwiseNotVmOp } ================================================
+
+procedure TExprBitwiseNotVmOp.Execute;
+begin
+ FOutput := not Round(FInput^);
+end;
+
//=== { TExprVarVmOp } =======================================================
constructor TExprVarVmOp.Create(AVarLoc: Pointer);
@@ -2527,12 +2826,6 @@
procedure GenCode(AVirtMach: TExprVirtMach); override;
end;
- TExprCompareVmNode = class(TExprVirtMachNode)
- public
- constructor Create(ALeft, ARight: TExprNode);
- procedure GenCode(AVirtMach: TExprVirtMach); override;
- end;
-
//== { TExprUnaryVmNode } ====================================================
constructor TExprUnaryVmNode.Create(AUnaryClass: TExprUnaryVmOpClass; const ADeps: array of TExprNode);
@@ -2707,6 +3000,16 @@
Result := AddNode(TExprBinaryVmNode.Create(TExprDivideVmOp, [ALeft, ARight]));
end;
+function TExprVirtMachNodeFactory.IntegerDivide(ALeft, ARight: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprBinaryVmNode.Create(TExprIntegerDivideVmOp, [ALeft, ARight]));
+end;
+
+function TExprVirtMachNodeFactory.Modulo(ALeft, ARight: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprBinaryVmNode.Create(TExprModuloVmOp, [ALeft, ARight]));
+end;
+
function TExprVirtMachNodeFactory.Negate(AValue: TExprNode): TExprNode;
begin
Result := AddNode(TExprUnaryVmNode.Create(TExprNegateVmOp, [AValue]));
@@ -2832,9 +3135,89 @@
function TExprVirtMachNodeFactory.Compare(ALeft, ARight: TExprNode): TExprNode;
begin
- Result := AddNode(TExprCompareVmNode.Create(ALeft, ARight));
+ Result := AddNode(TExprBinaryVmNode.Create(TExprCompareVmOp, [ALeft, ARight]));
end;
+function TExprVirtMachNodeFactory.CompareEqual(ALeft, ARight: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprBinaryVmNode.Create(TExprEqualVmOp, [ALeft, ARight]));
+end;
+
+function TExprVirtMachNodeFactory.CompareNotEqual(ALeft, ARight: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprBinaryVmNode.Create(TExprNotEqualVmOp, [ALeft, ARight]));
+end;
+
+function TExprVirtMachNodeFactory.CompareLess(ALeft, ARight: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprBinaryVmNode.Create(TExprLessVmOp, [ALeft, ARight]));
+end;
+
+function TExprVirtMachNodeFactory.CompareLessEqual(ALeft, ARight: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprBinaryVmNode.Create(TExprLessEqualVmOp, [ALeft, ARight]));
+end;
+
+function TExprVirtMachNodeFactory.CompareGreater(ALeft, ARight: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprBinaryVmNode.Create(TExprGreaterVmOp, [ALeft, ARight]));
+end;
+
+function TExprVirtMachNodeFactory.CompareGreaterEqual(ALeft, ARight: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprBinaryVmNode.Create(TExprGreaterEqualVmOp, [ALeft, ARight]));
+end;
+
+function TExprVirtMachNodeFactory.LogicalAnd(ALeft, ARight: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprBinaryVmNode.Create(TExprLogicalAndVmOp, [ALeft, ARight]));
+end;
+
+function TExprVirtMachNodeFactory.LogicalOr(ALeft, ARight: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprBinaryVmNode.Create(TExprLogicalOrVmOp, [ALeft, ARight]));
+end;
+
+function TExprVirtMachNodeFactory.LogicalXor(ALeft, ARight: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprBinaryVmNode.Create(TExprLogicalXorVmOp, [ALeft, ARight]));
+end;
+
+function TExprVirtMachNodeFactory.LogicalNot(AValue: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprUnaryVmNode.Create(TExprLogicalNotVmOp, [AValue]));
+end;
+
+function TExprVirtMachNodeFactory.BitwiseAnd(ALeft, ARight: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprBinaryVmNode.Create(TExprBitwiseAndVmOp, [ALeft, ARight]));
+end;
+
+function TExprVirtMachNodeFactory.BitwiseOr(ALeft, ARight: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprBinaryVmNode.Create(TExprBitwiseOrVmOp, [ALeft, ARight]));
+end;
+
+function TExprVirtMachNodeFactory.BitwiseXor(ALeft, ARight: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprBinaryVmNode.Create(TExprBitwiseXorVmOp, [ALeft, ARight]));
+end;
+
+function TExprVirtMachNodeFactory.BitwiseNot(AValue: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprUnaryVmNode.Create(TExprBitwiseNotVmOp, [AValue]));
+end;
+
+function TExprVirtMachNodeFactory.ShiftLeft(ALeft, ARight: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprBinaryVmNode.Create(TExprShiftLeftVmOp, [ALeft, ARight]));
+end;
+
+function TExprVirtMachNodeFactory.ShiftRight(ALeft, ARight: TExprNode): TExprNode;
+begin
+ Result := AddNode(TExprBinaryVmNode.Create(TExprShiftRightVmOp, [ALeft, ARight]));
+end;
+
//=== { TCompiledEvaluator } =================================================
constructor TCompiledEvaluator.Create;
@@ -3199,49 +3582,34 @@
AVirtMach.Add(FExprVmCode);
end;
-//=== { TExprCompareVmNode } =================================================
-
-constructor TExprCompareVmNode.Create(ALeft, ARight: TExprNode);
-begin
- inherited Create([ALeft, ARight]);
-end;
-
-procedure TExprCompareVmNode.GenCode(AVirtMach: TExprVirtMach);
-begin
- FExprVmCode := TExprCompareVmOp.Create(
- VmDeps[0].ExprVmCode.OutputLoc,
- VmDeps[1].ExprVmCode.OutputLoc);
- AVirtMach.Add(FExprVmCode);
-end;
-
//=== { TExprAbstractFuncSym } ===============================================
function TExprAbstractFuncSym.CompileFirstArg: TExprNode;
begin
if Lexer.CurrTok <> etLParen then
raise EJclExprEvalError.CreateRes(@RsExprEvalFirstArg);
- Result := CompileParser.CompileExpr(True);
+ Result := CompileParser.CompileExprLevel0(True);
end;
function TExprAbstractFuncSym.CompileNextArg: TExprNode;
begin
if Lexer.CurrTok <> etComma then
raise EJclExprEvalError.CreateRes(@RsExprEvalNextArg);
- Result := CompileParser.CompileExpr(True);
+ Result := CompileParser.CompileExprLevel0(True);
end;
function TExprAbstractFuncSym.EvalFirstArg: TFloat;
begin
if Lexer.CurrTok <> etLParen then
raise EJclExprEvalError.CreateRes(@RsExprEvalFirstArg);
- Result := EvalParser.EvalExpr(True);
+ Result := EvalParser.EvalExprLevel0(True);
end;
function TExprAbstractFuncSym.EvalNextArg: TFloat;
begin
if Lexer.CurrTok <> etComma then
raise EJclExprEvalError.CreateRes(@RsExprEvalNextArg);
- Result := EvalParser.EvalExpr(True);
+ Result := EvalParser.EvalExprLevel0(True);
end;
procedure TExprAbstractFuncSym.EndArgs;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-06-18 18:34:57
|
Revision: 2045
http://svn.sourceforge.net/jcl/?rev=2045&view=rev
Author: outchy
Date: 2007-06-18 11:34:54 -0700 (Mon, 18 Jun 2007)
Log Message:
-----------
CPUID.LogicalCore may be null on processors that don't support this feature. It should defaults to 1.
Modified Paths:
--------------
trunk/jcl/source/common/JclSysInfo.pas
Modified: trunk/jcl/source/common/JclSysInfo.pas
===================================================================
--- trunk/jcl/source/common/JclSysInfo.pas 2007-06-17 11:33:14 UTC (rev 2044)
+++ trunk/jcl/source/common/JclSysInfo.pas 2007-06-18 18:34:54 UTC (rev 2045)
@@ -4100,8 +4100,13 @@
CPUInfo.IntelSpecific.BrandID := AdditionalInfo and $000000FF;
CPUInfo.IntelSpecific.FlushLineSize := (AdditionalInfo and $0000FF00) shr 8;
CPUInfo.IntelSpecific.APICID := (AdditionalInfo and $FF000000) shr 24;
- CPUInfo.LogicalCore := (AdditionalInfo and $00FF0000) shr 16;
CPUInfo.HyperThreadingTechnology := (CPUInfo.Features and INTEL_HTT) <> 0;
+ if CPUInfo.HyperThreadingTechnology then
+ begin
+ CPUInfo.LogicalCore := (AdditionalInfo and $00FF0000) shr 16;
+ if CPUInfo.LogicalCore = 0 then
+ CPUInfo.LogicalCore := 1;
+ end;
if HiVal >= 2 then
begin
@@ -4326,7 +4331,11 @@
CPUInfo.AMDSpecific.APICID := (VersionInfo and $FF000000) shr 24;
CPUInfo.HyperThreadingTechnology := (CPUInfo.Features and AMD_HTT) <> 0;
if CPUInfo.HyperThreadingTechnology then
+ begin
CPUInfo.LogicalCore := (AdditionalInfo and $00FF0000) shr 16;
+ if CPUInfo.LogicalCore = 0 then
+ CPUInfo.LogicalCore := 1;
+ end;
end;
CallCPUID($80000000, 0, ExHiVal, Unused, Unused, Unused);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-06-17 11:33:16
|
Revision: 2044
http://svn.sourceforge.net/jcl/?rev=2044&view=rev
Author: outchy
Date: 2007-06-17 04:33:14 -0700 (Sun, 17 Jun 2007)
Log Message:
-----------
Mantis 4113 (part 2) Naming JCL menu items.
Modified Paths:
--------------
trunk/jcl/experts/common/JclOtaConsts.pas
trunk/jcl/experts/common/JclOtaResources.pas
trunk/jcl/experts/common/JclOtaUtils.pas
trunk/jcl/experts/debug/converter/JclDebugIdeImpl.pas
trunk/jcl/experts/debug/simdview/JclSIMDView.pas
trunk/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas
trunk/jcl/experts/versioncontrol/VersionControlImpl.pas
Modified: trunk/jcl/experts/common/JclOtaConsts.pas
===================================================================
--- trunk/jcl/experts/common/JclOtaConsts.pas 2007-06-17 10:42:05 UTC (rev 2043)
+++ trunk/jcl/experts/common/JclOtaConsts.pas 2007-06-17 11:33:14 UTC (rev 2044)
@@ -61,8 +61,9 @@
JclActionSettings = 'Actions';
//=== Configuration form ===================================================
- JclPanelTreeWidth = 'PanelTreeWidth';
- JclConfigureActionName = 'ActionJCLConfigure';
+ JclPanelTreeWidth = 'PanelTreeWidth';
+ JclConfigureActionName = 'JCLConfigureCommand';
+ JclConfigureMenuName = 'JCLConfigureMenu';
//=== Debug Expert =========================================================
JclDebugExpertRegKey = 'JclDebugExpert';
@@ -78,6 +79,8 @@
LIBSUFFIXOptionName = 'SOSuffix';
ColumnRegName = 'Column%d';
JclDebugMessagePrefix = 'Jcl Debug Expert';
+ JclInsertDataActionName = 'JCLInsertDataCommand';
+ JclInsertDataMenuName = 'JCLInsertDataMenu';
//=== Favorite Folders Expert ==============================================
JclFavoritesExpertName = 'JclFavoriteFoldersExpert';
@@ -91,7 +94,9 @@
JclThreadsExpertName = 'JclThreadsExpert';
//=== SIMD Expert ==========================================================
- JclSIMDExpertName = 'JclSIMDExpert';
+ JclSIMDExpertName = 'JclSIMDExpert';
+ JclSIMDActionName = 'JCLSIMDCommand';
+ JclSIMDMenuName = 'JCLSIMDMenu';
//=== Uses Expert ==========================================================
JclUsesExpertName = 'JclUsesExpert';
@@ -105,13 +110,17 @@
JclIniFileLocation = 'experts\useswizard\JediUsesWizard.ini';
//=== Project analyser =====================================================
- AnalyzerViewName = 'AnalyzerView';
+ AnalyzerViewName = 'AnalyzerView';
+ JclProjectAnalyzeActionName = 'JCLProjectAnalyseCommand';
+ JclProjectAnalyzeMenuName = 'JCLProjectAnalyseMenu';
-
//=== Repository Expert ====================================================
JclRepositoryCategoryDelphiFiles = {$IFDEF BDS} sCategoryDelphiNewFiles {$ELSE BDS} '' {$ENDIF BDS};
JclRepositoryCategoryCBuilderFiles = {$IFDEF BDS} sCategoryCBuilderNewFiles {$ELSE BDS} '' {$ENDIF BDS};
+ //=== Version Control Expert ===============================================
+ JclVersionCtrlMenuName = 'JclVersionCtrlMenu';
+
implementation
end.
Modified: trunk/jcl/experts/common/JclOtaResources.pas
===================================================================
--- trunk/jcl/experts/common/JclOtaResources.pas 2007-06-17 10:42:05 UTC (rev 2043)
+++ trunk/jcl/experts/common/JclOtaResources.pas 2007-06-17 11:33:14 UTC (rev 2044)
@@ -189,7 +189,6 @@
//=== ProjAnalyserImpl.pas ===================================================
resourcestring
RsAnalyzeActionCaption = 'Analyze project %s';
- RsAnalyzeActionName = 'ProjectAnalyseCommand';
RsProjectNone = '[none]';
RsCantFindFiles = 'Can''t find MAP or executable file';
RsBuildingProject = 'Building project %s ...';
@@ -218,15 +217,10 @@
//=== JclDebugIdeImpl.pas ====================================================
resourcestring
RsENoProjectOptions = 'Project options are not available';
- RsBuildActionCaption = 'Build JCL Debug %s';
- RsBuildAllCaption = 'Build JCL Debug All Projects';
- RsBuildActionName = 'ProjectJCLBuildCommand';
- RsBuildAllActionName = 'ProjectJCLBuildAllCommand';
RsCantInsertToInstalledPackage = 'JCL Debug IDE Expert: Can not insert debug information to installed package' +
AnsiLineBreak + '%s' + AnsiLineBreak + 'Would you like to disable inserting JCL Debug data ?';
RsCompilationAborted = 'JCL Debug data cannot be inserted to installed package' + AnsiLineBreak + 'Compilation aborted';
RsInsertDataCaption = 'Insert JCL Debug data';
- RsInsertDataActionName = 'ProjectJCLInsertDataCommand';
RsEExecutableNotFound = 'Executable file for project "%s" not found.' +
'JCL debug data can''t be added to the binary.';
RsEMapFileNotFound = 'Map file "%s" for project "%s" not found.' +
Modified: trunk/jcl/experts/common/JclOtaUtils.pas
===================================================================
--- trunk/jcl/experts/common/JclOtaUtils.pas 2007-06-17 10:42:05 UTC (rev 2043)
+++ trunk/jcl/experts/common/JclOtaUtils.pas 2007-06-17 11:33:14 UTC (rev 2044)
@@ -1125,6 +1125,7 @@
raise EJclExpertException.CreateTrace(RsENoToolsMenu);
ConfigurationMenuItem := TMenuItem.Create(nil);
+ ConfigurationMenuItem.Name := JclConfigureMenuName;
ConfigurationMenuItem.Action := ConfigurationAction;
ToolsMenuItem.Insert(0, ConfigurationMenuItem);
Modified: trunk/jcl/experts/debug/converter/JclDebugIdeImpl.pas
===================================================================
--- trunk/jcl/experts/debug/converter/JclDebugIdeImpl.pas 2007-06-17 10:42:05 UTC (rev 2043)
+++ trunk/jcl/experts/debug/converter/JclDebugIdeImpl.pas 2007-06-17 11:33:14 UTC (rev 2044)
@@ -518,9 +518,10 @@
FInsertDataAction.Visible := True;
FInsertDataAction.OnExecute := InsertDataExecute;
FInsertDataAction.ActionList := IDEActionList;
- FInsertDataAction.Name := RsInsertDataActionName;
+ FInsertDataAction.Name := JclInsertDataActionName;
RegisterAction(FInsertDataAction);
FInsertDataItem := TMenuItem.Create(nil);
+ FInsertDataItem.Name := JclInsertDataMenuName;
FInsertDataItem.Action := FInsertDataAction;
finally
ImageBmp.Free;
Modified: trunk/jcl/experts/debug/simdview/JclSIMDView.pas
===================================================================
--- trunk/jcl/experts/debug/simdview/JclSIMDView.pas 2007-06-17 10:42:05 UTC (rev 2043)
+++ trunk/jcl/experts/debug/simdview/JclSIMDView.pas 2007-06-17 11:33:14 UTC (rev 2044)
@@ -124,9 +124,6 @@
JclOtaConsts, JclOtaResources,
JclSIMDUtils;
-const
- RsSIMDActionName = 'DebugSSECommand';
-
procedure Register;
begin
try
@@ -312,12 +309,13 @@
FSIMDAction.OnExecute := SIMDActionExecute;
FSIMDAction.OnUpdate := SIMDActionUpdate;
FSIMDAction.Category := Category;
- FSIMDAction.Name := RsSIMDActionName;
+ FSIMDAction.Name := JclSIMDActionName;
FSIMDAction.ImageIndex := NTAServices.ImageList.AddIcon(FIcon);
FSIMDAction.ActionList := NTAServices.ActionList;
FSIMDAction.ShortCut := Shortcut(Ord('D'), [ssCtrl, ssAlt]);
FSIMDMenuItem := TMenuItem.Create(nil);
+ FSIMDMenuItem.Name := JCLSIMDMenuName;
FSIMDMenuItem.Action := FSIMDAction;
IDEMenu := NTAServices.MainMenu;
Modified: trunk/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas
===================================================================
--- trunk/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas 2007-06-17 10:42:05 UTC (rev 2043)
+++ trunk/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas 2007-06-17 11:33:14 UTC (rev 2044)
@@ -251,7 +251,7 @@
FBuildAction.Visible := True;
FBuildAction.OnExecute := ActionExecute;
FBuildAction.OnUpdate := ActionUpdate;
- FBuildAction.Name := RsAnalyzeActionName;
+ FBuildAction.Name := JclProjectAnalyzeActionName;
ImageBmp := TBitmap.Create;
try
ImageBmp.LoadFromResourceName(FindResourceHInstance(ModuleHInstance), 'PROJANALYZER');
@@ -282,6 +282,7 @@
FBuildAction.ActionList := IDEActionList;
RegisterAction(FBuildAction);
FBuildMenuItem := TMenuItem.Create(nil);
+ FBuildMenuItem.Name := JclProjectAnalyzeMenuName;
FBuildMenuItem.Action := FBuildAction;
IDEProjectItem.Insert(I + 1, FBuildMenuItem);
Modified: trunk/jcl/experts/versioncontrol/VersionControlImpl.pas
===================================================================
--- trunk/jcl/experts/versioncontrol/VersionControlImpl.pas 2007-06-17 10:42:05 UTC (rev 2043)
+++ trunk/jcl/experts/versioncontrol/VersionControlImpl.pas 2007-06-17 11:33:14 UTC (rev 2044)
@@ -256,7 +256,6 @@
//=== VersionControlImpl.pas ===================================================
const
- JclVersionCtrlMenuName = 'JclVersionCtrlMenu';
// vcaAdd
JclVersionCtrlAddActionName = 'JclVersionCtrlAddCommand';
// vcaAddSandbox
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-06-17 10:42:08
|
Revision: 2043
http://svn.sourceforge.net/jcl/?rev=2043&view=rev
Author: outchy
Date: 2007-06-17 03:42:05 -0700 (Sun, 17 Jun 2007)
Log Message:
-----------
Mantis 4148 Project autosaved if "Insert Jcl debug data" is selected.
This issue applies to the project analyser too.
Modified Paths:
--------------
trunk/jcl/experts/debug/converter/JclDebugIdeImpl.pas
trunk/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas
Modified: trunk/jcl/experts/debug/converter/JclDebugIdeImpl.pas
===================================================================
--- trunk/jcl/experts/debug/converter/JclDebugIdeImpl.pas 2007-06-17 10:31:57 UTC (rev 2042)
+++ trunk/jcl/experts/debug/converter/JclDebugIdeImpl.pas 2007-06-17 10:42:05 UTC (rev 2043)
@@ -244,9 +244,9 @@
if FSaveMapFile <> MapFileOptionDetailed then
begin
ProjOptions.Values[MapFileOptionName] := FSaveMapFile;
- // workaround for MsBuild, the project has to be saved
+ // workaround for MsBuild, the project has to be saved (seems useless with Delphi 2007 update 1)
ProjOptions.ModifiedState := True;
- FCurrentProject.Save(False, True);
+ //FCurrentProject.Save(False, True);
end;
ProjectFileName := FCurrentProject.FileName;
OutputDirectory := GetOutputDirectory(FCurrentProject);
@@ -348,9 +348,9 @@
FSaveMapFile := ProjOptions.Values[MapFileOptionName];
if FSaveMapFile <> MapFileOptionDetailed then
ProjOptions.Values[MapFileOptionName] := MapFileOptionDetailed;
- // workaround for MsBuild, the project has to be saved
+ // workaround for MsBuild, the project has to be saved (seems useless with Delphi 2007 update 1)
ProjOptions.ModifiedState := True;
- Project.Save(False, True);
+ //Project.Save(False, True);
end;
end;
end;
Modified: trunk/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas
===================================================================
--- trunk/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas 2007-06-17 10:31:57 UTC (rev 2042)
+++ trunk/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas 2007-06-17 10:42:05 UTC (rev 2043)
@@ -172,16 +172,16 @@
SaveMapFile := ProjOptions.Values[MapFileOptionName];
ProjOptions.Values[MapFileOptionName] := MapFileOptionDetailed;
- // workaround for MsBuild, the project has to be saved
+ // workaround for MsBuild, the project has to be saved (seems useless with Delphi 2007 update 1)
ProjOptions.ModifiedState := True;
- TempActiveProject.Save(False, True);
+ //TempActiveProject.Save(False, True);
BuildOK := TempActiveProject.ProjectBuilder.BuildProject(cmOTABuild, False);
ProjOptions.Values[MapFileOptionName] := SaveMapFile;
- // workaround for MsBuild, the project has to be saved
+ // workaround for MsBuild, the project has to be saved (seems useless with Delphi 2007 update 1)
ProjOptions.ModifiedState := True;
- TempActiveProject.Save(False, True);
+ //TempActiveProject.Save(False, True);
if BuildOK then
begin // Build was successful, continue ...
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-06-17 10:32:02
|
Revision: 2042
http://svn.sourceforge.net/jcl/?rev=2042&view=rev
Author: outchy
Date: 2007-06-17 03:31:57 -0700 (Sun, 17 Jun 2007)
Log Message:
-----------
Support for C++Builder 2007
Setting version numbers to JCL 1.101.0.2647 (Testing).
Modified Paths:
--------------
trunk/jcl/Install.txt
trunk/jcl/docs/Experts.html
trunk/jcl/docs/Readme.html
trunk/jcl/docs/Readme.txt
trunk/jcl/experts/common/JclOtaUtils.pas
trunk/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas
trunk/jcl/install/JclInstall.pas
trunk/jcl/packages/c5/JclBaseExpertC50.rc
trunk/jcl/packages/c5/JclBaseExpertC50.res
trunk/jcl/packages/c5/JclC50.rc
trunk/jcl/packages/c5/JclC50.res
trunk/jcl/packages/c5/JclDebugExpertC50.RES
trunk/jcl/packages/c5/JclDebugExpertC50.rc
trunk/jcl/packages/c5/JclDebugExpertDLLC50.rc
trunk/jcl/packages/c5/JclDebugExpertDLLC50.res
trunk/jcl/packages/c5/JclFavoriteFoldersExpertC50.rc
trunk/jcl/packages/c5/JclFavoriteFoldersExpertC50.res
trunk/jcl/packages/c5/JclFavoriteFoldersExpertDLLC50.rc
trunk/jcl/packages/c5/JclFavoriteFoldersExpertDLLC50.res
trunk/jcl/packages/c5/JclProjectAnalysisExpertC50.RES
trunk/jcl/packages/c5/JclProjectAnalysisExpertC50.rc
trunk/jcl/packages/c5/JclProjectAnalysisExpertDLLC50.rc
trunk/jcl/packages/c5/JclProjectAnalysisExpertDLLC50.res
trunk/jcl/packages/c5/JclRepositoryExpertC50.rc
trunk/jcl/packages/c5/JclRepositoryExpertC50.res
trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.rc
trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.res
trunk/jcl/packages/c5/JclSIMDViewExpertC50.rc
trunk/jcl/packages/c5/JclSIMDViewExpertC50.res
trunk/jcl/packages/c5/JclSIMDViewExpertDLLC50.rc
trunk/jcl/packages/c5/JclSIMDViewExpertDLLC50.res
trunk/jcl/packages/c5/JclThreadNameExpertC50.RES
trunk/jcl/packages/c5/JclThreadNameExpertC50.rc
trunk/jcl/packages/c5/JclThreadNameExpertDLLC50.rc
trunk/jcl/packages/c5/JclThreadNameExpertDLLC50.res
trunk/jcl/packages/c5/JclUsesExpertC50.RES
trunk/jcl/packages/c5/JclUsesExpertC50.rc
trunk/jcl/packages/c5/JclUsesExpertDLLC50.rc
trunk/jcl/packages/c5/JclUsesExpertDLLC50.res
trunk/jcl/packages/c5/JclVersionControlExpertC50.rc
trunk/jcl/packages/c5/JclVersionControlExpertC50.res
trunk/jcl/packages/c5/JclVersionControlExpertDLLC50.rc
trunk/jcl/packages/c5/JclVersionControlExpertDLLC50.res
trunk/jcl/packages/c6/Jcl.RES
trunk/jcl/packages/c6/Jcl.rc
trunk/jcl/packages/c6/JclBaseExpert.rc
trunk/jcl/packages/c6/JclBaseExpert.res
trunk/jcl/packages/c6/JclDebugExpert.RES
trunk/jcl/packages/c6/JclDebugExpert.rc
trunk/jcl/packages/c6/JclDebugExpertDLL.rc
trunk/jcl/packages/c6/JclDebugExpertDLL.res
trunk/jcl/packages/c6/JclFavoriteFoldersExpert.RES
trunk/jcl/packages/c6/JclFavoriteFoldersExpert.rc
trunk/jcl/packages/c6/JclFavoriteFoldersExpertDLL.rc
trunk/jcl/packages/c6/JclFavoriteFoldersExpertDLL.res
trunk/jcl/packages/c6/JclProjectAnalysisExpert.RES
trunk/jcl/packages/c6/JclProjectAnalysisExpert.rc
trunk/jcl/packages/c6/JclProjectAnalysisExpertDLL.rc
trunk/jcl/packages/c6/JclProjectAnalysisExpertDLL.res
trunk/jcl/packages/c6/JclRepositoryExpert.rc
trunk/jcl/packages/c6/JclRepositoryExpert.res
trunk/jcl/packages/c6/JclRepositoryExpertDLL.rc
trunk/jcl/packages/c6/JclRepositoryExpertDLL.res
trunk/jcl/packages/c6/JclSIMDViewExpert.rc
trunk/jcl/packages/c6/JclSIMDViewExpert.res
trunk/jcl/packages/c6/JclSIMDViewExpertDLL.rc
trunk/jcl/packages/c6/JclSIMDViewExpertDLL.res
trunk/jcl/packages/c6/JclThreadNameExpert.RES
trunk/jcl/packages/c6/JclThreadNameExpert.rc
trunk/jcl/packages/c6/JclThreadNameExpertDLL.rc
trunk/jcl/packages/c6/JclThreadNameExpertDLL.res
trunk/jcl/packages/c6/JclUsesExpert.RES
trunk/jcl/packages/c6/JclUsesExpert.rc
trunk/jcl/packages/c6/JclUsesExpertDLL.rc
trunk/jcl/packages/c6/JclUsesExpertDLL.res
trunk/jcl/packages/c6/JclVClx.RES
trunk/jcl/packages/c6/JclVClx.rc
trunk/jcl/packages/c6/JclVcl.RES
trunk/jcl/packages/c6/JclVcl.rc
trunk/jcl/packages/c6/JclVersionControlExpert.rc
trunk/jcl/packages/c6/JclVersionControlExpert.res
trunk/jcl/packages/c6/JclVersionControlExpertDLL.rc
trunk/jcl/packages/c6/JclVersionControlExpertDLL.res
trunk/jcl/packages/cs1/Jcl.RES
trunk/jcl/packages/cs1/Jcl.bdsproj
trunk/jcl/packages/cs1/Jcl.rc
trunk/jcl/packages/cs1/JclBaseExpert.RES
trunk/jcl/packages/cs1/JclBaseExpert.bdsproj
trunk/jcl/packages/cs1/JclBaseExpert.rc
trunk/jcl/packages/cs1/JclFavoriteFoldersExpertDLL.RES
trunk/jcl/packages/cs1/JclFavoriteFoldersExpertDLL.bdsproj
trunk/jcl/packages/cs1/JclFavoriteFoldersExpertDLL.rc
trunk/jcl/packages/cs1/JclVersionControlExpertDLL.bdsproj
trunk/jcl/packages/cs1/JclVersionControlExpertDLL.rc
trunk/jcl/packages/cs1/JclVersionControlExpertDLL.res
trunk/jcl/packages/d10/Jcl.bdsproj
trunk/jcl/packages/d10/Jcl.rc
trunk/jcl/packages/d10/Jcl.res
trunk/jcl/packages/d10/JclBaseExpert.bdsproj
trunk/jcl/packages/d10/JclBaseExpert.rc
trunk/jcl/packages/d10/JclBaseExpert.res
trunk/jcl/packages/d10/JclDebugExpert.bdsproj
trunk/jcl/packages/d10/JclDebugExpert.rc
trunk/jcl/packages/d10/JclDebugExpert.res
trunk/jcl/packages/d10/JclDebugExpertDLL.bdsproj
trunk/jcl/packages/d10/JclDebugExpertDLL.rc
trunk/jcl/packages/d10/JclDebugExpertDLL.res
trunk/jcl/packages/d10/JclFavoriteFoldersExpert.bdsproj
trunk/jcl/packages/d10/JclFavoriteFoldersExpert.rc
trunk/jcl/packages/d10/JclFavoriteFoldersExpert.res
trunk/jcl/packages/d10/JclFavoriteFoldersExpertDLL.bdsproj
trunk/jcl/packages/d10/JclFavoriteFoldersExpertDLL.rc
trunk/jcl/packages/d10/JclFavoriteFoldersExpertDLL.res
trunk/jcl/packages/d10/JclProjectAnalysisExpert.RES
trunk/jcl/packages/d10/JclProjectAnalysisExpert.bdsproj
trunk/jcl/packages/d10/JclProjectAnalysisExpert.rc
trunk/jcl/packages/d10/JclProjectAnalysisExpertDLL.bdsproj
trunk/jcl/packages/d10/JclProjectAnalysisExpertDLL.rc
trunk/jcl/packages/d10/JclProjectAnalysisExpertDLL.res
trunk/jcl/packages/d10/JclRepositoryExpert.bdsproj
trunk/jcl/packages/d10/JclRepositoryExpert.rc
trunk/jcl/packages/d10/JclRepositoryExpert.res
trunk/jcl/packages/d10/JclRepositoryExpertDLL.bdsproj
trunk/jcl/packages/d10/JclRepositoryExpertDLL.rc
trunk/jcl/packages/d10/JclRepositoryExpertDLL.res
trunk/jcl/packages/d10/JclSIMDViewExpert.bdsproj
trunk/jcl/packages/d10/JclSIMDViewExpert.rc
trunk/jcl/packages/d10/JclSIMDViewExpert.res
trunk/jcl/packages/d10/JclSIMDViewExpertDLL.bdsproj
trunk/jcl/packages/d10/JclSIMDViewExpertDLL.rc
trunk/jcl/packages/d10/JclSIMDViewExpertDLL.res
trunk/jcl/packages/d10/JclThreadNameExpert.bdsproj
trunk/jcl/packages/d10/JclThreadNameExpert.rc
trunk/jcl/packages/d10/JclThreadNameExpert.res
trunk/jcl/packages/d10/JclThreadNameExpertDLL.bdsproj
trunk/jcl/packages/d10/JclThreadNameExpertDLL.rc
trunk/jcl/packages/d10/JclThreadNameExpertDLL.res
trunk/jcl/packages/d10/JclVcl.bdsproj
trunk/jcl/packages/d10/JclVcl.rc
trunk/jcl/packages/d10/JclVcl.res
trunk/jcl/packages/d10/JclVersionControlExpert.bdsproj
trunk/jcl/packages/d10/JclVersionControlExpert.rc
trunk/jcl/packages/d10/JclVersionControlExpert.res
trunk/jcl/packages/d10/JclVersionControlExpertDLL.bdsproj
trunk/jcl/packages/d10/JclVersionControlExpertDLL.rc
trunk/jcl/packages/d10/JclVersionControlExpertDLL.res
trunk/jcl/packages/d10.net/Jedi.Jcl.bdsproj
trunk/jcl/packages/d11/Jcl.dproj
trunk/jcl/packages/d11/Jcl.rc
trunk/jcl/packages/d11/Jcl.res
trunk/jcl/packages/d11/JclBaseExpert.dproj
trunk/jcl/packages/d11/JclBaseExpert.rc
trunk/jcl/packages/d11/JclBaseExpert.res
trunk/jcl/packages/d11/JclDebugExpert.dproj
trunk/jcl/packages/d11/JclDebugExpert.rc
trunk/jcl/packages/d11/JclDebugExpert.res
trunk/jcl/packages/d11/JclDebugExpertDLL.dproj
trunk/jcl/packages/d11/JclDebugExpertDLL.rc
trunk/jcl/packages/d11/JclFavoriteFoldersExpert.dproj
trunk/jcl/packages/d11/JclFavoriteFoldersExpert.rc
trunk/jcl/packages/d11/JclFavoriteFoldersExpert.res
trunk/jcl/packages/d11/JclFavoriteFoldersExpertDLL.dproj
trunk/jcl/packages/d11/JclFavoriteFoldersExpertDLL.rc
trunk/jcl/packages/d11/JclProjectAnalysisExpert.dproj
trunk/jcl/packages/d11/JclProjectAnalysisExpert.rc
trunk/jcl/packages/d11/JclProjectAnalysisExpert.res
trunk/jcl/packages/d11/JclProjectAnalysisExpertDLL.dproj
trunk/jcl/packages/d11/JclProjectAnalysisExpertDLL.rc
trunk/jcl/packages/d11/JclRepositoryExpert.dproj
trunk/jcl/packages/d11/JclRepositoryExpert.rc
trunk/jcl/packages/d11/JclRepositoryExpert.res
trunk/jcl/packages/d11/JclRepositoryExpertDLL.dproj
trunk/jcl/packages/d11/JclRepositoryExpertDLL.rc
trunk/jcl/packages/d11/JclSIMDViewExpert.dproj
trunk/jcl/packages/d11/JclSIMDViewExpert.rc
trunk/jcl/packages/d11/JclSIMDViewExpert.res
trunk/jcl/packages/d11/JclSIMDViewExpertDLL.dproj
trunk/jcl/packages/d11/JclSIMDViewExpertDLL.rc
trunk/jcl/packages/d11/JclThreadNameExpert.dproj
trunk/jcl/packages/d11/JclThreadNameExpert.rc
trunk/jcl/packages/d11/JclThreadNameExpert.res
trunk/jcl/packages/d11/JclThreadNameExpertDLL.dproj
trunk/jcl/packages/d11/JclThreadNameExpertDLL.rc
trunk/jcl/packages/d11/JclVcl.dproj
trunk/jcl/packages/d11/JclVcl.rc
trunk/jcl/packages/d11/JclVcl.res
trunk/jcl/packages/d11/JclVersionControlExpert.dproj
trunk/jcl/packages/d11/JclVersionControlExpert.rc
trunk/jcl/packages/d11/JclVersionControlExpert.res
trunk/jcl/packages/d11/JclVersionControlExpertDLL.dproj
trunk/jcl/packages/d11/JclVersionControlExpertDLL.rc
trunk/jcl/packages/d5/JclBaseExpertD50.rc
trunk/jcl/packages/d5/JclBaseExpertD50.res
trunk/jcl/packages/d5/JclD50.RES
trunk/jcl/packages/d5/JclD50.rc
trunk/jcl/packages/d5/JclDebugExpertD50.RES
trunk/jcl/packages/d5/JclDebugExpertD50.rc
trunk/jcl/packages/d5/JclDebugExpertDLLD50.RES
trunk/jcl/packages/d5/JclDebugExpertDLLD50.rc
trunk/jcl/packages/d5/JclFavoriteFoldersExpertD50.RES
trunk/jcl/packages/d5/JclFavoriteFoldersExpertD50.rc
trunk/jcl/packages/d5/JclFavoriteFoldersExpertDLLD50.RES
trunk/jcl/packages/d5/JclFavoriteFoldersExpertDLLD50.rc
trunk/jcl/packages/d5/JclProjectAnalysisExpertD50.RES
trunk/jcl/packages/d5/JclProjectAnalysisExpertD50.rc
trunk/jcl/packages/d5/JclProjectAnalysisExpertDLLD50.RES
trunk/jcl/packages/d5/JclProjectAnalysisExpertDLLD50.rc
trunk/jcl/packages/d5/JclRepositoryExpertD50.rc
trunk/jcl/packages/d5/JclRepositoryExpertD50.res
trunk/jcl/packages/d5/JclRepositoryExpertDLLD50.rc
trunk/jcl/packages/d5/JclRepositoryExpertDLLD50.res
trunk/jcl/packages/d5/JclSIMDViewExpertD50.RES
trunk/jcl/packages/d5/JclSIMDViewExpertD50.rc
trunk/jcl/packages/d5/JclSIMDViewExpertDLLD50.RES
trunk/jcl/packages/d5/JclSIMDViewExpertDLLD50.rc
trunk/jcl/packages/d5/JclThreadNameExpertD50.RES
trunk/jcl/packages/d5/JclThreadNameExpertD50.rc
trunk/jcl/packages/d5/JclThreadNameExpertDLLD50.RES
trunk/jcl/packages/d5/JclThreadNameExpertDLLD50.rc
trunk/jcl/packages/d5/JclUsesExpertD50.RES
trunk/jcl/packages/d5/JclUsesExpertD50.rc
trunk/jcl/packages/d5/JclUsesExpertDLLD50.RES
trunk/jcl/packages/d5/JclUsesExpertDLLD50.rc
trunk/jcl/packages/d5/JclVersionControlExpertD50.rc
trunk/jcl/packages/d5/JclVersionControlExpertD50.res
trunk/jcl/packages/d5/JclVersionControlExpertDLLD50.rc
trunk/jcl/packages/d5/JclVersionControlExpertDLLD50.res
trunk/jcl/packages/d6/Jcl.rc
trunk/jcl/packages/d6/Jcl.res
trunk/jcl/packages/d6/JclBaseExpert.rc
trunk/jcl/packages/d6/JclBaseExpert.res
trunk/jcl/packages/d6/JclDebugExpert.rc
trunk/jcl/packages/d6/JclDebugExpert.res
trunk/jcl/packages/d6/JclDebugExpertDLL.RES
trunk/jcl/packages/d6/JclDebugExpertDLL.rc
trunk/jcl/packages/d6/JclFavoriteFoldersExpert.rc
trunk/jcl/packages/d6/JclFavoriteFoldersExpert.res
trunk/jcl/packages/d6/JclFavoriteFoldersExpertDLL.RES
trunk/jcl/packages/d6/JclFavoriteFoldersExpertDLL.rc
trunk/jcl/packages/d6/JclProjectAnalysisExpert.RES
trunk/jcl/packages/d6/JclProjectAnalysisExpert.rc
trunk/jcl/packages/d6/JclProjectAnalysisExpertDLL.RES
trunk/jcl/packages/d6/JclProjectAnalysisExpertDLL.rc
trunk/jcl/packages/d6/JclRepositoryExpert.rc
trunk/jcl/packages/d6/JclRepositoryExpert.res
trunk/jcl/packages/d6/JclRepositoryExpertDLL.rc
trunk/jcl/packages/d6/JclRepositoryExpertDLL.res
trunk/jcl/packages/d6/JclSIMDViewExpert.rc
trunk/jcl/packages/d6/JclSIMDViewExpert.res
trunk/jcl/packages/d6/JclSIMDViewExpertDLL.RES
trunk/jcl/packages/d6/JclSIMDViewExpertDLL.rc
trunk/jcl/packages/d6/JclThreadNameExpert.rc
trunk/jcl/packages/d6/JclThreadNameExpert.res
trunk/jcl/packages/d6/JclThreadNameExpertDLL.RES
trunk/jcl/packages/d6/JclThreadNameExpertDLL.rc
trunk/jcl/packages/d6/JclUsesExpert.rc
trunk/jcl/packages/d6/JclUsesExpert.res
trunk/jcl/packages/d6/JclUsesExpertDLL.RES
trunk/jcl/packages/d6/JclUsesExpertDLL.rc
trunk/jcl/packages/d6/JclVClx.rc
trunk/jcl/packages/d6/JclVClx.res
trunk/jcl/packages/d6/JclVcl.rc
trunk/jcl/packages/d6/JclVcl.res
trunk/jcl/packages/d6/JclVersionControlExpert.rc
trunk/jcl/packages/d6/JclVersionControlExpert.res
trunk/jcl/packages/d6/JclVersionControlExpertDLL.rc
trunk/jcl/packages/d6/JclVersionControlExpertDLL.res
trunk/jcl/packages/d7/Jcl.rc
trunk/jcl/packages/d7/Jcl.res
trunk/jcl/packages/d7/JclBaseExpert.rc
trunk/jcl/packages/d7/JclBaseExpert.res
trunk/jcl/packages/d7/JclDebugExpert.rc
trunk/jcl/packages/d7/JclDebugExpert.res
trunk/jcl/packages/d7/JclDebugExpertDLL.RES
trunk/jcl/packages/d7/JclDebugExpertDLL.rc
trunk/jcl/packages/d7/JclFavoriteFoldersExpert.rc
trunk/jcl/packages/d7/JclFavoriteFoldersExpert.res
trunk/jcl/packages/d7/JclFavoriteFoldersExpertDLL.RES
trunk/jcl/packages/d7/JclFavoriteFoldersExpertDLL.rc
trunk/jcl/packages/d7/JclProjectAnalysisExpert.RES
trunk/jcl/packages/d7/JclProjectAnalysisExpert.rc
trunk/jcl/packages/d7/JclProjectAnalysisExpertDLL.RES
trunk/jcl/packages/d7/JclProjectAnalysisExpertDLL.rc
trunk/jcl/packages/d7/JclRepositoryExpert.rc
trunk/jcl/packages/d7/JclRepositoryExpert.res
trunk/jcl/packages/d7/JclRepositoryExpertDLL.rc
trunk/jcl/packages/d7/JclRepositoryExpertDLL.res
trunk/jcl/packages/d7/JclSIMDViewExpert.rc
trunk/jcl/packages/d7/JclSIMDViewExpert.res
trunk/jcl/packages/d7/JclSIMDViewExpertDLL.RES
trunk/jcl/packages/d7/JclSIMDViewExpertDLL.rc
trunk/jcl/packages/d7/JclThreadNameExpert.rc
trunk/jcl/packages/d7/JclThreadNameExpert.res
trunk/jcl/packages/d7/JclThreadNameExpertDLL.RES
trunk/jcl/packages/d7/JclThreadNameExpertDLL.rc
trunk/jcl/packages/d7/JclUsesExpert.rc
trunk/jcl/packages/d7/JclUsesExpert.res
trunk/jcl/packages/d7/JclUsesExpertDLL.RES
trunk/jcl/packages/d7/JclUsesExpertDLL.rc
trunk/jcl/packages/d7/JclVClx.rc
trunk/jcl/packages/d7/JclVClx.res
trunk/jcl/packages/d7/JclVcl.rc
trunk/jcl/packages/d7/JclVcl.res
trunk/jcl/packages/d7/JclVersionControlExpert.rc
trunk/jcl/packages/d7/JclVersionControlExpert.res
trunk/jcl/packages/d7/JclVersionControlExpertDLL.rc
trunk/jcl/packages/d7/JclVersionControlExpertDLL.res
trunk/jcl/packages/d8/Jcl.RES
trunk/jcl/packages/d8/Jcl.bdsproj
trunk/jcl/packages/d8/Jcl.rc
trunk/jcl/packages/d8/JclBaseExpert.RES
trunk/jcl/packages/d8/JclBaseExpert.bdsproj
trunk/jcl/packages/d8/JclBaseExpert.rc
trunk/jcl/packages/d8/JclFavoriteFoldersExpertDLL.RES
trunk/jcl/packages/d8/JclFavoriteFoldersExpertDLL.bdsproj
trunk/jcl/packages/d8/JclFavoriteFoldersExpertDLL.rc
trunk/jcl/packages/d8/JclVersionControlExpertDLL.bdsproj
trunk/jcl/packages/d8/JclVersionControlExpertDLL.rc
trunk/jcl/packages/d8/JclVersionControlExpertDLL.res
trunk/jcl/packages/d9/Jcl.RES
trunk/jcl/packages/d9/Jcl.bdsproj
trunk/jcl/packages/d9/Jcl.rc
trunk/jcl/packages/d9/JclBaseExpert.bdsproj
trunk/jcl/packages/d9/JclBaseExpert.rc
trunk/jcl/packages/d9/JclBaseExpert.res
trunk/jcl/packages/d9/JclDebugExpert.RES
trunk/jcl/packages/d9/JclDebugExpert.bdsproj
trunk/jcl/packages/d9/JclDebugExpert.rc
trunk/jcl/packages/d9/JclDebugExpertDLL.RES
trunk/jcl/packages/d9/JclDebugExpertDLL.bdsproj
trunk/jcl/packages/d9/JclDebugExpertDLL.rc
trunk/jcl/packages/d9/JclFavoriteFoldersExpert.bdsproj
trunk/jcl/packages/d9/JclFavoriteFoldersExpert.rc
trunk/jcl/packages/d9/JclFavoriteFoldersExpert.res
trunk/jcl/packages/d9/JclFavoriteFoldersExpertDLL.RES
trunk/jcl/packages/d9/JclFavoriteFoldersExpertDLL.bdsproj
trunk/jcl/packages/d9/JclFavoriteFoldersExpertDLL.rc
trunk/jcl/packages/d9/JclProjectAnalysisExpert.RES
trunk/jcl/packages/d9/JclProjectAnalysisExpert.bdsproj
trunk/jcl/packages/d9/JclProjectAnalysisExpert.rc
trunk/jcl/packages/d9/JclProjectAnalysisExpertDLL.RES
trunk/jcl/packages/d9/JclProjectAnalysisExpertDLL.bdsproj
trunk/jcl/packages/d9/JclProjectAnalysisExpertDLL.rc
trunk/jcl/packages/d9/JclRepositoryExpert.bdsproj
trunk/jcl/packages/d9/JclRepositoryExpert.rc
trunk/jcl/packages/d9/JclRepositoryExpert.res
trunk/jcl/packages/d9/JclRepositoryExpertDLL.bdsproj
trunk/jcl/packages/d9/JclRepositoryExpertDLL.rc
trunk/jcl/packages/d9/JclRepositoryExpertDLL.res
trunk/jcl/packages/d9/JclSIMDViewExpert.bdsproj
trunk/jcl/packages/d9/JclSIMDViewExpert.rc
trunk/jcl/packages/d9/JclSIMDViewExpertDLL.RES
trunk/jcl/packages/d9/JclSIMDViewExpertDLL.bdsproj
trunk/jcl/packages/d9/JclSIMDViewExpertDLL.rc
trunk/jcl/packages/d9/JclSimdViewExpert.RES
trunk/jcl/packages/d9/JclThreadNameExpert.RES
trunk/jcl/packages/d9/JclThreadNameExpert.bdsproj
trunk/jcl/packages/d9/JclThreadNameExpert.rc
trunk/jcl/packages/d9/JclThreadNameExpertDLL.RES
trunk/jcl/packages/d9/JclThreadNameExpertDLL.bdsproj
trunk/jcl/packages/d9/JclThreadNameExpertDLL.rc
trunk/jcl/packages/d9/JclVcl.RES
trunk/jcl/packages/d9/JclVcl.bdsproj
trunk/jcl/packages/d9/JclVcl.rc
trunk/jcl/packages/d9/JclVersionControlExpert.bdsproj
trunk/jcl/packages/d9/JclVersionControlExpert.rc
trunk/jcl/packages/d9/JclVersionControlExpert.res
trunk/jcl/packages/d9/JclVersionControlExpertDLL.bdsproj
trunk/jcl/packages/d9/JclVersionControlExpertDLL.rc
trunk/jcl/packages/d9/JclVersionControlExpertDLL.res
trunk/jcl/packages/d9.net/Jedi.Jcl.bdsproj
trunk/jcl/packages/k3/Jcl.bpk
trunk/jcl/packages/k3/Jcl.dpk
trunk/jcl/packages/k3/Jcl.rc
trunk/jcl/packages/k3/Jcl.res
trunk/jcl/packages/k3/JclVClx.bpk
trunk/jcl/packages/k3/JclVClx.dpk
trunk/jcl/packages/k3/JclVClx.rc
trunk/jcl/packages/k3/JclVClx.res
trunk/jcl/packages/resources.mak
trunk/jcl/packages/xml/Jcl-L.xml
trunk/jcl/packages/xml/Jcl-R.xml
trunk/jcl/packages/xml/JclBaseExpert-D.xml
trunk/jcl/packages/xml/JclDebugExpert-D.xml
trunk/jcl/packages/xml/JclDebugExpertDLL-L.xml
trunk/jcl/packages/xml/JclFavoriteFoldersExpert-D.xml
trunk/jcl/packages/xml/JclFavoriteFoldersExpertDLL-L.xml
trunk/jcl/packages/xml/JclProjectAnalysisExpert-D.xml
trunk/jcl/packages/xml/JclProjectAnalysisExpertDLL-L.xml
trunk/jcl/packages/xml/JclRepositoryExpert-D.xml
trunk/jcl/packages/xml/JclRepositoryExpertDLL-L.xml
trunk/jcl/packages/xml/JclSIMDViewExpert-D.xml
trunk/jcl/packages/xml/JclSIMDViewExpertDLL-L.xml
trunk/jcl/packages/xml/JclThreadNameExpert-D.xml
trunk/jcl/packages/xml/JclThreadNameExpertDLL-L.xml
trunk/jcl/packages/xml/JclUsesExpert-D.xml
trunk/jcl/packages/xml/JclUsesExpertDLL-L.xml
trunk/jcl/packages/xml/JclVClx-R.xml
trunk/jcl/packages/xml/JclVcl-R.xml
trunk/jcl/packages/xml/JclVersionControlExpert-D.xml
trunk/jcl/packages/xml/JclVersionControlExpertDLL-L.xml
trunk/jcl/source/common/JclBase.pas
trunk/jcl/source/common/JclBorlandTools.pas
Modified: trunk/jcl/Install.txt
===================================================================
--- trunk/jcl/Install.txt 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/Install.txt 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,4 +1,4 @@
-JEDI Code Library v 1.99 Installation
+JEDI Code Library v 1.101 Installation
Supported development tools versions:
@@ -11,6 +11,7 @@
- Borland Delphi 2005
- Borland Developer Studio 2006 (also known as Delphi 2006, C++Builder 2006)
- CodeGear Delphi 2007
+- CodeGear C++Builder 2007
For more detailed information, see docs\Readme.html.
Modified: trunk/jcl/docs/Experts.html
===================================================================
--- trunk/jcl/docs/Experts.html 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/docs/Experts.html 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en-us">
<head>
- <title>JEDI Code Library Release 1.98</title>
+ <title>Jedi Code Library Release 1.100</title>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<link rel="stylesheet" type="text/css" href="styles/default.css">
<meta content="Project JEDI" name="author">
@@ -10,9 +10,9 @@
<body>
<hr><br>
<h1>JEDI Code Library</h1>
-<p>Release 1.98<br>
-Build 2509<br>
-13-January-2007</p>
+<p>Unstable 1.101<br>
+Build 2647<br>
+30-May-2007</p>
<hr><br>
<h3>Content of this file</h3>
<ul>
Modified: trunk/jcl/docs/Readme.html
===================================================================
--- trunk/jcl/docs/Readme.html 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/docs/Readme.html 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,10 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en-us">
<head>
-
-
-
- <title>JEDI Code Library Release 1.98</title>
+ <title>Jedi Code Library Release 1.100</title>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
@@ -21,11 +18,10 @@
<h1>JEDI Code Library</h1>
-<p>Release 1.99<br>
+<p>Unstable 1.101<br>
+Build 2647
+30-May-2007</p>
-Build 2551
-24-Februray-2007</p>
-
<hr><br>
<h3>Content of this file</h3>
@@ -57,9 +53,8 @@
<hr><br>
<h3><a name="about">About this release</a></h3>
+<p>JCL release 1.100 provides an updated support for all targets (including CodeGear Delphi 2007 for Win32 and CodeGear C++Builder 2007).</p>
-<p>JCL release 1.99 provide an updated support for all targets (including CodeGear Delphi 2007 for Win32).</p>
-
<p>As always, multiple bugs have been fixed; for detailed change logs,
use the facilities of our Subversion repository at Sourceforge.net
<a href="http://sourceforge.net/projects/jcl/">http://sourceforge.net/projects/jcl/</a>
Modified: trunk/jcl/docs/Readme.txt
===================================================================
--- trunk/jcl/docs/Readme.txt 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/docs/Readme.txt 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,9 +1,9 @@
--------------------------------------------------------------------------------
JEDI Code Library
-Release 1.99
-Build 2551
-24-Februray-2007
+Unstable 1.101
+Build 2647
+30-May-2007
--------------------------------------------------------------------------------
@@ -22,8 +22,8 @@
--------------------------------------------------------------------------------
About this release
-JCL release 1.99 provide an updated support for all targets (including CodeGear
-Delphi 2007 for Win32).
+JCL release 1.100 provides an updated support for all targets (including CodeGear
+Delphi 2007 for Win32 and CodeGear C++Builder 2007).
As always, multiple bugs have been fixed; for detailed change logs, use the
facilities of our Subversion repository at Sourceforge.net
Modified: trunk/jcl/experts/common/JclOtaUtils.pas
===================================================================
--- trunk/jcl/experts/common/JclOtaUtils.pas 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/experts/common/JclOtaUtils.pas 2007-06-17 10:31:57 UTC (rev 2042)
@@ -691,6 +691,10 @@
raise EJclExpertException.CreateTrace(RsENoProjectOptions);
LibPrefix := Trim(VarToStr(Project.ProjectOptions.Values[LIBPREFIXOptionName]));
LibSuffix := Trim(VarToStr(Project.ProjectOptions.Values[LIBSUFFIXOptionName]));
+ if LibPrefix = 'false' then
+ LibPrefix := '';
+ if LibSuffix = 'false' then
+ LibSuffix := '';
{$ELSE ~RTL140_UP}
LibPrefix := '';
LibSuffix := '';
@@ -717,6 +721,9 @@
begin
Result := VarToStr(Project.ProjectOptions.Values[PkgDllDirOptionName]);
+ if Result = 'false' then
+ Result := '';
+
if Result = '' then
begin
if not Assigned(FServices.GetEnvironmentOptions) then
@@ -727,6 +734,9 @@
else
Result := VarToStr(Project.ProjectOptions.Values[OutputDirOptionName]);
+ if Result = 'false' then
+ Result := '';
+
Result := SubstitutePath(Trim(Result));
if Result = '' then
Result := ExtractFilePath(Project.FileName)
Modified: trunk/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas
===================================================================
--- trunk/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas 2007-06-17 10:31:57 UTC (rev 2042)
@@ -191,7 +191,7 @@
ProjectAnalyzerForm.SetFileName(ExecutableFileName, MapFileName, ProjectName);
ProjectAnalyzerForm.Show;
end;
- if SaveMapFile <> MapFileOptionDetailed then
+ if Integer(SaveMapFile) <> MapFileOptionDetailed then
begin // delete MAP and DRC file
DeleteFile(MapFileName);
DeleteFile(ChangeFileExt(MapFileName, DrcFileExtension));
Modified: trunk/jcl/install/JclInstall.pas
===================================================================
--- trunk/jcl/install/JclInstall.pas 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/install/JclInstall.pas 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1452,7 +1452,8 @@
and OptionChecked[joDualPackages] then
with TJclBDSInstallation(Target) do
begin
- Result := AddToCppSearchPath(FLibDir) and AddToCppSearchPath(Distribution.JclSourceDir);
+ Result := AddToCppSearchPath(FLibDir) and AddToCppSearchPath(Distribution.JclSourceDir) and
+ ((IDEVersionNumber < 5) or AddToCppLibraryPath(FLibDir));
if Result then
WriteLog(Format('Added "%s;%s" to cpp search path.', [FLibDir, Distribution.JclSourceDir]))
else
@@ -1919,7 +1920,8 @@
if (Target.RadToolKind = brBorlandDevStudio) and (bpBCBuilder32 in Target.Personalities) then
with TJclBDSInstallation(Target) do
begin
- if RemoveFromCppSearchPath(FLibDir) and RemoveFromCppSearchPath(Distribution.JclSourceDir) then
+ if RemoveFromCppSearchPath(FLibDir) and RemoveFromCppSearchPath(Distribution.JclSourceDir) and
+ ((IDEVersionNumber < 5) or RemoveFromCppLibraryPath(FLibDir)) then
WriteLog(Format('Removed "%s;%s" from cpp search path.', [FLibDir, Distribution.JclSourceDir]))
else
WriteLog('Failed to remove cpp search path.');
@@ -2929,13 +2931,12 @@
{$IFDEF MSWINDOWS}
FCLRVersions := TStringList.Create;
+ FRegHelpCommands := TStringList.Create;
{$ENDIF MSWINDOWS}
FRadToolInstallations := TJclBorRADToolInstallations.Create;
FTargetInstalls := TObjectList.Create;
FTargetInstalls.OwnsObjects := True;
-
- FRegHelpCommands := TStringList.Create;
end;
function TJclDistribution.CreateInstall(Target: TJclBorRADToolInstallation): Boolean;
@@ -2998,14 +2999,13 @@
begin
{$IFDEF MSWINDOWS}
FCLRVersions.Free;
+ FRegHelpCommands.Free;
{$ENDIF MSWINDOWS}
FRadToolInstallations.Free;
FTargetInstalls.Free;
- FRegHelpCommands.Free;
-
inherited Destroy;
end;
Modified: trunk/jcl/packages/c5/JclBaseExpertC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclBaseExpertC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclBaseExpertC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Package containing common units for JCL Experts\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclBaseExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclBaseExpertC50C50.bpl\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclBaseExpertC50.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c5/JclC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JEDI Code Library RTL package\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclC50C50.bpl\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclC50.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c5/JclDebugExpertC50.RES
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c5/JclDebugExpertC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclDebugExpertC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclDebugExpertC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Debug IDE extension\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclDebugExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclDebugExpertC50C50.bpl\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclDebugExpertDLLC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclDebugExpertDLLC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclDebugExpertDLLC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Debug IDE extension\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclDebugExpertDLLC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclDebugExpertDLLC50C50.dll\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclDebugExpertDLLC50.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c5/JclFavoriteFoldersExpertC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclFavoriteFoldersExpertC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclFavoriteFoldersExpertC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Open and Save IDE dialogs with favorite folders\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclFavoriteFoldersExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclFavoriteFoldersExpertC50C50.bpl\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclFavoriteFoldersExpertC50.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c5/JclFavoriteFoldersExpertDLLC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclFavoriteFoldersExpertDLLC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclFavoriteFoldersExpertDLLC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Open and Save IDE dialogs with favorite folders\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclFavoriteFoldersExpertDLLC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclFavoriteFoldersExpertDLLC50C50.dll\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclFavoriteFoldersExpertDLLC50.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c5/JclProjectAnalysisExpertC50.RES
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c5/JclProjectAnalysisExpertC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclProjectAnalysisExpertC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclProjectAnalysisExpertC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Project Analyzer\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclProjectAnalysisExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclProjectAnalysisExpertC50C50.bpl\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclProjectAnalysisExpertDLLC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclProjectAnalysisExpertDLLC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclProjectAnalysisExpertDLLC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Project Analyzer\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclProjectAnalysisExpertDLLC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclProjectAnalysisExpertDLLC50C50.dll\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclProjectAnalysisExpertDLLC50.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c5/JclRepositoryExpertC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclRepositoryExpertC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclRepositoryExpertC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Package containing repository wizards\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclRepositoryExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclRepositoryExpertC50C50.bpl\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclRepositoryExpertC50.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Package containing repository wizards\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclRepositoryExpertDLLC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclRepositoryExpertDLLC50C50.dll\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclRepositoryExpertDLLC50.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c5/JclSIMDViewExpertC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclSIMDViewExpertC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclSIMDViewExpertC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Debug Window of XMM registers\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclSIMDViewExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclSIMDViewExpertC50C50.bpl\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclSIMDViewExpertC50.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c5/JclSIMDViewExpertDLLC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclSIMDViewExpertDLLC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclSIMDViewExpertDLLC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Debug Window of XMM registers\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclSIMDViewExpertDLLC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclSIMDViewExpertDLLC50C50.dll\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclSIMDViewExpertDLLC50.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c5/JclThreadNameExpertC50.RES
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c5/JclThreadNameExpertC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclThreadNameExpertC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclThreadNameExpertC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Thread Name IDE expert\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclThreadNameExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclThreadNameExpertC50C50.bpl\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclThreadNameExpertDLLC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclThreadNameExpertDLLC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclThreadNameExpertDLLC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Thread Name IDE expert\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclThreadNameExpertDLLC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclThreadNameExpertDLLC50C50.dll\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclThreadNameExpertDLLC50.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c5/JclUsesExpertC50.RES
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c5/JclUsesExpertC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclUsesExpertC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclUsesExpertC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Uses Wizard\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclUsesExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclUsesExpertC50C50.bpl\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclUsesExpertDLLC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclUsesExpertDLLC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclUsesExpertDLLC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Uses Wizard\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclUsesExpertDLLC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclUsesExpertDLLC50C50.dll\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclUsesExpertDLLC50.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c5/JclVersionControlExpertC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclVersionControlExpertC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclVersionControlExpertC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Integration of version control systems in the IDE\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclVersionControlExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclVersionControlExpertC50C50.bpl\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclVersionControlExpertC50.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c5/JclVersionControlExpertDLLC50.rc
===================================================================
--- trunk/jcl/packages/c5/JclVersionControlExpertDLLC50.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c5/JclVersionControlExpertDLLC50.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Integration of version control systems in the IDE\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclVersionControlExpertDLLC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclVersionControlExpertDLLC50C50.dll\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c5/JclVersionControlExpertDLLC50.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c6/Jcl.RES
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c6/Jcl.rc
===================================================================
--- trunk/jcl/packages/c6/Jcl.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c6/Jcl.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JEDI Code Library RTL package\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "Jcl\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclC60.bpl\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c6/JclBaseExpert.rc
===================================================================
--- trunk/jcl/packages/c6/JclBaseExpert.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c6/JclBaseExpert.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Package containing common units for JCL Experts\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclBaseExpert\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclBaseExpertC60.bpl\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c6/JclBaseExpert.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c6/JclDebugExpert.RES
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c6/JclDebugExpert.rc
===================================================================
--- trunk/jcl/packages/c6/JclDebugExpert.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c6/JclDebugExpert.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Debug IDE extension\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclDebugExpert\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclDebugExpertC60.bpl\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c6/JclDebugExpertDLL.rc
===================================================================
--- trunk/jcl/packages/c6/JclDebugExpertDLL.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c6/JclDebugExpertDLL.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Debug IDE extension\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclDebugExpertDLL\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclDebugExpertDLLC60.dll\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c6/JclDebugExpertDLL.res
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c6/JclFavoriteFoldersExpert.RES
===================================================================
(Binary files differ)
Modified: trunk/jcl/packages/c6/JclFavoriteFoldersExpert.rc
===================================================================
--- trunk/jcl/packages/c6/JclFavoriteFoldersExpert.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c6/JclFavoriteFoldersExpert.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Open and Save IDE dialogs with favorite folders\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.101.0.2647\0"
VALUE "InternalName", "JclFavoriteFoldersExpert\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclFavoriteFoldersExpertC60.bpl\0"
VALUE "ProductName", "JEDI Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.101 Build 2647\0"
END
END
BLOCK "VarFileInfo"
Modified: trunk/jcl/packages/c6/JclFavoriteFoldersExpertDLL.rc
===================================================================
--- trunk/jcl/packages/c6/JclFavoriteFoldersExpertDLL.rc 2007-06-17 10:25:17 UTC (rev 2041)
+++ trunk/jcl/packages/c6/JclFavoriteFoldersExpertDLL.rc 2007-06-17 10:31:57 UTC (rev 2042)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,101,0,2647
+PRODUCTVERSION 1,101,0,2647
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _D...
[truncated message content] |
|
From: <ou...@us...> - 2007-06-17 10:25:18
|
Revision: 2041
http://svn.sourceforge.net/jcl/?rev=2041&view=rev
Author: outchy
Date: 2007-06-17 03:25:17 -0700 (Sun, 17 Jun 2007)
Log Message:
-----------
Kylix compatibility
Modified Paths:
--------------
trunk/jcl/source/common/JclSysInfo.pas
Modified: trunk/jcl/source/common/JclSysInfo.pas
===================================================================
--- trunk/jcl/source/common/JclSysInfo.pas 2007-06-17 10:23:32 UTC (rev 2040)
+++ trunk/jcl/source/common/JclSysInfo.pas 2007-06-17 10:25:17 UTC (rev 2041)
@@ -1443,21 +1443,19 @@
Vars.EndUpdate;
end;
end;
-{$ENDIF KYLIX}
-{$IFDEF UNIX}
+
function GetEnvironmentVars(const Vars: TStrings; Expand: Boolean): Boolean;
begin
Result := GetEnvironmentVars(Vars); // Expand is there just for x-platform compatibility
end;
-{$ENDIF UNIX}
+{$ENDIF KYLIX}
+{$IFDEF MSWINDOWS}
function GetEnvironmentVars(const Vars: TStrings): Boolean;
begin
Result := GetEnvironmentVars(Vars, True);
end;
-{$IFDEF MSWINDOWS}
-
function GetEnvironmentVars(const Vars: TStrings; Expand: Boolean): Boolean;
{$IFDEF CLR}
var
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-06-17 10:23:37
|
Revision: 2040
http://svn.sourceforge.net/jcl/?rev=2040&view=rev
Author: outchy
Date: 2007-06-17 03:23:32 -0700 (Sun, 17 Jun 2007)
Log Message:
-----------
Mantis 4126 Calling FileExists with an empty string results in True instead of False.
Modified Paths:
--------------
trunk/jcl/source/common/JclFileUtils.pas
Modified: trunk/jcl/source/common/JclFileUtils.pas
===================================================================
--- trunk/jcl/source/common/JclFileUtils.pas 2007-06-16 19:19:03 UTC (rev 2039)
+++ trunk/jcl/source/common/JclFileUtils.pas 2007-06-17 10:23:32 UTC (rev 2040)
@@ -3056,18 +3056,23 @@
{$ENDIF MSWINDOWS}
{$ENDIF CLR}
begin
- {$IFDEF CLR}
- Result := &File.Exists(FileName);
- {$ELSE ~CLR}
- {$IFDEF MSWINDOWS}
- // FileGetSize is very slow, GetFileAttributes is much faster
- Attr := GetFileAttributes(Pointer(Filename));
- Result := (Attr <> $FFFFFFFF) and (Attr and FILE_ATTRIBUTE_DIRECTORY = 0);
- {$ELSE}
- // Attempt to access the file, doesn't matter how, using FileGetSize is as good as anything else.
- Result := FileGetSize(FileName) <> -1;
- {$ENDIF MSWINDOWS}
- {$ENDIF ~CLR}
+ if FileName <> '' then
+ begin
+ {$IFDEF CLR}
+ Result := &File.Exists(FileName);
+ {$ELSE ~CLR}
+ {$IFDEF MSWINDOWS}
+ // FileGetSize is very slow, GetFileAttributes is much faster
+ Attr := GetFileAttributes(Pointer(Filename));
+ Result := (Attr <> $FFFFFFFF) and (Attr and FILE_ATTRIBUTE_DIRECTORY = 0);
+ {$ELSE}
+ // Attempt to access the file, doesn't matter how, using FileGetSize is as good as anything else.
+ Result := FileGetSize(FileName) <> -1;
+ {$ENDIF MSWINDOWS}
+ {$ENDIF ~CLR}
+ end
+ else
+ Result := False;
end;
function FileMove(const ExistingFileName, NewFileName: string; ReplaceExisting: Boolean = False): Boolean;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-06-16 19:19:09
|
Revision: 2039
http://svn.sourceforge.net/jcl/?rev=2039&view=rev
Author: outchy
Date: 2007-06-16 12:19:03 -0700 (Sat, 16 Jun 2007)
Log Message:
-----------
tagging JCL 1.100 (formerly on C++Builder 2007 partner dvd)
Added Paths:
-----------
tags/JCL-1.100-Build2646/
Copied: tags/JCL-1.100-Build2646 (from rev 2038, branches/JCL_1.100)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-06-16 18:31:50
|
Revision: 2038
http://svn.sourceforge.net/jcl/?rev=2038&view=rev
Author: outchy
Date: 2007-06-16 11:31:47 -0700 (Sat, 16 Jun 2007)
Log Message:
-----------
Support for C++Builder 2007
Modified Paths:
--------------
branches/JCL_1.100/jcl/Install.txt
branches/JCL_1.100/jcl/docs/Experts.html
branches/JCL_1.100/jcl/docs/Readme.html
branches/JCL_1.100/jcl/docs/Readme.txt
branches/JCL_1.100/jcl/experts/common/JclOtaUtils.pas
branches/JCL_1.100/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas
branches/JCL_1.100/jcl/install/JclInstall.pas
branches/JCL_1.100/jcl/packages/c5/JclBaseExpertC50.rc
branches/JCL_1.100/jcl/packages/c5/JclBaseExpertC50.res
branches/JCL_1.100/jcl/packages/c5/JclC50.rc
branches/JCL_1.100/jcl/packages/c5/JclC50.res
branches/JCL_1.100/jcl/packages/c5/JclDebugExpertC50.RES
branches/JCL_1.100/jcl/packages/c5/JclDebugExpertC50.rc
branches/JCL_1.100/jcl/packages/c5/JclDebugExpertDLLC50.rc
branches/JCL_1.100/jcl/packages/c5/JclDebugExpertDLLC50.res
branches/JCL_1.100/jcl/packages/c5/JclFavoriteFoldersExpertC50.rc
branches/JCL_1.100/jcl/packages/c5/JclFavoriteFoldersExpertC50.res
branches/JCL_1.100/jcl/packages/c5/JclFavoriteFoldersExpertDLLC50.rc
branches/JCL_1.100/jcl/packages/c5/JclFavoriteFoldersExpertDLLC50.res
branches/JCL_1.100/jcl/packages/c5/JclProjectAnalysisExpertC50.RES
branches/JCL_1.100/jcl/packages/c5/JclProjectAnalysisExpertC50.rc
branches/JCL_1.100/jcl/packages/c5/JclProjectAnalysisExpertDLLC50.rc
branches/JCL_1.100/jcl/packages/c5/JclProjectAnalysisExpertDLLC50.res
branches/JCL_1.100/jcl/packages/c5/JclRepositoryExpertC50.rc
branches/JCL_1.100/jcl/packages/c5/JclRepositoryExpertC50.res
branches/JCL_1.100/jcl/packages/c5/JclRepositoryExpertDLLC50.rc
branches/JCL_1.100/jcl/packages/c5/JclRepositoryExpertDLLC50.res
branches/JCL_1.100/jcl/packages/c5/JclSIMDViewExpertC50.rc
branches/JCL_1.100/jcl/packages/c5/JclSIMDViewExpertC50.res
branches/JCL_1.100/jcl/packages/c5/JclSIMDViewExpertDLLC50.rc
branches/JCL_1.100/jcl/packages/c5/JclSIMDViewExpertDLLC50.res
branches/JCL_1.100/jcl/packages/c5/JclThreadNameExpertC50.RES
branches/JCL_1.100/jcl/packages/c5/JclThreadNameExpertC50.rc
branches/JCL_1.100/jcl/packages/c5/JclThreadNameExpertDLLC50.rc
branches/JCL_1.100/jcl/packages/c5/JclThreadNameExpertDLLC50.res
branches/JCL_1.100/jcl/packages/c5/JclUsesExpertC50.RES
branches/JCL_1.100/jcl/packages/c5/JclUsesExpertC50.rc
branches/JCL_1.100/jcl/packages/c5/JclUsesExpertDLLC50.rc
branches/JCL_1.100/jcl/packages/c5/JclUsesExpertDLLC50.res
branches/JCL_1.100/jcl/packages/c5/JclVersionControlExpertC50.rc
branches/JCL_1.100/jcl/packages/c5/JclVersionControlExpertC50.res
branches/JCL_1.100/jcl/packages/c5/JclVersionControlExpertDLLC50.rc
branches/JCL_1.100/jcl/packages/c5/JclVersionControlExpertDLLC50.res
branches/JCL_1.100/jcl/packages/c6/Jcl.RES
branches/JCL_1.100/jcl/packages/c6/Jcl.rc
branches/JCL_1.100/jcl/packages/c6/JclBaseExpert.rc
branches/JCL_1.100/jcl/packages/c6/JclBaseExpert.res
branches/JCL_1.100/jcl/packages/c6/JclDebugExpert.RES
branches/JCL_1.100/jcl/packages/c6/JclDebugExpert.rc
branches/JCL_1.100/jcl/packages/c6/JclDebugExpertDLL.rc
branches/JCL_1.100/jcl/packages/c6/JclDebugExpertDLL.res
branches/JCL_1.100/jcl/packages/c6/JclFavoriteFoldersExpert.RES
branches/JCL_1.100/jcl/packages/c6/JclFavoriteFoldersExpert.rc
branches/JCL_1.100/jcl/packages/c6/JclFavoriteFoldersExpertDLL.rc
branches/JCL_1.100/jcl/packages/c6/JclFavoriteFoldersExpertDLL.res
branches/JCL_1.100/jcl/packages/c6/JclProjectAnalysisExpert.RES
branches/JCL_1.100/jcl/packages/c6/JclProjectAnalysisExpert.rc
branches/JCL_1.100/jcl/packages/c6/JclProjectAnalysisExpertDLL.rc
branches/JCL_1.100/jcl/packages/c6/JclProjectAnalysisExpertDLL.res
branches/JCL_1.100/jcl/packages/c6/JclRepositoryExpert.rc
branches/JCL_1.100/jcl/packages/c6/JclRepositoryExpert.res
branches/JCL_1.100/jcl/packages/c6/JclRepositoryExpertDLL.rc
branches/JCL_1.100/jcl/packages/c6/JclRepositoryExpertDLL.res
branches/JCL_1.100/jcl/packages/c6/JclSIMDViewExpert.rc
branches/JCL_1.100/jcl/packages/c6/JclSIMDViewExpert.res
branches/JCL_1.100/jcl/packages/c6/JclSIMDViewExpertDLL.rc
branches/JCL_1.100/jcl/packages/c6/JclSIMDViewExpertDLL.res
branches/JCL_1.100/jcl/packages/c6/JclThreadNameExpert.RES
branches/JCL_1.100/jcl/packages/c6/JclThreadNameExpert.rc
branches/JCL_1.100/jcl/packages/c6/JclThreadNameExpertDLL.rc
branches/JCL_1.100/jcl/packages/c6/JclThreadNameExpertDLL.res
branches/JCL_1.100/jcl/packages/c6/JclUsesExpert.RES
branches/JCL_1.100/jcl/packages/c6/JclUsesExpert.rc
branches/JCL_1.100/jcl/packages/c6/JclUsesExpertDLL.rc
branches/JCL_1.100/jcl/packages/c6/JclUsesExpertDLL.res
branches/JCL_1.100/jcl/packages/c6/JclVClx.RES
branches/JCL_1.100/jcl/packages/c6/JclVClx.rc
branches/JCL_1.100/jcl/packages/c6/JclVcl.RES
branches/JCL_1.100/jcl/packages/c6/JclVcl.rc
branches/JCL_1.100/jcl/packages/c6/JclVersionControlExpert.rc
branches/JCL_1.100/jcl/packages/c6/JclVersionControlExpert.res
branches/JCL_1.100/jcl/packages/c6/JclVersionControlExpertDLL.rc
branches/JCL_1.100/jcl/packages/c6/JclVersionControlExpertDLL.res
branches/JCL_1.100/jcl/packages/cs1/Jcl.RES
branches/JCL_1.100/jcl/packages/cs1/Jcl.bdsproj
branches/JCL_1.100/jcl/packages/cs1/Jcl.rc
branches/JCL_1.100/jcl/packages/cs1/JclBaseExpert.RES
branches/JCL_1.100/jcl/packages/cs1/JclBaseExpert.bdsproj
branches/JCL_1.100/jcl/packages/cs1/JclBaseExpert.rc
branches/JCL_1.100/jcl/packages/cs1/JclFavoriteFoldersExpertDLL.RES
branches/JCL_1.100/jcl/packages/cs1/JclFavoriteFoldersExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/cs1/JclFavoriteFoldersExpertDLL.rc
branches/JCL_1.100/jcl/packages/cs1/JclVersionControlExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/cs1/JclVersionControlExpertDLL.rc
branches/JCL_1.100/jcl/packages/cs1/JclVersionControlExpertDLL.res
branches/JCL_1.100/jcl/packages/d10/Jcl.bdsproj
branches/JCL_1.100/jcl/packages/d10/Jcl.rc
branches/JCL_1.100/jcl/packages/d10/Jcl.res
branches/JCL_1.100/jcl/packages/d10/JclBaseExpert.bdsproj
branches/JCL_1.100/jcl/packages/d10/JclBaseExpert.rc
branches/JCL_1.100/jcl/packages/d10/JclBaseExpert.res
branches/JCL_1.100/jcl/packages/d10/JclDebugExpert.bdsproj
branches/JCL_1.100/jcl/packages/d10/JclDebugExpert.rc
branches/JCL_1.100/jcl/packages/d10/JclDebugExpert.res
branches/JCL_1.100/jcl/packages/d10/JclDebugExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/d10/JclDebugExpertDLL.rc
branches/JCL_1.100/jcl/packages/d10/JclDebugExpertDLL.res
branches/JCL_1.100/jcl/packages/d10/JclFavoriteFoldersExpert.bdsproj
branches/JCL_1.100/jcl/packages/d10/JclFavoriteFoldersExpert.rc
branches/JCL_1.100/jcl/packages/d10/JclFavoriteFoldersExpert.res
branches/JCL_1.100/jcl/packages/d10/JclFavoriteFoldersExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/d10/JclFavoriteFoldersExpertDLL.rc
branches/JCL_1.100/jcl/packages/d10/JclFavoriteFoldersExpertDLL.res
branches/JCL_1.100/jcl/packages/d10/JclProjectAnalysisExpert.RES
branches/JCL_1.100/jcl/packages/d10/JclProjectAnalysisExpert.bdsproj
branches/JCL_1.100/jcl/packages/d10/JclProjectAnalysisExpert.rc
branches/JCL_1.100/jcl/packages/d10/JclProjectAnalysisExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/d10/JclProjectAnalysisExpertDLL.rc
branches/JCL_1.100/jcl/packages/d10/JclProjectAnalysisExpertDLL.res
branches/JCL_1.100/jcl/packages/d10/JclRepositoryExpert.bdsproj
branches/JCL_1.100/jcl/packages/d10/JclRepositoryExpert.rc
branches/JCL_1.100/jcl/packages/d10/JclRepositoryExpert.res
branches/JCL_1.100/jcl/packages/d10/JclRepositoryExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/d10/JclRepositoryExpertDLL.rc
branches/JCL_1.100/jcl/packages/d10/JclRepositoryExpertDLL.res
branches/JCL_1.100/jcl/packages/d10/JclSIMDViewExpert.bdsproj
branches/JCL_1.100/jcl/packages/d10/JclSIMDViewExpert.rc
branches/JCL_1.100/jcl/packages/d10/JclSIMDViewExpert.res
branches/JCL_1.100/jcl/packages/d10/JclSIMDViewExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/d10/JclSIMDViewExpertDLL.rc
branches/JCL_1.100/jcl/packages/d10/JclSIMDViewExpertDLL.res
branches/JCL_1.100/jcl/packages/d10/JclThreadNameExpert.bdsproj
branches/JCL_1.100/jcl/packages/d10/JclThreadNameExpert.rc
branches/JCL_1.100/jcl/packages/d10/JclThreadNameExpert.res
branches/JCL_1.100/jcl/packages/d10/JclThreadNameExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/d10/JclThreadNameExpertDLL.rc
branches/JCL_1.100/jcl/packages/d10/JclThreadNameExpertDLL.res
branches/JCL_1.100/jcl/packages/d10/JclVcl.bdsproj
branches/JCL_1.100/jcl/packages/d10/JclVcl.rc
branches/JCL_1.100/jcl/packages/d10/JclVcl.res
branches/JCL_1.100/jcl/packages/d10/JclVersionControlExpert.bdsproj
branches/JCL_1.100/jcl/packages/d10/JclVersionControlExpert.rc
branches/JCL_1.100/jcl/packages/d10/JclVersionControlExpert.res
branches/JCL_1.100/jcl/packages/d10/JclVersionControlExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/d10/JclVersionControlExpertDLL.rc
branches/JCL_1.100/jcl/packages/d10/JclVersionControlExpertDLL.res
branches/JCL_1.100/jcl/packages/d10.net/Jedi.Jcl.bdsproj
branches/JCL_1.100/jcl/packages/d11/Jcl.dproj
branches/JCL_1.100/jcl/packages/d11/Jcl.rc
branches/JCL_1.100/jcl/packages/d11/Jcl.res
branches/JCL_1.100/jcl/packages/d11/JclBaseExpert.dproj
branches/JCL_1.100/jcl/packages/d11/JclBaseExpert.rc
branches/JCL_1.100/jcl/packages/d11/JclBaseExpert.res
branches/JCL_1.100/jcl/packages/d11/JclDebugExpert.dproj
branches/JCL_1.100/jcl/packages/d11/JclDebugExpert.rc
branches/JCL_1.100/jcl/packages/d11/JclDebugExpert.res
branches/JCL_1.100/jcl/packages/d11/JclDebugExpertDLL.dproj
branches/JCL_1.100/jcl/packages/d11/JclDebugExpertDLL.rc
branches/JCL_1.100/jcl/packages/d11/JclFavoriteFoldersExpert.dproj
branches/JCL_1.100/jcl/packages/d11/JclFavoriteFoldersExpert.rc
branches/JCL_1.100/jcl/packages/d11/JclFavoriteFoldersExpert.res
branches/JCL_1.100/jcl/packages/d11/JclFavoriteFoldersExpertDLL.dproj
branches/JCL_1.100/jcl/packages/d11/JclFavoriteFoldersExpertDLL.rc
branches/JCL_1.100/jcl/packages/d11/JclProjectAnalysisExpert.dproj
branches/JCL_1.100/jcl/packages/d11/JclProjectAnalysisExpert.rc
branches/JCL_1.100/jcl/packages/d11/JclProjectAnalysisExpert.res
branches/JCL_1.100/jcl/packages/d11/JclProjectAnalysisExpertDLL.dproj
branches/JCL_1.100/jcl/packages/d11/JclProjectAnalysisExpertDLL.rc
branches/JCL_1.100/jcl/packages/d11/JclRepositoryExpert.dproj
branches/JCL_1.100/jcl/packages/d11/JclRepositoryExpert.rc
branches/JCL_1.100/jcl/packages/d11/JclRepositoryExpert.res
branches/JCL_1.100/jcl/packages/d11/JclRepositoryExpertDLL.dproj
branches/JCL_1.100/jcl/packages/d11/JclRepositoryExpertDLL.rc
branches/JCL_1.100/jcl/packages/d11/JclSIMDViewExpert.dproj
branches/JCL_1.100/jcl/packages/d11/JclSIMDViewExpert.rc
branches/JCL_1.100/jcl/packages/d11/JclSIMDViewExpert.res
branches/JCL_1.100/jcl/packages/d11/JclSIMDViewExpertDLL.dproj
branches/JCL_1.100/jcl/packages/d11/JclSIMDViewExpertDLL.rc
branches/JCL_1.100/jcl/packages/d11/JclThreadNameExpert.dproj
branches/JCL_1.100/jcl/packages/d11/JclThreadNameExpert.rc
branches/JCL_1.100/jcl/packages/d11/JclThreadNameExpert.res
branches/JCL_1.100/jcl/packages/d11/JclThreadNameExpertDLL.dproj
branches/JCL_1.100/jcl/packages/d11/JclThreadNameExpertDLL.rc
branches/JCL_1.100/jcl/packages/d11/JclVcl.dproj
branches/JCL_1.100/jcl/packages/d11/JclVcl.rc
branches/JCL_1.100/jcl/packages/d11/JclVcl.res
branches/JCL_1.100/jcl/packages/d11/JclVersionControlExpert.dproj
branches/JCL_1.100/jcl/packages/d11/JclVersionControlExpert.rc
branches/JCL_1.100/jcl/packages/d11/JclVersionControlExpert.res
branches/JCL_1.100/jcl/packages/d11/JclVersionControlExpertDLL.dproj
branches/JCL_1.100/jcl/packages/d11/JclVersionControlExpertDLL.rc
branches/JCL_1.100/jcl/packages/d5/JclBaseExpertD50.rc
branches/JCL_1.100/jcl/packages/d5/JclBaseExpertD50.res
branches/JCL_1.100/jcl/packages/d5/JclD50.RES
branches/JCL_1.100/jcl/packages/d5/JclD50.rc
branches/JCL_1.100/jcl/packages/d5/JclDebugExpertD50.RES
branches/JCL_1.100/jcl/packages/d5/JclDebugExpertD50.rc
branches/JCL_1.100/jcl/packages/d5/JclDebugExpertDLLD50.RES
branches/JCL_1.100/jcl/packages/d5/JclDebugExpertDLLD50.rc
branches/JCL_1.100/jcl/packages/d5/JclFavoriteFoldersExpertD50.RES
branches/JCL_1.100/jcl/packages/d5/JclFavoriteFoldersExpertD50.rc
branches/JCL_1.100/jcl/packages/d5/JclFavoriteFoldersExpertDLLD50.RES
branches/JCL_1.100/jcl/packages/d5/JclFavoriteFoldersExpertDLLD50.rc
branches/JCL_1.100/jcl/packages/d5/JclProjectAnalysisExpertD50.RES
branches/JCL_1.100/jcl/packages/d5/JclProjectAnalysisExpertD50.rc
branches/JCL_1.100/jcl/packages/d5/JclProjectAnalysisExpertDLLD50.RES
branches/JCL_1.100/jcl/packages/d5/JclProjectAnalysisExpertDLLD50.rc
branches/JCL_1.100/jcl/packages/d5/JclRepositoryExpertD50.rc
branches/JCL_1.100/jcl/packages/d5/JclRepositoryExpertD50.res
branches/JCL_1.100/jcl/packages/d5/JclRepositoryExpertDLLD50.rc
branches/JCL_1.100/jcl/packages/d5/JclRepositoryExpertDLLD50.res
branches/JCL_1.100/jcl/packages/d5/JclSIMDViewExpertD50.RES
branches/JCL_1.100/jcl/packages/d5/JclSIMDViewExpertD50.rc
branches/JCL_1.100/jcl/packages/d5/JclSIMDViewExpertDLLD50.RES
branches/JCL_1.100/jcl/packages/d5/JclSIMDViewExpertDLLD50.rc
branches/JCL_1.100/jcl/packages/d5/JclThreadNameExpertD50.RES
branches/JCL_1.100/jcl/packages/d5/JclThreadNameExpertD50.rc
branches/JCL_1.100/jcl/packages/d5/JclThreadNameExpertDLLD50.RES
branches/JCL_1.100/jcl/packages/d5/JclThreadNameExpertDLLD50.rc
branches/JCL_1.100/jcl/packages/d5/JclUsesExpertD50.RES
branches/JCL_1.100/jcl/packages/d5/JclUsesExpertD50.rc
branches/JCL_1.100/jcl/packages/d5/JclUsesExpertDLLD50.RES
branches/JCL_1.100/jcl/packages/d5/JclUsesExpertDLLD50.rc
branches/JCL_1.100/jcl/packages/d5/JclVersionControlExpertD50.rc
branches/JCL_1.100/jcl/packages/d5/JclVersionControlExpertD50.res
branches/JCL_1.100/jcl/packages/d5/JclVersionControlExpertDLLD50.rc
branches/JCL_1.100/jcl/packages/d5/JclVersionControlExpertDLLD50.res
branches/JCL_1.100/jcl/packages/d6/Jcl.rc
branches/JCL_1.100/jcl/packages/d6/Jcl.res
branches/JCL_1.100/jcl/packages/d6/JclBaseExpert.rc
branches/JCL_1.100/jcl/packages/d6/JclBaseExpert.res
branches/JCL_1.100/jcl/packages/d6/JclDebugExpert.rc
branches/JCL_1.100/jcl/packages/d6/JclDebugExpert.res
branches/JCL_1.100/jcl/packages/d6/JclDebugExpertDLL.RES
branches/JCL_1.100/jcl/packages/d6/JclDebugExpertDLL.rc
branches/JCL_1.100/jcl/packages/d6/JclFavoriteFoldersExpert.rc
branches/JCL_1.100/jcl/packages/d6/JclFavoriteFoldersExpert.res
branches/JCL_1.100/jcl/packages/d6/JclFavoriteFoldersExpertDLL.RES
branches/JCL_1.100/jcl/packages/d6/JclFavoriteFoldersExpertDLL.rc
branches/JCL_1.100/jcl/packages/d6/JclProjectAnalysisExpert.RES
branches/JCL_1.100/jcl/packages/d6/JclProjectAnalysisExpert.rc
branches/JCL_1.100/jcl/packages/d6/JclProjectAnalysisExpertDLL.RES
branches/JCL_1.100/jcl/packages/d6/JclProjectAnalysisExpertDLL.rc
branches/JCL_1.100/jcl/packages/d6/JclRepositoryExpert.rc
branches/JCL_1.100/jcl/packages/d6/JclRepositoryExpert.res
branches/JCL_1.100/jcl/packages/d6/JclRepositoryExpertDLL.rc
branches/JCL_1.100/jcl/packages/d6/JclRepositoryExpertDLL.res
branches/JCL_1.100/jcl/packages/d6/JclSIMDViewExpert.rc
branches/JCL_1.100/jcl/packages/d6/JclSIMDViewExpert.res
branches/JCL_1.100/jcl/packages/d6/JclSIMDViewExpertDLL.RES
branches/JCL_1.100/jcl/packages/d6/JclSIMDViewExpertDLL.rc
branches/JCL_1.100/jcl/packages/d6/JclThreadNameExpert.rc
branches/JCL_1.100/jcl/packages/d6/JclThreadNameExpert.res
branches/JCL_1.100/jcl/packages/d6/JclThreadNameExpertDLL.RES
branches/JCL_1.100/jcl/packages/d6/JclThreadNameExpertDLL.rc
branches/JCL_1.100/jcl/packages/d6/JclUsesExpert.rc
branches/JCL_1.100/jcl/packages/d6/JclUsesExpert.res
branches/JCL_1.100/jcl/packages/d6/JclUsesExpertDLL.RES
branches/JCL_1.100/jcl/packages/d6/JclUsesExpertDLL.rc
branches/JCL_1.100/jcl/packages/d6/JclVClx.rc
branches/JCL_1.100/jcl/packages/d6/JclVClx.res
branches/JCL_1.100/jcl/packages/d6/JclVcl.rc
branches/JCL_1.100/jcl/packages/d6/JclVcl.res
branches/JCL_1.100/jcl/packages/d6/JclVersionControlExpert.rc
branches/JCL_1.100/jcl/packages/d6/JclVersionControlExpert.res
branches/JCL_1.100/jcl/packages/d6/JclVersionControlExpertDLL.rc
branches/JCL_1.100/jcl/packages/d6/JclVersionControlExpertDLL.res
branches/JCL_1.100/jcl/packages/d7/Jcl.rc
branches/JCL_1.100/jcl/packages/d7/Jcl.res
branches/JCL_1.100/jcl/packages/d7/JclBaseExpert.rc
branches/JCL_1.100/jcl/packages/d7/JclBaseExpert.res
branches/JCL_1.100/jcl/packages/d7/JclDebugExpert.rc
branches/JCL_1.100/jcl/packages/d7/JclDebugExpert.res
branches/JCL_1.100/jcl/packages/d7/JclDebugExpertDLL.RES
branches/JCL_1.100/jcl/packages/d7/JclDebugExpertDLL.rc
branches/JCL_1.100/jcl/packages/d7/JclFavoriteFoldersExpert.rc
branches/JCL_1.100/jcl/packages/d7/JclFavoriteFoldersExpert.res
branches/JCL_1.100/jcl/packages/d7/JclFavoriteFoldersExpertDLL.RES
branches/JCL_1.100/jcl/packages/d7/JclFavoriteFoldersExpertDLL.rc
branches/JCL_1.100/jcl/packages/d7/JclProjectAnalysisExpert.RES
branches/JCL_1.100/jcl/packages/d7/JclProjectAnalysisExpert.rc
branches/JCL_1.100/jcl/packages/d7/JclProjectAnalysisExpertDLL.RES
branches/JCL_1.100/jcl/packages/d7/JclProjectAnalysisExpertDLL.rc
branches/JCL_1.100/jcl/packages/d7/JclRepositoryExpert.rc
branches/JCL_1.100/jcl/packages/d7/JclRepositoryExpert.res
branches/JCL_1.100/jcl/packages/d7/JclRepositoryExpertDLL.rc
branches/JCL_1.100/jcl/packages/d7/JclRepositoryExpertDLL.res
branches/JCL_1.100/jcl/packages/d7/JclSIMDViewExpert.rc
branches/JCL_1.100/jcl/packages/d7/JclSIMDViewExpert.res
branches/JCL_1.100/jcl/packages/d7/JclSIMDViewExpertDLL.RES
branches/JCL_1.100/jcl/packages/d7/JclSIMDViewExpertDLL.rc
branches/JCL_1.100/jcl/packages/d7/JclThreadNameExpert.rc
branches/JCL_1.100/jcl/packages/d7/JclThreadNameExpert.res
branches/JCL_1.100/jcl/packages/d7/JclThreadNameExpertDLL.RES
branches/JCL_1.100/jcl/packages/d7/JclThreadNameExpertDLL.rc
branches/JCL_1.100/jcl/packages/d7/JclUsesExpert.rc
branches/JCL_1.100/jcl/packages/d7/JclUsesExpert.res
branches/JCL_1.100/jcl/packages/d7/JclUsesExpertDLL.RES
branches/JCL_1.100/jcl/packages/d7/JclUsesExpertDLL.rc
branches/JCL_1.100/jcl/packages/d7/JclVClx.rc
branches/JCL_1.100/jcl/packages/d7/JclVClx.res
branches/JCL_1.100/jcl/packages/d7/JclVcl.rc
branches/JCL_1.100/jcl/packages/d7/JclVcl.res
branches/JCL_1.100/jcl/packages/d7/JclVersionControlExpert.rc
branches/JCL_1.100/jcl/packages/d7/JclVersionControlExpert.res
branches/JCL_1.100/jcl/packages/d7/JclVersionControlExpertDLL.rc
branches/JCL_1.100/jcl/packages/d7/JclVersionControlExpertDLL.res
branches/JCL_1.100/jcl/packages/d8/Jcl.RES
branches/JCL_1.100/jcl/packages/d8/Jcl.bdsproj
branches/JCL_1.100/jcl/packages/d8/Jcl.rc
branches/JCL_1.100/jcl/packages/d8/JclBaseExpert.RES
branches/JCL_1.100/jcl/packages/d8/JclBaseExpert.bdsproj
branches/JCL_1.100/jcl/packages/d8/JclBaseExpert.rc
branches/JCL_1.100/jcl/packages/d8/JclFavoriteFoldersExpertDLL.RES
branches/JCL_1.100/jcl/packages/d8/JclFavoriteFoldersExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/d8/JclFavoriteFoldersExpertDLL.rc
branches/JCL_1.100/jcl/packages/d8/JclVersionControlExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/d8/JclVersionControlExpertDLL.rc
branches/JCL_1.100/jcl/packages/d8/JclVersionControlExpertDLL.res
branches/JCL_1.100/jcl/packages/d9/Jcl.RES
branches/JCL_1.100/jcl/packages/d9/Jcl.bdsproj
branches/JCL_1.100/jcl/packages/d9/Jcl.rc
branches/JCL_1.100/jcl/packages/d9/JclBaseExpert.bdsproj
branches/JCL_1.100/jcl/packages/d9/JclBaseExpert.rc
branches/JCL_1.100/jcl/packages/d9/JclBaseExpert.res
branches/JCL_1.100/jcl/packages/d9/JclDebugExpert.RES
branches/JCL_1.100/jcl/packages/d9/JclDebugExpert.bdsproj
branches/JCL_1.100/jcl/packages/d9/JclDebugExpert.rc
branches/JCL_1.100/jcl/packages/d9/JclDebugExpertDLL.RES
branches/JCL_1.100/jcl/packages/d9/JclDebugExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/d9/JclDebugExpertDLL.rc
branches/JCL_1.100/jcl/packages/d9/JclFavoriteFoldersExpert.bdsproj
branches/JCL_1.100/jcl/packages/d9/JclFavoriteFoldersExpert.rc
branches/JCL_1.100/jcl/packages/d9/JclFavoriteFoldersExpert.res
branches/JCL_1.100/jcl/packages/d9/JclFavoriteFoldersExpertDLL.RES
branches/JCL_1.100/jcl/packages/d9/JclFavoriteFoldersExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/d9/JclFavoriteFoldersExpertDLL.rc
branches/JCL_1.100/jcl/packages/d9/JclProjectAnalysisExpert.RES
branches/JCL_1.100/jcl/packages/d9/JclProjectAnalysisExpert.bdsproj
branches/JCL_1.100/jcl/packages/d9/JclProjectAnalysisExpert.rc
branches/JCL_1.100/jcl/packages/d9/JclProjectAnalysisExpertDLL.RES
branches/JCL_1.100/jcl/packages/d9/JclProjectAnalysisExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/d9/JclProjectAnalysisExpertDLL.rc
branches/JCL_1.100/jcl/packages/d9/JclRepositoryExpert.bdsproj
branches/JCL_1.100/jcl/packages/d9/JclRepositoryExpert.rc
branches/JCL_1.100/jcl/packages/d9/JclRepositoryExpert.res
branches/JCL_1.100/jcl/packages/d9/JclRepositoryExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/d9/JclRepositoryExpertDLL.rc
branches/JCL_1.100/jcl/packages/d9/JclRepositoryExpertDLL.res
branches/JCL_1.100/jcl/packages/d9/JclSIMDViewExpert.bdsproj
branches/JCL_1.100/jcl/packages/d9/JclSIMDViewExpert.rc
branches/JCL_1.100/jcl/packages/d9/JclSIMDViewExpertDLL.RES
branches/JCL_1.100/jcl/packages/d9/JclSIMDViewExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/d9/JclSIMDViewExpertDLL.rc
branches/JCL_1.100/jcl/packages/d9/JclSimdViewExpert.RES
branches/JCL_1.100/jcl/packages/d9/JclThreadNameExpert.RES
branches/JCL_1.100/jcl/packages/d9/JclThreadNameExpert.bdsproj
branches/JCL_1.100/jcl/packages/d9/JclThreadNameExpert.rc
branches/JCL_1.100/jcl/packages/d9/JclThreadNameExpertDLL.RES
branches/JCL_1.100/jcl/packages/d9/JclThreadNameExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/d9/JclThreadNameExpertDLL.rc
branches/JCL_1.100/jcl/packages/d9/JclVcl.RES
branches/JCL_1.100/jcl/packages/d9/JclVcl.bdsproj
branches/JCL_1.100/jcl/packages/d9/JclVcl.rc
branches/JCL_1.100/jcl/packages/d9/JclVersionControlExpert.bdsproj
branches/JCL_1.100/jcl/packages/d9/JclVersionControlExpert.rc
branches/JCL_1.100/jcl/packages/d9/JclVersionControlExpert.res
branches/JCL_1.100/jcl/packages/d9/JclVersionControlExpertDLL.bdsproj
branches/JCL_1.100/jcl/packages/d9/JclVersionControlExpertDLL.rc
branches/JCL_1.100/jcl/packages/d9/JclVersionControlExpertDLL.res
branches/JCL_1.100/jcl/packages/d9.net/Jedi.Jcl.bdsproj
branches/JCL_1.100/jcl/packages/k3/Jcl.bpk
branches/JCL_1.100/jcl/packages/k3/Jcl.dpk
branches/JCL_1.100/jcl/packages/k3/Jcl.rc
branches/JCL_1.100/jcl/packages/k3/Jcl.res
branches/JCL_1.100/jcl/packages/k3/JclVClx.bpk
branches/JCL_1.100/jcl/packages/k3/JclVClx.dpk
branches/JCL_1.100/jcl/packages/k3/JclVClx.rc
branches/JCL_1.100/jcl/packages/k3/JclVClx.res
branches/JCL_1.100/jcl/packages/resources.mak
branches/JCL_1.100/jcl/packages/xml/Jcl-L.xml
branches/JCL_1.100/jcl/packages/xml/Jcl-R.xml
branches/JCL_1.100/jcl/packages/xml/JclBaseExpert-D.xml
branches/JCL_1.100/jcl/packages/xml/JclDebugExpert-D.xml
branches/JCL_1.100/jcl/packages/xml/JclDebugExpertDLL-L.xml
branches/JCL_1.100/jcl/packages/xml/JclFavoriteFoldersExpert-D.xml
branches/JCL_1.100/jcl/packages/xml/JclFavoriteFoldersExpertDLL-L.xml
branches/JCL_1.100/jcl/packages/xml/JclProjectAnalysisExpert-D.xml
branches/JCL_1.100/jcl/packages/xml/JclProjectAnalysisExpertDLL-L.xml
branches/JCL_1.100/jcl/packages/xml/JclRepositoryExpert-D.xml
branches/JCL_1.100/jcl/packages/xml/JclRepositoryExpertDLL-L.xml
branches/JCL_1.100/jcl/packages/xml/JclSIMDViewExpert-D.xml
branches/JCL_1.100/jcl/packages/xml/JclSIMDViewExpertDLL-L.xml
branches/JCL_1.100/jcl/packages/xml/JclThreadNameExpert-D.xml
branches/JCL_1.100/jcl/packages/xml/JclThreadNameExpertDLL-L.xml
branches/JCL_1.100/jcl/packages/xml/JclUsesExpert-D.xml
branches/JCL_1.100/jcl/packages/xml/JclUsesExpertDLL-L.xml
branches/JCL_1.100/jcl/packages/xml/JclVClx-R.xml
branches/JCL_1.100/jcl/packages/xml/JclVcl-R.xml
branches/JCL_1.100/jcl/packages/xml/JclVersionControlExpert-D.xml
branches/JCL_1.100/jcl/packages/xml/JclVersionControlExpertDLL-L.xml
branches/JCL_1.100/jcl/source/common/JclBase.pas
branches/JCL_1.100/jcl/source/common/JclBorlandTools.pas
branches/JCL_1.100/jcl/source/common/JclSysInfo.pas
Modified: branches/JCL_1.100/jcl/Install.txt
===================================================================
--- branches/JCL_1.100/jcl/Install.txt 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/Install.txt 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,4 +1,4 @@
-JEDI Code Library v 1.99 Installation
+JEDI Code Library v 1.100 Installation
Supported development tools versions:
@@ -11,6 +11,7 @@
- Borland Delphi 2005
- Borland Developer Studio 2006 (also known as Delphi 2006, C++Builder 2006)
- CodeGear Delphi 2007
+- CodeGear C++Builder 2007
For more detailed information, see docs\Readme.html.
Modified: branches/JCL_1.100/jcl/docs/Experts.html
===================================================================
--- branches/JCL_1.100/jcl/docs/Experts.html 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/docs/Experts.html 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en-us">
<head>
- <title>Jedi Code Library Release 1.98</title>
+ <title>Jedi Code Library Release 1.100</title>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<link rel="stylesheet" type="text/css" href="styles/default.css">
<meta content="Project JEDI" name="author">
@@ -10,9 +10,9 @@
<body>
<hr><br>
<h1>Jedi Code Library</h1>
-<p>Release 1.98<br>
-Build 2509<br>
-13-January-2007</p>
+<p>Release 1.100<br>
+Build 2646<br>
+30-May-2007</p>
<hr><br>
<h3>Content of this file</h3>
<ul>
Modified: branches/JCL_1.100/jcl/docs/Readme.html
===================================================================
--- branches/JCL_1.100/jcl/docs/Readme.html 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/docs/Readme.html 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en-us">
<head>
- <title>Jedi Code Library Release 1.98</title>
+ <title>Jedi Code Library Release 1.100</title>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<link rel="stylesheet" type="text/css" href="styles/default.css">
<meta content="Project JEDI" name="author">
@@ -9,9 +9,9 @@
<body>
<hr><br>
<h1>Jedi Code Library</h1>
-<p>Release 1.99<br>
-Build 2551
-24-Februray-2007</p>
+<p>Release 1.100<br>
+Build 2646
+30-May-2007</p>
<hr><br>
<h3>Content of this file</h3>
<ul>
@@ -28,7 +28,7 @@
</ul>
<hr><br>
<h3><a name="about">About this release</a></h3>
-<p>JCL release 1.99 provide an updated support for all targets (including CodeGear Delphi 2007 for Win32).</p>
+<p>JCL release 1.100 provides an updated support for all targets (including CodeGear Delphi 2007 for Win32 and CodeGear C++Builder 2007).</p>
<p>As always, multiple bugs have been fixed; for detailed change logs,
use the facilities of our Subversion repository at Sourceforge.net
<a href="http://sourceforge.net/projects/jcl/">http://sourceforge.net/projects/jcl/</a>
Modified: branches/JCL_1.100/jcl/docs/Readme.txt
===================================================================
--- branches/JCL_1.100/jcl/docs/Readme.txt 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/docs/Readme.txt 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,9 +1,9 @@
--------------------------------------------------------------------------------
Jedi Code Library
-Release 1.99
-Build 2551
-24-Februray-2007
+Release 1.100
+Build 2646
+30-May-2007
--------------------------------------------------------------------------------
@@ -22,8 +22,8 @@
--------------------------------------------------------------------------------
About this release
-JCL release 1.99 provide an updated support for all targets (including CodeGear
-Delphi 2007 for Win32).
+JCL release 1.100 provides an updated support for all targets (including CodeGear
+Delphi 2007 for Win32 and CodeGear C++Builder 2007).
As always, multiple bugs have been fixed; for detailed change logs, use the
facilities of our Subversion repository at Sourceforge.net
Modified: branches/JCL_1.100/jcl/experts/common/JclOtaUtils.pas
===================================================================
--- branches/JCL_1.100/jcl/experts/common/JclOtaUtils.pas 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/experts/common/JclOtaUtils.pas 2007-06-16 18:31:47 UTC (rev 2038)
@@ -691,6 +691,10 @@
raise EJclExpertException.CreateTrace(RsENoProjectOptions);
LibPrefix := Trim(VarToStr(Project.ProjectOptions.Values[LIBPREFIXOptionName]));
LibSuffix := Trim(VarToStr(Project.ProjectOptions.Values[LIBSUFFIXOptionName]));
+ if LibPrefix = 'false' then
+ LibPrefix := '';
+ if LibSuffix = 'false' then
+ LibSuffix := '';
{$ELSE ~RTL140_UP}
LibPrefix := '';
LibSuffix := '';
@@ -717,6 +721,9 @@
begin
Result := VarToStr(Project.ProjectOptions.Values[PkgDllDirOptionName]);
+ if Result = 'false' then
+ Result := '';
+
if Result = '' then
begin
if not Assigned(FServices.GetEnvironmentOptions) then
@@ -727,6 +734,9 @@
else
Result := VarToStr(Project.ProjectOptions.Values[OutputDirOptionName]);
+ if Result = 'false' then
+ Result := '';
+
Result := SubstitutePath(Trim(Result));
if Result = '' then
Result := ExtractFilePath(Project.FileName)
Modified: branches/JCL_1.100/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas
===================================================================
--- branches/JCL_1.100/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/experts/projectanalyzer/ProjAnalyzerImpl.pas 2007-06-16 18:31:47 UTC (rev 2038)
@@ -191,7 +191,7 @@
ProjectAnalyzerForm.SetFileName(ExecutableFileName, MapFileName, ProjectName);
ProjectAnalyzerForm.Show;
end;
- if SaveMapFile <> MapFileOptionDetailed then
+ if Integer(SaveMapFile) <> MapFileOptionDetailed then
begin // delete MAP and DRC file
DeleteFile(MapFileName);
DeleteFile(ChangeFileExt(MapFileName, DrcFileExtension));
Modified: branches/JCL_1.100/jcl/install/JclInstall.pas
===================================================================
--- branches/JCL_1.100/jcl/install/JclInstall.pas 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/install/JclInstall.pas 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1452,7 +1452,8 @@
and OptionChecked[joDualPackages] then
with TJclBDSInstallation(Target) do
begin
- Result := AddToCppSearchPath(FLibDir) and AddToCppSearchPath(Distribution.JclSourceDir);
+ Result := AddToCppSearchPath(FLibDir) and AddToCppSearchPath(Distribution.JclSourceDir) and
+ ((IDEVersionNumber < 5) or AddToCppLibraryPath(FLibDir));
if Result then
WriteLog(Format('Added "%s;%s" to cpp search path.', [FLibDir, Distribution.JclSourceDir]))
else
@@ -1919,7 +1920,8 @@
if (Target.RadToolKind = brBorlandDevStudio) and (bpBCBuilder32 in Target.Personalities) then
with TJclBDSInstallation(Target) do
begin
- if RemoveFromCppSearchPath(FLibDir) and RemoveFromCppSearchPath(Distribution.JclSourceDir) then
+ if RemoveFromCppSearchPath(FLibDir) and RemoveFromCppSearchPath(Distribution.JclSourceDir) and
+ ((IDEVersionNumber < 5) or RemoveFromCppLibraryPath(FLibDir)) then
WriteLog(Format('Removed "%s;%s" from cpp search path.', [FLibDir, Distribution.JclSourceDir]))
else
WriteLog('Failed to remove cpp search path.');
@@ -2929,13 +2931,12 @@
{$IFDEF MSWINDOWS}
FCLRVersions := TStringList.Create;
+ FRegHelpCommands := TStringList.Create;
{$ENDIF MSWINDOWS}
FRadToolInstallations := TJclBorRADToolInstallations.Create;
FTargetInstalls := TObjectList.Create;
FTargetInstalls.OwnsObjects := True;
-
- FRegHelpCommands := TStringList.Create;
end;
function TJclDistribution.CreateInstall(Target: TJclBorRADToolInstallation): Boolean;
@@ -2998,14 +2999,13 @@
begin
{$IFDEF MSWINDOWS}
FCLRVersions.Free;
+ FRegHelpCommands.Free;
{$ENDIF MSWINDOWS}
FRadToolInstallations.Free;
FTargetInstalls.Free;
- FRegHelpCommands.Free;
-
inherited Destroy;
end;
Modified: branches/JCL_1.100/jcl/packages/c5/JclBaseExpertC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclBaseExpertC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclBaseExpertC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Package containing common units for JCL Experts\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclBaseExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclBaseExpertC50C50.bpl\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclBaseExpertC50.res
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c5/JclC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JEDI Code Library RTL package\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclC50C50.bpl\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclC50.res
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c5/JclDebugExpertC50.RES
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c5/JclDebugExpertC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclDebugExpertC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclDebugExpertC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Debug IDE extension\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclDebugExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclDebugExpertC50C50.bpl\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclDebugExpertDLLC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclDebugExpertDLLC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclDebugExpertDLLC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Debug IDE extension\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclDebugExpertDLLC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclDebugExpertDLLC50C50.dll\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclDebugExpertDLLC50.res
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c5/JclFavoriteFoldersExpertC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclFavoriteFoldersExpertC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclFavoriteFoldersExpertC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Open and Save IDE dialogs with favorite folders\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclFavoriteFoldersExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclFavoriteFoldersExpertC50C50.bpl\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclFavoriteFoldersExpertC50.res
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c5/JclFavoriteFoldersExpertDLLC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclFavoriteFoldersExpertDLLC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclFavoriteFoldersExpertDLLC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Open and Save IDE dialogs with favorite folders\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclFavoriteFoldersExpertDLLC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclFavoriteFoldersExpertDLLC50C50.dll\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclFavoriteFoldersExpertDLLC50.res
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c5/JclProjectAnalysisExpertC50.RES
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c5/JclProjectAnalysisExpertC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclProjectAnalysisExpertC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclProjectAnalysisExpertC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Project Analyzer\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclProjectAnalysisExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclProjectAnalysisExpertC50C50.bpl\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclProjectAnalysisExpertDLLC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclProjectAnalysisExpertDLLC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclProjectAnalysisExpertDLLC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Project Analyzer\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclProjectAnalysisExpertDLLC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclProjectAnalysisExpertDLLC50C50.dll\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclProjectAnalysisExpertDLLC50.res
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c5/JclRepositoryExpertC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclRepositoryExpertC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclRepositoryExpertC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Package containing repository wizards\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclRepositoryExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclRepositoryExpertC50C50.bpl\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclRepositoryExpertC50.res
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c5/JclRepositoryExpertDLLC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclRepositoryExpertDLLC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclRepositoryExpertDLLC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Package containing repository wizards\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclRepositoryExpertDLLC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclRepositoryExpertDLLC50C50.dll\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclRepositoryExpertDLLC50.res
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c5/JclSIMDViewExpertC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclSIMDViewExpertC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclSIMDViewExpertC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Debug Window of XMM registers\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclSIMDViewExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclSIMDViewExpertC50C50.bpl\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclSIMDViewExpertC50.res
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c5/JclSIMDViewExpertDLLC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclSIMDViewExpertDLLC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclSIMDViewExpertDLLC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Debug Window of XMM registers\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclSIMDViewExpertDLLC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclSIMDViewExpertDLLC50C50.dll\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclSIMDViewExpertDLLC50.res
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c5/JclThreadNameExpertC50.RES
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c5/JclThreadNameExpertC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclThreadNameExpertC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclThreadNameExpertC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Thread Name IDE expert\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclThreadNameExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclThreadNameExpertC50C50.bpl\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclThreadNameExpertDLLC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclThreadNameExpertDLLC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclThreadNameExpertDLLC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Thread Name IDE expert\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclThreadNameExpertDLLC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclThreadNameExpertDLLC50C50.dll\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclThreadNameExpertDLLC50.res
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c5/JclUsesExpertC50.RES
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c5/JclUsesExpertC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclUsesExpertC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclUsesExpertC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Uses Wizard\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclUsesExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclUsesExpertC50C50.bpl\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclUsesExpertDLLC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclUsesExpertDLLC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclUsesExpertDLLC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Uses Wizard\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclUsesExpertDLLC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclUsesExpertDLLC50C50.dll\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclUsesExpertDLLC50.res
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c5/JclVersionControlExpertC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclVersionControlExpertC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclVersionControlExpertC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Integration of version control systems in the IDE\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclVersionControlExpertC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclVersionControlExpertC50C50.bpl\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclVersionControlExpertC50.res
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c5/JclVersionControlExpertDLLC50.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c5/JclVersionControlExpertDLLC50.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c5/JclVersionControlExpertDLLC50.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
VALUE "CompanyName", "Project JEDI\0"
VALUE "FileDescription", "JCL Integration of version control systems in the IDE\0"
- VALUE "FileVersion", "2.0.0.2552\0"
+ VALUE "FileVersion", "1.100.1.2646\0"
VALUE "InternalName", "JclVersionControlExpertDLLC50\0"
VALUE "LegalCopyright", "Copyright (C) 1999, 2007 Project JEDI\0"
VALUE "OriginalFilename", "JclVersionControlExpertDLLC50C50.dll\0"
VALUE "ProductName", "Jedi Code Library\0"
- VALUE "ProductVersion", "2.0 Build 2552\0"
+ VALUE "ProductVersion", "1.100 Build 2646\0"
END
END
BLOCK "VarFileInfo"
Modified: branches/JCL_1.100/jcl/packages/c5/JclVersionControlExpertDLLC50.res
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c6/Jcl.RES
===================================================================
(Binary files differ)
Modified: branches/JCL_1.100/jcl/packages/c6/Jcl.rc
===================================================================
--- branches/JCL_1.100/jcl/packages/c6/Jcl.rc 2007-06-14 12:40:36 UTC (rev 2037)
+++ branches/JCL_1.100/jcl/packages/c6/Jcl.rc 2007-06-16 18:31:47 UTC (rev 2038)
@@ -1,6 +1,6 @@
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 2,0,0,2552
-PRODUCTVERSION 2,0,0,2552
+FILEVERSION 1,100,1,2646
+PRODUCTVERSION 1,100,1,2646
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -17,12 +17,12 @@
BEGIN
...
[truncated message content] |
|
From: <sch...@us...> - 2007-06-14 12:40:40
|
Revision: 2037
http://svn.sourceforge.net/jcl/?rev=2037&view=rev
Author: schuettecarsten
Date: 2007-06-14 05:40:36 -0700 (Thu, 14 Jun 2007)
Log Message:
-----------
Fixed some serious problems with MAPI clients when application has used new Windows API function "SetDllDirectory"
Modified Paths:
--------------
trunk/jcl/source/windows/JclMapi.pas
Modified: trunk/jcl/source/windows/JclMapi.pas
===================================================================
--- trunk/jcl/source/windows/JclMapi.pas 2007-06-10 20:42:40 UTC (rev 2036)
+++ trunk/jcl/source/windows/JclMapi.pas 2007-06-14 12:40:36 UTC (rev 2037)
@@ -20,6 +20,7 @@
{ Robert Marquardt (marquardt) }
{ Matthias Thoma (mthoma) }
{ Petr Vones (pvones) }
+{ Carsten Schuette (schuettecarsten) }
{ }
{**************************************************************************************************}
{ }
@@ -61,7 +62,7 @@
end;
TJclMapiClientConnect = (ctAutomatic, ctMapi, ctDirect);
-
+
TJclSimpleMapi = class(TObject)
private
FAnyClientInstalled: Boolean;
@@ -154,13 +155,15 @@
FAddressType: string;
FKind: TJclEmailRecipKind;
FName: string;
+ private
+ procedure SetAddress(Value: string);
protected
function SortingName: string;
public
function AddressAndName: string;
class function RecipKindToString(const AKind: TJclEmailRecipKind): string;
property AddressType: string read FAddressType write FAddressType;
- property Address: string read FAddress write FAddress;
+ property Address: string read FAddress write SetAddress;
property Kind: TJclEmailRecipKind read FKind write FKind;
property Name: string read FName write FName;
end;
@@ -325,58 +328,58 @@
end;
function MapiErrorMessage(const ErrorCode: DWORD): string;
-begin
+begin
case ErrorCode of
MAPI_E_USER_ABORT:
Result := RsMapiErrUSER_ABORT;
MAPI_E_FAILURE:
Result := RsMapiErrFAILURE;
- MAPI_E_LOGIN_FAILURE:
- Result := RsMapiErrLOGIN_FAILURE;
- MAPI_E_DISK_FULL:
- Result := RsMapiErrDISK_FULL;
- MAPI_E_INSUFFICIENT_MEMORY:
- Result := RsMapiErrINSUFFICIENT_MEMORY;
- MAPI_E_ACCESS_DENIED:
- Result := RsMapiErrACCESS_DENIED;
- MAPI_E_TOO_MANY_SESSIONS:
- Result := RsMapiErrTOO_MANY_SESSIONS;
- MAPI_E_TOO_MANY_FILES:
- Result := RsMapiErrTOO_MANY_FILES;
- MAPI_E_TOO_MANY_RECIPIENTS:
- Result := RsMapiErrTOO_MANY_RECIPIENTS;
- MAPI_E_ATTACHMENT_NOT_FOUND:
- Result := RsMapiErrATTACHMENT_NOT_FOUND;
- MAPI_E_ATTACHMENT_OPEN_FAILURE:
- Result := RsMapiErrATTACHMENT_OPEN_FAILURE;
- MAPI_E_ATTACHMENT_WRITE_FAILURE:
- Result := RsMapiErrATTACHMENT_WRITE_FAILURE;
- MAPI_E_UNKNOWN_RECIPIENT:
- Result := RsMapiErrUNKNOWN_RECIPIENT;
- MAPI_E_BAD_RECIPTYPE:
- Result := RsMapiErrBAD_RECIPTYPE;
- MAPI_E_NO_MESSAGES:
- Result := RsMapiErrNO_MESSAGES;
- MAPI_E_INVALID_MESSAGE:
- Result := RsMapiErrINVALID_MESSAGE;
- MAPI_E_TEXT_TOO_LARGE:
- Result := RsMapiErrTEXT_TOO_LARGE;
- MAPI_E_INVALID_SESSION:
- Result := RsMapiErrINVALID_SESSION;
- MAPI_E_TYPE_NOT_SUPPORTED:
- Result := RsMapiErrTYPE_NOT_SUPPORTED;
- MAPI_E_AMBIGUOUS_RECIPIENT:
- Result := RsMapiErrAMBIGUOUS_RECIPIENT;
- MAPI_E_MESSAGE_IN_USE:
- Result := RsMapiErrMESSAGE_IN_USE;
- MAPI_E_NETWORK_FAILURE:
- Result := RsMapiErrNETWORK_FAILURE;
- MAPI_E_INVALID_EDITFIELDS:
- Result := RsMapiErrINVALID_EDITFIELDS;
- MAPI_E_INVALID_RECIPS:
- Result := RsMapiErrINVALID_RECIPS;
- MAPI_E_NOT_SUPPORTED:
- Result := RsMapiErrNOT_SUPPORTED;
+ MAPI_E_LOGIN_FAILURE:
+ Result := RsMapiErrLOGIN_FAILURE;
+ MAPI_E_DISK_FULL:
+ Result := RsMapiErrDISK_FULL;
+ MAPI_E_INSUFFICIENT_MEMORY:
+ Result := RsMapiErrINSUFFICIENT_MEMORY;
+ MAPI_E_ACCESS_DENIED:
+ Result := RsMapiErrACCESS_DENIED;
+ MAPI_E_TOO_MANY_SESSIONS:
+ Result := RsMapiErrTOO_MANY_SESSIONS;
+ MAPI_E_TOO_MANY_FILES:
+ Result := RsMapiErrTOO_MANY_FILES;
+ MAPI_E_TOO_MANY_RECIPIENTS:
+ Result := RsMapiErrTOO_MANY_RECIPIENTS;
+ MAPI_E_ATTACHMENT_NOT_FOUND:
+ Result := RsMapiErrATTACHMENT_NOT_FOUND;
+ MAPI_E_ATTACHMENT_OPEN_FAILURE:
+ Result := RsMapiErrATTACHMENT_OPEN_FAILURE;
+ MAPI_E_ATTACHMENT_WRITE_FAILURE:
+ Result := RsMapiErrATTACHMENT_WRITE_FAILURE;
+ MAPI_E_UNKNOWN_RECIPIENT:
+ Result := RsMapiErrUNKNOWN_RECIPIENT;
+ MAPI_E_BAD_RECIPTYPE:
+ Result := RsMapiErrBAD_RECIPTYPE;
+ MAPI_E_NO_MESSAGES:
+ Result := RsMapiErrNO_MESSAGES;
+ MAPI_E_INVALID_MESSAGE:
+ Result := RsMapiErrINVALID_MESSAGE;
+ MAPI_E_TEXT_TOO_LARGE:
+ Result := RsMapiErrTEXT_TOO_LARGE;
+ MAPI_E_INVALID_SESSION:
+ Result := RsMapiErrINVALID_SESSION;
+ MAPI_E_TYPE_NOT_SUPPORTED:
+ Result := RsMapiErrTYPE_NOT_SUPPORTED;
+ MAPI_E_AMBIGUOUS_RECIPIENT:
+ Result := RsMapiErrAMBIGUOUS_RECIPIENT;
+ MAPI_E_MESSAGE_IN_USE:
+ Result := RsMapiErrMESSAGE_IN_USE;
+ MAPI_E_NETWORK_FAILURE:
+ Result := RsMapiErrNETWORK_FAILURE;
+ MAPI_E_INVALID_EDITFIELDS:
+ Result := RsMapiErrINVALID_EDITFIELDS;
+ MAPI_E_INVALID_RECIPS:
+ Result := RsMapiErrINVALID_RECIPS;
+ MAPI_E_NOT_SUPPORTED:
+ Result := RsMapiErrNOT_SUPPORTED;
else
Result := '';
end;
@@ -611,7 +614,9 @@
if RegKeyExists(HKEY_LOCAL_MACHINE, ClientKey) then
begin
FClients[I].ClientName := RegReadStringDef(HKEY_LOCAL_MACHINE, ClientKey, '', '');
- FClients[I].ClientPath := RegReadStringDef(HKEY_LOCAL_MACHINE, ClientKey, 'DLLPath', '');
+ FClients[I].ClientPath := RegReadStringDef(HKEY_LOCAL_MACHINE, ClientKey, 'DLLPathEx', '');
+ if FClients[I].ClientPath = '' then
+ FClients[I].ClientPath := RegReadStringDef(HKEY_LOCAL_MACHINE, ClientKey, 'DLLPath', '');
ExpandEnvironmentVar(FClients[I].ClientPath);
if CheckValid(FClients[I]) then
FAnyClientInstalled := True;
@@ -713,6 +718,21 @@
end;
end;
+procedure TJclEmailRecip.SetAddress(Value: string);
+var
+ N: Integer;
+begin
+ Value := Trim(Value);
+ N := Pos(AddressTypeDelimiter, Value);
+ if N = 0 then
+ FAddress := Value
+ else
+ begin
+ FAddress := Copy(Value, N + 1, Length(Value));
+ FAddressType := Copy(Value, 1, N - 1);
+ end;
+end;
+
function TJclEmailRecip.SortingName: string;
begin
if FName = '' then
@@ -730,8 +750,9 @@
begin
Item := TJclEmailRecip.Create;
try
- Item.Address := Trim(Address);
- Item.AddressType := AddressType;
+ Item.Address := Address;
+ if AddressType <> '' then
+ Item.AddressType := AddressType;
Item.Name := Name;
Item.Kind := Kind;
Result := inherited Add(Item);
@@ -812,7 +833,7 @@
if Result then
try
DecodeRecips(NewRecips, NewRecipCount);
- finally
+ finally
MapiFreeBuffer(NewRecips);
end;
end;
@@ -853,16 +874,16 @@
MAPI_ORIG:
Kind := rkOriginator;
MAPI_TO:
- Kind := rkTO;
- MAPI_CC:
- Kind := rkCC;
- MAPI_BCC:
+ Kind := rkTO;
+ MAPI_CC:
+ Kind := rkCC;
+ MAPI_BCC:
Kind := rkBCC;
$FFFFFFFF: // Eudora client version 5.2.0.9 bug
Kind := rkOriginator;
else
MapiCheck(MAPI_E_INVALID_MESSAGE, True);
- end;
+ end;
S := lpszAddress;
N := Pos(AddressTypeDelimiter, S);
if N = 0 then
@@ -939,123 +960,155 @@
const
RecipClasses: array [TJclEmailRecipKind] of DWORD =
(MAPI_ORIG, MAPI_TO, MAPI_CC, MAPI_BCC);
+type
+ TSetDllDirectory = function(lpPathName: PAnsiChar): LONGBOOL; stdcall;
+ TGetDllDirectory = function(nBufferLength: DWord; lpPathName: PAnsiChar): LONGBOOL; stdcall;
var
- AttachArray: array of TMapiFileDesc;
- RecipArray: array of TMapiRecipDesc;
- RealAdresses: array of string;
+ AttachArray: packed array of TMapiFileDesc;
+ RecipArray: packed array of TMapiRecipDesc;
+ RealAddresses: array of string;
+ RealNames: array of string;
MapiMessage: TMapiMessage;
Flags, Res: DWORD;
I: Integer;
MsgID: array [0..512] of AnsiChar;
- AttachmentFileName: array of string;
+ AttachmentFileNames: array of string;
+ AttachmentPathNames: array of string;
HtmlBodyFileName: string;
+ SetDllDirectory: TSetDllDirectory;
+ GetDllDirectory: TGetDllDirectory;
+ DllDirectoryBuffer: array[0..1024] of Char;
begin
if not AnyClientInstalled then
raise EJclMapiError.CreateRes(@RsMapiMailNoClient);
- HtmlBodyFileName := '';
+ @GetDllDirectory := GetProcAddress(GetModuleHandle(kernel32), 'GetDllDirectoryA');
+ @SetDllDirectory := GetProcAddress(GetModuleHandle(kernel32), 'SetDllDirectoryA');
+ if Assigned(@GetDllDirectory) and Assigned(@SetDllDirectory) then
+ begin
+ GetDllDirectory(SizeOf(DllDirectoryBuffer), @DllDirectoryBuffer);
+ SetDllDirectory(nil);
+ end;
try
- if FHtmlBody then
- begin
- HtmlBodyFileName := FindUnusedFileName(PathAddSeparator(GetWindowsTempFolder) + 'JclMapi', 'htm', 'Temp');
- Attachments.Insert(0, HtmlBodyFileName);
- AttachmentFiles.Insert(0, '');
- StringToFile(HtmlBodyFileName, Body);
- end;
- // Create attachments
- if Attachments.Count > 0 then
- begin
- SetLength(AttachArray, Attachments.Count);
- SetLength(AttachmentFileName, Attachments.Count);
- for I := 0 to Attachments.Count - 1 do
+ HtmlBodyFileName := '';
+ try
+ if FHtmlBody then
begin
- FillChar(AttachArray[I], SizeOf(TMapiFileDesc), #0);
- AttachArray[I].nPosition := DWORD(-1);
- if (AttachmentFiles.Count > I) and (AttachmentFiles[I] <> '') then
- begin
- AttachmentFileName[I] := ExpandFileName(AttachmentFiles[I]);
- AttachArray[I].lpszFileName := PChar(Attachments[I]);
- end
- else
- begin
- AttachmentFileName[I] := ExpandFileName(Attachments[I]);
- AttachArray[I].lpszFileName := nil;
- end;
- AttachArray[I].lpszPathName := PChar(AttachmentFileName[I]);
- if not FileExists(AttachmentFileName[I]) then
- MapiCheck(MAPI_E_ATTACHMENT_NOT_FOUND, False);
+ HtmlBodyFileName := FindUnusedFileName(PathAddSeparator(GetWindowsTempFolder) + 'JclMapi', 'htm', 'Temp');
+ Attachments.Insert(0, HtmlBodyFileName);
+ AttachmentFiles.Insert(0, '');
+ StringToFile(HtmlBodyFileName, Body);
end;
- end
- else
- AttachArray := nil;
- // Create recipients
- if Recipients.Count > 0 then
- begin
- SetLength(RecipArray, Recipients.Count);
- SetLength(RealAdresses, Recipients.Count);
- for I := 0 to Recipients.Count - 1 do
+ // Create attachments
+ if Attachments.Count > 0 then
begin
- FillChar(RecipArray[I], SizeOf(TMapiRecipDesc), #0);
- with RecipArray[I], Recipients[I] do
+ SetLength(AttachArray, Attachments.Count);
+ SetLength(AttachmentFileNames, Attachments.Count);
+ SetLength(AttachmentPathNames, Attachments.Count);
+ for I := 0 to Attachments.Count - 1 do
begin
- ulRecipClass := RecipClasses[Kind];
- if Name = '' then // some clients requires Name item always filled
+ FillChar(AttachArray[I], SizeOf(TMapiFileDesc), #0);
+ AttachArray[I].nPosition := DWORD(-1);
+ if (AttachmentFiles.Count > I) and (AttachmentFiles[I] <> '') then
begin
- if FAddress = '' then
- MapiCheck(MAPI_E_INVALID_RECIPS, False);
- lpszName := PChar(FAddress);
+ AttachmentFileNames[I] := Attachments[I];
+ AttachmentPathNames[I] := ExpandFileName(AttachmentFiles[I]);
end
else
- lpszName := PChar(FName);
- if FAddressType <> '' then
- RealAdresses[I] := FAddressType + AddressTypeDelimiter + FAddress
- else
- if Recipients.AddressesType <> '' then
- RealAdresses[I] := Recipients.AddressesType + AddressTypeDelimiter + FAddress
- else
- RealAdresses[I] := FAddress;
- lpszAddress := PCharOrNil(RealAdresses[I]);
+ begin
+ AttachmentFileNames[I] := ExtractFileName(Attachments[I]);
+ AttachmentPathNames[I] := ExpandFileName(Attachments[I]);
+ end;
+ AttachArray[I].lpszFileName := PAnsiChar(AttachmentFileNames[I]);
+ AttachArray[I].lpszPathName := PAnsiChar(AttachmentPathNames[I]);
+ if not FileExists(AttachmentPathNames[I]) then
+ MapiCheck(MAPI_E_ATTACHMENT_NOT_FOUND, False);
end;
+ end
+ else
+ AttachArray := nil;
+ // Create recipients
+ if Recipients.Count > 0 then
+ begin
+ SetLength(RecipArray, Recipients.Count);
+ SetLength(RealAddresses, Recipients.Count);
+ SetLength(RealNames, Recipients.Count);
+ for I := 0 to Recipients.Count - 1 do
+ begin
+ FillChar(RecipArray[I], SizeOf(TMapiRecipDesc), #0);
+ with RecipArray[I], Recipients[I] do
+ begin
+ ulRecipClass := RecipClasses[Kind];
+ if FName = '' then // some clients requires Name item always filled
+ begin
+ if FAddress = '' then
+ MapiCheck(MAPI_E_INVALID_RECIPS, False);
+ RealNames[I] := FAddress;
+ end
+ else
+ RealNames[I] := FName;
+ if FAddressType <> '' then
+ RealAddresses[I] := FAddressType + AddressTypeDelimiter + FAddress
+ else
+ if Recipients.AddressesType <> '' then
+ RealAddresses[I] := Recipients.AddressesType + AddressTypeDelimiter + FAddress
+ else
+ RealAddresses[I] := FAddress;
+ lpszName := PAnsiChar(RealNames[I]);
+ lpszAddress := PAnsiChar(RealAddresses[I]);
+ end;
+ end;
+ end
+ else
+ begin
+ if ShowDialog then
+ RecipArray := nil
+ else
+ MapiCheck(MAPI_E_INVALID_RECIPS, False);
end;
- end
- else
- begin
- if ShowDialog then
- RecipArray := nil
+ // Load MAPI client library
+ LoadClientLib;
+ // Fill MapiMessage structure
+ FillChar(MapiMessage, SizeOf(MapiMessage), #0);
+ MapiMessage.lpszSubject := PChar(FSubject);
+ if FHtmlBody then
+ MapiMessage.lpszNoteText := #0
else
- MapiCheck(MAPI_E_INVALID_RECIPS, False);
+ MapiMessage.lpszNoteText := PChar(FBody);
+ MapiMessage.nRecipCount := Length(RecipArray);
+ if MapiMessage.nRecipCount > 0 then
+ MapiMessage.lpRecips := PMapiRecipDesc(@RecipArray[0]);
+ MapiMessage.nFileCount := Length(AttachArray);
+ if MapiMessage.nFileCount > 0 then
+ MapiMessage.lpFiles := PMapiFileDesc(@AttachArray[0]);
+ Flags := LogonOptionsToFlags(ShowDialog);
+ if Save then
+ begin
+ StrPLCopy(MsgID, SeedMessageID, SizeOf(MsgID));
+ Res := MapiSaveMail(FSessionHandle, ParentWND, MapiMessage, Flags, 0, MsgID);
+ if Res = SUCCESS_SUCCESS then
+ SeedMessageID := MsgID;
+ end
+ else
+ Res := MapiSendMail(FSessionHandle, ParentWND, MapiMessage, Flags, 0);
+ Result := (MapiCheck(Res, True) = SUCCESS_SUCCESS);
+ finally
+ SetLength(AttachArray, 0);
+ SetLength(RecipArray, 0);
+ SetLength(RealAddresses, 0);
+ SetLength(RealNames, 0);
+ SetLength(AttachmentFileNames, 0);
+ SetLength(AttachmentPathNames, 0);
+ if HtmlBodyFileName <> '' then
+ begin
+ DeleteFile(HtmlBodyFileName);
+ Attachments.Delete(0);
+ AttachmentFiles.Delete(0);
+ end;
end;
- // Load MAPI client library
- LoadClientLib;
- // Fill MapiMessage structure
- FillChar(MapiMessage, SizeOf(MapiMessage), #0);
- MapiMessage.lpszSubject := PChar(FSubject);
- if FHtmlBody then
- MapiMessage.lpszNoteText := #0
- else
- MapiMessage.lpszNoteText := PChar(FBody);
- MapiMessage.lpRecips := PMapiRecipDesc(RecipArray);
- MapiMessage.nRecipCount := Length(RecipArray);
- MapiMessage.lpFiles := PMapiFileDesc(AttachArray);
- MapiMessage.nFileCount := Length(AttachArray);
- Flags := LogonOptionsToFlags(ShowDialog);
- if Save then
- begin
- StrPLCopy(MsgID, SeedMessageID, SizeOf(MsgID));
- Res := MapiSaveMail(FSessionHandle, ParentWND, MapiMessage, Flags, 0, MsgID);
- if Res = SUCCESS_SUCCESS then
- SeedMessageID := MsgID;
- end
- else
- Res := MapiSendMail(FSessionHandle, ParentWND, MapiMessage, Flags, 0);
- Result := (MapiCheck(Res, True) = SUCCESS_SUCCESS);
finally
- if HtmlBodyFileName <> '' then
- begin
- DeleteFile(HtmlBodyFileName);
- Attachments.Delete(0);
- AttachmentFiles.Delete(0);
- end;
+ if Assigned(@SetDllDirectory) then
+ SetDllDirectory(DllDirectoryBuffer);
end;
end;
@@ -1075,7 +1128,7 @@
LoadClientLib;
MapiCheck(MapiLogOn(ParentWND, PChar(ProfileName), PChar(Password),
LogonOptionsToFlags(False), 0, @FSessionHandle), True);
- end;
+ end;
end;
function TJclEmail.LogonOptionsToFlags(ShowDialog: Boolean): DWORD;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ou...@us...> - 2007-06-10 20:42:43
|
Revision: 2036
http://svn.sourceforge.net/jcl/?rev=2036&view=rev
Author: outchy
Date: 2007-06-10 13:42:40 -0700 (Sun, 10 Jun 2007)
Log Message:
-----------
Mantis 4047: donation from Christoph Lindeman
code to convert string to SID and SID to string
code to retrieve local computer SID
Modified Paths:
--------------
trunk/jcl/docs/Contributors.html
trunk/jcl/docs/Contributors.txt
trunk/jcl/source/common/JclResources.pas
trunk/jcl/source/prototypes/JclWin32.pas
trunk/jcl/source/prototypes/win32api/WinNT.int
trunk/jcl/source/windows/JclLANMan.pas
trunk/jcl/source/windows/JclSecurity.pas
trunk/jcl/source/windows/JclWin32.pas
Added Paths:
-----------
trunk/jcl/source/prototypes/win32api/NtSecApi.imp
trunk/jcl/source/prototypes/win32api/NtSecApi.int
Modified: trunk/jcl/docs/Contributors.html
===================================================================
--- trunk/jcl/docs/Contributors.html 2007-06-10 17:15:18 UTC (rev 2035)
+++ trunk/jcl/docs/Contributors.html 2007-06-10 20:42:40 UTC (rev 2036)
@@ -98,284 +98,289 @@
<td width="25%">Chris Morris</td>
- <td width="25%">Clayton Collie</td>
+ <td width="25%"><a href="mailto:chr...@li...">Christoph Lindeman</a></td>
+ <td width="25%">Clayton Collie</td>
- <td width="25%"><a href="mailto:sa...@ia...">Corrie Engelbrecht</a></td>
-
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:Cyb...@ya...">Cybertron_549672</a></td>
+ <td width="25%"><a href="mailto:sa...@ia...">Corrie Engelbrecht</a></td>
- <td width="25%"><a href="mailto:dj...@sg...">Daniel Møller</a></td>
+ <td width="25%"><a href="mailto:Cyb...@ya...">Cybertron_549672</a></td>
- <td width="25%"><a href="mailto:david@e.co.za">David Butler</a></td>
+ <td width="25%"><a href="mailto:dj...@sg...">Daniel M\xF8ller</a></td>
- <td width="25%"><a href="mailto:dhe...@Pi...">David Hervieux</a></td>
+ <td width="25%"><a href="mailto:david@e.co.za">David Butler</a></td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:de...@da...">Deian Ivanov</a></td>
+ <td width="25%"><a href="mailto:dhe...@Pi...">David Hervieux</a></td>
- <td width="25%"><a href="mailto:de...@em...">Dewald Hess</a></td>
+ <td width="25%"><a href="mailto:de...@da...">Deian Ivanov</a></td>
- <td width="25%"><a href="mailto:rm...@fe...">Dick Maley (Advanced Delphi Systems)</a></td>
+ <td width="25%"><a href="mailto:de...@em...">Dewald Hess</a></td>
- <td width="25%"><a href="mailto:dy...@in...">Dylan Thomas</a></td>
+ <td width="25%"><a href="mailto:rm...@fe...">Dick Maley (Advanced Delphi Systems)</a></td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:Ear...@at...">Earl F. Glynn</a></td>
+ <td width="25%"><a href="mailto:dy...@in...">Dylan Thomas</a></td>
- <td width="25%">Eric S. Fisher</td>
+ <td width="25%"><a href="mailto:Ear...@at...">Earl F. Glynn</a></td>
- <td width="25%">Ernesto Benestante</td>
+ <td width="25%">Eric S. Fisher</td>
- <td width="25%">ESB Consultancy</td>
+ <td width="25%">Ernesto Benestante</td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:ftf...@di...">Felipe de Toledo Farias</a></td>
+ <td width="25%">ESB Consultancy</td>
- <td width="25%"><a href="mailto:fl...@us...">Flier Lu</a></td>
+ <td width="25%"><a href="mailto:ftf...@di...">Felipe de Toledo Farias</a></td>
- <td width="25%"><a href="mailto:ouc...@la...">Florent Ouchet</a></td>
+ <td width="25%"><a href="mailto:fl...@us...">Flier Lu</a></td>
- <td width="25%"><a href="mailto:hal...@c2...">Hallvard Vassbotn</a></td>
+ <td width="25%"><a href="mailto:ouc...@la...">Florent Ouchet</a></td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:he...@us...">Heinz Zastrau</a></td>
+ <td width="25%"><a href="mailto:hal...@c2...">Hallvard Vassbotn</a></td>
- <td width="25%"><a href="mailto:he...@wr...">Helen Borrie</a></td>
+ <td width="25%"><a href="mailto:he...@us...">Heinz Zastrau</a></td>
- <td width="25%">Heri Bender</td>
+ <td width="25%"><a href="mailto:he...@wr...">Helen Borrie</a></td>
- <td width="25%">Huanlin Tsai</td>
+ <td width="25%">Heri Bender</td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:ba...@oz...">Ivo Bauer</a></td>
+ <td width="25%">Huanlin Tsai</td>
- <td width="25%"><a href="mailto:Jac...@On...">Jack Bombeeck</a></td>
+ <td width="25%"><a href="mailto:ba...@oz...">Ivo Bauer</a></td>
- <td width="25%"><a href="mailto:ja...@eu...">Jack N.A. Bakker</a></td>
+ <td width="25%"><a href="mailto:Jac...@On...">Jack Bombeeck</a></td>
- <td width="25%"><a href="mailto:su...@ja...">James Azarja</a></td>
+ <td width="25%"><a href="mailto:ja...@eu...">Jack N.A. Bakker</a></td>
</tr>
<tr valign="top">
- <td width="25%">Jean Debord</td>
+ <td width="25%"><a href="mailto:su...@ja...">James Azarja</a></td>
- <td width="25%"><a href="mailto:cyc...@wa...">Jean-Fabien Connault</a></td>
+ <td width="25%">Jean Debord</td>
- <td width="25%"><a href="mailto:rd...@us...">Jean-Philippe BEMPEL</a></td>
+ <td width="25%"><a href="mailto:cyc...@wa...">Jean-Fabien Connault</a></td>
- <td width="25%">Jeroen Speldekamp</td>
+ <td width="25%"><a href="mailto:rd...@us...">Jean-Philippe BEMPEL</a></td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:joh...@gm...">Johannes Berg</a></td>
+ <td width="25%">Jeroen Speldekamp</td>
- <td width="25%"><a href="mailto:ja...@ho...">John C Molyneux</a></td>
+ <td width="25%"><a href="mailto:joh...@gm...">Johannes Berg</a></td>
- <td width="25%"><a href="mailto:jud...@mi...">Jud McCranie</a></td>
+ <td width="25%"><a href="mailto:ja...@ho...">John C Molyneux</a></td>
- <td width="25%"><a href="mailto:j.f...@ne...">Julien Ferraro</a></td>
+ <td width="25%"><a href="mailto:jud...@mi...">Jud McCranie</a></td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:gal...@te...">Kevin S. Gallagher</a></td>
+ <td width="25%"><a href="mailto:j.f...@ne...">Julien Ferraro</a></td>
- <td width="25%"><a href="mailto:la...@ci...">Lasse Vågsæther Karlsen</a></td>
+ <td width="25%"><a href="mailto:gal...@te...">Kevin S. Gallagher</a></td>
- <td width="25%">Leonard Wennekers</td>
+ <td width="25%"><a href="mailto:la...@ci...">Lasse V\xE5gs\xE6ther Karlsen</a></td>
- <td width="25%"><a href="mailto:lir...@ho...">Liran Shahar</a></td>
+ <td width="25%">Leonard Wennekers</td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:ll...@in...">Lloyd Kinsella</a></td>
+ <td width="25%"><a href="mailto:lir...@ho...">Liran Shahar</a></td>
- <td width="25%"><a href="mailto:lu...@us...">Lucjan Lukasik</a></td>
+ <td width="25%"><a href="mailto:ll...@in...">Lloyd Kinsella</a></td>
- <td width="25%"><a href="mailto:mav...@cs...">M.H. Avegaart</a></td>
+ <td width="25%"><a href="mailto:lu...@us...">Lucjan Lukasik</a></td>
- <td width="25%"><a href="mailto:ed...@cc...">Malcolm Edgar</a></td>
+ <td width="25%"><a href="mailto:mav...@cs...">M.H. Avegaart</a></td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:ma...@us...">Manlio Laschena</a></td>
+ <td width="25%"><a href="mailto:ed...@cc...">Malcolm Edgar</a></td>
- <td width="25%">Marc Convents</td>
+ <td width="25%"><a href="mailto:ma...@us...">Manlio Laschena</a></td>
- <td width="25%"><a href="mailto:ma...@ze...">Marcel Bestebroer</a></td>
+ <td width="25%">Marc Convents</td>
- <td width="25%"><a href="mailto:br...@ba...">Marcel van Brakel</a></td>
+ <td width="25%"><a href="mailto:ma...@ze...">Marcel Bestebroer</a></td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:wi...@po...">Marcin Wieczorek</a></td>
+ <td width="25%"><a href="mailto:br...@ba...">Marcel van Brakel</a></td>
- <td width="25%"><a href="mailto:Don...@gm...">Marco Klemm</a></td>
+ <td width="25%"><a href="mailto:wi...@po...">Marcin Wieczorek</a></td>
- <td width="25%"><a href="mailto:oc...@ya...">Mario R. Carro</a></td>
+ <td width="25%"><a href="mailto:Don...@gm...">Marco Klemm</a></td>
- <td width="25%"><a href="mailto:ma...@ca...">Marius le Roux</a></td>
+ <td width="25%"><a href="mailto:oc...@ya...">Mario R. Carro</a></td>
</tr>
<tr valign="top">
- <td width="25%">Mark Vaughan</td>
+ <td width="25%"><a href="mailto:ma...@ca...">Marius le Roux</a></td>
- <td width="25%">Martin Kimmings</td>
+ <td width="25%">Mark Vaughan</td>
- <td width="25%">Martin Kubecka</td>
+ <td width="25%">Martin Kimmings</td>
- <td width="25%"><a href="mailto:ni...@da...">Massimo Maria Ghisalberti</a></td>
+ <td width="25%">Martin Kubecka</td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:MHa...@bu...">Matt Hamilton</a></td>
+ <td width="25%"><a href="mailto:ni...@da...">Massimo Maria Ghisalberti</a></td>
- <td width="25%"><a href="mailto:mt...@us...">Matthias Thoma</a></td>
+ <td width="25%"><a href="mailto:MHa...@bu...">Matt Hamilton</a></td>
- <td width="25%"><a href="mailto:mic...@oz...">Michael Rynn</a></td>
+ <td width="25%"><a href="mailto:mt...@us...">Matthias Thoma</a></td>
- <td width="25%"><a href="mailto:msc...@bs...">Michael Schnell</a></td>
+ <td width="25%"><a href="mailto:mic...@oz...">Michael Rynn</a></td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:ea...@ms...">Michael Tsai</a></td>
+ <td width="25%"><a href="mailto:msc...@bs...">Michael Schnell</a></td>
- <td width="25%">Michael Winter</td>
+ <td width="25%"><a href="mailto:ea...@ms...">Michael Tsai</a></td>
- <td width="25%"><a href="mailto:pu...@li...">Mike Lischke</a></td>
+ <td width="25%">Michael Winter</td>
- <td width="25%"><a href="mailto:nh...@ic...">Nick Hodges</a></td>
+ <td width="25%"><a href="mailto:pu...@li...">Mike Lischke</a></td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:n....@si...">Nils Haeck</a></td>
+ <td width="25%"><a href="mailto:nh...@ic...">Nick Hodges</a></td>
- <td width="25%"><a href="mailto:ass...@us...">Oliver Schneider</a></td>
+ <td width="25%"><a href="mailto:n....@si...">Nils Haeck</a></td>
- <td width="25%"><a href="mailto:ob...@us...">Olivier Sannier</a></td>
+ <td width="25%"><a href="mailto:ass...@us...">Oliver Schneider</a></td>
- <td width="25%"><a href="mailto:pat...@ie...">Patrick van Laake</a></td>
+ <td width="25%"><a href="mailto:ob...@us...">Olivier Sannier</a></td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:pc...@at...">Pavel Cisar</a></td>
+ <td width="25%"><a href="mailto:pat...@ie...">Patrick van Laake</a></td>
- <td width="25%"><a href="mailto:pel...@fi...">Pelle Liljendal</a></td>
+ <td width="25%"><a href="mailto:pc...@at...">Pavel Cisar</a></td>
- <td width="25%"><a href="mailto:fr...@gm...">Peter Friese</a></td>
+ <td width="25%"><a href="mailto:pel...@fi...">Pelle Liljendal</a></td>
- <td width="25%"><a href="mailto:fm...@kc...">Peter McMahon</a></td>
+ <td width="25%"><a href="mailto:fr...@gm...">Peter Friese</a></td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:pet...@ao...">Peter Panino</a></td>
+ <td width="25%"><a href="mailto:fm...@kc...">Peter McMahon</a></td>
- <td width="25%"><a href="mailto:pe...@us...">Peter Thörnquist</a></td>
+ <td width="25%"><a href="mailto:pet...@ao...">Peter Panino</a></td>
- <td width="25%"><a href="mailto:pv...@us...">Petr Vones</a></td>
+ <td width="25%"><a href="mailto:pe...@us...">Peter Th\xF6rnquist</a></td>
- <td width="25%">Python</td>
+ <td width="25%"><a href="mailto:pv...@us...">Petr Vones</a></td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:ral...@gm...">Ralf Junker</a></td>
+ <td width="25%">Python</td>
- <td width="25%"><a href="mailto:ray...@us...">Raymond Alexander</a></td>
+ <td width="25%"><a href="mailto:ral...@gm...">Ralf Junker</a></td>
- <td width="25%"><a href="mailto:rik...@us...">Rik Barker</a></td>
+ <td width="25%"><a href="mailto:ray...@us...">Raymond Alexander</a></td>
- <td width="25%"><a href="mailto:rh...@nw...">Robert Lee</a></td>
+ <td width="25%"><a href="mailto:rik...@us...">Rik Barker</a></td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:mar...@us...">Robert Marquardt</a></td>
+ <td width="25%"><a href="mailto:rh...@nw...">Robert Lee</a></td>
- <td width="25%"><a href="mailto:rob...@ko...">Robert R. Marsh</a></td>
+ <td width="25%"><a href="mailto:mar...@us...">Robert Marquardt</a></td>
- <td width="25%"><a href="mailto:Rob...@us...">Robert Rossmair</a></td>
+ <td width="25%"><a href="mailto:rob...@ko...">Robert R. Marsh</a></td>
- <td width="25%"><a href="mailto:rve...@gm...">Rudy Velthuis</a></td>
+ <td width="25%"><a href="mailto:Rob...@us...">Robert Rossmair</a></td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:sco...@us...">Scott Price</a></td>
+ <td width="25%"><a href="mailto:rve...@gm...">Rudy Velthuis</a></td>
- <td width="25%"><a href="mailto:an...@so...">SouthEaster</a></td>
+ <td width="25%"><a href="mailto:sco...@us...">Scott Price</a></td>
- <td width="25%"><a href="mailto:ste...@01...">Stefan Kirschner</a></td>
+ <td width="25%"><a href="mailto:an...@so...">SouthEaster</a></td>
- <td width="25%"><a href="mailto:sf...@if...">Stephane Fillon</a></td>
+ <td width="25%"><a href="mailto:ste...@01...">Stefan Kirschner</a></td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:Ste...@Bi...">Sterling Butts</a></td>
+ <td width="25%"><a href="mailto:sf...@if...">Stephane Fillon</a></td>
- <td width="25%"><a href="mailto:be...@ot...">Theo Bebekis</a></td>
+ <td width="25%"><a href="mailto:Ste...@Bi...">Sterling Butts</a></td>
- <td width="25%"><a href="mailto:ti...@th...">Tim Yates</a></td>
+ <td width="25%"><a href="mailto:be...@ot...">Theo Bebekis</a></td>
- <td width="25%"><a href="mailto:to...@us...">Tom Hahn</a></td>
+ <td width="25%"><a href="mailto:ti...@th...">Tim Yates</a></td>
</tr>
<tr valign="top">
- <td width="25%"><a href="mailto:usc...@us...">Uwe Schuster</a></td>
+ <td width="25%"><a href="mailto:to...@us...">Tom Hahn</a></td>
- <td width="25%"><a href="mailto:jon...@sk...">Wim De Cleen</a></td>
+ <td width="25%"><a href="mailto:usc...@us...">Uwe Schuster</a></td>
- <td width="25%"><a href="mailto:yg...@ne...">Yaniv Golan</a></td>
+ <td width="25%"><a href="mailto:jon...@sk...">Wim De Cleen</a></td>
+ <td width="25%"><a href="mailto:yg...@ne...">Yaniv Golan</a></td>
+
+ </tr>
+
+ <tr valign="top">
+
<td width="25%"><a href="mailto:">Your name here?</a></td>
</tr>
Modified: trunk/jcl/docs/Contributors.txt
===================================================================
--- trunk/jcl/docs/Contributors.txt 2007-06-10 17:15:18 UTC (rev 2035)
+++ trunk/jcl/docs/Contributors.txt 2007-06-10 20:42:40 UTC (rev 2036)
@@ -20,6 +20,7 @@
Cenon Del Ros...@ma...
Charlie Cal...@in...
Chris Morris=
+Christoph Lin...@li...
Clayton Collie=
Corrie Eng...@ia...
Cyb...@ya...
Modified: trunk/jcl/source/common/JclResources.pas
===================================================================
--- trunk/jcl/source/common/JclResources.pas 2007-06-10 17:15:18 UTC (rev 2035)
+++ trunk/jcl/source/common/JclResources.pas 2007-06-10 20:42:40 UTC (rev 2036)
@@ -1611,8 +1611,14 @@
RsScheduleDayInRange = 'Day values should fall in the range 1 .. 31';
RsScheduleMonthInRange = 'Month values should fall in the range 1 .. 12';
-//=== JclSimpleXml.pas =======================================================
+//=== JclSecurity ============================================================
resourcestring
+ RsInvalidSID = 'Invalid SID';
+ RsSIDBufferTooSmall = 'SID buffer too small.';
+ RsLsaError = 'LSA Error: NT Status = %.8x, message: %s';
+
+//=== JclSimpleXml ===========================================================
+resourcestring
RsEInvalidXMLElementUnexpectedCharacte =
'Invalid XML Element: Unexpected character in property declaration ("%s" found)';
RsEInvalidXMLElementUnexpectedCharacte_ =
Modified: trunk/jcl/source/prototypes/JclWin32.pas
===================================================================
--- trunk/jcl/source/prototypes/JclWin32.pas 2007-06-10 17:15:18 UTC (rev 2035)
+++ trunk/jcl/source/prototypes/JclWin32.pas 2007-06-10 20:42:40 UTC (rev 2036)
@@ -102,8 +102,9 @@
{$HPPEMIT '#include "propidl.h"'}
{$HPPEMIT '#include "msidefs.h"'}
{$HPPEMIT '#include "shlguid.h"'}
-{$HPPEMIT '#include "imgguids.h"}
-{$HPPEMIT '#include "objbase.h"}
+{$HPPEMIT '#include "imgguids.h"'}
+{$HPPEMIT '#include "objbase.h"'}
+{$HPPEMIT '#include "ntsecapi.h"'}
{$HPPEMIT ''}
{$IFDEF CLR}
@@ -148,6 +149,7 @@
{$I win32api\ShlGuid.int}
{$I win32api\imgguids.int}
{$I win32api\ObjBase.int}
+{$I win32api\NtSecApi.int}
{$IFDEF MSWINDOWS}
@@ -272,6 +274,7 @@
{$I win32api\WinNT.imp}
{$I win32api\PowrProf.imp}
{$I win32api\ObjBase.imp}
+{$I win32api\NtSecApi.imp}
{$IFDEF UNITVERSIONING}
initialization
Added: trunk/jcl/source/prototypes/win32api/NtSecApi.imp
===================================================================
--- trunk/jcl/source/prototypes/win32api/NtSecApi.imp (rev 0)
+++ trunk/jcl/source/prototypes/win32api/NtSecApi.imp 2007-06-10 20:42:40 UTC (rev 2036)
@@ -0,0 +1,77 @@
+var
+ _LsaOpenPolicy: Pointer;
+
+function LsaOpenPolicy;
+begin
+ GetProcedureAddress(_LsaOpenPolicy, advapi32, 'LsaOpenPolicy');
+ asm
+ mov esp, ebp
+ pop ebp
+ jmp [_LsaOpenPolicy]
+ end;
+end;
+
+var
+ _LsaQueryInformationPolicy: Pointer;
+
+function LsaQueryInformationPolicy;
+begin
+ GetProcedureAddress(_LsaQueryInformationPolicy, advapi32, 'LsaQueryInformationPolicy');
+ asm
+ mov esp, ebp
+ pop ebp
+ jmp [_LsaQueryInformationPolicy]
+ end;
+end;
+
+var
+ _LsaFreeMemory: Pointer;
+
+function LsaFreeMemory;
+begin
+ GetProcedureAddress(_LsaFreeMemory, advapi32, 'LsaFreeMemory');
+ asm
+ mov esp, ebp
+ pop ebp
+ jmp [_LsaFreeMemory]
+ end;
+end;
+
+var
+ _LsaFreeReturnBuffer: Pointer;
+
+function LsaFreeReturnBuffer;
+begin
+ GetProcedureAddress(_LsaFreeReturnBuffer, advapi32, 'LsaFreeReturnBuffer');
+ asm
+ mov esp, ebp
+ pop ebp
+ jmp [_LsaFreeReturnBuffer]
+ end;
+end;
+
+var
+ _LsaClose: Pointer;
+
+function LsaClose;
+begin
+ GetProcedureAddress(_LsaClose, advapi32, 'LsaClose');
+ asm
+ mov esp, ebp
+ pop ebp
+ jmp [_LsaClose]
+ end;
+end;
+
+var
+ _LsaNtStatusToWinError: Pointer;
+
+function LsaNtStatusToWinError;
+begin
+ GetProcedureAddress(_LsaNtStatusToWinError, advapi32, 'LsaNtStatusToWinError');
+ asm
+ mov esp, ebp
+ pop ebp
+ jmp [_LsaNtStatusToWinError]
+ end;
+end;
Property changes on: trunk/jcl/source/prototypes/win32api/NtSecApi.imp
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: trunk/jcl/source/prototypes/win32api/NtSecApi.int
===================================================================
--- trunk/jcl/source/prototypes/win32api/NtSecApi.int (rev 0)
+++ trunk/jcl/source/prototypes/win32api/NtSecApi.int 2007-06-10 20:42:40 UTC (rev 2036)
@@ -0,0 +1,149 @@
+// NtSecApi.h line 566
+type
+ PLSA_UNICODE_STRING = ^LSA_UNICODE_STRING;
+ _LSA_UNICODE_STRING = record
+ Length: USHORT;
+ MaximumLength: USHORT;
+ Buffer: Windows.LPWSTR;
+ end;
+ LSA_UNICODE_STRING = _LSA_UNICODE_STRING;
+ TLsaUnicodeString = LSA_UNICODE_STRING;
+ PLsaUnicodeString = PLSA_UNICODE_STRING;
+
+ PLSA_STRING = ^LSA_STRING;
+ _LSA_STRING = record
+ Length: USHORT;
+ MaximumLength: USHORT;
+ Buffer: PCHAR;
+ end;
+ LSA_STRING = _LSA_STRING;
+ TLsaString = LSA_STRING;
+ PLsaString = PLSA_STRING;
+
+ PLSA_OBJECT_ATTRIBUTES = ^LSA_OBJECT_ATTRIBUTES;
+ _LSA_OBJECT_ATTRIBUTES = record
+ Length: ULONG;
+ RootDirectory: Windows.THandle;
+ ObjectName: PLSA_UNICODE_STRING;
+ Attributes: ULONG;
+ SecurityDescriptor: Pointer; // Points to type SECURITY_DESCRIPTOR
+ SecurityQualityOfService: Pointer; // Points to type SECURITY_QUALITY_OF_SERVICE
+ end;
+ LSA_OBJECT_ATTRIBUTES = _LSA_OBJECT_ATTRIBUTES;
+ TLsaObjectAttributes = _LSA_OBJECT_ATTRIBUTES;
+ PLsaObjectAttributes = PLSA_OBJECT_ATTRIBUTES;
+
+// NtSecApi.h line 680
+
+////////////////////////////////////////////////////////////////////////////
+// //
+// Local Security Policy Administration API datatypes and defines //
+// //
+////////////////////////////////////////////////////////////////////////////
+
+//
+// Access types for the Policy object
+//
+
+const
+ POLICY_VIEW_LOCAL_INFORMATION = $00000001;
+ POLICY_VIEW_AUDIT_INFORMATION = $00000002;
+ POLICY_GET_PRIVATE_INFORMATION = $00000004;
+ POLICY_TRUST_ADMIN = $00000008;
+ POLICY_CREATE_ACCOUNT = $00000010;
+ POLICY_CREATE_SECRET = $00000020;
+ POLICY_CREATE_PRIVILEGE = $00000040;
+ POLICY_SET_DEFAULT_QUOTA_LIMITS = $00000080;
+ POLICY_SET_AUDIT_REQUIREMENTS = $00000100;
+ POLICY_AUDIT_LOG_ADMIN = $00000200;
+ POLICY_SERVER_ADMIN = $00000400;
+ POLICY_LOOKUP_NAMES = $00000800;
+ POLICY_NOTIFICATION = $00001000;
+
+ POLICY_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED or
+ POLICY_VIEW_LOCAL_INFORMATION or
+ POLICY_VIEW_AUDIT_INFORMATION or
+ POLICY_GET_PRIVATE_INFORMATION or
+ POLICY_TRUST_ADMIN or
+ POLICY_CREATE_ACCOUNT or
+ POLICY_CREATE_SECRET or
+ POLICY_CREATE_PRIVILEGE or
+ POLICY_SET_DEFAULT_QUOTA_LIMITS or
+ POLICY_SET_AUDIT_REQUIREMENTS or
+ POLICY_AUDIT_LOG_ADMIN or
+ POLICY_SERVER_ADMIN or
+ POLICY_LOOKUP_NAMES);
+
+ POLICY_READ = (STANDARD_RIGHTS_READ or
+ POLICY_VIEW_AUDIT_INFORMATION or
+ POLICY_GET_PRIVATE_INFORMATION);
+
+ POLICY_WRITE = (STANDARD_RIGHTS_WRITE or
+ POLICY_TRUST_ADMIN or
+ POLICY_CREATE_ACCOUNT or
+ POLICY_CREATE_SECRET or
+ POLICY_CREATE_PRIVILEGE or
+ POLICY_SET_DEFAULT_QUOTA_LIMITS or
+ POLICY_SET_AUDIT_REQUIREMENTS or
+ POLICY_AUDIT_LOG_ADMIN or
+ POLICY_SERVER_ADMIN);
+
+ POLICY_EXECUTE = (STANDARD_RIGHTS_EXECUTE or
+ POLICY_VIEW_LOCAL_INFORMATION or
+ POLICY_LOOKUP_NAMES);
+
+// NtSecApi.h line 914
+type
+ _POLICY_INFORMATION_CLASS = (
+ PolicyAuditLogInformation = 1,
+ PolicyAuditEventsInformation,
+ PolicyPrimaryDomainInformation,
+ PolicyPdAccountInformation,
+ PolicyAccountDomainInformation,
+ PolicyLsaServerRoleInformation,
+ PolicyReplicaSourceInformation,
+ PolicyDefaultQuotaInformation,
+ PolicyModificationInformation,
+ PolicyAuditFullSetInformation,
+ PolicyAuditFullQueryInformation,
+ PolicyDnsDomainInformation,
+ PolicyDnsDomainInformationInt);
+ POLICY_INFORMATION_CLASS = _POLICY_INFORMATION_CLASS;
+ PPOLICY_INFORMATION_CLASS = ^POLICY_INFORMATION_CLASS;
+ TPolicyInformationClass = POLICY_INFORMATION_CLASS;
+ PPolicyInformationClass = PPOLICY_INFORMATION_CLASS;
+
+// NtSecApi.h line 1031
+//
+// The following structure corresponds to the PolicyAccountDomainInformation
+// information class.
+//
+type
+ PPOLICY_ACCOUNT_DOMAIN_INFO = ^POLICY_ACCOUNT_DOMAIN_INFO;
+ _POLICY_ACCOUNT_DOMAIN_INFO = record
+ DomainName: LSA_UNICODE_STRING;
+ DomainSid: Windows.PSID;
+ end;
+ POLICY_ACCOUNT_DOMAIN_INFO = _POLICY_ACCOUNT_DOMAIN_INFO;
+ TPolicyAccountDomainInfo = POLICY_ACCOUNT_DOMAIN_INFO;
+ PPolicyAccountDomainInfo = PPOLICY_ACCOUNT_DOMAIN_INFO;
+
+// NtSecApi.h line 1298
+type
+ LSA_HANDLE = Pointer;
+ PLSA_HANDLE = ^LSA_HANDLE;
+ TLsaHandle = LSA_HANDLE;
+
+// NtSecApi.h line 1714
+type
+ NTSTATUS = DWORD;
+
+function LsaOpenPolicy(SystemName: PLSA_UNICODE_STRING;
+ var ObjectAttributes: LSA_OBJECT_ATTRIBUTES; DesiredAccess: ACCESS_MASK;
+ var PolicyHandle: LSA_HANDLE): NTSTATUS; stdcall;
+function LsaQueryInformationPolicy(PolicyHandle: LSA_HANDLE;
+ InformationClass: POLICY_INFORMATION_CLASS; var Buffer: Pointer): NTSTATUS; stdcall;
+function LsaFreeMemory(Buffer: Pointer): NTSTATUS; stdcall;
+function LsaFreeReturnBuffer(Buffer: Pointer): NTSTATUS; stdcall;
+function LsaClose(ObjectHandle: LSA_HANDLE): NTSTATUS; stdcall;
+function LsaNtStatusToWinError(Status: NTSTATUS): ULONG; stdcall;
Property changes on: trunk/jcl/source/prototypes/win32api/NtSecApi.int
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Modified: trunk/jcl/source/prototypes/win32api/WinNT.int
===================================================================
--- trunk/jcl/source/prototypes/win32api/WinNT.int 2007-06-10 17:15:18 UTC (rev 2035)
+++ trunk/jcl/source/prototypes/win32api/WinNT.int 2007-06-10 20:42:40 UTC (rev 2036)
@@ -257,6 +257,15 @@
//
type
+ _SID_IDENTIFIER_AUTHORITY = record
+ Value: array [0..5] of Byte;
+ end;
+ {$EXTERNALSYM _SID_IDENTIFIER_AUTHORITY}
+ SID_IDENTIFIER_AUTHORITY = _SID_IDENTIFIER_AUTHORITY;
+ {$EXTERNALSYM SID_IDENTIFIER_AUTHORITY}
+ PSID_IDENTIFIER_AUTHORITY = ^_SID_IDENTIFIER_AUTHORITY;
+ {$EXTERNALSYM PSID_IDENTIFIER_AUTHORITY}
+
// PSid = ^SID;
_SID = record
Revision: Byte;
Modified: trunk/jcl/source/windows/JclLANMan.pas
===================================================================
--- trunk/jcl/source/windows/JclLANMan.pas 2007-06-10 17:15:18 UTC (rev 2035)
+++ trunk/jcl/source/windows/JclLANMan.pas 2007-06-10 20:42:40 UTC (rev 2036)
@@ -373,7 +373,7 @@
function LookupGroupName(const Server: string; const RID: TNetWellKnownRID): string;
var
- sia: SID_IDENTIFIER_AUTHORITY;
+ sia: Windows.SID_IDENTIFIER_AUTHORITY;
rd1, rd2: DWORD;
ridCount: Integer;
sd: PSID;
Modified: trunk/jcl/source/windows/JclSecurity.pas
===================================================================
--- trunk/jcl/source/windows/JclSecurity.pas 2007-06-10 17:15:18 UTC (rev 2035)
+++ trunk/jcl/source/windows/JclSecurity.pas 2007-06-10 20:42:40 UTC (rev 2036)
@@ -23,6 +23,7 @@
{ Robert Rossmair (rrossmair) }
{ Matthias Thoma (mthoma) }
{ Petr Vones (pvones) }
+{ Christoph Lindeman }
{ }
{**************************************************************************************************}
{ }
@@ -49,6 +50,9 @@
Windows, SysUtils,
JclBase;
+type
+ EJclSecurityError = class(EJclError);
+
// Access Control
function CreateNullDacl(var Sa: TSecurityAttributes;
const Inheritable: Boolean): PSecurityAttributes;
@@ -67,13 +71,19 @@
function GetUserObjectName(hUserObject: THandle): string;
// Account Information
-procedure LookupAccountBySid(Sid: PSID; out Name, Domain: string);
+procedure LookupAccountBySid(Sid: PSID; out Name, Domain: AnsiString); overload;
+procedure LookupAccountBySid(Sid: PSID; out Name, Domain: WideString); overload;
procedure QueryTokenInformation(Token: THandle; InformationClass: TTokenInformationClass; var Buffer: Pointer);
procedure FreeTokenInformation(var Buffer: Pointer);
-{$IFNDEF FPC}
function GetInteractiveUserName: string;
-{$ENDIF ~FPC}
+// SID utilities
+function SIDToString(ASID: PSID): string;
+procedure StringToSID(const SIDString: String; SID: PSID; cbSID: DWORD);
+
+// Computer Information
+function GetComputerSID(SID: PSID; cbSID: DWORD): Boolean;
+
{$IFDEF UNITVERSIONING}
const
UnitVersioning: TUnitVersionInfo = (
@@ -87,6 +97,7 @@
implementation
uses
+ Classes,
{$IFDEF FPC}
WinSysUt,
JwaAccCtrl,
@@ -334,7 +345,7 @@
//=== Account Information ====================================================
-procedure LookupAccountBySid(Sid: PSID; out Name, Domain: string);
+procedure LookupAccountBySid(Sid: PSID; out Name, Domain: AnsiString);
var
NameSize, DomainSize: DWORD;
Use: SID_NAME_USE;
@@ -343,13 +354,10 @@
begin
NameSize := 0;
DomainSize := 0;
- { TODO : Check the success }
- LookupAccountSid(nil, Sid, nil, NameSize, nil, DomainSize, Use);
+ Win32Check(LookupAccountSidA(nil, Sid, nil, NameSize, nil, DomainSize, Use));
SetLength(Name, NameSize);
SetLength(Domain, DomainSize);
- Win32Check(LookupAccountSid(nil, Sid, PChar(Name), NameSize, PChar(Domain), DomainSize, Use));
- SetLength(Domain, StrLen(PChar(Domain)));
- SetLength(Name, StrLen(PChar(Name)));
+ Win32Check(LookupAccountSidA(nil, Sid, PAnsiChar(Name), NameSize, PAnsiChar(Domain), DomainSize, Use));
end
else
begin // if Win9x, then function return ''
@@ -358,6 +366,27 @@
end;
end;
+procedure LookupAccountBySid(Sid: PSID; out Name, Domain: WideString);
+var
+ NameSize, DomainSize: DWORD;
+ Use: SID_NAME_USE;
+begin
+ if IsWinNT then
+ begin
+ NameSize := 0;
+ DomainSize := 0;
+ Win32Check(LookupAccountSidW(nil, Sid, nil, NameSize, nil, DomainSize, Use));
+ SetLength(Name, NameSize);
+ SetLength(Domain, DomainSize);
+ Win32Check(LookupAccountSidW(nil, Sid, PWideChar(Name), NameSize, PWideChar(Domain), DomainSize, Use));
+ end
+ else
+ begin
+ Name := '';
+ Domain := '';
+ end;
+end;
+
procedure QueryTokenInformation(Token: THandle;
InformationClass: TTokenInformationClass; var Buffer: Pointer);
var
@@ -397,13 +426,12 @@
Buffer := nil;
end;
-{$IFNDEF FPC} // JclSysInfo.GetShellProcessHandle not available
function GetInteractiveUserName: string;
var
Handle: THandle;
Token: THandle;
User: PTokenUser;
- Name, Domain: string;
+ Name, Domain: AnsiString;
begin
Result := '';
if not IsWinNT then // if Win9x, then function return ''
@@ -426,8 +454,175 @@
CloseHandle(Handle);
end;
end;
-{$ENDIF ~FPC}
+//=== SID utilities ==========================================================
+
+function SIDToString(ASID: PSID): string;
+var
+ SidIdAuthority: PSIDIdentifierAuthority;
+ SubAuthorities, SidRev, SidSize: DWORD;
+ Counter: Integer;
+begin
+ SidRev := SID_REVISION;
+
+ // Validate the binary SID.
+ if not IsValidSid(ASid) then
+ Raise EJclSecurityError.CreateRes(@RsInvalidSID);
+
+ // Get the identifier authority value from the SID.
+ SidIdAuthority := GetSidIdentifierAuthority(ASid);
+
+ // Get the number of subauthorities in the SID.
+ SubAuthorities := GetSidSubAuthorityCount(ASid)^;
+
+ //Compute the buffer length.
+ // S-SID_REVISION- + IdentifierAuthority- + subauthorities- + NULL
+ SidSize := (15 + 12 + (12 * SubAuthorities) + 1) * SizeOf(CHAR);
+
+ SetLength(Result, SidSize+1);
+
+ // Add 'S' prefix and revision number to the string.
+ Result := Format('S-%u-',[SidRev]);
+
+ // Add SID identifier authority to the string.
+ if (SidIdAuthority^.Value[0] <> 0) or (SidIdAuthority^.Value[1] <> 0) then
+ Result := Result + AnsiLowerCase(Format('0x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x',
+ [USHORT(SidIdAuthority^.Value[0]),
+ USHORT(SidIdAuthority^.Value[1]),
+ USHORT(SidIdAuthority^.Value[2]),
+ USHORT(SidIdAuthority^.Value[3]),
+ USHORT(SidIdAuthority^.Value[4]),
+ USHORT(SidIdAuthority^.Value[5])]))
+ else
+ Result := Result + Format('%u',
+ [ULONG(SidIdAuthority^.Value[5])+
+ ULONG(SidIdAuthority^.Value[4] shl 8)+
+ ULONG(SidIdAuthority^.Value[3] shl 16)+
+ ULONG(SidIdAuthority^.Value[2] shl 24)]);
+
+ // Add SID subauthorities to the string.
+ for Counter := 0 to SubAuthorities-1 do
+ Result := Result + Format('-%u',[GetSidSubAuthority(ASid, Counter)^]);
+end;
+
+procedure StringToSID(const SIDString: String; SID: PSID; cbSID: DWORD);
+var
+ ASID: ^_SID;
+ CurrentPos, TempPos: Integer;
+ AuthorityValue, RequiredSize: DWORD;
+ Authority: string;
+begin
+ if (Length (SIDString) <= 3) or (SIDString [1] <> 'S') or (SIDString [2] <> '-') then
+ raise EJclSecurityError.CreateRes(@RsInvalidSID);
+
+ RequiredSize := SizeOf(_SID) - SizeOf(DWORD); // _SID.Revision + _SID.SubAuthorityCount + _SID.IdentifierAuthority
+ if cbSID < RequiredSize then
+ raise EJclSecurityError.CreateRes(@RsSIDBufferTooSmall);
+
+ ASID := SID; // typecast from opaque structure
+
+ CurrentPos := StrFind('-', SIDString, 3);
+ if CurrentPos <= 0 then
+ raise EJclSecurityError.CreateRes(@RsInvalidSID);
+ ASID^.Revision := StrToInt(Copy(SIDString, 3, CurrentPos - 3));
+
+ Inc(CurrentPos);
+ TempPos := StrFind('-', SIDString, CurrentPos);
+ if TempPos = 0 then
+ Authority := Copy(SIDString, CurrentPos, Length(SIDString) - CurrentPos + 1)
+ else
+ Authority := Copy(SIDString, CurrentPos, TempPos - CurrentPos);
+
+ if Length(Authority) < 1 then
+ raise EJclSecurityError.CreateRes(@RsInvalidSID);
+ if (Length(Authority) = 14) and (Authority[1] = '0') and (Authority[2] = 'x') then
+ begin
+ ASID^.IdentifierAuthority.Value[0] := StrToInt(AnsiHexPrefix + Authority[3] + Authority[4]);
+ ASID^.IdentifierAuthority.Value[1] := StrToInt(AnsiHexPrefix + Authority[5] + Authority[6]);
+ ASID^.IdentifierAuthority.Value[2] := StrToInt(AnsiHexPrefix + Authority[7] + Authority[8]);
+ ASID^.IdentifierAuthority.Value[3] := StrToInt(AnsiHexPrefix + Authority[9] + Authority[10]);
+ ASID^.IdentifierAuthority.Value[4] := StrToInt(AnsiHexPrefix + Authority[11] + Authority[12]);
+ ASID^.IdentifierAuthority.Value[5] := StrToInt(AnsiHexPrefix + Authority[13] + Authority[14]);
+ end
+ else
+ begin
+ ASID^.IdentifierAuthority.Value[0] := 0;
+ ASID^.IdentifierAuthority.Value[1] := 0;
+ AuthorityValue := StrToInt(Authority);
+ ASID^.IdentifierAuthority.Value[2] := (AuthorityValue and $FF000000) shr 24;
+ ASID^.IdentifierAuthority.Value[3] := (AuthorityValue and $00FF0000) shr 16;
+ ASID^.IdentifierAuthority.Value[4] := (AuthorityValue and $0000FF00) shr 8;
+ ASID^.IdentifierAuthority.Value[5] := AuthorityValue and $000000FF;
+ end;
+
+ CurrentPos := TempPos + 1;
+ ASID^.SubAuthorityCount := 0;
+
+ while CurrentPos > 1 do
+ begin
+ TempPos := StrFind('-', SIDString, CurrentPos);
+
+ Inc(RequiredSize, SizeOf(DWORD)); // _SID.SubAuthority[x]
+ if cbSID < RequiredSize then
+ raise EJclSecurityError.CreateRes(@RsSIDBufferTooSmall);
+
+ if TempPos = 0 then
+ Authority := Copy(SIDString, CurrentPos, Length(SIDString) - CurrentPos + 1)
+ else
+ Authority := Copy(SIDString, CurrentPos, TempPos - CurrentPos);
+
+ ASID^.SubAuthority[ASID^.SubAuthorityCount] := StrToInt(Authority);
+ Inc(ASID^.SubAuthorityCount);
+
+ CurrentPos := TempPos + 1;
+ end;
+end;
+
+//=== Computer Information ===================================================
+
+function LsaNTCheck(NTResult: Cardinal) : Cardinal;
+var
+ WinError: Cardinal;
+begin
+ Result := NTResult;
+ if ($C0000000 and Cardinal(NTResult)) = $C0000000 then
+ begin
+ WinError := LsaNtStatusToWinError(NTResult);
+ if WinError <> ERROR_SUCCESS then
+ raise EJclSecurityError.CreateResFmt(@RsLsaError, [NTResult, SysErrorMessage(WinError)]);
+ end;
+end;
+
+function GetComputerSID(SID: PSID; cbSID: DWORD): Boolean;
+var
+ ObjectAttributes: TLsaObjectAttributes;
+ PolicyHandle: TLsaHandle;
+ Info: PPolicyAccountDomainInfo;
+begin
+ if IsWinNT then
+ begin
+ ZeroMemory(@ObjectAttributes,SizeOf(ObjectAttributes));
+
+ LsaNTCheck(LsaOpenPolicy(nil, // Use local system
+ ObjectAttributes, //Object attributes.
+ POLICY_VIEW_LOCAL_INFORMATION, // We're just looking
+ PolicyHandle)); //Receives the policy handle.
+ try
+ LsaNTCheck(LsaQueryInformationPolicy(PolicyHandle, PolicyAccountDomainInformation,
+ Pointer(Info)));
+ try
+ Result := CopySid(cbSID,SID,Info^.DomainSid);
+ finally
+ LsaFreeMemory(Info);
+ end;
+ finally
+ LsaClose(PolicyHandle);
+ end;
+ end
+ else
+ Result := False; // Win9x
+end;
+
{$IFDEF UNITVERSIONING}
initialization
RegisterUnitVersion(HInstance, UnitVersioning);
Modified: trunk/jcl/source/windows/JclWin32.pas
===================================================================
--- trunk/jcl/source/windows/JclWin32.pas 2007-06-10 17:15:18 UTC (rev 2035)
+++ trunk/jcl/source/windows/JclWin32.pas 2007-06-10 20:42:40 UTC (rev 2036)
@@ -97,8 +97,9 @@
{$HPPEMIT '#include "propidl.h"'}
{$HPPEMIT '#include "msidefs.h"'}
{$HPPEMIT '#include "shlguid.h"'}
-{$HPPEMIT '#include "imgguids.h"}
-{$HPPEMIT '#include "objbase.h"}
+{$HPPEMIT '#include "imgguids.h"'}
+{$HPPEMIT '#include "objbase.h"'}
+{$HPPEMIT '#include "ntsecapi.h"'}
{$HPPEMIT ''}
{$IFDEF CLR}
@@ -326,7 +327,7 @@
MAX_NATURAL_ALIGNMENT = SizeOf(ULONG);
{$EXTERNALSYM MAX_NATURAL_ALIGNMENT}
-// line\xB2 72
+// line 72
const
VER_SERVER_NT = DWORD($80000000);
@@ -457,6 +458,15 @@
//
type
+ _SID_IDENTIFIER_AUTHORITY = record
+ Value: array [0..5] of Byte;
+ end;
+ {$EXTERNALSYM _SID_IDENTIFIER_AUTHORITY}
+ SID_IDENTIFIER_AUTHORITY = _SID_IDENTIFIER_AUTHORITY;
+ {$EXTERNALSYM SID_IDENTIFIER_AUTHORITY}
+ PSID_IDENTIFIER_AUTHORITY = ^_SID_IDENTIFIER_AUTHORITY;
+ {$EXTERNALSYM PSID_IDENTIFIER_AUTHORITY}
+
// PSid = ^SID;
_SID = record
Revision: Byte;
@@ -7148,8 +7158,159 @@
{$ENDIF ~CLR}
+// NtSecApi.h line 566
+type
+ PLSA_UNICODE_STRING = ^LSA_UNICODE_STRING;
+ _LSA_UNICODE_STRING = record
+ Length: USHORT;
+ MaximumLength: USHORT;
+ Buffer: Windows.LPWSTR;
+ end;
+ LSA_UNICODE_STRING = _LSA_UNICODE_STRING;
+ TLsaUnicodeString = LSA_UNICODE_STRING;
+ PLsaUnicodeString = PLSA_UNICODE_STRING;
+ PLSA_STRING = ^LSA_STRING;
+ _LSA_STRING = record
+ Length: USHORT;
+ MaximumLength: USHORT;
+ Buffer: PCHAR;
+ end;
+ LSA_STRING = _LSA_STRING;
+ TLsaString = LSA_STRING;
+ PLsaString = PLSA_STRING;
+ PLSA_OBJECT_ATTRIBUTES = ^LSA_OBJECT_ATTRIBUTES;
+ _LSA_OBJECT_ATTRIBUTES = record
+ Length: ULONG;
+ RootDirectory: Windows.THandle;
+ ObjectName: PLSA_UNICODE_STRING;
+ Attributes: ULONG;
+ SecurityDescriptor: Pointer; // Points to type SECURITY_DESCRIPTOR
+ SecurityQualityOfService: Pointer; // Points to type SECURITY_QUALITY_OF_SERVICE
+ end;
+ LSA_OBJECT_ATTRIBUTES = _LSA_OBJECT_ATTRIBUTES;
+ TLsaObjectAttributes = _LSA_OBJECT_ATTRIBUTES;
+ PLsaObjectAttributes = PLSA_OBJECT_ATTRIBUTES;
+
+// NtSecApi.h line 680
+
+////////////////////////////////////////////////////////////////////////////
+// //
+// Local Security Policy Administration API datatypes and defines //
+// //
+////////////////////////////////////////////////////////////////////////////
+
+//
+// Access types for the Policy object
+//
+
+const
+ POLICY_VIEW_LOCAL_INFORMATION = $00000001;
+ POLICY_VIEW_AUDIT_INFORMATION = $00000002;
+ POLICY_GET_PRIVATE_INFORMATION = $00000004;
+ POLICY_TRUST_ADMIN = $00000008;
+ POLICY_CREATE_ACCOUNT = $00000010;
+ POLICY_CREATE_SECRET = $00000020;
+ POLICY_CREATE_PRIVILEGE = $00000040;
+ POLICY_SET_DEFAULT_QUOTA_LIMITS = $00000080;
+ POLICY_SET_AUDIT_REQUIREMENTS = $00000100;
+ POLICY_AUDIT_LOG_ADMIN = $00000200;
+ POLICY_SERVER_ADMIN = $00000400;
+ POLICY_LOOKUP_NAMES = $00000800;
+ POLICY_NOTIFICATION = $00001000;
+
+ POLICY_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED or
+ POLICY_VIEW_LOCAL_INFORMATION or
+ POLICY_VIEW_AUDIT_INFORMATION or
+ POLICY_GET_PRIVATE_INFORMATION or
+ POLICY_TRUST_ADMIN or
+ POLICY_CREATE_ACCOUNT or
+ POLICY_CREATE_SECRET or
+ POLICY_CREATE_PRIVILEGE or
+ POLICY_SET_DEFAULT_QUOTA_LIMITS or
+ POLICY_SET_AUDIT_REQUIREMENTS or
+ POLICY_AUDIT_LOG_ADMIN or
+ POLICY_SERVER_ADMIN or
+ POLICY_LOOKUP_NAMES);
+
+ POLICY_READ = (STANDARD_RIGHTS_READ or
+ POLICY_VIEW_AUDIT_INFORMATION or
+ POLICY_GET_PRIVATE_INFORMATION);
+
+ POLICY_WRITE = (STANDARD_RIGHTS_WRITE or
+ POLICY_TRUST_ADMIN or
+ POLICY_CREATE_ACCOUNT or
+ POLICY_CREATE_SECRET or
+ POLICY_CREATE_PRIVILEGE or
+ POLICY_SET_DEFAULT_QUOTA_LIMITS or
+ POLICY_SET_AUDIT_REQUIREMENTS or
+ POLICY_AUDIT_LOG_ADMIN or
+ POLICY_SERVER_ADMIN);
+
+ POLICY_EXECUTE = (STANDARD_RIGHTS_EXECUTE or
+ POLICY_VIEW_LOCAL_INFORMATION or
+ POLICY_LOOKUP_NAMES);
+
+// NtSecApi.h line 914
+type
+ _POLICY_INFORMATION_CLASS = (
+ picFill0,
+ PolicyAuditLogInformation,
+ PolicyAuditEventsInformation,
+ PolicyPrimaryDomainInformation,
+ PolicyPdAccountInformation,
+ PolicyAccountDomainInformation,
+ PolicyLsaServerRoleInformation,
+ PolicyReplicaSourceInformation,
+ PolicyDefaultQuotaInformation,
+ PolicyModificationInformation,
+ PolicyAuditFullSetInformation,
+ PolicyAuditFullQueryInformation,
+ PolicyDnsDomainInformation,
+ PolicyDnsDomainInformationInt);
+ POLICY_INFORMATION_CLASS = _POLICY_INFORMATION_CLASS;
+ PPOLICY_INFORMATION_CLASS = ^POLICY_INFORMATION_CLASS;
+ TPolicyInformationClass = POLICY_INFORMATION_CLASS;
+ PPolicyInformationClass = PPOLICY_INFORMATION_CLASS;
+
+// NtSecApi.h line 1031
+//
+// The following structure corresponds to the PolicyAccountDomainInformation
+// information class.
+//
+type
+ PPOLICY_ACCOUNT_DOMAIN_INFO = ^POLICY_ACCOUNT_DOMAIN_INFO;
+ _POLICY_ACCOUNT_DOMAIN_INFO = record
+ DomainName: LSA_UNICODE_STRING;
+ DomainSid: Windows.PSID;
+ end;
+ POLICY_ACCOUNT_DOMAIN_INFO = _POLICY_ACCOUNT_DOMAIN_INFO;
+ TPolicyAccountDomainInfo = POLICY_ACCOUNT_DOMAIN_INFO;
+ PPolicyAccountDomainInfo = PPOLICY_ACCOUNT_DOMAIN_INFO;
+
+// NtSecApi.h line 1298
+type
+ LSA_HANDLE = Pointer;
+ PLSA_HANDLE = ^LSA_HANDLE;
+ TLsaHandle = LSA_HANDLE;
+
+// NtSecApi.h line 1714
+type
+ NTSTATUS = DWORD;
+
+function LsaOpenPolicy(SystemName: PLSA_UNICODE_STRING;
+ var ObjectAttributes: LSA_OBJECT_ATTRIBUTES; DesiredAccess: ACCESS_MASK;
+ var PolicyHandle: LSA_HANDLE): NTSTATUS; stdcall;
+function LsaQueryInformationPolicy(PolicyHandle: LSA_HANDLE;
+ InformationClass: POLICY_INFORMATION_CLASS; var Buffer: Pointer): NTSTATUS; stdcall;
+function LsaFreeMemory(Buffer: Pointer): NTSTATUS; stdcall;
+function LsaFreeReturnBuffer(Buffer: Pointer): NTSTATUS; stdcall;
+function LsaClose(ObjectHandle: LSA_HANDLE): NTSTATUS; stdcall;
+function LsaNtStatusToWinError(Status: NTSTATUS): ULONG; stdcall;
+
+
+
{$IFNDEF CLR}
const
@@ -8293,7 +8454,85 @@
{$ENDIF ~CLR}
+var
+ _LsaOpenPolicy: Pointer;
+function LsaOpenPolicy;
+begin
+ GetProcedureAddress(_LsaOpenPolicy, advapi32, 'LsaOpenPolicy');
+ asm
+ mov esp, ebp
+ pop ebp
+ jmp [_LsaOpenPolicy]
+ end;
+end;
+
+var
+ _LsaQueryInformationPolicy: Pointer;
+
+function LsaQueryInformationPolicy;
+begin
+ GetProcedureAddress(_LsaQueryInformationPolicy, advapi32, 'LsaQueryInformationPolicy');
+ asm
+ mov esp, ebp
+ pop ebp
+ jmp [_LsaQueryInformationPolicy]
+ end;
+end;
+
+var
+ _LsaFreeMemory: Pointer;
+
+function LsaFreeMemory;
+begin
+ GetProcedureAddress(_LsaFreeMemory, advapi32, 'LsaFreeMemory');
+ asm
+ mov esp, ebp
+ pop ebp
+ jmp [_LsaFreeMemory]
+ end;
+end;
+
+var
+ _LsaFreeReturnBuffer: Pointer;
+
+function LsaFreeReturnBuffer;
+begin
+ GetProcedureAddress(_LsaFreeReturnBuffer, advapi32, 'LsaFreeReturnBuffer');
+ asm
+ mov esp, ebp
+ pop ebp
+ jmp [_LsaFreeReturnBuffer]
+ end;
+end;
+
+var
+ _LsaClose: Pointer;
+
+function LsaClose;
+begin
+ GetProcedureAddress(_LsaClose, advapi32, 'LsaClose');
+ asm
+ mov esp, ebp
+ pop ebp
+ jmp [_LsaClose]
+ end;
+end;
+
+var
+ _LsaNtStatusToWinError: Pointer;
+
+function LsaNtStatusToWinError;
+begin
+ GetProcedureAddress(_LsaNtStatusToWinError, advapi32, 'LsaNtStatusToWinError');
+ asm
+ mov esp, ebp
+ pop ebp
+ jmp [_LsaNtStatusToWinError]
+ end;
+end;
+
+
{$IFDEF UNITVERSIONING}
initialization
RegisterUnitVersion(HInstance, UnitVersioning);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|