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

PoeMemo

Objetivo e utilização:

Essa função grava no banco um item memo (item) de um arquivo (arq). Entretando a informação é carregada para um buffer (area) de um tamanho especificado (tam).

Existe também um flag (flg) que pode receber dois valores : 0 or 1. O valor 0 tem que ser usado na primeira vez que a função é chamada (objetivo de append) e o valor 1 é usado para as outras chamadas (segunda, terceira e assim por diante).

A função é chamada mais que uma vez somente se o item a ser gravado for maior que o tamanho especificado para o buffer.

Sintaxe:

PoeMemo (char *arq, char *item, char *area, long tam, char flg)

Parâmetros:

Exemplos:

Exemplo em VB:

Sub cmd_ok_Click ()

Dim buffer As String * 14

Dim temp_buffer As String * 6

Dim result As Integer

ReDim items(3) As Itens

‘Entra nome de departamento para o banco no servidor

‘Pega o número máximo de dept_code

Filename = "dept"

cc = ObtemRegistrosNoArquivo(Trim(Filename))

result = ReiniciaSequencial("dept")

For i = 1 To cc

  items(0).item = "dept_code"

  items(1).item = ""

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

Next i

aa = Mid(temp_buffer, 1, 6)

maincode = Format(Val(aa) + 1, "000000")

buffer = maincode + edit_department_name.Text

‘Inclui registro

items(0).item = "dept_code"

items(1).item = "dept_name"

items(2).item = ""

result = InclueRegistro(Trim(Filename), items(0), buffer)

‘posiciona para o nove registro

items(0).item = "dept_code"

items(1).item = ""

result = LePorChavePrimaria("dept", maincode, items(0),temp_buffer)

‘Entra descrição do departamento para banco no servidor

‘———————————————————————

‘Inclui dado memo no banco com a função PoeMemo

If Len(Trim(edit_department_description.Text)) <> 0 Then

  Dim buffer1 As String

  buffer1 = edit_department_description.Text

  If Len(Trim(buffer1)) <> 0 Then

    Open "c:\dlls\temp.txt" For Output As #1

    Print #1, buffer1

    Close #1

  End If

  ‘Inclui descrição do departamento no banco

  Dim input_buffer1 As String * 180

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

  aa = 0

  Do While Not EOF(1)

  Get #1, , input_buffer1

  If aa = 0 Then

    result = PoeMemo("dept", "dept_desc", input_buffer1, Len(input_buffer1), 0)

    aa = aa + 1

 Else

   result = PoeMemo("dept", "dept_desc", input_buffer1, Len(input_buffer1), 1)

  End If

  Loop

  Close #1

End If

‘Inclui imagem associada ao departamento no banco

If Len(Trim(putfilename)) <> 0 Then

  Dim input_buffer2 As String * 180

  Open putfilename For Binary Access Read As #1

   aa = 0

 Do While Not EOF(1)

 Get #1, , input_buffer2

 If aa = 0 Then

   result = PoeMemo("dept", "dept_music", input_buffer2, Len(input_buffer2), 0)

    aa = aa + 1

 Else

    result = PoeMemo("dept", "dept_music", input_buffer2, Len(input_buffer2), 1)

  End If

  Loop

  Close #1

End If

‘Fecha formulário corrente

Unload frm_add1

End Sub

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