PocketPT.net: SharpDevelop - PocketPT.net

Jump to content

  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

SharpDevelop Editor freeware para o .NET Compact Framework

#1 User is offline   Pedro Lamas 

  • Supra PPC Master
  • Group: Administrador
  • Posts: 3579
  • Joined: 05-Dezembro 04

Posted 25 Julho 2007 - 02:42

SharpDevelop

Attached File  00_splash_screen.jpg (53,11K)
Number of downloads: 33

Este pequeno texto tem por intenção apresentar os utilizadores ao SharpDevelop, um IDE de .NET de código aberto sob licença GPL.

De notar que para além do SharpDevelop, precisam de ter os SDK's para criarem os vossos programas! São eles:Instalação

A instalação é relativamente linear, sem grandes opções, apenas chamo a atenção para a segunda parte, onde fala das associações de ficheiros (convém ter isto em atenção para o caso de já termos estes tipos de ficheiros associados a outro tipo de programa!)
Attached File  02_setup.jpg (39,65K)
Number of downloads: 24

O IDE

Feita a instalação, entramos no programa e deparamos-nos com o seguinte ecrã:
Attached File  03_IDE.jpg (194,08K)
Number of downloads: 25

Como podemos ver, temos os menus normalmente esperados num ambiente de desenvolvimento tradicional (File, Edit, View, Build, Debug, Tools, Window, Help)!
Do lado esquerdo encontramos a Barra de Explorador de Projecto (Projects) e a Barra de Ferramentas e Controlos (Tools); do lado direito a Barra do Explorador de Classes (Classes) e a Barra de Propriedades (Properties). Ao centro ficam as restantes janelas do editor, como o Explorador de Internet Interno, e os Editores de Código e Formulários.
Na base da janela encontram-se recolhidas as Janelas de Erros (Errors), Saída (Output), Lista de Tarefas (Task List) e Vista de Definições (Definitions View)

Projecto de Teste

Este projecto de teste reflecte o clássico modelo "Hello World" da programação, adaptado para o .NET Compact Framework!

A primeira coisa a fazer é criar um novo projecto, fazendo File -> New -> Solution; no nosso exemplo vamos criar uma solução em VB.NET chamada "teste", com base no .NET Compact Framework:
Attached File  04_New_Project.jpg (112,5K)
Number of downloads: 35

Podemos ver que o IDE automaticamente criou um formulário vazio chamado "MainForm", constituido pelos ficheiros "MainForm.vb" e "MainForm.Design.vb" e o ficheiro "AssemblyInfo.vb" com algumas definições de compilação.
Attached File  05_Code_Editor.jpg (292,35K)
Number of downloads: 20

Ao formulário vamos juntar um Label chamado "lblRequestname", uma TextBox chamada "txtName", e um Button chamado "btOk".
Attached File  06_Form_Editor.jpg (276,33K)
Number of downloads: 15

No código do formulário criamos o evento Click do nosso botão e colocamos código para apresentar uma mensagem de saudação:
Attached File  12_Button_Code.jpg (20,82K)
Number of downloads: 17

A compilação directa do projecto, fazendo Build -> Build Solution vai dar alguns erros, que poderão ser semelhantes a esta imagem:
Attached File  07_Errors.jpg (48,48K)
Number of downloads: 15

Nesta janela vemos que existem dois erros, ambos tem a ver com o facto de no código o SharpDevelop ter colocado código para o .NET Framework que não é compatível com a sua irmã mais pequena. Para os corrigir, deve-se editar o ficheiro ".Designer.vb" de cada um dos formulários e alterar alguns blocos de código.

O primeiro tem a ver com o facto de no botão ter aparecido este código:
Attached File  10_Code_Before.jpg (8,26K)
Number of downloads: 20

Esta linha e todas as que referirem a propriedade "UseVisualStyleBackColor" devem ser simplesmente apagadas, pois não tem qualquer utilidade no .NET Compact Framework.

No segundo erro o problema também tem a ver com as diferenças entre as duas frameworks. Para resolver este caso, temos de editar o ficheiro "FormMain.Designer.vb" e alterar o bloco seguinte de
Attached File  08_Code_Before.jpg (9,45K)
Number of downloads: 17
para
Attached File  09_Code_After.jpg (9,04K)
Number of downloads: 13

Para além destes dois erros deparei-me também com o facto de os controlos do tipo Label não terem propriedade TabIndex no Compact Framework, pelo que poderá ainda ser necessária a remoção manual de todos os TabIndex dos Label nos ficheiros ".Designer.vb".

E está o nosso programa pronto a compilar!!! :D

Por fim é só pegar no ficheiro executável criado (no nosso exemplo, "teste.exe"), copiar para o PDA, executar e apreciar o resultado! :)

Attached File  11_Teste.jpg (19,35K)
Number of downloads: 25

Há que ter em conta que outros problemas poderão surgir com mais controlos, pois o próprio SharpDevelop está preparado para criar código para o .NET Framework, pelo que a alteração manual do código gerado será sempre necessário! Esperemos que numa próxima versão ele já gere correctamente para o .NET Compact Framework!

Bons programas! ;)


Posted Image
0

#2 User is offline   Francisco Viana 

  • Supra PPC Master
  • Group: Administrador
  • Posts: 9908
  • Joined: 04-Agosto 03

Posted 25 Julho 2007 - 03:50

Muito interessante, esta solução e o melhor é o facto de ser freeware.

Parabéns Pedro pela excelente apresentação do SharpDevelop,
Francisco Viana

Meu Blog: franciscoviana.pocketpt.net

Microsoft Windows Mobile Specialist Certification

Posted Image

My Mobile Devices:

Samsung Omnia Pro 7610
Sony Ericsson Xperia X10i (SnapDragon)


My Mobile Devices History:
Toshiba e570 - Toshiba e740 - Loox 420 - iPAQ rx3715 - Acer n50 - Ipaq 6340 - HP iPAQ hx2750 - 2X Qtek 9000 - HTC s620(excalibur) - HP iPAQ Hx2790 - HTC x7500 Advantage (Destroyed) - T-Mobile Ameo - HP iPAQ 614c - HTC X7500 - Motorola Q9h - HTC S740 Rose - HTC Touch Enhanced - HP iPAQ 914c - HTC P3600 Branco - Samsung i780 Roubado- Ndrive S400 - HTC Touch 3G
0

#3 User is offline   Caio Proiete 

  • Novato
  • Pip
  • Group: Contributors
  • Posts: 39
  • Joined: 22-Março 07

Posted 25 Julho 2007 - 05:46

Ótima apresentação e descoberta! :). Parabéns!
0

#4 User is offline   JorgeSantos 

  • Supra PPC Master
  • Group: Moderador
  • Posts: 10094
  • Joined: 12-Fevereiro 05

Posted 25 Julho 2007 - 06:15

Sem duvida uma excelente apresentação. ;)
Cumprimentos



Actual: HTC Touch HD2 (Leo)
Histórico:MPX200 - MPX220 - i - mate Jasjar - HTC Touch Pro - HTC Touch HD

Antes de abrir um novo tópico utilize a Pesquisa

Certificações Microsoft :
Windows Phone Specialist / Windows Phone Expert

Posted Image

Posted Image

Posted Image
0

#5 User is offline   albsilva 

  • Membro
  • PipPip
  • Group: Membro
  • Posts: 190
  • Joined: 18-Março 03

Posted 25 Julho 2007 - 06:41

Olá Pedro,
Conseguiste descobrir como escolher o SDK a usar, tipo WM 5.0/6/PocketPC/Smartphone?
Alberto Silva

Microsoft Mobile Devices MVP
[b]Blog pessoal:
http://msmvps.com/AlbertoSilva
0

#6 User is offline   Pedro Lamas 

  • Supra PPC Master
  • Group: Administrador
  • Posts: 3579
  • Joined: 05-Dezembro 04

Posted 25 Julho 2007 - 06:49

View Postalbsilva, on Jul 25 2007, 07:41 PM, said:

Conseguiste descobrir como escolher o SDK a usar, tipo WM 5.0/6/PocketPC/Smartphone?

Até ver, ainda não encontrei onde é que ele define isso... mas penso que será mesmo o de PocketPC 2003... :unsure:

Edit: Não é que queira dizer grande coisa, mas no template do projecto, encontrei isto:

Quote

<PlatformFamilyName>PocketPC</PlatformFamilyName>
<PlatformID>WinCE</PlatformID>
<TargetFrameworkVersion>CF 2.0</TargetFrameworkVersion>


Edit 2:Confirma-se o SDK PocketPC!! Encontrei os ficheiros de parametrização do MSBuild na pasta "%ProgramFiles%\SharpDevelop\2.2\bin"... no ficheiro "SharpDevelop.Build.VisualBasic.targets" (existe um equivalente para o C#) pode-se ler:

Quote

<PropertyGroup Condition=" '$(SharpDevelopUseCompactFramework)' == 'true' ">
<PlatformFamilyName Condition=" '$(PlatformFamilyName)' == '' ">PocketPC</PlatformFamilyName>
<PlatformID Condition=" '$(PlatformID)' == '' ">WinCE</PlatformID>

<SharpDevelopAddReferenceToCompactMscorlib Condition="'$(NoStdLib)' == ''">true</SharpDevelopAddReferenceToCompactMscorlib>
<NoStdLib Condition="'$(NoStdLib)' == ''">true</NoStdLib>
</PropertyGroup>


Não conheço bem o formato destes ficheiros, mas acredito que possivelmente pode-se alterar o SDK a partir daqui! :)


Posted Image
0

#7 User is offline   albsilva 

  • Membro
  • PipPip
  • Group: Membro
  • Posts: 190
  • Joined: 18-Março 03

Posted 25 Julho 2007 - 09:40

Logo que actualize o meu blog, vou colocar uma referência à tua review :)
Alberto Silva

Microsoft Mobile Devices MVP
[b]Blog pessoal:
http://msmvps.com/AlbertoSilva
0

#8 User is offline   Pedro Lamas 

  • Supra PPC Master
  • Group: Administrador
  • Posts: 3579
  • Joined: 05-Dezembro 04

Posted 25 Julho 2007 - 10:09

View Postalbsilva, on Jul 25 2007, 10:40 PM, said:

Logo que actualize o meu blog, vou colocar uma referência à tua review :)

Obrigado!! Acho que é uma informação que vale mesmo a pena divulgar! :D


Posted Image
0

#9 User is offline   Francisco Viana 

  • Supra PPC Master
  • Group: Administrador
  • Posts: 9908
  • Joined: 04-Agosto 03

Posted 25 Julho 2007 - 10:24

View PostPedro Lamas, on Jul 25 2007, 11:09 PM, said:

Obrigado!! Acho que é uma informação que vale mesmo a pena divulgar! :D



Sem duvida, dai até ser uma boa ideia colocar durante uns tempo o tópico afixado no top do sub forum para developers.

:)
Francisco Viana

Meu Blog: franciscoviana.pocketpt.net

Microsoft Windows Mobile Specialist Certification

Posted Image

My Mobile Devices:

Samsung Omnia Pro 7610
Sony Ericsson Xperia X10i (SnapDragon)


My Mobile Devices History:
Toshiba e570 - Toshiba e740 - Loox 420 - iPAQ rx3715 - Acer n50 - Ipaq 6340 - HP iPAQ hx2750 - 2X Qtek 9000 - HTC s620(excalibur) - HP iPAQ Hx2790 - HTC x7500 Advantage (Destroyed) - T-Mobile Ameo - HP iPAQ 614c - HTC X7500 - Motorola Q9h - HTC S740 Rose - HTC Touch Enhanced - HP iPAQ 914c - HTC P3600 Branco - Samsung i780 Roubado- Ndrive S400 - HTC Touch 3G
0

#10 User is offline   whitehat 

  • Novato
  • Pip
  • Group: Membro
  • Posts: 18
  • Joined: 14-Julho 07

Posted 26 Julho 2007 - 07:57

This project requires .NET Compact Framework v2.0, which is not installed on this machine. - C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Microsoft.CompactFramework.Common.targets:23,9
ou
Warning: .NET Compact Framework SDK is not installed.
Error a abrir informação para completar código para Microsoft.WindowsCE.Forms.dll de ?:
Could not find assembly file
ou
Error a abrir informação para completar código para Microsoft.WindowsCE.Forms.dll de ?:
Could not find assembly file.

instalei Microsoft .NET Compact Framework 2.0 SDK (x86)
Nao csg resolver este problema se neste directorio existe tudo, alguma soluçao ?

Cumprimentos Rui
0

#11 User is offline   Memphis 

  • Participante
  • PipPipPip
  • Group: Contributors
  • Posts: 447
  • Joined: 06-Agosto 05

Posted 27 Julho 2007 - 11:47

View PostPedro Lamas, on Jul 25 2007, 03:42 PM, said:

De notar que para além do SharpDevelop, precisam de ter os SDK's para criarem os vossos programas! São eles:

A mim, vão ambos os links dar ao mesmo ficheiro! :)

".NET Framework 2.0 Software Development Kit (SDK) (x86)"

É isso?
Posted Image

::: Pocket History :::
Qtek S100 >> i-mate JAMin >> HTC P3600 >> HTC Touch Diamond >> iPhone 3GS 16GB Black

Posted Image
0

#12 User is offline   whitehat 

  • Novato
  • Pip
  • Group: Membro
  • Posts: 18
  • Joined: 14-Julho 07

Posted 27 Julho 2007 - 04:14

View PostMemphis, on Jul 27 2007, 12:47 PM, said:

A mim, vão ambos os links dar ao mesmo ficheiro! :)

".NET Framework 2.0 Software Development Kit (SDK) (x86)"

É isso?



pois tambem reparei que ia dar ao mesmo ficheiro tambem fiz o download de ambos para confirmar e realmente é o mesmo ficheiro.
:S
vou então instalar esse tal ...kit

Cumps, Rui
0

#13 User is offline   Pedro Lamas 

  • Supra PPC Master
  • Group: Administrador
  • Posts: 3579
  • Joined: 05-Dezembro 04

Posted 27 Julho 2007 - 05:01

View PostMemphis, on Jul 27 2007, 12:47 PM, said:

A mim, vão ambos os links dar ao mesmo ficheiro! :)

".NET Framework 2.0 Software Development Kit (SDK) (x86)"

É isso?

Ops, enganei-me!!! :D

Obrigado pelo reparo, já corrigi os links... ;)


Posted Image
0

#14 User is offline   Jose Carvalho 

  • Novato
  • Pip
  • Group: Membro
  • Posts: 2
  • Joined: 27-Julho 07

Posted 27 Julho 2007 - 06:06

boas, minha experiencia na programação não é das melhores mas ja dei algumas marteladas, relativamente ao desenv para win mobile só estou pesquisando à alguns dias.

Relativamente ao sdk usa esse que funciona, mas o problema deste IDE (embora para freeware seja mt bom) ainda tem alguns bugs para resolver, alguns deles já mencionados anteriormente pelo Pedro Lamas, mas em pequenas soluções ainda se consegue fazer alguma coisa, mas eu tentei fazer uma pequena apllicação com uma comboBox e já me dá mais erros, alguém sabe onde arranjar boa informação para resolver estes erros?
Pedro sabes resolver estes erros?

--'System.Windows.Forms.ComboBox' does not contain a definition for 'FormattingEnabled' (CS0117)
--'System.Windows.Forms.ComboBox.ObjectCollection' does not contain a definition for 'AddRange' (CS0117)

aqui eu adiciono, no desenhar do #Develop, items à comboBox e ele da o primeiro erro nesta linha:
--this.comboBox1.FormattingEnabled = true;

e o segundo erro ao adicionar os itens, com o seguinte codigo:
--this.comboBox1.Items.AddRange(new object[] {
"",
"Teste1",
"Teste2",
"Teste3",
"Teste4"});

E ligações a base de dados tipo SQL Server compact Framework, já alguém tentou?


Toda a ajuda seria bem vinda..
obrigado desde já
0

#15 User is offline   Jose Carvalho 

  • Novato
  • Pip
  • Group: Membro
  • Posts: 2
  • Joined: 27-Julho 07

Posted 27 Julho 2007 - 06:29

Boas, relativamente ao seguinte erro é fácil de resolver, basta eliminar a linha de código correspondente, uma vez que não é precisa para o bom funcionamento do prog.

--'System.Windows.Forms.ComboBox' does not contain a definition for 'FormattingEnabled' (CS0117)

Relativamente ao segundo, já ao é tão facil assim, quer dizer, eu resolvi inserindo item a item na comboBox, mas ninguem sabe de uma forma de atribuir uma Range de valores à comboBox? Seria muito mais fácil e com menos linhas de codigo.

--'System.Windows.Forms.ComboBox.ObjectCollection' does not contain a definition for 'AddRange' (CS0117)

Fiquem bem e bom Fim de Semana
0

#16 User is offline   Pedro Lamas 

  • Supra PPC Master
  • Group: Administrador
  • Posts: 3579
  • Joined: 05-Dezembro 04

Posted 27 Julho 2007 - 06:50

Pois, as diferenças das duas Frameworks começam a notar-se... :)

Creio que a edição e correcção manual dos problemas é para já a única solução, mas acredito que será apenas uma questão de tempo até mesmo isso ficar a 100%! ;)


Posted Image
0

#17 User is offline   terramoto 

  • Novato
  • Pip
  • Group: Membro
  • Posts: 17
  • Joined: 03-Setembro 07

Posted 12 Setembro 2007 - 01:29

boas...epá tou tão irritado (a minha irmã acabou com o stock de comida cá em casa) e não me estou a conseguir entender com o sharpdevelop já fiz os 3 downloads instalei e tal mas quando vou a criar uma aplicação diz que não tenho o compact framework sdk instalado... digam-me alguma coisa

Cumprimentos, João Terramoto
0

#18 User is offline   Pedro Lamas 

  • Supra PPC Master
  • Group: Administrador
  • Posts: 3579
  • Joined: 05-Dezembro 04

Posted 12 Setembro 2007 - 06:50

View Postterramoto, on Sep 12 2007, 02:29 PM, said:

boas...epá tou tão irritado (a minha irmã acabou com o stock de comida cá em casa) e não me estou a conseguir entender com o sharpdevelop já fiz os 3 downloads instalei e tal mas quando vou a criar uma aplicação diz que não tenho o compact framework sdk instalado... digam-me alguma coisa

Mas isso dá-te onde? No PC ou no PDA?? É que o no segundo Download vem o Compact Framework 2.0 que tens de instalar no PDA... ;)


Posted Image
0

#19 User is offline   terramoto 

  • Novato
  • Pip
  • Group: Membro
  • Posts: 17
  • Joined: 03-Setembro 07

Posted 12 Setembro 2007 - 11:40

dá-me quando vou tentar correr o programa
0

#20 User is offline   Pedro Lamas 

  • Supra PPC Master
  • Group: Administrador
  • Posts: 3579
  • Joined: 05-Dezembro 04

Posted 13 Setembro 2007 - 07:24

View Postterramoto, on Sep 13 2007, 12:40 AM, said:

dá-me quando vou tentar correr o programa

Quando vais a correr o programa, no PDA, certo? :D Muito provavelmente não tens a .NET Compact Framework instalada no PDA (o segundo download!) ;)


Posted Image
0

Share this topic:


  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users