Pular para o conteúdo principal

Lazarus - Emulador WinCE/Windows Mobile

Há alguns dias escrevi um post mostrando o desenvolvimento de uma pequena aplicação para WinCE usando SQLite. Na época fiz os testes em um PDA, não usei emulador. Muitas pessoas tem entrado em contato comigo questionando sobre emuladores. Sempre tive dificuldades com os emuladores da Microsoft. Mas passei a procurar por um emulador que funcione e acabei por encontrar no site da PDAExpert. Lá encontrei as versões Standard e Professional do emulador para Windows Mobile 6. Por limitações de banda fiz o download da versão Standard que oferece três emuladores diferentes. Consegui executar o exemplo do artigo, como mostra a figura.

Emulador Windows Mobile 6
No entanto, o programa não consegue acesso ao banco SQLite. Minha forte suspeita é que a dll não é compatível com Windows Mobile 6. Ainda não tenho dados suficientes para afirmar isso. Por conta disso, pretendo criar uma nova aplicação que grava os dados em XML ou mesmo em arquivo texto usando TFixedFormatDataSet, como mostrei no post Lazarus - Tratamento de Arquivos Texto. De qualquer forma, se alguém tiver tido experiência com esse emulador rodando SQLite, gostaria de trocar idéias.

Comentários

Anônimo disse…
Bom, primeiramente, boa tarde.
Gostei muito seus tópicos, gostaria de saber se dava pra vc preparar um tutorial dizendo como vc fez pra emular. Pois tento! tento! tento! mas nao consigo, creio ja esteja conseguindo converter o arquivo, mas nao consigo passar pro emulador. Desde ja agradeço.
Professor Carlos disse…
Bem, é possível fazer sincronismo através do ActiveSync, mas eu não consegui ainda. O que eu fiz pra rodar a aplicação foi o seguinte:
1) No menu File do Emulador clique em Configure e defina uma pasta para compartilhar entre o emulador e o desktop. Eu escolho a própria pasta onde está meu executável
2) Daí no emulador você abre o Explorer e muda para o diretório raiz. Vai aparecer Storage Card. Isso é a pasta que você compartilhou. Entre nela, procure o executável e ponha pra rodar

Qualquer dúvida me escreva
Unknown disse…
Bom, eu instalei o Windows Mobile 6 SDK, mas quando eu abro o Cellular Emulator, eu nao vejo essa aba File..
desculpe me pelas as perguntas "ridiculas" mas estou iniciando meus estudos agora...

muito obrigado!
Professor Carlos disse…
Oi Breno

Vá em Windows Mobile 6 SDK -> Standalone Emulator Images -> Portuguese(Brazil) -> Standard Landscape. Tem outros dois emuladores. Mas eu prefiro esse. Você pode testar os outros dois.

Qualquer dúvidas vá mandando.
Unknown disse…
Bom, o problema era o SDK, ele nao tava instalando direito, eu baxei o 6.5 (USA), so esse deu certo e consegui ver o que vc estava dizendo, agr estou com outro problema, seguinte, no Cellular Emulator ele consta COM3, ja quando vou configurar o emulador para COM3, ele so encontra a COM1, e nao estou conseguindo passar...

deu pra entender?

muito obrigado pela ajuda!
Unknown disse…
DEU CERTO!
tudo resolvido!
consegui emular agora! :]
muito obrigado pela ajuda!
muito mesmo!

Uma pergunta por curiosidade, eu estava pesquisando sobre o lazarus, e vi que ele pode copilar pra varios dispositivos, ate mesmo iphone, vc ja tentou?conseguiu algum outro dispositivo?

muito obrigado!
Professor Carlos disse…
Breno

O Lazarus gera executáveis para WinCE/Windows Mobile. Se o dispositivo roda esse sistema, então tem chance de funcionar.

[]'s

Carlos
Isaac Trindade disse…
Ola Professor Carlos, tudo bem?
Andei lendo os posts sobre Wince, e resolvi dar uma pesquisada e achei esse site aqui:

http://www.clublazarus.com/trucos

Aqui esta o conteudo:

Sqlite 3 y bases de datos encriptadas
PostDateIconMiércoles, 27 de Enero de 2010 18:37 | PostAuthorIconEscrito por Manuel Galeote | PDF | Imprimir

Este procedimiento funciona en Windows 32 bits, sqlite y las librerias ZeosLib.

La dll de sqlite3 (sqlite3.dll) que actualmente se distribuye no permite la conexión a bases de datos encriptadas. Por tanto si nos interesa que nuestra aplicación se conecte a una base de datos sqlite 3 encriptada o compramos una aplicación que nos lo permita o realizamos lo siguiente:

1º Descargamos la librería System.Data.SQLite (si, no me equivoco es para .NET) de la siguiente web: http://sqlite.phxsoftware.com/

2º Descomprimimos el contenido del archivo descargado y renombramos el archivo System.Data.SQLite.DLL a sqlite3.dll.

3º Reemplazamos nuestro sqlite3.dll por el nuevo obtenido.

4º En nuestro formulario colocamos un componente TZConnection de Zeos y en el Password escribimos el password de la base de datos.

5º En opciones del TZConnection escribimos encrypted=true.

6º Ya está, nuestra aplicación se conectará a la base de datos sqlite 3 encriptada.

7º Si quisieramos activar la conexión directamente desde el IDE de Lazarus, tendriamos que colocar sqlite3.dll dentro de la carpeta de Lazarus.

Essa System.Data.Sqlite é usada pelo basic4ppc, estilo o nsbasic. Dá uma olhada, quem sabe ajuda em alguma coisa.
Professor Carlos disse…
Valeu Isaac

Vou dar uma olhada lá.

Abraço

Postagens mais visitadas deste blog

Lazarus - Acessando banco de dados com SQLdb - Parte I

Para fazer nossa primeira aplicação usando banco de dados no Lazarus vamos usar o SQLite e o conjunto de componentes nativo SQLdb. Inicialmente vamos apresentar passo como essa aplicação foi criada. Essa foi a maneira que eu fiz, e eu agradeço sugestões e questionamentos que pessoas que já passaram por essa experiência. Depois irei fazer algumas considerações sobre o uso do SQLdb. SQLite SQLite é uma biblioteca que implementa um motor de banco de dados SQL. É livre para qualquer finalidade, seja uso particular ou comercial. Lê e escreve em um único arquivo que pode ter além de tabelas, índices, gatilhos e visões. Executa em várias plataformas e é indicado para aplicações embarcadas. Maiores detalhes podem ser encontrados no site oficial. Para usá-lo, baixe-o do site e faça a instalação adequada para o seu sistema operacional. No Windows isso é muito simples, apenas copie sqlite3.dll para o system32 da pasta do sistema operacional. Existe uma ferramenta de linha de comando chamada

Tipos de dados no SQLite

Em SQLite, diferente de outros motores de banco de dados, o tipo de dado de um valor está associado com o valor propriamente dito, e não com o seu contêiner. É um sistema de tipo dinâmico. Um campo de uma tabela em SQLite pode receber qualquer tipo de dado. Assim, o SQLite simplesmente ignora o tipo informado no comando CREATE TABLE. Então, dizemos que no SQLite existem classes de armazenamento. E essas classes são: NULL - como em qualquer outro banco de dados. INTEGER - inteiro com sinal, armazenado em 1, 2, 3, 4, 6 ou 8 bytes dependendo da grandeza do valor. REAL - valor de ponto flutuante armazenado em 8 bytes. TEXT - uma string armazenada usando UTF-8, UTF-16BE ou UTF-16LE. BLOB - armazena um blob, como indica o nome. Uma coluna INTEGER PRIMARY é uma exceção. Só aceita números inteiros. Qualquer valor em um comando SQL tem uma classe de armazenamento implícita. Durante a execução do comando SQL, o SQLite pode converter valores entre classes numéricas (INTEGER e REAL)

Lazarus - Criando relatórios com FortesReport (Parte I)

Para a criação de relatórios, o Lazarus já trás o componente LazReport, no entanto ele precisa ser instalado no IDE. Para fazer a instalação do pacote, acesse o menu Package -> Open package file (.lpk) . Localize o diretório de instalação do Lazarus e na pasta components abra lazreport e depois source . Abra o pacote lazreport.lpk , clique em Compile e depois em Install . Como já sabemos isso irá recompilar o IDE. Depois de inicializado novamente estará disponível a aba LazReport . Leia aqui um tutorial básico sobre o LazReport. No entanto queremos mostrar uma alternativa ao LazReport . Por essa razão, vamos apresentar neste artigo o FortesReport . Para quem conhece o QuickReport, que fazia parte do Delphi, não terá dificuldade de desenvolver com esse componente. Baixe o pacote aqui e instale. Os procedimentos são semelhantes aos que mostramos acima. Você terá uma nova aba chamada Fortes Report . Conectando o banco de dados O primeiro passo para criar a aplicação é fazer