2007/03/04開始。ソフトウェア管理やDelerer SEの作者であるおにぎりくんの試行錯誤の記録です。
- [Vue.js]時計?タイムコードを表示するWebアプリ
- (2021/11/16)
- ポエム
- (2020/09/30)
- メトロノームアプリをリリース
- (2017/04/22)
- Sikulix勉強中:便利関数
- (2017/02/25)
- [JavaFX]学習メモ
- (2016/09/22)
SurfaceRT上でC#プログラムを動かす
環境
ターゲット:SurfaceRT (Windows RT 8.0、jailbroken)ホスト:Windows7 + VisualStudio Express 2012 for Windows Desktop
やったこと
自作コンソールアプリを、脱獄済みの初代Surface上で動かす。手順
- VisualStudio Express 2012 for Windows Desktopを起動し、C#のコンソールアプリケーションプロジェクトを作成する
- プログラムを書く
- 動作確認する
- Release / Any CPUでビルドする
- binディレクトリにできたexeファイルをSurfaceRTに転送する
- exeファイルを実行する
結果
exeファイルを実行できた作成したプログラム
using System; namespace ConsoleApplication2 { class Program { public static CommandShell MainCommandShell = new CommandShell(); static void Main(string[] args) { Console.WriteLine("=== sample program ==="); MainCommandShell.loop(); } } ////// ユーザーからコマンド入力を受け、処理を実行するシェル。 /// loopメソッドで開始し、exitメソッドで終了する。 /// class CommandShell { ////// 実行可能なコマンドの配列 /// private Command[] Commands = { new HelpCommand(), new ExitCommand() }; ////// ループを終了するかどうか /// private Boolean running = false; ////// シェルを開始する /// public void loop() { running = true; while (running) { Console.Write("> "); string cmd = Console.ReadLine(); foreach (Command command in Commands) { if (command.process(cmd)) break; } } } ////// シェルを終了する /// public void exit() { running = false; } } ////// シェルで実行できるコマンド /// interface Command { Boolean process(string cmd); } ////// ヘルプコマンド /// class HelpCommand : Command { public Boolean process(string cmd) { if (cmd.StartsWith("help")) { Console.WriteLine("help: exit"); return true; } else { return false; } } } ////// 終了コマンド /// class ExitCommand : Command { public Boolean process(string cmd) { if (cmd.StartsWith("exit")) { Console.WriteLine("exit"); Program.MainCommandShell.exit(); return true; } else { return false; } } } }
感想
簡単に動いた。GUIアプリも書いてみたい。
C#らしいプログラムの書き方を忘れてる。命名規則?プロパティ?
PR
スポンサード・リンク
この記事にコメントする
フリーソフト指向::開発日記 by LapisCactus