
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
