GERAR ETIQUETAS EM 2 COLUNAS

PERCIFILHO 16/12/2013 09:59:16
#432122
Bom dia, galera. Estou eu aqui mais uma vez, precisando de uma ajudinha!!!!!!
Preciso gerar etiquetas, em 2 colunas e não estou conseguindo uma lógica para fazer isso.
Alguém pode me dar um exemplo, ou me explicar como se faz na lógica?
Até mais.
PERCIFILHO 16/12/2013 10:25:53
#432124
Galera, o que eu estou tentando fazer é assim:
Tenho o DataGridView com os produtos que estão cadastrados e o usuário vai checar os produtos quer ele quer emitir as etiquetas, e ele vai escolher entre uma coluna ou duas colunas, de acordo com o formulário que ele tiver em mãos.
Pois bem, tenho que percorrer a grid e verificar se a linha está com a coluna checada.
Se estiver, tem que imprimir esse registro, de acordo com a quantidade na última coluna.
Só que a impressão é em uma impressora matricial.
Com 1 coluna, é muito fácil, eu até já fiz, mas com 2 colunas eu não sei como fazer. A etiqueta fica mais ou menos assim:

11.01.0002 DUCHA BELA DUCHA LORENZETTI 11.01.0002 DUCHA BELA DUCHA LORENZETTI
4 TEMP 220 V (VER) 4 TEMP 220 V (VER)
R$ 20,00 R$ 20,00

Como faço para pegar o primeiro registro, imprimir uma linha e pegar o próximo registro, imprimir na mesma linha, depois pega a segunda linha de primeiro registro, imprime, aí pega a segunda linha do segundo registro e imprime, assim por diante, sinceramente não estou conseguindo controlar isso.
Se conseguir resolver isso, vou adaptar depois para poder imprimir em 3 colunas.
Alguém pode me ajudar, por favor?
KERPLUNK 16/12/2013 11:02:17
#432125
Mais ou menos assim:

open [Ô]Lpt1[Ô] for output as #1
dim descricao as string
dim outro as string
dim valor as string
do while not rs.eof
for i% = 0 to 1
descricao = descricao & [Ô] [Ô] & rs!descricao
outro = outro & [Ô] [Ô] & rs!outro_campo
valor = valor & [Ô] [Ô] & rs!valor
next i%
print #1, descricao
print #1, outro
print #1, valor

descricao = [Ô][Ô]
outro = [Ô][Ô]
valor = [Ô][Ô]
rs.movenext
loop
close #1
PERCIFILHO 16/12/2013 13:09:58
#432133
Caro Kerplunk, dessa maneira não irá imprimir em apenas uma coluna?
KERPLUNK 16/12/2013 15:42:18
#432149
Verdade, o comando de [Ô]movenext[Ô], fica dentro do for que está dentro do loop, falha minha.
PERCIFILHO 16/12/2013 16:49:25
#432157
Olha, estou fazendo do meu jeito e parece que está dando certo.
Assim que terminar eu posto o resultado.

Até mais.
KERPLUNK 17/12/2013 10:11:21
#432181
Ok, boa sorte!
PERCIFILHO 18/12/2013 16:30:25
#432281
Não consegui fazer, não, se alguém puder me ajudar, agradeço muito.

Até mais.
PERCIFILHO 19/12/2013 12:48:01
#432316
Quem me conhece, sabe que eu não sou de desistir muito fácil.
Estou tentando há uma semana e, só agora, parece que estou chegando lá, depois de quebrar (e muuuuuito!) a cabeça.
Assim que fizer mais alguns testes e estiver tudo ok, aí, sim, postarei o resultado. Pode ser que alguém também precise disso um dia.

Até mais.
PERCIFILHO 20/12/2013 09:01:43
#432352
Áí, galera, o resultado da impressão de etiquetas.
Por enquanto, só imprime em uma ou duas colunas.
Posteriormente, adaptarei para poder imprimir em 3 colunas.
Vou deixar o tópico aberto por enquanto, pois se alguém quiser dar alguma opinião ou sugestão, vou aguardar....
Se encontrarem algum erro é só falar.

Até mais.
KERPLUNK 20/12/2013 10:46:23
#432367

daitens = New SqlCeDataAdapter([Ô]Select * From Itens Order by codigo[Ô], ccconexao)
LeitorItens = New DataTable()
daitens.Fill(LeitorItens)
While LinhaTabelaItens < LeitorItens.Rows.Count
codigo1 = LeitorItens.Rows(LinhaTabelaItens)([Ô]codigo[Ô]).ToString
descricao1 = LeitorItens.Rows(LinhaTabelaItens)([Ô]descricao[Ô]).ToString
preco1 = LeitorItens.Rows(LinhaTabelaItens)([Ô]precovenda[Ô]).ToString
unidade1 = LeitorItens.Rows(LinhaTabelaItens)([Ô]unidade[Ô]).ToString
For y As Integer = 1 To TxtQuantidade.Text
espaco = 35 - Len(nomeempresa) - 10
WriteFile.WriteLine(nomeempresa & Space(espaco) & codigo1)
WriteFile.WriteLine(Mid(descricao1, 1, 35))
WriteFile.WriteLine(Mid(descricao1, 36, 50))
espaco = 35 - Len([Ô]R$ [Ô]) - Len(preco1.TrimStart) - 3
WriteFile.WriteLine([Ô]R$ [Ô] & preco1.TrimStart & Space(espaco) & unidade1.PadLeft(3))
WriteFile.WriteLine([Ô][Ô])
WriteFile.WriteLine([Ô][Ô])
Next
LinhaTabelaItens += 1
End While


Isso é exatamente como eu tinha sugerido fazer...
Página 1 de 2 [15 registro(s)]
Tópico encerrado , respostas não são mais permitidas