!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part152
http://mevius.5ch.net/test/read.cgi/tech/1629888256/
■関連スレ
C#, C♯, C#相談室 Part94
http://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries/
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries/
https://referencesource.microsoft.com/
https://source.dot.net/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part153
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ bf2c-yjVA)
2021/12/13(月) 22:53:21.18ID:dhjmiKBp02デフォルトの名無しさん (ワッチョイ c702-p36F)
2021/12/14(火) 15:04:57.66ID:DHQEOVX70 stringデータの容量を小さくしてソフトのAPIに送りたいのですが
APIの都合でstringのまま送らなければならない場合、
これ以上容量を小さくする手段はありませんか?
圧縮したバイナリデータをどうにか送信できないかと調べたのですが無理そうで……。
APIの都合でstringのまま送らなければならない場合、
これ以上容量を小さくする手段はありませんか?
圧縮したバイナリデータをどうにか送信できないかと調べたのですが無理そうで……。
3デフォルトの名無しさん (ワッチョイ df2c-yjVA)
2021/12/14(火) 17:52:43.39ID:vmKXmndG0 何らかの方法で圧縮できたとして
受け取る方のソフトは圧縮されたデータを伸長できるの?
受け取る方のソフトは圧縮されたデータを伸長できるの?
4デフォルトの名無しさん (ブーイモ MMff-gtpG)
2021/12/14(火) 17:56:17.81ID:WeLzug3DM uudx / uuex か?
5デフォルトの名無しさん (ワッチョイ c702-p36F)
2021/12/14(火) 18:19:29.34ID:DHQEOVX70 >>3
圧縮して送りたいのはただのセーブデータなのですが、
サーバー側の保存形式がstringを使ったkeyValueで作られているので文字列形式でしか保存できないみたいで。
保存しておいた文字列をこちらで読み込んでからデコードすればいいのでstringのまま圧縮できればよくて、
どうせ日本語までしか扱わないデータなのでSHIFT-JISをutf-8で圧縮……みたいなことができれば理想なのですが
そんなピンポイントなのあったりしませんよね、と……。
>>4
解釈があってるかはわからないのですが、
一応圧縮したバイナリデータをBase64でConvertみたいなことは試してみたものの
容量を減らすという目的ではむしろ文字数が増えてしまって。
何か手段がないかなあと思っている次第です。
圧縮して送りたいのはただのセーブデータなのですが、
サーバー側の保存形式がstringを使ったkeyValueで作られているので文字列形式でしか保存できないみたいで。
保存しておいた文字列をこちらで読み込んでからデコードすればいいのでstringのまま圧縮できればよくて、
どうせ日本語までしか扱わないデータなのでSHIFT-JISをutf-8で圧縮……みたいなことができれば理想なのですが
そんなピンポイントなのあったりしませんよね、と……。
>>4
解釈があってるかはわからないのですが、
一応圧縮したバイナリデータをBase64でConvertみたいなことは試してみたものの
容量を減らすという目的ではむしろ文字数が増えてしまって。
何か手段がないかなあと思っている次第です。
6デフォルトの名無しさん (ラクッペペ MM8f-JWjg)
2021/12/14(火) 18:26:30.90ID:QT7QgCvlM 使用できる文字に番号振って
圧縮したバイナリを文字に割当る
いわゆる復活の呪文方式
文字が足らなければ32bitsバイナリを31bitsにずらしていくなど工夫してみな
圧縮したバイナリを文字に割当る
いわゆる復活の呪文方式
文字が足らなければ32bitsバイナリを31bitsにずらしていくなど工夫してみな
7デフォルトの名無しさん (アウアウウー Sa6b-5lnE)
2021/12/14(火) 18:35:23.50ID:70QYvgE2a8デフォルトの名無しさん (ブーイモ MMcf-gtpG)
2021/12/14(火) 19:00:02.18ID:DQcTzC4QM 通常のデータ圧縮は8ビットフルに使うので、
そのままでは難しいのでuuと組み合わせて作ったら?
そのままでは難しいのでuuと組み合わせて作ったら?
9デフォルトの名無しさん (ワッチョイ df2c-yjVA)
2021/12/14(火) 19:40:08.80ID:vmKXmndG0 UTF-8でバイナリ化してdeflate圧縮してBase64化した後2文字ずつを1つのcharに詰める
まあ基本ライブラリで手軽にやるならこんな感じじゃない?
まあ基本ライブラリで手軽にやるならこんな感じじゃない?
10デフォルトの名無しさん (ワッチョイ 67b0-zDwW)
2021/12/14(火) 20:14:03.30ID:4rMew3mV0 7zかなにか圧縮率の高い奴で圧縮しておいてbasE91だな。
http://base91.sourceforge.net/
http://base91.sourceforge.net/
11デフォルトの名無しさん (ワッチョイ a701-4A0X)
2021/12/15(水) 07:44:21.38ID:viWcJGha0 圧縮することによっぽどのメリットがないと無駄にややこしくなるだけだぞ
サーバー側が必要に応じて圧縮するのが筋かと
UTF-8に変換して送信とか脆弱性の問題もあってサーバー側で禁止してることもある
サーバー側が必要に応じて圧縮するのが筋かと
UTF-8に変換して送信とか脆弱性の問題もあってサーバー側で禁止してることもある
122 (ワッチョイ c702-p36F)
2021/12/15(水) 08:20:09.42ID:KIyi4EVP0 皆さんありがとうございます! Base64化したものを自分でさらに詰めるというのは思いつきませんでした……なるほど……。
BasE91もまさに机上論こねくり回してるときに欲しかったものの気配がするので中身覗いて調べてみます!
>>11
こちらは利用する側なのでサーバーの仕様を変える事はできず、
用意されたフォーマット(これが文字列形式での送信)従うしかないやつですね。
ユーザー毎に使用可能なデータの容量が決められていて(しかもそれがやたら少ない)、
少しでも軽減するためにこちら側でデータを小さくできないかと画策しています。
BasE91もまさに机上論こねくり回してるときに欲しかったものの気配がするので中身覗いて調べてみます!
>>11
こちらは利用する側なのでサーバーの仕様を変える事はできず、
用意されたフォーマット(これが文字列形式での送信)従うしかないやつですね。
ユーザー毎に使用可能なデータの容量が決められていて(しかもそれがやたら少ない)、
少しでも軽減するためにこちら側でデータを小さくできないかと画策しています。
13デフォルトの名無しさん (ワッチョイ 2780-4iyA)
2021/12/15(水) 08:43:57.49ID:doly6UKJ0 ビットマップ間で部分的に画像コピーするのはDrawImageでできますが
コピーする際に左右を反転してコピーする方法はないでしょうか?
検索でビットマップ全体をまるごと反転する表示はたくさん出てくるのですが
DrawImageの部分コピーで反転するのは見当たらないのです
コピーする際に左右を反転してコピーする方法はないでしょうか?
検索でビットマップ全体をまるごと反転する表示はたくさん出てくるのですが
DrawImageの部分コピーで反転するのは見当たらないのです
14デフォルトの名無しさん (ワッチョイ df2c-yjVA)
2021/12/15(水) 09:39:43.96ID:SWORTfJ40 g.ScaleTransform(-1, 1)
描き出す先の座標も反転するから座標指定注意
描き出す先の座標も反転するから座標指定注意
15デフォルトの名無しさん (ワッチョイ a748-4iyA)
2021/12/15(水) 10:18:47.15ID:IF/hKOzS0 できました、ありがとうございます
16デフォルトの名無しさん (ワッチョイ e701-zKou)
2021/12/15(水) 20:55:12.09ID:KtX6zlRp0 DrawImageに渡すWidthやHeightを負の数にするだけで反対向きに描画するよ
17デフォルトの名無しさん (ワッチョイ c75f-o4eJ)
2021/12/15(水) 22:41:30.07ID:9OkRwsNs0 LinuxでC#でソフト作りたいのですが
.Net 6とmonoは同じものでしょうか?
.Net 6とmonoは同じものでしょうか?
18デフォルトの名無しさん (アウアウウー Sa6b-5lnE)
2021/12/15(水) 22:58:53.71ID:RALnEWNsa monoは.NET4.6か4.7相当
19デフォルトの名無しさん (ワッチョイ c75f-o4eJ)
2021/12/15(水) 23:37:58.07ID:9OkRwsNs0 ありがとうございます
.Net 6をインストールしました
.Net 6をインストールしました
20デフォルトの名無しさん (ワッチョイ a748-4iyA)
2021/12/16(木) 12:03:30.27ID:GoezKG390 private void Form1_KeyDown(object sender, KeyEventArgs e)
{
keyCode = (int)e.KeyCode;
}
public void button1_Click(object sender, EventArgs e)
{
button1.Visible = false;
anThread(); // ここをtest();に変えると直接実行になる
}
private void anThread()
{
Task task = Task.Run(() => {
test();
}
}
private void test() {
int dt;
while (true) {
if (keyCode!=0) {
dt = keyCode; // ここにブレークポイントを置く キーが押されると止まる
return;
}
Thread.Sleep(10);
}
}
{
keyCode = (int)e.KeyCode;
}
public void button1_Click(object sender, EventArgs e)
{
button1.Visible = false;
anThread(); // ここをtest();に変えると直接実行になる
}
private void anThread()
{
Task task = Task.Run(() => {
test();
}
}
private void test() {
int dt;
while (true) {
if (keyCode!=0) {
dt = keyCode; // ここにブレークポイントを置く キーが押されると止まる
return;
}
Thread.Sleep(10);
}
}
21デフォルトの名無しさん (ワッチョイ a748-4iyA)
2021/12/16(木) 12:04:03.26ID:GoezKG390 このプログラムbutton1押しで開始して、キーが押されるとループ中のブレークポイントで止まるものなんですが
これで一般文字キーを押すとちゃんとブレークポイントで止まりkeyCodeが確認できます
Enterキーを押した場合はなぜか止まりません
anThread();のように別スレッドから動かさずに直接test();で呼ぶと
一般文字キーもEnterキーの時も止まりkeyCode 13が確認できます
別スレッドで動かした時に、Enterキーの時だけForm1_KeyDownさえ呼ばれなくなるのは
どうしてでしょうか?
これで一般文字キーを押すとちゃんとブレークポイントで止まりkeyCodeが確認できます
Enterキーを押した場合はなぜか止まりません
anThread();のように別スレッドから動かさずに直接test();で呼ぶと
一般文字キーもEnterキーの時も止まりkeyCode 13が確認できます
別スレッドで動かした時に、Enterキーの時だけForm1_KeyDownさえ呼ばれなくなるのは
どうしてでしょうか?
22デフォルトの名無しさん (アウアウウー Sa6b-5lnE)
2021/12/16(木) 12:25:18.98ID:6kTxk0Gya 直接呼びで停まる?
直接呼ぶと無限ループに入って、keycode変数が変化しないから(代入が行われるのはループの外だから代入が起きない)
ブレークポイントに入ることもないんじゃないかな?
ここに書き込む過程でコードを書き換えたなら、そこで略した部分に問題ありそう
直接呼ぶと無限ループに入って、keycode変数が変化しないから(代入が行われるのはループの外だから代入が起きない)
ブレークポイントに入ることもないんじゃないかな?
ここに書き込む過程でコードを書き換えたなら、そこで略した部分に問題ありそう
23デフォルトの名無しさん (ワッチョイ a748-4iyA)
2021/12/16(木) 12:36:40.33ID:GoezKG390 いえ止まるというのはブレークポイントで止まるので正常に機能しているということです
直接呼びの時はEnterキーでもkeycode変数が変化するのです(正常)
別スレッド呼びにした時にEnterキーだけ変化しないようになります 文字キーは変化します
button1にEnterキーが吸収されてるのではないかと思い
button1.Visible = false;
button1.Enabled = false;
さらにForm1.KeyPreview=true;
としたのですが、結果は変わりませんでした
直接呼びの時はEnterキーでもkeycode変数が変化するのです(正常)
別スレッド呼びにした時にEnterキーだけ変化しないようになります 文字キーは変化します
button1にEnterキーが吸収されてるのではないかと思い
button1.Visible = false;
button1.Enabled = false;
さらにForm1.KeyPreview=true;
としたのですが、結果は変わりませんでした
24デフォルトの名無しさん (アウアウウー Sa6b-5lnE)
2021/12/16(木) 12:59:19.79ID:6kTxk0Gya デバッグ開始する
ボタン押す
enter以外のキーを押す=止まる
再開する
enterを押す=止まらない
って順番ということ?それならreturnで抜けてるから
デバッグ開始する
ボタン押す
enterを押す=止まらない
enter以外のキーを押す=止まる
って順番ということ?
ボタン押す
enter以外のキーを押す=止まる
再開する
enterを押す=止まらない
って順番ということ?それならreturnで抜けてるから
デバッグ開始する
ボタン押す
enterを押す=止まらない
enter以外のキーを押す=止まる
って順番ということ?
25デフォルトの名無しさん (ワッチョイ a748-4iyA)
2021/12/16(木) 13:04:12.22ID:GoezKG390 そうですね、デバッグ実行は毎回やりなおしてますが
enterを押す=止まらない ここのところですね問題は
Enterキー故に何かわからないですがviewのどれかに吸収されてるんではとも考えられるんです
enterを押す=止まらない ここのところですね問題は
Enterキー故に何かわからないですがviewのどれかに吸収されてるんではとも考えられるんです
26デフォルトの名無しさん (ワッチョイ a748-4iyA)
2021/12/16(木) 13:11:56.87ID:GoezKG390 inr fs;
public void button1_Click(object sender, EventArgs e)
{
if (fs==0) {
button1.Visible = false;
button1.Enabled = false;
anThread(); // ここをtest();に変えると直接実行になる
}
fs=1;
}
public void button1_Click(object sender, EventArgs e)
{
if (fs==0) {
button1.Visible = false;
button1.Enabled = false;
anThread(); // ここをtest();に変えると直接実行になる
}
fs=1;
}
27デフォルトの名無しさん (ワッチョイ a748-4iyA)
2021/12/16(木) 13:12:29.66ID:GoezKG390 もっとボタンのとこ具体的にかくと上のようにして一度しかtest()呼ばれないようにしてます
28デフォルトの名無しさん (アウアウウー Sa6b-5lnE)
2021/12/16(木) 13:19:59.88ID:6kTxk0Gya なら
KeyPreview=true;
protected override bool ProcessDialogKey(Keys keyData)
{
return false;
}
protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
}
KeyPreview=true;
protected override bool ProcessDialogKey(Keys keyData)
{
return false;
}
protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
}
29デフォルトの名無しさん (ワッチョイ a748-4iyA)
2021/12/16(木) 13:24:57.28ID:GoezKG390 おおEnterキーでもブレークポイントで止まるようになりました
ありがとうございます
ありがとうございます
30デフォルトの名無しさん (ワッチョイ a72d-zmQK)
2021/12/16(木) 13:28:58.72ID:lYga0rvW0 Formに配置したbuttonがEnterキーの制御を奪うから
その前にFormでキーを取得したいならPreviewKeyDownイベントを使う
その前にFormでキーを取得したいならPreviewKeyDownイベントを使う
31デフォルトの名無しさん (ワッチョイ e701-p36F)
2021/12/16(木) 14:09:04.68ID:i/INwEgL0 docs.microsoft.com/ja-jp/dotnet/api
にバージョンとかあって.NET 6とか選択するじゃないですか?
これって、どれを選べばいいのでしょうか?
自分のPCにどの.NET入ってるか調べる方法はありますでしょうか?
よよろしくおねがいします。
にバージョンとかあって.NET 6とか選択するじゃないですか?
これって、どれを選べばいいのでしょうか?
自分のPCにどの.NET入ってるか調べる方法はありますでしょうか?
よよろしくおねがいします。
32デフォルトの名無しさん (ラクッペペ MM8f-JWjg)
2021/12/16(木) 14:38:33.33ID:k8cIynuMM 自分のPCではなくユーザーの環境を考えて選ぼう
Windows2000なら2.0
WindowsXPなら4.0までしか使えない
Windows2000なら2.0
WindowsXPなら4.0までしか使えない
33デフォルトの名無しさん (ワッチョイ 675f-Rkf/)
2021/12/16(木) 15:37:50.09ID:y2oCKs8P0 今から始めるなら.NET 6選んでおけば問題ない
34デフォルトの名無しさん (ワッチョイ e701-p36F)
2021/12/16(木) 17:43:59.24ID:i/INwEgL0 Environment.Versionだと6.0.0
RuntimeEnvironment.GetSystemVersionだとv4.0.30319でした
RuntimeEnvironment.GetSystemVersionだとv4.0.30319でした
35デフォルトの名無しさん (ワッチョイ e701-p36F)
2021/12/16(木) 17:53:32.89ID:i/INwEgL0 System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription
だと.NET 6.0.0-rtm.21522.10でした
だと.NET 6.0.0-rtm.21522.10でした
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 【サッカー】日本代表、FIFAランキング“4位”の強豪イングランドとの対戦が正式決定! 来年3月に聖地ウェンブリーで激突へ [久太郎★]
- 【🐻ゲレンデノカフェテラスデ♪】長野のスキー場にクマ 【スベルアナタニクギヅケ🐻】 [nita★]
- すまん、飲食チェーン店での一幕なんだがオマエラはこれを見て何を思うかおしえてくれ。
- 粗品「南原が3億も貰えんの?」 [279254606]
- 朝雑談
- 毎日菊花茶飲んでたら美肌になったよ
- おちんちんを露出しながら女子小学生に次々と触った無職の男(31)を逮捕「欲求やストレスを解消する為」
- 【悲報】ゆうパック配達員、配達中に人妻に抱きつき無理矢理キス「好意があると思ってた」 [566475398]
