Subversion Repositories recyclebinunit

Compare Revisions

No changes between revisions

Regard whitespace Rev 11 → Rev 12

/trunk/Recycle Bin Unit/Windows 95 Bit Bucket Reader/Project1.dof
0,0 → 1,83
[FileVersion]
Version=6.0
[Compiler]
A=8
B=0
C=1
D=1
E=0
F=0
G=1
H=1
I=1
J=0
K=0
L=1
M=0
N=1
O=1
P=1
Q=0
R=0
S=0
T=0
U=0
V=1
W=0
X=1
Y=1
Z=1
ShowHints=1
ShowWarnings=1
UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
[Linker]
MapFile=0
OutputObjs=0
ConsoleApp=1
DebugInfo=0
RemoteSymbols=0
MinStackSize=16384
MaxStackSize=1048576
ImageBase=4194304
ExeDescription=
[Directories]
OutputDir=
UnitOutputDir=
PackageDLLOutputDir=
PackageDCPOutputDir=
SearchPath=
Packages=
Conditionals=
DebugSourceDirs=
UsePackages=0
[Parameters]
RunParams=
HostApplication=
Launcher=
UseLauncher=0
DebugCWD=
[Version Info]
IncludeVerInfo=0
AutoIncBuild=0
MajorVer=1
MinorVer=0
Release=0
Build=0
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=1031
CodePage=1252
[Version Info Keys]
CompanyName=
FileDescription=
FileVersion=1.0.0.0
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=
/trunk/Recycle Bin Unit/Windows 95 Bit Bucket Reader/BitBucketReader.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/Recycle Bin Unit/Windows 95 Bit Bucket Reader/Unit1.pas
0,0 → 1,80
unit Unit1;
 
interface
 
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, registry, ExtCtrls;
 
type
TForm1 = class(TForm)
Memo1: TMemo;
Timer1: TTimer;
Memo2: TMemo;
Splitter1: TSplitter;
procedure Timer1Timer(Sender: TObject);
private
procedure GetDump;
end;
 
var
Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
uses
Functions;
 
procedure TForm1.GetDump;
var
reg: tregistry;
i: integer;
oldr, r: string;
lw: char;
begin
reg := tregistry.create;
try
reg.RootKey := HKEY_LOCAL_MACHINE;
if reg.OpenKeyReadOnly('SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\BitBucket') then
begin
oldr := memo1.text;
 
if reg.ValueExists('PurgeInfo') then
r := 'PurgeInfo = ' + BinaryStringToHexDump(RegistryReadDump(reg, 'PurgeInfo'))
else
r := 'No PurgeInfo';
 
for lw := 'A' to 'Z' do
begin
if reg.ValueExists(lw) then
begin
r := r + #13#10#13#10 + lw + ' = ' + BinaryStringToHexDump(RegistryReadDump(reg, lw));
end;
end;
 
if oldr <> '' then
begin
for i := 1 to length(oldr) do
begin
if oldr[i] <> r[i] then
memo2.Lines.Add(inttostr(i)+': '+oldr[i]+' -> '+r[i]);
end;
end;
 
memo1.Text := r;
reg.CloseKey;
end;
finally
reg.free;
end;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
GetDump;
end;
 
end.
/trunk/Recycle Bin Unit/Windows 95 Bit Bucket Reader/BitBucketReader.dpr
0,0 → 1,14
program BitBucketReader;
 
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Functions in 'Functions.pas';
 
{$R *.res}
 
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
/trunk/Recycle Bin Unit/Windows 95 Bit Bucket Reader/Project1.cfg
0,0 → 1,35
-$A8
-$B-
-$C+
-$D+
-$E-
-$F-
-$G+
-$H+
-$I+
-$J-
-$K-
-$L+
-$M-
-$N+
-$O+
-$P+
-$Q-
-$R-
-$S-
-$T-
-$U-
-$V+
-$W-
-$X+
-$YD
-$Z1
-cg
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-H+
-W+
-M
-$M16384,1048576
-K$00400000
-LE"c:\programme\borland\delphi6\Projects\Bpl"
-LN"c:\programme\borland\delphi6\Projects\Bpl"
/trunk/Recycle Bin Unit/Windows 95 Bit Bucket Reader/Unit1.dfm
0,0 → 1,56
object Form1: TForm1
Left = 204
Top = 143
Width = 659
Height = 485
Caption = 'BitBucket Reader'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -14
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 120
TextHeight = 16
object Splitter1: TSplitter
Left = 0
Top = 193
Width = 651
Height = 5
Cursor = crVSplit
Align = alBottom
end
object Memo1: TMemo
Left = 0
Top = 0
Width = 651
Height = 193
Align = alClient
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -25
Font.Name = 'Courier'
Font.Style = []
ParentFont = False
ReadOnly = True
ScrollBars = ssVertical
TabOrder = 0
end
object Memo2: TMemo
Left = 0
Top = 198
Width = 651
Height = 248
Align = alBottom
ReadOnly = True
ScrollBars = ssVertical
TabOrder = 1
end
object Timer1: TTimer
Interval = 300
OnTimer = Timer1Timer
Left = 16
Top = 16
end
end
/trunk/Recycle Bin Unit/Windows 95 Bit Bucket Reader/Unit1.ddp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/Recycle Bin Unit/Windows 95 Bit Bucket Reader/BitBucketReader.res
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/Recycle Bin Unit/Windows 95 Bit Bucket Reader/Functions.pas
0,0 → 1,89
unit Functions;
 
(*
Some Delphi Functions
by Daniel Marschall
*)
 
interface
 
uses
SysUtils, Registry;
 
function RegistryReadDump(AReg: TRegistry; AName: string): string;
function BinaryStringToHexDump(ABinaryString: string): string;
 
type
TNibble = $0..$F;
 
function LowerNibble(B: Byte): TNibble;
function UpperNibble(B: Byte): TNibble;
function MakeByte(UpperNibble, LowerNibble: TNibble): Byte;
 
type
TBitPos = 0..7;
 
function GetBit(B: Byte; BitPos: TBitPos): boolean; overload;
function GetBit(B: Char; BitPos: TBitPos): boolean; overload;
 
implementation
 
function RegistryReadDump(AReg: TRegistry; AName: string): string;
const
// Win2000 RegEdit has set the max input length of a REG_BINARY to $3FFF.
// Probably its the longest possible binary string and not just a GUI limit.
BufMax = $3FFF;
var
buf: array[0..BufMax] of byte;
i: integer;
realsize: integer;
begin
realsize := AReg.ReadBinaryData(AName, buf, SizeOf(buf));
 
for i := 0 to realsize-1 do
begin
result := result + chr(buf[i]);
end;
end;
 
function BinaryStringToHexDump(ABinaryString: string): string;
var
i: integer;
begin
for i := 1 to Length(ABinaryString) do
begin
result := result + IntToHex(Ord(ABinaryString[i]), 2);
if i <> Length(ABinaryString) then
result := result + ' ';
end;
end;
 
function LowerNibble(B: Byte): TNibble;
begin
result := B and 15 {00001111};
end;
 
function UpperNibble(B: Byte): TNibble;
begin
result := B and 240 {11110000};
end;
 
function MakeByte(UpperNibble, LowerNibble: TNibble): Byte;
begin
result := LowerNibble + UpperNibble * $10;
end;
 
function GetBit(B: Byte; BitPos: TBitPos): boolean;
var
p: byte;
begin
p := 1 shl BitPos; // 2 ^ BitPos
result := B and p = p;
end;
 
function GetBit(B: Char; BitPos: TBitPos): boolean;
begin
result := GetBit(Ord(B), BitPos);
end;
 
end.