quinta-feira, 21 de junho de 2018

Cuidados a ter antes de vender ou dar o seu dispositivo

Antes de vender ou dar algum dos nossos dispositivos convém limpar todos os nossos dados para que, depois, eles não possam ser usados por terceiros.

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"

Postado em 4 de dezembro de 2017 por Scottish-Skeptic

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
base puramente para fechar completamente para garantir que os dados estejam atualizados (salvar não é salvo - em vez disso, os dados não são seguros até que a base seja fechada). E, em seguida, copie e cole o banco de dados antigo para um novo arquivo (base externa). Na verdade ... eu sou tão céptico quanto à base destruindo dados, que eu mesmo mantenho cópias em outras pastas. Não há nenhuma maneira correta de importar e exportar dados do banco de dados de base do Openoffice / Libre **. Sim, você pode copiar e colar, mas isso não é o que as pessoas mais razoáveis ​​querem dizer com exportação / importação, e mesmo assim, o software é tão ropey e buggy que você não pode entregar a pessoa analfabeto do seu computador com instruções e tenha alguma esperança de que possam importar ou exportar dados usando copiar e colar. E, por exemplo, quando eu copiei e colei para o Excel - acabei com uma completa e caótica bagunça de formatação. Você sabe que há algo gravemente errado com um produto, quando, depois de várias horas, tentando entender por que você não pode copiar e colar, você está exaltado para finalmente obter seus dados fora da base em algo seguro. Eu assumi que eu poderia facilmente conectar a base a outros produtos. Por exemplo, eu assumi que eu poderia facilmente usar uma planilha calc como uma tabela. Isso pode ser possível (tão opaco é a ajuda), mas não descobri como. Além disso, dada a forma como a base destrói seus próprios arquivos, não confiaria nisso para manter a integridade de qualquer coisa a que estava conectado. Não existe uma ajuda significativa - e os problemas que impedem que os usuários possam usar o software rotulam e ridicularizem "RESOLVIDO" quando não há claramente uma solução para o usuário. O mais grave bugbear - é que toda vez que você tem um problema e pesquisa on-line , você achará que um idiota marcou a solução. Não é apenas irritante - na verdade é claramente o motivo pelo qual a base nunca ultrapassou um "teste". Estive procurando online, por soluções para os vários problemas que encontrei e, em quase todas as ocasiões, encontrei posts marcados como "RESOLVIDOS" quando de fato o problema ainda existe, mas algum programador de software idiota decidiu que porque não os afeta (eles vivem em um mundo efêmero onde tais questões mundanas não os afetam), não é um problema. Apesar do fato de que esses problemas estão bloqueando pessoas como eu usando a base. E é por isso que não está amadurecendo - porque qualquer pessoa razoável (ou seja, não um engenheiro de software) que tenta usar a base, vai encontrar um problema que é um bloqueador para Usando a base, mas o que algum programador de software ignorado considerou "não é um problema, portanto, SOLUÇÃO" - e, portanto, nunca será resolvido.SOLVED SIGNIFICANDO QUE É UMA SOLUÇÃO E é essa atitude por que não me incomodou em levantar qualquer um dos numerosos Problemas que tenho no sistema de relatório do problema do openoffice. E se eu me sentir assim, então, muitas outras pessoas vão sentir o mesmo. Em suma, não é conveniente gastar o tempo documentando problemas, porque eles inevitavelmente serão marcados como "RESOLVIDOS" como se o peculiar do usuário precisasse ter um produto funcionando é o problema real. É bem claro que estaria perdendo meu tempo porque Todas as questões que bloqueiam o uso já foram marcadas como "RESOLVIDAS". A realidade é que não há solução, não está resolvida, é só que marcar um problema "SOLUÇÃO" significa que eles disseram que não vão trabalhar nisso. E eu toço a voz! Claro que eu sou ... principalmente porque é quase um bom software, o que, mas a atitude daqueles que lidam com os sérios problemas que bloqueiam os usuários, se tornaria um produto fantástico há muito tempo. Os problemas mais simples são os maiores problemas. Para explicar, eu finalmente tinha algo de trabalho e estava começando a adicionar locais, e enquanto processava cada local percebi que havia alguns dados adicionais que eu poderia estar capturando. Como resultado, eu estava constantemente adicionando novos campos. Bem, como você pode imaginar, o banco de dados foi uma bagunça. Então, naturalmente, quando eu estava começando a perder campos, eu fui arrumá-los, por exemplo, colocar todos os campos da caixa de seleção, assim também as breves descrições de texto. Mas não! Depois de várias horas tentando descobrir o que estava fazendo errado e por que Eu não consegui alterar a ordem dos campos Eu li alguns comentários simples dizendo "PROBLEMAS DE EMISSÃO" - no qual eles basicamente disseram "nós não pensamos que você deveria estar mudando a ordem (porque não trabalhamos assim), então nós não está fazendo nada sobre isso ". Bem, foi uma questão importante para mim. Eu não sou o trabalhador mais limpo, mas quando eu começar a perder campos, PRECISO arrumar e não havia como fazê-lo dentro da base. (Você pode copiar e colar - mas não posso te dizer o processo porque geralmente vai errado quando tento fazê-lo e tenho que repeti-lo muitas vezes antes de obter algo que eu preciso. O grande problema é o "auto-incremento" campos. Eu acho que minha estratégia é criar uma tabela vazia, em seguida, mudar o id para o automóvel -Incremento - MAS MANTENHA SALVAR - porque o fechamento sem salvar causa problemas. E então eu passado nos dados - e vivo com o fato de que os IDs não correspondem mais se eu excluiu QUAIS registros). Ele claramente não foi resolvido. Em vez disso, era uma questão aberta que alguém (por razões próprias) decidiram que não queriam trabalhar, então, embora não houvesse solução, eles falsamente o marcaram "SOLUÇÃO". Posso dizer-lhe como um usuário QUE É UMA GRANDE ELEMENTO CRÍTICO MESMO. Eu digo crítico porque, exceto pelo fato de eu ter imagens múltiplas, eu teria desistido naquele ponto e voltado para a planilha (como já fiz várias vezes antes de dar uma chance de tiro). E isso caiu e caiu e CRASHED. Então, quando percebi que talvez eu precisasse duplicar o banco de dados porque as localizações eram de dois tipos distintos, antes de iniciar o novo banco de dados, pensei que seria muito melhor iniciá-lo em uma plataforma estável, como o MySQL. Dessa forma, os dados vitais seriam SEGUROS fora da base e a base deveria ser muito mais estável se contiver apenas os formulários que não estavam mudando. Então, tentei migrar os dados para o MySQL. E isso pareceu funcionar um charme (exceto para precisar de um driver de 32 bits, não o 64bit que era padrão), até que eu tentei executar o formulário com um subformulário. Deixe-me reiterar o que estou fazendo ... Eu olho para cada local, eu adiciono os dados para uma localização (muitas vezes apenas uma frase e algumas caixas de seleção para os recursos que posso ver), então eu adiciono as imagens em uma sub-forma (que são armazenadas como um nome de arquivo simples - então realmente realmente simples). Mas depois de 6 horas procurando ontem à noite - parece que esta aplicação absolutamente simples - envolvendo apenas duas tabelas (apenas mais uma que uma planilha eletrônica) não é possível na base. Um formulário com um subformulário não funcionará com o MySQL. Agora, eu poderia facilmente fazer isso em uma página da Web com PHP e MySQL - crie um formulário com um subformulário que adicione automaticamente novos registros para cada nova imagem. Mas eu sei que antes de poder armazenar os dados, tenho que criar explicitamente o novo registro necessário para armazenar os dados da imagem. Assim, quando leio vários relatórios de problemas sobre o assunto, cada um marcou "SOLUÇÃO", sugerindo que não é "uma base" problema ", eu sabia que isso era TOTAL TWADDLE. A questão é clara e inequivocamente com base, porque se eu estivesse escrevendo um formulário Php em um site e o MySQL não estava fazendo o que eu queria fazer ... Eu nem sonharia com dizendo "PROBLEMA SOLUÇÃO PORQUE NÃO É MEU PROGRAMA WEB QUE NÃO VAI TRABALHAR COM MYSQL". A questão permanece e, em vez disso, COMO qualquer programador decente, tenho que encontrar uma maneira de obter meu código PHP para trabalhar com o MySQL. E também o OpenOffice / Libre base tem que encontrar uma maneira de trabalhar com o MySQL e não o contrário. E até que ele funcione corretamente, a questão não tem sentido da palavra "SOLUÇÃO". (Salte se quiser) Para explicar, a questão é essa. Na tabela de locais, eu tenho uma entrada para um local. Mas na tabela de imagens, até eu adicionar uma imagem para esse local, não há entrada para esse local. Na base, você "simplesmente" (?) Adiciona a imagem ao subformulário (usando um clique direito obscuro ... que levou horas para encontrar). No entanto, ele funciona quando você armazena os dados no MySQL. E o motivo é porque o "backend" básico criará, implicitamente, uma entrada na tabela de imagens para armazenar os dados da imagem, ao passo que o MySQL precisa ser explicitamente explicado para criar uma nova gravação. Para usar uma analogia muito simples ... se um professor diz "agora escreva no seu livro de texto o seguinte", é como se a base estivesse dizendo "não é possível ... porque você não me disse para ir para a página vazia". O professor não diz explicitamente aos alunos que encontrem uma página vazia, porque essa instrução está implícita. No entanto, isso também significa que, quando a base tem um problema, porque ele cria, implicitamente, uma nova entrada - uma vez eu encontrei 30 "imagens" que foram criadas quando a forma congelou e eu continuei batendo botões tentando fazê-lo fazer algo. Então, MySQL precisa ser informado explicitamente para criar um novo registro para cada imagem, enquanto a base irá fazê-lo implicitamente se você tentar salvar dados de um subformulário de imagem onde não há um registro correspondente para esse local na tabela de imagens. Em outras palavras, eles se afastaram com o fato de não implícita dizer ao banco de dados o que fazer, porque em seu próprio banco de dados ROPEY ele cria registros (... e mesmo quando não desejado). Outros problemas. Há apenas as peculiaridades - muitas vezes ao editar o formulário ... as caixas se moveriam sem motivo aparente. Ou foi impossível colocar ícones no formulário, exceto ao lado esquerdo. E luta com apenas 2000 entradas na tabela. Abro uma mesa e mudo para o número 937 e fica ali com uma página inteira de uma tabela aparentemente da mesma entrada. Eu não sei se está quebrou, mas nunca consegui esperar o tempo suficiente para ver qualquer mudança. Quando eu tive as inúmeras entradas extras na mesa, tentei livrar-se deles copiando e colando as linhas que tinham sido entrou mais tarde (de modo que os índices sejam sequenciais). Você não pode copiar e colar linhas. Ok, isso reflete o comportamento da maioria dos bancos de dados usando o SQL - então, para um nerd de banco de dados, isso pode parecer óbvio que não fará isso, mas do ponto de vista de um usuário onde você está acostumado com o comportamento NORMAL em planilhas, isso é inaceitável. Vou reafirmar o modo REALMENTEODD de inserir os dados de imagem clicando com o botão direito do mouse. Isso não é tão padrão que é totalmente unituitive.Queries - eu esperava poder criar uma consulta que simulasse uma inserção sem realmente fazer a inserção de novos dados (para verificar se estava escolhendo os registros corretos) e, em seguida, fazer pequenos ajustes na consulta baseada em formulário para fazer com que ele insira os mesmos dados. Descobriu que não só era impossível usar o design baseado em formulário para isso, mas o comando SQL era tão diferente que eu estava "codificando cego". Eu poderia prosseguir ... ProsIf só que não era impossível usar praticamente, ele tem o potencial de ser um fantástico software. O assistente de formulário é bom, eu adoro poder exibir e imagem no formulário com (quase) facilidade. Se não fosse pelo fato de que nenhuma pessoa sensata deveria considerar usá-lo por causa de falhas, a falta de fornecer a recursos básicos para usuários comuns e a incapacidade para o aplicativo de banco de dados mais simples (formulário + subformulário) para trabalhar com o meu MySQL. Eu diria que é um fantástico software.Summary Se eu soubesse o que eu sabia antes de eu começar, não teria começado a usar Base. O banco de dados (ou talvez o código associado) dentro da Base é um monte de dados, sendo incapaz de lidar com um banco de dados bastante pequeno de 2000 entradas. Ele constantemente quebrou exigindo EXTREMAMENTE FREQUENTE fechamento de base (você não pode salvar da base) e, em seguida, copiar e colar o arquivo. Apesar das garantias em contrário, não consigo ver nenhuma maneira viável de usar outro banco de dados estável como o MySQL e reter qualquer funcionalidade para subformulários - o que significa que para quase todos os usuários não possui mais funcionalidade do que uma planilha. E se você já chegou ao estágio de armazenar muitos dados - é extremamente difícil e peculiar tirá-lo da base. E a razão pela qual existe um software potencialmente fantástico que é praticamente mero é claro - é porque a pessoas / pessoas que controlam o sistema de "problemas" para o software descartam qualquer coisa e tudo o que eles pessoalmente não podem ser incomodados como "SOLUÇÃO" deixando os usuários sem solução para problemas que bloqueiam seu uso, resultando em um pedaço de software inutilizável Então, qual é a alternativa? Como alguém que pensa que Micro $ oft é um monte de mordida e o que eu acho que é o monopólio ilegal é a principal razão pela qual os computadores quase não progrediram nos últimos 40 anos e evito-os como a praga (bem Eu sempre procuro uma alternativa e usarei de preferência) ... a menos que eu tenha a opção de usar o MySQL e o php. O problema para a maioria das pessoas comuns é que a maioria das "bases de dados" parecem ser escritas por nerds para uso por nerds. Enquanto o que penso que a maioria das pessoas comuns precisam é um software que tenha sinos e assobios que você não possui em planilhas e processadores de texto ... e ainda não encontrei isso em qualquer lugar, exceto o acesso. (É tudo o que estou dizendo) Quanto a mim ... Tenho cerca de 50 locais para terminar na Escócia. Mas se eu fosse para ir mais longe eu tenho cerca de 2000 em outro lugar e talvez vários milhares mais se eu estivesse preparado para estendê-lo ainda mais. Vai morar com as falhas constantes para o 50 escocês, mas esse é o fim. E antes de considerar ir mais adiante, estou mudando para Php-MySQL. Porque será mais rápido e mais confiável criar minha PRÓPRIA APLICAÇÃO em vez de usar a base. ** Openoffice / Libre na esperança de que fosse apenas um problema de operação, eu baixei uma versão de livre. Tanto quanto posso ver, eles são EXACTAMENTE o mesmo produto com apenas pequenas diferenças cosméticas (mudanças nos ícones). ADDENDUMÉ como uma indicação de como o software e a "ajuda" de Potty - eu encontrei um fórum onde as pessoas estavam regularmente publicando "ajudam o meu banco de dados ter travado e perdi tudo". Alguém diria então: "Por favor, envie uma mensagem privada para mim e eu posso ajudar". Mas, em vez disso, publicamos qualquer SOLUÇÃO - as pessoas que executam o fórum "HELP" disseram ao único indivíduo que realmente estava fornecendo qualquer ajuda a qualquer um para parar de oferecer sua ajuda a indivíduos. E é mesmo um problema tão comum que existem também pacotes de software projetados para recuperar dados. Então, de certa forma, tive sorte, meu sistema caiu tão cedo, porque não fui conduzido pelo caminho do jardim para ter 100 horas de manhries em perigo quando inevitavelmente travou SEM AJUDA NA OFERTA.ADDADDENDUME e como para me provar inteiramente certo cada problema real levantado é apenas marcado automaticamente como resolvido: https: //bz.apache.org/ooo/show_bug.cgi? Id = 127622

Traduzido do inglês daqui

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



Depois de muitos anos de interregno decidi pegar de novo no Base do OpenOffice e finalizar o trabalho de uma Base de Dados para Contabilidade.

ATENÇÃO que esta base de dados não é oficial pois não está certificada.

Deixo no entanto aqui o link para ela para quem a quiser utilizar para uso pessoal ou até para consultar para construir programas.

sexta-feira, 21 de outubro de 2016

Já está disponível o OpenOffice 4.1.3



Para os utilizadores da popular aplicação da Fundação Apache, informa-se que já saiu a versão 4.1.3 do OpenOffice.

Quem quiser, pode fazer o download aqui

quinta-feira, 11 de junho de 2015

Como abrir arquivos .eml


Como o meu portátil estava a dar o berro, há tempos comprei um novo, que vem com Windows 8.1.
Claro que fiz backup de tudo o que precisava, inclusivé de alguns mails antigos que poderia vir a precisar.

Acontece que a maioria desses mails vêm com a extensão EML e não os conseguia abrir ou, depois de escolher vários programas, abriam desconfigurados.
Depois de procurar na net encontrei várias hipóteses .... e todas elas "barrete".

Encontrei então a sugestão deste "programinha" e pareceu-me fiável (a sugestão). E não é que resulta. Até permite guardar os anexos importantes numa pasta à nossa escolha.

Chama-se ceml, é free, e podem fazer o download dele no link abaixo.

Alguma dúvida, perguntem, pois como sabem os que me conhecem, estou sempre à disposição para, naquilo que sei, ajudar quem precisa.

Eis então o link.

quinta-feira, 15 de maio de 2014

quarta-feira, 4 de setembro de 2013

Como desligar o Ubuntu 13.04 quando falha o rato

Quando criei este blog fi-lo, sobretudo, com o objectivo de ajudar os utilizadores a "desenrascarem-se" com o computador.
Nesse sentido, estou a divulgar o que, depois de alguma pesquisa,  porque alguém que me é proximo e usa o lubuntu 13.04 ficou á nora porque lhe falhou o rato. Desligar o computador manualmente, foi a opção usada, felizmente sem problemas.
Ora como todos sabemos essa deve ser uma opção usada só mesmo em último recurso e eu iniciei a busca na internet para uma solução para o problema e acabei por descobrir o seguinte:

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.
Últimamente, porque tenho andado entretido com outros, tenho descurado um pouco esse objectivo, mas porque ele não está de todo esquecido, hoje volto ao mesmo.
De facto, porque últimamente necessitei de utilizar um bom programa de imagem, procurei e encontrei o PhotoScape, e porque o mesmo me satisfez plenamente, aí vai o link para que possam testar e, se ficarem satisfeitos como eu, utilizar.

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

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


As seguinte macros, usadas em conjunto, maximizam um forms para full screen.


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í.


O mais indicado será que ao utilizador, ao entrar na aplicação , lhe seja logo apresentado um “menu”, para que o mesmo possa, a partir daí, efectuar as suas tarefas.

Aqui chegados, vamos então à forma que costumo utilizar para conseguir este objectivo:

  1. 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

  1. 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).

  1. Com a macro criada, abrimos o documento do base onde queremos que a mesma seja utilizada e:

  2. Vamos a Ferramentas → Personalizar e escolhemos o separador Eventos

  3. 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

Instale e configure o HSQLDB no Windows(Veja aqui como fazê-lo).

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


Os passos são, bàsicamente, os mesmos que trabalhar em modo Standalone, só que:

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


Pronto, neste momento pode começar a trabalhar com a sua base de dados como se o estivesse a fazer no modo normal do Openoffice.

Se isto não é o primeiro passo para começar a trabalhar em ambiente multi-utilizador, então não sei qual será.