C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■8095  複数の文字列のランダムな並び替え
□投稿者/ lima -(2007/09/23(Sun) 07:58:52)

    分類:[JavaScript] 

    2007/09/23(Sun) 08:20:10 編集(投稿者)

    以前もお世話になりましたが、今回もよろしくおねがいいたします。

    このたび、簡易の4択クイズを表示しようとおもっています。
    JavaScript内に選択肢を格納して、順に表示させているのですが、選択肢の順番をばらばらに入れ替える方法を教えていただきたいのです。

       message = new Array();
       message[0] = '答え1:答え2:答え3:答え4';
       message[1] = '答え2:答え4:答え1:答え3';
       message[2] = '答え3:答え1:答え2:答え3';
       message[3] = '答え4:答え3:答え1:答え2';

    上記を格納しています。そして表示部分は、

       var index = Math.floor(Math.random()*message.length);
       document.write(message[index].split(':')[0]);
       document.write(message[index].split(':')[1]);
       document.write(message[index].split(':')[2]);
       document.write(message[index].split(':')[3]);

    としているのですが、これはどう考えても効率が悪くて、問題を作りにくくしているのです。
    いちいち組み合わせの違う選択肢の並び方を用意せずとも、スクリプト側で入れ替えてくれる方法があれば、教えていただきたいのです。
    よろしくお願いします。
親記事 /過去ログ19より / 関連記事表示
削除チェック/

■8094  Re[2]: MessageBoxの文字列にリンクするには
□投稿者/ ちゃんとC# -(2007/09/23(Sun) 07:58:41)
    No8093 (Blue さん) に返信
    > メッセージボックスはもう出来上がっているものなので
    > それを変更しようとするとカナリの労力が必要になります。
    >
    > C#だとAPIを使うためさらに面倒なことになります。
    >
    >
    > ですので、自分で似たようなFormを作ってLinkLabelを使ったほうが
    > はるかに簡単にできますがどうでしょうか?
    >
    >
    > どうしてもMessageBoxでってことならそれだけの知識と時間、労力を使うことを考えてみてください。
    >
    >
    > >一般のアプリ
    > もおそらくメッセージボックスそのものをいじっているわけではないと思います。


    ご親切にありがとうございます。
    道理で,いくらHPを捜しても,その解説がみつからないわけですね。
    (私の探し方のせいもあるのかもしれませんが,捜せませんでした。)

    別フォームを作った方が早そうですね。

    仰るやり方なら,確かにどこかに書いてあったと思います。

    ありがとうございます。
記事No.8092 のレス /過去ログ19より / 関連記事表示
削除チェック/

■14673  Re[6]: テキストボックスの文字をアスキー変換
□投稿者/ Blue -(2008/02/25(Mon) 11:03:37)
記事No.14664 のレス / END /過去ログ30より / 関連記事表示
削除チェック/

■39547  Re[2]: 読み込んだウェブページのタイトルをボタンに変える。
□投稿者/ RT -(2009/08/10(Mon) 20:50:11)
    No39544 (やじゅ さん) に返信
    > 2009/08/10(Mon) 20:44:39 編集(投稿者)
    >
    > ■No39541 (RT さん) に返信
    >>質問させていただきます。
    >>コンボボックスで選択したURLのページの情報を読み込んで、そのページのタイトルをウィンドウフォーム上に置いたボタンのテキストプロパティとして表示するということをしたいのですが、
    >
    > C#でなんですが、1案としてタイトルタグを取得するJavaScriptを実行させるって方法もあります。
    >
    > C#のWebBrowserコンポーネントからJavaScriptを実行
    > http://web.sfc.keio.ac.jp/~shokai/archives/2007/01/cs-webbrowser-javascript.html
    >
    > [javascript] urlとtitleタグの中身を取得する方法
    > http://www.0yen-coding.com/2009/07/javascript-title.html

    やじゅさんの紹介してくれたページを見たのですが、いまいち解りませんでした。
    HTMLタグの特定の部分を認識して、それに囲まれているデータを抜き出して、表示する方法がわかりません。
    引き続きアドバイスお願いします。
記事No.39541 のレス /過去ログ68より / 関連記事表示
削除チェック/

■90501  空でないディレクトリを削除する
□投稿者/ C++ -(2019/03/15(Fri) 01:01:17)

    分類:[C/C++] 

    C++で空でないディレクトリを削除する方法、関数を教えてください。
親記事 /過去ログ156より / 関連記事表示
削除チェック/

■90505  Re[1]: 空でないディレクトリを削除する
□投稿者/ Azulean -(2019/03/15(Fri) 06:34:02)
    No90501 (C++ さん) に返信
    > C++で空でないディレクトリを削除する方法、関数を教えてください。

    調べ方例
    1. API にないかと探してみる「RemoveDirectory function」
    2. docs.microsoft.com のドキュメントを読んでみる
    https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-removedirectorya
    3.「To recursively delete the files in a directory, use the SHFileOperation function.」という記載を見つける。
記事No.90501 のレス /過去ログ156より / 関連記事表示
削除チェック/

■90506  Re[1]: 空でないディレクトリを削除する
□投稿者/ 774RR -(2019/03/15(Fri) 08:26:33)
    実は C 言語仕様書 ISO/IEC 9899 において「ファイル」「ディレクトリ」が具体的にどういうものかは規定されていなくて、
    なので ISO/IEC 9899 において
    - 「ファイルを開く」という操作は存在する (fopen) けれども
    - 「ファイルを削除」という操作は存在しない
    - 当然ディレクトリの操作も存在しない

    POSIX (いわゆる Unix の仕様書) ならば mkdir() や rmdir() といったディレクトリ操作関数があるっす。
    https://linuxjm.osdn.jp/html/LDP_man-pages/man2/rmdir.2.html
    POSIX API では「空でない」ディレクトリを削除する関数は提供されていないので自作することになるですよ。

    Windows ならば既にコメントある通り別の手段が使える。

    ということであなたが対象としている OS 名称とかバージョンとかはとても大事。
記事No.90501 のレス /過去ログ156より / 関連記事表示
削除チェック/

■90509  Re[2]: 空でないディレクトリを削除する
□投稿者/ とっちゃん -(2019/03/15(Fri) 11:01:25)
記事No.90501 のレス /過去ログ156より / 関連記事表示
削除チェック/

■90510  Re[1]: 空でないディレクトリを削除する
□投稿者/ ぶなっぷ -(2019/03/15(Fri) 11:34:04)
    質問内容からして、
    > C++で空でないディレクトリを削除する方法、関数を教えてください。
    空のディレクトリを削除する方法は分かっているということかな。

    であれば、先にディレクトリ内のファイルを全削除して空にしてから
    削除すればいいのは分かるよね?

    そういう話ではない?
    1関数で一気に削除できるものがあるかどうかと言う話?
    であるなら、私が知る限りは無いです。
記事No.90501 のレス /過去ログ156より / 関連記事表示
削除チェック/

■91261  XMLファイルから一致するデータを取得する方法
□投稿者/ 河童 -(2019/06/09(Sun) 10:49:47)

    分類:[.NET 全般] 

    いつも大変お世話になっております。

    西暦から和暦に変換したいと思っています。

    和暦はXMLファイルからテーブルを読み込んで
    変換する和暦の略称を取得します。
    変換の形式は「R1.6月」です。

    わからないことは、
    変換する日付と和暦のデータをどのように一致させるかです。
    令和の終了日はまだわからないので、
    開始日と終了日の間というのはできなかったです。

    現状は、XMLファイルの最後のデータを取得していますが、
    平成や昭和に変換したいときができたときは、
    やはり開始日と終了日の間にないといけないと思います。

    任意の日付で和暦の略称を取得するには、
    どのように処理をすればよいでしょうか?

    よろしくお願いします。


    和暦のXMLファイルです。
    <?xml version="1.0" encoding="UTF-8"?>
    <wareki>
    <data>
    <era_name>Heisei</era_name>
    <era_ryaku>H</era_ryaku>
    <era_start>19890108</era_start>
    <era_end>20190430</era_end>
    </data>
    <data>
    <era_name>Reiwa</era_name>
    <era_ryaku>R</era_ryaku>
    <era_start>20190501</era_start>
    <era_end></era_end>
    </data>
    </wareki>


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Xml.Linq;

    namespace ERA
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {

    DateTime dt = DateTime.Now;
    string era = getChangeEra(dt);

    }

    #region 西暦から和暦に変換する
    //************************************************
    // 和暦の形式(R1.5月)
    // 変換できない場合は空白とする
    //************************************************
    private static string getChangeEra(DateTime pDate)
    {

    string EraName;

    try
    {
    string wdate = pDate.ToString();

    // XML ロード
    var table = XDocument.Load(@"C:\era.xml").Element("wareki");

    string era_name = "";
    string era_ryaku = "";
    string era_start = "";
    string era_end = "";

    foreach (var row in table.Elements("data"))
    {
    era_name = row.Element("era_name").Value;
    era_ryaku = row.Element("era_ryaku").Value;
    era_start = row.Element("era_start").Value;
    era_end = row.Element("era_end").Value;
    }

    // 西暦から和暦の年を取得
    int era_year = pDate.Year - int.Parse(era_start.Substring(0, 4)) + 1;

    string era_month = pDate.Month.ToString();

    // 和暦へ変換
    EraName = era_ryaku + era_year.ToString() + "." + era_month + "月";

    }
    catch (FormatException)
    {
    EraName = "";
    }

    return EraName;

    }
    #endregion

    }
    }
親記事 /過去ログ157より / 関連記事表示
削除チェック/

■91267  Re[2]: XMLファイルから一致するデータを取得する方法
□投稿者/ 河童 -(2019/06/09(Sun) 23:05:40)
    Hongliang さん、お返事ありがとうございます。
    
    処理が混雑していますが、何とかできたと思います。
    
    和暦に変換する日付が、どの和暦の期間に入るかの
    判定と期間の終了日がないときの判定も併せると混乱してしまします。
    
    和暦略称が代入されたときを判定基準にしています。
    ・和暦期間の開始日と比較 
    ・和暦期間の終了日と比較
    
    比較時に和暦略称を代入したり、リセットしたりしています。
    
    もう少しわかりやすい処理や考え方あれば、勉強したいです。
    先生方はどのように処理されるのでしょうか。
    
    
    <?xml version="1.0" encoding="UTF-8"?>
    <wareki>
      <data>
        <era_name>Meiji</era_name>
        <era_ryaku>M</era_ryaku>
        <era_start>18680125</era_start>
        <era_end>19120729</era_end>
      </data>
      <data>
        <era_name>Taisho</era_name>
        <era_ryaku>T</era_ryaku>
        <era_start>19120730</era_start>
        <era_end>19261224</era_end>
      </data>
      <data>
        <era_name>Showa</era_name>
        <era_ryaku>S</era_ryaku>
        <era_start>19261225</era_start>
        <era_end>19890107</era_end>
      </data>
      <data>
        <era_name>Heisei</era_name>
        <era_ryaku>H</era_ryaku>
        <era_start>19890108</era_start>
        <era_end>20190430</era_end>
      </data>
      <data>
        <era_name>Reiwa</era_name>
        <era_ryaku>R</era_ryaku>
        <era_start>20190501</era_start>
        <era_end></era_end>
      </data>
    </wareki>
    
    
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Xml.Linq;
    
    namespace ERA
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
    
                //DateTime dt = DateTime.Now;
    
                string strTime = "1989/01/07 1:10:50";
                DateTime dt = DateTime.Parse(strTime);
    
                string era = getChangeEra(dt);
                
                
                MessageBox.Show(era, "和暦変換");
    
            }
    
            #region 西暦から和暦に変換する
            //************************************************
            // 和暦の形式(R1.5月)
            // 変換できない場合は空白とする
            // 明治元年(1868年1月25日)	明治45年(1912年7月29日)
            // 大正	元年(1912年7月30日)	15年(1926年12月24日)
            // 昭和	元年(1926年12月25日)	64年(1989年1月7日)
            // 平成	元年(1989年1月8日)	31年(2019年4月30日)
            // 令和 元年(2019年5月1日)	未定
            //************************************************
            private static string getChangeEra(DateTime pDate)
            {
    
                string EraName = "";
    
                try
                {
    
                    // 日時から日付のみ取得
                    DateTime wdate = pDate.Date;
    
                    // XML ロード
                    var table = XDocument.Load(@"C:\era.xml").Element("wareki");
    
                    string era_name = "";
                    string era_ryaku = "";
                    string era_start = "";
                    string era_end = "";
    
                    foreach (var row in table.Elements("data"))
                    {
                        // XMLのデータをセット
                        era_name = row.Element("era_name").Value;
                        era_ryaku = row.Element("era_ryaku").Value;
                        era_start = row.Element("era_start").Value;
                        era_end = row.Element("era_end").Value;
    
                        // 開始日が空白なら読み飛ばし
                        if (era_start != "")
                        {
                            DateTime? e_start = null; // Null許容型
                            // 和暦の開始日を日付型に変換
                            e_start = DateTime.ParseExact(era_start, "yyyyMMdd", null);
    
                            // 日付がera_start以上なら、和暦略称を代入
                            if (e_start <= wdate)
                            {
                                EraName = era_ryaku;
                            }
                            else
                            {
                                EraName = "";
                            }
                            
                            // 和暦の終了日の有無
                            DateTime? e_end = null; // Null許容型
                            if (era_end != "")
                            {
                                // 和暦の終了日を日付型に変換
                                e_end = DateTime.ParseExact(era_end, "yyyyMMdd", null);
    
                                // 日付がera_end以下なら、和暦略称を代入
                                if (e_end >= wdate)
                                {
                                    EraName = era_ryaku;
                                }
                                else // 日付がera_end以上なら、和暦略称をリセット
                                {
                                    EraName = "";
                                }
                            }
    
                        }
    
                        // 和暦略称が入力された場合は、繰り返し中断
                        if (EraName != "")
                        {
                            // 西暦から和暦の年を取得
                            int era_year = pDate.Year - int.Parse(era_start.Substring(0, 4)) + 1;
                            // 月を取得
                            string era_month = pDate.Month.ToString();
                            // 和暦へ変換
                            EraName = era_ryaku + era_year.ToString() + "." + era_month + "月";
    
                            break;
                        }
     
                    }
    
                }
                catch (FormatException)
                {
                    EraName = "";
                }
    
                return EraName;
    
            }
            #endregion
記事No.91261 のレス /過去ログ157より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -