unit CallForm;
interface
uses
SysUtils, Windows, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, Spin, ExtCtrls;
type
TForm1 = class(TForm)
BtnDouble: TButton;
SpinEdit1: TSpinEdit;
Label1: TLabel;
BtnTriple: TButton;
Label2: TLabel;
SpinEdit2: TSpinEdit;
BtnDoubleString: TButton;
BtnDoublePChar: TButton;
EditSource: TEdit;
EditDouble: TEdit;
Label3: TLabel;
Label4: TLabel;
Bevel1: TBevel;
Bevel2: TBevel;
procedure BtnDoubleClick(Sender: TObject);
procedure BtnTripleClick(Sender: TObject);
procedure BtnDoubleStringClick(Sender: TObject);
procedure BtnDoublePCharClick(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
function Double (N: Integer): Integer;
stdcall; external 'FIRSTDLL.DLL';
function Triple (N: Integer): Integer;
stdcall; external 'FIRSTDLL.DLL';
function DoubleString (S: string; Separator: Char): string;
stdcall; external 'FIRSTDLL.DLL';
function DoublePChar (BufferIn, BufferOut: PChar;
BufferOutLen: Cardinal; Separator: Char): LongBool;
stdcall; external 'FIRSTDLL.DLL';
procedure TForm1.BtnDoubleClick(Sender: TObject);
begin
SpinEdit1.Value := Double (SpinEdit1.Value);
end;
procedure TForm1.BtnTripleClick(Sender: TObject);
begin
SpinEdit2.Value:= Triple (SpinEdit2.Value);
end;
procedure TForm1.BtnDoubleStringClick(Sender: TObject);
begin
EditDouble.Text :=
DoubleString (EditSource.Text, ';');
end;
procedure TForm1.BtnDoublePCharClick(Sender: TObject);
var
Buffer: string;
begin
SetLength (Buffer, 1000);
if DoublePChar (PChar (EditSource.Text), PChar (Buffer), 1000, '/') then
EditDouble.Text := Buffer;
end;
end.
|