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

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

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

全過去ログを検索

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 >>
■72731  Re[6]: .NetからのPDFファイルのダイレクト印刷
□投稿者/ PANG2 -(2014/07/09(Wed) 11:30:26)
記事No.72697 のレス /過去ログ121より / 関連記事表示
削除チェック/

■74167  Re[9]: USBカメラから画像を読み込みについて
□投稿者/ とっちゃん -(2014/12/04(Thu) 14:05:00)
>
    No74163 (いち さん) に返信
    >>>>で、F10でステップ実行していれば問題はないということは、そうではない場合はこのループのどこかで例外が発生する
    >>>>ということですか?
    > >>while( 1 ){ ... }内をコメントをして、そこから1行だけコメントしないで順番に、実行した所、以下の部分でハンドルエラーで出ました。
    > >>cv::imshow(windowNameCapture, frameImage);
    > >>
    >>同じ frameImage を使って、cv::imshow() を連続的に呼び出したらエラーが発生したということでしょうか?
    > 連続的ではなく、1回目から、エラーが出ました。
    >
    ここは、動くソースが手に入ったようなのでとりあえずOKかな?


    >
    >>ごく簡単なものでいいので、デバッグのやり方などが載っている書籍などを探して読んでみるとよいと思います。
    >>あと、勉強会や、カンファレンスなどのセッション資料は教科書とは違い、かいつまんで画面に載せたものが大半です。
    >>もちろんそうではない場合もありますが...
    > この本はどうでしょうか?なんとなく、初心者には敷居が高いイメージです、、、
    > -----実践デバッグ技法 [書籍]オライリー・ジャパンISBN: 4873114063
    >
    この本、結構難しいことが書いてませんか?
    最後の一歩(仕事でもめったに踏み込まないような領域)とは言いませんが、なかなか踏み込まない領域の話も出てた記憶が。。。

    現状IDEの使い方(主にデバッガとしての部分)がよくわからないという状況みたいなので
    まずは本当の意味での入門書的なものを読んでみるところから始めてみるので十分ではないかと思います。


    >>もし、違いがわからないようなら、まずは参考ページにあるソースコードを丸ごとコピー&ペーストして実行してみてください。
    > 今まで作成していたプロジェクトではエラーが出たので、新規プロジェクトにソースコードを丸ごとコピー&ペーストをしたら動きました、、、(何か設定がおかしかったのでしょうか?
    >
    このスレの最初にあったソースを丸ごとコピーしたわけではなくて、■No74159 のソースだとうごいたということですよね?

    コンパイルエラーはコンパイル時にわかりますが、実行時のエラーは実行するまでわかりません。
    実行した結果エラーが出るという場合、エラーが出ない条件はなにか?を探し出すというデバッグ方法もありますが
    今回のような事例だと、動いているコードとの違いを調べたほうがずっと効率よく原因を絞り込めると思います。

    まずは、動いているソースコードと動かないソースコードで何が違っているのか?から調べてみてはいかがでしょう?


    >
    >>ステップ実行は、1行ずつ停止するので、プログラム的にはそれぞれの呼び出しにそれなりの時間がかかっていることになります。
    >>ですが、一気に実行すると途中で停止しないため、ごくごく短時間で処理が行われることになります。
    >>
    >>そのあたりはチェック項目としては、重要なポイントといえます。
    > リリース時に、エラーが出るので、チェック項目として重要なポイントなのでしょうか?
    >
    今回のように時間の概念がある動作においては、ステップ実行したら問題がない(逆もある)とか
    デバッグ版だと問題がないがリリース版だと問題が出るなんて言うのは割とよくあることの一つです。

    ただし、必ずしもそれが重要というわけではありません。あくまでもステップすることで変化する何かが
    影響するような状況の場合。。。というだけですのでご注意を。
記事No.74104 のレス /過去ログ124より / 関連記事表示
削除チェック/

■74163  Re[8]: USBカメラから画像を読み込みについて
□投稿者/ いち -(2014/12/04(Thu) 11:31:09)
    No74158 (とっちゃん さん) に返信
    とっちゃん 様、返信ありがとうございます。

    > >>で、F10でステップ実行していれば問題はないということは、そうではない場合はこのループのどこかで例外が発生する
    > >>ということですか?
    >>while( 1 ){ ... }内をコメントをして、そこから1行だけコメントしないで順番に、実行した所、以下の部分でハンドルエラーで出ました。
    >>cv::imshow(windowNameCapture, frameImage);
    >>
    > 同じ frameImage を使って、cv::imshow() を連続的に呼び出したらエラーが発生したということでしょうか?
    連続的ではなく、1回目から、エラーが出ました。


    > ごく簡単なものでいいので、デバッグのやり方などが載っている書籍などを探して読んでみるとよいと思います。
    > あと、勉強会や、カンファレンスなどのセッション資料は教科書とは違い、かいつまんで画面に載せたものが大半です。
    > もちろんそうではない場合もありますが...
    この本はどうでしょうか?なんとなく、初心者には敷居が高いイメージです、、、
    -----実践デバッグ技法 [書籍]オライリー・ジャパンISBN: 4873114063

    > もし、違いがわからないようなら、まずは参考ページにあるソースコードを丸ごとコピー&ペーストして実行してみてください。
    今まで作成していたプロジェクトではエラーが出たので、新規プロジェクトにソースコードを丸ごとコピー&ペーストをしたら動きました、、、(何か設定がおかしかったのでしょうか?


    > ステップ実行は、1行ずつ停止するので、プログラム的にはそれぞれの呼び出しにそれなりの時間がかかっていることになります。
    > ですが、一気に実行すると途中で停止しないため、ごくごく短時間で処理が行われることになります。
    >
    > そのあたりはチェック項目としては、重要なポイントといえます。
    リリース時に、エラーが出るので、チェック項目として重要なポイントなのでしょうか?
記事No.74104 のレス /過去ログ124より / 関連記事表示
削除チェック/

■74635  Re[3]: 二つのプログラム合成
□投稿者/ Azulean -(2015/01/17(Sat) 18:35:49)
    No74634 (べっく さん) に返信
    > Form や CommandButton という名前を自分で付けなおしてますが、二つのプロジェクトでダブってます。

    クラス名が重複するという状況において、なるべく修正したくないとなると、それなりに知識・応用力が求められます。
    2つ以上のプロジェクトを設けた上で1つのアプリケーション(EXE)にする(1つ以上をクラスライブラリプロジェクト(DLL)にする)、2プロジェクト以上を保有するソリューションを作ることになるためです。
    これは、VB.NET がプロジェクトで1つの名前空間となる関係上、それぞれのクラスに名前空間を個別に設定すると言った修正なくして、1プロジェクトにまとめることは難しいためです。

    また、プロジェクトを2つ以上に分割する以上、プロジェクト1がプロジェクト2を見て、プロジェクト2もプロジェクト1を見るという相互参照にはできません。
    一方を主、他方を従といった関係にするか、情報を仲介する第3の存在を用意するかといった、設計・実装スキルが求められることになります。


    名前空間・プロジェクト・ソリューションという構造の概念をうまく理解できない、あるいは設計・実装スキルに自信がない場合はこの機会に勉強していただくか、あきらめて名前を変えていっていただくしかないことになります。
記事No.74632 のレス /過去ログ125より / 関連記事表示
削除チェック/

■74873  Re[4]: WebDAVサーバーファイルアップロードのエラー
□投稿者/ れい -(2015/02/04(Wed) 22:45:11)
    No74871 (DSC渡邊 さん) に返信
    > 大きなデータをアップロードする際の注意点について書かれたURLを見つけて、そこには「AlowWriteStreamBuffering プロパティに Falseを設定して認証機能と共に利用すると 「この要求には、データのバッファが必要です」というエラーが発生する 」と書かれていましたが…
    
    それは認証方式、AllowAutoRedirect、ContentLength、SendChunked等の設定によります。
    プロトコル上、「長さ」の送信が必要になる場合と「再送」する可能性がある場合にバッファリングが必要になります。
    
    > 結局、何が原因でアップロードエラーが発生したのか、はっきりしませんでした。
    
    認証方式を書いていないのでわかりませんが、
    設定を一切いじっていないということであればNTLMかKerberos等の接続指向の認証プロトコルを使っていたのではないですか?
    通常HTTPはリクエスト毎に認証しますが、これらはTCP接続単位で認証するため、他の接続の影響を受けます。
    
    認証用の空PUTはRFCに軽く述べられていますが、"Allow: PUT"とヘッダーを送り、書き込みたいURLと同じURLを使うべきです。
    また、リダイレクトが発生することも考慮し、2回目のPUTではURLを書き換えておかなければなりません。
    サーバーによってはセッションを保持しなければいけない場合もあります。
    その他いくつかオマジナイを入れ、下記のようなコードがよいでしょう。(動作未確認ですが。
    
            Dim fileToUpload As String 
            Dim fileLength As Long 
            Dim url As Uri
            Dim nc As New NetworkCredential(ユーザー名, パスワード)
            Dim cc As New CookieContainer 'for tracking session
            Dim request As HttpWebRequest
            '空ファイルPUT
            fileToUpload = アップロードしたい大容量ファイルのフルパス
            Using fs As New IO.FileStream(fileToUpload, IO.FileMode.Open, IO.FileAccess.Read)
                fileLength = fs.Length
                url = New Uri(サーバーのURL, "/" & サーバーのアップロード先フォルダ & IO.Path.GetFileName(fileToUpload))
    
                request = DirectCast(System.Net.HttpWebRequest.Create(url), HttpWebRequest)
                request.Method = WebRequestMethods.Http.Put
                request.UnsafeAuthenticatedConnectionSharing = True 'for Nego/NTLM/Kerberos
                request.KeepAlive = True
                request.Headers.Add(HttpRequestHeader.Allow, "PUT") ' for EmptyPUT
                request.AllowWriteStreamBuffering = True
                request.PreAuthenticate = True
                request.Headers.Add("Translate: f") ' for IIS
                request.Credentials = nc
                request.CookieContainer = cc
                Using res As HttpWebResponse = request.GetResponse()
                    url = res.ResponseUri
                End Using
    
                request = DirectCast(System.Net.HttpWebRequest.Create(url), HttpWebRequest)
                request.Method = WebRequestMethods.Http.Put
                request.UnsafeAuthenticatedConnectionSharing = True
                request.KeepAlive = True
                request.ContentLength = fileLength
                request.SendChunked = True
                request.AllowWriteStreamBuffering = False 'no-buffering
                request.PreAuthenticate = True ' for sharing auth info
                request.AllowAutoRedirect = False
                request.Headers.Add("Translate: f")
                request.Credentials = nc
                request.CookieContainer = cc
    
                Using reqst As IO.Stream = request.GetRequestStream()
                    Dim buf As Byte() = New Byte(64 * 1024 - 1) {}
                    Dim r As Byte
                    While True
                        r = fs.Read(buf, 0, buf.Length)
                        If r = 0 Then Exit While
                        reqst.Write(buf, 0, r)
                    End While
                End Using
            End Using
    
            Dim code As HttpStatusCode
            Using response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
                code = response.StatusCode
                If code >= 300 AndAlso code < 400 Then Throw New Exception
            End Using
    
記事No.74767 のレス /過去ログ126より / 関連記事表示
削除チェック/

■74877  Re[5]: WebDAVサーバーファイルアップロードのエラー
□投稿者/ DSC渡邊 -(2015/02/05(Thu) 09:57:34)
>
    No74873 (れい さん) に返信
    
    懇切丁寧な説明ありがとうございます。助かります。
    
    教えて下さったコードは早速参考にさせていただきました。
    ただ、「 request.UnsafeAuthenticatedConnectionSharing = True 」  にすると「転送接続にデータを書き込めません」というエラーが発生しました。
    どうやら、サーバーの認証プロトコルはNTLMかKerberos等ではないようです。
    
    最終的には以下のようなソースコードでアップロードに成功しました。
    −−−−−−−−−−−−−−−−
    
                Dim fileToUpload As String
                Dim fileLength As Long
                Dim url As Uri
                Dim nc As New NetworkCredential(ユーザー名, パスワード)
                Dim cc As New CookieContainer 'for tracking session
                Dim request As HttpWebRequest
    
                '空ファイルPUT
                fileToUpload = アップロード元ファイルのフルパス
                Using fs As New IO.FileStream(fileToUpload, IO.FileMode.Open, IO.FileAccess.Read)
                    fileLength = fs.Length
                    url = New Uri(サーバーのURL & "/" & サーバーのアップロード先フォルダ & IO.Path.GetFileName(fileToUpload))
                    request = DirectCast(System.Net.HttpWebRequest.Create(url), HttpWebRequest)
                    request.Method = WebRequestMethods.Http.Put
                    request.Headers.Add(HttpRequestHeader.Allow, "PUT") ' for EmptyPUT
                    request.AllowWriteStreamBuffering = True
                    request.PreAuthenticate = True
                    request.Headers.Add("Translate: f") ' for IIS
                    request.Credentials = nc
                    request.CookieContainer = cc
                    request.ContentLength = 0
                    Using res As HttpWebResponse = request.GetResponse()
                        url = res.ResponseUri
                    End Using
    
                    request = DirectCast(System.Net.HttpWebRequest.Create(url), HttpWebRequest)
                    request.Method = WebRequestMethods.Http.Put
                    request.ContentLength = fileLength
                    request.SendChunked = False
                    request.AllowWriteStreamBuffering = False 'no-buffering
                    request.PreAuthenticate = True ' for sharing auth info
                    request.AllowAutoRedirect = False
                    request.Headers.Add("Translate: f")
                    request.Credentials = nc
                    request.CookieContainer = cc
                    request.Timeout = 600000               ''タイムアウト600秒
                    Using reqst As IO.Stream = request.GetRequestStream()
                        Dim bytes(102400 - 1) As Byte
                        Dim bytesRead As Integer = 0
                        Dim totalBytesRead As Long = 0
                        Do
                            bytesRead = fs.Read(bytes, 0, bytes.Length)
                            If bytesRead > 0 Then
                                totalBytesRead += bytesRead
                                reqst.Write(bytes, 0, bytesRead)
                            End If
                        Loop While bytesRead > 0
                    End Using
                End Using
    
                Dim code As HttpStatusCode
                Using response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
                    code = response.StatusCode
                    If code >= 300 AndAlso code < 400 Then Throw New Exception
                End Using
    
    −−−−−−−−−−−−−−−−
    
    処理効率も良くなったようで、昨日の800MBのファイルで2分程かかったアップロード時間が1分30秒を切るようになりました。
    
    本当にありがとうございました。
    
記事No.74767 のレス / END /過去ログ126より / 関連記事表示
削除チェック/

■75833  Re[1]: クラスの依存関係について VB.NET
□投稿者/ Jitta -(2015/05/07(Thu) 19:34:33)
    No75750 (kouei3 さん) に返信
    > そうすると、データーベース管理クラスへの依存がかなり強まり

    何が、どういう状態である事を、依存が強いと考えていらっしゃるのでしょう?
    書かれていることからは、データベース管理クラスを各サブシステムが知っている状態を
    強い依存と捉えていらっしゃるように思われます。
    それを、どうしたいと考えていますか?
    つまり、クラスをしっているのはダメ、インターフェイスならイイのですか?
    それとも、すべてのサブシステムから要望を上げ、要望を汲み取る様な実装にしたいのでしょうか?
記事No.75750 のレス /過去ログ128より / 関連記事表示
削除チェック/

■76298  Re[5]: ASP.NET(4.0) 複数選択可なListBoxにおいて
□投稿者/ WebSurfer -(2015/06/21(Sun) 16:55:33)
    No76296 (まー さん) に返信

    すみません、レスが前後して解決済みマークが外れてしまいました。

    ついでに、

    > (listBoxの挙動ですか。検索の仕方が駄目だったのか、その辺りの情報が全くありませんでした......

    ListBox の挙動というわけではなく、ListBox は <select name="ListBox1" multiple="multiple" ...
    という HTML にレンダリングされますが、ブラウザでアイテムを選択して submit したとき、どういう情
    報がサーバーに送信されるかというもっとプリミティブなところです。

    興味があれば IE の F12 開発者ツールや Fiddler2 などでブラウザと Web サーバーのやり取りをキャプ
    チャして中身を見るといいと思います。
記事No.76285 のレス / END /過去ログ128より / 関連記事表示
削除チェック/

■78145  Re[6]: 演算について(C#)
□投稿者/ タカタ -(2015/12/17(Thu) 13:01:13)
    魔界の仮面弁士さん、 みいさん、ご回答有難う御座います。

    >ループ内で、変数 i や Time の値を書き換えたりはしていませんか?
    ループ内で変数i や Timeは変えておりません。

    > Yの値はループの中で見ていますか?
    > それともループを抜けた後ですか?
    Yの値はループを抜けた後で見ております。


    プログラムの概要としては、

    変数 Time のときの X を計算する定義式を記載(
     ・
     ・
     ・
    Xの結果を表示する定義文

    float Y = 0;
    for (int i=1; i<=Time; i++)
    {
    Y += X;
    }

    Yの値を表示する定義文

    といった感じです。


    Timeを1ずつ増やして 360 まで計算させています。
    Timeを1ずつ増やして 360 まで繰り返して Xの積算を Y にする、という文をしているつもりですが、、、
    for文のi という変数を設ける意味があまり分かっていませんが、初期値みたいなものでしょうか。
記事No.77967 のレス /過去ログ132より / 関連記事表示
削除チェック/

■81136  Re[1]: 印刷プレビューと印刷の方法について
□投稿者/ 魔界の仮面弁士 -(2016/08/30(Tue) 18:18:51)
    No81116 (グラ さん) に返信
    > もしくは、1つのコードで印刷の時もプレビューの時も同じにする方法があるのでしょうか?

    OriginAtMargins プロパティを、true にしてみるのは如何でしょう。
    これで、プレビュー時にも余白が表示されるようになり、
    印刷結果とプレビュー結果が近いイメージになると思います。

    printDocument1.OriginAtMargins = true;

    OriginAtMargins を true にしても
    e.Graphics.VisibleClipBounds.Size は変わりませんが、
    e.Graphics.VisibleClipBounds.Location は異なります。


    ただ、OriginAtMargins を変更したとしても、プレビュー画面では
    ハードマージンまでは考慮されません。そこまで調整する場合は、
    ((PrintDocument)sender).PrintController.IsPreview に応じて、
    e.PageSettings.HardMarginX | .HardMarginY の分だけ
    e.Graphics.TranslateTransform するなどして調整してみてください。
記事No.81116 のレス /過去ログ138より / 関連記事表示
削除チェック/

■82874  WPFのリボンでWord2013でのスタイル型の表示方法
□投稿者/ まぐねしうむ -(2017/02/17(Fri) 12:42:06)

    分類:[C#] 

    VS2015 .NET4.6
    WPF上でWord2013での「ホーム」タブ内「スタイル」のような形のインターフェイスを実現しようとしております。
    (アイテムが列挙されていて、どれを選択しているか分かる状態)

    中の要素はRibbonGalleryを使用して実現できたのですが、タブグループ上にイメージを表示する方法が
    分かりません。


    RibbonComboBoxやRibbonMenuButtonを使用してみたのですが、Wordのような形とならず
    おそらくこの部分をなんらかのリボンコントロールに置き換えればよいと思うのですが、使用すべき
    コントロールが分かりません
    どなたか、参考となるページ等を教えていただけないでしょうか?

    よろしくおねがいします。

    ◆XAML当該部抜粋

    <RibbonGroup x:Name="DocumentTemplate" Header="テンプレート">
    <RibbonComboBox SelectionBoxWidth="120" Height="80" >

    <RibbonGallery MinColumnCount="3">
    <RibbonGalleryCategory Header="テンプレート">
    <Image Source="/Images/Ribon/image.png" Width="100" Height="60" />
    <Image Source="/Images/Ribon/image.png" Width="100" Height="60" />
    <Image Source="/Images/Ribon/image.png" Width="100" Height="60" />
    <Image Source="/Images/Ribon/image.png" Width="100" Height="60" />
    <Image Source="/Images/Ribon/image.png" Width="100" Height="60" />
    <Image Source="/Images/Ribon/image.png" Width="100" Height="60" />
    </RibbonGalleryCategory>

    </RibbonGallery>
    </RibbonComboBox>
    </RibbonGroup>
親記事 /過去ログ141より / 関連記事表示
削除チェック/

■82882  asmxでUserAgentが取得できない
□投稿者/ UNO -(2017/02/17(Fri) 16:10:49)

    分類:[.NET 全般] 

    VS2015、asmxでWebServiceを作成しています。
    表題の通りasmx側でUserAgentが取得できません。
    Context.Request.UserAgentではnothingがかえってきました。
    aspxであればRequest.UserAgentで取得できるのですが、、、
親記事 /過去ログ141より / 関連記事表示
削除チェック/

■82885  Re[1]: asmxでUserAgentが取得できない
□投稿者/ WebSurfer -(2017/02/17(Fri) 16:41:57)
    No82882 (UNO さん) に返信
    
    HttpContext.Current.Request.UserAgent で取得できませんか?
    
    一応下記のコードでデバッグ実行して検証してみましたが、変数 ua に User Agent 
    を取得できるのは確認できました。
    
    <%@ WebService Language="C#" Class="_0197_WebServiceSession" %>
    
    using System;
    using System.Web;
    using System.Web.Services;
    using System.Web.Services.Protocols;
    
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.Web.Script.Services.ScriptService]
    public class _0197_WebServiceSession  : System.Web.Services.WebService {
    
        [WebMethod(Description = "Per session Hit Counter", EnableSession = true)]
        public int SessionHitCounter()
        {
            string ua = HttpContext.Current.Request.UserAgent;  // ←ここ
            if (Session["HitCounter"] == null)
            {
                Session["HitCounter"] = 1;
            }
            else
            {
                Session["HitCounter"] = ((int)Session["HitCounter"]) + 1;
            }
            return ((int)Session["HitCounter"]);
        }    
    }
記事No.82882 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82884  Re[1]: asmxでUserAgentが取得できない
□投稿者/ PANG2 -(2017/02/17(Fri) 16:37:56)
記事No.82882 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82887  Re[2]: asmxでUserAgentが取得できない
□投稿者/ UNO -(2017/02/17(Fri) 17:16:51)
    ありがとうございます。
    いただいた情報を基に試行錯誤しています。

    PANG2さん、WebSurferさん>
    asmxのurlを直接たたくとHttpContext.Current.Request.UserAgentで取得できていました。
    別ページtest.aspxからjavascriptでtest.asmxをコールしたときはUserAgentは取得できていました。
    別ページtest.aspxからvbコード上でHttpWebRequestを利用しtest.asmxをコールしたときはUserAgentはnothingでした。

    PANG2さんのおっしゃる通りクライアントアプリでUserAgentは送信していないことが原因と思います。
    もう少し調査してみたいと思います。

記事No.82882 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82891  Re[3]: asmxでUserAgentが取得できない
□投稿者/ WebSurfer -(2017/02/17(Fri) 18:17:35)
    No82887 (UNO さん) に返信

    > 別ページtest.aspxからvbコード上でHttpWebRequestを利用しtest.asmxをコールしたときはUserAgentはnothingでした。

    HttpWebRequest では User Agent は送られないのでは?

    Fiddler を使って要求ヘッダを調べてみてはいかが? 相手が localhost でなければ HttpWebRequest を使った場合
    でもキャプチャできると思います。

    Fiddler のお勧め
    http://surferonwww.info/BlogEngine/post/2011/05/25/Recommendation-of-Fiddler.aspx
記事No.82882 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82892  Re[3]: asmxでUserAgentが取得できない
□投稿者/ WebSurfer -(2017/02/17(Fri) 18:24:34)
記事No.82882 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82875  長いパス名のファイルをリネーム、削除する方法
□投稿者/ がもう -(2017/02/17(Fri) 12:44:26)

    分類:[.NET 全般] 

    VB.NETで、.net frameworkを使うと
    260文字以上のパス名を扱うことができません。

    http://lightbox.matrix.jp/ginpro/patio.cgi?mode=view&no=76

    このページにあるように
    APIのFindFirstFileやFindNextFileを使って
    長いファイルパスのパス名を取得するコードを作りました

    あとは、リネーム、削除を行いたいのですが
    どのようなコードを使えば良いですか?



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

■82876  Re[1]: 長いパス名のファイルをリネーム、削除する方法
□投稿者/ 魔界の仮面弁士 -(2017/02/17(Fri) 13:36:51)
    No82875 (がもう さん) に返信
    > あとは、リネーム、削除を行いたいのですが
    > どのようなコードを使えば良いですか?

    リネームは MoveFileW API、削除は DeleteFileW API です。
    "\\?\" プレフィックスのパスを使うことで、MAX_PATH (260)の制限を回避できます。
記事No.82875 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82877  Re[2]: 長いパス名のファイルをリネーム、削除する方法
□投稿者/ がもう -(2017/02/17(Fri) 13:53:06)
    ありがとうございます。
    うまくいきました。

    ところで、もう一つ質問があります
    http://macro-excel-vba.blogspot.jp/2015/06/dir.html

    このページにあるようにDir関数では、
    256文字以上のファイルパスを取得することができないはずです。
    しかし私の環境では260文字であっても普通に取得することができます。

    これはVB.NETとVBAの仕様の違いなのでしょうか?
記事No.82875 のレス /過去ログ141より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 >>

パスワード/

- Child Tree -