DropFTPを配布。

2018.12.01

Logging

ドップして一つのファイルを転送するソフトを作りました。
こんなのどうしているのかと疑問を持つ人もいると思いますが
業務上、こんなソフトが要るという会社などもいるのではないかと
思いで作りました。
ダウンロードはこちらから
https://zip358.com/tool/DropFTP.zip
ソースコードは下記になります。
※FTP部分はWinSCPのライブラリを使用しています。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WinSCP;
namespace dropFTP
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void upbtn_Click(object sender, EventArgs e)
        {
            String err = "";
            if (hostText.Text == "") {
                err += "ホスト名が設定されていませんn";
            }
            if (idText.Text == "")
            {
                err += "IDが設定されていませんn";
            }
            if (passText.Text == "")
            {
                err += "passが設定されていませんn";
            }
            if (remText.Text == "")
            {
                err += "アップロード場所が設定されていませんn";
            }
            if (uplab.Text == "")
            {
                err += "アップロードファイルが設定されていませんn";
            }
            var RadioGroup = groupFTP.Controls.OfType<RadioButton>().SingleOrDefault(rb => rb.Checked == true);
            if (RadioGroup == null) {
                err += "アップロード環境が設定されていませんn";
            }
            if (err != "")
            {
                MessageBox.Show(err);
            }
            else {
                if (RadioGroup.Text == "FTP") {
                    upFTP();
                }
                if (RadioGroup.Text == "SFTP")
                {
                    upSFTP();
                }
            }
        }
            private int upFTP() {
            try
            {
                // Setup session options
                SessionOptions sessionOptions = new SessionOptions
                {
                    Protocol = Protocol.Ftp,
                    HostName = hostText.Text,
                    UserName = idText.Text,
                    Password = passText.Text,
                    PortNumber =int.Parse(portText.Text)
                };
                using (Session session = new Session())
                {
                    // Connect
                    session.Open(sessionOptions);
                    // Upload files
                    TransferOptions transferOptions = new TransferOptions();
                    transferOptions.TransferMode = TransferMode.Binary;
                    TransferOperationResult transferResult;
                    if (remText.Text.EndsWith("/"))
                    {
                        transferResult = session.PutFiles(@uplab.Text, remText.Text, false, transferOptions);
                    }
                    else
                    {
                        transferResult = session.PutFiles(@uplab.Text, remText.Text + "/", false, transferOptions);
                    }
                    // Throw on any error
                    transferResult.Check();
                    // Print results
                    foreach (TransferEventArgs transfer in transferResult.Transfers)
                    {
                        MessageBox.Show("アップロードしました");
                    }
                }
                return 0;
            }
            catch (Exception e)
            {
                MessageBox.Show("Error: {0}" + e);
                return 1;
            }
        }
        private int upSFTP()
            {
                try
                {
                    // Setup session options
                    SessionOptions sessionOptions = new SessionOptions
                    {
                        Protocol = Protocol.Sftp,
                        HostName = hostText.Text,
                        UserName = idText.Text,
                        Password = passText.Text,
                        PortNumber = int.Parse(portText.Text),
                        GiveUpSecurityAndAcceptAnySshHostKey = true
                    };
                using (Session session = new Session())
                {
                    // Connect
                    session.Open(sessionOptions);
                    // Upload files
                    TransferOptions transferOptions = new TransferOptions();
                    transferOptions.TransferMode = TransferMode.Binary;
                    TransferOperationResult transferResult;
                    if (remText.Text.EndsWith("/")) {
                        transferResult = session.PutFiles(@uplab.Text, remText.Text, false, transferOptions);
                    } else {
                        transferResult = session.PutFiles(@uplab.Text, remText.Text + "/", false, transferOptions);
                    }
                        // Throw on any error
                        transferResult.Check();
                        // Print results
                        foreach (TransferEventArgs transfer in transferResult.Transfers)
                        {
                        MessageBox.Show("アップロードしました");
                        }
                    }
                    return 0;
                }
                catch (Exception e)
                {
                    MessageBox.Show("Error: {0}" + e);
                    return 1;
                }
            }
            private void Form1_DragDrop(object sender, DragEventArgs e) {
            //e.Effect = DragDropEffects.Copy;
            string[] fileName = (string[])e.Data.GetData(DataFormats.FileDrop, false);
            uplab.Text = fileName[0];
        }
        private void Form1_DragEnter(object sender, DragEventArgs e)
        {
            e.Effect = DragDropEffects.Copy;
        }
        private void radioSFTP_CheckedChanged(object sender, EventArgs e)
        {
            portText.Text = "22";
        }
        private void radioFTP_CheckedChanged(object sender, EventArgs e)
        {
            portText.Text = "21";
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            this.FormBorderStyle = FormBorderStyle.FixedSingle;
            this.MaximumSize = this.Size;
            this.MinimumSize = this.Size;
        }
    }
}

タグ

358, Collections, com, ComponentModel, data, Drawing, DropFTP, Forms, FTP, Generic, Linq, System, Tasks, Text, Threading, tool, using, Wi, Windows, WinSCP, zip, コード, こちら, ソース, ソフト, ダウンロード, ドップ, ファイル, ライブラリ, 一つ, 下記, , 会社, 使用, 業務, 疑問, 転送, 部分, 配布,

C# でYOUTUBEダウンロードもどきを作ってみました。

2018.04.28

Logging


C# でYOUTUBEダウンロードもどきを作ってみました。ライブラリを使用しているので、結局、楽に作れるわけです。ホントに有り難いものです。YOUTUBEやニコニコ動画をダウンロードするソフトが売られていますけど、おそらくソフトウェアプログラマーは買うことはないだろうなと言う印象を作ってみて思いましたね。

【表示する】buttonを押下後、【ダウンロードする】を押さないとダウンロード出来ない仕様に変更してます。

ライブラリにこちらのライブラリを使用しております。
https://www.nuget.org/packages/VideoLibrary/

追記:ソースコードは控えることとにしました。下記の理由から・・・。今後どうなるか不透明なので使用する場合はご自身の判断の元で!尚、私自身はオススメはしません。

タグ

button, https, NuGet, org, packages, VideoLibrary, www, youtube, おすすめ, コード, こちら, こと, ご自身, ソース, ソフト, ソフトウェア, ダウンロード, プログラマー, ホント, もの, ライブラリ, 下記, 不透明, 今後, 仕様, 使用, , 判断, 動画, 印象, 場合, 変更, 押下, 理由, , 自身, 表示, 追記,

画面キャプチャ動画を取るなら無料版のBandicamで十分かも。

2016.12.07

Logging


画面キャプチャ動画を取るなら無料版のBandicamで十分かもしれない。
特に仕事用途(共有)で使う場合は無料版のロゴ付きで十分過ぎると 自分は思っています。
操作を動画で説明したいときはこれで十分かなと思います。
大体、静止画のキャプチャで操作の説明は事が足りると思いますがどうしても説明が難しいことがあります。
こういう場合は、操作を動画で撮って送るという方法もありかなと 思っています。
ちなみに画面キャプチャ動画が撮れるソフトを作ろうと 考えています。考えただけで進んでいませんが
こういう方法で作れるじゃないかな?
Visual Studio2015の話ですが、画面キャプチャを動画にする 方法があります。aviに変換し保存するのにフリーのライブラリを使用して
ゴニョゴニョすれば出来るらしいです。例えば、AForge.NET Framework を 使用する方法やDirectShowを使う方法があります。
ちょっとググればGithubで公開していますので ソースを参考にして作ってみるのも良いかもしれないですね。
追記:2020/02/05
ちなみに今、YOUTUBEで投稿しているときに使っているのはこちら
https://zip358.com/?p=8707

タグ

2015, AForge, avi, Bandicam, DirectShow, Framework, net, Studio, Visual, キャプチャ, こと, ゴニョゴニョ, これ, ソフト, とき, フリー, ライブラリ, ロゴ, , 仕事, 使用, 保存, 共有, 動画, 場合, 変換, 大体, 操作, 方法, 無料, 用途, 画面, 自分, , 説明, 静止画,

プレイステーション5というハード(機器)は存在しなくなる?

2016.09.01

Logging


プレイステーション5という機器は存在しなくなると自分は思っています。
2週間前ぐらいにプレイステーション3のソフトをウィンドウズ上でプレイできるようになると発表したソニー、このまま行けばウィンドウズやMac上などで動作する環境を提供する用になるのではないかと。
もしくはPlayStation5が最後のハードになりそうな予感がします。
9月7日の発表によりPlayStation4でハードは終わり(生産終了)になりPlayStation5というハードは、発表されなくなりクラウド上でプレイできるPlayStation Nowが主流になるのではとか言う発表がされると、凄いですけど恐らくそうはならない。
もし、そうなればPlayStation Nowという動作環境下(PS4、3がプレイ可)で月々980円ぐらいでソニーはプレイ場所を提供するか、ソフトのDL販売で行うかなと思っています。あくまでも予想ですので外れる場合があると思いますが、いずれそうなる可能性が高いとも思っています。

タグ

2, , 4, 5, 7, , 980, DL, Mac, Now, PlayStation, PS, ウィンドウズ, クラウド, ソニー, ソフト, パート, プレイ, プレイステーション, , 主流, 予想, 予感, 動作, , 場合, 場所, 存在, 提供, 最後, 月々, 機器, 環境, 生産, , 発表, 終了, 自分, 販売,

ITの技術は上がっているのに単価が下がっている?様に見える。

2016.07.28

Logging


先日、熱いので涼みに電気店へ行ってきました。何やら店員さんとおじさんがホームページ作成ソフトのことで押問答をしていました。
今日のお題は「ITの技術は上がっているのに単価が下がっている?様に見える。」です。
昔に比べて無料でお手軽に出来ることが増えてきているけれど、無料には大体、落とし穴があって実際、使ってみるとやはり無料だなと感じるところが多い。
無料で利益をあげるひと。
WEBのサイトをテンプレートを無料で配布している人がいる。
無料だけど、必ずテンプレートの中に配布元のリンク先がある。
配布元から言えばSEO対策にもなるし、そのリンクへ行くと広告などが必ず貼っているので、クリックすると配布元の収入になったりする。よく出来た循環だと思う。
無料で良い物を提供するー>間接的な収入で利益を上げる。WEBだけでは無く。アプリも同じで無料で提供して課金制で収入を上げる方法、この方法もWEBの広告で儲けるのとよく似ている。
どちらも無料でユーザーが使用できるけれど何処かで利益をあげていたりするですね。
こういう循環はWEB広告が登場したあたりから
増えてきているように思えます。
昔からあった手法がITやWEBにも適応されたのだと思うのです・・・。
[画像提供元]フリー写真素材ぱくたそ?

タグ

IT, SEO, web, アプリ, クリック, こと, サイト, ソフト, テンプレート, ところ, どちら, ひと, ホームページ, ユーザー, リンク, るー, , , 今日, 作成, 先日, 利益, 単価, 収入, 大体, 実際, 対策, 広告, 店員, 循環, 技術, 押問答, 提供, 方法, , , 無料, , 落とし穴, 課金, 配布, 配布元, 電気店, ,

Windows10のコンピューターが毎日特定の時刻にスリープ状態から復帰するよ!?なぜ

2016.03.12

Logging

Windows10のコンピューターが毎日特定の時刻にスリープ状態から復帰するよ!?なぜ
ANSWER

Windows Media Center の更新機能が自動的に開始されるときに発生します。ということです。

この問題を解決するには下記のURLをクリックして、手順に従ってスケジューラから変更等を行ってください。

https://support.microsoft.com/ja-jp/kb/979878

このようにスリープ状態から勝手に起動するようなソフトがインストールされている場合があるので注意してください。今回は、マイクロソフト社のソフトでしたが他のソフトでもこのような設定になっている場合があるので、気をつけてください。また、スケジュールに設定する事によって起動時にソフトを起動することや曜日によってソフトを起動するなどの設定するなどの設定を追加することも可能です。

タグ

10, 979878, ANSWER, Center, com, https, ja-jp, kb, media', microsoft, support, url, Windows, インストール, クリック, こと, コンピューター, スケジューラ, スケジュール, スリープ, ソフト, とき, マイクロソフト社, 下記, , 今回, , 勝手, 可能, 問題, 場合, 変更等, 復帰, 手順, 時刻, 曜日, 更新, 機能, 毎日, , 注意, 特定, 状態, 発生, 解決, 設定, 起動, 追加, 開始,

WinSCPというソフトが有るのだけど。

2015.07.16

Logging


WinSCPというソフトが有るのだけど自分はこのソフト、FTPのソフトだと思い込んでいたけど・・。SCPという名前の通りSCP(転送プロトコル)機能がついてたりする。面倒くさい事をさらっとやってくれるフリーソフトなわけです。そうとは知らず今までインストールすることが無かったんですけど、この度、インストールしました。ちなみに何が良いかというとFTPサービスをサーバ環境へインストールしなくてもファイルのアップロードが可能だということです。FTPがインストールされていない環境だととても重宝しそうな気がします。
ダウンロードはこちらから、WinSCP
メモがてらにもう一つ、大量のsqlデータを一括でインポートしなくてはならなくなり、昨日、調べていたらこのようなコマンドで解決することがわかりました。まず、Linuxサーバでかつポート22番が開いている事が前提です。windowsですとTera Termでサーバにログインし下記のコマンドを入力します。

mysql -u ユーザー名 -D データベース名 -p
//エンター後、Passwordの入力を行ってください。
次にMYSQLに切り替わったら、下記のコマンド入力してインポートを行います。この時の注意点ですがエラーなどが出る場合はエクスポートしたsqlファイルの最終行あたりに記入されているデータベース名やユーザー名が移行する側の名前になっているかが大事になります。なっていない場合、修正をかけ再処理を行うとインポートが行えるはずです。
尚、サーバ上に事前にsqlファイルをアップロードして置いてから処理を行ってください。
USE データベース名(インポートしたい)
SOURCE 階層を含むファイル名(/xxxx/xxxx.sql)

            

タグ

22, FTP, Linux, My, SCP, SQL, Tera, Term, Windows, WinSCP, アップロード, インストール, インポート, こちら, こと, コマンド, サーバ, サービス, ソフト, ダウンロード, データ, ファイル, フリー, プロトコル, ポート, メモ, もう一つ, ログイン, 一括, 下記, , , 入力, 前提, 可能, 名前, 大量, , 昨日, 機能, , 環境, 自分, 解決, 転送, 通り, 重宝,

初心者でも自分のオリジナルアドレスでサイトやブログを持つ方法。

2015.01.18

Logging

初心者でも自分のオリジナルアドレスでサイトやブログを持つ方法を紹介します。
一番手ごろな方法はライブドアブログの有料版を使用する方法がオススメです(ドメインは別途取得が必要)。月の支いもそれほど高くありません。※年に一回ドメイン(アドレス)料金が発生します。2番目にオススメははてなブログですが、いろいろと独自の機能が面倒くさい感じです。
他にはFC2などなどブログサービスを行っている会社は有料版で独自ドメインが使用できる場合が殆どです(アメーバブログを除く)。
上記の方法が超初心者でも独自ドメイン(オリジナルアドレス)でサイト(ブログ)を持つ方法です。

次に紹介するのがレンタルサーバーをレンタルしてサイトを持つ方法です。こちらはやや難易度が高いです。
まず、必要な知識や技術取得を列挙します。

  1. FTPソフトの操作(サーバー上にディレクトリ作成)
  2. HTMLの基礎知識など(サイト作成に必要)
  3. WordPress(ブログ)アップロードの方法
  4. パーティションの知識
  5. DBの知識(MYSQL)
  6. zipファイルの解凍方法。

※ディレクトリ=フォルダ(Windows)
上記の知識が多少、必要になってきます。全然無くても勉強しながら試していくうちに徐々に覚えていきます。なので、例としてさくらレンタルサーバーの手続き方法やサイトやブログ開設方法を記載しときます。(習うより慣れろです(`・ω・´)。)
さくらレンタルサーバー(スタンダード版以上)でサイトやブログの設置する方法。
まずはレンタルのサーバ借りる手続きをこちらから行います→(スタンダード)。
注意して欲しい事は独自ドメインは後から申し込みします。
?申し込み時にさくらドメイン(アドレス:任意アドレス.sakura.ne.jp)を申し込みを行います。
※契約はスタンダードにする事、もしくはそれ以上!!。
?契約後、さくらから自動メールが届きますので保管してください。
?コントロールパネルに任意のさくらアドレス(ID)とパスワードでログインしてください。
https://secure.sakura.ad.jp/rscontrol/
?コントロールパネルから新規ドメインの契約を結びます。
ここで注意して欲しいのが契約時の選択項目で会員ID・現在さくらを利用中を選ぶことです。

?コントロールパネルから次のサイトの手順に従って作業してください。
お疲れ様です。(´Д`)
これで独自ドメインの取得及び使用ができるようになりました。
?
次にブログサイトの構築手順に進みます。
まず、コントロールパネルを開いてください。開いたらデータベースの新規作成ボタンをクリックして次のサイトの手順に従ってデータベース作成してください。ここで注意して欲しいのがデータベースの文字コードの設定をUTF-8に設定することです。また、パスワードは安易に推測されないような16文字以上のパスワードが良い感じです(ハッキングされないためにも)。
※パスワードはメモしてください。φ(..)メモメモ。
次にコントロールパネルからクイックインストール、ブログとクリックしていきます。次のサイトの手順を参考にしてください(※WordPressの手順STEP3の?から:中盤に記載)。
ここで注意して欲しいのがインストール先です。例えば、手順ではwpというフォルダにWordPressがインストールされます。※なお、ディレクトリ名の名前設定には注意が必要
なぜ、注意が必要か上記の方法でWordPressをインストールすると
ブログアドレスはhttp://オリジナルアドレス.com/wqとなってしまうからです。
?
http://オリジナルアドレス.com/にブログを表示したい場合は
FTPソフトを使用して手動でWordPressのインストールを行わないといけません(今回は省きます:手順はこちらから)。
現在状態ではオリジナルアドレスをブラウザに入力してもIndex of/という文字が表示されている状態になっていると思います。何故か、サイトを表示できる要素が無いからです。
表示させるファイルを作成しないといけません。
なのでファイル作成を行います。まずここで勉強をしてください。
マスター後、htmlファイルなどをFTPソフトを使用してアップロードを行います。FileZillaクライントというFTPソフトがオススメです(DLはこちらから、使用方法はこちらを参照)。
※ちなみにHTML作成時などにはエディタというものを使用します。
メモ帳でも作成できますが文字コードがシフトJISになってしまいますので少々問題があります。UTF-8という文字コードでサイト作成を行うのが現在の主流です(一昔前はシフトJISでしたけどね)。
エディタのオススメはテキストエディタ++です。他にもさくらエディタ秀丸エディタterapadが有名ドコロです。
((※ここではテキストエディタ++の文字コードの設定方法を記載しときます。インストール後、ファイル>新規作成と選択後にメニューバーのエンコードのUTF-8(BOMなし)で開くをクリックしてからソースコード(プログラム)を記載してください。尚、メニューバーの言語でH>HTMLと選択を行うと入力補完機能が使用できて便利です。))
ちなみにさくらレンタルサーバーのアップロード先
サーバー上の/home/ID名/www/のオリジナルアドレス.com(任意)/
という階層にアップロードする必要があります。
尚、wwwの直下にアップロードすると初期に取得した任意ID.sakura.ne.jpのアドレスに反映されます。
———-
サイトデザインなんて出来ないという方にテンプレートというものがあります。
ある程度、デザインされたファイルを配布しているのでまずは、そういうファイルを加工後、アップロードして
みるのも良いかも。テンプレート配布サイトはこちらから。
その他テンプレート配布サイト*1,*2,*3,*4
以上で初心者でもオリジナルアドレスでサイトやブログを持つ方法になります。
※注意点、ファイルやディレクトリを安易に消してしまうとサイトが表示されなくなったり機能しなくなったりしますので注意が必要です(アップロードも同様)。

タグ

2, fc, FTP, html, WordPress, アップ, アドレス, アメーバ, いろいろ, おすすめ, オリジナル, こちら, サーバー, サービス, サイト, ソフト, ディレクトリ, ドメイン, はてな, ブログ, ライブドアブログ, レンタル, ロー, , 上記, , 会社, 作成, 使用, 列挙, 初心者, 別途, 取得, 基礎, 場合, , 必要, 感じ, 手ごろ, 技術, 操作, 料金, 方法, , 有料, 機能, 殆ど, 発生, 知識, 紹介, 自分, 難易,

パスワードのチョメチョメ(***)が見えるソフト(Windows)はこれ(ノ´∀`*)

2015.01.13

Logging

パスワードのチョメチョメ(***)が見えるソフト(Windows)はこれです。
PasswordEyeというソフトです、結構、役に立ちます。ちなみにブラウザ上の
パスワードはIE以外は対応してないだとか。あくまでもWindowsソフトのチョメチョメ(***)が
見えるソフトです。ちなみにFirefoxの場合はブラウザ上のパスワード部分が
覗ける拡張アプリが存在したことを覚えています。
余談ですが、よく巷でパスワードが流出したとか言う記事を見かけると思いますが
絶対にDB上からパスワード流出しない会社があります。その中の一つに
グーグル社がはいってるとか・・・・。
パスワードに暗号化をかけるのはどの会社も行っている
事だと思いますが、暗号化したものは基本的に復号化する事が可能だと
思います。そうではないモノのもありますが・・・。どうもグーグル社の場合は
グーグル社のサーバー上でしか復号化できないような仕様になっているらしく
社外にパスワード情報が流出しても復号化は不可能らしいのです。
ちなみに世界的に有名なポータルサイトを列挙しときます。
日本ではYahooのシェア率が高いみたいですが、世界的にはグーグルが
トップです。

追記
たまには日本以外のポータルサイトを覗いてみるのも結構たのしいですよ。
ちなみにこれが国別Yahooのポータルサイトのアドレスです。
https://everything.yahoo.com//world/

タグ

db, Firefox, IE, PasswordEye, Windows, アプリ, グーグル, こと, これ, サーバー, ソフト, チョメチョメ, パスワード, ブラウザ, もの, 一つ, , , , 仕様, 以外, 会社, 余談, 可能, 場合, 存在, 対応, , , 復号, 拡張, 暗号化, 流出, , 記事, 部分,

accessを購入します{本日、購入}。

2014.08.16

Logging

Access2013を購入します、旧のアクセスは持っているのだけどセキュリティ上使用できなくなったので購入します。ちなみにアクセスは、いまいち使い勝手良くなかったので今まで牽制していましたが、この頃、使用してみて基本的にエクセルVBAとそんなに変わらないなという事がわかりました。エクセルVBAにDB機能とシステム要素が付与したものと考えると良い感じですね。ただ、Formの呼び出しなどが、もっとソフト開発(VisualStudio)よりな呼び出しになっている感じです{最初はわからなったです}。よくよく考えるとVisualStudioなんてものを使用せずとも結構これだけで、ひと通りの事が出来そうです{前にも同じこと言っていた気がします}。
購入して何を作るかっていう所ですけどサンプルコードをひとつ作って見ようかなと、あとは、ちょっとしたデータ入力のために簡易てきな入力システムみたいなものを作ってみようと思いますが、こちらは公開しません。

タグ

2013, access, db, Form, VBA, VisualStudio, アクセス, あと, いまいち, エクセル, コード, コチラ, こと, これだけ, サンプル, システム, セキュリティ, ソフト, ため, データ, ひとつ, ひと通り, もの, , 付与, , 使い勝手, 使用, 入力, 公開, , 感じ, , , 最初, 本日, 機能, , 牽制, 簡易, 要素, 購入, 開発, ,