Clarion - Codigo e barras

 
Vista:

Codigo e barras

Publicado por Marco A. Torices (5 intervenciones) el 06/06/2013 20:00:15
Me podrías Manda un ejemplo de como funciona esto del código de barras ¡ Gracias !
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Codigo e barras

Publicado por Ricardo (196 intervenciones) el 13/06/2013 13:31:00
Hay un codigo de Fuentes de windows que se llama
3of9 barcode. Agregas el fuente a tu listas de fuentes de windows, como si fuera un arial, o cualquier otra. Luego en la aplicacion si quieres poner:
12345 en codigo de marras, pones:
*12345*
Los asteriscos hacen de delimitador y especificas que todo este texto va con este fuente.
Queria enviarte el Font. pero no encuentro como adjuntarlo al mensaje.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ebert

Codigo e barras

Publicado por Ebert (4 intervenciones) el 01/12/2014 03:58:45
Solo debes bajarte la fuente code128.ttf que adjunto al mensaje, la instalas en la maquina, y ya el clarion puede reconocerla, y al momento de imprimir el reporte, formateas la cadena a imprimir con la funcion sql que describo abajo... Espero le sirva a la comunidad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
CREATE FUNCTION [dbo].[FNK_CODE128B] (@TEXTO VARCHAR(252))
RETURNS VARCHAR(255)
AS
BEGIN
	DECLARE @RESULTADO VARCHAR(255)
	DECLARE @CARACTER CHAR(1)
	DECLARE @CHECKSUM INT
	DECLARE @TMP INT
	DECLARE @ii INT
 
	SET @CHECKSUM = 104
	SET @ii = 1
 
	WHILE @ii <= LEN(@TEXTO)
	BEGIN
		SET @CARACTER = SUBSTRING(@TEXTO,@ii,1)
		SET @TMP = ASCII(@CARACTER)
		SET @TMP = CASE WHEN (@TMP >= 32 AND @TMP < 127) THEN @TMP - 32 ELSE @TMP END
 
		SET @CHECKSUM = @CHECKSUM + (@TMP*@ii)
		SET @ii = @ii + 1
	END
 
	SET @CHECKSUM = @CHECKSUM % 103
	SET @CHECKSUM =	CASE @CHECKSUM
					WHEN 95 THEN ASCII('È')
					WHEN 96 THEN ASCII('É')
					WHEN 97 THEN ASCII('Ê')
					WHEN 98 THEN ASCII('Ë')
					WHEN 99 THEN ASCII('Ì')
					WHEN 100 THEN ASCII('Í')
					WHEN 101 THEN ASCII('Î')
					WHEN 102 THEN ASCII('Ï')
					ELSE @CHECKSUM + 32
				END
 
	SET @RESULTADO = 'Ñ' + @TEXTO + CHAR(@CHECKSUM) + 'Ó'
 
	RETURN(@RESULTADO)
END
GO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar