[過去ログ] ふらっと C#,C♯,C#(初心者用) Part141 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
515: (アウアウエー Sa7f-S1Ul) 2019/02/04(月)15:54 ID:AKeTBC2ia(2/2) AAS
テキストボックスの上に後付けでボタン配置したので、ポインタずれて押しそこなった時にそんな感じになってしまったのです
まあ動作的にはなんの問題もないのではあるけど>>513のイベントハンドラ作ってみます
ありがとうございました
516(1): (ワッチョイ 7f4b-ordn) 2019/02/05(火)08:55 ID:3J1ruy+d0(1/2) AAS
rar5をオンメモリで解凍、ストリーム取得できるライブラリは無いですか?
517: (ワッチョイ 7f47-XV7K) 2019/02/05(火)10:59 ID:svez8hxC0(1/3) AAS
>>516
sharpcompressでそれっぽいことできてるな
外部リンク:www.nuget.org
外部リンク[cs]:github.com
518: (ワッチョイ 7f47-XV7K) 2019/02/05(火)11:07 ID:svez8hxC0(2/3) AAS
すまんrar5は未対応みたいなこと言ってるわ
519(1): (ワッチョイ 7f47-XV7K) 2019/02/05(火)11:21 ID:svez8hxC0(3/3) AAS
ほんならこっち
7z.dllのラッパー
外部リンク:www.nuget.org
外部リンク[md]:github.com
520(1): (ワッチョイ 5fba-+Svn) 2019/02/05(火)12:48 ID:cT2SE72s0(1/2) AAS
web上の画像をダウンロードせずに
高さと幅を取得する方法があれば教えてください
521: (ワッチョイ 7fa5-qf6r) 2019/02/05(火)13:03 ID:GPC4C0Pm0(1) AAS
電話で聞く
522(1): (ワッチョイ 7f32-qf6r) 2019/02/05(火)13:37 ID:RjbzZp8x0(1) AAS
>>520
先頭だけ取得して解析するくらいが関の山じゃない?
外部リンク:developer.mozilla.org
523: (ワッチョイ 5fba-+Svn) 2019/02/05(火)15:25 ID:cT2SE72s0(2/2) AAS
>>522
ありがとうございました
524: (ワッチョイ 7f4b-ordn) 2019/02/05(火)15:40 ID:3J1ruy+d0(2/2) AAS
>>519
回答ありがとうございます。
SevenZipExtractorですが、プロジェクトにNugetで取り込んでも正常に認識してくれず使えませんでした。
SharpCompressですが、(まだファイルの一覧だけしか試していませんが)RAR5での圧縮ファイルを扱えました。
SharpCompressは前に使っていたことがあるので(当時はRAR5が使えなかった)、こちらを使おうと思います。
525(1): (ワントンキン MMdf-7pVy) 2019/02/05(火)17:04 ID:CPjaAgWSM(1) AAS
vs2013なんですけど、バーコードを作るメジャーな方法って何があるでしょうか?無料がいいです。
526: (ワッチョイ 5fae-kMzi) 2019/02/05(火)17:23 ID:jB1piIf60(1) AAS
無料ならGPLv3でもええんか
527: (アウウィフ FFa3-zGAl) 2019/02/05(火)17:28 ID:dQJUt0gZF(1) AAS
ライブラリいっぱいあるで
528: (スププ Sd9f-XV7K) 2019/02/05(火)18:20 ID:C5l7MRqld(1) AAS
>>525
メジャーなのはZXing
529: (ワッチョイ ff2c-Qmko) 2019/02/05(火)21:05 ID:XsUhL+1b0(1) AAS
何かライブラリ無いかなと思ったらまずNuGet見てみる
530(2): (スップ Sd1f-DeEq) 2019/02/06(水)12:34 ID:ymLQaaTBd(1/3) AAS
C#で書いたコードをVBAから呼び出す際のC#でのやり方を教えてください。
例えば、MessageBoxで「Hello!」と表示するには何をどうすれば出来ますか?
使ってるのはVisualStudio2017です。
531: (スップ Sd1f-DeEq) 2019/02/06(水)12:38 ID:ymLQaaTBd(2/3) AAS
>>530
引数でHelloを持ちかえる方法です。
532: (ブーイモ MM9f-3dyC) 2019/02/06(水)13:05 ID:pq3DhSMgM(1) AAS
日本語でOK!
533(1): (ワッチョイ 5f17-vS77) 2019/02/06(水)13:11 ID:/72vyC150(1) AAS
>>530
ググレカス
C#で実装したコードをVBAとかVBから使う方法 : 実験ぶろぐ(仮)試供品
外部リンク:needtec.exblog.jp
534(1): (ワッチョイ dfe8-1Xap) 2019/02/06(水)16:15 ID:sqv9vum40(1) AAS
外部リンク:gist.github.com
上記サイトのIniFileクラスでBufferExpandingSizeを小さくしてから
GetSectionNamesを呼び出すとループ2回目のGetPrivateProfileString呼び出しのタイミングで
例外も発生せずにプログラムが異常終了してしまうのですが何が問題なんでしょうか?
535(1): (スップ Sd1f-DeEq) 2019/02/06(水)18:20 ID:ymLQaaTBd(3/3) AAS
>>533
書いてるコードの意味がよくわからないので単純なコードが知りたいんです。
536: (ササクッテロレ Spb3-MXrN) 2019/02/06(水)18:30 ID:1DcU3Gnhp(1) AAS
コードコピペして自分の使ってるクラスに直せば出来ると思うけど
インターフェース作ってなければクラスから作って置き換えればサンプルコード通りに動くはず
537: (アウアウウー Saa3-LWaQ) 2019/02/06(水)18:54 ID:cXGNS95ra(1) AAS
>>535
C# メインルーチンからメッセージボックスを表示
VBA shellを使って↑を起動
538(1): (ワッチョイ ff2c-IxnT) 2019/02/06(水)21:20 ID:SSakxrcH0(1) AAS
>>534
GetPrivateProfileStringの定義がCharSet.Unicode指定してるから
第5引数のnSizeはwchar_tの個数を指すことになる
wchar_tは2バイトだからnSizeに16指定したらlpReturnedStringは32バイトあることになる
でも実際にはその半分の16バイトしか確保してないから
GetPrivateProfileStringが17バイト目以降に書き込もうとしてヒープ破損する
539: (ワッチョイ a1e8-7AZF) 2019/02/07(木)10:39 ID:BTY8+ybz0(1) AAS
>>538
文字セットのことがすっかり頭から抜けてました
WinAPIを使うなら真っ先に気を付けないといけない部分なのになあ
・ReAllocCoTaskMemで確保するサイズをlength*2に変更
・GetPrivateStringのCharSetをAnsiに変更、文字列への変換をPtrToStringAnsiに変更
上記2通りの修正でどちらも正常動作することが確認できました
回答ありがとうございました
540(1): (スップ Sd82-Q5xa) 2019/02/07(木)18:21 ID:yK9ubdQXd(1/2) AAS
VS2017使用。
ADOを使ってエクセルのシート名を読んだりセルのデータを読み取りたい。
対象エクセルブックは〇〇.xlsのみ
ネットのサンプルコードをコピペして使ってもエラーでさっぱりです。
何かインストールが必要なんですか?それとも参照設定とか必要なんですかね?
なんか雛形のコードでもあればいただけませんか?
541: (ワッチョイ 7d17-feI+) 2019/02/07(木)19:01 ID:l2uiBAtS0(1) AAS
具体的にどのサイトのコードを試したら
どんなエラーメッセージが出たのかを書いてくれ
542: (スップ Sd82-Q5xa) 2019/02/07(木)19:28 ID:yK9ubdQXd(2/2) AAS
外部リンク:qiita.com
このサイトの下のコードです。
adp.Fill(dt);←ここでエラーです。
return dt;
}
今パソコンから離れたのでエラー内容は忘れましたが何かがないぞみたいな感じでした。
543(2): (ワッチョイ a9e3-feI+) 2019/02/07(木)20:24 ID:3NiqE0/P0(1) AAS
>>540
外部リンク[php]:csharp.keicode.com
これじゃあかんの?
544: (ワッチョイ 911f-Q5xa) 2019/02/07(木)21:34 ID:FLUWNW3J0(1/2) AAS
>>543
これも明日試してみます。
でもいろいろとコードの引き出しがあったらいいなって
545(1): (ワッチョイ 911f-Q5xa) 2019/02/07(木)21:37 ID:FLUWNW3J0(2/2) AAS
>>543
速度はどうなんですか?早いですか?
546: (ワッチョイ 2d61-umi9) 2019/02/07(木)22:02 ID:O0GaOve00(1/2) AAS
>>545
ウゼェ、やる気がねーなら
エロゲでもやってろ
547(1): (ワッチョイ a1f0-38JT) 2019/02/07(木)22:23 ID:iyj2o48P0(1) AAS
こんばんはよければ教えてください
c#で社内用のソフトをしこしこ作っているものなのですが、同じ境遇の方ヘルプファイルはどの形式で
作っていますか? chmファイルは今時便利なツールもないので作りにくいのですが、pdfではなんか味気ない
今回新たなソフトを社内でリリースするので悩んでいます。
あ、ちっちゃい会社です。
548(1): (ワッチョイ 6ef2-Yfay) 2019/02/07(木)22:28 ID:CKGjxJfq0(1) AAS
もしかしてc#全く関係ない話?
549: (ワッチョイ cd0c-feI+) 2019/02/07(木)22:35 ID:VZhzokSX0(1) AAS
> pdfではなんか味気ない
その謎の価値観を改めればすべて解決です
550: (スププ Sd22-WCNk) 2019/02/07(木)23:39 ID:Q7Nq6LQdd(1/2) AAS
>>547
sandcastleでchmやHTMLのヘルプを簡単に生成できるよ
551: (スププ Sd22-WCNk) 2019/02/07(木)23:40 ID:Q7Nq6LQdd(2/2) AAS
>>548
C#のコメントからヘルプを生成する話だよ
552: (ワッチョイ 2d61-umi9) 2019/02/07(木)23:47 ID:O0GaOve00(2/2) AAS
doxygen的なのって新しいの出た?
553(1): (ワッチョイ 467d-4IkZ) 2019/02/08(金)00:00 ID:JeOi55qM0(1) AAS
sandcastleなつかしい
554: (ワッチョイ e247-WCNk) 2019/02/08(金)00:09 ID:yxq5pHtX0(1/2) AAS
>>553
今でもメンテしてる人いるし!
外部リンク:github.com
555(2): (ワッチョイ 6e63-+1v6) 2019/02/08(金)00:42 ID:zMW+eOHy0(1) AAS
markdownで書いてhtml出力
556: (スププ Sd22-WCNk) 2019/02/08(金)00:59 ID:wLiZux8Md(1) AAS
>>555
ソースコードから生成しないのは非効率でしょ
557(1): (ワッチョイ 6ef2-Yfay) 2019/02/08(金)01:02 ID:kZW3St4e0(1) AAS
ソースコードから設計書出すならわかるけど、今回の質問はヘルプファイルでしょ?
558: (アウアウエー Sa0a-/S9r) 2019/02/08(金)01:18 ID:e7pcoQvna(1) AAS
社内ならConfluenceみたいなwiki的なサービス使えば?
ファイルで配ると後でメンテに苦労することになるよ
559: (ワッチョイ e247-WCNk) 2019/02/08(金)01:22 ID:yxq5pHtX0(2/2) AAS
>>557
C#のスレなんだからヘルプと言えばクラスリファレンスだろ
560: (ササクッテロル Spd1-Yfay) 2019/02/08(金)01:45 ID:NCJ1sppLp(1) AAS
ユーザー向けのヘルプファイルだろ
質問した本人出てこないから結論出ないけど
561: (アウアウエー Sa0a-OF6d) 2019/02/08(金)06:02 ID:86VvLP3ma(1) AAS
簡単なゲーム作ってみたのだけど仮にこれを配布するとしたら
動作環境は何を基準にして明記したらいいのでしょうか
Windowsの人なら特になにか入れてもらわなくてもだいたい動くってことでしょうか
562: (ドコグロ MMca-3tWi) 2019/02/08(金)07:19 ID:en2thcC6M(1) AAS
>>555に一票
俺はAsciiDocだけど
563(1): (スッップ Sd22-lwMy) 2019/02/08(金)07:20 ID:Weq4zX9xd(1) AAS
対処にした.netでしょう。
win7はデフォだと3.5
win8がデフォだと4.5
win10はデフォ4.6がはいってる。
win8とwin10は3.5系はデフォでは入ってない。
一般的には、4.5で作っておけばトラブルは少ない。
async awaitも使えるし、入ってることが期待できる。
省3
564: (ワッチョイ cd0c-feI+) 2019/02/08(金)07:33 ID:JXgoNARF0(1/2) AAS
むしろCoreはランタイムをSelf-containedにできるから実行環境の状況を気にせず済むでしょ
(まだデスクトップアプリの開発環境として整ってるとは言えないけどそれはそれ)
565: (スッップ Sd22-bIN/) 2019/02/08(金)07:37 ID:N+zrhIiBd(1/2) AAS
>>563
4.5はもうサポート切れだからだめやろ
566(2): (ドコグロ MMd5-/S9r) 2019/02/08(金)14:02 ID:wLzz2paeM(1/6) AAS
今更新規でFull .NET使うのはお勧めできないな
結局.NET standardはMSが早くも投げ出して崩壊し、今後は.NET Coreに一本化される
既存の.NETアプリは全てレガシーの産廃だ
567: (スッップ Sd22-bIN/) 2019/02/08(金)14:09 ID:N+zrhIiBd(2/2) AAS
>>566
ASP.NET Coreも、3.0からは.NET StandardじゃなくてCore3.0だけをターゲットにするしねw
568(4): (ワッチョイ a205-BpIe) 2019/02/08(金)16:42 ID:DCBa2RJt0(1/3) AAS
指定のdatetimeまで待つ処理はどのように書けばよいでしょうか?
GUIアプリケーションで出来れば待っている間も操作可能
なるべくcpuの負担が軽くなる方法が良いです
よろしくお願い致します。
569(1): (ワッチョイ 2d61-VUEs) 2019/02/08(金)16:47 ID:xI0+6qTx0(1/6) AAS
>>568
それは、まず、タイマーを起動して、1秒間に一回程度、自前の関数が
呼び出されるようにしておく。そして、その自前の関数で現在の日時を
取得して、条件に合う日時になっているか調べる。そして、条件に合って
いれば、好きな処理をする。そうすればいい。
570(1): (ワッチョイ 024b-GiBE) 2019/02/08(金)16:58 ID:hTn4Mfg30(1/2) AAS
>>569
Thread.Sleepの方がいいんじゃね?
571(1): (ドコグロ MMd5-/S9r) 2019/02/08(金)17:08 ID:wLzz2paeM(2/6) AAS
>>568
タスクスケジューラ
572(1): (ワッチョイ 2d61-VUEs) 2019/02/08(金)17:20 ID:xI0+6qTx0(2/6) AAS
>>570
それだと GUI の処理がほぼ完全に止まってしまい、アプリがほとんど操作不能
になるハズ。
573: (ワッチョイ 9232-/WZR) 2019/02/08(金)17:23 ID:T5iT/olM0(1) AAS
>>568
アプリが起動しっぱなしなら指定日時から現在日時を引いて
await Task.Delay()等でタイムアウト待つとか、他は>>571かね
574: (ワッチョイ fe02-q2E1) 2019/02/08(金)17:28 ID:1w1isakW0(1) AAS
do-whileもいいと思う
575: (ワッチョイ 024b-GiBE) 2019/02/08(金)17:33 ID:hTn4Mfg30(2/2) AAS
>>572
待つロジックをThreadにすればいいだけじゃね?
576: (ワッチョイ 2d61-VUEs) 2019/02/08(金)17:48 ID:xI0+6qTx0(3/6) AAS
マルチ・スレッドというのは、プログラミング経験を沢山積んだ人が使うもので、
非常に原因の特定が難しいバグを引き起こすことがあるので、初心者には
お勧めできない。同期オブジェクトや atomic アクセス、volatile などを
正しく理解してからでないと危険を伴うことがある。
async も独特で複雑なことをやっているので、プログラミング初心者が、何が起きて
いるのかを理解するのは難しい。なんとなく動くかもしれないがうかつに使うのは
やめたほうがいいと思う。
577: (ワッチョイ 2d61-VUEs) 2019/02/08(金)17:50 ID:xI0+6qTx0(4/6) AAS
async は、↓のような複雑な control flow になる。
それを全部理解してから出ないと危険。
画像リンク[png]:docs.microsoft.com
外部リンク:docs.microsoft.com
578: (ワッチョイ cd0c-feI+) 2019/02/08(金)18:11 ID:JXgoNARF0(2/2) AAS
GUIちゅーてんだから普通にWinforms/WPFのTimer/DispatcherTimerを紹介すりゃええんでないの
数日間待機させたいとかになるとまた話が違ってくるしもうちょい質問の要件をハッキリさせて欲しいけど
579: (ブーイモ MMcd-FdHg) 2019/02/08(金)18:25 ID:ccTwL3cjM(1) AAS
指定日時後の起動はタスクスケジューラに任せた方が良いと思う
GIU側の仕事はスケジューラヘの登録と指定日時にスケジューラが起動したプロセスとの通信
580: (ワッチョイ 2d61-VUEs) 2019/02/08(金)18:28 ID:xI0+6qTx0(5/6) AAS
C#も汚い言語になってきたなー
581: (ワッチョイ 2d61-VUEs) 2019/02/08(金)18:32 ID:xI0+6qTx0(6/6) AAS
なんか、JavaScript そっくりになってきる。JavaScript は汚いのにな・・・。
582: (スプッッ Sd82-bIN/) 2019/02/08(金)18:49 ID:5c9t7/Awd(1) AAS
汚いとは?
583(2): (ドコグロ MMd5-/S9r) 2019/02/08(金)18:56 ID:wLzz2paeM(3/6) AAS
JavaScriptそっくりもクソも、JavaScriptのasync/awaitはC#が発祥だぞ
それをJavaScriptもPythonもKotlinもそっくりそのまま真似した
汚い機能だと感じる君の感覚は否定しないが、好みは別にして非同期プログラミングのデファクトスタンダードであるのは事実だ
584: (ワッチョイ a1d2-hHwN) 2019/02/08(金)19:49 ID:lL88DpXz0(1) AAS
割り込んですまない。
SolrNet を使ったことあるヤツがいたら知恵を貸して欲しい。
SolrNet を使ってこんなことをやってみた。
Startup.Init<[適当なモデルクラス]>( [SolrのサーバーURL] );
var solr = ServiceLocator.Current.GetInstance<ISolrOperations< [適当なモデルクラス] >>();
まあごく当たり前の初期処理なのだが、実行すると2行目の Current の中身が null でヌルポエラーになる。
原因がわからなくてしばらく悩んで、GitHub にあるサンプルコードをダウンロードしてきてコピペしても同じだったのだが、
省6
585(2): (アウアウエー Sa0a-gVV1) 2019/02/08(金)20:41 ID:OM4aCJGta(1/2) AAS
>>568
一応これでできるけど、これがベストかどうかは知らん
private static async Task WaitTillAsync(DateTime dt)
{
var now = DateTime.Now;
var span = dt > now ? dt - now : TimeSpan.Zero;
await Task.Delay(span);
省8
586(1): (ワッチョイ aeda-OF6d) 2019/02/08(金)21:46 ID:tTA+g4g80(1) AAS
>>585
それだとNTPで時計合わせが発生したらズレる
素直にSystem.Timers.Timerで500ms位ごとにElapsedさせて、
指定時刻を過ぎてないか見るのが簡単。
マイクロ秒まで精度出したいっていうのなら、そもそも使うOS間違ってる。
587: (ワッチョイ 82ad-bIN/) 2019/02/08(金)22:17 ID:uDI35RTx0(1) AAS
>>583
Rustは結局どうなったんだっけ?
588(1): (ワッチョイ a205-BpIe) 2019/02/08(金)22:27 ID:DCBa2RJt0(2/3) AAS
みなさんありがとうございます。
一応自分で書いていたのは>>585さんに近くて設定時刻前ならそのまま、設定時刻を過ぎてたら一日足して現在時刻との差をawait Task.Delayしました。
タイマーの精度はそんなに必要なく1分間隔で大丈夫で、24時間起動で毎日朝8時から夕方17時までプログラムを止めるみたいな感じです。
同じプログラムを大量に起動するので処理はなるべく軽いのが希望で
ループ処理で毎分チェックするようなのは重いイメージがあるのですが大丈夫でしょうか?
また、時計合わせが発生したらズレるというのはどういうことでしょう?
589: (ドコグロ MMd5-/S9r) 2019/02/08(金)22:30 ID:wLzz2paeM(4/6) AAS
>>588
ポーリングが嫌ならタスクスケジューラを使えばいい
プログラムから簡単に登録できる
590(2): (アウアウエー Sa0a-gVV1) 2019/02/08(金)22:53 ID:OM4aCJGta(2/2) AAS
>>586
えらい重箱の隅だけどまあそうだねw
private static async Task WaitTillAsync(DateTime dt)
{
await Task.Run
(
() => { while (dt > DateTime.Now) Thread.Sleep(500); }
省2
591: (ドコグロ MMd5-/S9r) 2019/02/08(金)23:23 ID:wLzz2paeM(5/6) AAS
>>590
プロセスが落ちることを想定せよ
NTPなんかより遥かに影響を受ける可能性の高い事象である
やり直し
592(1): (オッペケ Srd1-da9w) 2019/02/08(金)23:32 ID:Waqd0NNdr(1) AAS
どのへんでプロセス落ちるの?
593(1): (ワッチョイ a205-BpIe) 2019/02/08(金)23:33 ID:DCBa2RJt0(3/3) AAS
>>590
Thread.Sleepの所Task.Delayにしても大丈夫でしょうか?
594(1): (ドコグロ MMd5-/S9r) 2019/02/08(金)23:42 ID:wLzz2paeM(6/6) AAS
>>592
どこでも
質問者は24時間起動って言ってるんだから当然想定すべきだよ
595(1): (アウアウエー Sa0a-gVV1) 2019/02/09(土)00:44 ID:jhOjUKEBa(1/4) AAS
>>593
もちろんいいと思うけど、
() => { while (dt > DateTime.Now) Thread.Sleep(500); }
が
async () => { while (dt > DateTime.Now) await Task.Delay(500); }
に文字数が増えて、使うTaskも増えて、かといってメリット無いような気が
上下前次1-新書関写板覧索設栞歴
あと 407 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s