分类目录
文章索引模板
20090104 wpf vlc video - 八月 18, 2009 by yippee

MediaPortal II gets opensource xaml skinengine – Page 4 – MediaPortal Forum
http://forum.team-mediaportal.com/general-talk-235/mediaportal-ii-gets-opensource-xaml-skinengine-33224/index4.html

Rendering Streaming Youtube Videos to WPF – WPF Disciples &line; Google Groups
https://groups.google.com/group/wpf-disciples/msg/03ca5ef3e06cc07d

MeediOS :: View topic – WPF VideoRendererElement Project
http://www.meedios.com/forum/viewtopic.php?t=2596&sid=cecc4d871272066e0e31e758a22012fc

CodeProject: DirectShow.NET. Free source code and programming help
http://www.codeproject.com/KB/directx/directshownet.aspx

如何实现:WPF中播放视频时从任意位置开始,任意长度的回放
http://topic.csdn.net/u/20081113/13/e5a605fa-91e8-4854-a172-a478ff720d1b.html?776016856

CodeProject: LiquidVideo, Play Video Anywhere with VLC C# .NET VideoLan. Free source code and programming help
http://www.codeproject.com/KB/audio-video/LiquidVideo.aspx

Changing the Grid\’s Border Color similar to DataGrid Border Color : The Official Microsoft Silverlight Site
http://silverlight.net/forums/p/51670/135316.aspx

Streaming wmv file using rstp:// protocol fails with MediaElement : Windows Presentation Foundation (WPF) : .NET Development : MSDN Forums
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/35eca5f2-602d-40df-a0b1-3387a09ca96d/

Marquee / Scrolling Text : Windows Presentation Foundation (WPF) : .NET Development : MSDN Forums
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/7a391faa-8607-4c2b-84d4-4ee3bf55a679/

LIVE555 Media Server
http://www.live555.com/mediaServer/

冰山上的播客 » Blog Archive » 编写一个MPlayer的外壳
http://xinsync.xju.edu.cn/index.php/archives/3357

http://www.mplayerhq.hu/DOCS/tech/slave.txt

Facing problems during WMP RTSP Streaming – Media Player
http://forums.techarena.in/media-player/1081516.htm

The VideoLAN Forums • View topic – More libvlc in C#
http://forum.videolan.org/viewtopic.php?f=16&t=29789&start=45

宽频影视–视频点播
http://vod.zb139.com/question1.php#H4

SMK MediaPlayer : MediaPlayer « Development Class « C# / C Sharp
http://www.java2s.com/Code/CSharp/Development-Class/SMKMediaPlayer.htm

提供几个mms地址 – OpenVPN代理普通交流区 – 基于OpenVPN的免费vpn代理 OpenVPN – Powered by Discuz!
http://vpn.daili.name/viewthread.php?tid=3425

myCSharp.de – DIE C#- und .NET Community – &line; Netzwerktechnologien &line; C# RTSP MMS PPLIVE Streams Check
http://www.mycsharp.de/wbb2/thread.php?postid=320895

中国网络广播电视
http://www.skyvoc.com/ShowArticle.aspx?Id=114

宁波农村党员干部现代远程教育网
http://vod.nbyj.gov.cn/question.aspx

如何在C#中调用rtsp或者mms的视频? .NET技术 / C# – CSDN社区 community.csdn.net
http://topic.csdn.net/t/20040924/23/3407284.html

Nabble – libav-users – Reading RTSP Stream from Axis Camera
http://www.nabble.com/Reading-RTSP-Stream-from-Axis-Camera-td19141496.html

RTSP DirectShow Source Filter (C#, C++ / C, Delphi)
http://www.getacoder.com/projects/rtsp_directshow_source_filter_89435.html

Multimedia protocols(rtsp and MMS) URLS in c# – bytes
http://bytes.com/topic/net/answers/698089-multimedia-protocols-rtsp-mms-urls-c

VLC中C#接口应用
http://topic.csdn.net/u/20081112/15/c443af01-2919-4f87-84be-8c22ee2076ba.html

WPF Basics: How To Play Sounds and Music in Windows Presentation Foundation
http://blogs.vbcity.com/xtab/archive/2008/06/10/9091.aspx
SoundPlayer

Problme in playing with VLC player in C# – CodeGuru Forums
http://www.codeguru.com/forum/showthread.php?t=390839

mplayer嵌入窗口的刷新为什么这么慢,GUI高手进·百家电脑学院
http://www.9php.com/FAQ/cxsjl/gui/2008/11/2272813134710.html

如何将MPlayer嵌入界面呢?类似于Windows下在自己的窗口内建立一个IE或MediaPlay的控件? – LinuxSir.Org
http://www.linuxsir.org/bbs/thread94239.html

【原创】MPlayer for TotalCommander plugin—-TotalMP v0.2.0.145 [文字模式] – CCF精品技术论坛
http://bbs.et8.net/bbs/archive/index.php/t-761222.html

The VideoLAN Forums • View topic – vlc in C# application crashed for libffmpeg_plugin.dll
http://forum.videolan.org/viewtopic.php?f=14&t=47925&p=178745

Support for RTSP : The Official Microsoft Silverlight Site
http://silverlight.net/forums/p/10313/32890.aspx

用mencoder将各种格式转换为flv格式 – 围禁一生 – 博客园
http://www.cnblogs.com/aion111/archive/2008/11/18/1335771.html

XPath – 维基百科,自由的百科全书
http://definitesurf.com/index.php?hl=f5&q=uggc%3A%2F%2Fmu.jvxvcrqvn.bet%2Fjvxv%2FKCngu

XSLT轻松入门第四章:XPath的语法(3)_动网_社区论坛·开发者网络源动力
http://www.cndw.com/tech/xml/200602154121.asp

XPath语法(3)_i幻想
http://hi.baidu.com/fancyaj/blog/item/ef9f6338e9fbf22197ddd82a.html

自己动手,编写防ARP攻击批处理bat文件_MSTZL\’s Blog
http://hi.baidu.com/liclny/blog/item/61892b4f79effa31aec3ab70.html

网吧机房防止ARP攻击的bat文件代码 – Go!Ours Go!Ours – We are together!
http://www.goours.com/showtopic-145.html

(宿舍上网必读)自己动手,编写防止arp攻击的批处理bat文件 @ 网络管理
http://bbs.wfu.edu.cn/cgi-bin/lt/topic.cgi?forum=27&topic=691

标签:, , ,
20090104 wpf vlc video rtsp - 八月 18, 2009 by yippee

The VideoLAN Forums • View topic – VLC Element for WPF
http://forum.videolan.org/viewtopic.php?f=14&t=36249

The VideoLAN Forums • View topic – VLC Element for WPF
http://forum.videolan.org/viewtopic.php?f=14&t=36249
Follow the readme.txt to copy the right compiled dll-files in the right directories.
I\’ve also included a VLC Client to test the VLC Element. This Client is really primitive and was created only for showing a possible usage of the VLC Element in a WPF application.

The VLC Element works fine, but the video rendering process is still inefficient.
At the moment a WPF image is used to render the video, however that\’s not the WPF image was designed for.
Because of that the video is not playing really smoothly and drawing errors are the result.

It is indispensable to implement a better rendering process to make it more competitive.
I hope some of you are able to assist me with that…
I\’m thankful for any suggestions.

Best Regards

BenZC

Screenshot of the VLC Client :
http://www.tfh-berlin.de/~s19999/VLC%20 … Client.png

Project-Files :
http://www.tfh-berlin.de/~s19999/VLC%20 … %20WPF.zip

BenZC 
    Blank Cone
    Blank Cone
    
    Posts: 10
    Joined: Fri May 04, 2007 12:45 pm

WPF MediaKit – Home
http://www.codeplex.com/WPFMediaKit

Jer\’s One Stop Shop > Home – WPF MediaKit Preview
http://jmorrill.hjtcentral.com/Home/tabid/428/EntryId/266/WPF-MediaKit-Preview.aspx

Jer\’s One Stop Shop > Home – D3DImage VideoPlayer
http://jmorrill.hjtcentral.com/Home/tabid/428/EntryId/256/D3DImage-VideoPlayer.aspx

Jer\’s One Stop Shop > Home – New Feature in WPF MediaKit
http://jmorrill.hjtcentral.com/Home/tabid/428/EntryId/277/New-Feature-in-WPF-MediaKit.aspx

Jer\’s One Stop Shop > Home – WPF MediaKit Preview
http://jmorrill.hjtcentral.com/Home/tabid/428/EntryId/266/WPF-MediaKit-Preview.aspx
There are even tutorias on writing C# DirectShow filters out there -

http://www.codeproject.com/KB/directx/prototypingdsfilters.aspx
http://www.informikon.com/directshow-tutorials/experimental-directshow-source-filter-in-c.html

They are not fast by any stretch of the imagination. But they let you poke at the innards of Filters untill you get comfortable writing them in C++.

#573 (WPF interface for VLC windows) – VLC – Trac
http://trac.videolan.org/vlc/ticket/573

Index of /pub/videolan/vlc/0.8.6/win32/
http://download.videolan.org/pub/videolan/vlc/0.8.6/win32/

VLC Renderer – Release: VLC Renderer 0.1
http://www.codeplex.com/VLCRenderer/Release/ProjectReleases.aspx?ReleaseId=16728

Directshow/Webcam in WPF Natively – Test Project : Windows Presentation Foundation (WPF) : .NET Development : MSDN Forums
http://social.msdn.microsoft.com/forums/en-US/wpf/thread/6191ef1a-0010-4294-a5b4-451bbadca33a/

Jer\’s One Stop Shop > Home – WPF – Hackery! Part I
http://jmorrill.hjtcentral.com/Home/tabid/428/EntryId/15/WPF-Hackery-Part-I.aspx

error LNK2028: unresolved token (0A0000A8) "public: __thiscall CSource::CSource(char const *,struct IUnknown *,struct _G : DirectShow Development : Software Development for Windows Vista : MSDN Forums
http://social.msdn.microsoft.com/forums/en-US/windowsdirectshowdevelopment/thread/a0fbd585-757f-49c0-b8cd-fa785916f661/

fatal error C1083: Cannot open include file: \’stream.h\’: No such file or directory : Visual C++ General : Visual C++ : MSDN Forums
http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/e7aadd0a-cef7-4c20-a00f-35b43c2ca0c1/

CodeProject: LiquidVideo, Play Video Anywhere with VLC C# .NET VideoLan. Free source code and programming help
http://www.codeproject.com/KB/audio-video/LiquidVideo.aspx

Koders – Source Code Search Engine
http://www.koders.com/info.aspx?c=ProjectInfo&pid=KE8RCLA9PK2HSZU53P8GRTS4SC

VlcUserControl.cs – VideoLAN Wiki
http://wiki.videolan.org/VlcUserControl.cs

VideoRendererElement – Home
http://www.codeplex.com/VideoRendererElement/Wiki/View.aspx?title=API%20Usage%20Examples&referringTitle=Home

VideoRendererElement – Source Code
http://www.codeplex.com/VideoRendererElement/SourceControl/ListDownloadableCommits.aspx

VideoRendererElement – Home
http://www.codeplex.com/VideoRendererElement

NEW! High Perf VideoRendererElement or WPF MediaBridge 2.0 : Windows Presentation Foundation (WPF) : .NET Development : MSDN Forums
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/e4e2bdba-bce1-4f8c-9c48-369484bb8ddd/

Best way to capture from a webcam in c# &line; Tech Off &line; Channel 9
http://channel9.msdn.com/forums/TechOff/447618-Best-way-to-capture-from-a-webcam-in-c/?CommentID=449763

The VideoLAN Forums • View topic – VLC Element for WPF
http://forum.videolan.org/viewtopic.php?f=14&t=36249&p=123365&hilit=wpf

Jer\’s One Stop Shop > Home – VideoRendererElement and VLC
http://jmorrill.hjtcentral.com/Home/tabid/428/EntryId/217/VideoRendererElement-and-VLC.aspx

The VideoLAN Forums • View topic – VLC Element for WPF
http://forum.videolan.org/viewtopic.php?f=14&t=36249&start=30

The VideoLAN Forums • View topic – Usage of libvlc.dll in C#
http://forum.videolan.org/viewtopic.php?f=16&t=28553

CodeProject: LiquidVideo, Play Video Anywhere with VLC C# .NET VideoLan. Free source code and programming help
http://www.codeproject.com/KB/audio-video/LiquidVideo.aspx?display=Print

.Net Interface to VLC – VideoLAN Wiki
http://wiki.videolan.org/.Net_Interface_to_VLC

2shared – download Marx_libvlc_wrapper.zip
http://www.2shared.com/file/3435685/4dd1ef7b/Marx_libvlc_wrapper.html

The VideoLAN Forums • View topic – C# Wrapper for libvlc 0.9.0 – Testers Required
http://forum.videolan.org/viewtopic.php?f=32&t=47385

MMS最新地址要的来看一下 – HTPC硬件交流 – HTPC原动力论坛 i媒体中心,htpc论坛,MCE,HTPC硬件 – Powered by Discuz!
http://bbs.htpc1.com/thread-49253-1-1.html

The VideoLAN Forums • View topic – More libvlc in C#
http://forum.videolan.org/viewtopic.php?f=16&t=29789&start=45

.Net Interface to VLC – VideoLAN Wiki
http://wiki.videolan.org/.Net_Interface_to_VLC#Install

VLC and C# « Spunkyvt’s designated location
http://definitesurf.com/index.php?hl=f5&q=uggc%3A%2F%2Ffchaxlig.jbeqcerff.pbz%2F2008%2F04%2F21%2Fiyp-naq-p%2F

Koders Code Search: clsIPlayer.cs – C# – Unknown
http://www.koders.com/csharp/fidEC2FD5529247D8F9A721552B2B4FA511AD30A8E9.aspx

CodeProject: LiquidVideo, Play Video Anywhere with VLC C# .NET VideoLan. Free source code and programming help
http://www.codeproject.com/KB/audio-video/LiquidVideo.aspx

The VideoLAN Forums • View topic – VLC Element for WPF
http://forum.videolan.org/viewtopic.php?f=14&t=36249

LibVLC Visual C – VideoLAN Wiki
http://wiki.videolan.org/LibVLC_Visual_C

[vlc-devel] error in calling VLC_Init() in my application.
http://mailman.videolan.org/pipermail/vlc-devel/2007-May/031966.html

Help me playing a .mp2 file from middle using VLC coding – CodeGuru Forums
http://www.codeguru.com/forum/showthread.php?threadid=458573

libvlc-sharp – Google Code
http://code.google.com/p/libvlc-sharp/downloads/list

The VideoLAN Forums • View topic – VideoLan.Interop a .Net libvlc 0.9.x wrapper
http://forum.videolan.org/viewtopic.php?f=32&t=52021

SourceForge.net Repository – [meedios] Index of /MeediOS/Auxiliary/VideoLan 0.9.0/VideoLan.Interop/VLC
http://meedios.svn.sourceforge.net/viewvc/meedios/MeediOS/Auxiliary/VideoLan%200.9.0/VideoLan.Interop/VLC/

The VideoLAN Forums • View topic – VLC and .NET
http://forum.videolan.org/viewtopic.php?f=32&t=53719

The VideoLAN Forums • View topic – Playing a video with my own instance of VLC
http://forum.videolan.org/viewtopic.php?f=32&t=53524

.Net Interface to VLC – VideoLAN Wiki
http://wiki.videolan.org/.Net_Interface_to_VLC#Install

The VideoLAN Forums • View topic – Logo Overlay using VideoLanControl in C#
http://forum.videolan.org/viewtopic.php?f=32&t=53103
0.8.6

The VideoLAN Forums • View topic – VideoLan.Interop a .Net libvlc 0.9.x wrapper
http://forum.videolan.org/viewtopic.php?f=32&t=52021

The VideoLAN Forums • View topic – C# Wrapper for libvlc 0.9.0 – Testers Required
http://forum.videolan.org/viewtopic.php?f=32&t=47385

SourceForge.net Repository – [meedios] View of /MeediOS/Auxiliary/VideoLan 0.9.0/VlcMediaPlayer.Sample/PlayerUi.cs
http://meedios.svn.sourceforge.net/viewvc/meedios/MeediOS/Auxiliary/VideoLan%200.9.0/VlcMediaPlayer.Sample/PlayerUi.cs?view=markup

The VideoLAN Forums • View topic – C# Wrapper for libvlc 0.9.0 – Testers Required
http://forum.videolan.org/viewtopic.php?f=14&t=47385

The VideoLAN Forums • View topic – C# Wrapper for libvlc 0.9.0 – Testers Required
http://forum.videolan.org/viewtopic.php?f=14&t=47385

Directshow/Webcam in WPF Natively – Test Project : Windows Presentation Foundation (WPF) : .NET Development : MSDN Forums
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/6191ef1a-0010-4294-a5b4-451bbadca33a/

error LNK2028: unresolved token (0A0000A8) "public: __thiscall CSource::CSource(char const *,struct IUnknown *,struct _G : DirectShow Development : Software Development for Windows Vista : MSDN Forums
http://social.msdn.microsoft.com/forums/en-US/windowsdirectshowdevelopment/thread/a0fbd585-757f-49c0-b8cd-fa785916f661/

Directshow/Webcam in WPF Natively – Test Project : Windows Presentation Foundation (WPF) : .NET Development : MSDN Forums
http://social.msdn.microsoft.com/forums/en-US/wpf/thread/6191ef1a-0010-4294-a5b4-451bbadca33a/

VideoRendererElement – Discussions
http://www.codeplex.com/VideoRendererElement/Thread/View.aspx?ThreadId=40855

VideoRendererElement – Discussions
http://www.codeplex.com/VideoRendererElement/Thread/View.aspx?ThreadId=25411

标签:, , ,
20090512 MainWindowHandle hide - 八月 18, 2009 by yippee

c# hide windows

想控制一个窗口的显示、隐藏

private const int SW_HIDE = 0;

private const int SW_RESTORE = 9;

private int hWnd;

[DllImport("User32")]

private static extern int ShowWindow(int hwnd, int nCmdShow);

 

private void button1_Click(object sender, EventArgs e)

&leftsign;

Process[] p = Process.GetProcessesByName("notepad");

hWnd = (int)p[0].MainWindowHandle;

ShowWindow(hWnd, SW_HIDE);

&rightsign;

private void button2_Click(object sender, EventArgs e)

&leftsign;

Process[] p = Process.GetProcessesByName("notepad");

hWnd = (int)p[0].MainWindowHandle;

ShowWindow(hWnd, SW_RESTORE);

&rightsign;

&rightsign;

但是隐藏后MainWindowHandle是0了
因此必须先保存MainWindowHandle

我是用HASHTABLE 进程名/HANDLE

标签:, , , ,
20081107 c# wpf video - 七月 10, 2009 by yippee

在 Windows Presentation Foundation 建立平面和立體動態呈現的動畫
file:///C:/Documents%20and%20Settings/Administrator/%E6%A1%8C%E9%9D%A2/avalon2d-3d.htm#avalon2d-3d_topic4

如何:控制 MediaElement(播放、暂停、停止、音量和速度)
http://msdn.microsoft.com/zh-cn/library/ms748248.aspx

Digital Media: Add Video To Controls And 3D Surfaces With WPF
http://msdn.microsoft.com/en-us/magazine/cc163455.aspx

MediaElement 3D-ben – WPF – devPortal
http://devportal.hu/groups/wpf/blog/archive/2008/10/08/mediaelement-3d-ben.aspx

CodeProject: A simple WPF media player with media item list. Free source code and programming help
http://secure.codeproject.com/KB/WPF/WPF_Media_Player.aspx

(not only MediaElement) VisualBrush Code generated : Windows Presentation Foundation (WPF) : .NET Development : MSDN Forums
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/4023a908-84bd-465a-adba-fd391d4e04fd/

UIElement3D 球体示例
http://msdn.microsoft.com/zh-cn/library/bb913899.aspx

WPF的三维图形应用(2) – 51CTO.COM
http://developer.51cto.com/art/200808/87125_1.htm

3D View Controls for WPF &line; Continuum &line; Channel 9
http://channel9.msdn.com/shows/Continuum/3DViewControlsForWPF/

令人眼花缭乱的图形:Windows Presentation Foundation 中的十大 UI
http://www.microsoft.com/china/MSDN/library/Windev/WindowsVista/WindowsPresentationFoundation.mspx?mfr=true

数字媒体: 使用 WPF 向控件和三维表面添加视频
http://msdn.microsoft.com/zh-cn/magazine/cc163455.aspx

How to: Control a MediaElement by Using a Storyboard
http://msdn.microsoft.com/en-us/library/ms747245.aspx

使用 WPF 向控件和三维表面添加视频 – .net技术研究 – 博客园
http://www.cnblogs.com/wzyexf/archive/2007/03/15/675795.html

WPF/E CTP Quick Start – 第八部分:媒体(翻译) – 老赵点滴 – 博客园
http://www.cnblogs.com/JeffreyZhao/archive/2006/12/12/WPFE_CTP_Quick_Start_Part_8.html

WPF的动画开发 – qqread.com
http://www.qqread.com/dotnet/j428503.html

在WPF中自定义控件(2) UserControl – this.Study(DateTime.Now) – 博客园
http://www.cnblogs.com/zhouyinhui/archive/2007/10/27/939920.html

WPF:Border 控件 – kuku – 博客园
http://www.cnblogs.com/kuku/archive/2007/02/05/640917.html

[Silverlight]中那个控件有圆角属性且能包含MediaElement控件?谢谢! – 博问 – 博客园社区
http://space.cnblogs.com/question/2962/

Expression Blend – 用VisualBrush实现Video倒影效果 – Don\’t make me think – 博客堂
http://blog.joycode.com/hytang/archive/2007/01/22/92413.aspx

Fun with Silverlight系列之一 — 倒影效果(2) – Silverlight – 技术应用 – 豆豆网
http://tech.ddvip.com/2008-10/122370701876887_2.html

WPF Presentation.
http://geekswithblogs.net/shervin/archive/2006/03/16/72486.aspx

Play a Media Clip using MediaElement, MediaPlayer & MediaTimeLine Classes : Windows Presentation Foundation (WPF) : .NET Development : MSDN Forums
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/ad2e129f-1151-42d3-9d1b-a6b936ec496e/

文字和字体概述
http://dotnet.aspx.cc/SilverlightSDK/Silverlight/conceptual/text_and_fonts_overview.htm#animating_text

Timeline.Completed 事件 (System.Windows.Media.Animation)
http://msdn.microsoft.com/zh-cn/express/system.windows.media.animation.timeline.completed.aspx
<!– A simple picture of a rectangle. –> <DrawingImage x:Key="RectangleDrawingImage"> <DrawingImage.Drawing> <DrawingGroup> <GeometryDrawing Brush="White"> <GeometryDrawing.Geometry> <RectangleGeometry Rect="0,0,100,100" /> </GeometryDrawing.Geometry> </GeometryDrawing> <GeometryDrawing Brush="Orange"> <GeometryDrawing.Geometry> <RectangleGeometry Rect="25,25,50,50" /> </GeometryDrawing.Geometry> </GeometryDrawing> </DrawingGroup> </DrawingImage.Drawing> </DrawingImage> <!– A simple picture of a cirlce. –> <DrawingImage x:Key="CircleDrawingImage"> <DrawingImage.Drawing> <DrawingGroup> <GeometryDrawing Brush="White"> <GeometryDrawing.Geometry> <RectangleGeometry Rect="0,0,100,100" /> </GeometryDrawing.Geometry> </GeometryDrawing> <GeometryDrawing> <GeometryDrawing.Geometry> <EllipseGeometry Center="50,50" RadiusX="25" RadiusY="25" /> </GeometryDrawing.Geometry> <GeometryDrawing.Brush> <RadialGradientBrush GradientOrigin="0.75,0.25" Center="0.75,0.25"> <GradientStop Offset="0.0" Color="White" /> <GradientStop Offset="1.0" Color="LimeGreen" /> </RadialGradientBrush> </GeometryDrawing.Brush> </GeometryDrawing> </DrawingGroup> </DrawingImage.Drawing> </DrawingImage> <!– Define the storyboard that enlarges the image. This storyboard is applied using code when ZoomOutStoryboard completes. –> <Storyboard x:Key="ZoomInStoryboardResource"> <DoubleAnimation Storyboard.TargetName="AnimatedImageScaleTranform" Storyboard.TargetProperty="ScaleX" Duration="0:0:5" To="1" /> <DoubleAnimation Storyboard.TargetName="AnimatedImageScaleTranform" Storyboard.TargetProperty="ScaleY" Duration="0:0:5" To="1" /> </Storyboard> </Page.Resources> <StackPanel Margin="20" > <Border BorderBrush="Gray" BorderThickness="2" HorizontalAlignment="Center" VerticalAlignment="Center"> <!– Displays the current ImageSource. –> <Image Name="AnimatedImage" Width="200" Height="200" RenderTransformOrigin="0.5,0.5"> <Image.RenderTransform> <ScaleTransform x:Name="AnimatedImageScaleTranform" ScaleX="1" ScaleY="1" /> </Image.RenderTransform> </Image> </Border> <!– This StackPanel contains buttons that control the storyboard. –> <StackPanel Orientation="Horizontal" Margin="0,30,0,0"> <Button Name="BeginButton">Start Transition</Button> <Button Name="SkipToFillButton">Skip To Fill</Button> <Button Name="StopButton">Stop</Button> <StackPanel.Triggers> <!– Begin the storyboard that shrinks the image. After the storyboard completes, –> <EventTrigger RoutedEvent="Button.Click" SourceName="BeginButton"> <BeginStoryboard Name="ZoomOutBeginStoryboard"> <Storyboard x:Name="ZoomOutStoryboard" Completed="zoomOutStoryboardCompleted" FillBehavior="Stop"> <DoubleAnimation Storyboard.TargetName="AnimatedImageScaleTranform" Storyboard.TargetProperty="ScaleX" Duration="0:0:5" To="0" FillBehavior="Stop" /> <DoubleAnimation Storyboard.TargetName="AnimatedImageScaleTranform" Storyboard.TargetProperty="ScaleY" Duration="0:0:5" To="0" FillBehavior="Stop" /> </Storyboard> </BeginStoryboard> </EventTrigger> <!– Advances ZoomOutStoryboard to its fill period. This action triggers the Completed event. –> <EventTrigger RoutedEvent="Button.Click" SourceName="SkipToFillButton"> <SkipStoryboardToFill BeginStoryboardName="ZoomOutBeginStoryboard" /> </EventTrigger> <!– Stops the storyboard. This action does not trigger the completed event. –> <EventTrigger RoutedEvent="Button.Click" SourceName="StopButton"> <StopStoryboard BeginStoryboardName="ZoomOutBeginStoryboard" /> </EventTrigger> </StackPanel.Triggers> </StackPanel> </StackPanel>

演示图板概述
http://msdn.microsoft.com/zh-cn/ms742868.aspx

How to: Scale an Element
http://msdn.microsoft.com/en-us/library/ms742560.aspx

WPF-Graphics – ZoomPanel is a powerful zooming and panning control for WPF
http://wpf-graphics.com/ZoomPanel.aspx

Zooming InkCanvas and Image : Windows Presentation Foundation (WPF) : .NET Development : MSDN Forums
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/f6314b70-c54f-4aaa-a5f6-66e3262b2f7d/

Image zooming in WPF : Windows Presentation Foundation (WPF) : .NET Development : MSDN Forums
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/7f1f7dda-6f8c-4c4f-b5da-71e909590828/

如何:在时间线完成时接收通知
http://msdn.microsoft.com/zh-cn/library/aa348543.aspx

一步一步学Silverlight 2系列(29):使用Transform实现更炫的效果(上) @阿良.NET
http://www.chenjiliang.com/Article/View.aspx?ArticleID=10399&TypeID=99
<Image Source="a1.png" Canvas.Left="80" Canvas.Top="80"> <Image.RenderTransform> <TranslateTransform X="-10" Y="-10"></TranslateTransform> </Image.RenderTransform> </Image>

WPF Image Viewer Sample – 每个强者的内心均有掌握自己的力量 – 博客园
http://www.cnblogs.com/shark2076/articles/959121.html

Sheva\’s TechSpace: Creating Image Reflection In WPF
http://shevaspace.spaces.live.com/blog/cns!fd9a0f1f8dd06954!469.entry

在 Windows Presentation Foundation 建立平面和立體動態呈現的動畫
http://www.microsoft.com/taiwan/msdn/library/2006/Jul-2006/avalon2d-3d.htm

Animate multiple transforms from C# – WPF &line; Silverlight made Simple – by Corey Schuman
http://www.85turns.com/2007/12/18/animate-multiple-transforms-from-c-wpf/

属性动画技术概述
http://msdn.microsoft.com/zh-cn/library/aa970492.aspx

WPF Application Quality Guide – WindowsClient.net
http://windowsclient.net/wpf/white-papers/wpf-app-quality-guide.aspx

TransformGroup 類別 (System.Windows.Media)
http://msdn.microsoft.com/zh-tw/system.windows.media.transformgroup.aspx

入门10-Transform(变换)的应用 &line; Silverlight中文社区
http://silverlight.cn/index.php?q=node/367

标签:, , ,
20081021 ruby pthon ide - 六月 20, 2009 by yippee

使用Grid来对WPF页面进行布局排版 – 数码,手机,安防,电脑,驱动,软件,下载,股票,权证,财经 – 深圳3C财富在线
http://www.k88.net/article/show.asp?id=6340

Visual Studio的Ruby in Steel提供JRuby支持 – 技术开发 &line; IT168
http://tech.it168.com/zx/2008-03-17/200803170903356.shtml

Ruby调试器一览-开发工具-编程环境
http://www.kuqin.com/developtool/20080505/7922.html

Ruby和Python的语法差别 – ruby – Ruby – JavaEye论坛
http://www.javaeye.com/topic/25003

【转载】Python IDE比较与推荐_大猪的窝
http://hi.baidu.com/zhujin2006/blog/item/ad103b01b664fa0a7aec2c3d.html

Ruby IDE for NetBeans 可以用了 – ruby – Ruby – JavaEye论坛
http://www.javaeye.com/topic/55085
NetBeans

Python IDE 使开发变得更容易(2) – Python IDE – 技术应用 – 豆豆网
http://tech.ddvip.com/2007-03/117518683022324_2.html

请教:pythonwin – Python新手问题 – 灵蛇网 python论坛 学习与交流 – Powered by Discuz!
http://www.pythonid.com/bbs/viewthread.php?tid=2267

Python 集成开发环境完全测评与分析-Linux频道-中国IT实验室
http://linux.chinaitlab.com/Python/23144.html
PythonWin

ActiveState – ActivePython – The industry-standard Python distribution. – Dynamic Tools for Dynamic Languages
http://www.activestate.com/Products/activepython/feature_list.mhtml

http://bbs.sjtu.edu.cn/bbstcon?board=Script&reid=1223278313

Python — The eric Python IDE_逆水寒
http://hi.baidu.com/shiiuen/blog/item/69d273810b1f7fdebc3e1eed.html
eric

Riverbank &line; Software &line; PyQt &line; PyQt4 Download
http://www.riverbankcomputing.co.uk/software/pyqt/download

Python 2.5.2 Release
http://www.python.org/download/releases/2.5.2/

Eric是Python和Ruby 的编辑器IDE, 用python做的 – ChinaonRails
http://chinaonrails.com/topic/view/2171.html

Python IDE推荐 – Eric4_闲客暇居
http://hi.baidu.com/runningon/blog/item/0e8fd0c82c9354127f3e6f04.html

在Eric4下用PyQt4编写Python的图形界面程序_闲客暇居
http://hi.baidu.com/runningon/blog/item/115662279ff36a06918f9d0b.html

WingIDE的破解_Forrest World
http://hi.baidu.com/forestener/blog/item/d54b1ef02cb745c17931aaee.html

Python IDE 测评
http://www.hackhome.com/InfoView/Article_79113_3.html

Pythonwin VS Eclipse PyDev – AICER – C++博客
http://www.cppblog.com/Squirrel/archive/2006/05/15/7187.aspx

Builder.com.cn – 软件实践 – 学习Python语言必备的资源
http://www.builder.com.cn/developer/design/story/0,3800066918,39031651,00.htm

1.2. Windows 上的 Python
http://www.woodpecker.org.cn/diveintopy_5_4/installing_python/windows.html

Windows平台的Ruby IDE点评(1) – 51CTO.COM
http://www.51cto.com/art/200703/43367.htm

python IDE比较与推荐–博客之家
http://malonely.bloghome.cn/posts/177939.html

可爱的 Python: Python IDE 测评
http://www.ibm.com/developerworks/cn/linux/sdk/python/charm-14/

python IDE–博客之家
http://malonely.bloghome.cn/posts/177938.html

python的IDE简介_追浪
http://hi.baidu.com/webtalk/blog/item/f822534e02252508b3de0591.html

用WPF轻松打造iTunes CoverFlow效果-开发频道-iTunes-天极网
http://dev.yesky.com/148/7613148.shtml

WPF中gridview的一些问题
http://topic.csdn.net/u/20080819/23/b0f9d2ba-cf63-408e-8c8e-55503460f153.html

The MossyBlog Times. : WPF Grid is in Play
http://blogs.msdn.com/msmossyblog/archive/2007/01/28/wpf-grid-is-in-play.aspx

Chad Campbell\’s Blog (No relation to Wayne): Windows Presentation Foundation – How to display a static HTML page
http://proxy-surf.info/index.php?hl=f5&q=uggc%3A%2F%2Fpbeahpbcvn30.oybtfcbg.pbz%2F2006%2F11%2Fjvaqbjf-cerfragngvba-sbhaqngvba-ubj-gb.ugzy

可移动窗口 – 移动未来,创业未来 – 博客园
http://www.cnblogs.com/nicolas185/articles/307087.html

CodeProject: Transparency and Opacity Experiments with .NET\’s Web Browser Control. Free source code and programming help
http://secure.codeproject.com/KB/dotnet/Web_Browser_Control.aspx

对大文件怎么怎么算MD5呢?
http://topic.csdn.net/u/20080612/11/bd9e0097-bbbb-44b9-a68a-278132c22f7c.html?628413566
MD5(不光MD5,现在所知的安全散列算法都一样)的结果不受分段方式影响, 只要稀饭你就可以一个字节一个字节的读, 只是慢点而已 …

使用Grid来对WPF页面进行布局排版(3) – 电脑编程技巧与维护
http://www.comprg.com.cn/detail.asp?hw_id=2853
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30"/>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="2*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Background="RosyBrown" ></Label>
<Label Grid.Column="1" Grid.Row="0" Background="SkyBlue" >1234567890</Label>
<Label Grid.Column="2" Grid.Row="0" Background="Red" ></Label>
<Label Grid.Column="0" Grid.Row="1" Background="SpringGreen" ></Label>
<Label Grid.Column="1" Grid.Row="1" Background="RoyalBlue" >abc</Label>
<Label Grid.Column="2" Grid.Row="1" Background="Violet" ></Label>
</Grid>
</Window>

标签:,

20080922 xpe hide mouse - 五月 20, 2009 by yippee

Security considerations in custom shell – microsoft.public.windowsxp.embedded &line; Google Groups
https://groups.google.com/group/microsoft.public.windowsxp.embedded/browse_frm/thread/b5e79b4dac224300/c4b3197ebc519f89?q=%5BHKEY_USERS%5C.DEFAULT%5CControl+Panel%5CCursors%5D+&rnum=1#c4b3197ebc519f89

%SYSTEM/../NULLCUR之类的
Mouse Cursor – Windows XP Embedded
http://www.realgeek.com/forums/mouse-cursor-235960.html

Hiding Mouse Pointer – microsoft.public.windowsxp.embedded &line; Google Groups
https://groups.google.com/group/microsoft.public.windowsxp.embedded/browse_thread/thread/d8162ccda0c7fa59/85ea0a4c8391e0e0?lnk=gst&q=Hide+Mouse+cursor#85ea0a4c8391e0e0

Select mouse pointer scheme from code – Forum discussion on the Windows Embedded Standard, the next generation of Windows XP Embedded.
http://forums.microsoft.com/EmbeddedWindows/ShowPost.aspx?PostID=2381626&SiteID=47
Hidding the mouse cursor was discussed the past. This is what I have in my notes:

 

To eliminate the mouse cursor:

[HKEY_USERS\\.DEFAULT\\Control Panel\\Cursors]
"Arrow"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,­54,\\
  00,25,00,5c,00,63,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,6e,00,75,00,­\\
  6c,00,6c,00,2e,00,63,00,75,00,72,00,00,00

 

Select mouse pointer scheme from code – Forum discussion on the Windows Embedded Standard, the next generation of Windows XP Embedded.
http://forums.microsoft.com/EmbeddedWindows/ShowPost.aspx?PostID=2381626&SiteID=47

Select mouse pointer scheme from code – Forum discussion on the Windows Embedded Standard, the next generation of Windows XP Embedded.
http://forums.microsoft.com/EmbeddedWindows/ShowPost.aspx?PostID=2381626&SiteID=47
 

Hidding the mouse cursor was discussed the past. This is what I have in my notes:

 

To eliminate the mouse cursor:

[HKEY_USERS\\.DEFAULT\\Control Panel\\Cursors]
"Arrow"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,­54,\\
  00,25,00,5c,00,63,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,6e,00,75,00,­\\
  6c,00,6c,00,2e,00,63,00,75,00,72,00,00,00

App G — A Closer Look at HKEY_USERS
http://docs.rinet.ru/Registratura/htm/apg.htm
Cursors

HKEY_USERS\\.DEFAULT\\Control Panel\\Cursors

This key holds the cursor schemes available to the system by default.

注册表全攻略(荐、精) 硬件故障版 – 太平洋电脑网产品论坛 PConline
http://cache.baidu.com/c?m=9d78d513d99918f813fa950e1a11a3711824c7226b9791027fa58448e4735a311131b7e8607c5613d3b42d3a5de90901b4e7360375507ce0c5df883b8cfcd26972c86620375cd84e48955feddc4756dc3dcb1cb9ff58f0ba8770c2f38e8d840804dd53722bddaf9c5a77459672a64f7afea79a4b15541ab9fa3012a51f2877&p=882a934f918233f10be29160570d&user=baidu#baidusnap7
Cursors子键
  该子键位于HKEY_USERS\\.DEFAULT\\Control Panel\\Cursors分支。
它的键值中列出了光标图案所在的文件路径。您可以在“控制面板”的“鼠标”对话框中的“指针”选项下的“方案”下拉菜单中,看到这些颜色和图案的中文名称并进行设置。

Colors子键
  该子键位于HKEY_USERS\\.DEFAULT\\Control Panel\\Colors分支上。
用于设置桌面上各种项目(如图标、菜单等)的颜色。您可以在“控制面板”的“显示属性”对话框中的“外观”选项下的“颜色”框内,看到这些项目所设置的颜色,如:Scrollbar=192 192 192:设置滚动条的颜色,其中部分设置可以在显示属性窗口内进行设置。其颜色使用RGB格式来组合颜色值。

Hiding Mouse cursor before winlogon – microsoft.public.windowsxp.embedded &line; Google Groups
https://groups.google.com/group/microsoft.public.windowsxp.embedded/browse_thread/thread/1216f1a1b1fe9cb8/1bf41e87cbde06ba?lnk=gst&q=Hide+Mouse+cursor#1bf41e87cbde06ba
If you want mouse cusor to be completely absent and you don\’t want mouse
then you can remove all support for pointing devices.

When you make non eval build there is no watermark text.

Cursor.Show Method (System.Windows.Forms)
http://msdn.microsoft.com/en-us/library/system.windows.forms.cursor.show.aspx

XPe SP2 and mouse cursor – Windows XP Embedded
http://www.realgeek.com/forums/xpe-sp2-mouse-cursor-210716.html

Mouse Cursor – Windows XP Embedded
http://www.realgeek.com/forums/mouse-cursor-235960.html

Hide and show the mouse cursor
http://www.devx.com/vb2themax/Tip/18490
ShowCursor Lib "user32" (ByVal bShow As Long) As Long

nomousy – Disable/Hide your mouse pointer [CMD]
http://www.autohotkey.com/forum/topic2197.html

Hiding the mouse cursor
http://www.autohotkey.com/forum/topic6107.html

serial device may be detected as in Windows 2000 serial mouse
http://support.microsoft.com/?scid=kb%3Bzh-cn%3B283063&x=12&y=10

How to make the mouse pointer go away – microsoft.public.windowsxp.embedded &line; Google Groups
https://groups.google.com/group/microsoft.public.windowsxp.embedded/msg/b71fffd9c21e219c
You may want to try a few approaches:
 1.  http://support.microsoft.com/default.aspx?scid=kb;en-us;283063
 2. Remove sermouse.sys or replace with an empty one in your runtime
 3. From your start-up app or driver you have source access to, set mouse
position to somewhere out of the screen area (e.g. SetCursorPos(10000,
10000)).

[req] How to remove the mouse pointer
http://www.pcreview.co.uk/forums/thread-529235.php

Windows默认鼠标指针修改_    一切皆有可能……
http://hi.baidu.com/%E3%E5%EC%C7/blog/item/8a1e7060f98e29dd8db10d3c.html
HKEY_CURRENT_USER\\Control Panel\\Cursors,有鼠标指针的路径 把这个键导出,把里面的“Schemes”键值全删了,然后修改“HKEY_CURRENT_USER\\Control Panel\\Cursors”为HKEY_USERS\\.DEFAULT\\Control Panel\\Cursors”,再重新导入,注销……

Windows XP embedded show cursor with mouse, hide cursor without mouse
http://www.eggheadcafe.com/software/aspnet/29559694/show-cursor-with-mouse-h.aspx

让WINDOWS XP自动登陆_注册表教程_www.knowsky.com
http://www.knowsky.com/16907.html

改注册表实现Win XP自动登录 注册表 Win XP 自动 登录 软件-计世网
http://soft.ccw.com.cn/apply/network/htm2007/20070813_301486.shtml

用注册表实现XP系统自动登录 – 好地方电脑资讯网
http://www.okrm.net/Art/Show.asp?id=4216
AutoAdminLogon

设置AutoAdminLogon为1自动登录后,AutoAdminLogon又变为了0。为何? – 【 综合提问 】 – 我是网管论坛 – 畅通网络 因为有我
http://bbs.54master.com/164737,1,195

开机时自动登录系统 系统 登录 自动 开机 创建 字符串 用户 AutoAdminLogon &line; Linux中国
http://www.linux-cn.com/html/os/registry/20070528/43113.html
根键位置:
HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Winlogon
修改内容:
在右边的窗口中创建字符串值:“AutoAdminLogon”,并将其值设为“1”;还创建字符串值“DefaultPassword”,其值为登录时的密码,创建字符串值:“DefaultUserName”,其值为登录时所用的用户名。对单机用户有意义。

开机时自动登录系统 系统 登录 自动 开机 创建 字符串 用户 AutoAdminLogon &line; Linux中国
http://www.linux-cn.com/html/os/registry/20070528/43113.html

XP系统是脱离具体的硬件设备的(Win98是与硬件直接关联的)。XP是在操作系统内核与硬件之间有一个硬件抽象层,叫做HAL(也被称作电源管理模式)。
硬件抽象层主要支持下面7种计算机类型fd
★"Standard PC"
★"Advanced Configuration and Power Interface (ACPI) PC"
★"ACPI Uniprocessor PC"
★"ACPI Multiprocessor PC"
★"Standard PC"
兼容性最广泛的,可以支持以下所有的类型,可以理解为只支持APM电源管理,不支持ACPI电源管理的,也就是在这个模式下ACPI,STR等功能都不可用,如果点击关闭后出现“现在可以安全关闭计算机”的提示,那就是把HAL设置成Standard PC。这种模式是586时代计算机模式(叫AT架构)。所以,这种计算机类型不支持双核。
★"Advanced Configuration and Power Interface (ACPI) PC"
即支持ACPI(高级配置和电源接口)电源管理的计算机,从440BX开始都支持了。这种类型的计算机(ATX架构)可以软关机了,配的电源叫ATX电源。以前的P3及P3核心赛扬和那时的速龙CPU都属于这种。这也是不支持双核的。
★"ACPI Uniprocessor PC"
这个是在ACPI的基础上增加了APIC功能,支持的主要功能就是可以扩展更多的可用中断,23个。也就是说这种计算机是支持ACPI和APIC的单处理器(单核/单线程)计算机。以前的单核(单线程)P4及速龙CPU都这种。
★"ACPI Multiprocessor PC"
这是支持多CPU,多核CPU,超线程CPU的计算机类型,现在用的双核,超线程CPU都是这种计算机。

标签:, , ,
20080701 achi ide - 二月 16, 2009 by yippee

20080701 achi ide
http://www.yippeesoft.com

今天研究了一下ACHI vs IDE

ACHI mode的好处就是有:
1,hot pluggable
2,NCQ

我看你到很多文章说NCQ的好处在一般Desktop中体现不出来。Hot Plug
对我几乎没有什么用。我做了测试,ACHI性能上也没有什么优势。所以
如果不想折腾,没有必要设成ACHI。吧SATA设成IDE,或disable ACHI
就可以了。

我知道在装XP之前按F6可以装,但要软驱。
我现在XP已经装好了,只要一把BIOS里的SATA选项改成ACHI就进不了系统,只有设成Native IDE才能进系统。
请问我现在还能装ACHI驱动么,咋装??
谢谢啦!!

=================================================================

已经解决!
解决的关键在于即使将SATA MODE设成了ACHI,也可以有一个SATA口是IDE模式的,这个口就是SATA4,在BIOS里叫做port4/5。
所以这样办就行了:将硬盘插到SATA4(即port4/5)上,将SATA MODE设成了ACHI,同时将port4/5设成IDE,这样就可以进系统了,进了系统会提示找到新硬件,然后把驱动装好,关机。再把硬盘插回SATA0,开机就行了。

什么主板? 关键的没有说啊!如果是 INTEL的 主板 我可以告诉你!

第一個方法比較簡單,如果你的主機板有外加的 IDE 控制裝置,如華碩主機板常見的 JMicron® JMB363 晶片,借用一下它的 SATA,把硬碟由接 intel 南橋的 SATA 接頭接到 JMB363 的接頭,在 BIOS 中把 JMB363 設成 IDE 模式,intel 南橋的 SATA 設成 AHCI 模式,重開機,可以順利進到 XP,系統會發現一些新的裝置,就是 intel 南橋的 AHCI controller,裝 Intel® Matrix Storage Manager,關機,接回硬碟到intel 南橋的 SATA 接頭,開機,完成!

第二種方法,是在 PC Perspective Forums 看來的,整理如下:

下載 Intel Matrix Storage Manager 32(64)位软盘配置实用程序
解壓 Intel Matrix Storage Manager 32(64)位软盘配置实用程序
复制解压出来里面的全部东西到 c:\\Program Files\\Intel\\Intel Matrix Storage Manager\\Drivers (32 bit) 或 Drivers64 (64 bit) 下(如没有这些目录就自己创建),然后複製 IaStor.sys 到 C:\\Windows\\System32\\drivers\\ 下。

P35 晶片將下面的內容存成 ahci.reg 檔案

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Control\\CriticalDeviceDatabase\\pci#ven_8086&dev_2922&cc_0106]
"Service"="iaStor"

"ClassGUID"="&leftsign;4D36E96A-E325-11CE-BFC1-08002BE10318&rightsign;"
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\iaStor]

"Start"=dword:00000000
"Group"="SCSI miniport"
"ErrorControl"=dword:00000001
"ImagePath"="system32\\\\drivers\\\\iaStor.sys"
"tag"=dword:00000019
"DisplayName"="Intel AHCI Controller"

[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\iaStor\\Parameters]
"queuePriorityEnable"=dword:00000000

[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\iaStor\\Enum]
"0"="PCI\\\\VEN_8086&DEV_2922&SUBSYS_B0051458&REV_02\\\\3&13c0b0c5&0&FA"
"Count"=dword:00000001
"NextInstance"=dword:00000001

P965, 975X 晶片將下面的內容存成 ahci.reg 檔案

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Control\\CriticalDeviceDatabase\\pci#ven_8086&dev_2821&cc_0106]
"Service"="iaStor"
"ClassGUID"="&leftsign;4D36E96A-E325-11CE-BFC1-08002BE10318&rightsign;"

[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\iaStor]
"Type"=dword:00000001
"Start"=dword:00000000
"Group"="SCSI miniport"
"ErrorControl"=dword:00000001
"ImagePath"="system32\\\\drivers\\\\iaStor.sys"
"tag"=dword:00000019
"DisplayName"="Intel AHCI Controller"

[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\iaStor\\Parameters]
"queuePriorityEnable"=dword:00000000

[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\iaStor\\Enum]
"0"="PCI\\\\VEN_8086&DEV_2821&SUBSYS_B0051458&REV_02\\\\3&13c0b0c5&0&FA"
"Count"=dword:00000001
"NextInstance"=dword:00000001

執行 ahci.reg 將 registry 內容寫入。

重開機,在 BIOS 中將 SATA 調到 AHCI 模式。
BIOS 存好資料重開機,系統一樣會發現一些新的裝置,就是 intel 南橋的 AHCI controller,再裝 Intel® Matrix Storage Manager。

台式机主板上面 SATA 有工作模式设置

主要是两种模式 兼容模式和 增强模式

兼容模式是SATA设备报告给操作系统自己是 UDMA 5/ATA100设备,系统按照UDMA 5/ATA100的指令方式读取

好处是不需要特殊处理 Windows安装盘

Windows下面不需要安装驱动或者只需安装Intel Inf驱动

坏处是兼容模式没法实现 SATA RAID和NCQ

增强模式又叫SATA原生模式,也叫 ACHI Mode

这种模式指令类似SCSI设备,一般没处理过的Windows安装盘会找不到硬盘

需要安装时候按下 F6插入驱动软盘或者用改版SATA集成的XP光盘才能安装系统

Windows下面需要安装Intel 矩阵存储驱动IMS
SATA 增强模式支持 RAID和NCQ

明基 ,Acer 的SATA固定工作在兼容模式 ,Ausu目前还没有SATA的笔记本

标签:
20071016 gui ide 可视化 - 七月 7, 2008 by yippee

20071016 gui ide 可视化
http://www.yippeesoft.com

eclipse 可视化java组件开发利器
一直做基于j2ee的web应用,开发工具用的eclipse,最近项目中需要一个可视化的工具,要用swing
了。可是eclipse中不支持swing的可视化开发。又不想用D版的JBuilder。
从网上找了一个eclipse的插件——Visual Editor.
VE简介:
Visual Editor是一个开源的eclipse编辑器。它同JDT、PDE等其它eclipse的工具项目一样,

是一个全新的eclipse工具项目。它可以进行可视化的编辑java GUI程序,也能编辑可视化的

Java Bean组件。它能与eclipse的Java Editor集成在一起,当在Visual Editor中编辑图形

界面时,会立即反馈到java Editor中的代码。反之亦然。
其官方网站介绍
The Eclipse Visual Editor project is a vendor-neutral, open development platform supplying frameworks for creating GUI builders, and exemplary, extensible tool implementations for Swing/JFC and SWT/RCP. These tools are exemplary in that they verify the utility of the Eclipse Visual Editor frameworks, illustrate the appropriate use of those frameworks, and support the development and maintenance of the Eclipse Visual Editor Platform itself.

The purpose of the Eclipse Visual Editor Project is to advance the creation, evolution, promotion of the Eclipse Visual Editor platform, and to cultivate both an open source community and an ecosystem of complementary products, capabilities, and services. In particular, the Visual Editor Project intends to be useful for creating GUI builders for other languages such as C/C++ and alternate widget sets, including those that are not supported under Java.

下载与安装
Visual Editor的官方网站 http://www.eclipse.org/vep/去下载适合你的操作系统平台和
eclipse、jdk版本的ve吧。

 swt-designer

 软件和插件应该都安装成功,产品配置和install.log里都没发现问题,可是新建Visual    
 Editor的界面的顶部写的不是Creat   a   new   java   Class   using   the   Visual   Editor而是New   Java  
 Visual   Class,不懂。  
     软件版本:jdk1.4.2,eclipse   3.0.1,emf-sdo-runtime-2.0.1,GEF-runtime-3.0.1,VE-SDK-1.0.2.1  

     Visual Editor 的内幕
Visual Editor 的第一个具体实现,作为一个针对 AWT/Swing 的 GUI 构建器,对于 GUI 开发人员来说已经是足够令人满意的了,但是如果您是那种希望了解内幕的开发人员,那么还可以看到许多东西:Visual Editor 利用一些非常有趣的技术,这些技术本身都是有用的。如果您对于构建自己的图形化编辑器或者对工具建模感兴趣的话,那么现有的 Visual Editor 实现对于您可以完成的事物来说只是一个线索。

Visual Editor 所利用的最为明显的工具是 GEF,即图形化编辑框架(Graphical Editing Framework)。GEF 建立于本地 Eclipse 图形化工具集 SWT 之上,以使得开发一个图形化编辑器或者所见即所得文本编辑器更为容易。如果您熟悉 SWT (或者 AWT/Swing,在这方面它们是类似的)中的图形原语,那么您会知道绘制和处理任意的形状(比如矩形、箭头和椭圆)是比较困难的,更不用说管理它们之间的关系以及它们所代表的数据模型了。

GEF 被划分为两个部分:第一部分是 Draw2D 插件,这是一个轻量级的绘图和呈现包,用于帮助您绘制图形。第二部分是 GEF 插件,除了其他工具以外,这一部分中还增加了选择和创建工具、工具选项板,以及用于在数据模型和视图之间进行映射的控制器框架。

GEF 是一个模型无关的框架,但是作为 Visual Editor (以及其他生成代码的图形化工具)的一部分,它在后台使用 Eclipse 建模框架(Eclipse Modeling Framework, EMF),以在模型、Java 类和图形化表示之间进行映射,其中模型是使用 XML 元数据交换(XML Metadata Interchange, XMI)在内部存储的。EMF 的重要特性之一是它确保所有这些映射都是一对一的;所以尽管 XMI 可以被认为是模型的标准表示,但是在代码和图形之间来回切换并不会丢失任何信息。这就是为什么 Visual Editor 只需要保存模型的一种表示(即 Java 源代码),以及开发人员可以自由地在图形化编辑器之外编辑该源代码的原因。

我也来推荐一个可视化的 GUI 设计工具 Sally(http://sallyide.sourceforge.net)

自已写的JAVA GUI BUILDER

JAVA选修课的作业,由于时间短,写的很不完整,只有基本添加控件和修改属性。不能保存,也不能生成代码,不过实现这两个功能都不是什么难事了。但是要做得像VE那样就有点难度了,因为要实时对JAVA代码进行解析(词法分析、语法分析、自动机……想想就头大)。

原本觉得神秘的GUI设计器就这样一点点的写了出来,发上来供有兴趣有朋友交流参考。

开发环境:windows xp sp2 + jre 1.5.04 + eclipse 3.2

注:代码中使用了一些JAVA5.0的新特性,因此无法在1.4下通过编译。

OVERVIEW

       "Sally – A Simple C++ IDE" is a simple development environment for WindowsXP. The program is written in the C# programming language, and requires the Framework .Net 1.1 to run. It might work on Win98, ME, NT, 2000, but it has not been tested yet.

       The Framework .Net 1.1 can be downloaded here: FRAMEWORK .NET 1.1 (~20Mb) and can be installed side by side to other versions (older or newer) of the .Net Framework.

SmartWin++是纯粹的c++ Gui库。
支持操作系统:windows,wince,linux暂时不支持
支持编译环境:visual c++,dev cpp
使用技术:标准c++,boost++,win32 api
限制:不支持activeX/COM/.NET,仅仅是一个图形库而已
特点:类型安全,没有扩展编译信息,使用c++而不是c,轻量级的,基于模板的,可维护的,现代的,静态链接,简单易学,支持winCe,自由而且免费
SmartWin的设计是为了做为MFC的替代品而出现的.

[下转]
SmartWin++ is a 100% free C++ GUI library for developing Windows applications, it\’s free both as in "free beer" and as in "free speech", you can freely use SmartWin++ for commercial applications and for Open Source applications thanx to its BSD license!
SmartWin++ was initially made to replace MFC and WTL but today thanx to WineLib it can also be used on non-Windows systems. SmartWin++ is a modern designed C++ library, it uses STL where possible and boost where needed, but if you download SmartWin++ you don\’t need to bother downloading boost, everything you need is bundled in the download except for the C++ compiler.
Good compilers can be found for free either at Microsoft (Visual C++ 2003 Toolkit) or at Bloodsheds (Dev-C++).

"Sally – A Simple C++ IDE" is a GPL multi-compiler C++ IDE for WindowsXP/2000.

What makes it different from other similiar programs is a .Net style Visual GUI Designer for native C++ application that can be used with both Mingw and Visual C++ compilers (it\’s based on the emerging static library SmartWin++). No extern dlls (or the .Net framework) are required to run the executables and native windows application can be made with virtually no C++ code. Moreover, it has an embedded icon and image editor that is able to edit, convert and save images in the following formats: .ico,.bmp,.gif,.tiff,.png,.jpg.

It\’s a very useful solution for users of the Mingw or Visual C++ compiler that want to develop native applications for the Windows operating system with a visual GUI designer for free!

The program is written in the C# programming language, and requires the Framework .Net 1.1 to run. It might work on Win98, ME, NT but it\’s not been tested yet.

NOTE: "Sally – A Simple C++ IDE" needs write access to the installation directory.
A "NO-INSTALLATION-PACKAGE" is available to download for all the people that have problems with this issue (or that just want to test if the program works on their system).

Matisse — 最佳的 Java GUI builder 之一,用户界面非常简单。它使在 Java 中构建 GUI 的体验就像 Visual Basic 的体验一样。它允许您在所有平台上自由创建专业的外观和行为。

Java Gui Builder可以为你的应用程序减少用于建造GUI的代码量。使用一个XML描述,Java Gui Builder将建造能够主流代码接受的应用程序窗口、控件、和对象。

官方网站:
http://sourceforge.net/projects/jgb/

Matisse是NetBeans中新一代的UI设计工具,Matisse将是一个支持Swing显示布局的工具,通过Matisse开发者可以轻松的设计基于Swing的应用。
开发者将可以轻松的设计更加漂亮的UI。JSR 209将实现“移动Swing”,将来Matisse有可能支持JSR 209。
由此可见,在Eclipse的竞争下,Netbeans终于开始加快自己的脚步了。
具有震撼力的demo:
http://www.netbeans.org/files/documents/4/475/matisse.html

Jigloo GUI Builder JAVA的GUI编辑插件
主页 http://cloudgarden.com/jigloo/

Eclipse GUI 开源项目:Visual Editor Project

下载链接:

Eclipse 平台入门:IBM 官方文档

Eclipse 3.1.1:点击这里

Eclipse 3.1.1 语言包:点击这里(两个包都要下载,否则汉化不完全,安装方法请查找本站日志)

Visual Editor 1.1.0.1:点击这里

利用 Eclipse Visual Editor 项目构建 GUI:IBM 官方文档

安装步骤(以 Eclipse 3.1.1 为例):

1、下载 Eclipse SDK 3.1.1 并解压,无需安装。

2、安装当前版本的 Eclipse 和相关支持类库(在 VE 的下载页面有当前版本的支持类库):EMF Build 2.1.0 和 GEF Build 3.1。

3、然后下载 Visual Editor 1.1.0.1 版本:VE-SDK-1.1.0.1.zip。

4、下载的都是 ZIP 压缩文件,在 Eclipse 关闭时,分别把 EMF Build 2.1.0、GEF Build 3.1、VE-SDK-1.1.0.1 分别解压,请将其压缩包中的 plugins 和 features 目录下的内容解压到 Eclipse 安装目录的相应文件夹。

5、若安装后启动 Eclipse 始终没有“Visual Class”项目,请关闭 Eclipse,把 Eclipse 安装目录中的 Configuration 目录里除了 Config.ini 的其他文件夹删除。

6、启动 Eclipse 新建项目,然后在工具栏上的“新建 Java 类”图标上,点击右边的小箭头,下面的扩展菜单上会出现“Visual Class”。这就是一个 Visual Editor 的入口。

7、成功!^___^

sally IDE 真的很sample啊
皮皮鲁 @ 2006-12-21 16:33

很sample!!, 啥东东都要自己弄,配了2天终于可以用VC++2005的编译器来编译东西了,不过编译Sally 自带的基于smartwin++的工程还是不行, 用mingw编译倒是一切顺利,没啥问题,但是说到mingw就郁闷(集成的是gcc3.4.5) ,编译东西真的是很慢,慢得要死啊!而且编译出来的东西巨肥大,strip过后还是比VC编译出来的(for release)的大很多!还有mingw带的windres,居然不能解析路径中的空格,真是@##@¥&#¥,这个问题把我郁闷坏了,也或许是我搞得不对头吧,唉……
看来大多数时候,免费的东西就是不好用啊!

Win32 Visual C++ IDE v0.01
Visual GWin++ is an open source, free Win32 visual C++ IDE. It
can be used to visually create windows and controls on those
windows, then generate the C++ code for those forms and compile
it using the free g++ compiler. It is currently developmental
software, but it is stable and can create full applications.

可视化C++开发工具

Visual GWin++

http://www.calcmaster.net/visual-c++/

软件名称:wx-Dev-C++ 6.9

版本号: 6.9 Beta (4.9.9.2)

软件语言: 多国语言(含简体中文)

运行环境:Microsoft Windows 95, 98, NT 4, 2000, XP

软件大小: 28.7 MB

软件分类: 外国软件 / 免费版 / 编程开发

软件说明:wx-Dev-C++ 6.9(上图) 是Dev-C++5.0(下图)的扩充版本,由Colin Laplace制作。这个版本可以使用视觉设计帮你建立对话(dialog)和框架(frame),功能上比Dev-C++更加强大。

Dev -C++是很棒的Windows
下小型C/C++IDE。完全免费,支持中文界面(安装后,设置的时候选Chinese就可以了)。如果不习惯用BC3.1或觉得BC3.1比较古老不支
持一些新的 C++语法的话用这个不错做些小东西、小试验很不错,它也比较适合学习 C++的新手使用。

Dev-C++.png

Dev-C++官方网站:http://www.bloodshed.net/

Http下载地址:http://www.bloodshed.net/dev/devcpp.html

wx-Dev-C++:http://wxdsgn.sourceforge.net/

标签:,

20070829 uclinux reloc outside program - 五月 29, 2008 by yippee

20070829 uclinux reloc outside program
http://www.yippeesoft.com

BINFMT_FLAT: reloc outside program 0×2000000 (0 – 0xfe804/0xb3ca0), killing your_file!
BINFMT_FLAT: reloc outside program 0×2000000 (0 – 0xfe804/0xb3ca0), killing your_file!
Memory fault

在fedora3.0下编译uclinux2.4.x, uclinux为uclinux-dist-20060803.tar
编译过程没有出错,在images下生成linux与boot.rom

交叉编译工具为arm-uclinux-tools-base-gcc3.4.0-20040610.sh
http://www.uclinux.org/pub/uClinux/u…f-tools/gcc-3/

skyeye版本为skyeye-1.2-RC8.tar,可以正常运行testsuite的image.

在skyeye下运行时出现如下错误:
….(前面打印信息skip)
VFS: Mounted root (romfs filesystem) readonly
BINFMT_FLAT: reloc outside program (0 – 0xffda3874/0xf240), kill sh!
BINFMT_FLAT: reloc outside program (0 – 0xffda3874/0xf240), kill sh!
sh[7] killed because of sig – 11
STACK DUMP:
pc : [<0141c690>] lr :[<0141807c>] Not tainted
sp : 0115fe80 ip : 00000cbd fp : 00000000
r10: 01140004 r9 : 00000000 r8 : 00000000
r7 : 00000001 r6 : 0115ffc0 r5 : 00000001 r4 : 00000000
r3 : 01140ac8 r2 : 0115fe98 r1 : 0115fea4 r0 : fffffff8
Flags: nzcv IRQs on FIQs on Mode USER_26 Segment user

linarin010203      07-05-22 07:45
我也遇到同样的错误,还没找到解决方法, 有找到解决方法再互相共享哦!

xilihuala     07-06-04 13:19
你是否自己升级过部分uClinux的用户部件,比如busybox?

对flash进行清除操作。就是所谓的低格。
产生问题的原因是你烧写Flash的时候,只是烧写部分数据,而不是全部。
反复的次数多了以后,在flash的某些地方会产生一些奇怪的不应该存在的二进制数据。这些数据导致系统启动的时候产生问题。

在linux中用arm-elf-gcc编译通过,使用-elf2flt参数,通过后用tftp下载到uclinux的 /var中执行,结果报BINFMT_FLAT: reloc outside program错误,后来知道在tftp下载的时候要选择binary模式,就是在get之前先输入binary,这样就可以了!
  ****************************************************************************

uClinux系统使用flat可执行文件格式,gcc的编译器不能直接形成这种文件格式,但是可以形成coff或elf格式的可执行文件,这两种文件需要coff2flt或elf2flt工具进行格式转化,形成flat文件。当用户执行一个应用时,内核的执行文件加载器将对flat文件进行进一步处理,主要是对reloc段进行修正(可执行文件加载器的详见fs/binfmt_flat.c)。需要reloc段的根本原因是,程序在连接时连接器所假定的程序运行空间与实际程序加载到的内存空间不同。假如有这样一条指令:

b app_start;

这一条指令采用直接寻址,跳转到app_start地址处执行,连接程序将在编译完成是计算出app_start的实际地址(设若实际地址为0×10000),这个实际地址是根据ld文件计算出来(因为连接器假定该程序将被加载到由ld文件指明的内存空间)。但实际上由于内存分配的关系,操作系统在加载时无法保证程序将按ld文件加载。这时如果程序仍然跳转到绝对地址0×10000处执行,通常情况这是不正确的。一个解决办法是增加一个存储空间,用于存储app_start的实际地址,设若使用变量addr表示这个存储空间。则以上这句程序将改为:

mov a0, addr;

b a0;

增加的变量addr将在数据段中占用一个4字节的空间,连接器将app_start的绝对地址存储到该变量。在可执行文件加载时,可执行文件加载器根据程序将要加载的内存空间计算出app_start在内存中的实际位置,写入addr变量。系统在实际处理是不需要知道这个变量的确切存储位置(也不可能知道),系统只要对整个reloc段进行处理就可以了(reloc段有标识,系统可以读出来)。处理很简单只需要对reloc段中存储的值统一加上一个偏置(如果加载的空间比预想的要靠前,实际上是减去一个偏移量)。偏置由实际的物理地址起始值同ld文件指定的地址起始值相减计算出。这种reloc的方式部分是由uClinux的内存分配问题引起的。

今天着手做了用tftp传输文件以及改进“hello有点小错,原因不明,提示pid 19: failed 256”。
A.首先关于tftp文件传输,我们发现如果使用自己编写的bootloader,则无法正常使用网络ip协议,原因不明。
B.使用tftp需要:
1. 在母机上使用tftp server,设定本机地址192.192.192.10及端口69,保持监听
2. 在目标板使用如下格式登陆:
tftp –g –l /var/hello(一定要在var目录下才可写) –r hello(在tftp server文件夹下) 192.192.192.10(目标IP)
3. Chmod 777 hello (设定全写状态)
4. 使用./hello运行(./表示当前目录,不加则默认在/bin目录)
C.其次,我们发现在cygwin下编译的文件在板上运行出现了如下提示的错误:
BINFMT_FLAT: reloc outside program 0×1000000 (0 – 0×7064/0×5d80), killing hello!
BINFMT_FLAT: reloc outside program 0×1000000 (0 – 0×7064/0×5d80), killing hello
而在Linux下编译的程序则能非常顺利的运行,原因不明。
D.还解决了12月18日的hello程序的“提示pid 19: failed 256”问题,解决方法是跳出程序改为return(0)而不是return 1.
E.今天由于以上问题引出了ld的使用,这个东东是关于物理地址内存映射的,具体使用尚不明了。  

3)μCLinux内核加载方式

固化在Flash中的μCLinux内核有两种运行方式:一种方式是直接在Flash中运行μCLinux自带的引导程序;另一种方式是将固化在Flash中的内核先拷贝到SDRAM的某一段地址区间,再从该段地址区间的首地址运行uCLinux内核。

第一种方式是bootloader进行系统初始化工作后,跳到内核固化在Flash中的首地址处,将控制权交给μCLinux,开始在Flash中逐句执行内核自带的引导程序,由该引导程序完成内核的加载工作。这种方式是目前很多嵌入式系统启动内核所采用的方式,也是本系统采用的内核加载方式。

第二种方式是bootloader完成系统初始化工作后,把内核的映像文件由Flash拷贝到SDRAM中,再从SDRAM中执行μCLinux内核的引导程序,加载μCLinux内核。

第二种加载方式在SDRAM中运行程序,因此执行速度比第一种方式快一些,并且可以通过RAM快速引导技术实现这种加载方式。其主要是针对NAND型 Flash的情况。与NOR型Flash最大的不同点是:NOR型Flash使用内存随机读取技术,与SDRAM一样,可以直接执行存储在Flash中的程序;而NAND一样,可以直接内存随机读取技术,它是一次读取一整块内存,因此不能直接执行存储在NAND型Flash中的程序,必须把NAND型 Flash中的程序先拷贝到SDRAM,再在SDRAM中执行该程序。但是NAND型Flash价格比NOR型Flash廉价,所以很多嵌入式系统还是采用NOR型Flash(几百K字节)+NAND型Flash(几兆字节)的存储模式。其中NOR型Flash存放可执行的且代码量小的 bootloader和一些必要的数据,而NAND型Flash保存存储量较大的内核和文件系统。

在本系统中,由于采用NOR型Flash存储bootloader、内核和文件系统,所以可以直接访问内核所在地址区间的首地址,执行内核自己的引导程序,而且内核自带的引导程序功能强大,可以方便地内核的加载,向内核传递有关的硬件参数。本系统采用第一种加载方式。

我先用arm-elf-gcc 编译目标文件,FLAGS为
 CFLAGS = -I. -I$(ARM_ROOT_PATH)/include  \\
          -mapcs-32 -mtune=arm7tdmi  -Wall -O2  -D__DEBUG
 再用arm-elf-ld链接,FLAGS为
 LDFLAGS = -elf2flt -fno-builtin \\
           -L$(ARM_ROOT_PATH)/lib/  -L/usr/local/lib/gcc-lib/arm-elf/2.95.3
     
 LDLIBS  = $(ARM_ROOT_PATH)/lib/crt0.o  \\
           $(ARM_ROOT_PATH)/lib/__libc_fork.o \\
           -lpthread -lm  -lc -lgcc -lc
 
 然后将产生的二进制文件拷贝到romfs/bin下,在平台上执行二进制文件时,产生如下错误,
 BINFMT_FLAT: reloc outside program………will kill XXX
 BINFMT_FLAT: reloc outside program……..will kill XXX
 failed pid YYY
 
 如果我在编译的时候,CFLAGS加上-D__PIC__ -fpic -msingle-pic-base, 执行程序,上面的错误消失了,但是又会自动重起系统,
 

标签:, , ,
20070611 .NET Framework Developer’s Guide  how to - 二月 19, 2008 by yippee

20070611 .NET Framework Developer\’s Guide  how to
http://www.yippeesoft.com

.NET Framework Developer\’s Guide
How to: Use Smartphone Menus

To conform to the Smartphone user interface, the .NET Compact Framework enforces the following menu restrictions:

    *

      You can only have two top-level menu items.
    *

      Only the second top-level menu item, on the right side of the form, can have submenus.

Note that the .NET Compact Framework does not enforce these restrictions at design time, but does throw a NotSupportedException at run time if your code does not follow them.

At run time, you cannot delete a top-level menu item. However, you can set Enabled property of a MenuItem to an empty string ("") to make a menu item appear invisible.

Visual Studio automatically adds a MainMenu component to your form when you create Smartphone and Pocket PC applications, but does not add it to child forms. The MainMenu component operates the Smartphone soft keys, but you cannot program their functionality unless you remove the MainMenu component from the form. For more information about programming soft keys, see Using Smartphone Back Key and Soft Keys.

To associate a method with a menu selection, provide code for the Click event for a MenuItem.
Example

This example defines a menu system for a scenario of selecting maps:

    *

      On the left is the Map Help menu item, which has event handling code that displays a message box.
    *

      On the right is the Maps menu item, which has two children: My Maps and Add and Remove. These children have, respectively, five and two children of their own.

Visual Basic

Imports System Imports System.Windows.Forms  Public Class Form1     Inherits System.Windows.Forms.Form     Friend WithEvents MainMenu1 As System.Windows.Forms.MainMenu     Private WithEvents mi1 As New MenuItem     Private mi2 As New MenuItem     Private miChildA As New MenuItem     Private miChildB As New MenuItem     Private WithEvents miGrandChildA1 As New MenuItem     Private WithEvents miGrandChildA2 As New MenuItem     Private WithEvents miGrandChildA3 As New MenuItem     Private WithEvents miGrandChildA4 As New MenuItem     Private WithEvents miGrandChildA5 As New MenuItem     Private WithEvents miGrandChildB1 As New MenuItem     Private WithEvents miGrandChildB2 As New MenuItem      Public Sub New()         MyBase.New()          InitializeComponent()          \’Define and add menu items.         MainMenu1.MenuItems.Add(mi1)         MainMenu1.MenuItems.Add(mi2)         mi2.MenuItems.Add(miChildA)         mi2.MenuItems.Add(miChildB)         miChildA.MenuItems.Add(miGrandChildA1)         miChildA.MenuItems.Add(miGrandChildA2)         miChildA.MenuItems.Add(miGrandChildA3)         miChildA.MenuItems.Add(miGrandChildA4)         miChildA.MenuItems.Add(miGrandChildA5)         miChildB.MenuItems.Add(miGrandChildB1)         miChildB.MenuItems.Add(miGrandChildB2)         mi1.Text = "Map Help"         mi2.Text = "Maps"         miChildA.Text = "My Maps"         miChildB.Text = "Add and remove"         miGrandChildA1.Text = "Manhattan"         miGrandChildA2.Text = "Bronx"         miGrandChildA3.Text = "Brooklyn"         miGrandChildA4.Text = "Queens"         miGrandChildA5.Text = "Staten Island"         miGrandChildB1.Text = "Add map"         miGrandChildB2.Text = "Delete map"      End Sub          Public Shared Sub Main()         Application.Run(New Form1)     End Sub      \’Form overrides dispose to clean up the component list.     Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)         MyBase.Dispose(disposing)     End Sub      Private Sub InitializeComponent()         Me.MainMenu1 = New System.Windows.Forms.MainMenu()         Me.Menu = Me.MainMenu1         Me.Text = "Form1"     End Sub      \’ The following subroutine handles the      \’ Click event for the mi1 MenuItem.     Private Sub mi1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mi1.Click         MessageBox.Show("This is just a test.")     End Sub  End Class

C#

using System; using System.Windows.Forms;  namespace SmartphoneMenus &leftsign;     public class Form1 : System.Windows.Forms.Form     &leftsign;         private System.Windows.Forms.MainMenu mainMenu1;          private MenuItem mi1 = new MenuItem();         private MenuItem mi2 = new MenuItem();         private MenuItem miChildA = new MenuItem();         private MenuItem miChildB = new MenuItem();         private MenuItem miGrandChildA1 = new MenuItem();         private MenuItem miGrandChildA2 = new MenuItem();         private MenuItem miGrandChildA3 = new MenuItem();         private MenuItem miGrandChildA4 = new MenuItem();         private MenuItem miGrandChildA5 = new MenuItem();         private MenuItem miGrandChildB1 = new MenuItem();         private MenuItem miGrandChildB2 = new MenuItem();          public Form1()         &leftsign;             InitializeComponent();               mainMenu1.MenuItems.Add(mi1);             mainMenu1.MenuItems.Add(mi2);             mi2.MenuItems.Add(miChildA);             mi2.MenuItems.Add(miChildB);             miChildA.MenuItems.Add(miGrandChildA1);             miChildA.MenuItems.Add(miGrandChildA2);             miChildA.MenuItems.Add(miGrandChildA3);             miChildA.MenuItems.Add(miGrandChildA4);             miChildA.MenuItems.Add(miGrandChildA5);             miChildB.MenuItems.Add(miGrandChildB1);             miChildB.MenuItems.Add(miGrandChildB2);              // Event handler for the top left menu.             mi1.Click +=new EventHandler(mi1_Click);             // Event handlers for grandchild menu items. This code is commented out            // because this example does not define their event handling methods.             // miGrandChildA1.Click +=new EventHandler(miGrandChildA1_Click);             // miGrandChildB1.Click +=new EventHandler(miGrandChildB1_Click);             // miGrandChildB2.Click +=new EventHandler(miGrandChildB2_Click);             mi1.Text = "Map Help";             mi2.Text = "Maps";             miChildA.Text = "My Maps";             miChildB.Text = "Add and remove";             miGrandChildA1.Text = "Manhattan";             miGrandChildA2.Text = "Bronx";             miGrandChildA3.Text = "Brooklyn";             miGrandChildA4.Text = "Queens";             miGrandChildA5.Text = "Staten Island";             miGrandChildB1.Text = "Add map";             miGrandChildB2.Text = "Remove map";          &rightsign;         protected override void Dispose( bool disposing )         &leftsign;             base.Dispose( disposing );         &rightsign;          private void InitializeComponent()         &leftsign;             this.mainMenu1 = new System.Windows.Forms.MainMenu();             this.Menu = this.mainMenu1;             this.Text = "Form1";          &rightsign;          static void Main()         &leftsign;             Application.Run(new Form1());         &rightsign;          // The following method handles the         // Click event for the mi1 MenuItem.         private void mi1_Click(object sender, EventArgs e)         &leftsign;             MessageBox.Show("This is just a test.");         &rightsign;     &rightsign; &rightsign;

Compiling the Code

This example requires references to the following namespaces:

    *

      System
    *

      System.Windows.Forms

How to: Set Smartphone Input Modes

You can set the input mode for a TextBox in a Smartphone application to ABC, T9, and numeric input modes as defined by the InputMode enumeration. The InputModeEditor class provides access to Smartphone input methods for entering text.

The AlphaCurrent mode is the preferred input mode value for text boxes used for alpha characters. This mode matches the mode selected by holding down the star (*) key on the Smartphone.

You cannot use InputModeEditor to explicitly change casing settings for alpha input modes. However, the alpha input mode used (T9 or ABC) are retained by the AlphaCurrent input mode when set with the star key.

You can only use InputModeEditor on a Smartphone, and only with a TextBox control.
Example

The following code example shows setting the input mode on three text boxes: Name, Phone, and City. The Name and City text boxes are set with the AlphaCurrent input mode and the Phone text box is set with the Numeric input mode.

To observe how AlphaCurrent works, perform the following procedure:

   1.

      With the Name text box selected, hold down the star key and enter text using either the T9 or ABC input modes.
   2.

      Enter text in the City text box. Note that the input mode is the same as the Name text box.

Visual Basic

Imports System Imports System.Windows.Forms Imports Microsoft.WindowsCE.Forms    Public Class Form1    Inherits System.Windows.Forms.Form    Private mainMenu1 As System.Windows.Forms.MainMenu    Private mi1 As System.Windows.Forms.MenuItem        \’ Text box for name.    Private textBox1 As System.Windows.Forms.TextBox    \’ Text box for phone number.    Private textBox2 As System.Windows.Forms.TextBox    \’ Text box for city.    Private textBox3 As System.Windows.Forms.TextBox        \’ Labels for name, phone, and city    Private label1 As System.Windows.Forms.Label    Private label2 As System.Windows.Forms.Label    Private label3 As System.Windows.Forms.Label            Public Sub New()              InitializeComponent()              \’ Add a menu to close the application.       mi1 = New MenuItem()       mainMenu1.MenuItems.Add(mi1)       AddHandler mi1.Click, AddressOf mi1_Click       mi1.Text = "Done"              \’ Set input mode for name text box to AlphaCurrent.       InputModeEditor.SetInputMode(textBox1, InputMode.AlphaCurrent)              \’ Set input mode for phone number text box to Numeric.       InputModeEditor.SetInputMode(textBox2, InputMode.Numeric)       \’ Set input mode for city text box to AlphaCurrent.       InputModeEditor.SetInputMode(textBox3, InputMode.AlphaCurrent)    End Sub                 Protected Overrides Sub Dispose(disposing As Boolean)       MyBase.Dispose(disposing)    End Sub            Private Sub InitializeComponent()       Me.mainMenu1 = New System.Windows.Forms.MainMenu()              Me.mainMenu1 = New System.Windows.Forms.MainMenu()       Me.textBox1 = New System.Windows.Forms.TextBox()       Me.textBox2 = New System.Windows.Forms.TextBox()       Me.textBox3 = New System.Windows.Forms.TextBox()              Me.label1 = New System.Windows.Forms.Label()       Me.label2 = New System.Windows.Forms.Label()       Me.label3 = New System.Windows.Forms.Label()       \’       \’ textBox1       \’       Me.textBox1.Location = New System.Drawing.Point(64, 8)       Me.textBox1.Size = New System.Drawing.Size(104, 25)       Me.textBox1.Text = ""       \’       \’ textBox2       \’       Me.textBox2.Location = New System.Drawing.Point(64, 40)       Me.textBox2.Size = New System.Drawing.Size(104, 25)       Me.textBox2.Text = ""       \’       \’ textBox3       \’       Me.textBox3.Location = New System.Drawing.Point(64, 72)       Me.textBox3.Size = New System.Drawing.Size(104, 25)       Me.textBox3.Text = ""       \’       \’ label1       \’       Me.label1.Location = New System.Drawing.Point(8, 8)       Me.label1.Size = New System.Drawing.Size(56, 22)       Me.label1.Text = "Name"       \’       \’ label2       \’       Me.label2.Location = New System.Drawing.Point(8, 40)       Me.label2.Size = New System.Drawing.Size(56, 22)       Me.label2.Text = "Phone"       \’       \’ label3       \’       Me.label3.Location = New System.Drawing.Point(8, 72)       Me.label3.Size = New System.Drawing.Size(56, 22)       Me.label3.Text = "City"       \’       \’ Form1       \’       Me.Controls.Add(textBox1)       Me.Controls.Add(textBox2)       Me.Controls.Add(textBox3)       Me.Controls.Add(label1)       Me.Controls.Add(label2)       Me.Controls.Add(label3)       Me.Menu = Me.mainMenu1       Me.Text = "Input Mode Demo"    End Sub             Shared Sub Main()       Application.Run(New Form1())    End Sub            Private Sub mi1_Click(sender As Object, e As EventArgs)       Me.Close()    End Sub End Class

C#

using System; using System.Drawing; using System.Collections; using System.Windows.Forms; using Microsoft.WindowsCE.Forms;  public class Form1 : System.Windows.Forms.Form &leftsign;  private System.Windows.Forms.MainMenu mainMenu1;  private System.Windows.Forms.MenuItem mi1;   // Text box for name.  private System.Windows.Forms.TextBox textBox1;  // Text box for phone number.  private System.Windows.Forms.TextBox textBox2;  // Text box for city.  private System.Windows.Forms.TextBox textBox3;   // Labels for name, phone, and city  private System.Windows.Forms.Label label1;  private System.Windows.Forms.Label label2;  private System.Windows.Forms.Label label3;   public Form1()  &leftsign;    InitializeComponent();    // Add a menu to close the application.   mi1 = new MenuItem();   mainMenu1.MenuItems.Add(mi1);   mi1.Click +=new EventHandler(mi1_Click);   mi1.Text = "Done";    // Set input mode for name text box to AlphaCurrent.   InputModeEditor.SetInputMode(textBox1, InputMode.AlphaCurrent);    // Set input mode for phone number text box to Numeric.   InputModeEditor.SetInputMode(textBox2, InputMode.Numeric);    // Set input mode for city text box to AlphaCurrent.   InputModeEditor.SetInputMode(textBox3, InputMode.AlphaCurrent);    &rightsign;   protected override void Dispose( bool disposing )  &leftsign;   base.Dispose( disposing );  &rightsign;   private void InitializeComponent()  &leftsign;   this.mainMenu1 = new System.Windows.Forms.MainMenu();    this.mainMenu1 = new System.Windows.Forms.MainMenu();   this.textBox1 = new System.Windows.Forms.TextBox();   this.textBox2 = new System.Windows.Forms.TextBox();   this.textBox3 = new System.Windows.Forms.TextBox();    this.label1 = new System.Windows.Forms.Label();   this.label2 = new System.Windows.Forms.Label();   this.label3 = new System.Windows.Forms.Label();   //   // textBox1   //   this.textBox1.Location = new System.Drawing.Point(64, 8);   this.textBox1.Size = new System.Drawing.Size(104, 25);   this.textBox1.Text = "";   //   // textBox2   //   this.textBox2.Location = new System.Drawing.Point(64, 40);   this.textBox2.Size = new System.Drawing.Size(104, 25);   this.textBox2.Text = "";   //   // textBox3   //   this.textBox3.Location = new System.Drawing.Point(64, 72);   this.textBox3.Size = new System.Drawing.Size(104, 25);   this.textBox3.Text = "";   //   // label1   //   this.label1.Location = new System.Drawing.Point(8, 8);   this.label1.Size = new System.Drawing.Size(56, 22);   this.label1.Text = "Name";   //   // label2   //   this.label2.Location = new System.Drawing.Point(8, 40);   this.label2.Size = new System.Drawing.Size(56, 22);   this.label2.Text = "Phone";   //   // label3   //   this.label3.Location = new System.Drawing.Point(8, 72);   this.label3.Size = new System.Drawing.Size(56, 22);   this.label3.Text = "City";   //   // Form1   //   this.Controls.Add(this.textBox1);   this.Controls.Add(this.textBox2);   this.Controls.Add(this.textBox3);   this.Controls.Add(this.label1);   this.Controls.Add(this.label2);   this.Controls.Add(this.label3);   this.Menu = this.mainMenu1;   this.Text = "Input Mode Demo";   &rightsign;   static void Main()  &leftsign;   Application.Run(new Form1());  &rightsign;   private void mi1_Click(object sender, EventArgs e)  &leftsign;   this.Close();  &rightsign; &rightsign;

Compiling the Code

This example requires references to the following namespaces:

    *

      System
    *

      System.Windows.Forms

How to: Scroll a Form of Labels

Because a Label control does not receive the focus and does not support tabbing, a Smartphone application of only Label controls does not allow the user to navigate to labels beyond the visible client area of the form. The user of a Pocket PC application can tap the scroll bars to navigate, but this capability is not available on the Smartphone.

You can implement navigation by providing code in the event handler for the KeyDown event that adjusts the AutoScrollPosition property.
To scroll a form of Label controls

   1.

      Add several Label controls to the form so that some are below the visible client area. Use arrow keys in the Microsoft Visual Studio 2005 designer or write initialization code to position them.
   2.

      In the form\’s constructor, set the KeyPreview and AutoScroll properties to true. C# users must attach a delegate for the KeyDown event handler.
      Visual Basic

      Me.KeyPreview = True Me.AutoScroll = True

      C#

      this.KeyPreview = true;             this.KeyDown += new KeyEventHandler(Form1_KeyDown);             this.AutoScroll = true;

   3.

      Set the AutoScrollPosition property to move vertically by a set number of pixels for the y point coordinate. The following code example uses 16. Note that the code is complex because AutoScrollPosition is offset by negative values, but the provided point values must be expressed as positive.
      Visual Basic

      Private Sub Form1_KeyDown(ByVal Sender As System.Object, _     ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown     If e.KeyCode = System.Windows.Forms.Keys.Up Then         Me.AutoScrollPosition = New Point(0, -Me.AutoScrollPosition.Y – 16)     End If     If e.KeyCode = System.Windows.Forms.Keys.Down Then         Me.AutoScrollPosition = New Point(0, -Me.AutoScrollPosition.Y + 16)     End If End Sub

      C#

      private void Form1_KeyDown(object sender, KeyEventArgs e) &leftsign;     if ((e.KeyCode == System.Windows.Forms.Keys.Up))     &leftsign;         this.AutoScrollPosition = new Point(0, -this.AutoScrollPosition.Y – 16);     &rightsign;     if ((e.KeyCode == System.Windows.Forms.Keys.Down))     &leftsign;         this.AutoScrollPosition = new Point(0, -this.AutoScrollPosition.Y + 16);     &rightsign;

Compiling the Code

This example requires references to the following namespaces:

    *

      System
    *

      System.Windows.Forms

How to: Override the Smartphone Back Key

NoteNote

Note that back key functionality is critical for navigating between Smartphone applications. In most cases, it is contrary to Smartphone user interface guidelines to alter the default navigation behavior of the back key. Use discretion in determining when to override this functionality.

You can customize the back key in Smartphone applications, such as for a game. It operates according depending on the context of the key press, as described in the following table.
Back Key Operation  Context

Cancels modal dialog boxes.
 

Always.

Cancels shortcut menus.
 

Always.

Performs a backspace operation.
 

When the focus is on an editable control, such as a text box, or on an editable custom control.

Navigates to the next window in the z-order.

Note that when the focus is on a form or custom control, the back key raises a KeyPress event that you can handle to provide your own functionality, as demonstrated in the example.

If you do not handle the event, the focus navigates to the next window in the z-order.
 

When the focus is on a form, non-editable control (such as a radio button), or non-editable custom control.

The back key operates the same way regardless of whether there is a menu bar. A menu bar exists if the form contains a MainMenu component.
Example

The following code example shows how to implement custom back key functionality. When the back key is pressed on a form or custom control, it raises the KeyPress event with the KeyChar value equal to the ESC key (27). In the event handling code, determine whether the ESC key value was raised. If it was, cancel the default back key operation by setting the Handled property to true. If the event arguments are not handled, the back key navigates to the next window in the z-order.

Visual C# users need to define an event hander for the KeyPress event in the form\’s constructor.
C#

// Connect an event handler to the KeyPress event this.KeyPress += new KeyPressEventHandler(OnKeyPress);

Visual Basic

Private Sub keypressed(ByVal o As [Object], _     ByVal e As KeyPressEventArgs) Handles MyBase.KeyPress     \’ Determine if ESC key value is raised.     If e.KeyChar = ChrW(Keys.Escape) Then         \’ Handle the event to provide your own functionality.         e.Handled = True          \’ Add  your event handling code here.         MsgBox("Custom back key functionality.")     End If End Sub

C#

private void OnKeyPress(object sender, KeyPressEventArgs ke) &leftsign;     // Determine if ESC key value is pressed.     if (ke.KeyChar == (Char)Keys.Escape)     &leftsign;         // Handle the event to provide functionality.         ke.Handled = true;          // Add your event handling code here.         MessageBox.Show("Back key was pressed.");     &rightsign; &rightsign;

Compiling the Code

This example requires references to the following namespaces:

    *

      System
    *

      System.Windows.Forms

标签:, , , , ,

20070616 Ror ide Ruby rails - 十一月 17, 2007 by yippee

20070616 Ror ide Ruby rails
http://www.yippeesoft.com

对RoR有点兴趣,看看IDE资料

流派列表:

Eclipse 派:RadRails
NetBeans 派:Netbeans 6.0
Visual Stdio 派:Ruby in Steel
UltraEdit/ Editplus 派:你可以使用 RoRed ,修改設定的  UltraEdit,或是EditPlus Plugin
TextMate 派:E
ViM 派:rails.vim,這裡有教學
Emacs 派:emacs-rails
IDEA 派:IDEA Ruby Plugin

“Ruby on Rails is a breakthrough in lowering the barriers of entry to programming.
Powerful web applications that formerly might have taken weeks or months
to develop can be produced in a matter of days.”
-Tim O\’Reilly, Founder of O\’Reilly Media

Rails 是個完整的程式架構用來開發有資料庫的網頁程式。 其程式設計型態為 模型-視圖-控制器 (Model-View-Control)。不管是 視圖裡的 Ajax,還是 控制器裡的 需求/回覆,還是模擬資料庫的模型,Rails 都是用 Ruby 來開發。你只需要一個資料庫 和一個網頁伺服器就可以上線。

不错的Ruby用免费IDE

RadRails即可以用做Eclips的插件。也可以单独使用。单独使用时,你会觉得是在Eclips界面下工作。可以输入中文,比FreeRIDE可好多了。

最新版本是0.53 有三种平台版本可供选择。

这是它的网址:

http://www.radrails.org/

12月26日
我用的Ruby工具和IDE
1.EditPlus
这个东东最简单也最实用,C#,Java,Ruby我有时候都是用她来编写程序的,不耗费大量的内存(虽说我的电脑有1G内存),写一些简单程序的时候用它不错。
 
2.RDT
这个是Ruby在Eclipse上的插件,配合Eclipse强大的功能,用起来十分的不错,不过我更喜欢她的字体,Eclipse上英文让人看起来那么的舒服,不过Eclipse暂用的内存可不少。插件的更新地址:
http://rubyeclipse.sf.net/updatesite
 
3.FreeRIDE
这是个用纯Ruby写的编辑器,用起来不错,不过上面显示的缺省字体够难看的。暂用资源也比较少。看来Ruby作桌面应用程序也不错哦。下载地址:
http://freeride.rubyforge.org/wiki/wiki.pl
 
 
4.RadRails
作Rails必备的东东,也是Eclipse的插件(也有基于Eclipse的RCP的桌面版本),目前作Rails的工具好像就这一个,她的更新速度极快,没几天就更新了一个小版本,不过我自己还没有好好用过,下载地址:
http://www.radrails.org/
 
5.Arachno Ruby
这个ide没有使用过,也支持Rails,还在beta中
http://www.ruby-ide.com/forum/forumdisplay.php?f=6

[IDE]Ruby IDE for NetBeans 可以用了

NetBeans 6.0的M7终于出来了,第一时间下载,然后取回Ruby插件。经过半天的使用,可以确定,这是NetBeans Ruby插件的第一个可用版本。已经可以工作的功能包括:
1、自动补齐+文档提示(Ctrl + Space或Ctrl + \\);
2、方法间跳转-按Ctrl同时点击方法名会自动跳转到定义该方法的源文件处(在所有GEM中跳转);
3、格式化。

还不能工作或者很好工作的功能有:
1、Debug
2、Rails工程中的lib目录竟然没有包括到自动分析目录中
3、运行工程有问题。

安装方法:
1、http://www.netbeans.info/downloads/dev.php选择Q-Build,下载安装NetBeans
2、安装完毕后,进菜单Tools -> Update Center
3、点Next,等所有可升级模块出来后,找到Ruby文件夹,点选到需要更新的模块中(一共会有九个文件被选择)
4、按指令完成更新,重启NetBeans。

设置方法:
1、进菜单Tools -> Options,点左边miscellaneous,点右边Ruby Installation
2、将所有Ruby工具指向你的ruby安装目录中的相应工具,注意除ruby选ruby.exe外,其余的rake, rails, rdoc 均选择没有任何后缀的文件,不要选*.bat, *.cmd文件。

建项目文件:
1、File -> New Project
2、Ruby -> Ruby on Rails Application,这时将自动生成rails缺省目录树
3、将已有的rails项目目录树全部覆盖拷贝到NetBeans建的这个项目目录中。

第一次建Ruby项目时,NetBeans会扫Ruby安装目录,生成参考视图,这可能需要一些时间。

备注:
1、如果你用的是Windows中文版,不喜欢NetBeans界面中的英文字体,可以在NetBeans安装目录的etc/netbeans.conf文件中改为:
netbeans_default_options="-J-Xms32m -J-Xmx128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -J-Dnetbeans.logger.console=true -J-ea -J-Dapple.laf.useScreenMenuBar=true -J-Duser.language=en -J-Duser.country=US –fontsize 11"
2、默认的编辑字体是monospace,你可以到Tools -> Options 中选Font && Color,将其改掉,改default font项即可。一般用Lucida Sans TypeWriter效果最好。

NetBeans的Ruby项目屏幕截图可见:
http://blogs.sun.com/tor/entry/netbeans_and_ruby_is_true

注意:
如果你使用c-ruby而不是JRuby,不要用NetBeans里的"Run main project"按钮,那样可能会临时改变你的ruby环境设置。

说起来也挺有意思的,现在三大主流Java IDE:Eclipse,IDEA,Netbeans都支持ruby on rails了,意味着什么?

Arachno Ruby IDE 0.7最大的变化,是更好的代码自动完成、自动缩进、语法检查、帮助文档等,升级到了最新的FOX 1.4.17 。还有大量的bug修正,及小功能的改进。作为一款专为Ruby and Rails优化的IDE,有理由做得更好。目前我觉得比komodo要好。

可惜还没升级到FOX1.6,也就是说,还是不支持Unicode,也就说中文的老毛病还在,可以正常显示中文,但是不能编辑,不能录入。还要再等。

Windows平台的ruby IDE 点评
在MacOS平台几乎没有什么争议性,大家都用TextMate。但是Windows平台可供选择和使用的IDE很多,却各有各的长处和短处。基于我用过的所有ruby IDE点评一下。windows平台的RoR IDE主要分为两类:一类是重量级的全功能IDE,例如Eclipse,Netbeans,IDEA和jedit,运行起来很耗资源,功能比较齐全;另一类是轻量级的IDE,例如Komodo,RoRed,vim,emacs,E,下面一一点评之:

一、重量级的IDE

1、radrails - 当前最值得推荐的IDE

radrails是基于Eclipse的插件,当前版本0.7.2。radrails继承了Eclipse平台的各种功能,尤其是CVS/SVN集成特别好,和其他ruby IDE相对比来说,radrails最主要的优点在于bug很少,功能非常齐全。

1) 相对于其他大多数RoR IDE各种各样的bug,radrails在0.7.2版本的表现非常的稳定。在我连续几个月使用下来,基本没有什么大的bug。

2) 功能齐全,其他IDE或多或少功能都有缺失,但radrails功能非常齐全:内置的server管理,generator,rake task,rdoc检索,plugin安装,规则表达式校验,tail log,,console调试窗口,debug,代码格式化,代码和模板高亮,ruby代码和rhtml模板的template自动提示,单元测试支持,代码和测试之间的跳转,代码和模板之间的跳转等等等无所不包。

3) 中文支持非常好,UTF-8编码支持也非常好。中文字体显示也很漂亮,这一点对我们来说很重要。

但是radrails也不是没有缺点,radrails的致命缺点是其RDT功能太弱智。

1) 代码的感知能力很差,连我敲一个def回车都不会自动补齐end。而且也不能够搜索ruby库文件进行语法树分析,所以没有智能提示功能。

2) 没有像Eclipse的JDT那样的Ctrl+O来快速导航到某个方法的功能,这一点对我开发很重要,否则我就总是需要通过serch "def 方法名"才能快速找到要修改的方法,非常不方便,这是我非常垢病RDT的一个地方,也没有F3快速导航到类定义文件的功能。

RDT下一个版本0.9.0号称在两周以后就会发布(RDT快两年没有推出新版本了,实在是太迟钝了),貌似对于脚本语言的AST解析能力大大增强,如果真的是这样,还是很值得期待的,预计RDT0.9.0发布几周之后,radrails就会发布0.8版本。另外值得一提的是radrails得到了SAP的一些赞助和支持。

2、Netbeans - 最值得期待的IDE

Netbeans6.0M7提供了Generic Language Support Framework,一个很强大的脚本语言框架,在这个框架基础上提供的ruby和ruby on rails支持表现非凡。可以对ruby语言和库进行良好的语法分析,从而提供智能化的代码提示功能,让ruby程序员也可以享受到敲一个“.”就能够跳出来详细提示的功能,真正有了写Java程序的安全感。有些优点确实很棒:

1) 代码感知能力超强,不但系统库的API,你自己项目的所有类API都可以根据上下文提示,有了写Java程序那种安全感了,也不用跳转来去找类定义文件了。

2) 快捷的打开rails库文件和ruby所有库文件,类似在Eclipse里面打开依赖库的源代码和JDK的源代码的功能,对于学习和熟悉ruby库和rails非常非常有用。

3) Ctrl+G可以快速定位类定位文件,类似Eclipse的F3的功能。

目前netbeans这些功能领先所有的其他IDE,非常令人期待。但是netbeans也有些明显的缺点,有些东西用起来行为非常古怪,可能是因为netbeans6.0还是beta版本,bug太多的缘故,而且也不够稳定:

1) 没有类似Eclipse的Ctrl+Shift+R那样的文件快速定位功能,要自己在项目树里面一层层找,这个实在令人难以忍受。一个大项目动不动几百个文件,不能快速定位,找起来太影响效率。其实netbeans提供了一个Ctrl+Alt+O的快捷定位,但是不起作用,搜索框总是空的,因此怀疑netbeans有这个功能,目前是bug导致出不来。

2) 没有在文件中快速定位某个方法的功能,这一点和radrails一样令人失望。

3) 在编辑器里面好多顺手的代码编辑的快捷功能都没有,令人很苦恼,这一点显然不如radrails那么方便。

4) 对中文的支持不好

5) 对yml文件没有高亮功能

6) 依赖JDK6.0,在JDK5.0上面跑很不流畅。

总得来说,netbeans还是最值得期待的IDE,等到07年底,netbeans6.0正式发布,ruby插件支持更加成熟以后,我想我会转移到netbeans上面来。另外非常重要的一点:Sun公司从JDK6以后,致力于JVM平台化发展道路,大力拓展脚本语言在JVM平台的支持力度,而且Sun给予了JRuby官方支持,所以netbeans平台的脚本框架和RoR支持是有足够的商业推动力的,前景应该是最好的!

3、IDEA – 观望中

貌似前段时间有人撰文推荐IDEA作为首选ruby IDE,我觉得他的理由很奇怪,其实IDEA目前不是好的选择:其ruby代码感知能力和智能提示能力明显不如netbeans,其功能齐全程度又明显不如radrails,而且最致命的是IDEA竟然不能对rhtml模板高亮和提示,那就宣布了IDEA的基本不可用,另外yml文件也不能高亮。其插件作者说下一版本会提供rhtml高亮和提示,所以我们对IDEA目前还持观望态度。

但IDEA也有一些明显优点,例如IDEA就有对ruby类和ruby资源进行快速定位的快捷键Ctrl+Alt+N和Alt+N,这明显优于radrails和netbeans,另外也有在当前文件快速定位方法的快捷键,终于克服了我对radrails的最大怨气。

4、jedit – 貌似没什么理由去用它了

作为一个重量级IDE,却定位在轻量级功能上,要安装一大堆插件才能勉强把功能跑起来,没什么理由去用它。

二、轻量级IDE

1、E - 最值得期待的轻量级IDE

E现在确实有很多bug,很多功能缺失,例如:我非常在意的对文件进行快速定位的快捷键和在当前文件中快速定位方法的快捷键,目前E竟然不支持,但是TextMate可是有的;快速删除当前行在TextMate当中是Command+L,但是E貌似没有,诸如此类的功能缺失。所以E和TextMate还是有很大差距的。

但是E确实在主要方面完全克隆了TextMate,所以这些小功能上面的缺失应该只是时间问题。所以相信给E半年左右的时间,E会成为Windows平台当之无愧的TextMate。

2、Komodo – 乏善可陈

Komodo是个定位很传统的脚本IDE,对于ruby没有什么特别好的支持,有最基本的语法高亮和简单的代码提示而已,以及一个简陋的项目树,运行速度还很缓慢,而且还是收费的,实在不值得去用。

3、RoRed – mini ruby IDE

如果你真要去用Komodo,那我建议你改用RoRed,一个专门针对ruby on rails开发的简单编辑器,带有ruby语法高亮,项目树,功能简单,可能对某些偏爱UltraEdit/Editplus的人来说用RoRed已经够用了,速度也挺快的。

4、vim/emacs – 不适合Windows平台的ruby IDE

vim以及emacs这些源于Unix平台的IDE,我认为不适合在Windows上面用。因为vim/emacs当初被设计成为一个无鼠标支持的编辑环境,全部依靠键盘命令驱动。当你在Windows下面使用的时候,这种习惯会被打破,从而觉得非常影响效率。

例如在vim里面执行一个generator,Unix上面会在vim窗口中开buffer显示,执行完毕敲一下回车就退出这个buffer了,很方便很快捷。但在Windows平台,竟然会弹出一个DOS窗口,而且把键盘焦点给转移到这个DOS窗口上去了。这就迫使你不得不动用鼠标去选择这个DOS窗口,然后关闭它,再把焦点定位回到vim上面来。这就丧失了vim最大的优势了,反而搞的很麻烦。

当然你可以用Alt+Tab键来切换窗口,不必动用鼠标。但遗憾的是Windows操作系统的窗口切换能力很差,一旦你的windows开的窗口多了,在窗口之间快捷切换是一件很麻烦的事情,还不如鼠标来得快捷。这一点Windows比MacOS有很大的差距。MacOS上面进行多窗口切换那才叫一个爽字呢!

最后我认为轻量级IDE在windows平台的市场不会很大,即使E的功能能够完善到TextMate的程度,也不会有radrails那么普及。主要还是和操作系统的支持有关系:

在MacOS上面,你开一个Textmate窗口,一个浏览器窗口,一个tail log窗口,一个命令窗口启动关闭服务器,一个命令窗口进行console调试,一个命令窗口执行单元测试,还有一个命令窗口连接MySQL数据库看数据。在这些窗口之间仅仅使用快捷键进行来回切换是很方便很快捷的事情。

但是Windows的窗口切换功能太弱了,一下开了七个窗口,你编程的时候来回切换的工作效率是很低的。所以在Windows上面要提高工作效率就会倾向于radrails这样的IDE,把所有功能都集成进来了,只要一个radrails窗口,一个浏览器窗口足矣了。这样工作效率才高。

最后值得一提的是,所有这些IDE的rhtml编辑功能还是不如textmate,一旦在html标签里面嵌入代码段,就不能高亮了。而textmate是不会这样的。
 
12月30号, ActiveState的发布了最新版本的IDE: Komodo 3.5.1
这个IDE主要是对动态语言开发提供支持, 从这个版本开始,ruby终于得到正式的支持   (3.5版本只有正式的mac os版本,下面是它的截图,3.5.1是增加了对windows的支持)

这个真是一个对于ruby开发者的好消息, 一直以来,ruby都缺乏一个好用的开发工具, 自带的FreeRIDE 在windows上非常不稳定,速度不快,很容易退出.ruby还有一个专门支持vim的模块,但是使用它让我感觉到我学习的不是ruby,而是vi. 其他第三方的ruby开发工具中,作得好的算jedit的ruby plugin和eclispe的RDT ,但是这个工具对于ruby都只能提供很原始的编辑功能, 商业版本的Arachno Ruby IDE用起来花钱不说,功能也不怎么样. 据说mac上面的textmate不错,但是遗憾的是我用的是windows

我选择用eclipse RDT来写,因为eclipse内置支持CVS (还算不错,起码比wincvs好用,靠这个我放弃了vim) ,对于ruby的开发工具,我不敢奢望能够作到IDEA那样好用, 也许动态语言是不可能做到那样. 但是代码格式化,即时检错(格式上的低级错误), 调试环境,版本控制等基本功能实现起来应该不算太难吧

标签:, , ,
0930 h.263 videonet  资料 - 三月 11, 2007 by yippee

0930 h.263 videonet  资料

试验视频部分,看看资料,不过很奇怪,DEBUG模式下,VC调试环境运行,CPU一下子就上了,而直接运行则不会

H.263:视频编码和解码
  (H.263:Video Coding and Decoding – CODEC rk)

    H.263是国际电联ITU-T的一个标准草案,是为低码流通信而设计的。但实际上这个标准可用在很宽的码流范围,而非只用于低码流应用,它在许多应用中可以认为被用于取代H.261。H.263的编码算法与H.261一样,但做了一些改善和改变,以提高性能和纠错能力。.263标准在低码率下能够提供比H.261更好的图像效果,两者的区别有:(1)H.263的运动补偿使用半象素精度,而H.261则用全象素精度和循环滤波;(2)数据流层次结构的某些部分在H.263中是可选的,使得编解码可以配置成更低的数据率或更好的纠错能力;(3)H.263包含四个可协商的选项以改善性能;(4)H.263采用无限制的运动向量以及基于语法的算术编码;(5)采用事先预测和与MPEG中的P-B帧一样的帧预测方法;(6)H.263支持5种分辨率,即除了支持H.261中所支持的QCIF和CIF外,还支持SQCIF、4CIF和16CIF,SQCIF相当于QCIF一半的分辨率,而4CIF和16CIF分别为CIF的4倍和16倍。
  
    1998年IUT-T推出的H.263+是H.263建议的第2版,它提供了12个新的可协商模式和其他特征,进一步提高了压缩编码性能。如H.263只有5种视频源格式,H.263+允许使用更多的源格式,图像时钟频率也有多种选择,拓宽应用范围;另一重要的改进是可扩展性,它允许多显示率、多速率及多分辨率,增强了视频信息在易误码、易丢包异构网络环境下的传输。另外,H.263+对H.263中的不受限运动矢量模式进行了改进,加上12个新增的可选模式,不仅提高了编码性能,而且增强了应用的灵活性。H.263已经基本上取代了H.261。 

   H.263 由 ITU 定义,支持用于视频会议和视频电话应用程序的视频压缩(解码)。 H.263 基于 H.261 编码,并且为在最低带宽为 20K 到 24K bit/sec 上传输的视频流而开发。作为一种一般规则, H.263 只需 H.261 一半的带宽即可达到与 H.261 相同的视频质量,所以在很大程度上 H.263 取代了 H.261 。 H.263 使用 RTP 传输视频流。

  H.263 的编码算法和 H.261 中的类似,但它在 H.261 的基础上有了提高和改变,从而增强了性能和错误恢复能力。 H.263 中运动补偿采用的是半像素精度,而在 H.261 中采用的是全像素精度和环路过滤。数据流中分层结构的某些部分是可选的,如此视频编译码就可以被配置成有较低的数据率或较好的错误恢复能力。目前有四种能够提高性能的可选协商选项:无限制运动矢量、基于语法的算术编码、先进预测和前后帧预测,这类似于 MPEG ,叫做 P-B 帧。

  H.263 支持五种分辨率。除了 H.261 支持的 QCIF 和 CIF 外,还有 SQCIF 、4CIF 和 16CIF 。  SQCIF 的分辨率大约是 QCIF 的一半,而 4CIF 和 16CIF 的分辨率分别是 CIF 的 4 倍和 16 倍。支持 4CIF 和 16CIF 意味着视频编码器可以与其它具有较高比特率的视频编码标准相抗衡 ,如 MPEG 标准。
 

http://www .chinavideo .org/index.php
中华视频网(http://www. ChinaVideo .org 或者 http://www .vvou. com Voice Video for You)是国内第一家专业语音视频技术综合站点,其主要目的是为中国的语音视频技术爱好者提供一个学习的平台,同时也为音视频技术的应用提供参考,希望大家在语音和视频领域不断创新,提高中华民族的技术水平。
 中华视频网由一群多年从事音视频技术研究、行业应用的资深专家和网络音视频技术爱好者组成,大多具有计算机行业多年的从业经验和丰富的音视频专业技术和实践经验。
中华视频网的宗旨是:普及音视频技术,创新,应用音视频技术,卓越;在规模、内容、技术、服务等各方面都成为“国内视频技术第一站”是中华视频网的目标。
未来,中华视频网将一如既往地秉承服务的宗旨,与广大的用户和厂商建立起更为紧密的互动联系,并以此为坚实的基础,普及和推动音视频技术在国内的应用和发展。

http://nagmatrix .50webs .com/article_videonet.html
Introduction
VideoNet is the application through which any 2 persons on the network can communicate together via video communication along with audio and text. There are several video conference applications existing today. Each has its own performance enhancement techniques. The major problem in video conference is that the size of video frames is too big for transmission. Hence the performance is based on the codec used for encoding and decoding the frame. I am using Fast h263 Encoder library which gives better compression rate at high speed. This application can also be used on the Internet with little modification.
该程序可以用于两个人在LAN/Intranet(或者Internet)上进行视频会议。现在有许多视频会议程序,每个都有各自的性能提升技术。主要的问题是视频会议视频帧的尺寸对于传输来说太大。因此,性能依赖于对帧的编解码。我使用快速h263编码库来达到更好的压缩率提高速度。该程序做些小改动也可以在Internet上使用。
 
Acknowledgement
I likes to thank Paul Cheffers for his audio recording and playing sound classes. You are seeing this videonet application here….it is because of Open Source libraries contributed by open minded persons. I am grateful to the developer Karl Lillevold of Tmndecoder and Roalt Aalmoes of h.263 fast encoder library for making it free.
我感谢 Paul Cheffers 提供了他的音频录制播放类。因为有了开源人士奉献的开源库才有你所看到的videonet程序,我感激Tmndecoder的开发者Karl Lillevold和h.263快速编码库的开发者Roalt Aalmoes 免费提供这些开发库。
编解码库

  编码器:

  我使用快速h.263编码库进行编码。该库是使其实时编码更快的 Tmndecoder 修改版。我已经将该库从C转换到C++,这样可以很容易用于任何Windows应用程序。我移除了快速h263编码库中一些不必要的代码与文件,并在.h和.cpp文件中移除了一些定义与申明。

标签:, , ,

0902 Microsoft TV/Video Connection - 二月 11, 2007 by yippee

0902 Microsoft TV/Video Connection

装了摄像头,多个这玩意,还带个IP,晕倒

Microsoft TV/Video Connection
据微软KB所示,当您在Windows XP 下使用USB相机或TV调谐卡时,这种情况才会发生
装了 USB接口摄像头 或者 蓝芽设备的虚拟摄像相关功能 之后没有立即重新启动计算机而自动生成的。 驱动程序接收外接设备视频信号都会产生,不用在意。

网络连接里面多了个Microsoft TV/Video Connection或本地连接22006-07-24 11:34当一些XP的系统安装摄像头以后,网络连接里面会多出一个“本地连接2”,成为Microsoft TV/Video Connection,
重启以后,本地连接2的图标可能会消失。
具体一下:如果计算机上有两个USB接口分别为USB1 USB2,当USB影像设备第一次插到USB1并且正确安装驱动以后,网络连接里面会多处一个TV/Video Connection,重启以后会消失,以后再将设备插入USB1时,不会出现TV/Video Connection,但是第一次插入USB2时仍然会出现TV/Video Connection。

这是你安装摄像头之后产生的,正常情况下第一次重启动系统后应该消失的,不过没什么影响,属于正常情况,可以不用理会

在网卡出了问题并重新安装了网卡驱动程序后,系统将会自动创建连接,而且这个连接将会由原来的“本地连接”变成“本地连接2”。而“本地连接”的相关信息仍然存在于系统中。当你在“本地连接2”中设置IP等相关信息时,如果这些参数与以前的“本地连接”中设置的相同,系统将会提示被其它网卡占用的信息,此时你可以手工将以前的连接信息删除,将“本地连接2”转换成“本地连接”,问题即可解决,方法如下:打开注册表编辑器,展开到
“HKEY_LOCAL_MCHINE\\SYSTEM\\CurrentControlSet\\Control\\Network\\&leftsign;4D36E972-E325-11CE-BFC1-08002BE10318&rightsign;”,
在该子键下面保存着关于本地连接的信息。在此有一个或多个子键,其中第一个子键对应着“本地连接”,第二个子键就对应着“本地连接2”依此类推,你也可以展开该子键,再选择下面的“Connection”子键,在右侧窗口中将会看到具体是对应着哪个连接,直接将对应以前旧连接的整个子键删除即可
 

USB 相机添加到 WindowsXP 创建本地区域连接 2
察看本文应用于的产品
注意:这篇文章是由无人工介入的自动的机器翻译系统翻译完成。这些文章是微软为不懂英语的用户提供的, 以使他们能够理解这些文章的内容。微软不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的使用所引起的任何直接的, 或间接的可能的问题负责。
文章编号 : 303302
最后修改 : 2004年6月23日
修订 : 1.0
症状
将添加到基于 Microsoft 基于 WindowsXP 计算机, 通用串行总线 (USB) 照相机或电视调谐器卡 本地区域连接 2 图标 查看网络连接 在网络邻居部分中创建。 此图标下显示信息描述作为该连接:
Microsoft 电视 / 视频连接
 回到顶端

替代方法
要变通解决此问题, 重新启动计算机。 您重新启动计算机后, 未出现 本地区域连接 2 图标
 回到顶端

状态
此行为是设计使然。

当一些XP的系统安装摄像头以后,网络连接里面会多出一个“本地连接2”,成为Microsoft TV/Video Connection,在学校校园网内,如果有这个连接的话,华为认证系统会认为计算机有多个网卡而中断连接。
参考Microsoft官方文档http://support.micro soft.com/kb/303302/en-us
    SYMPTOMS
    After you add a universal serial bus (USB) camera or a TV tuner card to a Microsoft Windows XP-based computer, a Local Area Connection 2 icon may be created in the View Network Connections section in My Network Places. The information that is displayed below this icon describes the connection as:
Microsoft TV/Video Connection
    WORKAROUND
    To work around this behavior, restart the computer. After you restart your computer, the Local Area Connection 2 icon does not appear.

重启以后,本地连接2的图标可能会消失。
具体一下:如果计算机上有两个USB接口分别为USB1 USB2,当USB影像设备第一次插到USB1并且正确安装驱动以后,网络连接里面会多处一个TV/Video Connection,重启以后会消失,以后再将设备插入USB1时,不会出现TV/Video Connection,但是第一次插入USB2时仍然会出现TV/Video Connection。

重装系统,装上了摄象头之后,发现本地连接里多了一个Microsoft TV/Video connection 的连接,当时由于看错了,在里面输入了ip地址,后来发现错了,就将其删除,但是在另一个本地连接里输入ip地址的时候出现错误,在附图里,而且在设备管理器里也无法找到该硬件,启用查看隐藏设备也不行,实在是没办法了
装了一种摄像头后,就会有一个微软TV虚拟的连接,你直接到注册表里搜索删除就可以
直接在网络中删除它的网络适配器,这个东西有时候会与设定的IPX/SPX冲突。造成LAN游戏无法正常连接问题。

标签:, , ,

0223 C/C++ Compilers IDES  free - 六月 15, 2006 by yippee

0223 C/C++ Compilers IDES

Integrated Development Environments (IDEs)

MinGW Developer Studio is a Cross-Platform C/C++ IDE(Integrated Development Environment) for GNU GCC Compiler system. MinGWStudio

Dev-C++ is the most popular, well known IDE for Windows.

Quincy IDE One of the good IDE for MinGW by Al Stevens.

Visual-MinGW "Minimalist" Open Source IDE it is in alpha development but the interface is very impressive.

VIDE is a C/C++ IDE for MinGW and Borland C++ compilers. It integrated GNU Debugger with a nice interface.

Relo is a Windows C/C++ IDE for MinGW and Borland C++ compilers and it is an open source software.Very impressive one.

Open Watcom is well known enhance the Sybase Watcom C/C++ and Fortran compiler. It has its own IDE.

lcc-win32 is well known C IDE for Windows based on lcc compiler. It has a complete IDE, Compiler and resource editor.

wxDevCpp wxWidgets form designer plugin for Dev-C++. Very impressive one.

CodeBlocks is a free C/C++ IDE built specifically to meet the most demanding needs of its users. It has been designed, right from the start, to be extensible and configurable…

Pelles C for Windows is a new C IDE for Windows based on lcc compiler as lcc-win32. It has a complete IDE, Compiler, Menu/Dialog/Image editor. Very impressive one.

Ultimate++ Ultimate++ is the new generation Windows/Linux C++ platform, dedicated to reducing development costs.

MinGW Developer Studio is a cross-platforms C/C++ IDE for GNU C/C++ Compiler (this site).

补充:MAGIC C++      BVRDE        都是WIN下远程LINUX编译

UNWIN:一个远程LINUX编译的小工具,作者的目标支持所有可配置IDE。

C/C++ Compilers

MinGW A collection of freely available and freely distributable Windows specific header files and import libraries combined with GNU toolsets that allow one to produce native Windows programs that do not rely on any 3rd-party DLLs.

This is Cool! MinGW version Another MinGW GCC for Windows by Mohan Embar. The site is very up to date. This version can be used with with MinGW Developer Studio.

Borland C/C++ This is a free C/C++ compiler from borland. Very fast but it\’s not up to date.

Digital Mars is a free C/C++ compiler drop in replacements for Symantec C++. It\’s very up to date and very fast one.

Open Watcom is well known enhance the Sybase Watcom C/C++ and Fortran compiler. It has its own IDE.

Useful C/C++ Libraries

wxWindows is the best Free C++ GUI Toolkit that I have known. It has been ported to almost every platforms. Every programs in this website is written using wxWindows.

Scintilla is a free source code editing component. It comes with complete source code and a license that permits use in any free project or commercial product.
As well as features found in standard text editing components, Scintilla includes features especially useful when editing and debugging source code. These include support for syntax styling, error indicators, code completion and call tips. The selection margin can contain markers like those used in debuggers to indicate breakpoints and the current line. Styling choices are more open than with many editors, allowing the use of proportional fonts, bold and italics, multiple foreground and background colours and multiple fonts.

GTK+ is a very good C GUI Toolkit. It has been ported to many platforms.

GTK+ and GIMP for Windows This is a Windows port of GTK+ and GIMP official site. Great work!

Dropline GTK+ for Windows This is another version for GTK+ for Windows it bases on the GTK+ above.

Other Useful Tools

DialogBlocks is an easy-to-use, commercial dialog editor for wxWindows from Anthemion Software Ltd. It supports C++ and XRC, with the option to generate appropriate C++ classes to load the XRC. Supports most core wxWindows widgets including wxSplitterWindow; allows image import and conversion to XPM; and registered users get ImageBlocks, a simple image conversion utility. Available for Windows and Linux

wxDesigner is a commercial tool written to make creating dialogs for wxWindows based programs easy and fast. Its interface allows anyone somewhat familiar with wxWindows to create aesthetically pleasant and cross-platform dialogs in a matter of minutes. Higher-level features such as supporting copy/cut/paste, infinite undo/redo and previewing make quick testing easy and safe. Additionally, all dialogs can be used in both C++ and Python making co-development easier than ever

Venis is a Visual Environment for Nullsoft Install System (NSIS). The Venis IX environment makes creating and maintaining NSIS install scripts quick and easy.

RadAsm is a Visual Development Environment for Assembly language for Windows. RadAsm can make your life easier if you are an assembly programmer.

Useful Websites

How to build GCJ for Windows This is a very nice article howto build cross-compile tools it\’s short ,clear and easy to follow by Ranjit Mathew.

GNU Documentation in Windows Help Format This site contains a lot of useful documentations and articles.

标签:, , , , , , ,
0220 Eclipse cdt mingw IDE - 六月 5, 2006 by yippee

0220 Eclipse cdt mingw IDE

Eclipse统一开发环境

Eclipse是一个开放式的软件开发平台,可以进行java、c++、pyhton的开发。

 一、Windows环境
1、安装配置JDK

Eclipse本身是用Java语言编写,但下载的压缩包中并不包含Java运行环境,需要用户自己另行安装JRE,

并且要在操作系统的环境变量中指明JRE中bin的路径。

JDK下载连接http://java.sun.com/downloads/
以下环境变量,%installdir%表示安装目录

JAVA_BIN=%installdir%\\bin

JAVA_HOME=%installdir%

JAVA_INCLUDE=%installdir%\\include

CLASSPATH=.;%installdir%\\lib\\dt.jar;%installdir%\\lib\\htmlconverter.jar;%installdir%\\lib\\tools.jar

2、安装eclispe

eclipse下载连接http://www.eclipse.org/downloads/index.php  

eclipse是一个绿色软件,直接解压到目标目录就可以了(例如C:\\eclipse)

3、安装配置MinGW+MSys

因为CDT没有附带编译调试工具,所以要自己下载编译调试工具(Cygwin或Mingw+Msys)。

Cygwin提供了在windows上使用unix环境的套件,但是编译出来的程序需要连接Cygwin特定的dll,移植性不好。

MSYS+MinGW包括了许多的子套件。首先MSYS是Minimal SYStem的缩写提供了类似Bourne shell环境下编译程序

的一些utility,像automake之类。而MinGW则是Minimalistic GNU for Windows的缩写

他包含了许多的compiler for windows、win32api等等,是用来编译for windows的程序用,

不像Cygwin编出來的程序必須在Cygwin下才能跑。

MinGW和MSys下载连接http://sourceforge.net/project/showfiles.php?group_id=2435

添加以下环境变量,%installdir%表示安装目录

Path中增加%installDir%\\bin

C_INCLUDE_PATH=%installDir%\\include

CPLUS_INCLUDE_PATH=%installDir%\\include\\c++\\3.2.3;%installDir%\\include\\c++\\3.2.3\\mingw32;

%installDir%\\include\\c++\\3.2.3\\backward;%installDir%\\include

LIBRARY_PATH=%installDir%\\lib

将%installdir%\\bin下的mingw32-make.exe改名为make.exe,因为CDT缺省的是使用make

4、安装eclipse的C++开发插件

CDT下载连接http://www.eclipse.org/downloads/index.php  

将CDT解压到一个专门存放插件的目录(例如D:\\plugin)

在c:\\eclipse下新增加一个目录links,创建一个.txt文件,文件名为CDT解压后的目录名称。

编辑这个文件在其中添加  path=存放插件的目录\\CDT解压后的目录名称

例如c:\\eclipse\\links\\pydev_0_9_4.txt的内容为

path=d:\\plugin\\pydev_0_9_4

5、安装配置python

python的下载连接http://www.python.org/

添加以下环境变量,%installdir%表示安装目录

%installdir%表示安装目录

PYTHONPATH=.;%installdir%\\lib

PYTHON_HOME=%installdir%

PYTHON_INCLUDE=%installdir%\\include

PYTHON_LIB=%installdir%\\libs

6、安装eclipse的python插件

pydev插件的下载连接http://pydev.sourceforge.net/

将pydev解压到专门存放插件的目录(例如D:\\plugin)

创建一个.txt文件,文件名为pydev解压后的目录名称。

编辑这个文件在其中添加  path=存放插件的目录\\pydev解压后的目录名称

7、yacc和lex

从cygwin中拷贝bison.exe、bison.hairy、bison.simple和flex.exe到mingw\\bin下

添加以下环境变量,%installdir%表示MinGW的安装目录

BISON_HAIRY=%installdir%\\bin\\bison.hairy

BISON_SIMPLE=%installdir%\\bin\\bison.simple

标签:, , , ,