First commit 19/07/1998

This commit is contained in:
José David Guillén 2021-09-12 21:54:38 +02:00
commit b0116562cd
106 changed files with 16717 additions and 0 deletions

BIN
CDopping.bpi Normal file

Binary file not shown.

133
CDopping.bpk Normal file
View File

@ -0,0 +1,133 @@
# ---------------------------------------------------------------------------
VERSION = BCB.03
# ---------------------------------------------------------------------------
!ifndef BCB
BCB = $(MAKEDIR)\..
!endif
# ---------------------------------------------------------------------------
PROJECT = CDopping.bpl
OBJFILES = CDopping\ActvApp\ActivApp.obj CDopping\CoolForm\CoolForm.obj \
CDopping\DialUp\Dialup.obj CDopping\Tb97\Tb97.obj \
CDopping\CoolForm\CoolButton.obj CDopping\Phanton\Phantom.obj CDopping.obj
RESFILES = CDopping.res cdopping\actvapp\ActivApp.dcr cdopping\dialup\Dialup.dcr \
CDopping\Tb97\Tb97.dcr CDopping\Phanton\Phantom.dcr
RESDEPEN = $(RESFILES)
LIBFILES =
LIBRARIES = INET35.lib vcldb35.lib
SPARELIBS = vcl35.lib vcldb35.lib INET35.lib
PACKAGES = VCLX35.bpi VCL35.bpi
PATHASM = .;CDopping\ActvApp;CDopping\CoolForm;CDopping\DialUp;CDopping\Tb97;CDopping\Phanton
PATHCPP = .;
PATHPAS = .;
PATHRC = .;
DEBUGLIBPATH = $(BCB)\lib\debug
RELEASELIBPATH = $(BCB)\lib\release
DEFFILE =
# ---------------------------------------------------------------------------
CFLAG1 = -Od -Hc -w -Ve -r- -k -y -v -vi- -c -b- -w-par -w-inl -Vx
CFLAG2 = -DUSEPACKAGES \
-Icdopping\phanton;..\ctrlmstr;cdopping\actbtn;"cdopping\desktop lock";cdopping\tb97;cdopping\dialup;cdopping\coolform;cdopping\actvapp;"..\jd soft\jd";"l:\programación (-cbuilder-)\jd soft\jd";l:\cbuilder\cbuilder\objrepos;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\objrepos;$(BCB)\bin;$(BCB)\objrepos;"j:\cbuilder\jd soft";"j:\progwin95\jd soft";$(BCB)\projects;$(BCB)\include;$(BCB)\include\vcl \
-H=$(BCB)\lib\vcld.csm
CFLAG3 = -5
PFLAGS = -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE \
-DUSEPACKAGES \
-U"..\jd soft";cdopping\phanton;..\ctrlmstr;cdopping\actbtn;"cdopping\desktop lock";cdopping\tb97;cdopping\dialup;cdopping\coolform;cdopping\actvapp;"..\jd soft\jd";"l:\programación (-cbuilder-)\jd soft\jd";l:\cbuilder\cbuilder\objrepos;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\objrepos;$(BCB)\bin;$(BCB)\objrepos;"j:\cbuilder\jd soft";"j:\progwin95\jd soft";$(BCB)\projects;$(BCB)\lib\obj;$(BCB)\lib;$(DEBUGLIBPATH) \
-Icdopping\phanton;..\ctrlmstr;cdopping\actbtn;"cdopping\desktop lock";cdopping\tb97;cdopping\dialup;cdopping\coolform;cdopping\actvapp;"..\jd soft\jd";"l:\programación (-cbuilder-)\jd soft\jd";l:\cbuilder\cbuilder\objrepos;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\objrepos;$(BCB)\bin;$(BCB)\objrepos;"j:\cbuilder\jd soft";"j:\progwin95\jd soft";$(BCB)\projects;$(BCB)\include;$(BCB)\include\vcl \
-H -$Y -$W -$O- -v -JPHNV -M
RFLAGS = -DUSEPACKAGES \
-icdopping\phanton;..\ctrlmstr;cdopping\actbtn;"cdopping\desktop lock";cdopping\tb97;cdopping\dialup;cdopping\coolform;cdopping\actvapp;"..\jd soft\jd";"l:\programación (-cbuilder-)\jd soft\jd";l:\cbuilder\cbuilder\objrepos;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\objrepos;$(BCB)\bin;$(BCB)\objrepos;"j:\cbuilder\jd soft";"j:\progwin95\jd soft";$(BCB)\projects;$(BCB)\include;$(BCB)\include\vcl
AFLAGS = /icdopping\phanton /i..\ctrlmstr /icdopping\actbtn /i"cdopping\desktop lock" \
/icdopping\tb97 /icdopping\dialup /icdopping\coolform /icdopping\actvapp \
/i"..\jd soft\jd" /i"l:\programación (-cbuilder-)\jd soft\jd" \
/il:\cbuilder\cbuilder\objrepos /ij:\cbuilder\cbuilder\bin \
/ij:\cbuilder\cbuilder\bin /ij:\cbuilder\cbuilder\objrepos /i$(BCB)\bin \
/i$(BCB)\objrepos /i"j:\cbuilder\jd soft" /i"j:\progwin95\jd soft" \
/i$(BCB)\projects /i$(BCB)\include /i$(BCB)\include\vcl /dUSEPACKAGES /mx /w2 /zd
LFLAGS = -L"..\jd soft";cdopping\phanton;..\ctrlmstr;cdopping\actbtn;"cdopping\desktop lock";cdopping\tb97;cdopping\dialup;cdopping\coolform;cdopping\actvapp;"..\jd soft\jd";"l:\programación (-cbuilder-)\jd soft\jd";l:\cbuilder\cbuilder\objrepos;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\objrepos;$(BCB)\bin;$(BCB)\objrepos;"j:\cbuilder\jd soft";"j:\progwin95\jd soft";$(BCB)\projects;$(BCB)\lib\obj;$(BCB)\lib;$(DEBUGLIBPATH) \
-aa -Tpp -x -Gl -Gi -v
IFLAGS = -g
LINKER = ilink32
# ---------------------------------------------------------------------------
ALLOBJ = c0pkg32.obj $(PACKAGES) sysinit.obj $(OBJFILES)
ALLRES = $(RESFILES)
ALLLIB = $(LIBFILES) $(LIBRARIES) import32.lib cp32mt.lib
# ---------------------------------------------------------------------------
.autodepend
!ifdef IDEOPTIONS
[Version Info]
IncludeVerInfo=1
AutoIncBuild=1
MajorVer=1
MinorVer=0
Release=0
Build=56
Debug=1
PreRelease=0
Special=0
Private=0
DLL=0
Locale=3082
CodePage=1252
[Version Info Keys]
CompanyName=JD soft.
FileDescription=Gestión integral de múltiples empresas,\n con múltiples terminales.
FileVersion=1.0.0.56
InternalName=Tpv for Windows
LegalCopyright=Copyright (C) JD soft. 1990-1998
LegalTrademarks=
OriginalFilename=Tpv
ProductName=Tpv for Win98
ProductVersion=1.0.0.0
Comments=e-mail: Jose-David.Guillen@cs.us.es
[HistoryLists\hlIncludePath]
Count=2
Item0=cdopping\phanton;..\ctrlmstr;cdopping\actbtn;cdopping\desktop lock;cdopping\tb97;cdopping\dialup;cdopping\coolform;cdopping\actvapp;..\jd soft\jd;l:\programación (-cbuilder-)\jd soft\jd;l:\cbuilder\cbuilder\objrepos;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\objrepos;$(BCB)\bin;$(BCB)\objrepos;j:\cbuilder\jd soft;j:\progwin95\jd soft;$(BCB)\projects;$(BCB)\include;$(BCB)\include\vcl
Item1=..\jd soft\jd;l:\programación (-cbuilder-)\jd soft\jd;l:\cbuilder\cbuilder\objrepos;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\objrepos;$(BCB)\bin;$(BCB)\objrepos;j:\cbuilder\jd soft;j:\progwin95\jd soft;$(BCB)\projects;$(BCB)\include;$(BCB)\include\vcl
[HistoryLists\hlLibraryPath]
Count=2
Item0=..\jd soft;cdopping\phanton;..\ctrlmstr;cdopping\actbtn;cdopping\desktop lock;cdopping\tb97;cdopping\dialup;cdopping\coolform;cdopping\actvapp;..\jd soft\jd;l:\programación (-cbuilder-)\jd soft\jd;l:\cbuilder\cbuilder\objrepos;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\objrepos;$(BCB)\bin;$(BCB)\objrepos;j:\cbuilder\jd soft;j:\progwin95\jd soft;$(BCB)\projects;$(BCB)\lib\obj;$(BCB)\lib
Item1=..\jd soft\jd;l:\programación (-cbuilder-)\jd soft\jd;l:\cbuilder\cbuilder\objrepos;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\bin;j:\cbuilder\cbuilder\objrepos;$(BCB)\bin;$(BCB)\objrepos;j:\cbuilder\jd soft;j:\progwin95\jd soft;$(BCB)\projects;$(BCB)\lib\obj;$(BCB)\lib
[HistoryLists\hlUnitAliases]
Count=1
Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE
[Debugging]
DebugSourceDirs=
[Parameters]
RunParams=
HostApplication=
!endif
$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE)
$(BCB)\BIN\$(LINKER) @&&!
$(LFLAGS) +
$(ALLOBJ), +
$(PROJECT),, +
$(ALLLIB), +
$(DEFFILE), +
$(ALLRES)
!
.pas.hpp:
$(BCB)\BIN\dcc32 $(PFLAGS) { $** }
.pas.obj:
$(BCB)\BIN\dcc32 $(PFLAGS) { $** }
.cpp.obj:
$(BCB)\BIN\bcc32 $(CFLAG1) $(CFLAG2) -o$* $*
.c.obj:
$(BCB)\BIN\bcc32 $(CFLAG1) $(CFLAG2) -o$* $**
.rc.res:
$(BCB)\BIN\brcc32 $(RFLAGS) $<
#-----------------------------------------------------------------------------

BIN
CDopping.bpl Normal file

Binary file not shown.

26
CDopping.cpp Normal file
View File

@ -0,0 +1,26 @@
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
USERES("CDopping.res");
USEPACKAGE("VCLX35.bpi");
USEPACKAGE("VCL35.bpi");
USEUNIT("CDopping\ActvApp\ActivApp.pas");
USERES("cdopping\actvapp\ActivApp.dcr");
USEUNIT("CDopping\CoolForm\CoolForm.pas");
USEUNIT("CDopping\DialUp\Dialup.pas");
USERES("cdopping\dialup\Dialup.dcr");
USEUNIT("CDopping\Tb97\Tb97.pas");
USERES("CDopping\Tb97\Tb97.dcr");
USEUNIT("CDopping\CoolForm\CoolButton.pas");
USERES("CDopping\Phanton\Phantom.dcr");
USEUNIT("CDopping\Phanton\Phantom.pas");
//---------------------------------------------------------------------------
#pragma package(smart_init)
//---------------------------------------------------------------------------
// Package source.
//---------------------------------------------------------------------------
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
{
return 1;
}
//---------------------------------------------------------------------------

BIN
CDopping.lib Normal file

Binary file not shown.

BIN
CDopping.obj Normal file

Binary file not shown.

BIN
CDopping.res Normal file

Binary file not shown.

BIN
CDopping/ActBtn/ActBtn.dcr Normal file

Binary file not shown.

BIN
CDopping/ActBtn/ActImg.dcr Normal file

Binary file not shown.

View File

@ -0,0 +1,64 @@
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
#include "actbtn.h"
//---------------------------------------------------------------------------
static inline TActiveButton *ValidCtrCheck()
{
return new TActiveButton(NULL);
}
//---------------------------------------------------------------------------
__fastcall TActiveButton::TActiveButton(TComponent* Owner)
: TBitBtn(Owner)
{
captured = false;
Glyph1 = new Graphics::TBitmap;
FGlyph2 = new Graphics::TBitmap;
}
//---------------------------------------------------------------------------
__fastcall TActiveButton::~TActiveButton()
{
delete Glyph1;
delete FGlyph2;
}
//---------------------------------------------------------------------------
void __fastcall TActiveButton::MouseMove( Classes::TShiftState Shift, int X, int Y)
{
if( !captured){
SetCapture( Handle);
captured = true;
Glyph1->Assign( Glyph); // save old glyph
Glyph = Glyph2; // show new glyph
}
if( (X<0) || (Y<0) || (X>Width) || (Y>Height)){
ReleaseCapture();
captured = false;
Glyph = Glyph1; // restore old glyph
}else{
TBitBtn::MouseMove( Shift, X, Y);
}
}
//---------------------------------------------------------------------------
void __fastcall TActiveButton::Click( void)
{
TBitBtn::Click();
ReleaseCapture();
captured = false;
Glyph = Glyph1;
}
//---------------------------------------------------------------------------
void __fastcall TActiveButton::SetGlyph2( Graphics::TBitmap *val)
{
Glyph2->Assign( val);
}
//---------------------------------------------------------------------------
namespace Actbtn
{
void __fastcall Register()
{
TComponentClass classes[1] = {__classid(TActiveButton)};
RegisterComponents("Extras", classes, 0);
}
}
//---------------------------------------------------------------------------

31
CDopping/ActBtn/actbtn.h Normal file
View File

@ -0,0 +1,31 @@
//---------------------------------------------------------------------------
#ifndef ActBtnH
#define ActBtnH
//---------------------------------------------------------------------------
#include <vcl\SysUtils.hpp>
#include <vcl\Controls.hpp>
#include <vcl\Classes.hpp>
#include <vcl\Forms.hpp>
#include <vcl\Buttons.hpp>
#include <vcl\StdCtrls.hpp>
//---------------------------------------------------------------------------
class TActiveButton : public TBitBtn
{
private:
bool captured;
void __fastcall MouseMove( Classes::TShiftState Shift, int X, int Y);
protected:
Graphics::TBitmap *Glyph1,*FGlyph2;
void __fastcall SetGlyph2( Graphics::TBitmap* val);
void __fastcall Click( void);
public:
__fastcall TActiveButton(TComponent* Owner);
__fastcall ~TActiveButton();
__published:
__property Graphics::TBitmap *Glyph2={read=FGlyph2, write=SetGlyph2};
};
//---------------------------------------------------------------------------
#endif

View File

@ -0,0 +1,63 @@
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
#include "actimg.h"
//---------------------------------------------------------------------------
static inline TActiveImage *ValidCtrCheck()
{
return new TActiveImage(NULL);
}
//---------------------------------------------------------------------------
__fastcall TActiveImage::TActiveImage(TComponent* Owner)
: TImage(Owner)
{
captured = false;
GlyphNormal = new Graphics::TPicture;
GlyphOver = new Graphics::TPicture;
GlyphPress = new Graphics::TPicture;
}
//---------------------------------------------------------------------------
__fastcall TActiveImage::~TActiveImage()
{
delete GlyphNormal;
delete GlyphOver;
delete GlyphPress;
}
//---------------------------------------------------------------------------
void __fastcall TActiveImage::MouseMove( Classes::TShiftState Shift, int X, int Y )
{
if( !captured )
{
SetCapture( Parent );
captured = true;
GlyphNormal = Picture; // save old glyph
Picture = GlyphOver; // show new glyph
}
if( (X<0) || (Y<0) || (X>Width) || (Y>Height))
{
ReleaseCapture();
captured = false;
Picture = GlyphNormal; // restore old glyph
}else{
TImage::MouseMove( Shift, X, Y );
}
}
//---------------------------------------------------------------------------
void __fastcall TActiveImage::Click( void )
{
TImage::Click();
ReleaseCapture();
captured = false;
Picture = GlyphNormal;
}
//---------------------------------------------------------------------------
namespace Actimg
{
void __fastcall Register()
{
TComponentClass classes[1] = {__classid(TActiveImage)};
RegisterComponents("JD Soft.", classes, 0);
}
}
//---------------------------------------------------------------------------

32
CDopping/ActBtn/actimg.h Normal file
View File

@ -0,0 +1,32 @@
//---------------------------------------------------------------------------
#ifndef ActBtnH
#define ActBtnH
//---------------------------------------------------------------------------
#include <vcl\SysUtils.hpp>
#include <vcl\Controls.hpp>
#include <vcl\Classes.hpp>
#include <vcl\Forms.hpp>
#include <vcl\ExtCtrls.hpp>
#include <vcl\StdCtrls.hpp>
//---------------------------------------------------------------------------
class TActiveImage : public TImage
{
private:
bool captured;
void __fastcall MouseMove( Classes::TShiftState Shift, int X, int Y);
protected:
Graphics::TPicture *GlyphOver,*GlyphNormal, *GlyphPress;
void __fastcall Click( void);
public:
__fastcall TActiveImage(TComponent* Owner);
__fastcall ~TActiveImage();
__published:
__property Graphics::TPicture *Picture_Over={read=GlyphOver, write=GlyphOver};
__property Graphics::TPicture *Picture_Press={read=GlyphPress, write=GlyphPress};
};
//---------------------------------------------------------------------------
#endif

Binary file not shown.

View File

@ -0,0 +1,18 @@
Allows switching between open delphi applications and/or lauching (any) application
Note: App to Switch too must have TActivateApp component
two Methods: 1) ActivateApp - Switch to open App, if App Closed Then Launch It
2) ExecuteApp - Launch App
one Event: 1) BeforeLaunchApp - Allows one to discontinue Lauching of app when
ActivateApp senses app to switch to is not open, does not stop
launching of app when execute method used.
Properties: 1) MainFormTitle - Title On Main form of Application to Activate when
using AppActivate Method only. IF An MDI Application then included the
FULL title displayed on the titlebar of the main form
2) ExePath - Full path to executable including Exe name and any parameters
Used by both ActivateApp & Execute App
Freeware Use & Abuse
Author: Edward de la Rey
edwardr@mailbox.ru.ac.za
USE AT OWN RISK
For Delphi 1,2,3 Will Automatically pickup the correct DCR File,
D16 is for Delphi1, D32 for Delphi 2&3, Don't rename them.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,62 @@
// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved
// (DO NOT EDIT: machine generated header) 'ActivApp.pas' rev: 3.00
#ifndef ActivAppHPP
#define ActivAppHPP
#include <Forms.hpp>
#include <Classes.hpp>
#include <SysUtils.hpp>
#include <Messages.hpp>
#include <Windows.hpp>
#include <SysInit.hpp>
#include <System.hpp>
//-- user supplied -----------------------------------------------------------
namespace Activapp
{
//-- type declarations -------------------------------------------------------
typedef void __fastcall (__closure *TMYParamEvent)(System::TObject* Sender, bool &Continue);
typedef void __fastcall (__closure *TSuccess)(System::TObject* Sender, bool Result);
class DELPHICLASS TActivApp;
class PASCALIMPLEMENTATION TActivApp : public Classes::TComponent
{
typedef Classes::TComponent inherited;
private:
System::AnsiString GetAppToActivate;
System::AnsiString GetExePath;
TMYParamEvent EBeforeLaunchApp;
void __fastcall SetAppToActivate(System::AnsiString Value);
void __fastcall SetExePath(System::AnsiString Value);
protected:
void __fastcall ShowYourSelf(tagMSG &Msg, bool &Handled);
__published:
__fastcall virtual TActivApp(Classes::TComponent* AOwner);
void __fastcall ActivateApp(void);
void __fastcall ExecuteApp(bool Success);
__property System::AnsiString MainFormTitle = {read=GetAppToActivate, write=SetAppToActivate};
__property System::AnsiString ExePath = {read=GetExePath, write=SetExePath};
__property TMYParamEvent BeforeLaunchApp = {read=EBeforeLaunchApp, write=EBeforeLaunchApp};
public:
/* TComponent.Destroy */ __fastcall virtual ~TActivApp(void) { }
};
//-- var, const, procedure ---------------------------------------------------
#define WM_ShowYourSelf (Word)(1426)
extern PACKAGE void __fastcall Register(void);
} /* namespace Activapp */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Activapp;
#endif
//-- end unit ----------------------------------------------------------------
#endif // ActivApp

View File

@ -0,0 +1,144 @@
unit ActivApp;
{ Allows switching between open delphi applications and/or lauching (any) application
Note: App to Switch too must have TActivateApp component
two Methods: 1) ActivateApp - Switch to open App, if App Closed Then Launch It
2) ExecuteApp - Launch App
one Event: 1) BeforeLaunchApp - Allows one to discontinue Lauching of app when
ActivateApp senses app to switch to is not open, does not stop
launching of app when execute method used.
Properties: 1) MainFormTitle - Title On Main form of Application to Activate when
using AppActivate Method only. IF An MDI Application then included the
FULL title displayed on the titlebar of the main form
2) ExePath - Full path to executable including Exe name and any parameters
Used by both ActivateApp & Execute App
Freeware Use & Abuse
Author: Edward de la Rey
edwardr@mailbox.ru.ac.za
USE AT OWN RISK
For Delphi 1,2,3 Will Automatically pickup the correct DCR File,
D16 is for Delphi1, D32 for Delphi 2&3, Don't rename them.}
interface
{$IFDEF WIN32}
uses
Windows, Messages, SysUtils, Classes, Forms;
{$ELSE}
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Forms;
{$ENDIF}
const
WM_ShowYourSelf = WM_USER + 402;
type
TMYParamEvent = Procedure (Sender:TObject;var Continue:Boolean) of object;
TSuccess = Procedure (Sender:TObject;Result:Boolean) of object;
TActivApp = class(Tcomponent)
private
GetAppToActivate:String;
GetExePath:String;
EBeforeLaunchApp:TMYParamEvent;
Procedure SetAppToActivate(Value:String);
Procedure SetExePath(Value:String);
protected
{ Protected declarations }
procedure ShowYourSelf(var Msg: TMsg; var Handled: Boolean);
public
{ Public declarations }
published
Constructor Create(AOwner: TComponent); override;
Procedure ActivateApp;
Procedure ExecuteApp (Success:Boolean);
Property MainFormTitle:String Read GetAppToActivate Write SetAppToActivate;
Property ExePath:String Read GetExePath Write SetExePath;
Property BeforeLaunchApp:TMYParamEvent Read EBeforeLaunchApp Write EBeforeLaunchApp;
end;
procedure Register;
implementation
{$IFDEF WIN32}
{$R *.D32}
{$ELSE}
{$R *.D16}
{$ENDIF}
constructor TActivApp.Create(AOwner: TComponent);
begin
INHERITED CREATE(Aowner);
GetAppToActivate:='MyOtherApp';
GetExePath:=ExtractFilePath(application.ExeName);
if not (csDesigning in ComponentState) then
Application.OnMessage:=ShowYourSelf;
End;
procedure TActivApp.ShowYourSelf(var Msg: TMsg; var Handled: Boolean);
begin
{This procedure handles messages sent from other Apps}
Handled:=false;
if msg.message = WM_ShowYourSelf then
begin
Application.Restore;
application.BringToFront;
Handled:=true;
end;
End;
Procedure TActivApp.ExecuteApp(Success:Boolean);
Var
It:PChar;
Ans:integer;
begin
it:=Stralloc ((length(GetExePath))+2);
strPCopy(It,GetExePath);
Ans:=WinExec(It,SW_SHOW);
strDispose(it);
Success:= Ans > 31;
end;
procedure TActivApp.ActivateApp;
Var
it,AppToActiv:PChar;
MyHandle:HWnd;
Success:Integer;
Continue:Boolean;
begin
AppToActiv:=Stralloc ((length(GetAppToActivate))+2);
strPCopy(AppToActiv,GetAppToActivate);
MyHandle := FindWindow(nil,AppToActiv);
strDispose(ApptoActiv);
if MyHandle <> 0 then begin
PostMessage(MyHandle,WM_ShowYourSelf,0,0); {Unminimize and bring to front}
{nb Must use PostMessage Only}
end {My Handle <> 0}
else begin
Continue:=true;
If Assigned(EBeforeLaunchApp) Then EBeforeLaunchApp(Self,Continue);
if Continue Then begin
it:=Stralloc ((length(GetExePath))+2);
strPCopy(It,GetExePath);
Success:=WinExec(It,SW_SHOW);
strDispose(it);
end; {Continue}
end;{Else MyHAndle = 0}
end;
procedure TActivApp.SetAppToActivate (Value:String);
begin
GetAppToActivate:=Value;
end;
procedure TActivApp.SetExePath (Value:String);
begin
GetExePath:=Value;
end;
procedure Register;
begin
RegisterComponents('Freeware', [TActivApp]);
end;
end.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,26 @@
// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved
// (DO NOT EDIT: machine generated header) 'CloseApp.pas' rev: 3.00
#ifndef CloseAppHPP
#define CloseAppHPP
#include <Windows.hpp>
#include <SysInit.hpp>
#include <System.hpp>
//-- user supplied -----------------------------------------------------------
namespace Closeapp
{
//-- type declarations -------------------------------------------------------
//-- var, const, procedure ---------------------------------------------------
extern PACKAGE void __fastcall CloseAppFromInst(int HInst);
} /* namespace Closeapp */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Closeapp;
#endif
//-- end unit ----------------------------------------------------------------
#endif // CloseApp

View File

@ -0,0 +1,34 @@
unit CloseApp;
{ By Duncan McNiven, duncan.mcniven@lecs.inet.fi }
{ Comments by Brad Stowers, bstowers@pobox.com }
interface
uses WinTypes;
procedure CloseAppFromInst(HInst: THandle);
implementation
uses WinProcs, Messages;
{ Callback function that has each top-level window passed to it. }
{ Return true to continue enumerating, false to stop. }
function EnumWindowsProc(Handle: HWND; Info: Pointer): boolean; export;
begin
Result := TRUE; { continue enumeration }
{ Does this app have the same instance as what we are looking for? }
if GetWindowWord(Handle, GWL_HINSTANCE) = LongInt(Info) then begin
PostMessage(Handle, WM_CLOSE, 0, 0); { Close the app }
Result := FALSE; { stop enumerating windows, we are done. }
end;
end;
procedure CloseAppFromInst(HInst: THandle);
begin
EnumWindows(@EnumWindowsProc, LongInt(HInst));
end;
end.

BIN
CDopping/CoolForm/Cool.res Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,123 @@
// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved
// (DO NOT EDIT: machine generated header) 'CoolButton.pas' rev: 3.00
#ifndef CoolButtonHPP
#define CoolButtonHPP
#include <Commctrl.hpp>
#include <ExtCtrls.hpp>
#include <StdCtrls.hpp>
#include <Graphics.hpp>
#include <Forms.hpp>
#include <Controls.hpp>
#include <Classes.hpp>
#include <Messages.hpp>
#include <Windows.hpp>
#include <SysInit.hpp>
#include <System.hpp>
//-- user supplied -----------------------------------------------------------
namespace Coolbutton
{
//-- type declarations -------------------------------------------------------
enum TButtonLayout { blGlyphLeft, blGlyphRight, blGlyphTop, blGlyphBottom };
enum TButtonState { bsUp, bsDisabled, bsDown, bsExclusive };
enum TButtonStyle { bsAutoDetect, bsWin31, bsNew };
typedef Shortint TNumGlyphs;
class DELPHICLASS TCoolButton;
class PASCALIMPLEMENTATION TCoolButton : public Controls::TGraphicControl
{
typedef Controls::TGraphicControl inherited;
private:
int FGroupIndex;
void *FGlyph;
bool FDown;
bool FDragging;
bool FAllowAllUp;
TButtonLayout FLayout;
int FSpacing;
int FMargin;
bool FMouseInControl;
void __fastcall GlyphChanged(System::TObject* Sender);
void __fastcall UpdateExclusive(void);
Graphics::TBitmap* __fastcall GetGlyph(void);
void __fastcall SetGlyph(Graphics::TBitmap* Value);
TNumGlyphs __fastcall GetNumGlyphs(void);
void __fastcall SetNumGlyphs(TNumGlyphs Value);
void __fastcall SetDown(bool Value);
void __fastcall SetAllowAllUp(bool Value);
void __fastcall SetGroupIndex(int Value);
void __fastcall SetLayout(TButtonLayout Value);
void __fastcall SetSpacing(int Value);
void __fastcall SetMargin(int Value);
void __fastcall UpdateTracking(void);
HIDESBASE MESSAGE void __fastcall WMLButtonDblClk(Messages::TWMMouse &Message);
HIDESBASE MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message);
MESSAGE void __fastcall CMButtonPressed(Messages::TMessage &Message);
MESSAGE void __fastcall CMDialogChar(Messages::TWMKey &Message);
HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
MESSAGE void __fastcall CMTextChanged(Messages::TMessage &Message);
MESSAGE void __fastcall CMSysColorChange(Messages::TMessage &Message);
HIDESBASE MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &Message);
MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &message);
HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &message);
MESSAGE void __fastcall WMNCPaint(Messages::TWMNoParams &message);
protected:
TButtonState FState;
DYNAMIC HPALETTE __fastcall GetPalette(void);
virtual void __fastcall Loaded(void);
DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X,
int Y);
DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int
Y);
virtual void __fastcall Paint(void);
public:
__fastcall virtual TCoolButton(Classes::TComponent* AOwner);
__fastcall virtual ~TCoolButton(void);
DYNAMIC void __fastcall Click(void);
__published:
__property bool AllowAllUp = {read=FAllowAllUp, write=SetAllowAllUp, default=0};
__property int GroupIndex = {read=FGroupIndex, write=SetGroupIndex, default=0};
__property bool Down = {read=FDown, write=SetDown, default=0};
__property Caption ;
__property Enabled ;
__property Font ;
__property Graphics::TBitmap* Glyph = {read=GetGlyph, write=SetGlyph};
__property TButtonLayout Layout = {read=FLayout, write=SetLayout, default=0};
__property int Margin = {read=FMargin, write=SetMargin, default=-1};
__property TNumGlyphs NumGlyphs = {read=GetNumGlyphs, write=SetNumGlyphs, default=4};
__property ParentFont ;
__property ParentShowHint ;
__property ShowHint ;
__property int Spacing = {read=FSpacing, write=SetSpacing, default=4};
__property Visible ;
__property OnClick ;
__property OnDblClick ;
__property OnMouseDown ;
__property OnMouseMove ;
__property OnMouseUp ;
};
//-- var, const, procedure ---------------------------------------------------
extern PACKAGE void __fastcall Register(void);
extern PACKAGE Windows::TRect __fastcall DrawButtonFace(Graphics::TCanvas* Canvas, const Windows::TRect
&Client, int BevelWidth, TButtonStyle Style, bool IsRounded, bool IsDown, bool IsFocused);
} /* namespace Coolbutton */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Coolbutton;
#endif
//-- end unit ----------------------------------------------------------------
#endif // CoolButton

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,96 @@
// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved
// (DO NOT EDIT: machine generated header) 'CoolForm.pas' rev: 3.00
#ifndef CoolFormHPP
#define CoolFormHPP
#include <DsgnIntf.hpp>
#include <ExtCtrls.hpp>
#include <Dialogs.hpp>
#include <Forms.hpp>
#include <Controls.hpp>
#include <Graphics.hpp>
#include <Classes.hpp>
#include <SysUtils.hpp>
#include <Messages.hpp>
#include <Windows.hpp>
#include <SysInit.hpp>
#include <System.hpp>
//-- user supplied -----------------------------------------------------------
namespace Coolform
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TRegionType;
class DELPHICLASS TCoolForm;
class PASCALIMPLEMENTATION TCoolForm : public Extctrls::TImage
{
typedef Extctrls::TImage inherited;
private:
TRegionType* Fregion;
_RGNDATA *FOrgRgn;
int FOrgSize;
TRegionType* Dummy;
bool FDraggable;
HIDESBASE void __fastcall PictureChanged(System::TObject* Sender);
void __fastcall ReadMask(Classes::TStream* Reader);
void __fastcall WriteMask(Classes::TStream* Writer);
DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X,
int Y);
virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
protected:
void __fastcall SetRegion(TRegionType* Value);
virtual void __fastcall SetParent(Controls::TWinControl* Value);
HIDESBASE virtual void __fastcall SetTop(int Value);
HIDESBASE virtual void __fastcall SetLeft(int Value);
HIDESBASE virtual void __fastcall Setwidth(int Value);
HIDESBASE virtual void __fastcall SetHeight(int Value);
TRegionType* __fastcall GetRegion(void);
void __fastcall size(void);
public:
__fastcall virtual TCoolForm(Classes::TComponent* Aowner);
__fastcall virtual ~TCoolForm(void);
__property TRegionType* Mask2 = {read=Dummy, write=Dummy};
bool __fastcall LoadMaskFromFile(System::AnsiString FileName);
void __fastcall RefreshRegion(void);
__published:
__property TRegionType* Mask = {read=GetRegion, write=SetRegion};
__property bool Draggable = {read=FDraggable, write=FDraggable, default=1};
__property int top = {write=SetTop};
__property int left = {write=SetLeft};
__property int width = {write=Setwidth};
__property int height = {write=SetHeight};
};
class PASCALIMPLEMENTATION TRegionType : public Classes::TPersistent
{
typedef Classes::TPersistent inherited;
public:
HRGN Fregion;
TCoolForm* owner;
public:
/* TPersistent.Destroy */ __fastcall virtual ~TRegionType(void) { }
public:
/* TObject.Create */ __fastcall TRegionType(void) : Classes::TPersistent() { }
};
//-- var, const, procedure ---------------------------------------------------
extern PACKAGE void __fastcall Register(void);
} /* namespace Coolform */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Coolform;
#endif
//-- end unit ----------------------------------------------------------------
#endif // CoolForm

View File

@ -0,0 +1,314 @@
unit CoolForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls ,dsgnintf;
type
TCoolForm = class;
TRegionType = class(TPersistent)
public
Fregion:hrgn;
owner:TCoolForm;
end;
TCoolForm = class(TImage)
private
Fregion : TRegionType;
FOrgRgn : PRgnData;
FOrgSize : Integer;
// the dummy is necessary (or maybe not) as a public property for the writing of the
// mask into a stream (btter leyve it as it is, never touch a running system)
Dummy:TRegionType;
FDraggable:boolean;
procedure PictureChanged(Sender:TObject);
procedure ReadMask(Reader: TStream);
procedure WriteMask(Writer: TStream);
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);override;
procedure DefineProperties(Filer: TFiler);override;
procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;
protected
procedure SetRegion(Value:TRegionType);
procedure SetParent(Value:TWinControl); override;
procedure SetTop(Value:integer); virtual;
procedure SetLeft(Value:integer); virtual;
procedure Setwidth(Value:integer); virtual;
procedure SetHeight(Value:integer); virtual;
function GetRegion:TRegionType;
procedure size;
public
constructor Create(Aowner:TComponent); override;
destructor Destroy; override;
property Mask2:TRegionType read Dummy write Dummy;
function LoadMaskFromFile (FileName: String): Boolean;
procedure RefreshRegion;
published
property Mask:TRegionType read GetRegion write SetRegion;
property Draggable:boolean read FDraggable write FDraggable default true;
property top write settop;
property left write setleft;
property width write setwidth;
property height write setheight;
end;
procedure Register;
implementation
uses
MaskEditor;
procedure Register;
begin
RegisterComponents ('Cool!', [TCoolForm]);
RegisterPropertyEditor (TypeInfo(TRegionType), TCoolForm, 'Mask', TCoolMaskEditor);
end;
// The next two procedures are there to ensure hat the component always sits in the top left edge of the window
procedure TCoolForm.SetTop(Value:integer);
begin
inherited top := 0;
end;
procedure TCoolForm.SetLeft(Value:integer);
begin
inherited left := 0;
end;
procedure TCoolForm.RefreshRegion;
begin
FRegion.FRegion := ExtCreateRegion (nil, FOrgSize, FOrgRgn^);
SetWindowRgn (parent.handle, FRegion.Fregion, true);
end;
destructor TCoolForm.destroy;
begin
If FOrgRgn <> Nil then
FreeMem (FOrgRgn, FOrgSize);
if fregion.fregion <> 0 then deleteobject (fregion.fregion);
Dummy.Free;
FRegion.free;
inherited;
end;
constructor TCoolForm.create(Aowner:TComponent);
begin
inherited;
// make it occupy all of the form
Align := alClient;
Fregion := TRegionType.Create;
Dummy := TRegionType.Create;
Fregion.Fregion := 0;
Fregion.owner := self;
Picture.OnChange := PictureChanged;
// if draggable is false, it will be overwritten later by delphi`s runtime component loader
Draggable := true;
end;
procedure TCoolForm.PictureChanged(Sender:TObject);
begin
if (parent <> nil) and (picture.bitmap <> nil) then
begin
// resize the form to fit the bitmap
{ width:=picture.bitmap.Width;
height:=picture.bitmap.height;
parent.clientwidth:=picture.bitmap.Width;
parent.clientheight:=picture.bitmap.height;
} end;
if Fregion.FRegion<>0 then
begin
// if somehow there`s a region already, delete it
deleteObject (FRegion.FRegion);
FRegion.Fregion := 0;
end;
end;
function TCoolForm.GetRegion:TRegionType;
begin
result := FRegion;
end;
procedure TCoolForm.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
// if dragging is on, start the dragging process
If button = mbleft then
begin
releasecapture;
TWincontrol (Parent).perform (WM_syscommand, $F012, 0);
end;
end;
// This is used by delphi`s component streaming system
// it is called whenever delphi reads the componnt from the .dfm
procedure TCoolForm.ReadMask(Reader: TStream);
begin
// read the size of the region data to come
reader.read (FOrgSize, 4);
if FOrgSize <> 0 then
begin
// if we have region data, allocate memory for it
getmem (FOrgRgn, FOrgSize);
// read the data
reader.read (FOrgRgn^, FOrgSize);
// create the region
FRegion.FRegion := ExtCreateRegion (nil, FOrgSize, FOrgRgn^);
if not (csDesigning in ComponentState) and (FRegion.FRegion <> 0) then
SetWindowRgn (parent.handle, FRegion.Fregion, true);
// dispose of the memory
end else fregion.fregion := 0;
end;
// This is pretty much the same stuff as above. Only it`s written this time
procedure TCoolForm.WriteMask(Writer: TStream);
var
size : integer;
rgndata : pRGNData;
begin
if (fregion.fregion<>0) then
begin
// get the region data`s size
size:=getregiondata (FRegion.FRegion, 0, nil);
getmem (rgndata,size);
// get the data itself
getregiondata (FRegion.FRegion, size, rgndata);
// write it
writer.write (size,sizeof (size));
writer.write (rgndata^, size);
freemem (rgndata, size);
end else
begin
// if there`s no region yet (from the mask editor), then write a size of zero
size := 0;
writer.write (size, sizeof (size));
end;
end;
// This tells Delphi to read the public property `Mask 2` from the stream,
// That`s what we need the dummy for.
procedure TCoolForm.DefineProperties(Filer: TFiler);
begin
inherited DefineProperties(Filer);
// tell Delphi which methods to call when reading the property data from the stream
Filer.DefineBinaryProperty ('Mask2', ReadMask, WriteMask, true);
end;
procedure TCoolForm.SetRegion(Value:TRegionType);
begin
if Value <> nil then
begin
FRegion := Value;
// The owner is for the property editor to find the component
FRegion.owner := self;
end;
end;
procedure TCoolForm.SetParent(Value:TWinControl);
begin
inherited;
if Value <> nil then
if not (Value is TWinControl) then
begin
raise Exception.Create ('Drop the CoolForm on a FORM!');
end else
with TWincontrol (Value) do
begin
if Value is TForm then TForm (Value).borderstyle := bsNone;
end;
top := 0;
left := 0;
end;
procedure TCoolForm.WMEraseBkgnd(var Message: TWMEraseBkgnd);
begin
message.Result := 1;
end;
function TCoolForm.LoadMaskFromFile (FileName: String): Boolean;
var
reader : TFileStream;
begin
// read the size of the region data to come
try
reader := TFileStream.Create (FileName, fmOpenRead);
reader.read (FOrgSize, 4);
if FOrgSize <> 0 then
begin
If ForgRgn <> Nil then
FreeMem (FOrgRgn, FOrgSize);
// if we have region data, allocate memory for it
getmem(FOrgRgn, FOrgSize);
// read the data
reader.read (FOrgRgn^, FOrgSize);
// create the region
FRegion.FRegion:=ExtCreateRegion(nil,FOrgSize,FOrgRgn^);
// if runtime, set the region for the window... Tadaaa
if not (csDesigning in ComponentState) and (FRegion.FRegion <> 0) then
begin
SetWindowRgn (parent.handle, FRegion.Fregion, true);
end;
// dispose of the memory
end else fregion.fregion := 0;
reader.free;
Result := True;
except
Result := False;
end;
end;
procedure TCoolForm.size;
var
size : integer;
rgndata : pRGNData;
xf : TXform;
begin
if (fregion.fregion<>0) then
begin
// get the region data`s size
size := getregiondata (FRegion.FRegion, 0, nil);
getmem (rgndata, size);
// get the data itself
getregiondata (FRegion.FRegion, size, rgndata);
// write it
xf.eM11 := 1;//Width / Picture.Bitmap.Width;
xf.eM12 := 0;
xf.eM21 := 0;
xf.eM22 := 1;//Height / Picture.Bitmap.Height;
xf.eDx := 0;
xf.eDy := 0;
FRegion.FRegion := ExtCreateRegion (nil, size, rgndata^);
if not (csDesigning in ComponentState) and (FRegion.FRegion <> 0) then
SetWindowRgn (parent.handle, FRegion.Fregion, true);
end;
end;
procedure TCoolForm.Setwidth(Value:integer);
begin
inherited Width := Value;
// Size;
end;
procedure TCoolForm.SetHeight(Value:integer);
begin
inherited Height := Value;
// Size;
end;
end.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,58 @@
// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved
// (DO NOT EDIT: machine generated header) 'MaskEditor.pas' rev: 3.00
#ifndef MaskEditorHPP
#define MaskEditorHPP
#include <DsgnIntf.hpp>
#include <maskgenerator.hpp>
#include <ExtCtrls.hpp>
#include <Dialogs.hpp>
#include <Forms.hpp>
#include <Controls.hpp>
#include <Graphics.hpp>
#include <Classes.hpp>
#include <SysUtils.hpp>
#include <Messages.hpp>
#include <Windows.hpp>
#include <SysInit.hpp>
#include <System.hpp>
//-- user supplied -----------------------------------------------------------
namespace Maskeditor
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TCoolMaskEditor;
class PASCALIMPLEMENTATION TCoolMaskEditor : public Dsgnintf::TPropertyEditor
{
typedef Dsgnintf::TPropertyEditor inherited;
private:
System::AnsiString FValue;
public:
__fastcall virtual ~TCoolMaskEditor(void);
virtual void __fastcall Edit(void);
virtual Dsgnintf::TPropertyAttributes __fastcall GetAttributes(void);
virtual System::AnsiString __fastcall getname();
virtual System::AnsiString __fastcall getValue();
__published:
__property System::AnsiString Value = {read=FValue, write=FValue};
public:
/* TObject.Create */ __fastcall TCoolMaskEditor(void) : Dsgnintf::TPropertyEditor() { }
};
//-- var, const, procedure ---------------------------------------------------
extern PACKAGE bool FormCreated;
} /* namespace Maskeditor */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Maskeditor;
#endif
//-- end unit ----------------------------------------------------------------
#endif // MaskEditor

View File

@ -0,0 +1,90 @@
unit MaskEditor;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, maskgenerator, dsgnintf;
type
TCoolMaskEditor = class(TPropertyEditor)
private
FValue:string;
public
destructor destroy;override;
procedure Edit;override;
function GetAttributes: TPropertyAttributes;override;
function getname:string; override;
function getValue:string; override;
published
property Value:string read FValue write FValue;
end;
var
FormCreated:boolean=false;
implementation
uses
CoolForm;
function TCoolMaskEditor.getname:string;
begin
result:='Mask';
end;
function TCoolMaskEditor.getValue:string;
begin
result:='Mask';
end;
destructor TCoolMaskEditor.Destroy;
begin
if Formmaskgenerator<>nil then
begin
FormMaskGenerator.Free;
FormMaskGenerator:=nil;
FormCreated:=false;
end;
inherited;
end;
function TCoolMaskEditor.GetAttributes: TPropertyAttributes;
begin
// Make Delphi display the (...) button in the objectinspector
Result := [paDialog];
end;
procedure TCoolMaskEditor.Edit;
//******************* Unknown *************************
begin
// Create the maskeditorform if it doesn`t exist yet
if not assigned(FormMaskGenerator) then
begin
formMaskGenerator:=TFormMaskGenerator.Create(nil);
formMaskGenerator.OriginalRegionData:=nil;
formMaskGenerator.SaveOriginalRegionData;
FormCreated:=true;
end;
with formMaskGenerator do
begin
// Set the existing mask in the editor
formMaskGenerator.Rgn1:=hrgn(TRegionType(GetOrdValue).Fregion);
// copy the bitmap into the editor
Image1.picture.bitmap.Assign(TRegionType(GetOrdValue).owner.picture.bitmap);
opendialog1.filename:='';
Showmodal;
// get the new region from the editor
hrgn(TRegionType(GetOrdValue).Fregion):=formMaskGenerator.Rgn1;
// note: the editorform must not be freed here
// if done, delphi eats lines of the sourcecode of the form in which coolform is used
// (every line where a visible component is defined) ... rather strange
end;
end;
end.

View File

@ -0,0 +1,133 @@
CoolForm 1.5 component for Delphi 3 AND 4
IMPORTANT
You can download new versions directly at http://www.lawrenz.com/coolform/
VERY IMPORTANT!!!!!!!!!!!!
As we haven't received ANY beer yet, we would strongly advise you to get in gear and send some brew. Or else!
New Features:
15.9.1998
Coolform1.5 compatible with Delphi 4
Included unit ExtMaskgenerator (see below)
Fixed several bugs
had to buy some beer
14.9.1998
got very thirsty
13.9.1998
got thirsty
3.5.1998
Added loading of masks at runtime.
Added 0.9 to the version number.
(That's what most of you've been asking for, ain't it?)
2.5.1998
Fixed the IDE Hangups when black is selected as transparent color
Replaced the OpenDialog with OpenPictureDialog
(Thanks, Garth!)
1.3.1998
CoolButton included
25.2.1998
Fixed the Access Violation Problem
Fixed the 'Canvas does not allow drawing' Problem
Improved the performance of the mask generator
Authors:
Tim Lawrenz
tim@lawrenz.com
Max Muermann
muermann@stud.uni-frankfurt.de
Legal Notice:
This component is BeerWare for personal use. No responsibilities taken whatsoever.
BeerWare means:
1) If you want to use this component for commercial use or
2) if you want to use this component for personal use and think that this
component is worth to do it,
you have to send us 20 bottles of beer (or the money for it) (or for german developers:
'nen Kasten Bier).
Installation:
From the Delphi IDE, choose Components/install packages from the menu, Select
'Add' (or something like that, only german version available here). Find Component\Cool.dpl,
Click OK. There should be a new tab in the component palette named 'Cool'.
Usage:
ExtMaskgenerator
The unit ExtMaskGenerator.pas contains one function: ExtGenerateMask(TBitmap, TColor, String);
You call the function with the bitmap you want to use as the mask, the color that will be transparent
and the filename where you want to store the mask data. You can then load the mask into a TCoolForm
with LoadMaskFromFile.
See XDollDemo.zip for some source and a nice picture.
CoolForm 1.5
Just drop the CoolForm component directly on a Form.
Load a bitmap, just like with any TImage component.
Double-click the Mask property. (the cool-looking mask editor appears)
You can use the image you just loaded as a source for the mask, or you can load an
external bmp to use as mask source.
Clicking anywhere on the image selects the transparent color. This color is
shown in the upper right corner of the window.
The Ok-Button (checkmark) starts the mask generation (takes some time, no optimizations yet),
but you'll have to do it only once.
Compile and start your program and marvel at the wonders to behold.
If you want your form to be draggable, set the Draggable property to true, otherwise don't.
You can place any standard delphi component on the CoolForm, just bear in mind that components
outside the masked area don't show. We suggest using BitButtons with Flat set to true.
Look at the demo.
Runtime loading: In the maskeditor, hit the 'save mask' AFTER having created a mask (you'll have
to bring up the maskeditor twice, sorry).
In your application, call CoolForm1.LoadMaskFromFile (FileName); It will return true if successfull,
false if not.
CoolButton 1.3
The TCoolButton component is a button derived from a standard delphi SpeedButton - only cooler.
The glyph *HAS* to contain four (4) equally sized bitmaps, of which the first describes the
button in normal state, the second is the disabled button, the third one contains the image
if the pressed button, the fourth one is displayed when the mouse cursor is over the button.
We're drunk, so don't blame us.
Oh, man, it's just a simple button! What do you want to know about it?
Future enhancements:
If we don't receive some beer soon, there will be no more enhancements. Thats it.
Bugreports:
Please report any bugs you should encounter with a detailed
description (or even some source code) to any of the abovementioned EMail-addresses
MailingList:
Visit the Coolform Homepage for instructions on how to get on the mailinglist (we don't quite remember now).
Have fun.

Binary file not shown.

View File

@ -0,0 +1,100 @@
unit TrMemo;
{$R-}
interface
uses Messages, Controls, StdCtrls,classes;
const TMWM__SpecialInvalidate=WM_USER+1111;
type
TTransparentMemo = class(TMemo)
private
procedure SpecialInvalidate(var Message:TMessage); message
TMWM__SpecialInvalidate;
procedure WMHScroll(var Message: TWMHScroll); message WM_HSCROLL;
procedure WMVScroll(var Message: TWMVScroll); message WM_VSCROLL;
procedure WMSetText(var Message:TWMSetText); message WM_SETTEXT;
procedure CNCTLCOLOREDIT(var Message:TWMCTLCOLOREDIT); message
CN_CTLCOLOREDIT;
procedure WMKeyDown(var Message: TWMKeyDown); message WM_KEYDOWN;
procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;
protected
procedure CreateParams(var Params: TCreateParams); override;
public
constructor Create(AOwner: TComponent); override;
end;
procedure Register;
implementation
uses Windows;
{ TTransparentMemo }
procedure TTransparentMemo.WMHScroll(var Message: TWMHScroll);
begin
inherited;
PostMessage(Handle,TMWM__SpecialInvalidate,0,0);
end;
procedure TTransparentMemo.WMVScroll(var Message: TWMVScroll);
begin
SendMessage(Handle,TMWM__SpecialInvalidate,0,0);
inherited;
PostMessage(Handle,TMWM__SpecialInvalidate,0,0);
end;
procedure TTransparentMemo.CNCTLCOLOREDIT(var Message:TWMCTLCOLOREDIT);
begin
with Message do
begin
SetBkMode(ChildDC,TRANSPARENT);
Result:=GetStockObject(HOLLOW_BRUSH)
end
end;
procedure TTransparentMemo.WMSetText(var Message:TWMSetText);
begin
inherited;
if not (csDesigning in ComponentState) then
PostMessage(Handle,TMWM__SpecialInvalidate,0,0)
end;
procedure TTransparentMemo.SpecialInvalidate(var Message:TMessage);
var r:TRect;
begin
if Parent<>nil then
begin
r:=ClientRect;
r.TopLeft:=Parent.ScreenToClient(ClientToScreen(r.TopLeft));
r.BottomRight:=Parent.ScreenToClient(ClientToScreen(r.BottomRight));
InvalidateRect(Parent.Handle,@r,true);
RedrawWindow(Handle,nil,0,RDW_FRAME+RDW_INVALIDATE)
end;
end;
procedure TTransparentMemo.WMKeyDown(var Message: TWMKeyDown);
begin
SendMessage(Handle,TMWM__SpecialInvalidate,0,0);
inherited;
PostMessage(Handle,TMWM__SpecialInvalidate,0,0);
end;
procedure TTransparentMemo.WMEraseBkgnd(var Message: TWMEraseBkgnd);
begin
Message.Result:=1
end;
constructor TTransparentMemo.Create(AOwner: TComponent);
begin
inherited;
ControlStyle:=[csCaptureMouse, csDesignInteractive,
csClickEvents, csSetCaption, csOpaque, csDoubleClicks,
csReplicatable, csNoStdEvents];
end;
procedure TTransparentMemo.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do
begin
ExStyle:=ExStyle or WS_EX_TRANSPARENT and not WS_EX_WINDOWEDGE
and not WS_EX_STATICEDGE and not WS_EX_DLGMODALFRAME and not
WS_EX_CLIENTEDGE;
end;
end;
procedure Register;
begin
RegisterComponents('cool!', [tTransparentMemo]);
end;
end.

BIN
CDopping/CoolForm/cool.dcp Normal file

Binary file not shown.

BIN
CDopping/CoolForm/cool.dcu Normal file

Binary file not shown.

View File

@ -0,0 +1,37 @@
package cool;
{$R *.RES}
{$ALIGN ON}
{$ASSERTIONS OFF}
{$BOOLEVAL OFF}
{$DEBUGINFO OFF}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS OFF}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO OFF}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST ON}
{$MINENUMSIZE 1}
{$IMAGEBASE $00400000}
{$IMPLICITBUILD ON}
requires
vcl30;
contains
CoolButton,
CoolForm,
MaskEditor,
maskgenerator,
TrMemo;
end.

BIN
CDopping/CoolForm/cool.dpl Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,88 @@
// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved
// (DO NOT EDIT: machine generated header) 'maskgenerator.pas' rev: 3.00
#ifndef maskgeneratorHPP
#define maskgeneratorHPP
#include <ExtDlgs.hpp>
#include <CoolForm.hpp>
#include <ExtCtrls.hpp>
#include <Buttons.hpp>
#include <ComCtrls.hpp>
#include <StdCtrls.hpp>
#include <Dialogs.hpp>
#include <Forms.hpp>
#include <Controls.hpp>
#include <Graphics.hpp>
#include <Classes.hpp>
#include <SysUtils.hpp>
#include <Messages.hpp>
#include <Windows.hpp>
#include <SysInit.hpp>
#include <System.hpp>
//-- user supplied -----------------------------------------------------------
namespace Maskgenerator
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TFormMaskGenerator;
class PASCALIMPLEMENTATION TFormMaskGenerator : public Forms::TForm
{
typedef Forms::TForm inherited;
__published:
Buttons::TSpeedButton* SpeedButton1;
Buttons::TSpeedButton* SpeedButton2;
Buttons::TSpeedButton* SpeedButton3;
Extctrls::TPanel* Panel1;
Coolform::TCoolForm* CoolForm1;
Extctrls::TImage* Image1;
Extdlgs::TOpenPictureDialog* OpenDialog1;
Buttons::TSpeedButton* SpeedButton4;
Dialogs::TSaveDialog* SaveDialog1;
void __fastcall SpeedButton1Click(System::TObject* Sender);
void __fastcall SpeedButton2Click(System::TObject* Sender);
void __fastcall SpeedButton3Click(System::TObject* Sender);
void __fastcall Image1MouseMove(System::TObject* Sender, Classes::TShiftState Shift, int X, int Y);
void __fastcall Image1MouseDown(System::TObject* Sender, Controls::TMouseButton Button, Classes::TShiftState
Shift, int X, int Y);
void __fastcall BitMapChange(System::TObject* Sender);
void __fastcall FormCreate(System::TObject* Sender);
void __fastcall SpeedButton4Click(System::TObject* Sender);
private:
int oldleft;
int oldtop;
bool generating;
public:
int OriginalRegionSize;
_RGNDATA *OriginalRegiondata;
HRGN rgn1;
void __fastcall SaveOriginalRegionData(void);
__fastcall virtual ~TFormMaskGenerator(void);
public:
/* TCustomForm.Create */ __fastcall virtual TFormMaskGenerator(Classes::TComponent* AOwner) : Forms::
TForm(AOwner) { }
/* TCustomForm.CreateNew */ __fastcall TFormMaskGenerator(Classes::TComponent* AOwner, int Dummy) :
Forms::TForm(AOwner, Dummy) { }
public:
/* TWinControl.CreateParented */ __fastcall TFormMaskGenerator(HWND ParentWindow) : Forms::TForm(ParentWindow
) { }
};
//-- var, const, procedure ---------------------------------------------------
extern PACKAGE TFormMaskGenerator* FormMaskGenerator;
} /* namespace Maskgenerator */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Maskgenerator;
#endif
//-- end unit ----------------------------------------------------------------
#endif // maskgenerator

View File

@ -0,0 +1,261 @@
unit maskgenerator;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, Buttons, ExtCtrls, CoolForm, ExtDlgs;
type
TFormMaskGenerator = class(TForm)
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
Panel1: TPanel;
CoolForm1: TCoolForm;
Image1: TImage;
OpenDialog1: TOpenPictureDialog;
SpeedButton4: TSpeedButton;
SaveDialog1: TSaveDialog;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
procedure BitMapChange(Sender:TObject);
procedure FormCreate(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
private
oldleft,oldtop:integer;
generating:boolean;
public
OriginalRegionSize:integer;
OriginalRegiondata:pRGNData;
rgn1:hrgn;
procedure SaveOriginalRegionData;
destructor destroy; override;
end;
var
FormMaskGenerator: TFormMaskGenerator;
implementation
{$R *.DFM}
procedure TFormMaskGenerator.SpeedButton1Click(Sender: TObject);
begin
if Opendialog1.Execute then image1.Picture.bitmap.LoadFromFile(opendialog1.filename);
end;
// This method is necessary to react to changes in the size of the bitmap
procedure TFormMaskGenerator.BitMapChange(Sender:TObject);
var
tr2,temprgn:hrgn;
x:pxform;
begin
if not generating then
begin
// This is the transformation matrix to be used in the region generating process
// will be used in future releases
x:=new(pxform);
x.eM11:=1;
x.eM12:=0;
x.eM21:=0;
x.eM22:=1;
x.eDx:=-oldleft;
x.eDy:=-oldtop;
// the original region is created (the generator form only)
temprgn:=ExtCreateRegion(x,originalRegionSize,OriginalRegionData^);
image1.width:=image1.picture.bitmap.width;
image1.height:=image1.picture.bitmap.height;
clientwidth:=image1.Left+image1.Width;
clientHeight:=image1.Top+image1.Height;
if clientwidth<=150 then ClientWidth:=150;
if clientHeight<=150 then ClientHeight:=150;
// a region for the bitmap is created
tr2:=CreateRectRgn(image1.left,image1.top,image1.left+image1.width,image1.top+image1.height);
// the two regions are combined
CombineRgn(temprgn,temprgn,tr2,RGN_OR);
// set the new region
DeleteObject(CoolForm1.Mask.fregion);
CoolForm1.Mask.Fregion:=tempRgn;
SetWindowRgn(handle,temprgn,true);
// clean up
DeleteObject(tr2);
image1.repaint;
dispose(x);
end;
end;
// this method is called by the Propertyeditor to backup the maskgenerator`s mask generated at design-time
procedure TFormMaskGenerator.SaveOriginalRegionData;
begin
// clean up
if OriginalRegionData<>nil then
begin
freemem(OriginalRegionData);
OriginalRegionData:=nil;
end;
// save original mask information
oldleft:=left;
oldtop:=top;
OriginalRegionsize:=GetRegionData(CoolForm1.Mask.Fregion,0,nil);
getmem(OriginalRegionData,OriginalRegionsize);
getregiondata(CoolForm1.Mask.FRegion,OriginalRegionsize,OriginalRegiondata);
end;
destructor TFormMaskGenerator.destroy;
begin
// clean up
if OriginalRegionData<>nil then
begin
freemem(originalregiondata);
end;
OriginalRegionData:=nil;
inherited;
end;
procedure TFormMaskGenerator.SpeedButton2Click(Sender: TObject);
begin
close;
end;
// This is called when the User clicks the OK Button
procedure TFormMaskGenerator.SpeedButton3Click(Sender: TObject);
var
// stream : TFileStream;
size : integer;
// rgndata : pRGNData;
x,y : integer;
transparentcolor : tcolor;
rgn2 : hrgn;
startx,endx : integer;
R : TRect;
begin
if Panel1.Color = clNone then
Begin
ShowMessage('You must select the colour to be masked out.'#13+
'Click on the mask colour in the bitmap. '#13 +
'(It will appear in the square to the right of the load button).');
Exit;
End;
generating:=true;
// clean up
if rgn1<>0 then deleteObject(rgn1);
rgn1 := 0;
// set the transparent color
transparentcolor:=Panel1.color;
// if necessary, load another mask (don`t know why again... should be redundant)
if opendialog1.filename<>'' then image1.picture.bitmap.loadfromfile(opendialog1.filename);
// for every line do...
for y := 0 to image1.Picture.Height-1 do
begin
// don`t look as if we were locked up
Application.ProcessMessages;
x:=0;
endx:=x;
// no flicker
lockWindowUpdate(FormMaskGenerator.handle);
repeat
// look for the beginning of a stretch of non-transparent pixels
while (image1.picture.bitmap.canvas.pixels[x,y]=transparentcolor) and (x<=image1.picture.width) do
inc(x);
startx:=x;
// paint the pixels up to here black
for size:=endx to startx do image1.picture.bitmap.canvas.pixels[size,y]:=image1.picture.bitmap.canvas.pixels[size,y] xor $FFFFFF;
// look for the end of a stretch of non-transparent pixels
inc(x);
while (image1.picture.bitmap.canvas.pixels[x,y]<>transparentcolor) and (x<=image1.picture.width) do
inc(x);
endx:=x;
// do we have some pixels?
if startx<>image1.Picture.Width then
begin
if endx= image1.Picture.Width then dec(endx);
// do we have a region already?
if rgn1 = 0 then
begin
// Create a region to start with
rgn1:=createrectrgn(startx+1,y,endx,y+1);
end else
begin
// Add to the existing region
rgn2:=createrectrgn(startx+1,y,endx,y+1);
if rgn2<>0 then combinergn(rgn1,rgn1,rgn2,RGN_OR);
deleteobject(rgn2);
end;
// Paint the pixels white
for size:=startx to endx do image1.picture.bitmap.canvas.pixels[size,y]:=image1.picture.bitmap.canvas.pixels[size,y] xor $FFFFFF;
end;
until x>=image1.picture.width-1;
// flicker on
lockwindowUpdate(0);
// tell windows to repaint only the line of the bitmap we just processed
R.top:=image1.top+y;
r.Bottom:=image1.top+y+1;
r.left:=image1.left;
r.right:=image1.left+image1.Width;
invalidaterect(formmaskgenerator.handle,@R,false);
formmaskgenerator.Update;
end;
generating:=false;
close;
end;
procedure TFormMaskGenerator.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
begin
if ssLeft in Shift then
begin
panel1.color:=image1.picture.bitmap.canvas.pixels[x,y];
end;
end;
procedure TFormMaskGenerator.Image1MouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
begin
panel1.color:=image1.picture.bitmap.canvas.pixels[x,y];
end;
procedure TFormMaskGenerator.FormCreate(Sender: TObject);
begin
image1.picture.OnChange:=BitMapChange;
end;
procedure TFormMaskGenerator.SpeedButton4Click(Sender: TObject);
var
size : integer;
rgndata : pRGNData;
writer : TFileStream;
begin
If SaveDialog1.Execute then
begin
if (rgn1<>0) then
begin
writer :=TFileStream.Create (SaveDialog1.Filename, fmCreate);
// get the region data`s size
size:=getregiondata (rgn1, 0, nil);
getmem (rgndata, size);
// get the data itself
getregiondata(rgn1, size, rgndata);
// write it
writer.write (size, sizeof(size));
writer.write (rgndata^, size);
freemem(rgndata, size);
writer.Free;
end;
end;
end;
end.

BIN
CDopping/DialUp/DIALUP.DCR Normal file

Binary file not shown.

BIN
CDopping/DialUp/DIALUP.DCU Normal file

Binary file not shown.

951
CDopping/DialUp/DialUp.h Normal file
View File

@ -0,0 +1,951 @@
// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved
// (DO NOT EDIT: machine generated header) 'DialUp.pas' rev: 3.00
#ifndef DialUpHPP
#define DialUpHPP
#include <Messages.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <Classes.hpp>
#include <Dialogs.hpp>
#include <Windows.hpp>
#include <SysUtils.hpp>
#include <SysInit.hpp>
#include <System.hpp>
//-- user supplied -----------------------------------------------------------
namespace Dialup
{
//-- type declarations -------------------------------------------------------
typedef int *LPHRasConn;
typedef int THRasConn;
struct TRasConnW;
typedef TRasConnW *LPRasConnW;
struct TRasConnW
{
int dwSize;
int hrasconn;
wchar_t szEntryName[257];
wchar_t szDeviceType[17];
wchar_t szDeviceName[129];
} ;
struct TRasConnA;
typedef TRasConnA *LPRasConnA;
struct TRasConnA
{
int dwSize;
int hrasconn;
char szEntryName[257];
char szDeviceType[17];
char szDeviceName[129];
} ;
typedef TRasConnA *LPRasConn;
typedef TRasConnA TRasConn;
typedef int *LPRasConnState;
typedef int TRasConnState;
struct TRasConnStatusW;
typedef TRasConnStatusW *LPRasConnStatusW;
struct TRasConnStatusW
{
int dwSize;
int rasconnstate;
int dwError;
wchar_t szDeviceType[17];
wchar_t szDeviceName[129];
} ;
struct TRasConnStatusA;
typedef TRasConnStatusA *LPRasConnStatusA;
struct TRasConnStatusA
{
int dwSize;
int rasconnstate;
int dwError;
char szDeviceType[17];
char szDeviceName[129];
} ;
typedef TRasConnStatusA *LPRasConnStatus;
typedef TRasConnStatusA TRasConnStatus;
struct TRasDialParamsW;
typedef TRasDialParamsW *LPRasDialParamsW;
struct TRasDialParamsW
{
int dwSize;
wchar_t szEntryName[257];
wchar_t szPhoneNumber[129];
wchar_t szCallbackNumber[129];
wchar_t szUserName[257];
wchar_t szPassword[257];
wchar_t szDomain[16];
} ;
struct TRasDialParamsA;
typedef TRasDialParamsA *LPRasDialParamsA;
struct TRasDialParamsA
{
int dwSize;
char szEntryName[257];
char szPhoneNumber[129];
char szCallbackNumber[129];
char szUserName[257];
char szPassword[257];
char szDomain[16];
} ;
typedef TRasDialParamsA *LPRasDialParams;
typedef TRasDialParamsA TRasDialParams;
struct TRasDialExtensions;
typedef TRasDialExtensions *LPRasDialExtensions;
struct TRasDialExtensions
{
int dwSize;
int dwfOptions;
HWND hwndParent;
int reserved;
} ;
struct TRasEntryNameW;
typedef TRasEntryNameW *LPRasEntryNameW;
struct TRasEntryNameW
{
int dwSize;
wchar_t szEntryName[257];
} ;
struct TRasEntryNameA;
typedef TRasEntryNameA *LPRasEntryNameA;
struct TRasEntryNameA
{
int dwSize;
char szEntryName[257];
} ;
typedef TRasEntryNameA *LPRasEntryName;
typedef TRasEntryNameA TRasEntryName;
typedef int *LPRasProjection;
typedef int TRasProjection;
struct TRasAmbW;
typedef TRasAmbW *LPRasAmbW;
struct TRasAmbW
{
int dwSize;
int dwError;
wchar_t szNetBiosError[17];
Byte bLana;
} ;
struct TRasAmbA;
typedef TRasAmbA *LPRasAmbA;
struct TRasAmbA
{
int dwSize;
int dwError;
char szNetBiosError[17];
Byte bLana;
} ;
typedef TRasAmbA *LPRasAmb;
typedef TRasAmbA TRasAmb;
struct TRasPppNbfW;
typedef TRasPppNbfW *LPRasPppNbfW;
struct TRasPppNbfW
{
int dwSize;
int dwError;
int dwNetBiosError;
wchar_t szNetBiosError[17];
wchar_t szWorkstationName[17];
Byte bLana;
} ;
struct TRasPppNbfA;
typedef TRasPppNbfA *LPRasPppNbfA;
struct TRasPppNbfA
{
int dwSize;
int dwError;
int dwNetBiosError;
char szNetBiosError[17];
char szWorkstationName[17];
Byte bLana;
} ;
typedef TRasPppNbfA *LpRaspppNbf;
typedef TRasPppNbfA TRasPppNbf;
struct TRasPppIpxW;
typedef TRasPppIpxW *LPRasPppIpxW;
struct TRasPppIpxW
{
int dwSize;
int dwError;
wchar_t szIpxAddress[22];
} ;
struct TRasPppIpxA;
typedef TRasPppIpxA *LPRasPppIpxA;
struct TRasPppIpxA
{
int dwSize;
int dwError;
char szIpxAddress[22];
} ;
typedef TRasPppIpxA *LPRasPppIpx;
typedef TRasPppIpxA TRasPppIpx;
struct TRasPppIpW;
typedef TRasPppIpW *LPRasPppIpW;
struct TRasPppIpW
{
int dwSize;
int dwError;
wchar_t szIpAddress[16];
wchar_t szServerIpAddress[16];
} ;
struct TRasPppIpA;
typedef TRasPppIpA *LPRasPppIpA;
struct TRasPppIpA
{
int dwSize;
int dwError;
char szIpAddress[16];
char szServerIpAddress[16];
} ;
typedef TRasPppIpA *LPRasPppIp;
typedef TRasPppIpA TRasPppIp;
struct TRasIPAddr;
typedef TRasIPAddr *LPRasIPAddr;
#pragma pack(push, 1)
struct TRasIPAddr
{
Byte A;
Byte B;
Byte C;
Byte D;
} ;
#pragma pack(pop)
struct TRasEntryA;
typedef TRasEntryA *LPRasEntryA;
struct TRasEntryA
{
int dwSize;
int dwfOptions;
int dwCountryID;
int dwCountryCode;
char szAreaCode[11];
char szLocalPhoneNumber[129];
int dwAlternatesOffset;
TRasIPAddr ipaddr;
TRasIPAddr ipaddrDns;
TRasIPAddr ipaddrDnsAlt;
TRasIPAddr ipaddrWins;
TRasIPAddr ipaddrWinsAlt;
int dwFrameSize;
int dwfNetProtocols;
int dwFramingProtocol;
char szScript[260];
char szAutodialDll[260];
char szAutodialFunc[260];
char szDeviceType[17];
char szDeviceName[129];
char szX25PadType[33];
char szX25Address[201];
char szX25Facilities[201];
char szX25UserData[201];
int dwChannels;
int dwReserved1;
int dwReserved2;
} ;
struct TRasEntryW;
typedef TRasEntryW *LPRasEntryW;
struct TRasEntryW
{
int dwSize;
int dwfOptions;
int dwCountryID;
int dwCountryCode;
wchar_t szAreaCode[11];
wchar_t szLocalPhoneNumber[129];
int dwAlternatesOffset;
TRasIPAddr ipaddr;
TRasIPAddr ipaddrDns;
TRasIPAddr ipaddrDnsAlt;
TRasIPAddr ipaddrWins;
TRasIPAddr ipaddrWinsAlt;
int dwFrameSize;
int dwfNetProtocols;
int dwFramingProtocol;
wchar_t szScript[260];
wchar_t szAutodialDll[260];
wchar_t szAutodialFunc[260];
wchar_t szDeviceType[17];
wchar_t szDeviceName[129];
wchar_t szX25PadType[33];
wchar_t szX25Address[201];
wchar_t szX25Facilities[201];
wchar_t szX25UserData[201];
int dwChannels;
int dwReserved1;
int dwReserved2;
} ;
typedef TRasEntryA *LPRasEntry;
typedef TRasEntryA TRasEntry;
struct TRasCtryInfo
{
int dwSize;
int dwCountryID;
int dwNextCountryID;
int dwCountryCode;
int dwCountryNameOffset;
} ;
typedef TRasCtryInfo *LPRasCtryInfo;
struct TRasDevInfoA;
typedef TRasDevInfoA *LPRasDevInfoA;
struct TRasDevInfoA
{
int dwSize;
char szDeviceType[17];
char szDeviceName[129];
} ;
struct TRasDevInfoW;
typedef TRasDevInfoW *LPRasDevInfoW;
struct TRasDevInfoW
{
int dwSize;
wchar_t szDeviceType[17];
wchar_t szDeviceName[129];
} ;
typedef TRasDevInfoA *LPRasDevInfo;
typedef TRasDevInfoA TRasDevInfo;
typedef void __fastcall (__closure *TOnEntryGet)(System::TObject* Sender, System::AnsiString EntryName
);
typedef void __fastcall (__closure *TStandartEv)(System::TObject* Sender);
typedef void __fastcall (__closure *TOnNotConn)(System::TObject* Sender, int ErrorCode, System::AnsiString
ErrorMessage);
typedef void __fastcall (__closure *TOnAsyncEvent)(System::TObject* Sender, int State, int Error, System::AnsiString
MessageText);
typedef void __fastcall (__closure *TOnError)(System::TObject* Sender, int ErrorCode, System::AnsiString
ErrorMessage);
typedef void __fastcall (__closure *TOnActiveConn)(System::TObject* Sender, int Handle, const TRasConnStatusA
&Status, System::AnsiString StatusString, System::AnsiString EntryName, System::AnsiString DeviceType
, System::AnsiString DeviceName);
enum TDialMode { dmAsync, dmSync };
enum TLanguage { English, Czech };
class DELPHICLASS TDialUp;
class PASCALIMPLEMENTATION TDialUp : public Classes::TComponent
{
typedef Classes::TComponent inherited;
private:
Classes::TStringList* FEntries;
TDialMode FDialMode;
System::AnsiString FEntry2Dial;
TLanguage FLanguage;
Extctrls::TTimer* FTimer;
TOnEntryGet FOnEntryGet;
TStandartEv FOnDialing;
TStandartEv FOnConnected;
TOnNotConn FOnNotConnected;
TOnAsyncEvent FOnAsyncEvent;
TOnError FOnError;
TOnActiveConn FOnActiveConn;
protected:
virtual void __fastcall Timer(System::TObject* Sender);
public:
int hRAS;
bool AsyncStatus;
int AMsg;
int AError;
int AState;
__fastcall virtual TDialUp(Classes::TComponent* AOwner);
__fastcall virtual ~TDialUp(void);
int __fastcall Dial(void);
int __fastcall GetEntries(void);
int __fastcall GetConnections(void);
int __fastcall HangUp(void);
int __fastcall HangUpConn(int Handle);
int __fastcall CreateEntry(void);
int __fastcall EditEntry(void);
int __fastcall DeleteEntry(void);
int __fastcall RenameEntryTo(System::AnsiString S);
int __fastcall SetEntryUserName(System::AnsiString Value);
int __fastcall SetEntryPassword(System::AnsiString Value);
int __fastcall RemovePassword(void);
int __fastcall GetEntryUserName(System::AnsiString &Value);
int __fastcall GetEntryPassword(System::AnsiString &Value);
System::AnsiString __fastcall StatusString(int State, int Error);
System::AnsiString __fastcall StatusStringCZ(int State, int Error);
__published:
__property Name ;
__property Tag ;
__property TDialMode DialMode = {read=FDialMode, write=FDialMode, nodefault};
__property Classes::TStringList* Entries = {read=FEntries};
__property System::AnsiString Entry = {read=FEntry2Dial, write=FEntry2Dial};
__property TLanguage Language = {read=FLanguage, write=FLanguage, nodefault};
__property TOnEntryGet OnEntryGet = {read=FOnEntryGet, write=FOnEntryGet};
__property TStandartEv OnDialing = {read=FOnDialing, write=FOnDialing};
__property TStandartEv OnConnect = {read=FOnConnected, write=FOnConnected};
__property TOnNotConn OnNotConnected = {read=FOnNotConnected, write=FOnNotConnected};
__property TOnAsyncEvent OnAsyncEvent = {read=FOnAsyncEvent, write=FOnAsyncEvent};
__property TOnError OnError = {read=FOnError, write=FOnError};
__property TOnActiveConn OnActiveConnection = {read=FOnActiveConn, write=FOnActiveConn};
};
//-- var, const, procedure ---------------------------------------------------
#define DNLEN (Byte)(15)
#define UNLEN (Word)(256)
#define PWLEN (Word)(256)
#define NETBIOS_NAME_LEN (Byte)(16)
#define RAS_MaxDeviceType (Byte)(16)
#define RAS_MaxPhoneNumber (Byte)(128)
#define RAS_MaxIpAddress (Byte)(15)
#define RAS_MaxIpxAddress (Byte)(21)
#define RAS_MaxEntryName (Word)(256)
#define RAS_MaxDeviceName (Byte)(128)
#define RAS_MaxCallbackNumber (Byte)(128)
#define RASCS_PAUSED (Word)(4096)
#define RASCS_DONE (Word)(8192)
#define RASCS_OpenPort (Byte)(0)
#define RASCS_PortOpened (Byte)(1)
#define RASCS_ConnectDevice (Byte)(2)
#define RASCS_DeviceConnected (Byte)(3)
#define RASCS_AllDevicesConnected (Byte)(4)
#define RASCS_Authenticate (Byte)(5)
#define RASCS_AuthNotify (Byte)(6)
#define RASCS_AuthRetry (Byte)(7)
#define RASCS_AuthCallback (Byte)(8)
#define RASCS_AuthChangePassword (Byte)(9)
#define RASCS_AuthProject (Byte)(10)
#define RASCS_AuthLinkSpeed (Byte)(11)
#define RASCS_AuthAck (Byte)(12)
#define RASCS_ReAuthenticate (Byte)(13)
#define RASCS_Authenticated (Byte)(14)
#define RASCS_PrepareForCallback (Byte)(15)
#define RASCS_WaitForModemReset (Byte)(16)
#define RASCS_WaitForCallback (Byte)(17)
#define RASCS_Projected (Byte)(18)
#define RASCS_StartAuthentication (Byte)(19)
#define RASCS_CallbackComplete (Byte)(20)
#define RASCS_LogonNetwork (Byte)(21)
#define RASCS_Interactive (Word)(4096)
#define RASCS_RetryAuthentication (Word)(4097)
#define RASCS_CallbackSetByCaller (Word)(4098)
#define RASCS_PasswordExpired (Word)(4099)
#define RASCS_Connected (Word)(8192)
#define RASCS_Disconnected (Word)(8193)
#define RDEOPT_UsePrefixSuffix (Byte)(1)
#define RDEOPT_PausedStates (Byte)(2)
#define RDEOPT_IgnoreModemSpeaker (Byte)(4)
#define RDEOPT_SetModemSpeaker (Byte)(8)
#define RDEOPT_IgnoreSoftwareCompression (Byte)(16)
#define RDEOPT_SetSoftwareCompression (Byte)(32)
#define RASP_Amb (int)(65536)
#define RASP_PppNbf (int)(32831)
#define RASP_PppIpx (int)(32811)
#define RASP_PppIp (int)(32801)
#define RASDIALEVENT "RasDialEvent"
#define WM_RASDIALEVENT (int)(52429)
#define RASBASE (Word)(600)
#define SUCCESS (Byte)(0)
#define PENDING (Word)(600)
#define ERROR_INVALID_PORT_HANDLE (Word)(601)
#define ERROR_PORT_ALREADY_OPEN (Word)(602)
#define ERROR_BUFFER_TOO_SMALL (Word)(603)
#define ERROR_WRONG_INFO_SPECIFIED (Word)(604)
#define ERROR_CANNOT_SET_PORT_INFO (Word)(605)
#define ERROR_PORT_NOT_CONNECTED (Word)(606)
#define ERROR_EVENT_INVALID (Word)(607)
#define ERROR_DEVICE_DOES_NOT_EXIST (Word)(608)
#define ERROR_DEVICETYPE_DOES_NOT_EXIST (Word)(609)
#define ERROR_BUFFER_INVALID (Word)(610)
#define ERROR_ROUTE_NOT_AVAILABLE (Word)(611)
#define ERROR_ROUTE_NOT_ALLOCATED (Word)(612)
#define ERROR_INVALID_COMPRESSION_SPECIFIED (Word)(613)
#define ERROR_OUT_OF_BUFFERS (Word)(614)
#define ERROR_PORT_NOT_FOUND (Word)(615)
#define ERROR_ASYNC_REQUEST_PENDING (Word)(616)
#define ERROR_ALREADY_DISCONNECTING (Word)(617)
#define ERROR_PORT_NOT_OPEN (Word)(618)
#define ERROR_PORT_DISCONNECTED (Word)(619)
#define ERROR_NO_ENDPOINTS (Word)(620)
#define ERROR_CANNOT_OPEN_PHONEBOOK (Word)(621)
#define ERROR_CANNOT_LOAD_PHONEBOOK (Word)(622)
#define ERROR_CANNOT_FIND_PHONEBOOK_ENTRY (Word)(623)
#define ERROR_CANNOT_WRITE_PHONEBOOK (Word)(624)
#define ERROR_CORRUPT_PHONEBOOK (Word)(625)
#define ERROR_CANNOT_LOAD_STRING (Word)(626)
#define ERROR_KEY_NOT_FOUND (Word)(627)
#define ERROR_DISCONNECTION (Word)(628)
#define ERROR_REMOTE_DISCONNECTION (Word)(629)
#define ERROR_HARDWARE_FAILURE (Word)(630)
#define ERROR_USER_DISCONNECTION (Word)(631)
#define ERROR_INVALID_SIZE (Word)(632)
#define ERROR_PORT_NOT_AVAILABLE (Word)(633)
#define ERROR_CANNOT_PROJECT_CLIENT (Word)(634)
#define ERROR_UNKNOWN (Word)(635)
#define ERROR_WRONG_DEVICE_ATTACHED (Word)(636)
#define ERROR_BAD_STRING (Word)(637)
#define ERROR_REQUEST_TIMEOUT (Word)(638)
#define ERROR_CANNOT_GET_LANA (Word)(639)
#define ERROR_NETBIOS_ERROR (Word)(640)
#define ERROR_SERVER_OUT_OF_RESOURCES (Word)(641)
#define ERROR_NAME_EXISTS_ON_NET (Word)(642)
#define ERROR_SERVER_GENERAL_NET_FAILURE (Word)(643)
#define WARNING_MSG_ALIAS_NOT_ADDED (Word)(644)
#define ERROR_AUTH_INTERNAL (Word)(645)
#define ERROR_RESTRICTED_LOGON_HOURS (Word)(646)
#define ERROR_ACCT_DISABLED (Word)(647)
#define ERROR_PASSWD_EXPIRED (Word)(648)
#define ERROR_NO_DIALIN_PERMISSION (Word)(649)
#define ERROR_SERVER_NOT_RESPONDING (Word)(650)
#define ERROR_FROM_DEVICE (Word)(651)
#define ERROR_UNRECOGNIZED_RESPONSE (Word)(652)
#define ERROR_MACRO_NOT_FOUND (Word)(653)
#define ERROR_MACRO_NOT_DEFINED (Word)(654)
#define ERROR_MESSAGE_MACRO_NOT_FOUND (Word)(655)
#define ERROR_DEFAULTOFF_MACRO_NOT_FOUND (Word)(656)
#define ERROR_FILE_COULD_NOT_BE_OPENED (Word)(657)
#define ERROR_DEVICENAME_TOO_LONG (Word)(658)
#define ERROR_DEVICENAME_NOT_FOUND (Word)(659)
#define ERROR_NO_RESPONSES (Word)(660)
#define ERROR_NO_COMMAND_FOUND (Word)(661)
#define ERROR_WRONG_KEY_SPECIFIED (Word)(662)
#define ERROR_UNKNOWN_DEVICE_TYPE (Word)(663)
#define ERROR_ALLOCATING_MEMORY (Word)(664)
#define ERROR_PORT_NOT_CONFIGURED (Word)(665)
#define ERROR_DEVICE_NOT_READY (Word)(666)
#define ERROR_READING_INI_FILE (Word)(667)
#define ERROR_NO_CONNECTION (Word)(668)
#define ERROR_BAD_USAGE_IN_INI_FILE (Word)(669)
#define ERROR_READING_SECTIONNAME (Word)(670)
#define ERROR_READING_DEVICETYPE (Word)(671)
#define ERROR_READING_DEVICENAME (Word)(672)
#define ERROR_READING_USAGE (Word)(673)
#define ERROR_READING_MAXCONNECTBPS (Word)(674)
#define ERROR_READING_MAXCARRIERBPS (Word)(675)
#define ERROR_LINE_BUSY (Word)(676)
#define ERROR_VOICE_ANSWER (Word)(677)
#define ERROR_NO_ANSWER (Word)(678)
#define ERROR_NO_CARRIER (Word)(679)
#define ERROR_NO_DIALTONE (Word)(680)
#define ERROR_IN_COMMAND (Word)(681)
#define ERROR_WRITING_SECTIONNAME (Word)(682)
#define ERROR_WRITING_DEVICETYPE (Word)(683)
#define ERROR_WRITING_DEVICENAME (Word)(684)
#define ERROR_WRITING_MAXCONNECTBPS (Word)(685)
#define ERROR_WRITING_MAXCARRIERBPS (Word)(686)
#define ERROR_WRITING_USAGE (Word)(687)
#define ERROR_WRITING_DEFAULTOFF (Word)(688)
#define ERROR_READING_DEFAULTOFF (Word)(689)
#define ERROR_EMPTY_INI_FILE (Word)(690)
#define ERROR_AUTHENTICATION_FAILURE (Word)(691)
#define ERROR_PORT_OR_DEVICE (Word)(692)
#define ERROR_NOT_BINARY_MACRO (Word)(693)
#define ERROR_DCB_NOT_FOUND (Word)(694)
#define ERROR_STATE_MACHINES_NOT_STARTED (Word)(695)
#define ERROR_STATE_MACHINES_ALREADY_STARTED (Word)(696)
#define ERROR_PARTIAL_RESPONSE_LOOPING (Word)(697)
#define ERROR_UNKNOWN_RESPONSE_KEY (Word)(698)
#define ERROR_RECV_BUF_FULL (Word)(699)
#define ERROR_CMD_TOO_LONG (Word)(700)
#define ERROR_UNSUPPORTED_BPS (Word)(701)
#define ERROR_UNEXPECTED_RESPONSE (Word)(702)
#define ERROR_INTERACTIVE_MODE (Word)(703)
#define ERROR_BAD_CALLBACK_NUMBER (Word)(704)
#define ERROR_INVALID_AUTH_STATE (Word)(705)
#define ERROR_WRITING_INITBPS (Word)(706)
#define ERROR_X25_DIAGNOSTIC (Word)(707)
#define ERROR_ACCT_EXPIRED (Word)(708)
#define ERROR_CHANGING_PASSWORD (Word)(709)
#define ERROR_OVERRUN (Word)(710)
#define ERROR_RASMAN_CANNOT_INITIALIZE (Word)(711)
#define ERROR_BIPLEX_PORT_NOT_AVAILABLE (Word)(712)
#define ERROR_NO_ACTIVE_ISDN_LINES (Word)(713)
#define ERROR_NO_ISDN_CHANNELS_AVAILABLE (Word)(714)
#define ERROR_TOO_MANY_LINE_ERRORS (Word)(715)
#define ERROR_IP_CONFIGURATION (Word)(716)
#define ERROR_NO_IP_ADDRESSES (Word)(717)
#define ERROR_PPP_TIMEOUT (Word)(718)
#define ERROR_PPP_REMOTE_TERMINATED (Word)(719)
#define ERROR_PPP_NO_PROTOCOLS_CONFIGURED (Word)(720)
#define ERROR_PPP_NO_RESPONSE (Word)(721)
#define ERROR_PPP_INVALID_PACKET (Word)(722)
#define ERROR_PHONE_NUMBER_TOO_LONG (Word)(723)
#define ERROR_IPXCP_NO_DIALOUT_CONFIGURED (Word)(724)
#define ERROR_IPXCP_NO_DIALIN_CONFIGURED (Word)(725)
#define ERROR_IPXCP_DIALOUT_ALREADY_ACTIVE (Word)(726)
#define ERROR_ACCESSING_TCPCFGDLL (Word)(727)
#define ERROR_NO_IP_RAS_ADAPTER (Word)(728)
#define ERROR_SLIP_REQUIRES_IP (Word)(729)
#define ERROR_PROJECTION_NOT_COMPLETE (Word)(730)
#define ERROR_PROTOCOL_NOT_CONFIGURED (Word)(731)
#define ERROR_PPP_NOT_CONVERGING (Word)(732)
#define ERROR_PPP_CP_REJECTED (Word)(733)
#define ERROR_PPP_LCP_TERMINATED (Word)(734)
#define ERROR_PPP_REQUIRED_ADDRESS_REJECTED (Word)(735)
#define ERROR_PPP_NCP_TERMINATED (Word)(736)
#define ERROR_PPP_LOOPBACK_DETECTED (Word)(737)
#define ERROR_PPP_NO_ADDRESS_ASSIGNED (Word)(738)
#define ERROR_CANNOT_USE_LOGON_CREDENTIALS (Word)(739)
#define ERROR_TAPI_CONFIGURATION (Word)(740)
#define ERROR_NO_LOCAL_ENCRYPTION (Word)(741)
#define ERROR_NO_REMOTE_ENCRYPTION (Word)(742)
#define ERROR_REMOTE_REQUIRES_ENCRYPTION (Word)(743)
#define ERROR_IPXCP_NET_NUMBER_CONFLICT (Word)(744)
#define ERROR_INVALID_SMM (Word)(745)
#define ERROR_SMM_UNINITIALIZED (Word)(746)
#define ERROR_NO_MAC_FOR_PORT (Word)(747)
#define ERROR_SMM_TIMEOUT (Word)(748)
#define ERROR_BAD_PHONE_NUMBER (Word)(749)
#define ERROR_WRONG_MODULE (Word)(750)
#define RASBASEEND (Word)(750)
#define RAS_MaxAreaCode (Byte)(10)
#define RAS_MaxPadType (Byte)(32)
#define RAS_MaxX25Address (Byte)(200)
#define RAS_MaxFacilities (Byte)(200)
#define RAS_MaxUserData (Byte)(200)
#define RASEO_UseCountryAndAreaCodes (Byte)(1)
#define RASEO_SpecificIpAddr (Byte)(2)
#define RASEO_SpecificNameServers (Byte)(4)
#define RASEO_IpHeaderCompression (Byte)(8)
#define RASEO_RemoteDefaultGateway (Byte)(16)
#define RASEO_DisableLcpExtensions (Byte)(32)
#define RASEO_TerminalBeforeDial (Byte)(64)
#define RASEO_TerminalAfterDial (Byte)(128)
#define RASEO_ModemLights (Word)(256)
#define RASEO_SwCompression (Word)(512)
#define RASEO_RequireEncryptedPw (Word)(1024)
#define RASEO_RequireMsEncryptedPw (Word)(2048)
#define RASEO_RequireDataEncryption (Word)(4096)
#define RASEO_NetworkLogon (Word)(8192)
#define RASEO_UseLogonCredentials (Word)(16384)
#define RASEO_PromoteAlternates (int)(32768)
#define RASNP_Netbeui (Byte)(1)
#define RASNP_Ipx (Byte)(2)
#define RASNP_Ip (Byte)(4)
#define RASFP_Ppp (Byte)(1)
#define RASFP_Slip (Byte)(2)
#define RASFP_Ras (Byte)(4)
#define RASDT_Modem "modem"
#define RASDT_Isdn "isdn"
#define RASDT_X25 "x25"
#define MaxEntries (Byte)(100)
extern PACKAGE void __fastcall Register(void);
extern "C" int __stdcall RasCreatePhonebookEntryA(HWND hwndParentWindow, char * lpszPhoneBook);
extern "C" int __stdcall RasCreatePhonebookEntryW(HWND hwndParentWindow, wchar_t * lpszPhoneBook);
extern "C" int __stdcall RasCreatePhonebookEntry(HWND hwndParentWindow, char * lpszPhoneBook);
extern "C" int __stdcall RasDialA(LPRasDialExtensions lpRasDialExt, char * lpszPhoneBook, TRasDialParamsA
&params, int dwNotifierType, void * lpNotifier, int &rasconn);
extern "C" int __stdcall RasDialW(LPRasDialExtensions lpRasDialExt, wchar_t * lpszPhoneBook, TRasDialParamsW
&params, int dwNotifierType, void * lpNotifier, int &rasconn);
extern "C" int __stdcall RasDial(LPRasDialExtensions lpRasDialExt, char * lpszPhoneBook, TRasDialParamsA
&params, int dwNotifierType, void * lpNotifier, int &rasconn);
extern "C" int __stdcall RasEditPhonebookEntryA(HWND hwndParentWindow, char * lpszPhoneBook, char *
lpszEntryName);
extern "C" int __stdcall RasEditPhonebookEntryW(HWND hwndParentWindow, wchar_t * lpszPhoneBook, wchar_t *
lpszEntryName);
extern "C" int __stdcall RasEditPhonebookEntry(HWND hwndParentWindow, char * lpszPhoneBook, char * lpszEntryName
);
extern "C" int __stdcall RasEnumConnectionsA(LPRasConnA RasConnArray, int &lpcb, int &lpcConnections
);
extern "C" int __stdcall RasEnumConnectionsW(LPRasConnW RasConnArray, int &lpcb, int &lpcConnections
);
extern "C" int __stdcall RasEnumConnections(LPRasConn RasConnArray, int &lpcb, int &lpcConnections);
extern "C" int __stdcall RasEnumEntriesA(char * Reserved, char * lpszPhoneBook, LPRasEntryNameA entrynamesArray
, int &lpcb, int &lpcEntries);
extern "C" int __stdcall RasEnumEntriesW(wchar_t * reserved, wchar_t * lpszPhoneBook, LPRasEntryNameW
entrynamesArray, int &lpcb, int &lpcEntries);
extern "C" int __stdcall RasEnumEntries(char * reserved, char * lpszPhoneBook, LPRasEntryName entrynamesArray
, int &lpcb, int &lpcEntries);
extern "C" int __stdcall RasGetConnectStatusA(int hConn, TRasConnStatusA &lpStatus);
extern "C" int __stdcall RasGetConnectStatusW(int hConn, TRasConnStatusW &lpStatus);
extern "C" int __stdcall RasGetConnectStatus(int hConn, TRasConnStatusA &lpStatus);
extern "C" int __stdcall RasGetEntryDialParamsA(char * lpszPhoneBook, TRasDialParamsA &lpDialParams,
BOOL &lpfPassword);
extern "C" int __stdcall RasGetEntryDialParamsW(wchar_t * lpszPhoneBook, TRasDialParamsW &lpDialParams
, BOOL &lpfPassword);
extern "C" int __stdcall RasGetEntryDialParams(char * lpszPhoneBook, TRasDialParamsA &lpDialParams,
BOOL &lpfPassword);
extern "C" int __stdcall RasGetErrorStringA(int errorValue, char * erroString, int cBufSize);
extern "C" int __stdcall RasGetErrorStringW(int errorValue, wchar_t * erroString, int cBufSize);
extern "C" int __stdcall RasGetErrorString(int errorValue, char * erroString, int cBufSize);
extern "C" int __stdcall RasGetProjectionInfoA(int hConn, int rasproj, void * lpProjection, int &lpcb
);
extern "C" int __stdcall RasGetProjectionInfoW(int hConn, int rasproj, void * lpProjection, int &lpcb
);
extern "C" int __stdcall RasGetProjectionInfo(int hConn, int rasproj, void * lpProjection, int &lpcb
);
extern "C" int __stdcall RasHangUpA(int hConn);
extern "C" int __stdcall RasHangUpW(int hConn);
extern "C" int __stdcall RasHangUp(int hConn);
extern "C" int __stdcall RasSetEntryDialParamsA(char * lpszPhoneBook, TRasDialParamsA &lpDialParams,
BOOL fRemovePassword);
extern "C" int __stdcall RasSetEntryDialParamsW(wchar_t * lpszPhoneBook, TRasDialParamsW &lpDialParams
, BOOL fRemovePassword);
extern "C" int __stdcall RasSetEntryDialParams(char * lpszPhoneBook, TRasDialParamsA &lpDialParams,
BOOL fRemovePassword);
extern "C" int __stdcall RasValidateEntryNameA(char * lpszPhonebook, char * szEntry);
extern "C" int __stdcall RasValidateEntryNameW(wchar_t * lpszPhonebook, wchar_t * szEntry);
extern "C" int __stdcall RasRenameEntryA(char * lpszPhonebook, char * szEntryOld, char * szEntryNew)
;
extern "C" int __stdcall RasRenameEntryW(wchar_t * lpszPhonebook, wchar_t * szEntryOld, wchar_t * szEntryNew
);
extern "C" int __stdcall RasDeleteEntryA(char * lpszPhonebook, char * szEntry);
extern "C" int __stdcall RasDeleteEntryW(wchar_t * lpszPhonebook, wchar_t * szEntry);
extern "C" int __stdcall RasGetEntryPropertiesA(char * lpszPhonebook, char * szEntry, void * lpbEntry
, int &lpdwEntrySize, void * lpbDeviceInfo, int &lpdwDeviceInfoSize);
extern "C" int __stdcall RasGetEntryPropertiesW(wchar_t * lpszPhonebook, wchar_t * szEntry, void * lpbEntry
, int &lpdwEntrySize, void * lpbDeviceInfo, int &lpdwDeviceInfoSize);
extern "C" int __stdcall RasSetEntryPropertiesA(char * lpszPhonebook, char * szEntry, void * lpbEntry
, int dwEntrySize, void * lpbDeviceInfo, int dwDeviceInfoSize);
extern "C" int __stdcall RasSetEntryPropertiesW(wchar_t * lpszPhonebook, wchar_t * szEntry, void * lpbEntry
, int dwEntrySize, void * lpbDeviceInfo, int dwDeviceInfoSize);
extern "C" int __stdcall RasGetCountryInfoA(TRasCtryInfo &lpCtryInfo, int &lpdwSize);
extern "C" int __stdcall RasGetCountryInfoW(TRasCtryInfo &lpCtryInfo, int &lpdwSize);
extern "C" int __stdcall RasEnumDevicesA(LPRasDevInfoA lpBuff, int &lpcbSize, int &lpcDevices);
extern "C" int __stdcall RasEnumDevicesW(LPRasDevInfoW lpBuff, int &lpcbSize, int &lpcDevices);
extern PACKAGE int __stdcall RasValidateEntryName(char * lpszPhonebook, char * szEntry);
extern PACKAGE int __stdcall RasRenameEntry(char * lpszPhonebook, char * szEntryOld, char * szEntryNew
);
extern PACKAGE int __stdcall RasDeleteEntry(char * lpszPhonebook, char * szEntry);
extern PACKAGE int __stdcall RasGetEntryProperties(char * lpszPhonebook, char * szEntry, void * lpbEntry
, int &lpdwEntrySize, void * lpbDeviceInfo, int &lpdwDeviceInfoSize);
extern PACKAGE int __stdcall RasSetEntryProperties(char * lpszPhonebook, char * szEntry, void * lpbEntry
, int dwEntrySize, void * lpbDeviceInfo, int dwDeviceInfoSize);
extern PACKAGE int __stdcall RasGetCountryInfo(TRasCtryInfo &lpCtryInfo, int &lpdwSize);
extern PACKAGE int __stdcall RasEnumDevices(LPRasDevInfo lpBuff, int &lpcbSize, int &lpcDevices);
#if defined(UNICODE)
inline int __stdcall RasDial(LPRasDialExtensions lpRasDialExt, char * lpszPhoneBook, TRasDialParamsA
&params, int dwNotifierType, void * lpNotifier, int &rasconn)
{
return RasDialW(lpRasDialExt, lpszPhoneBook, params, dwNotifierType, lpNotifier, rasconn);
}
#else
inline int __stdcall RasDial(LPRasDialExtensions lpRasDialExt, char * lpszPhoneBook, TRasDialParamsA
&params, int dwNotifierType, void * lpNotifier, int &rasconn)
{
return RasDialA(lpRasDialExt, lpszPhoneBook, params, dwNotifierType, lpNotifier, rasconn);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasEnumConnections(LPRasConn RasConnArray, int &lpcb, int &lpcConnections)
{
return RasEnumConnectionsW(RasConnArray, lpcb, lpcConnections);
}
#else
inline int __stdcall RasEnumConnections(LPRasConn RasConnArray, int &lpcb, int &lpcConnections)
{
return RasEnumConnectionsA(RasConnArray, lpcb, lpcConnections);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasEnumEntries(char * reserved, char * lpszPhoneBook, LPRasEntryName entrynamesArray
, int &lpcb, int &lpcEntries)
{
return RasEnumEntriesW(reserved, lpszPhoneBook, entrynamesArray, lpcb, lpcEntries);
}
#else
inline int __stdcall RasEnumEntries(char * reserved, char * lpszPhoneBook, LPRasEntryName entrynamesArray
, int &lpcb, int &lpcEntries)
{
return RasEnumEntriesA(reserved, lpszPhoneBook, entrynamesArray, lpcb, lpcEntries);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasGetConnectStatus(int hConn, TRasConnStatusA &lpStatus)
{
return RasGetConnectStatusW(hConn, lpStatus);
}
#else
inline int __stdcall RasGetConnectStatus(int hConn, TRasConnStatusA &lpStatus)
{
return RasGetConnectStatusA(hConn, lpStatus);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasGetErrorString(int errorValue, char * erroString, int cBufSize)
{
return RasGetErrorStringW(errorValue, erroString, cBufSize);
}
#else
inline int __stdcall RasGetErrorString(int errorValue, char * erroString, int cBufSize)
{
return RasGetErrorStringA(errorValue, erroString, cBufSize);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasHangUp(int hConn)
{
return RasHangUpW(hConn);
}
#else
inline int __stdcall RasHangUp(int hConn)
{
return RasHangUpA(hConn);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasGetProjectionInfo(int hConn, int rasproj, void * lpProjection, int &lpcb)
{
return RasGetProjectionInfoW(hConn, rasproj, lpProjection, lpcb);
}
#else
inline int __stdcall RasGetProjectionInfo(int hConn, int rasproj, void * lpProjection, int &lpcb)
{
return RasGetProjectionInfoA(hConn, rasproj, lpProjection, lpcb);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasCreatePhonebookEntry(HWND hwndParentWindow, char * lpszPhoneBook)
{
return RasCreatePhonebookEntryW(hwndParentWindow, lpszPhoneBook);
}
#else
inline int __stdcall RasCreatePhonebookEntry(HWND hwndParentWindow, char * lpszPhoneBook)
{
return RasCreatePhonebookEntryA(hwndParentWindow, lpszPhoneBook);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasEditPhonebookEntry(HWND hwndParentWindow, char * lpszPhoneBook, char * lpszEntryName
)
{
return RasEditPhonebookEntryW(hwndParentWindow, lpszPhoneBook, lpszEntryName);
}
#else
inline int __stdcall RasEditPhonebookEntry(HWND hwndParentWindow, char * lpszPhoneBook, char * lpszEntryName
)
{
return RasEditPhonebookEntryA(hwndParentWindow, lpszPhoneBook, lpszEntryName);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasSetEntryDialParams(char * lpszPhoneBook, TRasDialParamsA &lpDialParams, BOOL
fRemovePassword)
{
return RasSetEntryDialParamsW(lpszPhoneBook, lpDialParams, fRemovePassword);
}
#else
inline int __stdcall RasSetEntryDialParams(char * lpszPhoneBook, TRasDialParamsA &lpDialParams, BOOL
fRemovePassword)
{
return RasSetEntryDialParamsA(lpszPhoneBook, lpDialParams, fRemovePassword);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasGetEntryDialParams(char * lpszPhoneBook, TRasDialParamsA &lpDialParams, BOOL
&lpfPassword)
{
return RasGetEntryDialParamsW(lpszPhoneBook, lpDialParams, lpfPassword);
}
#else
inline int __stdcall RasGetEntryDialParams(char * lpszPhoneBook, TRasDialParamsA &lpDialParams, BOOL
&lpfPassword)
{
return RasGetEntryDialParamsA(lpszPhoneBook, lpDialParams, lpfPassword);
}
#endif
} /* namespace Dialup */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Dialup;
#endif
//-- end unit ----------------------------------------------------------------
#endif // DialUp

BIN
CDopping/DialUp/Dialup.OBJ Normal file

Binary file not shown.

951
CDopping/DialUp/Dialup.hpp Normal file
View File

@ -0,0 +1,951 @@
// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved
// (DO NOT EDIT: machine generated header) 'DialUp.pas' rev: 3.00
#ifndef DialUpHPP
#define DialUpHPP
#include <Messages.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <Classes.hpp>
#include <Dialogs.hpp>
#include <Windows.hpp>
#include <SysUtils.hpp>
#include <SysInit.hpp>
#include <System.hpp>
//-- user supplied -----------------------------------------------------------
namespace Dialup
{
//-- type declarations -------------------------------------------------------
typedef int *LPHRasConn;
typedef int THRasConn;
struct TRasConnW;
typedef TRasConnW *LPRasConnW;
struct TRasConnW
{
int dwSize;
int hrasconn;
wchar_t szEntryName[257];
wchar_t szDeviceType[17];
wchar_t szDeviceName[129];
} ;
struct TRasConnA;
typedef TRasConnA *LPRasConnA;
struct TRasConnA
{
int dwSize;
int hrasconn;
char szEntryName[257];
char szDeviceType[17];
char szDeviceName[129];
} ;
typedef TRasConnA *LPRasConn;
typedef TRasConnA TRasConn;
typedef int *LPRasConnState;
typedef int TRasConnState;
struct TRasConnStatusW;
typedef TRasConnStatusW *LPRasConnStatusW;
struct TRasConnStatusW
{
int dwSize;
int rasconnstate;
int dwError;
wchar_t szDeviceType[17];
wchar_t szDeviceName[129];
} ;
struct TRasConnStatusA;
typedef TRasConnStatusA *LPRasConnStatusA;
struct TRasConnStatusA
{
int dwSize;
int rasconnstate;
int dwError;
char szDeviceType[17];
char szDeviceName[129];
} ;
typedef TRasConnStatusA *LPRasConnStatus;
typedef TRasConnStatusA TRasConnStatus;
struct TRasDialParamsW;
typedef TRasDialParamsW *LPRasDialParamsW;
struct TRasDialParamsW
{
int dwSize;
wchar_t szEntryName[257];
wchar_t szPhoneNumber[129];
wchar_t szCallbackNumber[129];
wchar_t szUserName[257];
wchar_t szPassword[257];
wchar_t szDomain[16];
} ;
struct TRasDialParamsA;
typedef TRasDialParamsA *LPRasDialParamsA;
struct TRasDialParamsA
{
int dwSize;
char szEntryName[257];
char szPhoneNumber[129];
char szCallbackNumber[129];
char szUserName[257];
char szPassword[257];
char szDomain[16];
} ;
typedef TRasDialParamsA *LPRasDialParams;
typedef TRasDialParamsA TRasDialParams;
struct TRasDialExtensions;
typedef TRasDialExtensions *LPRasDialExtensions;
struct TRasDialExtensions
{
int dwSize;
int dwfOptions;
HWND hwndParent;
int reserved;
} ;
struct TRasEntryNameW;
typedef TRasEntryNameW *LPRasEntryNameW;
struct TRasEntryNameW
{
int dwSize;
wchar_t szEntryName[257];
} ;
struct TRasEntryNameA;
typedef TRasEntryNameA *LPRasEntryNameA;
struct TRasEntryNameA
{
int dwSize;
char szEntryName[257];
} ;
typedef TRasEntryNameA *LPRasEntryName;
typedef TRasEntryNameA TRasEntryName;
typedef int *LPRasProjection;
typedef int TRasProjection;
struct TRasAmbW;
typedef TRasAmbW *LPRasAmbW;
struct TRasAmbW
{
int dwSize;
int dwError;
wchar_t szNetBiosError[17];
Byte bLana;
} ;
struct TRasAmbA;
typedef TRasAmbA *LPRasAmbA;
struct TRasAmbA
{
int dwSize;
int dwError;
char szNetBiosError[17];
Byte bLana;
} ;
typedef TRasAmbA *LPRasAmb;
typedef TRasAmbA TRasAmb;
struct TRasPppNbfW;
typedef TRasPppNbfW *LPRasPppNbfW;
struct TRasPppNbfW
{
int dwSize;
int dwError;
int dwNetBiosError;
wchar_t szNetBiosError[17];
wchar_t szWorkstationName[17];
Byte bLana;
} ;
struct TRasPppNbfA;
typedef TRasPppNbfA *LPRasPppNbfA;
struct TRasPppNbfA
{
int dwSize;
int dwError;
int dwNetBiosError;
char szNetBiosError[17];
char szWorkstationName[17];
Byte bLana;
} ;
typedef TRasPppNbfA *LpRaspppNbf;
typedef TRasPppNbfA TRasPppNbf;
struct TRasPppIpxW;
typedef TRasPppIpxW *LPRasPppIpxW;
struct TRasPppIpxW
{
int dwSize;
int dwError;
wchar_t szIpxAddress[22];
} ;
struct TRasPppIpxA;
typedef TRasPppIpxA *LPRasPppIpxA;
struct TRasPppIpxA
{
int dwSize;
int dwError;
char szIpxAddress[22];
} ;
typedef TRasPppIpxA *LPRasPppIpx;
typedef TRasPppIpxA TRasPppIpx;
struct TRasPppIpW;
typedef TRasPppIpW *LPRasPppIpW;
struct TRasPppIpW
{
int dwSize;
int dwError;
wchar_t szIpAddress[16];
wchar_t szServerIpAddress[16];
} ;
struct TRasPppIpA;
typedef TRasPppIpA *LPRasPppIpA;
struct TRasPppIpA
{
int dwSize;
int dwError;
char szIpAddress[16];
char szServerIpAddress[16];
} ;
typedef TRasPppIpA *LPRasPppIp;
typedef TRasPppIpA TRasPppIp;
struct TRasIPAddr;
typedef TRasIPAddr *LPRasIPAddr;
#pragma pack(push, 1)
struct TRasIPAddr
{
Byte A;
Byte B;
Byte C;
Byte D;
} ;
#pragma pack(pop)
struct TRasEntryA;
typedef TRasEntryA *LPRasEntryA;
struct TRasEntryA
{
int dwSize;
int dwfOptions;
int dwCountryID;
int dwCountryCode;
char szAreaCode[11];
char szLocalPhoneNumber[129];
int dwAlternatesOffset;
TRasIPAddr ipaddr;
TRasIPAddr ipaddrDns;
TRasIPAddr ipaddrDnsAlt;
TRasIPAddr ipaddrWins;
TRasIPAddr ipaddrWinsAlt;
int dwFrameSize;
int dwfNetProtocols;
int dwFramingProtocol;
char szScript[260];
char szAutodialDll[260];
char szAutodialFunc[260];
char szDeviceType[17];
char szDeviceName[129];
char szX25PadType[33];
char szX25Address[201];
char szX25Facilities[201];
char szX25UserData[201];
int dwChannels;
int dwReserved1;
int dwReserved2;
} ;
struct TRasEntryW;
typedef TRasEntryW *LPRasEntryW;
struct TRasEntryW
{
int dwSize;
int dwfOptions;
int dwCountryID;
int dwCountryCode;
wchar_t szAreaCode[11];
wchar_t szLocalPhoneNumber[129];
int dwAlternatesOffset;
TRasIPAddr ipaddr;
TRasIPAddr ipaddrDns;
TRasIPAddr ipaddrDnsAlt;
TRasIPAddr ipaddrWins;
TRasIPAddr ipaddrWinsAlt;
int dwFrameSize;
int dwfNetProtocols;
int dwFramingProtocol;
wchar_t szScript[260];
wchar_t szAutodialDll[260];
wchar_t szAutodialFunc[260];
wchar_t szDeviceType[17];
wchar_t szDeviceName[129];
wchar_t szX25PadType[33];
wchar_t szX25Address[201];
wchar_t szX25Facilities[201];
wchar_t szX25UserData[201];
int dwChannels;
int dwReserved1;
int dwReserved2;
} ;
typedef TRasEntryA *LPRasEntry;
typedef TRasEntryA TRasEntry;
struct TRasCtryInfo
{
int dwSize;
int dwCountryID;
int dwNextCountryID;
int dwCountryCode;
int dwCountryNameOffset;
} ;
typedef TRasCtryInfo *LPRasCtryInfo;
struct TRasDevInfoA;
typedef TRasDevInfoA *LPRasDevInfoA;
struct TRasDevInfoA
{
int dwSize;
char szDeviceType[17];
char szDeviceName[129];
} ;
struct TRasDevInfoW;
typedef TRasDevInfoW *LPRasDevInfoW;
struct TRasDevInfoW
{
int dwSize;
wchar_t szDeviceType[17];
wchar_t szDeviceName[129];
} ;
typedef TRasDevInfoA *LPRasDevInfo;
typedef TRasDevInfoA TRasDevInfo;
typedef void __fastcall (__closure *TOnEntryGet)(System::TObject* Sender, System::AnsiString EntryName
);
typedef void __fastcall (__closure *TStandartEv)(System::TObject* Sender);
typedef void __fastcall (__closure *TOnNotConn)(System::TObject* Sender, int ErrorCode, System::AnsiString
ErrorMessage);
typedef void __fastcall (__closure *TOnAsyncEvent)(System::TObject* Sender, int State, int Error, System::AnsiString
MessageText);
typedef void __fastcall (__closure *TOnError)(System::TObject* Sender, int ErrorCode, System::AnsiString
ErrorMessage);
typedef void __fastcall (__closure *TOnActiveConn)(System::TObject* Sender, int Handle, const TRasConnStatusA
&Status, System::AnsiString StatusString, System::AnsiString EntryName, System::AnsiString DeviceType
, System::AnsiString DeviceName);
enum TDialMode { dmAsync, dmSync };
enum TLanguage { English, Czech };
class DELPHICLASS TDialUp;
class PASCALIMPLEMENTATION TDialUp : public Classes::TComponent
{
typedef Classes::TComponent inherited;
private:
Classes::TStringList* FEntries;
TDialMode FDialMode;
System::AnsiString FEntry2Dial;
TLanguage FLanguage;
Extctrls::TTimer* FTimer;
TOnEntryGet FOnEntryGet;
TStandartEv FOnDialing;
TStandartEv FOnConnected;
TOnNotConn FOnNotConnected;
TOnAsyncEvent FOnAsyncEvent;
TOnError FOnError;
TOnActiveConn FOnActiveConn;
protected:
virtual void __fastcall Timer(System::TObject* Sender);
public:
int hRAS;
bool AsyncStatus;
int AMsg;
int AError;
int AState;
__fastcall virtual TDialUp(Classes::TComponent* AOwner);
__fastcall virtual ~TDialUp(void);
int __fastcall Dial(void);
int __fastcall GetEntries(void);
int __fastcall GetConnections(void);
int __fastcall HangUp(void);
int __fastcall HangUpConn(int Handle);
int __fastcall CreateEntry(void);
int __fastcall EditEntry(void);
int __fastcall DeleteEntry(void);
int __fastcall RenameEntryTo(System::AnsiString S);
int __fastcall SetEntryUserName(System::AnsiString Value);
int __fastcall SetEntryPassword(System::AnsiString Value);
int __fastcall RemovePassword(void);
int __fastcall GetEntryUserName(System::AnsiString &Value);
int __fastcall GetEntryPassword(System::AnsiString &Value);
System::AnsiString __fastcall StatusString(int State, int Error);
System::AnsiString __fastcall StatusStringCZ(int State, int Error);
__published:
__property Name ;
__property Tag ;
__property TDialMode DialMode = {read=FDialMode, write=FDialMode, nodefault};
__property Classes::TStringList* Entries = {read=FEntries};
__property System::AnsiString Entry = {read=FEntry2Dial, write=FEntry2Dial};
__property TLanguage Language = {read=FLanguage, write=FLanguage, nodefault};
__property TOnEntryGet OnEntryGet = {read=FOnEntryGet, write=FOnEntryGet};
__property TStandartEv OnDialing = {read=FOnDialing, write=FOnDialing};
__property TStandartEv OnConnect = {read=FOnConnected, write=FOnConnected};
__property TOnNotConn OnNotConnected = {read=FOnNotConnected, write=FOnNotConnected};
__property TOnAsyncEvent OnAsyncEvent = {read=FOnAsyncEvent, write=FOnAsyncEvent};
__property TOnError OnError = {read=FOnError, write=FOnError};
__property TOnActiveConn OnActiveConnection = {read=FOnActiveConn, write=FOnActiveConn};
};
//-- var, const, procedure ---------------------------------------------------
#define DNLEN (Byte)(15)
#define UNLEN (Word)(256)
#define PWLEN (Word)(256)
#define NETBIOS_NAME_LEN (Byte)(16)
#define RAS_MaxDeviceType (Byte)(16)
#define RAS_MaxPhoneNumber (Byte)(128)
#define RAS_MaxIpAddress (Byte)(15)
#define RAS_MaxIpxAddress (Byte)(21)
#define RAS_MaxEntryName (Word)(256)
#define RAS_MaxDeviceName (Byte)(128)
#define RAS_MaxCallbackNumber (Byte)(128)
#define RASCS_PAUSED (Word)(4096)
#define RASCS_DONE (Word)(8192)
#define RASCS_OpenPort (Byte)(0)
#define RASCS_PortOpened (Byte)(1)
#define RASCS_ConnectDevice (Byte)(2)
#define RASCS_DeviceConnected (Byte)(3)
#define RASCS_AllDevicesConnected (Byte)(4)
#define RASCS_Authenticate (Byte)(5)
#define RASCS_AuthNotify (Byte)(6)
#define RASCS_AuthRetry (Byte)(7)
#define RASCS_AuthCallback (Byte)(8)
#define RASCS_AuthChangePassword (Byte)(9)
#define RASCS_AuthProject (Byte)(10)
#define RASCS_AuthLinkSpeed (Byte)(11)
#define RASCS_AuthAck (Byte)(12)
#define RASCS_ReAuthenticate (Byte)(13)
#define RASCS_Authenticated (Byte)(14)
#define RASCS_PrepareForCallback (Byte)(15)
#define RASCS_WaitForModemReset (Byte)(16)
#define RASCS_WaitForCallback (Byte)(17)
#define RASCS_Projected (Byte)(18)
#define RASCS_StartAuthentication (Byte)(19)
#define RASCS_CallbackComplete (Byte)(20)
#define RASCS_LogonNetwork (Byte)(21)
#define RASCS_Interactive (Word)(4096)
#define RASCS_RetryAuthentication (Word)(4097)
#define RASCS_CallbackSetByCaller (Word)(4098)
#define RASCS_PasswordExpired (Word)(4099)
#define RASCS_Connected (Word)(8192)
#define RASCS_Disconnected (Word)(8193)
#define RDEOPT_UsePrefixSuffix (Byte)(1)
#define RDEOPT_PausedStates (Byte)(2)
#define RDEOPT_IgnoreModemSpeaker (Byte)(4)
#define RDEOPT_SetModemSpeaker (Byte)(8)
#define RDEOPT_IgnoreSoftwareCompression (Byte)(16)
#define RDEOPT_SetSoftwareCompression (Byte)(32)
#define RASP_Amb (int)(65536)
#define RASP_PppNbf (int)(32831)
#define RASP_PppIpx (int)(32811)
#define RASP_PppIp (int)(32801)
#define RASDIALEVENT "RasDialEvent"
#define WM_RASDIALEVENT (int)(52429)
#define RASBASE (Word)(600)
#define SUCCESS (Byte)(0)
#define PENDING (Word)(600)
#define ERROR_INVALID_PORT_HANDLE (Word)(601)
#define ERROR_PORT_ALREADY_OPEN (Word)(602)
#define ERROR_BUFFER_TOO_SMALL (Word)(603)
#define ERROR_WRONG_INFO_SPECIFIED (Word)(604)
#define ERROR_CANNOT_SET_PORT_INFO (Word)(605)
#define ERROR_PORT_NOT_CONNECTED (Word)(606)
#define ERROR_EVENT_INVALID (Word)(607)
#define ERROR_DEVICE_DOES_NOT_EXIST (Word)(608)
#define ERROR_DEVICETYPE_DOES_NOT_EXIST (Word)(609)
#define ERROR_BUFFER_INVALID (Word)(610)
#define ERROR_ROUTE_NOT_AVAILABLE (Word)(611)
#define ERROR_ROUTE_NOT_ALLOCATED (Word)(612)
#define ERROR_INVALID_COMPRESSION_SPECIFIED (Word)(613)
#define ERROR_OUT_OF_BUFFERS (Word)(614)
#define ERROR_PORT_NOT_FOUND (Word)(615)
#define ERROR_ASYNC_REQUEST_PENDING (Word)(616)
#define ERROR_ALREADY_DISCONNECTING (Word)(617)
#define ERROR_PORT_NOT_OPEN (Word)(618)
#define ERROR_PORT_DISCONNECTED (Word)(619)
#define ERROR_NO_ENDPOINTS (Word)(620)
#define ERROR_CANNOT_OPEN_PHONEBOOK (Word)(621)
#define ERROR_CANNOT_LOAD_PHONEBOOK (Word)(622)
#define ERROR_CANNOT_FIND_PHONEBOOK_ENTRY (Word)(623)
#define ERROR_CANNOT_WRITE_PHONEBOOK (Word)(624)
#define ERROR_CORRUPT_PHONEBOOK (Word)(625)
#define ERROR_CANNOT_LOAD_STRING (Word)(626)
#define ERROR_KEY_NOT_FOUND (Word)(627)
#define ERROR_DISCONNECTION (Word)(628)
#define ERROR_REMOTE_DISCONNECTION (Word)(629)
#define ERROR_HARDWARE_FAILURE (Word)(630)
#define ERROR_USER_DISCONNECTION (Word)(631)
#define ERROR_INVALID_SIZE (Word)(632)
#define ERROR_PORT_NOT_AVAILABLE (Word)(633)
#define ERROR_CANNOT_PROJECT_CLIENT (Word)(634)
#define ERROR_UNKNOWN (Word)(635)
#define ERROR_WRONG_DEVICE_ATTACHED (Word)(636)
#define ERROR_BAD_STRING (Word)(637)
#define ERROR_REQUEST_TIMEOUT (Word)(638)
#define ERROR_CANNOT_GET_LANA (Word)(639)
#define ERROR_NETBIOS_ERROR (Word)(640)
#define ERROR_SERVER_OUT_OF_RESOURCES (Word)(641)
#define ERROR_NAME_EXISTS_ON_NET (Word)(642)
#define ERROR_SERVER_GENERAL_NET_FAILURE (Word)(643)
#define WARNING_MSG_ALIAS_NOT_ADDED (Word)(644)
#define ERROR_AUTH_INTERNAL (Word)(645)
#define ERROR_RESTRICTED_LOGON_HOURS (Word)(646)
#define ERROR_ACCT_DISABLED (Word)(647)
#define ERROR_PASSWD_EXPIRED (Word)(648)
#define ERROR_NO_DIALIN_PERMISSION (Word)(649)
#define ERROR_SERVER_NOT_RESPONDING (Word)(650)
#define ERROR_FROM_DEVICE (Word)(651)
#define ERROR_UNRECOGNIZED_RESPONSE (Word)(652)
#define ERROR_MACRO_NOT_FOUND (Word)(653)
#define ERROR_MACRO_NOT_DEFINED (Word)(654)
#define ERROR_MESSAGE_MACRO_NOT_FOUND (Word)(655)
#define ERROR_DEFAULTOFF_MACRO_NOT_FOUND (Word)(656)
#define ERROR_FILE_COULD_NOT_BE_OPENED (Word)(657)
#define ERROR_DEVICENAME_TOO_LONG (Word)(658)
#define ERROR_DEVICENAME_NOT_FOUND (Word)(659)
#define ERROR_NO_RESPONSES (Word)(660)
#define ERROR_NO_COMMAND_FOUND (Word)(661)
#define ERROR_WRONG_KEY_SPECIFIED (Word)(662)
#define ERROR_UNKNOWN_DEVICE_TYPE (Word)(663)
#define ERROR_ALLOCATING_MEMORY (Word)(664)
#define ERROR_PORT_NOT_CONFIGURED (Word)(665)
#define ERROR_DEVICE_NOT_READY (Word)(666)
#define ERROR_READING_INI_FILE (Word)(667)
#define ERROR_NO_CONNECTION (Word)(668)
#define ERROR_BAD_USAGE_IN_INI_FILE (Word)(669)
#define ERROR_READING_SECTIONNAME (Word)(670)
#define ERROR_READING_DEVICETYPE (Word)(671)
#define ERROR_READING_DEVICENAME (Word)(672)
#define ERROR_READING_USAGE (Word)(673)
#define ERROR_READING_MAXCONNECTBPS (Word)(674)
#define ERROR_READING_MAXCARRIERBPS (Word)(675)
#define ERROR_LINE_BUSY (Word)(676)
#define ERROR_VOICE_ANSWER (Word)(677)
#define ERROR_NO_ANSWER (Word)(678)
#define ERROR_NO_CARRIER (Word)(679)
#define ERROR_NO_DIALTONE (Word)(680)
#define ERROR_IN_COMMAND (Word)(681)
#define ERROR_WRITING_SECTIONNAME (Word)(682)
#define ERROR_WRITING_DEVICETYPE (Word)(683)
#define ERROR_WRITING_DEVICENAME (Word)(684)
#define ERROR_WRITING_MAXCONNECTBPS (Word)(685)
#define ERROR_WRITING_MAXCARRIERBPS (Word)(686)
#define ERROR_WRITING_USAGE (Word)(687)
#define ERROR_WRITING_DEFAULTOFF (Word)(688)
#define ERROR_READING_DEFAULTOFF (Word)(689)
#define ERROR_EMPTY_INI_FILE (Word)(690)
#define ERROR_AUTHENTICATION_FAILURE (Word)(691)
#define ERROR_PORT_OR_DEVICE (Word)(692)
#define ERROR_NOT_BINARY_MACRO (Word)(693)
#define ERROR_DCB_NOT_FOUND (Word)(694)
#define ERROR_STATE_MACHINES_NOT_STARTED (Word)(695)
#define ERROR_STATE_MACHINES_ALREADY_STARTED (Word)(696)
#define ERROR_PARTIAL_RESPONSE_LOOPING (Word)(697)
#define ERROR_UNKNOWN_RESPONSE_KEY (Word)(698)
#define ERROR_RECV_BUF_FULL (Word)(699)
#define ERROR_CMD_TOO_LONG (Word)(700)
#define ERROR_UNSUPPORTED_BPS (Word)(701)
#define ERROR_UNEXPECTED_RESPONSE (Word)(702)
#define ERROR_INTERACTIVE_MODE (Word)(703)
#define ERROR_BAD_CALLBACK_NUMBER (Word)(704)
#define ERROR_INVALID_AUTH_STATE (Word)(705)
#define ERROR_WRITING_INITBPS (Word)(706)
#define ERROR_X25_DIAGNOSTIC (Word)(707)
#define ERROR_ACCT_EXPIRED (Word)(708)
#define ERROR_CHANGING_PASSWORD (Word)(709)
#define ERROR_OVERRUN (Word)(710)
#define ERROR_RASMAN_CANNOT_INITIALIZE (Word)(711)
#define ERROR_BIPLEX_PORT_NOT_AVAILABLE (Word)(712)
#define ERROR_NO_ACTIVE_ISDN_LINES (Word)(713)
#define ERROR_NO_ISDN_CHANNELS_AVAILABLE (Word)(714)
#define ERROR_TOO_MANY_LINE_ERRORS (Word)(715)
#define ERROR_IP_CONFIGURATION (Word)(716)
#define ERROR_NO_IP_ADDRESSES (Word)(717)
#define ERROR_PPP_TIMEOUT (Word)(718)
#define ERROR_PPP_REMOTE_TERMINATED (Word)(719)
#define ERROR_PPP_NO_PROTOCOLS_CONFIGURED (Word)(720)
#define ERROR_PPP_NO_RESPONSE (Word)(721)
#define ERROR_PPP_INVALID_PACKET (Word)(722)
#define ERROR_PHONE_NUMBER_TOO_LONG (Word)(723)
#define ERROR_IPXCP_NO_DIALOUT_CONFIGURED (Word)(724)
#define ERROR_IPXCP_NO_DIALIN_CONFIGURED (Word)(725)
#define ERROR_IPXCP_DIALOUT_ALREADY_ACTIVE (Word)(726)
#define ERROR_ACCESSING_TCPCFGDLL (Word)(727)
#define ERROR_NO_IP_RAS_ADAPTER (Word)(728)
#define ERROR_SLIP_REQUIRES_IP (Word)(729)
#define ERROR_PROJECTION_NOT_COMPLETE (Word)(730)
#define ERROR_PROTOCOL_NOT_CONFIGURED (Word)(731)
#define ERROR_PPP_NOT_CONVERGING (Word)(732)
#define ERROR_PPP_CP_REJECTED (Word)(733)
#define ERROR_PPP_LCP_TERMINATED (Word)(734)
#define ERROR_PPP_REQUIRED_ADDRESS_REJECTED (Word)(735)
#define ERROR_PPP_NCP_TERMINATED (Word)(736)
#define ERROR_PPP_LOOPBACK_DETECTED (Word)(737)
#define ERROR_PPP_NO_ADDRESS_ASSIGNED (Word)(738)
#define ERROR_CANNOT_USE_LOGON_CREDENTIALS (Word)(739)
#define ERROR_TAPI_CONFIGURATION (Word)(740)
#define ERROR_NO_LOCAL_ENCRYPTION (Word)(741)
#define ERROR_NO_REMOTE_ENCRYPTION (Word)(742)
#define ERROR_REMOTE_REQUIRES_ENCRYPTION (Word)(743)
#define ERROR_IPXCP_NET_NUMBER_CONFLICT (Word)(744)
#define ERROR_INVALID_SMM (Word)(745)
#define ERROR_SMM_UNINITIALIZED (Word)(746)
#define ERROR_NO_MAC_FOR_PORT (Word)(747)
#define ERROR_SMM_TIMEOUT (Word)(748)
#define ERROR_BAD_PHONE_NUMBER (Word)(749)
#define ERROR_WRONG_MODULE (Word)(750)
#define RASBASEEND (Word)(750)
#define RAS_MaxAreaCode (Byte)(10)
#define RAS_MaxPadType (Byte)(32)
#define RAS_MaxX25Address (Byte)(200)
#define RAS_MaxFacilities (Byte)(200)
#define RAS_MaxUserData (Byte)(200)
#define RASEO_UseCountryAndAreaCodes (Byte)(1)
#define RASEO_SpecificIpAddr (Byte)(2)
#define RASEO_SpecificNameServers (Byte)(4)
#define RASEO_IpHeaderCompression (Byte)(8)
#define RASEO_RemoteDefaultGateway (Byte)(16)
#define RASEO_DisableLcpExtensions (Byte)(32)
#define RASEO_TerminalBeforeDial (Byte)(64)
#define RASEO_TerminalAfterDial (Byte)(128)
#define RASEO_ModemLights (Word)(256)
#define RASEO_SwCompression (Word)(512)
#define RASEO_RequireEncryptedPw (Word)(1024)
#define RASEO_RequireMsEncryptedPw (Word)(2048)
#define RASEO_RequireDataEncryption (Word)(4096)
#define RASEO_NetworkLogon (Word)(8192)
#define RASEO_UseLogonCredentials (Word)(16384)
#define RASEO_PromoteAlternates (int)(32768)
#define RASNP_Netbeui (Byte)(1)
#define RASNP_Ipx (Byte)(2)
#define RASNP_Ip (Byte)(4)
#define RASFP_Ppp (Byte)(1)
#define RASFP_Slip (Byte)(2)
#define RASFP_Ras (Byte)(4)
#define RASDT_Modem "modem"
#define RASDT_Isdn "isdn"
#define RASDT_X25 "x25"
#define MaxEntries (Byte)(100)
extern PACKAGE void __fastcall Register(void);
extern "C" int __stdcall RasCreatePhonebookEntryA(HWND hwndParentWindow, char * lpszPhoneBook);
extern "C" int __stdcall RasCreatePhonebookEntryW(HWND hwndParentWindow, wchar_t * lpszPhoneBook);
extern "C" int __stdcall RasCreatePhonebookEntry(HWND hwndParentWindow, char * lpszPhoneBook);
extern "C" int __stdcall RasDialA(LPRasDialExtensions lpRasDialExt, char * lpszPhoneBook, TRasDialParamsA
&params, int dwNotifierType, void * lpNotifier, int &rasconn);
extern "C" int __stdcall RasDialW(LPRasDialExtensions lpRasDialExt, wchar_t * lpszPhoneBook, TRasDialParamsW
&params, int dwNotifierType, void * lpNotifier, int &rasconn);
extern "C" int __stdcall RasDial(LPRasDialExtensions lpRasDialExt, char * lpszPhoneBook, TRasDialParamsA
&params, int dwNotifierType, void * lpNotifier, int &rasconn);
extern "C" int __stdcall RasEditPhonebookEntryA(HWND hwndParentWindow, char * lpszPhoneBook, char *
lpszEntryName);
extern "C" int __stdcall RasEditPhonebookEntryW(HWND hwndParentWindow, wchar_t * lpszPhoneBook, wchar_t *
lpszEntryName);
extern "C" int __stdcall RasEditPhonebookEntry(HWND hwndParentWindow, char * lpszPhoneBook, char * lpszEntryName
);
extern "C" int __stdcall RasEnumConnectionsA(LPRasConnA RasConnArray, int &lpcb, int &lpcConnections
);
extern "C" int __stdcall RasEnumConnectionsW(LPRasConnW RasConnArray, int &lpcb, int &lpcConnections
);
extern "C" int __stdcall RasEnumConnections(LPRasConn RasConnArray, int &lpcb, int &lpcConnections);
extern "C" int __stdcall RasEnumEntriesA(char * Reserved, char * lpszPhoneBook, LPRasEntryNameA entrynamesArray
, int &lpcb, int &lpcEntries);
extern "C" int __stdcall RasEnumEntriesW(wchar_t * reserved, wchar_t * lpszPhoneBook, LPRasEntryNameW
entrynamesArray, int &lpcb, int &lpcEntries);
extern "C" int __stdcall RasEnumEntries(char * reserved, char * lpszPhoneBook, LPRasEntryName entrynamesArray
, int &lpcb, int &lpcEntries);
extern "C" int __stdcall RasGetConnectStatusA(int hConn, TRasConnStatusA &lpStatus);
extern "C" int __stdcall RasGetConnectStatusW(int hConn, TRasConnStatusW &lpStatus);
extern "C" int __stdcall RasGetConnectStatus(int hConn, TRasConnStatusA &lpStatus);
extern "C" int __stdcall RasGetEntryDialParamsA(char * lpszPhoneBook, TRasDialParamsA &lpDialParams,
BOOL &lpfPassword);
extern "C" int __stdcall RasGetEntryDialParamsW(wchar_t * lpszPhoneBook, TRasDialParamsW &lpDialParams
, BOOL &lpfPassword);
extern "C" int __stdcall RasGetEntryDialParams(char * lpszPhoneBook, TRasDialParamsA &lpDialParams,
BOOL &lpfPassword);
extern "C" int __stdcall RasGetErrorStringA(int errorValue, char * erroString, int cBufSize);
extern "C" int __stdcall RasGetErrorStringW(int errorValue, wchar_t * erroString, int cBufSize);
extern "C" int __stdcall RasGetErrorString(int errorValue, char * erroString, int cBufSize);
extern "C" int __stdcall RasGetProjectionInfoA(int hConn, int rasproj, void * lpProjection, int &lpcb
);
extern "C" int __stdcall RasGetProjectionInfoW(int hConn, int rasproj, void * lpProjection, int &lpcb
);
extern "C" int __stdcall RasGetProjectionInfo(int hConn, int rasproj, void * lpProjection, int &lpcb
);
extern "C" int __stdcall RasHangUpA(int hConn);
extern "C" int __stdcall RasHangUpW(int hConn);
extern "C" int __stdcall RasHangUp(int hConn);
extern "C" int __stdcall RasSetEntryDialParamsA(char * lpszPhoneBook, TRasDialParamsA &lpDialParams,
BOOL fRemovePassword);
extern "C" int __stdcall RasSetEntryDialParamsW(wchar_t * lpszPhoneBook, TRasDialParamsW &lpDialParams
, BOOL fRemovePassword);
extern "C" int __stdcall RasSetEntryDialParams(char * lpszPhoneBook, TRasDialParamsA &lpDialParams,
BOOL fRemovePassword);
extern "C" int __stdcall RasValidateEntryNameA(char * lpszPhonebook, char * szEntry);
extern "C" int __stdcall RasValidateEntryNameW(wchar_t * lpszPhonebook, wchar_t * szEntry);
extern "C" int __stdcall RasRenameEntryA(char * lpszPhonebook, char * szEntryOld, char * szEntryNew)
;
extern "C" int __stdcall RasRenameEntryW(wchar_t * lpszPhonebook, wchar_t * szEntryOld, wchar_t * szEntryNew
);
extern "C" int __stdcall RasDeleteEntryA(char * lpszPhonebook, char * szEntry);
extern "C" int __stdcall RasDeleteEntryW(wchar_t * lpszPhonebook, wchar_t * szEntry);
extern "C" int __stdcall RasGetEntryPropertiesA(char * lpszPhonebook, char * szEntry, void * lpbEntry
, int &lpdwEntrySize, void * lpbDeviceInfo, int &lpdwDeviceInfoSize);
extern "C" int __stdcall RasGetEntryPropertiesW(wchar_t * lpszPhonebook, wchar_t * szEntry, void * lpbEntry
, int &lpdwEntrySize, void * lpbDeviceInfo, int &lpdwDeviceInfoSize);
extern "C" int __stdcall RasSetEntryPropertiesA(char * lpszPhonebook, char * szEntry, void * lpbEntry
, int dwEntrySize, void * lpbDeviceInfo, int dwDeviceInfoSize);
extern "C" int __stdcall RasSetEntryPropertiesW(wchar_t * lpszPhonebook, wchar_t * szEntry, void * lpbEntry
, int dwEntrySize, void * lpbDeviceInfo, int dwDeviceInfoSize);
extern "C" int __stdcall RasGetCountryInfoA(TRasCtryInfo &lpCtryInfo, int &lpdwSize);
extern "C" int __stdcall RasGetCountryInfoW(TRasCtryInfo &lpCtryInfo, int &lpdwSize);
extern "C" int __stdcall RasEnumDevicesA(LPRasDevInfoA lpBuff, int &lpcbSize, int &lpcDevices);
extern "C" int __stdcall RasEnumDevicesW(LPRasDevInfoW lpBuff, int &lpcbSize, int &lpcDevices);
extern PACKAGE int __stdcall RasValidateEntryName(char * lpszPhonebook, char * szEntry);
extern PACKAGE int __stdcall RasRenameEntry(char * lpszPhonebook, char * szEntryOld, char * szEntryNew
);
extern PACKAGE int __stdcall RasDeleteEntry(char * lpszPhonebook, char * szEntry);
extern PACKAGE int __stdcall RasGetEntryProperties(char * lpszPhonebook, char * szEntry, void * lpbEntry
, int &lpdwEntrySize, void * lpbDeviceInfo, int &lpdwDeviceInfoSize);
extern PACKAGE int __stdcall RasSetEntryProperties(char * lpszPhonebook, char * szEntry, void * lpbEntry
, int dwEntrySize, void * lpbDeviceInfo, int dwDeviceInfoSize);
extern PACKAGE int __stdcall RasGetCountryInfo(TRasCtryInfo &lpCtryInfo, int &lpdwSize);
extern PACKAGE int __stdcall RasEnumDevices(LPRasDevInfo lpBuff, int &lpcbSize, int &lpcDevices);
#if defined(UNICODE)
inline int __stdcall RasDial(LPRasDialExtensions lpRasDialExt, char * lpszPhoneBook, TRasDialParamsA
&params, int dwNotifierType, void * lpNotifier, int &rasconn)
{
return RasDialW(lpRasDialExt, lpszPhoneBook, params, dwNotifierType, lpNotifier, rasconn);
}
#else
inline int __stdcall RasDial(LPRasDialExtensions lpRasDialExt, char * lpszPhoneBook, TRasDialParamsA
&params, int dwNotifierType, void * lpNotifier, int &rasconn)
{
return RasDialA(lpRasDialExt, lpszPhoneBook, params, dwNotifierType, lpNotifier, rasconn);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasEnumConnections(LPRasConn RasConnArray, int &lpcb, int &lpcConnections)
{
return RasEnumConnectionsW(RasConnArray, lpcb, lpcConnections);
}
#else
inline int __stdcall RasEnumConnections(LPRasConn RasConnArray, int &lpcb, int &lpcConnections)
{
return RasEnumConnectionsA(RasConnArray, lpcb, lpcConnections);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasEnumEntries(char * reserved, char * lpszPhoneBook, LPRasEntryName entrynamesArray
, int &lpcb, int &lpcEntries)
{
return RasEnumEntriesW(reserved, lpszPhoneBook, entrynamesArray, lpcb, lpcEntries);
}
#else
inline int __stdcall RasEnumEntries(char * reserved, char * lpszPhoneBook, LPRasEntryName entrynamesArray
, int &lpcb, int &lpcEntries)
{
return RasEnumEntriesA(Reserved, lpszPhoneBook, entrynamesArray, lpcb, lpcEntries);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasGetConnectStatus(int hConn, TRasConnStatusA &lpStatus)
{
return RasGetConnectStatusW(hConn, lpStatus);
}
#else
inline int __stdcall RasGetConnectStatus(int hConn, TRasConnStatusA &lpStatus)
{
return RasGetConnectStatusA(hConn, lpStatus);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasGetErrorString(int errorValue, char * erroString, int cBufSize)
{
return RasGetErrorStringW(errorValue, erroString, cBufSize);
}
#else
inline int __stdcall RasGetErrorString(int errorValue, char * erroString, int cBufSize)
{
return RasGetErrorStringA(errorValue, erroString, cBufSize);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasHangUp(int hConn)
{
return RasHangUpW(hConn);
}
#else
inline int __stdcall RasHangUp(int hConn)
{
return RasHangUpA(hConn);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasGetProjectionInfo(int hConn, int rasproj, void * lpProjection, int &lpcb)
{
return RasGetProjectionInfoW(hConn, rasproj, lpProjection, lpcb);
}
#else
inline int __stdcall RasGetProjectionInfo(int hConn, int rasproj, void * lpProjection, int &lpcb)
{
return RasGetProjectionInfoA(hConn, rasproj, lpProjection, lpcb);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasCreatePhonebookEntry(HWND hwndParentWindow, char * lpszPhoneBook)
{
return RasCreatePhonebookEntryW(hwndParentWindow, lpszPhoneBook);
}
#else
inline int __stdcall RasCreatePhonebookEntry(HWND hwndParentWindow, char * lpszPhoneBook)
{
return RasCreatePhonebookEntryA(hwndParentWindow, lpszPhoneBook);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasEditPhonebookEntry(HWND hwndParentWindow, char * lpszPhoneBook, char * lpszEntryName
)
{
return RasEditPhonebookEntryW(hwndParentWindow, lpszPhoneBook, lpszEntryName);
}
#else
inline int __stdcall RasEditPhonebookEntry(HWND hwndParentWindow, char * lpszPhoneBook, char * lpszEntryName
)
{
return RasEditPhonebookEntryA(hwndParentWindow, lpszPhoneBook, lpszEntryName);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasSetEntryDialParams(char * lpszPhoneBook, TRasDialParamsA &lpDialParams, BOOL
fRemovePassword)
{
return RasSetEntryDialParamsW(lpszPhoneBook, lpDialParams, fRemovePassword);
}
#else
inline int __stdcall RasSetEntryDialParams(char * lpszPhoneBook, TRasDialParamsA &lpDialParams, BOOL
fRemovePassword)
{
return RasSetEntryDialParamsA(lpszPhoneBook, lpDialParams, fRemovePassword);
}
#endif
#if defined(UNICODE)
inline int __stdcall RasGetEntryDialParams(char * lpszPhoneBook, TRasDialParamsA &lpDialParams, BOOL
&lpfPassword)
{
return RasGetEntryDialParamsW(lpszPhoneBook, lpDialParams, lpfPassword);
}
#else
inline int __stdcall RasGetEntryDialParams(char * lpszPhoneBook, TRasDialParamsA &lpDialParams, BOOL
&lpfPassword)
{
return RasGetEntryDialParamsA(lpszPhoneBook, lpDialParams, lpfPassword);
}
#endif
} /* namespace Dialup */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Dialup;
#endif
//-- end unit ----------------------------------------------------------------
#endif // DialUp

1561
CDopping/DialUp/Dialup.pas Normal file

File diff suppressed because it is too large Load Diff

30
CDopping/Leeme.txt Normal file
View File

@ -0,0 +1,30 @@
TElasticForm
Cracked By --- Sol Negro (c)---
Time to crack: 2 min.
--- The most easy program, never cracked.
¿¿¿¿¿??????
Bytes changed:
8B45FC
33D2
895060
8B45FC
F6402010
75 <-----------[ EB ]
37 bytes more down:
75 <-----------[ EB ]
¿ How did I cracked the program ?
Easy, I built a program using that component, then I search the entry point to nags screen.
I written down this asm instrucctions ( opcodes ) which it wasn't jump or call instruction.
Do you remember this? .LIB or .DLL are mirrors of code in .EXE. WOOOOOUU,
Searching this opcodes on .LIB or .DLL we can crack those files.
¿ Why is it this document in (bad) English ?
Easy, to DESpist: ¿Where are --Sol Negro--?

BIN
CDopping/QSElFrm.bpi Normal file

Binary file not shown.

BIN
CDopping/QSElFrm.bpl Normal file

Binary file not shown.

BIN
CDopping/QSElFrm.lib Normal file

Binary file not shown.

BIN
CDopping/TElasticForm.zip Normal file

Binary file not shown.

BIN
CDopping/Tb97/TB97.DCR Normal file

Binary file not shown.

7135
CDopping/Tb97/TB97.PAS Normal file

File diff suppressed because it is too large Load Diff

BIN
CDopping/Tb97/Tb97.OBJ Normal file

Binary file not shown.

BIN
CDopping/Tb97/Tb97.dcu Normal file

Binary file not shown.

750
CDopping/Tb97/Tb97.hpp Normal file
View File

@ -0,0 +1,750 @@
// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved
// (DO NOT EDIT: machine generated header) 'TB97.pas' rev: 3.00
#ifndef TB97HPP
#define TB97HPP
#include <ExtCtrls.hpp>
#include <StdCtrls.hpp>
#include <Buttons.hpp>
#include <Graphics.hpp>
#include <Menus.hpp>
#include <Forms.hpp>
#include <Controls.hpp>
#include <Classes.hpp>
#include <Messages.hpp>
#include <Windows.hpp>
#include <SysInit.hpp>
#include <System.hpp>
//-- user supplied -----------------------------------------------------------
namespace Tb97
{
//-- type declarations -------------------------------------------------------
enum TDockBoundLinesValues { blTop, blBottom, blLeft, blRight };
typedef Set<TDockBoundLinesValues, blTop, blRight> TDockBoundLines;
enum TDockPosition { dpTop, dpBottom, dpLeft, dpRight };
enum TDockType { dtNotDocked, dtTopBottom, dtLeftRight };
typedef Set<TDockPosition, dpTop, dpRight> TDockableTo;
class DELPHICLASS TCustomToolWindow97;
typedef void __fastcall (__closure *TInsertRemoveEvent)(System::TObject* Sender, bool Inserting, TCustomToolWindow97*
Bar);
typedef void __fastcall (__closure *TRequestDockEvent)(System::TObject* Sender, TCustomToolWindow97*
Bar, bool &Accept);
class DELPHICLASS TDock97;
class PASCALIMPLEMENTATION TDock97 : public Controls::TCustomControl
{
typedef Controls::TCustomControl inherited;
private:
TDockPosition FPosition;
bool FAllowDrag;
TDockBoundLines FBoundLines;
Graphics::TBitmap* FBkg;
Graphics::TBitmap* FBkgCache;
bool FBkgTransparent;
bool FBkgOnToolbars;
bool FFixAlign;
bool FLimitToOneRow;
TInsertRemoveEvent FOnInsertRemoveBar;
TRequestDockEvent FOnRequestDock;
Classes::TNotifyEvent FOnResize;
int DisableArrangeToolbars;
Classes::TList* DockList;
Classes::TList* RowSizes;
void __fastcall SetAllowDrag(bool Value);
void __fastcall SetBackground(Graphics::TBitmap* Value);
void __fastcall SetBackgroundOnToolbars(bool Value);
void __fastcall SetBackgroundTransparent(bool Value);
void __fastcall SetBoundLines(TDockBoundLines Value);
void __fastcall SetFixAlign(bool Value);
void __fastcall SetPosition(TDockPosition Value);
int __fastcall GetToolbarCount(void);
TCustomToolWindow97* __fastcall GetToolbars(int Index);
void __fastcall FreeRowInfo(void);
int __fastcall GetRowOf(const int XY, bool &Before);
int __fastcall GetDesignModeRowOf(const int XY);
int __fastcall GetHighestRow(void);
int __fastcall GetNumberOfToolbarsOnRow(const int Row, const TCustomToolWindow97* NotIncluding);
void __fastcall RemoveBlankRows(void);
void __fastcall InsertRowBefore(const int BeforeRow);
void __fastcall BuildRowInfo(void);
void __fastcall ChangeDockList(const bool Insert, const TCustomToolWindow97* Bar, const bool IsVisible
);
void __fastcall ChangeWidthHeight(const bool IsClientWidthAndHeight, int NewWidth, int NewHeight);
void __fastcall ArrangeToolbars(void);
void __fastcall DrawBackground(const HDC DC, const Windows::TRect &IntersectClippingRect, const Windows::PRect
ExcludeClippingRect, const Windows::TRect &DrawRect);
void __fastcall InvalidateBackgrounds(void);
void __fastcall BackgroundChanged(System::TObject* Sender);
bool __fastcall UsingBackground(void);
HIDESBASE MESSAGE void __fastcall CMColorChanged(Messages::TMessage &Message);
HIDESBASE MESSAGE void __fastcall CMSysColorChange(Messages::TMessage &Message);
HIDESBASE MESSAGE void __fastcall WMMove(Messages::TWMMove &Message);
HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
MESSAGE void __fastcall WMNCCalcSize(Messages::TWMNCCalcSize &Message);
MESSAGE void __fastcall WMNCPaint(Messages::TMessage &Message);
protected:
virtual void __fastcall AlignControls(Controls::TControl* AControl, Windows::TRect &Rect);
DYNAMIC HPALETTE __fastcall GetPalette(void);
virtual void __fastcall Loaded(void);
virtual void __fastcall SetParent(Controls::TWinControl* AParent);
virtual void __fastcall Paint(void);
DYNAMIC void __fastcall VisibleChanging(void);
public:
__fastcall virtual TDock97(Classes::TComponent* AOwner);
virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
__fastcall virtual ~TDock97(void);
int __fastcall GetRowSize(const int Row, const TCustomToolWindow97* DefaultToolbar);
__property int ToolbarCount = {read=GetToolbarCount, nodefault};
__property TCustomToolWindow97* Toolbars[int Index] = {read=GetToolbars};
__published:
__property bool AllowDrag = {read=FAllowDrag, write=SetAllowDrag, default=1};
__property Graphics::TBitmap* Background = {read=FBkg, write=SetBackground};
__property bool BackgroundOnToolbars = {read=FBkgOnToolbars, write=SetBackgroundOnToolbars, default=1
};
__property bool BackgroundTransparent = {read=FBkgTransparent, write=SetBackgroundTransparent, default=0
};
__property TDockBoundLines BoundLines = {read=FBoundLines, write=SetBoundLines, default=0};
__property Color ;
__property bool FixAlign = {read=FFixAlign, write=SetFixAlign, default=0};
__property bool LimitToOneRow = {read=FLimitToOneRow, write=FLimitToOneRow, default=0};
__property PopupMenu ;
__property TDockPosition Position = {read=FPosition, write=SetPosition, default=0};
__property TInsertRemoveEvent OnInsertRemoveBar = {read=FOnInsertRemoveBar, write=FOnInsertRemoveBar
};
__property TRequestDockEvent OnRequestDock = {read=FOnRequestDock, write=FOnRequestDock};
__property Classes::TNotifyEvent OnResize = {read=FOnResize, write=FOnResize};
public:
/* TWinControl.CreateParented */ __fastcall TDock97(HWND ParentWindow) : Controls::TCustomControl(ParentWindow
) { }
};
enum TToolWindowArrangeType { atNone, atMoveControls, atMoveControlsAndResize };
#pragma pack(push, 1)
struct TToolWindowParams
{
bool CallAlignControls;
bool ResizeEightCorner;
bool ResizeClipCursor;
} ;
#pragma pack(pop)
typedef int __fastcall (*TPositionReadIntProc)(const System::AnsiString ToolbarName, const System::AnsiString
Value, const int Default, const void * ExtraData);
typedef System::AnsiString __fastcall (*TPositionReadStringProc)(const System::AnsiString ToolbarName
, const System::AnsiString Value, const System::AnsiString Default, const void * ExtraData);
typedef void __fastcall (*TPositionWriteIntProc)(const System::AnsiString ToolbarName, const System::AnsiString
Value, const int Data, const void * ExtraData);
typedef void __fastcall (*TPositionWriteStringProc)(const System::AnsiString ToolbarName, const System::AnsiString
Value, const System::AnsiString Data, const void * ExtraData);
class PASCALIMPLEMENTATION TCustomToolWindow97 : public Controls::TCustomControl
{
typedef Controls::TCustomControl inherited;
private:
int FDockPos;
int FDockRow;
bool FDocked;
TDock97* FDockedTo;
TDock97* FDefaultDock;
Classes::TNotifyEvent FOnClose;
Classes::TNotifyEvent FOnDockChanged;
Classes::TNotifyEvent FOnDockChanging;
Classes::TNotifyEvent FOnRecreated;
Classes::TNotifyEvent FOnRecreating;
Classes::TNotifyEvent FOnResize;
Classes::TNotifyEvent FOnVisibleChanged;
bool FActivateParent;
bool FHideWhenInactive;
bool FCloseButton;
bool FFullSize;
bool FResizable;
bool FDragHandle;
TDockableTo FDockableTo;
TToolWindowParams FParams;
int FUpdatingBounds;
int FDisableArrangeControls;
int FHidden;
bool FArrangeNeeded;
bool FInactiveCaption;
tagPOINT FFloatingTopLeft;
Controls::TWinControl* FloatParent;
Forms::TForm* MDIParentForm;
bool NotOnScreen;
bool CloseButtonDown;
void __fastcall SetCloseButton(bool Value);
void __fastcall SetDefaultDock(TDock97* Value);
void __fastcall SetDockedTo(TDock97* Value);
void __fastcall SetDockPos(int Value);
void __fastcall SetDockRow(int Value);
void __fastcall SetDragHandle(bool Value);
void __fastcall SetFullSize(bool Value);
void __fastcall SetResizable(bool Value);
void __fastcall MoveOnScreen(const bool OnlyIfFullyOffscreen);
void __fastcall CustomArrangeControls(const TToolWindowArrangeType ArrangeType, const TDock97* WasDockedTo
, const TDock97* DockingTo, tagPOINT &NewClientSize);
void __fastcall ArrangeControls(void);
void __fastcall DrawDraggingOutline(const HDC DC, const Windows::PRect NewRect, const Windows::PRect
OldRect, const bool NewDocking, const bool OldDocking);
/* class method */ static bool __fastcall NewMainWindowHook(System::TMetaClass* vmt, Messages::TMessage
&Message);
void __fastcall BeginMoving(const int InitX, const int InitY);
void __fastcall BeginSizing(const int HitTestValue, bool &Accept, Windows::TRect &NewRect);
void __fastcall DrawFloatingNCArea(const HRGN Clip, const bool RedrawBorder, const bool RedrawCaption
, const bool RedrawCloseButton);
void __fastcall DrawDockedNCArea(const HRGN Clip);
void __fastcall InvalidateDockedNCArea(void);
void __fastcall ValidateDockedNCArea(void);
void __fastcall SetNotOnScreen(const bool Value);
void __fastcall SetInactiveCaption(const bool Value);
HIDESBASE MESSAGE void __fastcall CMColorChanged(Messages::TMessage &Message);
MESSAGE void __fastcall CMTextChanged(Messages::TMessage &Message);
HIDESBASE MESSAGE void __fastcall CMShowingChanged(Messages::TMessage &Message);
HIDESBASE MESSAGE void __fastcall CMVisibleChanged(Messages::TMessage &Message);
MESSAGE void __fastcall WMActivate(Messages::TWMActivate &Message);
MESSAGE void __fastcall WMClose(Messages::TWMNoParams &Message);
MESSAGE void __fastcall WMGetMinMaxInfo(Messages::TWMGetMinMaxInfo &Message);
HIDESBASE MESSAGE void __fastcall WMMove(Messages::TWMMove &Message);
MESSAGE void __fastcall WMMouseActivate(Messages::TWMMouseActivate &Message);
MESSAGE void __fastcall WMNCCalcSize(Messages::TWMNCCalcSize &Message);
HIDESBASE MESSAGE void __fastcall WMNCHitTest(Messages::TWMNCHitTest &Message);
HIDESBASE MESSAGE void __fastcall WMNCLButtonDown(Messages::TWMNCHitMessage &Message);
MESSAGE void __fastcall WMNCPaint(Messages::TMessage &Message);
MESSAGE void __fastcall WMTB97PaintDockedNCArea(Messages::TMessage &Message);
HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
protected:
__property bool ActivateParent = {read=FActivateParent, write=FActivateParent, default=1};
__property Color ;
__property bool CloseButton = {read=FCloseButton, write=SetCloseButton, default=1};
__property TDock97* DefaultDock = {read=FDefaultDock, write=SetDefaultDock};
__property TDockableTo DockableTo = {read=FDockableTo, write=FDockableTo, default=15};
__property TDock97* DockedTo = {read=FDockedTo, write=SetDockedTo};
__property int DockPos = {read=FDockPos, write=SetDockPos, default=-1};
__property int DockRow = {read=FDockRow, write=SetDockRow, default=0};
__property bool DragHandle = {read=FDragHandle, write=SetDragHandle, default=1};
__property bool FullSize = {read=FFullSize, write=SetFullSize, default=0};
__property bool HideWhenInactive = {read=FHideWhenInactive, write=FHideWhenInactive, default=1};
__property TToolWindowParams Params = {read=FParams};
__property bool Resizable = {read=FResizable, write=SetResizable, default=1};
__property Classes::TNotifyEvent OnClose = {read=FOnClose, write=FOnClose};
__property Classes::TNotifyEvent OnDockChanged = {read=FOnDockChanged, write=FOnDockChanged};
__property Classes::TNotifyEvent OnDockChanging = {read=FOnDockChanging, write=FOnDockChanging};
__property Classes::TNotifyEvent OnRecreated = {read=FOnRecreated, write=FOnRecreated};
__property Classes::TNotifyEvent OnRecreating = {read=FOnRecreating, write=FOnRecreating};
__property Classes::TNotifyEvent OnResize = {read=FOnResize, write=FOnResize};
__property Classes::TNotifyEvent OnVisibleChanged = {read=FOnVisibleChanged, write=FOnVisibleChanged
};
virtual void __fastcall AlignControls(Controls::TControl* AControl, Windows::TRect &Rect);
virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
DYNAMIC HPALETTE __fastcall GetPalette(void);
virtual void __fastcall Loaded(void);
DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X,
int Y);
virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
);
virtual void __fastcall Paint(void);
DYNAMIC bool __fastcall PaletteChanged(bool Foreground);
virtual void __fastcall SetParent(Controls::TWinControl* AParent);
DYNAMIC void __fastcall ReadPositionData(const TPositionReadIntProc ReadIntProc, const TPositionReadStringProc
ReadStringProc, const void * ExtraData);
DYNAMIC void __fastcall DoneReadingPositionData(void);
DYNAMIC void __fastcall WritePositionData(const TPositionWriteIntProc WriteIntProc, const TPositionWriteStringProc
WriteStringProc, const void * ExtraData);
DYNAMIC void __fastcall GetParams(TToolWindowParams &Params);
DYNAMIC void __fastcall ResizeBegin(int HitTestValue);
DYNAMIC void __fastcall ResizeTrack(Windows::TRect &Rect, const Windows::TRect &OrigRect);
DYNAMIC void __fastcall ResizeEnd(bool Accept);
virtual void __fastcall GetBarSize(int &ASize, const TDockType DockType) = 0;
void __fastcall GetDockRowSize(int &AHeightOrWidth);
virtual void __fastcall GetMinimumSize(int &AClientWidth, int &AClientHeight) = 0;
DYNAMIC void __fastcall InitializeOrdering(void);
virtual void __fastcall OrderControls(const bool CanMoveControls, const TDock97* WasDockedTo, const
TDock97* DockingTo, tagPOINT &NewClientSize) = 0;
virtual void __fastcall SizeChanging(const int AWidth, const int AHeight);
public:
__property bool Docked = {read=FDocked, nodefault};
__fastcall virtual TCustomToolWindow97(Classes::TComponent* AOwner);
__fastcall virtual ~TCustomToolWindow97(void);
virtual void __fastcall SetBounds(int ALeft, int ATop, int AWidth, int AHeight);
void __fastcall BeginUpdate(void);
void __fastcall EndUpdate(void);
__published:
__property Height = {stored=false};
__property Width = {stored=false};
__property ClientHeight = {stored=true};
__property ClientWidth = {stored=true};
public:
/* TWinControl.CreateParented */ __fastcall TCustomToolWindow97(HWND ParentWindow) : Controls::TCustomControl(
ParentWindow) { }
};
class DELPHICLASS TCustomToolbar97;
class PASCALIMPLEMENTATION TCustomToolbar97 : public Tb97::TCustomToolWindow97
{
typedef Tb97::TCustomToolWindow97 inherited;
private:
int FFloatingRightX;
void *SizeData;
Classes::TList* SlaveInfo;
Classes::TList* GroupInfo;
Classes::TList* LineSeps;
Classes::TList* OrderList;
int __fastcall GetOrderIndex(Controls::TControl* Control);
void __fastcall SetOrderIndex(Controls::TControl* Control, int Value);
bool __fastcall ShouldBeVisible(const Controls::TControl* Control, const bool LeftOrRight, const bool
SetIt);
void __fastcall FreeGroupInfo(const Classes::TList* List);
void __fastcall BuildGroupInfo(const Classes::TList* List, const bool TranslateSlave, const TDockType
OldDockType, const TDockType NewDockType);
HIDESBASE MESSAGE void __fastcall CMControlListChange(Controls::TCMControlListChange &Message);
protected:
virtual void __fastcall Paint(void);
DYNAMIC void __fastcall ReadPositionData(const TPositionReadIntProc ReadIntProc, const TPositionReadStringProc
ReadStringProc, const void * ExtraData);
DYNAMIC void __fastcall WritePositionData(const TPositionWriteIntProc WriteIntProc, const TPositionWriteStringProc
WriteStringProc, const void * ExtraData);
DYNAMIC void __fastcall GetParams(TToolWindowParams &Params);
DYNAMIC void __fastcall ResizeBegin(int HitTestValue);
DYNAMIC void __fastcall ResizeTrack(Windows::TRect &Rect, const Windows::TRect &OrigRect);
DYNAMIC void __fastcall ResizeEnd(bool Accept);
virtual void __fastcall GetBarSize(int &ASize, const TDockType DockType);
virtual void __fastcall GetMinimumSize(int &AClientWidth, int &AClientHeight);
DYNAMIC void __fastcall InitializeOrdering(void);
virtual void __fastcall OrderControls(const bool CanMoveControls, const TDock97* WasDockedTo, const
TDock97* DockingTo, tagPOINT &NewClientSize);
public:
__property int OrderIndex[Controls::TControl* Control] = {read=GetOrderIndex, write=SetOrderIndex};
__fastcall virtual TCustomToolbar97(Classes::TComponent* AOwner);
__fastcall virtual ~TCustomToolbar97(void);
void __fastcall SetSlaveControl(const Controls::TControl* ATopBottom, const Controls::TControl* ALeftRight
);
__published:
__property ClientHeight = {stored=false};
__property ClientWidth = {stored=false};
public:
/* TWinControl.CreateParented */ __fastcall TCustomToolbar97(HWND ParentWindow) : Tb97::TCustomToolWindow97(
ParentWindow) { }
};
class DELPHICLASS TToolbar97;
class PASCALIMPLEMENTATION TToolbar97 : public Tb97::TCustomToolbar97
{
typedef Tb97::TCustomToolbar97 inherited;
__published:
__property ActivateParent ;
__property Caption ;
__property Color ;
__property CloseButton ;
__property DefaultDock ;
__property DockableTo ;
__property DockedTo ;
__property DockPos ;
__property DockRow ;
__property DragHandle ;
__property FullSize ;
__property HideWhenInactive ;
__property ParentShowHint ;
__property PopupMenu ;
__property ShowHint ;
__property TabOrder ;
__property Visible ;
__property OnClose ;
__property OnDragDrop ;
__property OnDragOver ;
__property OnRecreated ;
__property OnRecreating ;
__property OnDockChanged ;
__property OnDockChanging ;
__property OnResize ;
__property OnVisibleChanged ;
public:
/* TCustomToolbar97.Create */ __fastcall virtual TToolbar97(Classes::TComponent* AOwner) : Tb97::TCustomToolbar97(
AOwner) { }
/* TCustomToolbar97.Destroy */ __fastcall virtual ~TToolbar97(void) { }
public:
/* TWinControl.CreateParented */ __fastcall TToolbar97(HWND ParentWindow) : Tb97::TCustomToolbar97(
ParentWindow) { }
};
class DELPHICLASS TToolWindow97;
class PASCALIMPLEMENTATION TToolWindow97 : public Tb97::TCustomToolWindow97
{
typedef Tb97::TCustomToolWindow97 inherited;
private:
int FMinClientWidth;
int FMinClientHeight;
int FBarHeight;
int FBarWidth;
protected:
virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
DYNAMIC void __fastcall ReadPositionData(const TPositionReadIntProc ReadIntProc, const TPositionReadStringProc
ReadStringProc, const void * ExtraData);
DYNAMIC void __fastcall WritePositionData(const TPositionWriteIntProc WriteIntProc, const TPositionWriteStringProc
WriteStringProc, const void * ExtraData);
virtual void __fastcall GetBarSize(int &ASize, const TDockType DockType);
virtual void __fastcall GetMinimumSize(int &AClientWidth, int &AClientHeight);
virtual void __fastcall OrderControls(const bool CanMoveControls, const TDock97* WasDockedTo, const
TDock97* DockingTo, tagPOINT &NewClientSize);
virtual void __fastcall SizeChanging(const int AWidth, const int AHeight);
public:
__fastcall virtual TToolWindow97(Classes::TComponent* AOwner);
__published:
__property ActivateParent ;
__property Caption ;
__property Color ;
__property CloseButton ;
__property DefaultDock ;
__property DockableTo ;
__property DockedTo ;
__property DockPos ;
__property DockRow ;
__property DragHandle ;
__property FullSize ;
__property HideWhenInactive ;
__property int MinClientHeight = {read=FMinClientHeight, write=FMinClientHeight, default=32};
__property int MinClientWidth = {read=FMinClientWidth, write=FMinClientWidth, default=32};
__property ParentShowHint ;
__property PopupMenu ;
__property Resizable ;
__property ShowHint ;
__property TabOrder ;
__property Visible ;
__property OnClose ;
__property OnDragDrop ;
__property OnDragOver ;
__property OnDockChanged ;
__property OnDockChanging ;
__property OnRecreated ;
__property OnRecreating ;
__property OnResize ;
__property OnVisibleChanged ;
public:
/* TCustomToolWindow97.Destroy */ __fastcall virtual ~TToolWindow97(void) { }
public:
/* TWinControl.CreateParented */ __fastcall TToolWindow97(HWND ParentWindow) : Tb97::TCustomToolWindow97(
ParentWindow) { }
};
typedef int TToolbarSepSize;
class DELPHICLASS TToolbarSep97;
class PASCALIMPLEMENTATION TToolbarSep97 : public Controls::TGraphicControl
{
typedef Controls::TGraphicControl inherited;
private:
bool FBlank;
TToolbarSepSize FSizeHorz;
TToolbarSepSize FSizeVert;
void __fastcall SetBlank(bool Value);
void __fastcall SetSizeHorz(TToolbarSepSize Value);
void __fastcall SetSizeVert(TToolbarSepSize Value);
protected:
DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X,
int Y);
virtual void __fastcall Paint(void);
virtual void __fastcall SetParent(Controls::TWinControl* AParent);
public:
__fastcall virtual TToolbarSep97(Classes::TComponent* AOwner);
__published:
__property Width = {stored=false};
__property Height = {stored=false};
__property bool Blank = {read=FBlank, write=SetBlank, default=0};
__property TToolbarSepSize SizeHorz = {read=FSizeHorz, write=SetSizeHorz, default=6};
__property TToolbarSepSize SizeVert = {read=FSizeVert, write=SetSizeVert, default=6};
public:
/* TGraphicControl.Destroy */ __fastcall virtual ~TToolbarSep97(void) { }
};
enum TButtonDisplayMode { dmBoth, dmGlyphOnly, dmTextOnly };
enum TButtonState97 { bsUp, bsDisabled, bsDown, bsExclusive, bsMouseIn };
typedef Shortint TNumGlyphs97;
class DELPHICLASS TToolbarButton97;
class PASCALIMPLEMENTATION TToolbarButton97 : public Controls::TGraphicControl
{
typedef Controls::TGraphicControl inherited;
private:
bool FAllowAllUp;
TButtonDisplayMode FDisplayMode;
bool FDown;
bool FDropdownArrow;
bool FDropdownCombo;
Menus::TPopupMenu* FDropdownMenu;
bool FFlat;
void *FGlyph;
int FGroupIndex;
TButtonLayout FLayout;
int FMargin;
Forms::TModalResult FModalResult;
bool FNoBorder;
bool FOldDisabledStyle;
bool FOpaque;
bool FRepeating;
int FRepeatDelay;
int FRepeatInterval;
bool FShowBorderWhenInactive;
int FSpacing;
bool FWordWrap;
Classes::TNotifyEvent FOnMouseEnter;
Classes::TNotifyEvent FOnMouseExit;
bool FInClick;
bool FMouseInControl;
bool FMouseIsDown;
bool FMenuIsDown;
bool FHooked;
bool FUsesDropdown;
Extctrls::TTimer* FRepeatTimer;
void __fastcall GlyphChanged(System::TObject* Sender);
void __fastcall UpdateExclusive(void);
void __fastcall SetAllowAllUp(bool Value);
bool __fastcall GetCallDormant(void);
void __fastcall SetCallDormant(bool Value);
void __fastcall SetDown(bool Value);
void __fastcall SetDisplayMode(TButtonDisplayMode Value);
void __fastcall SetDropdownArrow(bool Value);
void __fastcall SetDropdownCombo(bool Value);
void __fastcall SetDropdownMenu(Menus::TPopupMenu* Value);
void __fastcall SetFlat(bool Value);
Graphics::TBitmap* __fastcall GetGlyph(void);
void __fastcall SetGlyph(Graphics::TBitmap* Value);
Graphics::TBitmap* __fastcall GetGlyphMask(void);
void __fastcall SetGlyphMask(Graphics::TBitmap* Value);
void __fastcall SetGroupIndex(int Value);
void __fastcall SetLayout(Buttons::TButtonLayout Value);
void __fastcall SetMargin(int Value);
void __fastcall SetNoBorder(bool Value);
TNumGlyphs97 __fastcall GetNumGlyphs(void);
void __fastcall SetNumGlyphs(TNumGlyphs97 Value);
void __fastcall SetOldDisabledStyle(bool Value);
void __fastcall SetOpaque(bool Value);
void __fastcall SetSpacing(int Value);
void __fastcall SetWordWrap(bool Value);
void __fastcall UpdateTracking(void);
void __fastcall Redraw(const bool Erase);
bool __fastcall PointInButton(int X, int Y);
void __fastcall ButtonMouseTimerHandler(System::TObject* Sender);
void __fastcall RepeatTimerHandler(System::TObject* Sender);
/* class method */ static bool __fastcall DeactivateHook(System::TMetaClass* vmt, Messages::TMessage
&Message);
HIDESBASE MESSAGE void __fastcall WMLButtonDblClk(Messages::TWMMouse &Message);
HIDESBASE MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message);
MESSAGE void __fastcall CMButtonPressed(Messages::TMessage &Message);
MESSAGE void __fastcall CMDialogChar(Messages::TWMKey &Message);
HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
MESSAGE void __fastcall CMTextChanged(Messages::TMessage &Message);
MESSAGE void __fastcall CMSysColorChange(Messages::TMessage &Message);
HIDESBASE MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &Message);
HIDESBASE MESSAGE void __fastcall WMCancelMode(Messages::TWMNoParams &Message);
protected:
TButtonState97 FState;
DYNAMIC HPALETTE __fastcall GetPalette(void);
virtual void __fastcall Loaded(void);
virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
);
DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X,
int Y);
DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int
Y);
virtual void __fastcall Paint(void);
public:
__property bool CallDormant = {read=GetCallDormant, write=SetCallDormant, nodefault};
__fastcall virtual TToolbarButton97(Classes::TComponent* AOwner);
__fastcall virtual ~TToolbarButton97(void);
DYNAMIC void __fastcall Click(void);
void __fastcall MouseEntered(void);
void __fastcall MouseLeft(void);
__published:
__property bool AllowAllUp = {read=FAllowAllUp, write=SetAllowAllUp, default=0};
__property int GroupIndex = {read=FGroupIndex, write=SetGroupIndex, default=0};
__property TButtonDisplayMode DisplayMode = {read=FDisplayMode, write=SetDisplayMode, default=0};
__property bool Down = {read=FDown, write=SetDown, default=0};
__property DragCursor ;
__property DragMode ;
__property bool DropdownArrow = {read=FDropdownArrow, write=SetDropdownArrow, default=1};
__property bool DropdownCombo = {read=FDropdownCombo, write=SetDropdownCombo, default=0};
__property Menus::TPopupMenu* DropdownMenu = {read=FDropdownMenu, write=SetDropdownMenu};
__property Caption ;
__property Enabled ;
__property bool Flat = {read=FFlat, write=SetFlat, default=1};
__property Font ;
__property Graphics::TBitmap* Glyph = {read=GetGlyph, write=SetGlyph};
__property Graphics::TBitmap* GlyphMask = {read=GetGlyphMask, write=SetGlyphMask};
__property Buttons::TButtonLayout Layout = {read=FLayout, write=SetLayout, default=0};
__property int Margin = {read=FMargin, write=SetMargin, default=-1};
__property Forms::TModalResult ModalResult = {read=FModalResult, write=FModalResult, default=0};
__property bool NoBorder = {read=FNoBorder, write=SetNoBorder, default=0};
__property TNumGlyphs97 NumGlyphs = {read=GetNumGlyphs, write=SetNumGlyphs, default=1};
__property bool OldDisabledStyle = {read=FOldDisabledStyle, write=SetOldDisabledStyle, default=0};
__property bool Opaque = {read=FOpaque, write=SetOpaque, default=1};
__property ParentFont ;
__property ParentShowHint ;
__property bool Repeating = {read=FRepeating, write=FRepeating, default=0};
__property int RepeatDelay = {read=FRepeatDelay, write=FRepeatDelay, default=400};
__property int RepeatInterval = {read=FRepeatInterval, write=FRepeatInterval, default=100};
__property bool ShowBorderWhenInactive = {read=FShowBorderWhenInactive, write=FShowBorderWhenInactive
, default=0};
__property ShowHint ;
__property int Spacing = {read=FSpacing, write=SetSpacing, default=4};
__property Visible ;
__property bool WordWrap = {read=FWordWrap, write=SetWordWrap, default=0};
__property OnClick ;
__property OnDblClick ;
__property OnDragDrop ;
__property OnDragOver ;
__property OnEndDrag ;
__property OnMouseDown ;
__property Classes::TNotifyEvent OnMouseEnter = {read=FOnMouseEnter, write=FOnMouseEnter};
__property Classes::TNotifyEvent OnMouseExit = {read=FOnMouseExit, write=FOnMouseExit};
__property OnMouseMove ;
__property OnMouseUp ;
__property OnStartDrag ;
};
class DELPHICLASS TEdit97;
class PASCALIMPLEMENTATION TEdit97 : public Stdctrls::TCustomEdit
{
typedef Stdctrls::TCustomEdit inherited;
private:
bool MouseInControl;
void __fastcall RedrawBorder(const HRGN Clip);
void __fastcall NewAdjustHeight(void);
HIDESBASE MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message);
HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
HIDESBASE MESSAGE void __fastcall CMMouseEnter(Messages::TMessage &Message);
HIDESBASE MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &Message);
HIDESBASE MESSAGE void __fastcall WMSetFocus(Messages::TWMSetFocus &Message);
HIDESBASE MESSAGE void __fastcall WMKillFocus(Messages::TWMKillFocus &Message);
MESSAGE void __fastcall WMNCCalcSize(Messages::TWMNCCalcSize &Message);
MESSAGE void __fastcall WMNCPaint(Messages::TMessage &Message);
protected:
virtual void __fastcall Loaded(void);
public:
__fastcall virtual TEdit97(Classes::TComponent* AOwner);
__published:
__property CharCase ;
__property DragCursor ;
__property DragMode ;
__property Enabled ;
__property Font ;
__property HideSelection ;
__property ImeMode ;
__property ImeName ;
__property MaxLength ;
__property OEMConvert ;
__property ParentColor ;
__property ParentCtl3D ;
__property ParentFont ;
__property ParentShowHint ;
__property PasswordChar ;
__property PopupMenu ;
__property ReadOnly ;
__property ShowHint ;
__property TabOrder ;
__property TabStop ;
__property Text ;
__property Visible ;
__property OnChange ;
__property OnClick ;
__property OnDblClick ;
__property OnDragDrop ;
__property OnDragOver ;
__property OnEndDrag ;
__property OnEnter ;
__property OnExit ;
__property OnKeyDown ;
__property OnKeyPress ;
__property OnKeyUp ;
__property OnMouseDown ;
__property OnMouseMove ;
__property OnMouseUp ;
__property OnStartDrag ;
public:
/* TWinControl.CreateParented */ __fastcall TEdit97(HWND ParentWindow) : Stdctrls::TCustomEdit(ParentWindow
) { }
/* TWinControl.Destroy */ __fastcall virtual ~TEdit97(void) { }
};
//-- var, const, procedure ---------------------------------------------------
#define Toolbar97Version "1.63"
#define WM_TB97DoneCreating (Word)(6062)
#define WM_TB97DoneCreating_Magic (int)(1940230388)
#define WM_TB97PaintDockedNCArea (Word)(6063)
extern PACKAGE TToolbarButton97* ButtonMouseInControl;
extern PACKAGE void __fastcall Register(void);
extern PACKAGE void __fastcall AddFloatingNCAreaToRect(Windows::TRect &R, const bool Resizable);
extern PACKAGE TDockType __fastcall GetDockTypeOf(const TDock97* Control);
extern PACKAGE void __fastcall CustomLoadToolbarPositions(const Forms::TForm* Form, const TPositionReadIntProc
ReadIntProc, const TPositionReadStringProc ReadStringProc, const void * ExtraData);
extern PACKAGE void __fastcall CustomSaveToolbarPositions(const Forms::TForm* Form, const TPositionWriteIntProc
WriteIntProc, const TPositionWriteStringProc WriteStringProc, const void * ExtraData);
extern PACKAGE void __fastcall IniLoadToolbarPositions(const Forms::TForm* Form, const System::AnsiString
Filename);
extern PACKAGE void __fastcall IniSaveToolbarPositions(const Forms::TForm* Form, const System::AnsiString
Filename);
extern PACKAGE void __fastcall RegLoadToolbarPositions(const Forms::TForm* Form, const System::AnsiString
BaseRegistryKey);
extern PACKAGE void __fastcall RegSaveToolbarPositions(const Forms::TForm* Form, const System::AnsiString
BaseRegistryKey);
} /* namespace Tb97 */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Tb97;
#endif
//-- end unit ----------------------------------------------------------------
#endif // TB97

272
CDopping/elastfrm.hpp Normal file
View File

@ -0,0 +1,272 @@
// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved
// (DO NOT EDIT: machine generated header) 'ElastFrm.pas' rev: 3.00
#ifndef ElastFrmHPP
#define ElastFrmHPP
#include <TypInfo.hpp>
#include <FileCtrl.hpp>
#include <Grids.hpp>
#include <ComCtrls.hpp>
#include <StdCtrls.hpp>
#include <ExtCtrls.hpp>
#include <Dialogs.hpp>
#include <Forms.hpp>
#include <Controls.hpp>
#include <Graphics.hpp>
#include <Classes.hpp>
#include <Messages.hpp>
#include <Windows.hpp>
#include <SysUtils.hpp>
#include <SysInit.hpp>
#include <System.hpp>
//-- user supplied -----------------------------------------------------------
namespace Elastfrm
{
//-- type declarations -------------------------------------------------------
typedef int TArrayInteger[16383];
typedef TArrayInteger *pTArrayInteger;
class DELPHICLASS TFrame;
class PASCALIMPLEMENTATION TFrame : public System::TObject
{
typedef System::TObject inherited;
public:
int left;
int width;
int top;
int height;
Graphics::TFont* font;
double fXResize;
double fYResize;
double fFResize;
bool bStatusBar;
TArrayInteger *ColumnWidths;
int ColumnWidthsMax;
TArrayInteger *PanelWidths;
int PanelWidthsMax;
int InitFontSize;
int InitTitleFontSize;
int FontSizeBeforeMax;
int DefaultRowHeight;
int ButtonHeight;
int ButtonWidth;
float BtnAspect;
__fastcall TFrame(void);
__fastcall virtual ~TFrame(void);
void __fastcall preInitialize(Controls::TControl* aControl);
void __fastcall DBGridInitialize(Controls::TControl* aControl, double ScreenCorrectionH, double ScreenCorrectionV
);
void __fastcall initialize(double ScreenCorrectionH, double ScreenCorrectionV, double PixelsCorrection
, double PurePixelsCorrection, Controls::TControl* aControl);
void __fastcall resize(bool ElasticH, bool ElasticV, bool ElasticF, int FormClientWidth, int FormClientHeight
, int cW, int cH, int cF, double FontCorrection, double ScreenCorrectionH, double ScreenCorrectionV
, double PixelsCorrection, Controls::TControl* aControl);
};
typedef TFrame* TFrameArray[16383];
typedef TFrameArray *pTFrameArray;
class DELPHICLASS TMyControl;
class PASCALIMPLEMENTATION TMyControl : public Controls::TControl
{
typedef Controls::TControl inherited;
public:
/* TControl.Create */ __fastcall virtual TMyControl(Classes::TComponent* AOwner) : Controls::TControl(
AOwner) { }
/* TControl.Destroy */ __fastcall virtual ~TMyControl(void) { }
};
class DELPHICLASS TMyWinControl;
class PASCALIMPLEMENTATION TMyWinControl : public Controls::TWinControl
{
typedef Controls::TWinControl inherited;
public:
/* TWinControl.Create */ __fastcall virtual TMyWinControl(Classes::TComponent* AOwner) : Controls::
TWinControl(AOwner) { }
/* TWinControl.CreateParented */ __fastcall TMyWinControl(HWND ParentWindow) : Controls::TWinControl(
ParentWindow) { }
/* TWinControl.Destroy */ __fastcall virtual ~TMyWinControl(void) { }
};
class DELPHICLASS TMyCustomGrid;
class PASCALIMPLEMENTATION TMyCustomGrid : public Grids::TCustomGrid
{
typedef Grids::TCustomGrid inherited;
public:
/* TCustomGrid.Create */ __fastcall virtual TMyCustomGrid(Classes::TComponent* AOwner) : Grids::TCustomGrid(
AOwner) { }
/* TCustomGrid.Destroy */ __fastcall virtual ~TMyCustomGrid(void) { }
public:
/* TWinControl.CreateParented */ __fastcall TMyCustomGrid(HWND ParentWindow) : Grids::TCustomGrid(ParentWindow
) { }
};
class DELPHICLASS TElasticForm;
class PASCALIMPLEMENTATION TElasticForm : public Classes::TComponent
{
typedef Classes::TComponent inherited;
private:
void *OldWndProc;
void *NewWndProc;
void *OldMDIClientWndProc;
void *NewMDIClientWndProc;
bool FHorz;
bool FVert;
bool FElasticFont;
int fResizeCounter;
int cW;
int cH;
int cF;
int cWc;
int cHc;
int cW0;
int cH0;
int cF0;
int L0;
int T0;
bool bFirstTime;
TFrameArray *fFrames;
int fDesignScreenWidth;
int fDesignScreenHeight;
int fDesignPixelsPerInch;
Extctrls::TTimer* fDesignTimer;
int fDesignFormWidth;
int fDesignFormHeight;
int fDesignFormClientWidth;
int fDesignFormClientHeight;
int fDesignFormLeft;
int fDesignFormTop;
bool fManualPosition;
double fManualLeft;
double fManualTop;
bool fManualSize;
double fManualWidth;
double fManualHeight;
int fScreenWidth;
int fScreenHeight;
int fPixelsPerInch;
double fScreenCorrectionH;
double fScreenCorrectionV;
double fPixelsCorrection;
Classes::TList* fList;
int FTotalControls;
int FInitTotalControls;
Extctrls::TImage* fBkGrndImage;
bool FPictureAssigned;
int fMaximizedWidth;
int fMaximizedHeight;
int fMaximizedPosX;
int fMaximizedPosY;
int fMinimumTrackWidth;
int fMinimumTrackHeight;
int fMaximumTrackWidth;
int fMaximumTrackHeight;
TPosition fOwnerFormPosition;
bool bBeforeShow;
bool bWasVisible[1001];
bool bMustShow;
bool bFirstFormResize;
bool bOnTheScreen;
TFormBorderStyle fBorderStyle;
bool bFormStartsMaximized;
bool bMaintainProportions;
bool bIncreasing;
Graphics::TFont* fFont;
bool bDisableResize;
bool bAfterMaximize;
bool bDBGridSelfResize;
void __fastcall FindAllControls(Controls::TControl* ofMyControl);
int __fastcall FormHandle(void);
int __fastcall MDIClientFormHandle(void);
void __fastcall NewWndMethod(Messages::TMessage &Msg);
void __fastcall NewMDIClientWndMethod(Messages::TMessage &Msg);
bool __fastcall InList(Classes::TList* Container, Controls::TControl* aControl);
void __fastcall Timer(System::TObject* Sender);
int __fastcall DefinedMaxLeft(void);
int __fastcall DefinedMaxTop(void);
void __fastcall InitializeForm(void);
void __fastcall ResizeFormMaintainingProportions(void);
void __fastcall SetFont(Graphics::TFont* aFont);
void __fastcall TilePicture(HDC DC);
void __fastcall SetImage(Extctrls::TImage* value);
public:
int GlobalInt;
Classes::TList* ExcludeList;
bool ShowMaximized;
int MessageNumber;
__fastcall virtual TElasticForm(Classes::TComponent* AOwner);
__fastcall virtual ~TElasticForm(void);
void __fastcall ReSizeForm(void);
void __fastcall UpdateSize(Controls::TControl* aControl);
void __fastcall EnforceMaximized(void);
void __fastcall AddToExcludeList(Controls::TControl* aControl);
void __fastcall DisableResize(void);
void __fastcall EnableResize(void);
void __fastcall ReInitializeResizing(void);
__property bool ManualPosition = {read=fManualPosition, write=fManualPosition, nodefault};
__property bool ManualSize = {read=fManualSize, write=fManualSize, nodefault};
__property double ManualLeft = {read=fManualLeft, write=fManualLeft};
__property double ManualTop = {read=fManualTop, write=fManualTop};
__property double ManualWidth = {read=fManualWidth, write=fManualWidth};
__property double ManualHeight = {read=fManualHeight, write=fManualHeight};
__published:
__property bool ElasticHorizontal = {read=FHorz, write=FHorz, default=1};
__property bool ElasticVertical = {read=FVert, write=FVert, default=1};
__property bool ElasticFont = {read=FElasticFont, write=FElasticFont, default=1};
__property int DesignScreenWidth = {read=fDesignScreenWidth, write=fDesignScreenWidth, nodefault};
__property int DesignScreenHeight = {read=fDesignScreenHeight, write=fDesignScreenHeight, nodefault
};
__property int DesignPixelsPerInch = {read=fDesignPixelsPerInch, write=fDesignPixelsPerInch, nodefault
};
__property int MaximizedPosX = {read=fMaximizedPosX, write=fMaximizedPosX, default=0};
__property int MaximizedPosY = {read=fMaximizedPosY, write=fMaximizedPosY, default=0};
__property int MinimumTrackWidth = {read=fMinimumTrackWidth, write=fMinimumTrackWidth, default=0};
__property int MinimumTrackHeight = {read=fMinimumTrackHeight, write=fMinimumTrackHeight, default=0
};
__property int MaximumTrackWidth = {read=fMaximumTrackWidth, write=fMaximumTrackWidth, default=0};
__property int MaximumTrackHeight = {read=fMaximumTrackHeight, write=fMaximumTrackHeight, default=0
};
__property int DesignFormWidth = {read=fDesignFormWidth, write=fDesignFormWidth, nodefault};
__property int DesignFormHeight = {read=fDesignFormHeight, write=fDesignFormHeight, nodefault};
__property int DesignFormClientWidth = {read=fDesignFormClientWidth, write=fDesignFormClientWidth,
nodefault};
__property int DesignFormClientHeight = {read=fDesignFormClientHeight, write=fDesignFormClientHeight
, nodefault};
__property int DesignFormLeft = {read=fDesignFormLeft, write=fDesignFormLeft, nodefault};
__property int DesignFormTop = {read=fDesignFormTop, write=fDesignFormTop, nodefault};
__property bool MaintainProportions = {read=bMaintainProportions, write=bMaintainProportions, default=0
};
__property Graphics::TFont* Font = {read=fFont, write=SetFont};
__property Extctrls::TImage* BkGrndImage = {read=fBkGrndImage, write=SetImage};
__property bool DBGridSelfResize = {read=bDBGridSelfResize, write=bDBGridSelfResize, default=0};
};
//-- var, const, procedure ---------------------------------------------------
extern PACKAGE int LabelLines;
extern PACKAGE bool fDBGridSelfResize;
extern PACKAGE void __fastcall Register(void);
} /* namespace Elastfrm */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Elastfrm;
#endif
//-- end unit ----------------------------------------------------------------
#endif // ElastFrm

View File

@ -0,0 +1 @@
This is build number 1525

Binary file not shown.

View File

@ -0,0 +1,11 @@
Libreria JPEG3s
// Comprobacion ? IDE FUNCIONANDO ? @4620C
S 7521 6A00 668B0D[C86C4400] B202
R EB...........................
!! Cambiar en el .BPL y .OBJ !!
Nota: Los corchetes indican que ese número es una referencia
a algo en memoria/código, lo que significa que con seguridad,
puede no ser el mismo.

530
CDopping/jpg3s/JPEGLIB.HPP Normal file
View File

@ -0,0 +1,530 @@
// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved
// (DO NOT EDIT: machine generated header) 'jpeglib.pas' rev: 3.00
#ifndef jpeglibHPP
#define jpeglibHPP
#include <SysUtils.hpp>
#include <Dialogs.hpp>
#include <SysInit.hpp>
#include <System.hpp>
//-- user supplied -----------------------------------------------------------
namespace Jpeglib
{
//-- type declarations -------------------------------------------------------
typedef int Int;
typedef int *int_ptr;
typedef int size_t;
typedef Cardinal uInt;
typedef Cardinal *uint_ptr;
typedef short Short;
typedef Word ushort;
typedef int Long;
typedef int int8array[8];
typedef Byte JSAMPLE;
typedef short JCOEF;
typedef short *JCOEF_PTR;
typedef Byte JOCTET;
typedef Byte *JOCTET_PTR;
typedef Byte UINT8;
typedef Word UINT16;
typedef Shortint INT16;
typedef int INT32;
typedef int *INT32PTR;
typedef Cardinal JDIMENSION;
typedef Byte *JSAMPROW;
typedef JSAMPROW *JSAMPARRAY;
typedef JSAMPARRAY *JSAMPIMAGE;
typedef short JBLOCK[64];
typedef JBLOCK *JBLOCKROW;
typedef JBLOCKROW *JBLOCKARRAY;
typedef JBLOCKARRAY *JBLOCKIMAGE;
typedef short *JCOEFPTR;
struct JQUANT_TBL;
typedef JQUANT_TBL *JQUANT_TBL_PTR;
#pragma pack(push, 1)
struct JQUANT_TBL
{
Word quantval[64];
bool sent_table;
} ;
#pragma pack(pop)
struct JHUFF_TBL;
typedef JHUFF_TBL *JHUFF_TBL_PTR;
#pragma pack(push, 1)
struct JHUFF_TBL
{
Byte bits[17];
Byte huffval[256];
bool sent_table;
} ;
#pragma pack(pop)
struct jpeg_component_info;
typedef jpeg_component_info *jpeg_component_info_ptr;
#pragma pack(push, 1)
struct jpeg_component_info
{
int component_id;
int component_index;
int h_samp_factor;
int v_samp_factor;
int quant_tbl_no;
int dc_tbl_no;
int ac_tbl_no;
Cardinal width_in_blocks;
Cardinal height_in_blocks;
int DCT_scaled_size;
Cardinal downsampled_width;
Cardinal downsampled_height;
bool component_needed;
int MCU_width;
int MCU_height;
int MCU_blocks;
int MCU_sample_width;
int last_col_width;
int last_row_height;
JQUANT_TBL *quant_table;
void *dct_table;
} ;
#pragma pack(pop)
struct jpeg_scan_info;
typedef jpeg_scan_info *jpeg_scan_info_ptr;
#pragma pack(push, 1)
struct jpeg_scan_info
{
int comps_in_scan;
int component_index[4];
int Ss;
int Se;
int Ah;
int Al;
} ;
#pragma pack(pop)
enum J_COLOR_SPACE { JCS_UNKNOWN, JCS_GRAYSCALE, JCS_RGB, JCS_YCbCr, JCS_CMYK, JCS_YCCK };
enum J_DCT_METHOD { JDCT_ISLOW, JDCT_IFAST, JDCT_FLOAT };
enum J_DITHER_MODE { JDITHER_NONE, JDITHER_ORDERED, JDITHER_FS };
struct jpeg_error_mgr;
typedef jpeg_error_mgr *jpeg_error_mgr_ptr;
struct jpeg_memory_mgr;
typedef jpeg_memory_mgr *jpeg_memory_mgr_ptr;
struct jpeg_progress_mgr;
typedef jpeg_progress_mgr *jpeg_progress_mgr_ptr;
struct jpeg_destination_mgr;
typedef jpeg_destination_mgr *jpeg_destination_mgr_ptr;
struct jpeg_source_mgr;
typedef jpeg_source_mgr *jpeg_source_mgr_ptr;
struct jpeg_common_struct;
typedef jpeg_common_struct *j_common_ptr;
struct jpeg_compress_struct;
typedef jpeg_compress_struct *j_compress_ptr;
struct jpeg_decompress_struct;
typedef jpeg_decompress_struct *j_decompress_ptr;
#pragma pack(push, 1)
struct jpeg_common_struct
{
System::TObject* UserRef;
jpeg_error_mgr *err;
jpeg_memory_mgr *mem;
jpeg_progress_mgr *progress;
bool is_decompressor;
int global_state;
} ;
#pragma pack(pop)
#pragma pack(push, 1)
struct jpeg_compress_struct
{
jpeg_common_struct common_fields;
jpeg_destination_mgr *dest;
Cardinal image_width;
Cardinal image_height;
int input_components;
J_COLOR_SPACE in_color_space;
double input_gamma;
int data_precision;
int num_components;
J_COLOR_SPACE jpeg_color_space;
jpeg_component_info *comp_info;
JQUANT_TBL *quant_tbl_ptrs[4];
JHUFF_TBL *dc_huff_tbl_ptrs[4];
JHUFF_TBL *ac_huff_tbl_ptrs[4];
Byte arith_dc_L[16];
Byte arith_dc_U[16];
Byte arith_ac_K[16];
int num_scans;
jpeg_scan_info *scan_info;
bool raw_data_in;
bool arith_code;
bool optimize_coding;
bool CCIR601_sampling;
int smoothing_factor;
J_DCT_METHOD dct_method;
Cardinal restart_interval;
int restart_in_rows;
bool write_JFIF_header;
Byte density_unit;
Word X_density;
Word Y_density;
bool write_Adobe_marker;
Cardinal next_scanline;
bool progressive_mode;
int max_h_samp_factor;
int max_v_samp_factor;
Cardinal total_iMCU_rows;
int comps_in_scan;
jpeg_component_info *cur_comp_info[4];
Cardinal MCUs_per_row;
Cardinal MCU_rows_in_scan;
int blocks_in_MCU;
int MCU_membership[10];
int Ss;
int Se;
int Ah;
int Al;
void *master;
void *main;
void *prep;
void *coef;
void *marker;
void *cconvert;
void *downsample;
void *fdct;
void *entropy;
} ;
#pragma pack(pop)
typedef int coef_bits_field[64];
typedef coef_bits_field *coef_bits_ptr;
typedef int coef_bits_ptrfield[4][64];
typedef coef_bits_ptrfield *coef_bits_ptrrow;
typedef Byte range_limit_table[1408];
typedef range_limit_table *range_limit_table_ptr;
#pragma pack(push, 1)
struct jpeg_decompress_struct
{
jpeg_common_struct common_fields;
jpeg_source_mgr *src;
Cardinal image_width;
Cardinal image_height;
int num_components;
J_COLOR_SPACE jpeg_color_space;
J_COLOR_SPACE out_color_space;
Cardinal scale_num;
Cardinal scale_denom;
double output_gamma;
bool buffered_image;
bool raw_data_out;
J_DCT_METHOD dct_method;
bool do_fancy_upsampling;
bool do_block_smoothing;
bool quantize_colors;
J_DITHER_MODE dither_mode;
bool two_pass_quantize;
int desired_number_of_colors;
bool enable_1pass_quant;
bool enable_external_quant;
bool enable_2pass_quant;
Cardinal output_width;
Cardinal output_height;
int out_color_components;
int output_components;
int rec_outbuf_height;
int actual_number_of_colors;
JSAMPROW *colormap;
Cardinal output_scanline;
int input_scan_number;
Cardinal input_iMCU_row;
int output_scan_number;
int output_iMCU_row;
coef_bits_field *coef_bits;
JQUANT_TBL *quant_tbl_ptrs[4];
JHUFF_TBL *dc_huff_tbl_ptrs[4];
JHUFF_TBL *ac_huff_tbl_ptrs[4];
int data_precision;
jpeg_component_info *comp_info;
bool progressive_mode;
bool arith_code;
Byte arith_dc_L[16];
Byte arith_dc_U[16];
Byte arith_ac_K[16];
Cardinal restart_interval;
bool saw_JFIF_marker;
Byte density_unit;
Word X_density;
Word Y_density;
bool saw_Adobe_marker;
Byte Adobe_transform;
bool CCIR601_sampling;
int max_h_samp_factor;
int max_v_samp_factor;
int min_DCT_scaled_size;
Cardinal total_iMCU_rows;
range_limit_table *sample_range_limit;
int comps_in_scan;
jpeg_component_info *cur_comp_info[4];
Cardinal MCUs_per_row;
Cardinal MCU_rows_in_scan;
Cardinal blocks_in_MCU;
int MCU_membership[10];
int Ss;
int Se;
int Ah;
int Al;
int unread_marker;
void *master;
void *main;
void *coef;
void *post;
void *inputctl;
void *marker;
void *entropy;
void *idct;
void *upsample;
void *cconvert;
void *cquantize;
} ;
#pragma pack(pop)
#pragma pack(push, 1)
struct jpeglib__1
{
union
{
char s[80];
int i[8];
};
} ;
#pragma pack(pop)
#pragma pack(push, 1)
struct jpeg_error_mgr
{
void __stdcall (*error_exit)(j_common_ptr cinfo);
void __stdcall (*emit_message)(j_common_ptr cinfo, int msg_level);
void __stdcall (*output_message)(j_common_ptr cinfo);
void __stdcall (*format_message)(j_common_ptr cinfo, char * buffer);
void __stdcall (*reset_error_mgr)(j_common_ptr cinfo);
int msg_code;
jpeglib__1 msg_parm;
int trace_level;
int num_warnings;
void *jpeg_message_table;
int last_jpeg_message;
void *addon_message_table;
int first_addon_message;
int last_addon_message;
} ;
#pragma pack(pop)
#pragma pack(push, 1)
struct jpeg_progress_mgr
{
void __stdcall (*progress_monitor)(j_common_ptr cinfo);
int pass_counter;
int pass_limit;
int completed_passes;
int total_passes;
} ;
#pragma pack(pop)
#pragma pack(push, 1)
struct jpeg_destination_mgr
{
Byte *next_output_byte;
int free_in_buffer;
void __stdcall (*init_destination)(j_compress_ptr cinfo);
bool __stdcall (*empty_output_buffer)(j_compress_ptr cinfo);
void __stdcall (*term_destination)(j_compress_ptr cinfo);
} ;
#pragma pack(pop)
#pragma pack(push, 1)
struct jpeg_source_mgr
{
Byte *next_input_byte;
int bytes_in_buffer;
void __stdcall (*init_source)(j_decompress_ptr cinfo);
bool __stdcall (*fill_input_buffer)(j_decompress_ptr cinfo);
void __stdcall (*skip_input_data)(j_decompress_ptr cinfo, int num_bytes);
bool __stdcall (*resync_to_restart)(j_decompress_ptr cinfo, int desired);
void __stdcall (*term_source)(j_decompress_ptr cinfo);
} ;
#pragma pack(pop)
typedef void *jvirt_sarray_ptr;
typedef void *jvirt_barray_ptr;
#pragma pack(push, 1)
struct jpeg_memory_mgr
{
void * __stdcall (*alloc_small)(j_common_ptr cinfo, int pool_id, int sizeofobject);
void * __stdcall (*alloc_large)(j_common_ptr cinfo, int pool_id, int sizeofobject);
JSAMPARRAY __stdcall (*alloc_sarray)(j_common_ptr cinfo, int pool_id, Cardinal samplesperrow, Cardinal
numrows);
JBLOCKARRAY __stdcall (*alloc_barray)(j_common_ptr cinfo, int pool_id, Cardinal blocksperrow, Cardinal
numrows);
void * __stdcall (*request_virt_sarray)(j_common_ptr cinfo, int pool_id, bool pre_zero, Cardinal samplesperrow
, Cardinal numrows, Cardinal maxaccess);
void * __stdcall (*request_virt_barray)(j_common_ptr cinfo, int pool_id, bool pre_zero, Cardinal blocksperrow
, Cardinal numrows, Cardinal maxaccess);
void __stdcall (*realize_virt_arrays)(j_common_ptr cinfo);
JSAMPARRAY __stdcall (*access_virt_sarray)(j_common_ptr cinfo, void * ptr, Cardinal start_row, Cardinal
num_rows, bool writable);
JBLOCKARRAY __stdcall (*access_virt_barray)(j_common_ptr cinfo, void * ptr, Cardinal start_row, Cardinal
num_rows, bool writable);
void __stdcall (*free_pool)(j_common_ptr cinfo, int pool_id);
void __stdcall (*self_destruct)(j_common_ptr cinfo);
int max_memory_to_use;
} ;
#pragma pack(pop)
typedef bool __stdcall (*jpeg_marker_parser_method)(j_decompress_ptr cinfo);
//-- var, const, procedure ---------------------------------------------------
#define MAX_COMPONENTS (Byte)(10)
#define MAXJSAMPLE (Byte)(255)
#define CENTERJSAMPLE (Byte)(128)
#define JPEG_MAX_DIMENSION (int)(65500)
#define JPEG_LIB_VERSION (Byte)(61)
#define JMSG_STR_PARM_MAX (Byte)(80)
#define JMSG_LENGTH_MAX (Byte)(200)
#define DCTSIZE (Byte)(8)
#define DCTSIZE2 (Byte)(64)
#define NUM_QUANT_TBLS (Byte)(4)
#define NUM_HUFF_TBLS (Byte)(4)
#define NUM_ARITH_TBLS (Byte)(16)
#define MAX_COMPS_IN_SCAN (Byte)(4)
#define MAX_SAMP_FACTOR (Byte)(4)
#define C_MAX_BLOCKS_IN_MCU (Byte)(10)
#define D_MAX_BLOCKS_IN_MCU (Byte)(10)
#define JDCT_DEFAULT (J_DCT_METHOD)(0)
#define JDCT_FASTEST (J_DCT_METHOD)(1)
#define JPOOL_PERMANENT (Byte)(0)
#define JPOOL_IMAGE (Byte)(1)
#define JPOOL_NUMPOOLS (Byte)(2)
#define JPEG_SUSPENDED (Byte)(0)
#define JPEG_HEADER_OK (Byte)(1)
#define JPEG_HEADER_TABLES_ONLY (Byte)(2)
#define JPEG_REACHED_SOS (Byte)(1)
#define JPEG_REACHED_EOI (Byte)(2)
#define JPEG_ROW_COMPLETED (Byte)(3)
#define JPEG_SCAN_COMPLETED (Byte)(4)
#define JPEG_RST0 (Byte)(208)
#define JPEG_EOI (Byte)(217)
#define JPEG_APP0 (Byte)(224)
#define JPEG_COM (Byte)(254)
extern "C" void __stdcall jpeg_destroy_compress(j_compress_ptr cinfo);
extern "C" void __stdcall jpeg_destroy_decompress(j_decompress_ptr cinfo);
extern "C" void __stdcall jpeg_set_defaults(j_compress_ptr cinfo);
extern "C" void __stdcall jpeg_set_colorspace(j_compress_ptr cinfo, J_COLOR_SPACE colorspace);
extern "C" void __stdcall jpeg_default_colorspace(j_compress_ptr cinfo);
extern "C" void __stdcall jpeg_set_quality(j_compress_ptr cinfo, int quality, bool force_baseline);
extern "C" void __stdcall jpeg_set_linear_quality(j_compress_ptr cinfo, int scale_factor, bool force_baseline
);
extern "C" void __stdcall jpeg_add_quant_table(j_compress_ptr cinfo, int which_tbl, const uint_ptr basic_table
, int scale_factor, bool force_baseline);
extern "C" int __stdcall jpeg_quality_scaling(int quality);
extern "C" void __stdcall jpeg_simple_progression(j_compress_ptr cinfo);
extern "C" void __stdcall jpeg_suppress_tables(j_compress_ptr cinfo, bool suppress);
extern "C" JQUANT_TBL_PTR __stdcall jpeg_alloc_quant_table(const jpeg_common_struct cinfo);
extern "C" JHUFF_TBL_PTR __stdcall jpeg_alloc_huff_table(const jpeg_common_struct cinfo);
extern "C" void __stdcall jpeg_start_compress(j_compress_ptr cinfo, bool write_all_tables);
extern "C" Cardinal __stdcall jpeg_write_scanlines(j_compress_ptr cinfo, JSAMPARRAY scanlines, Cardinal
num_lines);
extern "C" void __stdcall jpeg_finish_compress(j_compress_ptr cinfo);
extern "C" Cardinal __stdcall jpeg_write_raw_data(j_compress_ptr cinfo, JSAMPIMAGE data, Cardinal num_lines
);
extern "C" void __stdcall jpeg_write_marker(j_compress_ptr cinfo, int marker, const JOCTET_PTR dataptr
, Cardinal datalen);
extern "C" void __stdcall jpeg_write_tables(j_compress_ptr cinfo);
extern "C" int __stdcall jpeg_read_header(j_decompress_ptr cinfo, bool require_image);
extern "C" bool __stdcall jpeg_start_decompress(j_decompress_ptr cinfo);
extern "C" Cardinal __stdcall jpeg_read_scanlines(j_decompress_ptr cinfo, JSAMPARRAY scanlines, Cardinal
max_lines);
extern "C" bool __stdcall jpeg_finish_decompress(j_decompress_ptr cinfo);
extern "C" Cardinal __stdcall jpeg_read_raw_data(j_decompress_ptr cinfo, JSAMPIMAGE data, Cardinal max_lines
);
extern "C" bool __stdcall jpeg_has_multiple_scans(j_decompress_ptr cinfo);
extern "C" bool __stdcall jpeg_start_output(j_decompress_ptr cinfo, int scan_number);
extern "C" bool __stdcall jpeg_finish_output(j_decompress_ptr cinfo);
extern "C" bool __stdcall jpeg_input_complete(j_decompress_ptr cinfo);
extern "C" void __stdcall jpeg_new_colormap(j_decompress_ptr cinfo);
extern "C" int __stdcall jpeg_consume_input(j_decompress_ptr cinfo);
extern "C" void __stdcall jpeg_calc_output_dimensions(j_decompress_ptr cinfo);
extern "C" void __stdcall jpeg_set_marker_processor(j_decompress_ptr cinfo, int marker_code, jpeg_marker_parser_method
routine);
extern "C" void __stdcall jpeg_abort_compress(j_compress_ptr cinfo);
extern "C" void __stdcall jpeg_abort_decompress(j_decompress_ptr cinfo);
extern "C" void __stdcall jpeg_abort(j_common_ptr cinfo);
extern "C" void __stdcall jpeg_destroy(j_common_ptr cinfo);
extern "C" bool __stdcall jpeg_resync_to_restart(j_decompress_ptr cinfo, int desired);
extern "C" jpeg_error_mgr_ptr __stdcall jpeg_std_error(jpeg_error_mgr_ptr err);
extern PACKAGE void __fastcall jpeg_Create_Compress(j_compress_ptr cinfo);
extern PACKAGE void __fastcall jpeg_Create_Decompress(j_decompress_ptr cinfo);
} /* namespace Jpeglib */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Jpeglib;
#endif
//-- end unit ----------------------------------------------------------------
#endif // jpeglib

BIN
CDopping/jpg3s/JPEGLIB.OBJ Normal file

Binary file not shown.

BIN
CDopping/jpg3s/JPEGREG1.DCR Normal file

Binary file not shown.

BIN
CDopping/jpg3s/JPEGREG2.DCR Normal file

Binary file not shown.

BIN
CDopping/jpg3s/JPEG_REG.OBJ Normal file

Binary file not shown.

126
CDopping/jpg3s/LICENCE.TXT Normal file
View File

@ -0,0 +1,126 @@
SHAREWARE LICENCE
LICENCE AGREEMENT
Copyright 1997 McCallum Whyman Associates Limited trading as MWA Software
The copyright in the shareware version of this software ("the
Software") is owned by McCallum Whyman Associates Limited trading
as MWA Software ("the Owner"). You may not load the Software
into any computer or copy it without the licence of the Owner.
The Owner offers you a non-exclusive licence on the terms of this
Agreement.
LICENCE
You are permitted during the Term to:
(1) load the Software and use it only on a single computer (with
a single input terminal) which is under your control;
(2) transfer the Software from one computer to another provided
it is used on only one computer at a time;
(3) make copies of the Software. The copies must reproduce and
include the Owner's copyright notice;
(4) transfer a copy of the Software (complete with all its
associated documentation and this licence) to another person
provided that the Software is not modified in any way and
includes all files as originally supplied and that no charge
is made for the transfer. If any transferee does not accept
such terms then this licence shall automatically terminate.
The transferor does not retain any rights under this
Agreement in respect of the transferred Software or licence.
(5) use the Software as a component of another program provided
that the purpose of using the Software is for evaluation only
and provided that the evaluation is carried out on the same
computer on which the Software is loaded and that such a
program is under no circumstances transferred to another
person.
You are not permitted:
(a) to rent, lease, sub-licence, loan, copy (except as expressly
provided in this Agreement), modify, adapt, merge, translate,
reverse engineer, decompile, disassemble or create derivative
works based on the whole or any part of the Software or its
associated documentation;
(b) except as expressly provided in this Agreement, to use,
reproduce or deal in the Software in any way.
ACCEPTANCE
You shall be deemed to have accepted the terms of this Agreement
by loading the Software into any computer.
TERM
Subject as set out below this licence is effective for a period
of 30 days from the date of first use by you. This Licence will
terminate if you fail to abide by its terms. Upon termination
you agree to destroy all copies of the Software and its
documentation including any Software stored on the hard disk of
any computer under your control.
REGISTRATION
If you wish to licence the Software beyond the period of 30 days
aforesaid then please return the enclosed Licence Registration
Form to the Owner within such period.
OWNERSHIP
The Owner shall at all times retain ownership of the Software as
recorded in the original file set or diskette and all subsequent
copies thereof regardless of form. If the Software was supplied
on diskette, you own only the diskette on which the Software is
recorded. You may retain the diskette on termination provided
the Software has been erased. This Agreement applies to the
grant of the licence only and not to the contract of sale of the
diskette.
WARRANTIES
(1) The express terms of this Agreement are in lieu of all
warranties, conditions, undertakings, terms and obligations
implied by statute, common law, trade usage, course of
dealing or otherwise all of which are hereby excluded to the
fullest extent permitted by law.
(2) The Owner does not warrant that the Software will meet your
requirements or that the operation of the Software will be
uninterrupted or error-free or that defects in the Software
will be corrected. You shall load and use the Software at
your own risk and in no event will the Owner be liable to you
for any loss or damage of any kind (except personal injury or
death resulting from the Owner's negligence) including lost
profits or consequential loss arising from your use of or
inability to use the Software or from errors or deficiencies
in it whether caused by negligence or otherwise.
(3) Any liability of the Owner pursuant to this licence shall be
limited to the purchase price or registration fee paid.
LAW
This Agreement shall be governed by English law.
If you have any questions concerning this Agreement please
write to McCallum Whyman Associates Limited trading as MWA
Software at PO Box 37, Alresford, Hampshire, SO24 9ZF,
England.

View File

@ -0,0 +1,87 @@
// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved
// (DO NOT EDIT: machine generated header) 'mwadbjpg.pas' rev: 3.00
#ifndef mwadbjpgHPP
#define mwadbjpgHPP
#include <Controls.hpp>
#include <mwajpeg.hpp>
#include <Classes.hpp>
#include <ExtCtrls.hpp>
#include <Messages.hpp>
#include <DBTables.hpp>
#include <DBCtrls.hpp>
#include <Db.hpp>
#include <SysInit.hpp>
#include <System.hpp>
//-- user supplied -----------------------------------------------------------
namespace Mwadbjpg
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TDBJPEGImage;
class PASCALIMPLEMENTATION TDBJPEGImage : public Extctrls::TImage
{
typedef Extctrls::TImage inherited;
private:
Dbctrls::TFieldDataLink* FDataLink;
Classes::TNotifyEvent FOldPictureChanged;
bool FAutoDisplay;
bool FLoading;
bool FChanging;
bool FPictureLoaded;
Mwajpeg::TJPEGFileCompressor* FJPEGCompressor;
Mwajpeg::TJPEGFileDecompressor* FJPEGDecompressor;
System::AnsiString __fastcall GetDataField();
Db::TDataSource* __fastcall GetDataSource(void);
Db::TField* __fastcall GetField(void);
bool __fastcall GetReadOnly(void);
Mwajpeg::TJPEGFileDecompressor* __fastcall GetJPEGDecompressor(void);
Mwajpeg::TJPEGFileCompressor* __fastcall GetJPEGCompressor(void);
void __fastcall SetDataField(const System::AnsiString Value);
void __fastcall SetDataSource(Db::TDataSource* Value);
void __fastcall SetReadOnly(bool Value);
void __fastcall ActiveChanged(System::TObject* Sender);
void __fastcall DataChange(System::TObject* Sender);
void __fastcall UpdateData(System::TObject* Sender);
void __fastcall PictureChange(System::TObject* Sender);
MESSAGE void __fastcall WMCut(Messages::TMessage &Message);
MESSAGE void __fastcall WMCopy(Messages::TMessage &Message);
MESSAGE void __fastcall WMPaste(Messages::TMessage &Message);
protected:
virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
);
public:
__fastcall virtual TDBJPEGImage(Classes::TComponent* AOwner);
__fastcall virtual ~TDBJPEGImage(void);
void __fastcall CopyToClipboard(void);
void __fastcall CutToClipboard(void);
void __fastcall PasteFromClipboard(void);
void __fastcall LoadPicture(void);
__property Db::TField* Field = {read=GetField};
__published:
__property bool AutoDisplay = {read=FAutoDisplay, write=FAutoDisplay, default=1};
__property System::AnsiString DataField = {read=GetDataField, write=SetDataField};
__property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource};
__property bool ReadOnly = {read=GetReadOnly, write=SetReadOnly, nodefault};
__property Mwajpeg::TJPEGFileCompressor* JPEGCompressor = {read=FJPEGCompressor, write=FJPEGCompressor
};
__property Mwajpeg::TJPEGFileDecompressor* JPEGDecompressor = {read=FJPEGDecompressor, write=FJPEGDecompressor
};
};
//-- var, const, procedure ---------------------------------------------------
} /* namespace Mwadbjpg */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Mwadbjpg;
#endif
//-- end unit ----------------------------------------------------------------
#endif // mwadbjpg

BIN
CDopping/jpg3s/MWADBJPG.OBJ Normal file

Binary file not shown.

498
CDopping/jpg3s/MWAJPEG.HPP Normal file
View File

@ -0,0 +1,498 @@
// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved
// (DO NOT EDIT: machine generated header) 'mwajpeg.pas' rev: 3.00
#ifndef mwajpegHPP
#define mwajpegHPP
#include <ExtCtrls.hpp>
#include <Graphics.hpp>
#include <Windows.hpp>
#include <Classes.hpp>
#include <jpeglib.hpp>
#include <SysInit.hpp>
#include <System.hpp>
//-- user supplied -----------------------------------------------------------
namespace Mwajpeg
{
//-- type declarations -------------------------------------------------------
typedef void __fastcall (__closure *TWarningEvent)(const System::AnsiString warning_message);
class DELPHICLASS TJPEGBase;
class PASCALIMPLEMENTATION TJPEGBase : public Classes::TComponent
{
typedef Classes::TComponent inherited;
private:
Jpeglib::jpeg_common_struct *JPEGObject;
bool FInAbort;
bool FInProgress;
bool FAbortRequested;
Classes::TNotifyEvent FOnProgressReport;
TWarningEvent FOnWarning;
int __fastcall GetWarnings(void);
int __fastcall GetTraceLevel(void);
int __fastcall GetPercentDone(void);
void __fastcall SetTraceLevel(int value);
virtual void __fastcall CreateJPEGObject(Jpeglib::jpeg_error_mgr_ptr err) = 0;
protected:
virtual void __fastcall Error(void);
virtual void __fastcall Warning(int msg_level);
virtual void __fastcall DoProgress(void);
int __fastcall Round4(int i);
public:
__fastcall virtual TJPEGBase(Classes::TComponent* AOwner);
__fastcall virtual ~TJPEGBase(void);
virtual void __fastcall Abort(void);
__property int Warnings = {read=GetWarnings, nodefault};
__property int Trace_Level = {read=GetTraceLevel, write=SetTraceLevel, nodefault};
__property int PercentDone = {read=GetPercentDone, nodefault};
__property Classes::TNotifyEvent OnProgressReport = {read=FOnProgressReport, write=FOnProgressReport
};
__property TWarningEvent OnWarning = {read=FOnWarning, write=FOnWarning};
};
enum TBitmapResolution { bmDefault, bm16Colour, bm256Colour, bm24bit };
typedef int TImageSize;
class DELPHICLASS TJPEGCompressor;
class PASCALIMPLEMENTATION TJPEGCompressor : public Mwajpeg::TJPEGBase
{
typedef Mwajpeg::TJPEGBase inherited;
private:
System::AnsiString FComment;
bool FProgressiveJPEG;
bool FWriteAllTables;
int FQuality;
bool FGrayscaleOutput;
Classes::TNotifyEvent FOnWriteMarkers;
Jpeglib::JOCTET_PTR __fastcall GetNextOut(void);
int __fastcall GetFreeIn(void);
void __fastcall SetNextOut(Jpeglib::JOCTET_PTR value);
void __fastcall SetFreeIn(int value);
void __fastcall SetQuality(int Value);
virtual void __fastcall CreateJPEGObject(Jpeglib::jpeg_error_mgr_ptr err);
int __fastcall Getcinfoinput_components(void);
Cardinal __fastcall Getcinfoimage_width(void);
double __fastcall Getcinfoinput_gamma(void);
int __fastcall Getcinfodata_precision(void);
Jpeglib::J_COLOR_SPACE __fastcall Getcinfojpeg_color_space(void);
Jpeglib::J_DCT_METHOD __fastcall Getcinfodct_method(void);
bool __fastcall Getcinfooptimize_coding(void);
Cardinal __fastcall Getcinforestart_interval(void);
int __fastcall Getcinforestart_in_rows(void);
int __fastcall Getcinfosmoothing_factor(void);
bool __fastcall Getcinfowrite_JFIF_header(void);
Byte __fastcall Getcinfodensity_unit(void);
Word __fastcall GetcinfoX_density(void);
Word __fastcall GetcinfoY_Density(void);
bool __fastcall Getcinfowrite_Adobe_marker(void);
Cardinal __fastcall Getcinfoimage_height(void);
void __fastcall Setcinfoinput_components(int Value);
void __fastcall Setcinfoimage_width(Cardinal Value);
void __fastcall Setcinfoinput_gamma(double Value);
void __fastcall Setcinfodata_precision(int Value);
void __fastcall Setcinfojpeg_color_space(Jpeglib::J_COLOR_SPACE Value);
void __fastcall Setcinfodct_method(Jpeglib::J_DCT_METHOD Value);
void __fastcall Setcinfooptimize_coding(bool Value);
void __fastcall Setcinforestart_interval(Cardinal Value);
void __fastcall Setcinforestart_in_rows(int Value);
void __fastcall Setcinfosmoothing_factor(int Value);
void __fastcall Setcinfowrite_JFIF_header(bool Value);
void __fastcall Setcinfodensity_unit(Byte Value);
void __fastcall SetcinfoX_density(Word Value);
void __fastcall SetcinfoY_Density(Word Value);
void __fastcall Setcinfowrite_Adobe_marker(bool Value);
void __fastcall Setcinfoimage_height(Cardinal Value);
protected:
Jpeglib::jpeg_compress_struct cinfo;
virtual void __fastcall InitDestination(void) = 0;
virtual bool __fastcall EmptyOutputBuffer(void) = 0;
virtual void __fastcall TermDestination(void) = 0;
void __fastcall SetColorSpace(Jpeglib::J_COLOR_SPACE value);
void __fastcall Bitmap2DIB(Graphics::TBitmap* Bitmap, TBitmapResolution Resolution, void *BitMapInfo
, void *bits);
void __fastcall GetBitmapInfoHeader(HBITMAP Bitmap, TBitmapResolution Resolution, tagBITMAPINFOHEADER
&BitmapInfoHeader);
void __fastcall GetDIBSizes(HBITMAP Bitmap, TBitmapResolution Resolution, int &InfoHeaderSize, int
&ImageSize);
void __fastcall WriteDIBitmap(const tagBITMAPINFO &BitmapInfo, char * bits);
void __fastcall WriteBitmap(Graphics::TBitmap* bitmap);
void __fastcall WriteStretchedBitmap(Graphics::TBitmap* bitmap, int width, int height);
void __fastcall WriteMetaFile(Graphics::TMetafile* metafile, int width, int height);
__property Jpeglib::JOCTET_PTR next_out = {read=GetNextOut, write=SetNextOut};
__property int free_in = {read=GetFreeIn, write=SetFreeIn, nodefault};
__property int InputComponents = {read=Getcinfoinput_components, write=Setcinfoinput_components, nodefault
};
__property Cardinal ImageWidth = {read=Getcinfoimage_width, write=Setcinfoimage_width, nodefault};
__property Cardinal ImageHeight = {read=Getcinfoimage_height, write=Setcinfoimage_height, nodefault
};
public:
__fastcall virtual TJPEGCompressor(Classes::TComponent* AOwner);
__fastcall virtual ~TJPEGCompressor(void);
void __fastcall AddQuantTable(int which_tbl, const Jpeglib::uint_ptr basic_table, int scale_factor,
bool force_baseline);
void __fastcall WriteMarker(int Marker, const void *buf, int Count);
__property bool GrayscaleOutput = {read=FGrayscaleOutput, write=FGrayscaleOutput, nodefault};
__property System::AnsiString Comment = {read=FComment, write=FComment};
__property int Quality = {read=FQuality, write=SetQuality, default=75};
__property bool ProgressiveJPEG = {read=FProgressiveJPEG, write=FProgressiveJPEG, nodefault};
__property double InputGamma = {read=Getcinfoinput_gamma, write=Setcinfoinput_gamma};
__property int DataPrecision = {read=Getcinfodata_precision, write=Setcinfodata_precision, nodefault
};
__property Jpeglib::J_COLOR_SPACE OutputColorSpace = {read=Getcinfojpeg_color_space, write=Setcinfojpeg_color_space
, nodefault};
__property Jpeglib::J_DCT_METHOD DCTMethod = {read=Getcinfodct_method, write=Setcinfodct_method, nodefault
};
__property bool OptimizeCoding = {read=Getcinfooptimize_coding, write=Setcinfooptimize_coding, nodefault
};
__property Cardinal RestartInterval = {read=Getcinforestart_interval, write=Setcinforestart_interval
, nodefault};
__property int RestartInRows = {read=Getcinforestart_in_rows, write=Setcinforestart_in_rows, nodefault
};
__property int SmoothingFactor = {read=Getcinfosmoothing_factor, write=Setcinfosmoothing_factor, nodefault
};
__property bool WriteJFIFHeader = {read=Getcinfowrite_JFIF_header, write=Setcinfowrite_JFIF_header,
nodefault};
__property Byte DensityUnit = {read=Getcinfodensity_unit, write=Setcinfodensity_unit, nodefault};
__property Word X_Density = {read=GetcinfoX_density, write=SetcinfoX_density, nodefault};
__property Word Y_Density = {read=GetcinfoY_Density, write=SetcinfoY_Density, nodefault};
__property bool WriteAdobeMarker = {read=Getcinfowrite_Adobe_marker, write=Setcinfowrite_Adobe_marker
, nodefault};
__property bool WriteAllTables = {read=FWriteAllTables, write=FWriteAllTables, default=1};
__property Classes::TNotifyEvent OnWriteMarkers = {read=FOnWriteMarkers, write=FOnWriteMarkers};
};
typedef void __fastcall (__closure *TJPEGCommentEvent)(TJPEGBase* sender, char * comment);
typedef void __fastcall (__closure *TJPEGMarkerEvent)(TJPEGBase* sender, int Marker, bool &done);
enum TJPEGOutputType { jp24bit, jp8bit, jp4bit, jpGrayscale };
class DELPHICLASS TJPEGDecompressor;
class PASCALIMPLEMENTATION TJPEGDecompressor : public Mwajpeg::TJPEGBase
{
typedef Mwajpeg::TJPEGBase inherited;
private:
TJPEGCommentEvent FOnJPEGComment;
J_DCT_METHOD FDCT_METHOD;
bool FDoFancyUpSampling;
bool FDoBlockSmoothing;
bool FGrayScaleOutput;
bool FTwoPassQuantize;
J_DITHER_MODE FDitherMode;
int FColoursIn8bitMode;
TJPEGMarkerEvent FOnJPEGMarker;
virtual void __fastcall CreateJPEGObject(Jpeglib::jpeg_error_mgr_ptr err);
Jpeglib::JOCTET_PTR __fastcall GetNextInputByte(void);
int __fastcall GetBytesInBuffer(void);
void __fastcall SetNextInputByte(Jpeglib::JOCTET_PTR value);
void __fastcall SetBytesInBuffer(int value);
bool __fastcall HandleJPEGComment(void);
bool __fastcall HandleAPPMarker(void);
Jpeglib::J_COLOR_SPACE __fastcall Getcinfoout_color_space(void);
Cardinal __fastcall Getcinfoscale_num(void);
Cardinal __fastcall Getcinfoscale_denom(void);
double __fastcall Getcinfooutput_gamma(void);
bool __fastcall Getcinfoquantize_colors(void);
int __fastcall Getcinfodesired_number_of_colors(void);
Jpeglib::JSAMPARRAY __fastcall Getcinfocolormap(void);
int __fastcall Getcinfoactual_number_of_colors(void);
Cardinal __fastcall Getcinfoimage_width(void);
Cardinal __fastcall Getcinfoimage_height(void);
Jpeglib::J_COLOR_SPACE __fastcall Getcinfojpeg_color_space(void);
bool __fastcall Getcinfosaw_JFIF_marker(void);
Byte __fastcall Getcinfodensity_unit(void);
Word __fastcall GetcinfoX_density(void);
Word __fastcall GetcinfoY_density(void);
Byte __fastcall GetcinfoAdobe_transform(void);
bool __fastcall Getcinfoenable_1pass_quant(void);
bool __fastcall Getcinfoenable_external_quant(void);
bool __fastcall Getcinfoenable_2pass_quant(void);
Cardinal __fastcall Getcinfooutput_height(void);
Cardinal __fastcall Getcinfooutput_width(void);
void __fastcall Setcinfoout_color_space(Jpeglib::J_COLOR_SPACE Value);
void __fastcall Setcinfoscale_num(Cardinal Value);
void __fastcall Setcinfoscale_denom(Cardinal Value);
void __fastcall Setcinfooutput_gamma(double Value);
void __fastcall Setcinfoquantize_colors(bool Value);
void __fastcall Setcinfodesired_number_of_colors(int Value);
void __fastcall Setcinfocolormap(Jpeglib::JSAMPARRAY Value);
void __fastcall Setcinfoactual_number_of_colors(int Value);
void __fastcall Setcinfoimage_width(Cardinal Value);
void __fastcall Setcinfoimage_height(Cardinal Value);
void __fastcall Setcinfojpeg_color_space(Jpeglib::J_COLOR_SPACE Value);
void __fastcall Setcinfosaw_JFIF_marker(bool Value);
void __fastcall Setcinfodensity_unit(Byte Value);
void __fastcall SetcinfoX_density(Word Value);
void __fastcall SetcinfoY_density(Word Value);
void __fastcall SetcinfoAdobe_transform(Byte Value);
void __fastcall Setcinfoenable_1pass_quant(bool Value);
void __fastcall Setcinfoenable_external_quant(bool Value);
void __fastcall Setcinfoenable_2pass_quant(bool Value);
void __fastcall Setcinfooutput_height(Cardinal Value);
void __fastcall Setcinfooutput_width(Cardinal Value);
protected:
Jpeglib::jpeg_decompress_struct cinfo;
virtual void __fastcall InitSource(void) = 0;
virtual bool __fastcall FillInputBuffer(void) = 0;
virtual void __fastcall SkipInputBytes(int num_bytes) = 0;
virtual bool __fastcall ResyncToRestart(int desired) = 0;
virtual void __fastcall TermSource(void) = 0;
virtual bool __fastcall DoJPEGComment(char * comment);
void __fastcall ReadDIBitmap(tagBITMAPINFO &BitMapInfo, TJPEGOutputType OutputType, void * bits);
Graphics::TBitmap* __fastcall ReadBitmap(void);
void __fastcall ReadWinBitmap(HBITMAP &Bitmap, HPALETTE &Palette);
virtual void __fastcall ReadHeader(void);
__property Jpeglib::JOCTET_PTR NextInputByte = {read=GetNextInputByte, write=SetNextInputByte};
__property int BytesInBuffer = {read=GetBytesInBuffer, write=SetBytesInBuffer, nodefault};
__property Jpeglib::J_COLOR_SPACE OutputColorSpace = {read=Getcinfoout_color_space, write=Setcinfoout_color_space
, nodefault};
__property Cardinal ScaleNum = {read=Getcinfoscale_num, write=Setcinfoscale_num, nodefault};
__property Cardinal ScaleDenom = {read=Getcinfoscale_denom, write=Setcinfoscale_denom, nodefault};
__property double OutputGamma = {read=Getcinfooutput_gamma, write=Setcinfooutput_gamma};
__property bool QuantizeColors = {read=Getcinfoquantize_colors, write=Setcinfoquantize_colors, nodefault
};
__property int NumColorsDesired = {read=Getcinfodesired_number_of_colors, write=Setcinfodesired_number_of_colors
, nodefault};
__property Jpeglib::JSAMPARRAY ColorMap = {read=Getcinfocolormap, write=Setcinfocolormap};
__property int ActualColorsInMap = {read=Getcinfoactual_number_of_colors, write=Setcinfoactual_number_of_colors
, nodefault};
public:
__fastcall virtual TJPEGDecompressor(Classes::TComponent* AOwner);
__fastcall virtual ~TJPEGDecompressor(void);
int __fastcall GetBitmapInfoSize(TJPEGOutputType OutputType);
int __fastcall GetDIBitsSize(TJPEGOutputType OutputType);
Byte __fastcall GetByte(void);
__property TJPEGCommentEvent OnJPEGComment = {read=FOnJPEGComment, write=FOnJPEGComment};
__property TJPEGMarkerEvent OnJPEGMarker = {read=FOnJPEGMarker, write=FOnJPEGMarker};
__property bool GrayScaleOutput = {read=FGrayScaleOutput, write=FGrayScaleOutput, nodefault};
__property Cardinal Width = {read=Getcinfoimage_width, write=Setcinfoimage_width, nodefault};
__property Cardinal Height = {read=Getcinfoimage_height, write=Setcinfoimage_height, nodefault};
__property Jpeglib::J_COLOR_SPACE ColorSpace = {read=Getcinfojpeg_color_space, write=Setcinfojpeg_color_space
, nodefault};
__property bool JFIFMarkerPresent = {read=Getcinfosaw_JFIF_marker, write=Setcinfosaw_JFIF_marker, nodefault
};
__property Byte DensityUnit = {read=Getcinfodensity_unit, write=Setcinfodensity_unit, nodefault};
__property Word X_Density = {read=GetcinfoX_density, write=SetcinfoX_density, nodefault};
__property Word Y_Density = {read=GetcinfoY_density, write=SetcinfoY_density, nodefault};
__property Byte AdobeTransform = {read=GetcinfoAdobe_transform, write=SetcinfoAdobe_transform, nodefault
};
__property bool TwoPassQuantize = {read=FTwoPassQuantize, write=FTwoPassQuantize, default=1};
__property int ColoursIn8bitMode = {read=FColoursIn8bitMode, write=FColoursIn8bitMode, default=64};
__property Jpeglib::J_DITHER_MODE DitherMode = {read=FDitherMode, write=FDitherMode, default=2};
__property Jpeglib::J_DCT_METHOD DCTMethod = {read=FDCT_METHOD, write=FDCT_METHOD, default=0};
__property bool DoFancyUpSampling = {read=FDoFancyUpSampling, write=FDoFancyUpSampling, default=1};
__property bool DoBlockSmoothing = {read=FDoBlockSmoothing, write=FDoBlockSmoothing, default=1};
__property bool Enable1PassQuant = {read=Getcinfoenable_1pass_quant, write=Setcinfoenable_1pass_quant
, nodefault};
__property bool EnableExternalQuant = {read=Getcinfoenable_external_quant, write=Setcinfoenable_external_quant
, nodefault};
__property bool Enable2PassQuant = {read=Getcinfoenable_2pass_quant, write=Setcinfoenable_2pass_quant
, nodefault};
__property Cardinal OutputHeight = {read=Getcinfooutput_height, write=Setcinfooutput_height, nodefault
};
__property Cardinal OutputWidth = {read=Getcinfooutput_width, write=Setcinfooutput_width, nodefault
};
};
class DELPHICLASS TJPEGStreamCompressor;
class PASCALIMPLEMENTATION TJPEGStreamCompressor : public Mwajpeg::TJPEGCompressor
{
typedef Mwajpeg::TJPEGCompressor inherited;
private:
Classes::TStream* FStream;
void *FBuffer;
int FBufSize;
void __fastcall SetBufSize(int Value);
protected:
virtual void __fastcall InitDestination(void);
virtual bool __fastcall EmptyOutputBuffer(void);
virtual void __fastcall TermDestination(void);
void __fastcall OpenStream(Classes::TStream* Stream);
void __fastcall CloseStream(void);
public:
__fastcall virtual TJPEGStreamCompressor(Classes::TComponent* AOwner);
__fastcall virtual ~TJPEGStreamCompressor(void);
void __fastcall SavePictureToStream(Graphics::TPicture* Picture, Classes::TStream* Stream);
void __fastcall SaveStretchedPictureToStream(Graphics::TPicture* Picture, int width, int height, Classes::TStream*
Stream);
void __fastcall SaveBitMapToStream(Graphics::TBitmap* bitmap, Classes::TStream* Stream);
void __fastcall SaveStretchedBitMapToStream(Graphics::TBitmap* bitmap, int width, int height, Classes::TStream*
Stream);
void __fastcall SaveDIBitmapToStream(Classes::TStream* Stream, const tagBITMAPINFO &BitmapInfo, char *
bits);
void __fastcall SaveMetaFileToStream(Graphics::TMetafile* metafile, Classes::TStream* Stream, int width
, int height);
__property int BufSize = {read=FBufSize, write=SetBufSize, default=4096};
};
class DELPHICLASS TJPEGStreamDecompressor;
class PASCALIMPLEMENTATION TJPEGStreamDecompressor : public Mwajpeg::TJPEGDecompressor
{
typedef Mwajpeg::TJPEGDecompressor inherited;
private:
Classes::TStream* FStream;
char *FBuffer;
int FBufSize;
protected:
virtual void __fastcall InitSource(void);
virtual bool __fastcall FillInputBuffer(void);
virtual void __fastcall SkipInputBytes(int num_bytes);
virtual bool __fastcall ResyncToRestart(int desired);
void __fastcall SetBufSize(int Value);
virtual void __fastcall TermSource(void);
public:
void __fastcall OpenStream(Classes::TStream* Stream);
void __fastcall CloseStream(void);
__fastcall virtual TJPEGStreamDecompressor(Classes::TComponent* AOwner);
__fastcall virtual ~TJPEGStreamDecompressor(void);
void __fastcall ConvertToDIB(Classes::TStream* Source, Classes::TStream* Destination, TJPEGOutputType
OutputType);
void __fastcall LoadPictureFromStream(Graphics::TPicture* Picture, Classes::TStream* Stream);
void __fastcall LoadPictureFromResource(Graphics::TPicture* Picture, int Instance, const System::AnsiString
ResName);
void __fastcall LoadPictureFromResID(Graphics::TPicture* Picture, int Instance, int ResID);
Graphics::TBitmap* __fastcall ReadBitMapFromStream(Classes::TStream* Stream);
void __fastcall ReadDIBitmapFromStream(Classes::TStream* Stream, tagBITMAPINFO &BitMapInfo, TJPEGOutputType
OutputType, int &bits);
__property int BufSize = {read=FBufSize, write=SetBufSize, default=4096};
};
class DELPHICLASS TJPEGFileDecompressor;
class PASCALIMPLEMENTATION TJPEGFileDecompressor : public Mwajpeg::TJPEGStreamDecompressor
{
typedef Mwajpeg::TJPEGStreamDecompressor inherited;
public:
void __fastcall LoadPictureFromFile(Graphics::TPicture* Picture, const System::AnsiString FileName)
;
__published:
__property Warnings ;
__property Trace_Level ;
__property PercentDone ;
__property ColoursIn8bitMode ;
__property GrayScaleOutput ;
__property OnJPEGComment ;
__property OnJPEGMarker ;
__property TwoPassQuantize ;
__property DitherMode ;
__property DCTMethod ;
__property DoFancyUpSampling ;
__property DoBlockSmoothing ;
__property OnProgressReport ;
__property OnWarning ;
public:
/* TJPEGStreamDecompressor.create */ __fastcall virtual TJPEGFileDecompressor(Classes::TComponent*
AOwner) : Mwajpeg::TJPEGStreamDecompressor(AOwner) { }
/* TJPEGStreamDecompressor.Destroy */ __fastcall virtual ~TJPEGFileDecompressor(void) { }
};
class DELPHICLASS TJPEGFileCompressor;
class PASCALIMPLEMENTATION TJPEGFileCompressor : public Mwajpeg::TJPEGStreamCompressor
{
typedef Mwajpeg::TJPEGStreamCompressor inherited;
public:
void __fastcall SavePictureToFile(Graphics::TPicture* Picture, const System::AnsiString FileName);
void __fastcall SaveStretchedPictureToFile(Graphics::TPicture* Picture, int width, int height, const
System::AnsiString FileName);
void __fastcall SaveBitmapToFile(Graphics::TBitmap* bitmap, const System::AnsiString FileName);
void __fastcall SaveStretchedBitmapToFile(Graphics::TBitmap* bitmap, int width, int height, const System::AnsiString
FileName);
void __fastcall SaveMetafileToFile(Graphics::TMetafile* metafile, int width, int height, const System::AnsiString
FileName);
__published:
__property Warnings ;
__property Trace_Level ;
__property PercentDone ;
__property GrayscaleOutput ;
__property Comment ;
__property Quality ;
__property InputGamma ;
__property ProgressiveJPEG ;
__property DCTMethod ;
__property OptimizeCoding ;
__property RestartInterval ;
__property RestartInRows ;
__property SmoothingFactor ;
__property WriteJFIFHeader ;
__property DensityUnit ;
__property X_Density ;
__property Y_Density ;
__property WriteAllTables ;
__property OnProgressReport ;
__property OnWriteMarkers ;
__property OnWarning ;
public:
/* TJPEGStreamCompressor.create */ __fastcall virtual TJPEGFileCompressor(Classes::TComponent* AOwner
) : Mwajpeg::TJPEGStreamCompressor(AOwner) { }
/* TJPEGStreamCompressor.Destroy */ __fastcall virtual ~TJPEGFileCompressor(void) { }
};
class DELPHICLASS TJPEGBitmap;
class PASCALIMPLEMENTATION TJPEGBitmap : public Graphics::TBitmap
{
typedef Graphics::TBitmap inherited;
private:
bool FSaveAsBitmap;
TJPEGStreamDecompressor* FDecompressor;
TJPEGStreamCompressor* FCompressor;
Classes::TNotifyEvent FProgressEvent;
void __fastcall HandleDecompressOnProgress(System::TObject* Sender);
void __fastcall HandleCompressOnProgress(System::TObject* Sender);
public:
virtual void __fastcall LoadFromStream(Classes::TStream* Stream);
virtual void __fastcall SaveToStream(Classes::TStream* Stream);
virtual void __fastcall SaveToFile(const System::AnsiString FileName);
public:
/* TBitmap.Create */ __fastcall virtual TJPEGBitmap(void) : Graphics::TBitmap() { }
/* TBitmap.Destroy */ __fastcall virtual ~TJPEGBitmap(void) { }
};
//-- var, const, procedure ---------------------------------------------------
#define DefaultBufSize (Word)(4096)
#define DefaultQuality (Byte)(75)
#define sJPEGResourceType "JPEG"
#define DefaultColoursIn8bitMode (Byte)(64)
extern PACKAGE bool UseIsIllegal;
extern PACKAGE Graphics::TBitmap* __fastcall ReSizeBitmap(Graphics::TBitmap* bitmap, int width, int
height);
extern PACKAGE Graphics::TBitmap* __fastcall CropBitmap(Graphics::TBitmap* bitmap, int width, int height
, const Windows::TRect &Clip);
extern PACKAGE Graphics::TBitmap* __fastcall MetaToBitmap(Graphics::TMetafile* metafile, int Width,
int Height);
} /* namespace Mwajpeg */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Mwajpeg;
#endif
//-- end unit ----------------------------------------------------------------
#endif // mwajpeg

BIN
CDopping/jpg3s/MWAJPEG.OBJ Normal file

Binary file not shown.

BIN
CDopping/jpg3s/MWAJPGC3.BPL Normal file

Binary file not shown.

16
CDopping/jpg3s/MWAKEY.ASC Normal file
View File

@ -0,0 +1,16 @@
Type Bits/KeyID Date User ID
pub 1024/1028B231 1997/02/17 MWA Software <sales@mwassocs.demon.co.uk>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.3i
mQCNAzMIL8cAAAEEAPStAr1wfLNg9gb/U0siXl9vUDl/CQvPHyNBmNa+D+DCl4W5
QFgxGwVBwXrUMbHY/iwDat1QRgt1KFk4iGpwLXK9IltWhzqk+jHJHEEdS401c1cF
eCcsS2+DZHKbQ/Gk9VsuqZjpH2k4B86S0EPXMXtJDD2oyWl1ieDA0S0QKLIxAAUR
tClNV0EgU29mdHdhcmUgPHNhbGVzQG13YXNzb2NzLmRlbW9uLmNvLnVrPokAlQMF
EDMIL8fgwNEtECiyMQEBcHUEAL/B+MJ6ECnTOSbI5Ui5svpJwWV0PFvxUpS8nHCz
VOA4lk7PasRGljJJrop7W25KG+kkrv/uaUo1X/gsiAczszOxN56cloaWK9lAs7lX
Nvu9uapZDLSHyNlcxFnERRZAgeD0GBTDiMKgM1ZZm9pP3u/naKLf8OYNtOErr82N
Gn/z
=lusp
-----END PGP PUBLIC KEY BLOCK-----

45
CDopping/jpg3s/MWAQRJPG.H Normal file
View File

@ -0,0 +1,45 @@
//---------------------------------------------------------------------------
#ifndef mwaQRjpgH
#define mwaQRjpgH
//---------------------------------------------------------------------------
#include <SysUtils.hpp>
#include <Controls.hpp>
#include <Classes.hpp>
#include <Forms.hpp>
#include <Qrctrls.hpp>
#include <quickrpt.hpp>
#include <db.hpp>
#include <dbctrls.hpp>
#include "mwajpeg.hpp"
#if __TCPLUSPLUS__ == 0x0520
#define PACKAGE
#pragma link "mwajpeg.obj"
#pragma link "jpeglib.obj"
#endif
//---------------------------------------------------------------------------
class PACKAGE TQRDBJPEGImage : public TQRImage
{
private:
bool FAutoStretch;
Mwajpeg::TJPEGFileDecompressor *FJPEGDecompressor;
System::AnsiString FDataField;
Db::TDataSet *FDataSet;
Mwajpeg::TJPEGFileDecompressor* __fastcall GetJPEGDecompressor(void);
void __fastcall SetDataSet(TDataSet* Value);
protected:
virtual void __fastcall Print(int OfsX, int OfsY);
public:
__fastcall TQRDBJPEGImage(TComponent* Owner);
void __fastcall LoadPicture(void);
virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
__published:
__property Db::TDataSet* DataSet = {read=FDataSet, write=SetDataSet};
__property System::AnsiString DataField = {read=FDataField, write=FDataField};
__property bool AutoStretch = {read=FAutoStretch, write=FAutoStretch, nodefault};
__property Mwajpeg::TJPEGFileDecompressor* JPEGDecompressor = {read=FJPEGDecompressor, write=FJPEGDecompressor};
};
//---------------------------------------------------------------------------
#endif

BIN
CDopping/jpg3s/MWAQRJPG.OBJ Normal file

Binary file not shown.

21
CDopping/jpg3s/MWJPEG.CNT Normal file
View File

@ -0,0 +1,21 @@
:Base mwjpeg.hlp
:Title MWA JPEG Component Library (C++Builder V3.0)
1 Contents
2 About the Component Library=Topic_ABOUTTHECOMPONENTLIBRARY
2 Installation Instructions=Topic_INSTALLATIONINSTRUCTIONS
2 Example Applications=Topic_USINGTHEJPEGDEMOAPPLICATION
2 Classes
3 TJPEGFileCompressor=Topic_TJPEGFileCompressor
3 TJPEGFileDecompressor=Topic_TJPEGFileDecompressor
3 TDBJPEGImage=Topic_TDBJPEGImage
3 TQRDBJPEGImage=Topic_TQRDBJPEGImage
1 Units=Topic_Units
2 Utility Functions
3 ReSizeBitmap=Topic_ResizeBitmap
3 CropBitmap=Topic_CropBitmap
3 MetaToBitmap=Topic_MetaToBitmap
2 Registration
3 Pricing Information=Topic_PRICINGINFORMATION
3 How to Register=Topic_HOWTOREGISTER
3 Secure Registration=Topic_SECUREREGISTRATION
3 Shareware Licence=JPEGLicence

BIN
CDopping/jpg3s/MWJPEG.HLP Normal file

Binary file not shown.

304
CDopping/jpg3s/README.TXT Normal file
View File

@ -0,0 +1,304 @@
Readme file for the JPEG Component Library version 1.5
=======================================================
This file contains documentation for the JPEG Component Library by MWA Software.
This version is for Borland C++Builder 3.0. Versions for Delphi 1.0, 2.0, 3.0 and
4.0, and C++Builder 1 are also available. For further information please contact
MWA Software -
mailto:sales@mwassocs.demon.co.uk.
http://www.demon.co.uk/mwa-soft
ONLINE HELP IS ALSO AVAILABLE IN THE FILE mwjpeg.hlp.
This file contains the following information:
1. ABOUT THE COMPONENT LIBRARY
2. INSTALLATION INSTRUCTIONS
3. USING THE JPEG DEMO APPLICATION
4. PRELIMINARY SOFTWARE DOCUMENTATION
5. PRICING INFORMATION
6. HOW TO REGISTRATION
7. SECURE REGISTRATION
1. ABOUT THE COMPONENT LIBRARY
==============================
The JPEG Component Library provides two additional non-visual components for use
under either Delphi 1.0, 2.0, 3.0 and C++Builder 1 and 3. It also provides a Data
Aware JPEG Image component which may be used to save and access JPEG encoded
images in a database blob field. A corresponding printable component is also
provided so that you may print images from a database using Quick Reports.
This file contains the C++Builder 3 version. Please access
http://www.demon.co.uk/mwa-soft for the remaining versions.
The two non-visual components are TJPEGFileCompressor and TJPEGFileDecompressor.
These support compression of images to JPEG Format and decompression respectively.
The data aware component is TDBJPEGImage, and the printable component is
TQRDBJPEGImage.
Simply installing these components JPEG enables the Delphi IDE. The components
register themselves as supporting .jpg files and the JPEG compression format and,
when you come to load an image into a TImage Picture, the JPEG format will be
found amongst the list of supported file formats. An image loaded from a JPEG
source can also be saved back to JPEG. These components support the JPEG File
Interchange Format (JFIF).
These two components also support TImage at run-time too. As at design time, if
TJPEGFileDecompressor is included in your project, then calling
TImage.Picture.LoadFromFile when the file extension is .jpg will automatically
invoke the JPEG decompressor. You can also explicitly call TJPEGFileDecompressor
to load a JPEG image from any file.
TJPEGFileCompressor can be used to save a TImage.Picture in JPEG format, and can
handle pictures that are either bitmaps or metafiles. It can also compress a
device independent bitmap, and change the size of bitmaps before compression.
TDBJPEGImage is linked to a database blob field and also uses
TJPEGFileDecompressor and TJPEGFileCompressor to save and load JPEG encoded images
from the Blob Field. Use of the JPEG compressor and decompressor components can be
implicit if the default parameter settings are sufficient. On the other hand, the
reference may be explicit to copies of these components with non-default parameter
settings. TQRDBJPEGImage can be used to print a JPEG Image using Quick Reports 2.
This software uses original software for JPEG developed by the Independent JPEG
Group (see ftp://ftp.uu.net/graphics/jpeg). The IDG have made available a library
of generic 'C' code supporting JPEG compression and decompression and have
permitted its free use provided the source is acknowledged. The IDG code has been
modified for use with Delphi and MS Windows and is provided as compiled object
files. Optionally, they may be separately compiled into a dll.
An interface to this software is provided by the unit jpeglib.pas. This is
encapsulated as a set of Delphi components in the unit mwajpeg.pas, which also
supports the mapping of the environment independent image format expected by the
IJG code into MS Windows bitmap and metafile formats.
When you purchase a licence to this product, you purchase a licence for the source
code to the mwajpeg and jpeglib units and the right to include binaries derived
from them in your own products without having to pay additional royalties. You
also have a right to freely distribute the mwjpeg and mwjpeg32 dlls (if used), and
copies of the modified 'C' source is also included in the registered version.
Support is also provided by EMail albeit without a guaranteed response time.
2. INSTALLATION INSTRUCTIONS
============================
Installation is straightforward. The JPEG Component Library is distributed in a
.zip archive; separate versions are provided for use with Delphi 1.0, 2.0 and 3.0,
and C++Builder 1 and 3. Make sure you have the correct version and then:
i. Create a new sub-directory in your delphi directory called "jpeg" and copy the
remaining files contained in the .zip file into this new subdirectory. You should
aim to preserve the directory names held in the zip - if you are using pkunzip
them use the -d option when unzipping the files. Note that if you do use a different
directory from that suggested then you will have to modify the demo programs' .mak
files to change the search path for the JPEG components.
iii. Start the C++Builder IDE and choose the Component|Install Packages menu item.
Click on the "Add" button and browse for the mwjpegc3.bpl file you just copied to
the new subdirectory. Click on OK. The package will now be installed. By
default the JPEG components are placed on the "Additional" tab, TDBJPEGImage is on
the Data Controls tab, and TQRDBJPEGImage is on the QReports tab.
iv. You should now add ";$(BCB)\jpeg" to the end of the library path in the
Tools|Environment Options dialog box (it's on the Library tab). This is so that the
jpeg components can be automatically found in any project of yours that uses them.
You should now restart C++Builder before trying to load a JPEG Image at Design
Time.
---------------
The components are now installed. Use the demo application to learn how they are
used.
3. USING THE JPEG DEMO APPLICATION
==================================
Two demo applications are provided. A JPEG Viewer application demonstrates the
opening and saving JPEG image files and conversion to and from bitmap files (.bmp)
and from Windows Metafiles (.wmf). A database application demonstrates use of the
data aware component.
The JPEG Viewer application may be found in the Examples\Viewer subdirectory
created above. To activate, load the jpegdemo.bpr file into the IDE using the
File|Open Project menu item. This provides a simple application that can open and
save .jpg (JPEG), .bmp (Windows Bitmap) and .wmf (Windows metfaile) files, and
copy and paste bitmaps and metafiles to and from the clipboard. To test out,
simply compile and run the application.
To load and view a JPEG file, click on the open button and load the test.jpg file
contained in the subdirectory created above. You can also try saving it to another
file name (you can save it as either a JPEG or a bitmap). You can also use the
demo application to convert windows bitmaps and metafiles to jpegs simply by
opening the file containing them (or pasting from the clipboard) and saving them
as jpegs. The viewer window can also be resized by simply dragging the bottom
right hand corner with the mouse. Saving the image will save it at the new size.
The application also demonstrates a simple method for printing a JPEG Image using
Quick Reports (even with no database).
You can also use the Object Inspector to see the properties published by the two
JPEG components.
The JPEG database application may also be found in the Examples\db subdirectory
created above. To activate, load the DBDemo.bpr file into the IDE using the
File|Open Project menu item. This application is an extension of the Viewer and
presents images held in an example database. The database records may be perused
using the DBNavigator bar provided. It is still possible to save images from the
database record and to replace/insert images from files or the clipboard. The
application also demonstrates how to print a report including JPEG Images.
4. SOFTWARE DOCUMENTATION
=========================
See the online help file "mwjpeg.hlp"
5. PRICING INFORMATION
======================
JPEG Component Library Source Licence 12 pounds sterling (US$20)
US dollar prices are for indicative pricing only and assume an exchange rate of
one pound = $1.66. All prices are VAT exclusive. UK VAT (currently 17.5%) will be
charged for all UK residents and EC residents that are not VAT registered or do
provide a VAT number as proof of registration.
6. HOW TO REGISTER
==================
Registration may be made by FAX, Letter Post or EMail. For FAX and Letter Post
registrations, a Registration Form is provided in the File "regform.txt" for you
to EMail or print out (FAX or letter post), complete, and send to MWA Software.
You can also register using the Compuserve Shareware Registration Service (GO
SWREG). The software is registered under the name "MWA JPEG Component Library".
Visa, Mastercard, Eurocard and JCB are accepted as payment mechanisms.
International money orders in pounds sterling and cheques drawn on UK Bank
Accounts are also accepted. US Dollar denominated checks are also acceptable
provided that an additional 10% is added to the purchase price to allow for the
additional Bank Charge. Please make cheques payable to McCallum Whyman Associates
Ltd.
EMail registrations should be sent to:
Internet: sales@mwassocs.demon.co.uk, or
Compuserve: 100041,315
FAX:
UK: 01962 735581
Int: +44 1962 735581
MWA Software,
P.O.Box 37,
Alresford,
Hants,
SO24 9ZF,
ENGLAND
All registrations are accepted on the basis that the registered user will be
deemed to have accepted and be bound by the licence conditions for the registered
versions of JPEG component library as recorded in the file reg-lnce.txt supplied
with the evaluation version of the software.
7. Secure Registration by EMail
================================
There are two routes by which you can EMail your credit card details to MWA
Software without incurring the risk of sending a credit card number in clear
across the Internet. One route is to use the encryption mechanism provided by
pkzip. The other is to use PGP.
pkzip encryption will generally be good enough to avoid detection by the so called
"sniffer" programs that are understood to monitor EMail communications, looking
for numbers that look like credit cards. However, it is not believe to be good
enough to resist a determined attack by someone who has access to the necessary
skills in cryptography and a powerful enough computer. On the other hand PGP is
understood to offer a very strong level of protection. MWA Software makes no
recommendations as to which is the better approach. It is for you to decide based
on your own location and concerns.
Secure Transmission using pkzip.
================================
pkzip can encrypt files in a .zip archive using a simple password. To register for
the JPEG Component Library by EMail when using pkzip as your encryption engine:
1. Using the file "regform.txt" as a template, complete a registration form for
the JPEG Component Library. Remember to include your credit card details, billing
address and your name as it appears on your credit card.
2. Choose a password. Opening a dictionary at some random page is often a good way
to do this. For example, let's assume that you choose NERVOUS as your password.
3. Compress and encrypt the modified regform.txt using pkzip and the -s option to
encrypt. For example, with NERVOUS as your password, use the command line:
pkzip -sNERVOUS regform regform.txt
This will create regform.zip containing your compressed and encryted registration
details.
4. EMail regform.zip to MWA Software. Your own EMail utility will usually have a
way to send binary attachments to an EMail message. If you do not have such a
capability then you can use the J-Write Text Editor (also available from MWA
Software) to uuencode a binary file into a text form suitable for attaching to an
EMAil message. This feature is available from the File|Merge menu item.
The MWA Software EMail address is sales@mwassocs.demon.co.uk.
Set the subject to "JPEG Registration"
5. Send the password you choose at step 2 in a separate EMail to MWA Software. For
best protection, use our Compuserve EMail address:
100041.315@compuserve.com
Set the subject to "re: JPEG Registration"
Secure Transmission using PGP
=============================
PGP is a powerful data encryption tool that has been made publicly available by
its author "Phillip Zimmermann". It is sufficiently good to attract the attentions
of various government's agency's and you should be aware that in certain countries
the use of such encryption software is a criminal offence. MWA Software only uses
PGP to decrypt registrations and does not send encrypted EMail. Having said that,
the international version of PGP can be obtained from:
http://www.ifi.uio.no/pgp/
The following URL is also a good source of information about PGP, including
information on how to get the more limited US version.
http://www.arc.unm.edu/~drosoff/pgp/pgp.html
To encrypt a registration using PGP, do the following:
1. Using the file "regform.txt" as a template, complete a registration form for
the JPEG Component Library. Remember to include your credit card details, billing
address and your name as it appears on your credit card.
2. Encrypt regform.txt using PGP and the MWA public key. This is provided in the
file "mwakey.asc", which should be in the same archive as this file. This will
typically be performed by the following commands (the ; indicates the start of a
comment):
pgp -ka mwakey.asc ;add MWA key to your public keyring
pgp -ea regform.txt "MWA Software" ;encrypt and encode for EMail
pgp -kr "MWA Software" ;remove the MWA key from your keyring
The above will have created the encrypted file "regform.pgp". This is a text file
and may be sent as part of a normal EMail to MWA Software:
sales@mwassocs.demon.co.uk
Set the subject to "JPEG Registration"
If you have any reason to doubt the validity of the MWA key, request an up-to-date
version by EMail to the above address, with a subject of "Key Verification
Request".
Thank you for registering forthe JPEG Component Library.

View File

@ -0,0 +1,42 @@
Registration Form for JPEG Component Library
============================================
PLEASE SUPPLY ONE LICENCE FOR :
JPEG Component Library Source Licence 12 pounds sterling (US$20)
US dollar prices are for indicative pricing only and assume an exchange rate of
one pound = $1.66. All credit cards will be billed in pounds and converted to your
local currency by the credit company at current market rates. All prices are VAT
exclusive. UK VAT (currently 17.5%) will be charged for all UK residents and EC
residents that are not VAT registered or do not provide a VAT number as proof of
registration.
PLEASE CHARGE MY CREDIT CARD FOR THE FULL PURCHASE PRICE INCLUDING VAT WHERE
APPLICABLE AS FOLLOWS:
Credit Card No:
Expiry Date:
Name as it appears on credit card:
Billing Address:
EMail Address:
All registrations are accepted on the basis that the registered user will be
deemed to have accepted and be bound by the licence conditions for the registered
versions of the JPEG component library as recorded in the on-line
help file supplied with the evaluation version of the software.
EMail registrations should be sent to:
Internet: sales@mwassocs.demon.co.uk, or
Compuserve: 100041,315
FAX:
UK: 01962 735581
Int: +44 1962 735581
MWA Software,
P.O.Box 37,
Alresford,
Hants,
SO24 9ZF,
ENGLAND

81
CDopping/jpg3s/WHATS.NEW Normal file
View File

@ -0,0 +1,81 @@
JPEG Component Library Version 1.5 Release Notes
================================================
This is version 1.5 of MWA Software's popular JPEG Component Library.
New in this release:
1. This release is primarily for Delphi 4 support and to ensure a common
software base is maintained.
2. Two new methods "LoadPictureFromResource" and "LoadPictureFromResID"
are provided so that JPEG images can be packaged with a program as
resources and then loaded at run-time. This can save considerable space
compared with loading an image into TImage at run-time. See the help for
information on how to use this feature and the Viewer Demo application,
which includes a JPEG resource in its about box.
3. The Delphi 3 version should now install into the IDE without
generating a "A Device Attached to the System is not Working" error
message. This was due to the components having been compiled on a system
with Quick Reports Professional installed. This error message was
experienced by users that used the standard version shipped by Borland.
New features in Version 1.4:
1. Support for C++Builder 3.0. The component library now also supports
C++Builder 3.0. The functionality is identical to the other versions
and a common source base is still maintained.
2. No DLL required for Delphi 3, and all versions of C++Builder.
Version 1.3 required a separate dll for the JPEG compression software.
This is no longer true for Delphi 3 and C++Builder. By default the
JPEG software is linked into your program - dll support is still
available as a command line option.
3. Dynamic dll loading. The Delphi 1 and Delphi 2 versions now load
the JPEG dll dynamically. This enables a more meaningful error message
to be returned if the library cannot be found. The version 1.3 static
load is still available as an option.
4. A new visual component - TDBJPEGImage has been provided. This is a
data aware descendant of TImage that stores images in a database blob
field using JPEG compression.
5. Quick Reports support: with Quick Reports version 1, the
TDBJPEGImage may be included on a report. For version 2, a new
component TQRJPEGImage is provided so that you can print JPEG images
direct from a database.
Bug Fixes:
---------
1. Parameters to TStream.Seek in TJPEGCompressor.SkipInputBytes now
the correct way round :( Why didn't Borland make the "ORigin"
parameter an enumerated type then this typo would have been a compile
time error!
2. The error code returned from PlayEnhMetaFile is now returned in the
error messsage
3. The decompressor now has a property (ColoursIn8bitMode) that allows
the user to specify the actual numbers of discrete colours in the
image when decoding to a 256 colour image. This used to be 256.
However, a lower number can avoid a colour cast especially with Blank
and White images encoded as full colour images. The default is now 64.
4. When the buffer size is changed the buffer will now be freed and
reallocated.
5. An event handler for warning messages has been added.
6. You should now be able to correctly save JPEG images when working
in the IDE and want to save an image as a JPEG at design time (but
only when the image was loaded from a JPEG source - the IDE cannot be
used to convert JPEG's to bitmaps, but it can be used to convert from
JPEGs to bitmaps.
7. OnProgressReport now spelt correctly! Note that uses upgrading from
earlier versions will experience an error message when loading
projects that use the JPEG Component Library reporting that the mis-
spelt property name cannot be found. Ignore this error and manually
direct the "OnProgressReport" to its event handler.

BIN
CDopping/jpg3s/mwjpeg.GID Normal file

Binary file not shown.

BIN
CabForCB.rar Normal file

Binary file not shown.

7
Impotante.txt Normal file
View File

@ -0,0 +1,7 @@
*.BPI |___\
*.LIB | / /LIB
*.BPL |---> /BIN

9
README.md Normal file
View File

@ -0,0 +1,9 @@
#Componentes
*19/07/1998*
ToDo: wwtcf?
![screenshot](/Componentes.png "Screenshot")

25
TCalendario.cpp Normal file
View File

@ -0,0 +1,25 @@
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
#include "TCalendario.h"
//---------------------------------------------------------------------------
static inline Calendario *ValidCtrCheck()
{
return new Calendario(NULL);
}
//---------------------------------------------------------------------------
__fastcall Calendario::Calendario(TComponent* Owner)
: TWinControl(Owner)
{
}
//---------------------------------------------------------------------------
namespace Tcalendario
{
void __fastcall Register()
{
TComponentClass classes[1] = {__classid(Calendario)};
RegisterComponents("JD Soft.", classes, 0);
}
}
//---------------------------------------------------------------------------

19
TCalendario.h Normal file
View File

@ -0,0 +1,19 @@
//---------------------------------------------------------------------------
#ifndef TCalendarioH
#define TCalendarioH
//---------------------------------------------------------------------------
#include <vcl\SysUtils.hpp>
#include <vcl\Controls.hpp>
#include <vcl\Classes.hpp>
#include <vcl\Forms.hpp>
//---------------------------------------------------------------------------
class Calendario : public TWinControl
{
private:
protected:
public:
__fastcall Calendario(TComponent* Owner);
__published:
};
//---------------------------------------------------------------------------
#endif

BIN
TCalendario.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

3
cleanup.bat Normal file
View File

@ -0,0 +1,3 @@
del *.~*
del *.tds
del *.obj

BIN
imageLib/ColImage.bpi Normal file

Binary file not shown.

BIN
imageLib/ColImage.bpl Normal file

Binary file not shown.

BIN
imageLib/ColImage.lib Normal file

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More