	.386p
	ifndef	??version
?debug	macro
	endm
publicdll macro	name
	public	name
	endm
	endif
	?debug	V 300h
	?debug	S "BC_DEMO.CPP"
	?debug	C E9D955C8320B42435F44454D4F2E435050
	?debug	C E9235C334719433A5C424333315C494E434C554445325C53594D42+
	?debug	C 4F4C2E48
	?debug	C E972A3413919433A5C424333315C494E434C554445325C4249544D+
	?debug	C 41502E48
	?debug	C E91A56CA3417433A5C424333315C494E434C554445325C49434F4E+
	?debug	C 2E48
	?debug	C E9D271443916433A5C424333315C494E434C554445325C4749462E+
	?debug	C 48
	?debug	C E996A48B4219433A5C424333315C494E434C554445325C4D454D4F+
	?debug	C 52592E48
	?debug	C E94019CA1818433A5C424333315C494E434C5544455C5354444C49+
	?debug	C 422E48
	?debug	C E94019CA1817433A5C424333315C494E434C5544455C5F44454653+
	?debug	C 2E48
	?debug	C E94019CA1815433A5C424333315C494E434C5544455C444F532E48
	?debug	C E94019CA1817433A5C424333315C494E434C5544455C535444494F+
	?debug	C 2E48
	?debug	C E94019CA1818433A5C424333315C494E434C5544455C5F4E46494C+
	?debug	C 452E48
	?debug	C E94019CA1817433A5C424333315C494E434C5544455C434F4E494F+
	?debug	C 2E48
	?debug	C E94019CA181B433A5C424333315C494E434C5544455C5359535C5C+
	?debug	C 535441542E48
	?debug	C E98881753917433A5C424333315C494E434C554445325C4A504547+
	?debug	C 2E48
	?debug	C E9E94C7C4F1A433A5C424333315C494E434C554445325C50524956+
	?debug	C 4154452E48
	?debug	C E9E258824F1A433A5C424333315C494E434C554445325C4D594652+
	?debug	C 414D452E48
	?debug	C E94019CA1818433A5C424333315C494E434C5544455C5354444C49+
	?debug	C 422E48
	?debug	C E94019CA1817433A5C424333315C494E434C5544455C535444494F+
	?debug	C 2E48
	?debug	C E94019CA1816433A5C424333315C494E434C5544455C42494F532E+
	?debug	C 48
	?debug	C E94019CA1814433A5C424333315C494E434C5544455C494F2E48
	?debug	C E94019CA1817433A5C424333315C494E434C5544455C434F4E494F+
	?debug	C 2E48
	?debug	C E94019CA181A433A5C424333315C494E434C5544455C4752415048+
	?debug	C 4943532E48
	?debug	C E94019CA1817433A5C424333315C494E434C5544455C414C4C4F43+
	?debug	C 2E48
	?debug	C E94019CA1815433A5C424333315C494E434C5544455C4449522E48
	?debug	C E94019CA1818433A5C424333315C494E434C5544455C535452494E+
	?debug	C 472E48
	?debug	C E94019CA1815433A5C424333315C494E434C5544455C444F532E48
	?debug	C E94019CA1816433A5C424333315C494E434C5544455C54494D452E+
	?debug	C 48
	?debug	C E94019CA1816433A5C424333315C494E434C5544455C4D4154482E+
	?debug	C 48
	?debug	C E94019CA1818433A5C424333315C494E434C5544455C4D414C4C4F+
	?debug	C 432E48
	?debug	C E94019CA1817433A5C424333315C494E434C5544455C414C4C4F43+
	?debug	C 2E48
	?debug	C E9235C334719433A5C424333315C494E434C554445325C53594D42+
	?debug	C 4F4C2E48
	?debug	C E97762234018433A5C424333315C494E434C554445325C4D4F5553+
	?debug	C 452E48
	?debug	C E996A48B4219433A5C424333315C494E434C554445325C4D454D4F+
	?debug	C 52592E48
	?debug	C E93851453A17433A5C424333315C494E434C554445325C464F4E54+
	?debug	C 2E48
	?debug	C E9654661411B433A5C424333315C494E434C554445325C48474C47+
	?debug	C 505249542E48
	?debug	C E996A48B4219433A5C424333315C494E434C554445325C4D454D4F+
	?debug	C 52592E48
	?debug	C E9BC5039391B433A5C424333315C494E434C554445325C52454749+
	?debug	C 535445522E48
	?debug	C E9235C334719433A5C424333315C494E434C554445325C53594D42+
	?debug	C 4F4C2E48
	?debug	C E9D353E23A1A433A5C424333315C494E434C554445325C4C495354+
	?debug	C 494E472E48
	?debug	C E9D353E23A1A433A5C424333315C494E434C554445325C4C495354+
	?debug	C 494E472E48
	?debug	C E9D4A5D9401B433A5C424333315C494E434C554445325C53564741+
	?debug	C 5F4445562E48
	?debug	C E98950FD3E17433A5C424333315C494E434C554445325C56424533+
	?debug	C 2E48
	?debug	C E9235C334719433A5C424333315C494E434C554445325C53594D42+
	?debug	C 4F4C2E48
	?debug	C E9DA89FB4619433A5C424333315C494E434C554445325C4B45524E+
	?debug	C 454C2E48
	?debug	C E94019CA1816433A5C424333315C494E434C5544455C54494D452E+
	?debug	C 48
	?debug	C E9C76B384F18433A5C424333315C494E434C554445325C47524150+
	?debug	C 482E48
	?debug	C E9F8B829451A433A5C424333315C494E434C554445325C534F434B+
	?debug	C 4554332E48
	?debug	C E9235C334719433A5C424333315C494E434C554445325C53594D42+
	?debug	C 4F4C2E48
	?debug	C E996A48B4219433A5C424333315C494E434C554445325C4D454D4F+
	?debug	C 52592E48
	?debug	C E9A454E23A1A433A5C424333315C494E434C554445325C534F434B+
	?debug	C 4554352E48
	?debug	C E92DAB29451A433A5C424333315C494E434C554445325C534F434B+
	?debug	C 4554342E48
	?debug	C E9F8B829451A433A5C424333315C494E434C554445325C534F434B+
	?debug	C 4554332E48
	?debug	C E92258714F1A433A5C424333315C494E434C554445325C4E45574D+
	?debug	C 4154482E48
	?debug	C E9A8548B4319433A5C424333315C494E434C554445325C53504C49+
	?debug	C 4E452E48
	?debug	C E91D51E23A19433A5C424333315C494E434C554445325C57495A41+
	?debug	C 52442E48
	?debug	C E91854C5321A433A5C424333315C494E434C554445325C42415243+
	?debug	C 4F44452E48
BC_DEMO_TEXT	segment byte public use16 'CODE'
BC_DEMO_TEXT	ends
DGROUP	group	_DATA,_BSS
	assume	cs:BC_DEMO_TEXT,ds:DGROUP
_DATA	segment word public use16 'DATA'
d@	label	byte
d@w	label	word
_DATA	ends
_BSS	segment word public use16 'BSS'
b@	label	byte
b@w	label	word
_BSS	ends
BC_DEMO_TEXT	segment byte public use16 'CODE'
	assume	cs:BC_DEMO_TEXT
@PaintBarCode_BarCode$qiinzcif	proc	far
	enter	288,0
	push	si
	mov	si,word ptr [bp+14]
	push	dword ptr [bp+10]
	push	ss
	lea	ax,word ptr [bp-258]
	push	ax
	call	far ptr __fstrcpy
	add	sp,8
	push	ss
	lea	ax,word ptr [bp-258]
	push	ax
	call	far ptr @CRegister@TrimLeft$qnzc
	add	sp,4
	push	ss
	lea	ax,word ptr [bp-258]
	push	ax
	call	far ptr @CRegister@TrimRight$qnzc
	add	sp,4
	push	ss
	lea	ax,word ptr [bp-258]
	push	ax
	call	far ptr __fstrupr
	add	sp,4
	call	far ptr @GetMouse$qv
	mov	word ptr [bp-2],ax
	call	far ptr @CloseMouse$qv
	push	ss
	lea	ax,word ptr [bp-288]
	push	ax
	call	far ptr @CBarCode@$bctr$qv
	add	sp,4
	push	si
	push	ss
	lea	ax,word ptr [bp-288]
	push	ax
	call	far ptr @@CBarCode@SetStyle$qi
	add	sp,6
	push	large 000280136h
	push	word ptr [bp+8]
	push	word ptr [bp+6]
	push	ss
	lea	ax,word ptr [bp-288]
	push	ax
	call	far ptr @@CBarCode@SetRect$qiiii
	add	sp,12
	push	0
	push	ss
	lea	ax,word ptr [bp-288]
	push	ax
	call	far ptr @@CBarCode@SetModifyHeight$qi
	add	sp,6
	cmp	si,5
	jne	short @1@86
	push	large 000010003h
	push	3
	push	ss
	lea	ax,word ptr [bp-288]
	push	ax
	call	far ptr @CBarCode@SetISBNAttrib$qiii
	add	sp,10
@1@86:
	cmp	si,6
	jne	short @1@142
	push	1
	push	ss
	lea	ax,word ptr [bp-288]
	push	ax
	call	far ptr @CBarCode@SetISSNAttrib$qi
	add	sp,6
@1@142:
	cmp	si,4
	jne	short @1@198
	push	1
	push	ss
	lea	ax,word ptr [bp-288]
	push	ax
	call	far ptr @CBarCode@Set39Attrib$qi
	add	sp,6
@1@198:
	cmp	si,7
	jne	short @1@254
	push	large 1
	push	ss
	lea	ax,word ptr [bp-288]
	push	ax
	call	far ptr @CBarCode@SetX25Attrib$qii
	add	sp,8
@1@254:
	push	ss
	lea	ax,word ptr [bp-258]
	push	ax
	push	ss
	lea	ax,word ptr [bp-288]
	push	ax
	call	far ptr @CBarCode@DrawBarCode$qnzc
	add	sp,8
	push	word ptr [bp-2]
	call	far ptr @SetMouse$qi
	pop	cx
	pop	si
	leave	
	ret	
@PaintBarCode_BarCode$qiinzcif	endp
	assume	cs:BC_DEMO_TEXT
@OnDraw_BarCodeDemo$qn7CObject	proc	far
	push	bp
	mov	bp,sp
	fld1	
	sub	sp,4
	fstp	dword ptr [bp-4]
	push	0
	push	ds
	push	offset DGROUP:s@+1
	push	large 0000A0005h
	fwait	
	push	cs
	call	near ptr @PaintBarCode_BarCode$qiinzcif
	add	sp,14
	push	0
	push	ds
	push	offset DGROUP:s@+13
	push	large 1
	push	large 15
	push	large 000320005h
	call	far ptr @ChPrintf$qiiiiiinxzci
	add	sp,18
	fld1	
	sub	sp,4
	fstp	dword ptr [bp-4]
	push	1
	push	ds
	push	offset DGROUP:s@+23
	push	large 000460005h
	fwait	
	push	cs
	call	near ptr @PaintBarCode_BarCode$qiinzcif
	add	sp,14
	push	0
	push	ds
	push	offset DGROUP:s@+31
	push	large 1
	push	large 15
	push	large 0006E0005h
	call	far ptr @ChPrintf$qiiiiiinxzci
	add	sp,18
	fld1	
	sub	sp,4
	fstp	dword ptr [bp-4]
	push	2
	push	ds
	push	offset DGROUP:s@+41
	push	large 000820005h
	fwait	
	push	cs
	call	near ptr @PaintBarCode_BarCode$qiinzcif
	add	sp,14
	push	0
	push	ds
	push	offset DGROUP:s@+54
	push	large 1
	push	large 15
	push	large 000AA0005h
	call	far ptr @ChPrintf$qiiiiiinxzci
	add	sp,18
	fld1	
	sub	sp,4
	fstp	dword ptr [bp-4]
	push	3
	push	ds
	push	offset DGROUP:s@+65
	push	large 000BE0005h
	fwait	
	push	cs
	call	near ptr @PaintBarCode_BarCode$qiinzcif
	add	sp,14
	push	0
	push	ds
	push	offset DGROUP:s@+73
	push	large 1
	push	large 15
	push	large 000E60005h
	call	far ptr @ChPrintf$qiiiiiinxzci
	add	sp,18
	fld1	
	sub	sp,4
	fstp	dword ptr [bp-4]
	push	4
	push	ds
	push	offset DGROUP:s@+83
	push	large 000FA0005h
	fwait	
	push	cs
	call	near ptr @PaintBarCode_BarCode$qiinzcif
	add	sp,14
	push	0
	push	ds
	push	offset DGROUP:s@+96
	push	large 1
	push	large 15
	push	large 001220005h
	call	far ptr @ChPrintf$qiiiiiinxzci
	add	sp,18
	fld1	
	sub	sp,4
	fstp	dword ptr [bp-4]
	push	5
	push	ds
	push	offset DGROUP:s@+103
	push	large 001360005h
	fwait	
	push	cs
	call	near ptr @PaintBarCode_BarCode$qiinzcif
	add	sp,14
	push	0
	push	ds
	push	offset DGROUP:s@+113
	push	large 1
	push	large 15
	push	large 0015E0005h
	call	far ptr @ChPrintf$qiiiiiinxzci
	add	sp,18
	fld1	
	sub	sp,4
	fstp	dword ptr [bp-4]
	push	6
	push	ds
	push	offset DGROUP:s@+122
	push	large 001720005h
	fwait	
	push	cs
	call	near ptr @PaintBarCode_BarCode$qiinzcif
	add	sp,14
	push	0
	push	ds
	push	offset DGROUP:s@+132
	push	large 1
	push	large 15
	push	large 0019A0005h
	call	far ptr @ChPrintf$qiiiiiinxzci
	add	sp,18
	fld1	
	sub	sp,4
	fstp	dword ptr [bp-4]
	push	7
	push	ds
	push	offset DGROUP:s@+141
	push	large 0000A0140h
	fwait	
	push	cs
	call	near ptr @PaintBarCode_BarCode$qiinzcif
	add	sp,14
	push	0
	push	ds
	push	offset DGROUP:s@+149
	push	large 1
	push	large 15
	push	large 000320140h
	call	far ptr @ChPrintf$qiiiiiinxzci
	add	sp,18
	fld1	
	sub	sp,4
	fstp	dword ptr [bp-4]
	push	8
	push	ds
	push	offset DGROUP:s@+157
	push	large 000460140h
	fwait	
	push	cs
	call	near ptr @PaintBarCode_BarCode$qiinzcif
	add	sp,14
	push	0
	push	ds
	push	offset DGROUP:s@+165
	push	large 1
	push	large 15
	push	large 0006E0140h
	call	far ptr @ChPrintf$qiiiiiinxzci
	add	sp,18
	fld1	
	sub	sp,4
	fstp	dword ptr [bp-4]
	push	9
	push	ds
	push	offset DGROUP:s@+177
	push	large 000820140h
	fwait	
	push	cs
	call	near ptr @PaintBarCode_BarCode$qiinzcif
	add	sp,14
	push	0
	push	ds
	push	offset DGROUP:s@+185
	push	large 1
	push	large 15
	push	large 000AA0140h
	call	far ptr @ChPrintf$qiiiiiinxzci
	add	sp,18
	pop	bp
	ret	
@OnDraw_BarCodeDemo$qn7CObject	endp
	assume	cs:BC_DEMO_TEXT
@BarCodeDemo$qv	proc	far
	enter	4,0
	push	large 0
	call	far ptr @CDialog@$bctr$qv
	add	sp,4
	mov	word ptr [bp-2],dx
	mov	word ptr [bp-4],ax
	push	ds
	push	offset DGROUP:s@+193
	push	large 001E00280h
	push	large 0
	push	dx
	push	ax
	call	far ptr @CWindow@CreateWindow$qiiiinxzc
	add	sp,16
	push	dword ptr [bp-4]
	call	far ptr @CWindow@Center$qv
	add	sp,4
	push	dword ptr [bp-4]
	push	large 0
	call	far ptr @CCloseButton@$bctr$qn7CObject
	add	sp,8
	push	seg @OnDraw_BarCodeDemo$qn7CObject
	push	offset @OnDraw_BarCodeDemo$qn7CObject
	push	dword ptr [bp-4]
	call	far ptr @@CWindow@SetDrawFc$qnqn7CObject$v
	add	sp,8
	push	large 1
	push	dword ptr [bp-4]
	call	far ptr @CWindow@ShowWindow$qul
	add	sp,8
	push	dword ptr [bp-4]
	call	far ptr @CDialog@DoModal$qv
	add	sp,4
	cmp	dword ptr [bp-4],large 0
	je	short @3@86
	push	3
	push	dword ptr [bp-4]
	les	bx,dword ptr [bp-4]
	mov	bx,word ptr es:[bx]
	call	dword ptr [bx+44]
	add	sp,6
	jmp	short @3@86
@3@86:
	leave	
	ret	
@BarCodeDemo$qv	endp
BC_DEMO_TEXT	ends
BC_DEMO_TEXT	segment byte public use16 'CODE'
@CBarCode@SetStyle$qi	segment	virtual
	assume	cs:@CBarCode@SetStyle$qi
@@CBarCode@SetStyle$qi	proc	far
	push	bp
	mov	bp,sp
	les	bx,dword ptr [bp+6]
	mov	ax,word ptr [bp+10]
	mov	word ptr es:[bx+8],ax
	pop	bp
	ret	
@@CBarCode@SetStyle$qi	endp
@CBarCode@SetStyle$qi	ends
BC_DEMO_TEXT	ends
BC_DEMO_TEXT	segment byte public use16 'CODE'
@CBarCode@SetRect$qiiii	segment	virtual
	assume	cs:@CBarCode@SetRect$qiiii
@@CBarCode@SetRect$qiiii	proc	far
	push	bp
	mov	bp,sp
	mov	dx,word ptr [bp+10]
	mov	cx,word ptr [bp+12]
	les	bx,dword ptr [bp+6]
	mov	word ptr es:[bx],dx
	mov	word ptr es:[bx+2],cx
	mov	ax,dx
	add	ax,word ptr [bp+14]
	dec	ax
	mov	word ptr es:[bx+4],ax
	mov	ax,cx
	add	ax,word ptr [bp+16]
	dec	ax
	mov	word ptr es:[bx+6],ax
	pop	bp
	ret	
@@CBarCode@SetRect$qiiii	endp
@CBarCode@SetRect$qiiii	ends
BC_DEMO_TEXT	ends
BC_DEMO_TEXT	segment byte public use16 'CODE'
@CBarCode@SetModifyHeight$qi	segment	virtual
	assume	cs:@CBarCode@SetModifyHeight$qi
@@CBarCode@SetModifyHeight$qi	proc	far
	push	bp
	mov	bp,sp
	les	bx,dword ptr [bp+6]
	mov	ax,word ptr [bp+10]
	mov	word ptr es:[bx+16],ax
	pop	bp
	ret	
@@CBarCode@SetModifyHeight$qi	endp
@CBarCode@SetModifyHeight$qi	ends
BC_DEMO_TEXT	ends
BC_DEMO_TEXT	segment byte public use16 'CODE'
@CWindow@SetDrawFc$qnqn7CObject$v	segment	virtual
	assume	cs:@CWindow@SetDrawFc$qnqn7CObject$v
@@CWindow@SetDrawFc$qnqn7CObject$v	proc	far
	push	bp
	mov	bp,sp
	les	bx,dword ptr [bp+6]
	mov	eax,dword ptr [bp+10]
	mov	dword ptr es:[bx+276],eax
	pop	bp
	ret	
@@CWindow@SetDrawFc$qnqn7CObject$v	endp
	?debug	C E9
	?debug	C FA10010000
@CWindow@SetDrawFc$qnqn7CObject$v	ends
BC_DEMO_TEXT	ends
_DATA	segment word public use16 'DATA'
s@	label	byte
	db	0
	db	'12345678901'
	db	0
	db	'UPC_A'
	db	204
	db	245
	db	194
	db	235
	db	0
	db	'0123456'
	db	0
	db	'UPC_E'
	db	204
	db	245
	db	194
	db	235
	db	0
	db	'123456789012'
	db	0
	db	'EAN_13'
	db	204
	db	245
	db	194
	db	235
	db	0
	db	'1234567'
	db	0
	db	'EAN_8'
	db	204
	db	245
	db	194
	db	235
	db	0
	db	'Sail-1234567'
	db	0
	db	'39'
	db	204
	db	245
	db	194
	db	235
	db	0
	db	'123456789'
	db	0
	db	'ISBN'
	db	204
	db	245
	db	194
	db	235
	db	0
	db	'123456789'
	db	0
	db	'ISSN'
	db	204
	db	245
	db	194
	db	235
	db	0
	db	'1234567'
	db	0
	db	'X25'
	db	204
	db	245
	db	194
	db	235
	db	0
	db	'1234567'
	db	0
	db	'Codabar'
	db	204
	db	245
	db	194
	db	235
	db	0
	db	'1234567'
	db	0
	db	'128'
	db	204
	db	245
	db	194
	db	235
	db	0
	db	'BarCode Demo'
	db	0
_DATA	ends
BC_DEMO_TEXT	segment byte public use16 'CODE'
BC_DEMO_TEXT	ends
	public	@BarCodeDemo$qv
	public	@OnDraw_BarCodeDemo$qn7CObject
	public	@PaintBarCode_BarCode$qiinzcif
	extrn	@CBarCode@$bctr$qv:far
	extrn	@CBarCode@DrawBarCode$qnzc:far
	extrn	@CBarCode@SetX25Attrib$qii:far
	extrn	@CBarCode@Set39Attrib$qi:far
	extrn	@CBarCode@SetISSNAttrib$qi:far
	extrn	@CBarCode@SetISBNAttrib$qiii:far
	extrn	@CCloseButton@$bctr$qn7CObject:far
	extrn	@CDialog@$bctr$qv:far
	extrn	@CDialog@DoModal$qv:far
	extrn	@CWindow@ShowWindow$qul:far
	extrn	@CWindow@Center$qv:far
	extrn	@CWindow@CreateWindow$qiiiinxzc:far
	extrn	@CRegister@TrimRight$qnzc:far
	extrn	@CRegister@TrimLeft$qnzc:far
	extrn	@ChPrintf$qiiiiiinxzci:far
	extrn	@SetMouse$qi:far
	extrn	@GetMouse$qv:far
	extrn	@CloseMouse$qv:far
	extrn	__fstrupr:far
	extrn	__fstrcpy:far
_pokeb	equ	pokeb
_poke	equ	poke
_peekb	equ	peekb
_peek	equ	peek
_atoi	equ	atoi
_abs	equ	abs
_s@	equ	s@
	end
