Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!

PegaMemo

Objetivo e utilização:

Esta função lê um item memo de um Banco de Dados para um buffer.

Sintaxe:

PegaMemo (char *arq, char *item, char *area, long tam, long *lid, long ofe) 

Parâmetros:

Deve-se informar:

O parâmetro offset (ofe) representa a posição inicial para iniciar a leitura de um item memo (item). O item será lido passo a passo de acordo com um loop e a cada passo o offset deve ser incrementado do tamanho lido (lid). Finalmente a função retorna o parâmetro do buffer (area) e seu tamanho (tam).

Exemplos:

Exemplo em VB:

Sub list_depart_DblClick ( )

If Len(Dir("c:\dlls\temp.txt")) <> 0 Then

 Kill "c:\dlls\temp.txt"

End If

If Len(Dir("c:\dlls\temp.bmp")) <> 0 Then

 Kill "c:\dlls\temp.bmp"

End If

Dim buffer As String * 6

ReDim items(2) As itens

‘localiza no registro 

items(0).item = "dept_code"

items(1).item = ""

aa = ObtemRegistrosNoArquivo("dept")

 result = ReiniciaSequencial("dept")

For i = 1 To aa

 result = LeProximoSequencial("dept", items(0), buffer)

 If Mid(buffer, 1, 6) = Mid(list_depart.List (list_depart.ListIndex), 1, 6) Then

  Exit For

 End If

Next i

frm_edit1.MousePointer = 11

‘le descricao do departamento de um arquivo do Banco de Dados

Dim input_buffer1 As String * 1024

Dim read_size As Long

read_size = 0

offset = 0

Open "c:\dlls\temp.txt" For Binary Access Write As #1

Do While 1

 result = PegaMemo("dept", "dept_desc", input_buffer1, Len(input_buffer1), read_size, offset)

 If read_size <> 0 Then

 Put #1, , input_buffer1

 Else

 Exit Do

 End If

 offset = offset + read_size

Loop

Close #1

Dim tempchar As String * 1000

edit_desp.Text = Space(0)

Open "c:\dlls\temp.txt" For Binary Access Read As #1

Do While Not EOF(1)

 Get #1, , tempchar

 edit_desp.Text = edit_desp.Text + tempchar

Loop

Close #1

‘lê musica do departamento de um arquivo do banco

read_size = 0

offset = 0

Open "c:\dlls\temp.bmp" For Binary Access Write As #1

Do While 1

 result = PegaMemo("dept", "dept_music", global_buffer, Len(global_buffer), read_size, offset)

 If read_size <> 0 Then

 Put #1, , global_buffer

 Else

 Exit Do

 End If

 offset = offset + read_size

Loop

Close #1

If FileLen("c:\dlls\temp.bmp") <> 0 Then

 image_music.Picture = LoadPicture("c:\dlls\temp.bmp")

Else

 image_music.Picture = LoadPicture()

End If

frm_edit1.MousePointer = 0

End Sub

Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!