quinta-feira, 21 de junho de 2018
Cuidados a ter antes de vender ou dar o seu dispositivo
Veja como fazê-lo aqui
terça-feira, 9 de janeiro de 2018
Experiência dum utilizador com o banco de dados Openoffice (Libre) chamado "Base"
Como um apoiante completamente convencido da maioria dos produtos do Openoffice, uso regularmente a planilha para todos os tipos de coisas. Então, quando eu queria analisar alguns sites históricos, eu comecei naturalmente importando um arquivo CSV (variável separada por vírgula) em uma planilha simples. Isso me deu os conceitos básicos de nome, localização, etc.
No entanto, percebi muito em breve que, porque não conseguia visitar todos os sites, fiquei severamente limitado em que informação eu poderia obter. E, portanto, eu tinha que confiar em: imagens disponíveis na web, descrições (muitas vezes apenas algumas palavras sobre cada local), mapas, fotografia aérea e visão de rua.
A maior parte desta informação é visual, então, para cada site, eu queria ter armazenado ao lado das descrições de texto e "sim / não" sobre quais recursos estavam em um site, as fotos originais. E enquanto eu tenho imagens copiadas e coladas em uma mesa muitas vezes antes, sempre foi problemática.
Paradoxalmente, embora você pense que armazenar uma imagem com dados seria fácil em Calc (planilha eletrônica), minha experiência é que ela é melhor armazenada no escritor do openoffice, pois ele lida muito melhor com o redimensionamento para se ajustar a imagens do que o openoffice calc. No escritor (quando você se lembra de como?) Eles ficam na mesa, mas no calc, parece que as imagens têm uma vida própria e, muito rapidamente, eu encontro imagens estranhas em todo o lugar que já não "pertence" a nenhum registro . (Talvez seja porque você inevitavelmente tenta classificar as tabelas - e as imagens ficam "deixadas para trás").
No entanto, as tabelas do openoffice podem ser melhor formatadas e mais fáceis de trabalhar quando as imagens estão presentes, mas são muito mais difíceis de usar quando os dados se estendem por várias larguras de tela. Você ganha porque as tabelas se expandem - mas isso significa que muito rapidamente a tabela é absolutamente enorme se qualquer um dos campos for grande. E isso é o que eu tive, imagens + várias larguras de tela de colunas. Além disso, é uma dor real quando você tem dados ímpares, por exemplo, dados que são realmente uma escolha de "OPÇÕES" (pequenas, médias, grandes, mega).
BASE
Percebendo que o projeto para analisar os dados poderia demorar até um mês, pensei que valia a pena gastar algum tempo, otimizando o método de gravação dos dados. A partir da minha experiência anterior com o Access e o MySQL que era claramente uma abordagem baseada em formulários com um banco de dados "tabela" (aka folha de cálculo), sentado em segundo plano, sendo preenchido pelo formulário.
Então, enquanto eu tentava e falhei antes, pensei que valia a pena examinar o produto Base Openoffice porque minha aplicação era TÃO SIMPLES. Meu raciocínio: "como ele poderia deixar de fazer algo tão simples?" (Bem, sim)
Obviamente, eu tinha tido uma olhada na base antes, mas não fiquei impressionado porque pareceu ter todos os recursos que eu achava tão úteis no Access. No entanto, porque eu não precisava de recursos complexos e era principalmente uma questão de "escala" e eficiência de entrada de dados e não precisava de muitos recursos complexos, eu decidi dar outro passo.
Agora, a realidade é que quando você abre a base, não há muito lá, que está imediatamente fora de colocar. Na verdade, não há opção para importar ou exportar dados - o que foi a primeira coisa que eu tive que fazer. E isso permite que você seja potente quando você não consegue iniciar um projeto sem ler muitos fóruns de ajuda para encontrar a resposta.
Descobriu que "tudo o que tinha que fazer" era copiar e colar. Coloco isso entre aspas, porque é quase inutilizável como uma característica. Ontem (como eu tentei migrar para fora da base), a única maneira de copiar meus dados fora da base era para outra versão da base conectada ao MySQL, era que eu tinha que copiar cada tabela, fechar a base, abri-la novamente, em seguida, colar e fechá-lo para cada tabela (ele continua tentando colar os mesmos dados, não importa o que você faz, até forçá-lo a limpar a memória, fechando-o).
E por que eu estava tentando armazenar meus dados no MySQL - porque a base bateu o primeiro dia que eu usei, eliminando meu banco de dados inteiro (e não há backup automático como em outros produtos) e ele já caiu regularmente. Felizmente, consegui recuperar o formulário, que era, paradoxalmente, as principais horas-homem de esforço. Mas ele caiu quase todos os dias, usei isso. E para as coisas mais simples ... como simplesmente arrastar uma caixa ao redor no designer do formulário .... CRASH ... e não só Baseado, mas todo o escritório aberto vai e, nesse momento, incluiu trabalho que não havia sido salvo no escritor.
Então, no caso de você querer a resposta curta para usar a base, não posso honestamente recomendá-la a qualquer um para qualquer propósito.
Recomendação
NÃO - NÃO O USE
Os principais motivos:
Ele trava tão freqüentemente que você não pode usá-lo para dados "efêmeros" - dados que são perdidos a menos que sejam gravados, como gravar quem telefonou para telefones (a menos que também tenha sido gravado em papel ou possa ser retirado de alguma outra forma).
Ele cai com tanta frequência que você deveria estar apoiando-o EXTREMAMENTE freqüentemente. Tão freqüentemente que você tem que parar regularmente de entrar nessa
quinta-feira, 16 de novembro de 2017
sexta-feira, 31 de março de 2017
Como imprimirir espelhado (texto invertido)
Se quiseres imprimir espelhado:
1. Escreve um texto no Word ou qualquer processador de texto
2. Abre as definições da impressora
3. Em propriedades – Mais opções- Assinala Espelho
4. Manda imprimir
Et voilá!
sexta-feira, 2 de dezembro de 2016
Base de Dados de Contabilidade
sexta-feira, 21 de outubro de 2016
Já está disponível o OpenOffice 4.1.3
quinta-feira, 11 de junho de 2015
Como abrir arquivos .eml
quinta-feira, 15 de maio de 2014
Já se encontra disponível a versão 4.1.0 do OpenOffice em Português
quarta-feira, 4 de setembro de 2013
Como desligar o Ubuntu 13.04 quando falha o rato
Pressionar ctrl+alt+f4
vai pedir para digitar o login e senha.
Depois digitar o comando:
para reiniciar:
$ sudo reboot
para desligar:
$ sudo shutdown -h now
Depois pede para digitar de novo a senha para o utilizador
Testei e resultou na perfeição, por isso aqui fica a dica.
quarta-feira, 24 de julho de 2013
Finalmente aí está o OpenOffice 4.0
Foi finalmente disponibilizado pela Fundação Apache o OpenOffice 4.0
Pode fazer o dowload da versão em Português (Europeu) aqui
quinta-feira, 4 de julho de 2013
Para quando o lançamento do OpenOffice 4.0?
Está a demorar o lançamento, pela Fundação Apache, da versão definitiva do Openoffice 4.0.
No entanto, já existem versões para teste. Por acaso, há dias, descobri uma.
Para quem, como eu, gosta de experimentar software novo, ainda que em versões de teste, pode fazer o download da versão de teste em português aqui .
quinta-feira, 4 de abril de 2013
Um bom programa de imagem
O objectivo principal quando criei este blog foi dar a conhecer aos amantes da informática como eu que, não gostando de utilizar software pirata, não podem (ou não querem) sustentar os grandes patões do software, programas “free” que permitam, atingir da melhor maneira os objectivos pretendidos.
segunda-feira, 2 de maio de 2011
Mudanças no Facebook

O Facebook mudou e não avisou ninguém.
O Facebook por defeito mudou para configuração não segura!
Olhe para a barra de endereço URL (na parte de cima da tela).
Se vir "http" em vez de "https", a sua ligação NÃO ESTÁ SEGURA e pode ser HACKEADA.
Clique em Conta - Definições de Conta - Segurança da Conta, marque a opção de navegação segura e guarde.
Faça um grande favor aos seus amigos, alerte-os e peça-lhes para alertarem os seus amigos.
sexta-feira, 25 de março de 2011
Possivel Virus, Malware ou Spyware
ATENÇÃO:
A minha filha recebeu hoje um email em tudo igual ao da imagem acima que retirei da net, exactamente aqui.
Por distracção carregou no link e não foi para lado nenhum, dando impressão que algo se terá instalado no computador, está a correr o anti-vírus e até agora nada foi detectado, mas, por precaução, aconselho a que se receberem um igual, NÃO ABRAM.
É muito tosco, é certo, mas...
terça-feira, 8 de fevereiro de 2011
Já está disponível a Versão 3.3 do Openoffice em Português
A Oracle já disponibilizou a versão definitiva em Português do OpenOffice 3.3.
Pode fazer o download aqui
quinta-feira, 27 de janeiro de 2011
Testando o Base do OpenOffice 3.3 RC10
Vinha utilizando o seguinte código para obviar ao facto de o “Base” não possuir querys de update, delete e insert:
Sub Contabiliza
Dim DatabaseContext As Object
Dim DataSource As Object
Dim Connection As Object
Dim Statement As Object
Dim ResultSet As Object
'Inicia o processo de contabilização
Msgbox "A iniciar o processo de Contabilização"
'Limpa todos os movimentos contabilisticos
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource = DatabaseContext.getByName("contabilidade")
Connection = DataSource.GetConnection("","")
Statement = Connection.createStatement()
ResultSet = Statement.executeQuery("DELETE FROM ""tMOVIMENTOS_CONTA"";")
'Contabiliza os movimentos a Débito
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource = DatabaseContext.getByName("contabilidade")
Connection = DataSource.GetConnection("","")
Statement = Connection.createStatement()
ResultSet = Statement.executeQuery("INSERT INTO ""tMOVIMENTOS_CONTA""(""ID_MOV"",""COD_CONTA"",""DATA_MOV"",""DESC_MOV"",""DEBITO"",""CREDITO"")SELECT ""ID_MOV"",""CONTA_DEB"" AS ""COD_CONTA"",""DATA_MOV"",""DESC_MOV"",""VALOR"" as ""DEBITO"",0 AS ""CREDITO"" FROM ""tMOVIMENTOS"";")
'Contabiliza os movimentos a Crédito
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource = DatabaseContext.getByName("contabilidade")
Connection = DataSource.GetConnection("","")
Statement = Connection.createStatement()
ResultSet = Statement.executeQuery("INSERT INTO ""tMOVIMENTOS_CONTA""(""ID_MOV"",""COD_CONTA"",""DATA_MOV"",""DESC_MOV"",""DEBITO"",""CREDITO"")SELECT ""ID_MOV"",""CONTA_CRED"" AS ""COD_CONTA"",""DATA_MOV"",""DESC_MOV"",0 as ""DEBITO"",""VALOR"" AS ""CREDITO"" FROM ""tMOVIMENTOS"";")
Msgbox "Processo de contabilização concluído"
End Sub
O mesmo funcionou perfeitamente com a base de dados aberta até à versão 3.2.1
Nos testes que tenho efectuado com a RC10 da versão 3.3, vinha dando o seguinte erro na linha
“DataSource = DatabaseContext.getByName("contabilidade")”:
“Erro de execução de basic
Ocorreu um erro de excepção
Type:com.sun.start.container.nosuchelentexception
Message:contabilidade”
Acontecia que, na mesma linha, se substituisse “contabilidade” por uma base de dados não aberta, o erro deixava de ocorrer, o que me levava a crer que o erro apenas ocorria quando estava a agir dentro da propria base de dados.
Alteração surgida com a implementação da versão 3.3? Quase de certeza!
Assim sendo, pensei:
Será que alguem me pode ajudar a encontrar o código correcto para proceder às mesmas operações?
Então decidi recorrer aos foruns que conheço e com a ajuda do RPG ( aqui ) consegui encontrar o código correcto para efectuar os comandos pretendidos na base de dados aberta e que é o seguinte:
'Limpa todos os movimentos contabilisticos
Connection=thisdatabasedocument.CurrentController.activeconnection
Statement = Connection.createStatement()
ResultSet = Statement.executeQuery("DELETE FROM ""tMOVIMENTOS_CONTA"";")
E tudo funcionou perfeitamente!
Por isso aqui fica, para quem sinta o mesmo problema e, como eu, encontre dificuldades em encontrar respostas em português.
quarta-feira, 24 de novembro de 2010
Macro para guardar valor de campo ListBox em variável no Base do OpenOffice
Sub Listbox_select
oDoc = thisComponent
oController = oDoc.getCurrentController()
oform =odoc.drawpage.forms.getbyindex(0)
oList = oForm.getByName("produt")
oListCtr = ThisComponent.CurrentController.GetControl(oList)
oTextCtr = oListCtr.SelectedItem
oPosCtr = oListCtr.SelectedItempos'Este é o valor a guardar
msgbox oTextCtr
msgbox oPosCtr
prod=oPostCtr
End Sub
quarta-feira, 6 de outubro de 2010
Maximizar forms no Base do OpenOffice
sub onWhenLoading( oEvent as object )
MaximizeFrame( oEvent.Source.Parent.Parent.CurrentController.Frame)
end sub
Declare Function ShowWindow Lib "user32" _
(ByVal lHwnd As Long, _
ByVal lCmdShow As Long) As Boolean
sub MaximizeFrame( aFrame as object )
dim frame
dim window
dim handle
window = aframe.getContainerWindow()
handle = window.getWindowHandle(dimarray(), 1)
REM 1=WIN32
ShowWindow( handle, 3 )
end sub
A macro "sub onWhenLoading" deve ser linckada ao evento "durante o carregamento" do forms.
terça-feira, 21 de setembro de 2010
Abrir forms ao abrir um documento do Base do OpenOffice
Esta é uma questão que tenho visto posta em vários foruns e que, portanto, interessará a muitos dos actuais ou futuros utilizadores do Open Office.
Realmente , é normal que depois de atingirmos um determinado nível de programação com o Open Office sejamos nós a desenvolver as aplicações e outros a utilizá-las e não tem nenhum cabimento que, ao abrir uma aplicação, o utilizador seja atirado para o modo de desenho e ter que trabalhar a partir daí.
Aqui chegados, vamos então à forma que costumo utilizar para conseguir este objectivo:
Crio um formulário com os diversos botões que me permitam aceder (atraves de macros, assunto tratado no artigo “Macros para o Base-Open Office”) aos outros formulários ou relatórios
Crio uma macro que associo à abertura do documento e faço abrir o formulário referido no ponto 1
Para criar a macro siga os passos indicados em “Macro para fechar o Openoffice” e crie a seguinte macro:
Sub AutoExec
On Error Goto HandleError
Dim LastFrame As Object
Dim NumFrames As Integer
Static FormDocs As Object
Dim DBDoc As Object
Dim ImpName As String
Dim DataSource As Object
Dim Conn As Object
Dim Args(1) As New com.sun.star.beans.PropertyValue
Dim FormName As String
Dim FormDoc As Object
FormName="fMENU" 'Mude aqui para o Forms de Abertura da Aplicação
ImpName="com.sun.star.comp.dba.ODatabaseDocument"
NumFrames=StarDesktop.Frames.Count
LastFrame=StarDesktop.Frames.getByIndex(NumFrames-1)
If LastFrame.Frames.Count>1 Then
Exit Sub
End If
If Not (LastFrame.Controller.Model.ImplementationName=ImpName) Then
Exit Sub REM not a db doc
End If
DataSource=LastFrame.Controller.DataSource
DBDoc=DataSource.DatabaseDocument
FormDocs=DBDoc.FormDocuments
Conn=DataSource.getConnection("","") REM no user/password
Args(0).Name="ActiveConnection" : Args(0).Value=Conn
if FormDocs.hasByName(FormName) Then
FormDoc=FormDocs.loadComponentFromURL(FormName,"_self",2,Args() )
FormDoc.CurrentController.Frame.ContainerWindow.setFocus()
End If
HandleError:
If Err<>0 Then
Exit Sub
End If
End Sub
Preferimos criar esta macro numa biblioteca a um nível superior pois a mesma irá servir, no futuro, para todas as aplicações criadas no Open Office (se quisermos utilizá-la numa outra máquina podemos sempre exportá-la como ocx) mas a mesma pode ser criada no módulo da aplicação (isso foi testado).
Com a macro criada, abrimos o documento do base onde queremos que a mesma seja utilizada e:
Vamos a Ferramentas → Personalizar e escolhemos o separador Eventos
Escolhemos o evento “Abrir Documento” e em “Atribuir” escolhemos a “Macro” que criámos.
Et Voilá.
segunda-feira, 14 de dezembro de 2009
Trabalhar com o Base do OpenOffice e HSQLDB não embutido
Trabalhar em Modo Standalone
Com o Hsqldb devidamente configurado abra o OpenOffice:
- Vá a Ferramentas > Opções > Java > Classpath e adicione o Arquivo C:\hsqldb\lib\hsqldb.jar
- Feche o Openoffice e volte a abri-lo de novo
- Abra o Base e Seleccione "Estabelecer ligação a uma base de dados ja existente"
- Escolha a ligação "JDBC"
- Em URL da origem de dados indique :hsqldb:file:«caminho para a base de dados»;default_schema=true;shutdown=true;hsqldb.default_table_type=cached;get_column_name=false
- Em Classe de Controlador JDBC indique : org.hsqldb.jdbcDriver
- Teste a classe
- Em Nome de utilizador indique : sa
- Teste a ligação
- Indique que pretende que o assistente registe a base de dados
- Clique em "Terminar"
- Dê o nome à Base à base de dados
Trabalhar em modo Servidor
1. É preciso levantar antecipadamente o Servidor
2. Mudar o URL da origem dos dados para hsqldb:hsql://localhost:59999/«nome da base de dados»;default_schema=trueshutdown=true;hsqldb.default_table_type=cached;get_column_name=false
Se isto não é o primeiro passo para começar a trabalhar em ambiente multi-utilizador, então não sei qual será.