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

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

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

全過去ログを検索

<< 0 >>
■38067  Re[5]: ファイル名を変える方法について
□投稿者/ .SHO -(2009/07/06(Mon) 17:52:35)
    >>"C:\Projects\VisualStudio2005\実習課題A\実習.txt"   という文字列から
    >>"C:\Projects\VisualStudio2005\実習課題A\実習(再).txt" という文字列の作り方がわからん
    >>ってことですか?
    >
    > 文字列のつくり方ではなく、フルパスから、ファイル名という一部の文字列だけを、
    > 変更し、新たなファイルのフルパスにする方法がわかりません。

    だから、同じことじゃん。。。orz
記事No.38060 のレス /過去ログ65より / 関連記事表示
削除チェック/

■39344  Re[2]: 自動ActiveSync同期後File Copy
□投稿者/ オショウ -(2009/08/06(Thu) 00:43:55)
    2009/08/06(Thu) 01:04:49 編集(投稿者)

    > 端末がないので実現できるか不安です・・・

      う〜んと・・・できたはずです。
      もうすっかり忘れてしまいました。

      http://soft.wince.ne.jp/soft/Lists/?CM=11

      ここに似た機能のソフトウェアが上がっているので
      ご参考までに!

      http://wince.goo.ne.jp/Dev/
      あと、こんなところもありますので、見てみて下さい。

    ※ WinCE FAN の掲示板、無くなった?!
      長らく見てなかったので・・・残念です。
      有用な掲示板だったのですが。

    以上。
記事No.39301 のレス /過去ログ68より / 関連記事表示
削除チェック/

■76822  C♯におけるキューについて
□投稿者/ やかん -(2015/08/21(Fri) 01:10:35)

    分類:[C#] 


    はじめまして、やかんといいます。

    キューついて、質問させてください。

    状況は、「あるキューに対して、Enqueueが出来るが、Countが0」ということはありますか?

    原因を考えた結果、各種宣言の仕方が原因なのかな?と思いました。

    ・クラスの宣言は以下の通りです。
    Cというクラスがあります
    public class C

    B(親)クラスから、Cクラスは以下のように宣言され、インスタンスが作られます。
    private static C c;
    ※最初のメソッドで
    c = new C();
    と設定してます。
    最初に呼び出されたときに、外部からデータを受信してキューにため込むスレッド、外部へ送信するスレッドを生成します。

    さらにBクラスは、Aクラスで以下のように宣言されます。
    private B b = new B();

    ・キューについて
    Cクラスの中に、
    private Queue<xxxx> RecvQue { get; set; } /*!< 受信キュー */
    というキューがあります。

    このキューは、Cクラスの中にCountというメソッドを作成し、それをBクラスから呼び出し、更にAクラスから呼び出せるようにしています。
    Enqueueをするのは、Cクラスで生成されたスレッド内で行われます。
    Dequeueをするのは、Cクラス内のメソッドです。(CountのようにAクラスから呼び出せます。)

    また、キューはCount、Dequeue、Enqueue、Clearを行う際はにlock(_lockobj){}で囲むようにしています。
    (_lockobjは、クラスCの頭に、private object _lockobj = new object();と宣言しています)
     →_lockobjはnetstreamのRead・Write時にも使用しています)

    ・現象について
    相手装置のROMを変更し、再接続を行った結果、何故か、Enqueueは出来るが、Countを行うと0が返され、Dequeue出来なくなってしまいました。
    (Countは、Aクラスが500msの周期で呼び出しています)
    もともとは、Enqueue、Count、Dequeueはバッチリ出来ていました。

    相手装置と再接続したら、キューのオブジェクトが変わったりして、countが0でDequeueが出来なくなったのでしょうか?

    どなたか、何かもし知っている事があれば、ご教示いただけないでしょうか?
    おねがいいたします><。
親記事 /過去ログ130より / 関連記事表示
削除チェック/

■87035  VB.NETでワイルドカードを使う方法
□投稿者/ とむやーそ -(2018/04/08(Sun) 12:35:45)

    分類:[.NET 全般] 


    例えば、

    D:\aaaa\bbbbフォルダーに入っている
    ccccで始まる全ファイルのパスを配列に格納したいとします。

    VBAだと


    Dim buf As String, f As Object
    buf = Dir(Path & "\cccc*")
    cnt = 0
    Do While buf <> ""
    filepath(cnt) = Path & "\" & buf
    cnt = cnt + 1
    buf = Dir()
    Loop

    のようにしてDir関数で取得できましたが
    これは古い方法だと思います。

    VB.NETだとどのようにして書くのが普通ですか?


    Dim fi As FileInfo
    For Each fi In dirInfo.GetFiles()

    If Left(fi.Name) = "cccc" Then

    cnt += 1
    filepath(cnt) = fi.fullName

    End If
    Next fi

    とやるのが普通でしょうか?




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

■87038  Re[1]: VB.NETでワイルドカードを使う方法
□投稿者/ 魔界の仮面弁士 -(2018/04/08(Sun) 13:49:52)
    2018/04/08(Sun) 15:03:16 編集(投稿者)

    No87035 (とむやーそ さん) に返信
    > D:\aaaa\bbbbフォルダーに入っている
    > ccccで始まる全ファイルのパスを配列に格納したいとします。
    bbbb の直下のみでよいのでしょうか。それとも子階層や孫階層までたどるのでしょうか。
    また、VB のバージョンは何でしょうか?

    DirectoryInfo の GetFiles メソッドは、引数として
    ワイルドカードを受け取れるようになっているはずですが、
    それでは駄目なのでしょうか?

    If 文でワイルドカード検索を行いたいという意味であれば、
     If fi.Name Like "cccc*" Then
    などという書き方もできます。VBA でもそうですよね。


    > Dim fi As FileInfo
    > For Each fi In dirInfo.GetFiles()
    それは VB.NET 2002 時代の古い書き方です。

    VB.NET 2003 以降においては、ループカウンタのスコープを狭めて
     For Each fi As FileInfo In dirInfo.GetFiles()
    と書けるようになっています。Dim fi As FileInfo という事前定義はしません。

    また、VB2008 以降では型推論が使えるようになったので、As 句を省略して
     For Each fi In dirInfo.GetFiles()
    と書けます。この fi は、このループ内でのみ利用可能な変数となります。


    > とやるのが普通でしょうか?
    一行で書けますよ。

    Dim files() As String = My.Computer.FileSystem.GetFiles("D:\aaaa\bbbb", FileIO.SearchOption.SearchAllSubDirectories, "cccc*").ToArray()


    > If Left(fi.Name) = "cccc" Then
    Left に「, 4」が足りないのでは?

    それにこれだと、Module から呼ぶときにはともかく、
    Form から呼ぶ場合、座標を表す Me.Left と競合してしまいます。

    この場合は、
     If fi.Name.StartsWith("cccc") Then
    とするのが良いでしょう。もしも Left で拾うなら、
     If Strings.Left(fi.Name, 4) = "cccc" Then
    のようにします。ちなみに Strings.Left という表現は VBA でも使えます。


    ただし、コンパイラの設定が「Option Compare Binary」になっている場合、
     ccccLemon.txt
    は拾えますが、
     cCcCpPqQ.txt
    は得られないことに注意してください。(Option Compare Text なら拾えますが)


    Option Compare Binary の時に、大文字小文字を無視して比較したいのであれば、
    fi.Name.ToLowerInvariant() に対して比較するか、
    StrComp の CompareText モードで検索するか、
    String の Equals メソッド で、StringComparison に 〜IgnoreCase を渡すなどします。
    正規表現を使うという手もあります。


    なお、全角アルファベットの場合、大文字小文字を区別するかどうかが
    OS によって異なりますので注意してください。

    たとえば "A.txt" と "a.txt" とでは、
    Windows 95 や Me では別のファイル名とみなされますが、
    Windows 10 や XP では同じファイル名として扱われます。
記事No.87035 のレス /過去ログ149より / 関連記事表示
削除チェック/

■87037  Re[1]: VB.NETでワイルドカードを使う方法
□投稿者/ WebSurfer -(2018/04/08(Sun) 13:39:31)
    No87035 (とむやーそ さん) に返信

    コードは中途半端に省略しないで、最低限定義不明な変数がないようにしていただけませんか?

    要するに .NET Framework に用意されている DirectoryInfo クラス、FileInfo クラスを使う
    という条件だけ考えればいいのですか?

    VB 独自の Left 関数に使用を避けるとか、配列ではなくて List<T> 型を使うということは考え
    なくてもいいのですか?
記事No.87035 のレス /過去ログ149より / 関連記事表示
削除チェック/

■87052  Re[2]: VB.NETでワイルドカードを使う方法
□投稿者/ BABAP -(2018/04/09(Mon) 13:57:50)
    2018/04/09(Mon) 13:58:37 編集(投稿者)

    No87037 (WebSurfer さん) に返信
    > ■No87035 (とむやーそ さん) に返信
    >
    > コードは中途半端に省略しないで、最低限定義不明な変数がないようにしていただけませんか?
    >
    > 要するに .NET Framework に用意されている DirectoryInfo クラス、FileInfo クラスを使う
    > という条件だけ考えればいいのですか?
    >
    > VB 独自の Left 関数に使用を避けるとか、配列ではなくて List<T> 型を使うということは考え
    > なくてもいいのですか?


    この書き込みはナンセンスです。
    VBAとVB.netを理解している人であれば、定義不明な変数があっても
    書き込みの内容で質問は十分伝わります。
    相手が求めることを汲み取るスキルがないのでしょうが、
    それは回答者として大いに問題だと思います。
    何でもレスを付ければいいというものではありません。

    まぁ、弁士さんの回答で本件は解決しているようですが。
記事No.87035 のレス /過去ログ149より / 関連記事表示
削除チェック/

■87054  Re[3]: VB.NETでワイルドカードを使う方法
□投稿者/ とむやーそ -(2018/04/09(Mon) 15:58:13)
    ありがとうございます。
    解決しました。
     
記事No.87035 のレス / END /過去ログ149より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -