投稿

7月, 2018の投稿を表示しています

C# 忘備録 SharpZipLibを使用したtar.gz tgzファイルの解凍

イメージ
前回のlistBoxにファイルをドラッグ&ドロップしてファイルパスを取得するの続きでやります。 http://numaroplogrammemo.blogspot.com/2018/07/cformlistbox.html といってもファイルパスを直書きにするかどうかだけなので見なくてもいいです。 まずはSharpZipLibライブラリをダウンロードします https://github.com/icsharpcode/SharpZipLib ソリューションの追加→既存のプロジェクト→ダウンロードした「\SharpZipLib-master\src\ICSharpCode.SharpZipLib\ICSharpCode.SharpZipLib.csproj」を選択して追加します。 解凍ボタンを追加します。 解凍ボタンの処理を書いていきます //tar.gzを読み取り専用で開きます    ↓これは選択しているリストボックスのファイルパスです using (var tgzStream = File.OpenRead(listBox1.SelectedItems[0].ToString()))  //GZipStreamオブジェクトを解凍モードで作成します using (var gzStream = new GZipStream(tgzStream, CompressionMode.Decompress))  using (var tarArchive = TarArchive.CreateInputTarArchive(gzStream)) {       //解凍するフォルダを指定します        tarArchive.ExtractContents(@"C: \Users\deii7799\Documents\test\"); } 起動します ドラッグ&ドロップでtarファイルパスを取得 解凍するものを選んで「解凍」 解凍先に指定した場所に解凍されます 以上!

C# 忘備録 formにドラック&ドロップしてファイルパスをlistBoxに取得する

イメージ
エクスプローラーのファイルをformにドラック&ドロップしてファイルパスをlistBoxに入れる処理 まずはリストボックスを配置する listboxのプロパティからAllowDropをTrueにする コードを開いてドラッグ時のコードを書き込む //ドラッグイベントの処理 private void ListBox1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e) {        //formに入っている場合の動作        if (e.Data.GetDataPresent(DataFormats.FileDrop))        {            //ドロップした場合のエフェクト            e.Effect = DragDropEffects.All;        }                     else        {            //ドロップがなかった場合のエフェクト            e.Effect = DragDropEffects.None;        } } さらにドロップ時のコードを書き込む //ドロップ時の操作 private void ListBox1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) {   ...

C# 忘備録 別フォームの表示

別のフォームを表示します。button処理の中に使うのがいいでしょう show() Form2 fm = new Form2; fm.show();

C# 忘備録 switch文

switch文 switch(変数) {      case 値1:              break;      case 値2:              break;      .      .      .      default:              break; } 型の判別が可能 switch(obj) {      case int n:              break;          case String s:              break;      case default:              break; }

C# 忘備録 Formの最小化ボタン、最大化ボタンの表示非表示

フォームの最大化ボタンの表示非表示の切り替え this.MaximizeBox = !this.MaximizeBox; フォームの最小化ボタンの表示非表示の切り替え this.MinimizeBox = !this.MinimizeBox; コントロールボックスの表示非表示 this.ControlBox = !this.ControlBox;

C# 忘備録 forとforeach

for文 for(int i = 0; i < length;i++) { } foreach listの中身を順にループする var list = new List<int>{4,2,5,2,1,4}; foreach(int i in list) { }

C# 忘備録 String ↔ int 変換

C#忘備録です String → int 変換  「int.Parse(String)」 int num = 0; String strTemp = "99"; num = int.Parse(strTemp); →num = 99 int → String 変換 「ToString()」 int num = 99; String strTemp = ""; strTemp = num.ToString(); →strTemp = "99"; いろいろな言語触ってると意外と忘れる。

6:ComboBoxとif文の使用で簡易電卓の作成 C# 入門

イメージ
パート5の続きになります。 https://numaroplogrammemo.blogspot.com/2018/07/5-textbox-c.html 今回はコンボボックスの使用とif文での条件分岐です if文ってなに?と思うでしょう たとえば数字変数 i を作成します int i = 0; いまiの中身は 0 ですね。ここでif文を使います。if は「もし」という意味で覚えてください。下の文は もしiの値が0だった場合に i + 10を行う 違う(else)それ以外なら i + 20を行う。という処理になります if(i == 0) {      i  = i + 10; } else {      i = i + 20; } このif文を使用して足し算なのか引き算なのか掛け算なのか割り算なのかを判別して プログラム側で正しい計算をしようという算段です。 まずはComboBoxを配置しましょう ①ComboBoxを選択する ②Formに配置する コンボボックスの値を設定します ①再生ボタン見たいな所をクリックします ②項目の編集をクリックします 文字コレクションエディターが出ますので1行ずつ + - * / と入力してOKを押します。 あとは計算ボタンを押したときの処理を設定していきましょう まずはテキストボックスの値を数字変数に変換しましょう             int suu1 = int.Parse(textBox1.Text);             //テキストボックスの値を数値に変換する             int suu2 = int.Parse(textBox2.Text);             //答え代入用変数     ...

5: テキストボックスtextboxと四則演算 C# 入門

イメージ
今回はtextBoxと四則演算をやろうと思います。 プロジェクトの作成にも慣れないといけないので新規で作成し直しましょう。 ①VisualC#を選択します ②Windowsフォームアプリケーション(.NetFramework)を選択します ③プロジェクト名を付けます ④OKをクリックします TextBoxを配置します。 ①ツールボックスからTextBoxを選択します ②fromの配置したい場所をクリックして配置します さらに配置します。 TextBox Label TextBox Label Label Button という順番にします さらにlabelとbuttonの Textを変更します 計算ボタンをダブルクリックしてコードを開いて以下を書きます //テキストボックスの値を数値に変換する int suu1 = int.Parse(textBox1.Text); //テキストボックスの値を数値に変換する int suu2 = int.Parse(textBox2.Text); //計算する int ans = suu1 + suu2; //答えを文字列変換して答え用ラベルに代入する label3.Text = ans.ToString(); さて起動しましょう。数字を入力して計算ボタンを押すと答えが出てきましたね。 簡易的な電卓みたいですよね! 引き算や掛け算、割り算をするには //計算する int ans = suu1 + suu2; のところを変えるだけでいいです。 足し算:int ans = suu1 + suu2; 引き算:int ans = suu1 - suu2; 掛け算:int ans = suu1 * suu2; 割り算:int ans = suu1 / suu2; となります。 ただこれだとlabelが + のままなので違和感がありますよね。 なので条件付けをすることで対応できます。 続きはパート6でやっていきます。

4:文字列Stringからintへの変換 C# 入門

イメージ
前回の[ http://numaroplogrammemo.blogspot.com/2018/07/3int-c.html ]の続きです。 今回は文字列をintに変換するやりかたを紹介します ついでにボタンの名前変更も紹介します ①まずはツールボックスのbuttonを選択します ②好きな場所をクリックしてボタンを配置します まずはボタン名の変更ですね。ボタン名をコーディングで変えることは少ないので画面側で変えてしまいましょう。 ①配置したbutton2をクリックします ②プロパティでTextがあるのでbutton2→「足していく」に変更しましょう 次に「足していく」ボタンをコード側で呼び出すための名前を変更します ①足していくボタンをクリックします。 ②プロパティの(Name)を 「tasu」に変更しましょう これでコードで呼ぶための名前の変更が完了しました。 画面の足していくボタンをダブルクリックするとコード側が開きます。ダブルクリックすることで「足していくボタン」の処理が勝手にコード側に入っているのが分かります。 まずはlabel1.Textの値を取得しましょう 文字列を表す変数の宣言はStringを使用します。 String moji; int同様にこれだと何も入っていない状態ですが、今回はlabel1.Textの代入するのでよいでしょう。 String moji = label1.Text; と書いてください。 すると moji の中身は表示されている label1の値と同じ値が入るわけです。 ここからが少し難しいかもしれません。 このmojiを数字型intに変換しようと思います。が注意点としては label1.Textが数字を表す文字列じゃないとエラーになります 。 ピンとこない人がいるかもしれないので × String moji = "文字だよ" 〇 String moji = "13"; となります。なので取得するlabel1.Textの中身が数字じゃないといけないわけですね。...

3:数値を表すint と文字列変換 C# 入門

イメージ
前回のパート2:[ https://numaroplogrammemo.blogspot.com/2018/07/2buttonlebel-c.html ]の続きでやっていきます。 今回の流れとしては ①数値を表す int の使用 ②int を文字に変換する です。 コードを開いてbutton1_Clickのところに処理を書いていきましょう 前回の[label1.Text = "ボタンおしたから変わったよおおお";]は邪魔なので消すかコメントアウトしておきましょう。 //数字の宣言 int suu; これで数字を表す変数 suu が宣言されました。ただこのままでは suuは空っぽなので suu = 12; suuに12という数字を入れてあげます。 スマートに書くと int suu = 12; となり、1行で書くこともできます。 さて、数字変数 suu を作ったわけですが、これをlabel1のテキストに表示しようと思います。 ただ、label1.Textは文字型のStringなので intであるsuuをそのまま代入できません。 ×  label1.Text = suu; 数字のint を文字列に変換するには ToString()というものを使用します。 〇 label1.Text = suu.ToString(); 開始、もしくはF5キーを押して実行しましょう。 button1をクリックすると数字に変わりましたよね。 数値の文字列変換。理解できましたでしょうか。 次回は今回とは逆である 文字列を数値に変換する方法を紹介しようと思います。

2:Buttonの配置とlabelとのコラボレーション C# 入門

イメージ
今回はButtonの配置を説明していきます。 前回の続きでやるのでパート1:[ http://numaroplogrammemo.blogspot.com/2018/07/helloworld-c.html ]を見てからのほうがいいかもしれません。 ①ツールボックスからButtonをクリックします ②フォームの好きな箇所をクリックしてボタンを配置します ボタン「Button1」が配置されましたね。 続いて配置されたボタンをダブルクリックして見てください。 するとコードに移動して自動でButton1_Cliick()が追加されているのが分かりますね。 これがボタンをクリックしたときに走る処理になります。 ではボタンクリック処理の中にコードを書いていきます。 今回は前回配置したlabel1の名前をボタンを押したら変わるという処理にします。 といっても難しいことはないです label1.Text = "ボタンおしたから変わったよおおお”; 開始、もしくはF5キーで実行します。 Button1をクリックすると ラベルと連動して文字が変わりました!が、、、圧倒的設計ミス!!一度閉じてボタンの位置を変えましょう。ドラック&ドロップ(クリックしたまま移動させてはなす)で移動できます。 これで完成ですね。 どうですか、ボタンの配置と連動。理解できましたでしょうか。 分かりにくい場合はコメント欄に書いていただければありがたいです。

1:プログラミングの登竜門-HelloWorldの表示 C# 入門編

イメージ
C#を使用したプログラミングメモです。visual studioをインストールしていない人は https://imagine.microsoft.com/ja-jp/Catalog/Product/530 からインストールしましょう。 ではプログラミングの登竜門であるHelloWorldの表示をやっていきましょう。 まずは新しいプロジェクトの作成をクリックします ①Visual C#を選びます ②Windowsフォームアプリケーション(.NET Framework)をクリックします ③このプロジェクトの名前を決めます。今回はHelloWorldにしましょう ④「OK」をクリックします この画面が出れば準備完了です ツールボックスが出てない場合には画面上の表示タブ→ツールボックス で表示されます ①ツールボックスの label をクリックします ②form(青色の中)の配置したい場所をクリックします →form内に label1が配置されましたね form内を右クリックして「コードの表示」を選択するとコードが表示されます ここでコーディングです ①配置したlabelのTextに文字を設定しましょう label1.Text = "HelloWorld"; ②「開始」をクリックして実行しましょう。キーボードのF5キーを押しても実行になります はい、完成です。閉じる場合には×を押して終了です どうだったでしょうか。簡単でしょう。次回はボタンの使用を説明します。 ーーーーーーおまけーーーーーー ①先ほど書いたコードをいったん削除してください ②form画面のlabel1をクリックします ③右下のプロパティのTextを値を「label1」から「好きなことば」に変更します ④開始、もしくはF5キーで実行します 変えた言...