Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dr. admin

como faço paginação com array?

Recommended Posts

quero aprender a fazer paginação mas não encontro nada na web concreto.

 

 

por favior me ajudem...........

 

 

quero aprender a fazer paginação na lógica, com array, matriz e etc.

 

por favor me ajudem ok.

Compartilhar este post


Link para o post
Compartilhar em outros sites

humm...

paginação com array... nunca fiz assim, mas geralmente o que se precisa para tal é: quantidade total de registros, quantidade de registro que devem ser exibidos por página, o nº da página a ser exibida.

 

com a quantidade total de registros e registros por páginas, você consegue saber quantas páginas terão.

a partir daí, de acordo com a página a ser exibida você vai precisar calcular o registro inicial a ser lido.

 

eis um código que acabei de fazer um teste e está funcionando:

Option Explicit
Dim Nomes(16)	   As String   'Nosso array com o conteúdo
Dim QtdReg		  As Long	 'Total de Registros
Dim PagAtu		  As Integer  'Página atual
Dim QtdPaginas	  As Integer  'Total de páginas
Dim RegIni		  As Long	 'Registro inicial de acordo com a página
Dim RegPag		  As Integer  'Registros por página
Dim Contador		As Integer  'Variável de apoio utilizada na leitura do array
Dim RegAtu		  As Integer  'Registro atual do array

Private Sub Command1_Click()
  'incrementar a página
  If PagAtu + 1 <= QtdPaginas Then
	PagAtu = PagAtu + 1
  Else
	PagAtu = 1
  End If
  'calcular o registro inicial de acordo com a página
  RegIni = (PagAtu * RegPag) - RegPag
  RegAtu = RegIni
  For Contador = 1 To RegPag
	doevents
	Debug.Print Nomes(RegAtu)
	RegAtu = RegAtu + 1
	'verificar se já chegou no último registro do array, se sim, sair do Loop
	If RegAtu >= QtdReg Then
	  Exit For
	End If
  Next
End Sub

Private Sub Form_Load()
  'preencher nome de teste
  Dim cont		As Integer
  For cont = 0 To 16
	Nomes(cont) = "Nome " & cont
  Next
  RegPag = 10
  QtdReg = UBound(Nomes) + 1
  QtdPaginas = Round(QtdReg / RegPag)
End Sub

Cria um novo projeto e ponha este código, e um botão. Ao clicar no botão irá simular uma navegação e o resultado será exibido na janelinha de depuração (Immediate).

 

Claro que não é uma navegação completa e não está lá estas coisas, mas é o básico e está funcionando.

 

Lembrando que Array, a primeira posição é o 0(zero).

Este UBound retorna a última posição do array, NÃO É a quantidade de registros do array, por isto o +1 lá no Form_Load().

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.