1 名前:デフォルトの名無しさん [2009/01/20(火) 21:47:33 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。
159 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 11:29:18 ] 名前付き引数を使わずにやってみたら?
160 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 11:37:04 ] >>159 すいません。まったく意味が分かりません… コードでこのように書き換えたら良いという例を挙げてはいただけないでしょうか?
161 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 12:15:19 ] 159氏じゃないが、エクセルの起動法は分かるよね? とりあえず、シート2の名前を変更して、それらのセルを操作する例 シート1は既に起動している物として話を進める 自分で設定したシートコレクション名を以下のコードに置き換えて試してみて //シート2を追加 Excel.Worksheet sheet2 = (Excel.Worksheet)シートコレクション名.Add(before, after, 1, Excel.XlSheetType.xlWorksheet); //シート1とシート2の名前を設定 シートコレクション名.Name = "シート1の名前です"; sheet2.Name = "シート2の名前です"; //セルに文字を入力自動化 シートコレクション名.Cells[1, 1] = "シート1のセルA1"; sheet2.Cells[1, 1] = "シート2のセルA1";
162 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 12:15:38 ] 質問です。C#でバイト配列から部分バイト配列を探すには どうしたらいいでしょうか。 Cのstrstr()や、Pythonのbuf.index(sub_buf)のような処理です。
163 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 14:46:09 ] >>162 バカ正直に検索する作業に戻るんだ。たとえばこんな風に。 private static int FindSubArray<T>(T[] array, T[] subArray) where T : IComparable { int match = 0; for (int i = 0; i < array.Length; ++i) { if (array[ i ].CompareTo(subArray[ match ]) == 0) { match++; if (match == subArray.Length) { return i - match + 1; } } else { match = 0; } } return -1; }
164 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 14:48:43 ] IComparable使ったらボックス化が発生しちゃうからジェネリックにした意味がないぞ IComparable<T>にするんだ
165 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 14:51:27 ] というか大小比較する必要はないんだからIEquatable<T>のほうがいいな それもwhereで指定すると単純に参照比較で探したいときなんかに困るから EqualityComparer<T>.Default使えば
166 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 14:53:17 ] 対象がbyte[]と決まっているなら、文字列に変換しておいてIndexOf()という手もある。 string s1 = Encoding.ASCII.GetString(buf); string s2 = Encoding.ASCII.GetString(sub_buf); int p = s1.IndexOf(s2, StringComparison.Ordinal);
167 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 15:05:43 ] 工エエェェ(´д`)ェェエエ工
168 名前:162 mailto:sage [2009/01/24(土) 15:38:37 ] >>163 関数丸ごと書いてもらえるとは・・・感謝です。 バカ正直に検索する作業に戻ります。 >>164-165 すいません、マニュアルを読んでみましたが 不勉強でまともなレスが付けられません。 メモしたので後日振り返りたいと思います。 >>166 そういう方法もあるんですね。 byte[]からStringの変換にEncodingを使うとは 思っていなかったので参考になりました。
169 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 15:41:29 ] >>166 byte[]の途中に0が入ってたら?
170 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 15:47:33 ] >>163 に>>165 を適用するとこう >>163 よりは桁違いに速いはず private static int FindSubArray<T>(T[] array, T[] subArray) { EqualityComparer<T> comparer = EqualityComparer<T>.Default; int match = 0; for (int i = 0; i < array.Length; ++i) { if (comparer.Equals(array[ i ], subArray[ match ])) { //あとは同じ
171 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 15:52:15 ] >>169 無問題
172 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 16:30:20 ] だな。今回の場合、むしろASCIIEncoingが0x80-0xffのデータを受け付けないほうが問題だ。 無理矢理でもnew string(a.Cast<char>().ToArray())とか、 a.Aggregate(new StringBuilder(a.Length), (sb, c) => sb.Append((char)c)).ToString()とかで持っていくほうがいい。
173 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 16:35:14 ] BitConverter.ToString
174 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 21:45:07 ] >>172 受け付けるよ。
175 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 22:28:03 ] \u003fに置き換えられるのをもって受け付けるといわれても…
176 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 22:28:04 ] Dictionary<AAA, BBB>のコレクション中から、BBBの条件によって要素を削除したいのですが foreachで列挙しながらRemoveすると、列挙子が無効になって例外が発生します。 あらかじめ削除する要素を全部列挙してから、その後にRemoveするしかないんでしょうか?
177 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 22:39:52 ] 一旦Keysを配列にコピーするとか
178 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 22:40:34 ] >>176 それ以上にスマートな方法は思いつかないなあ。 List<AAA,BBB>に投射しておいてRemoveAll()とか、考えられなくもないけど。
179 名前:178 mailto:sage [2009/01/24(土) 22:41:06 ] 間違えた、List<KeyValuePair<AAA,BBB>>だ。
180 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 22:44:29 ] > あらかじめ削除する要素を全部列挙してから、その後にRemove を静的クラスに書いておけば拡張メソッドで呼び放題だよ!
181 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 22:56:48 ] foreachのin ○○の後に.ToArray()と書けばおk
182 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 23:02:46 ] >>180 こんな感じか? メモ帳で書いただけで検証してないけど。 public static void RemoveAllByValue<TKey, TValue>( this Dictionary<TKey, TValue> dictionary, Predicate<TValue> match) { List<TKey> keys = new List<TKey>(); foreach (TKey key in dictionary.Keys) { if (match(dictionary[key])) { keys.Add(key); } } foreach (TKey key in dictionary.Keys) { dictionary.Remove(key); } }
183 名前:176 mailto:sage [2009/01/24(土) 23:27:22 ] 列挙しながら削除はできませんか。 削除するのに別途メモリ確保するのは違和感あったのですが、仕方ないんですね。
184 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 23:33:23 ] >>183 削除するんじゃなくて最初から条件を満たす要素を Dictionary に入れなければいいんじゃね?
185 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 23:35:11 ] (゚ε゚)キニシナイ!!
186 名前:デフォルトの名無しさん [2009/01/24(土) 23:35:48 ] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ そんなことよりyahooきっず「どんな''ジャンボ''が食べたい?」に投票しようぜwwwwwwwww ジャンボピーマンを一位にして餓鬼共を泣かせようwwwwwwwwww 現在1位 yahooの工作開始までに2位のたこ焼きを突き放す kids.yahoo.co.jp/ _人人人人人_ >鶴職人募集中<  ̄ Y^Y^^Y^Y^ ̄ ↓本スレ takeshima.2ch.net/test/read.cgi/news4vip/1232801214/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
187 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 00:20:01 ] コピペ君って馬鹿だな、まで読んだ。
188 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 00:30:05 ] ThreadPool.QueueUserWorkItemで実行されるスレッドで Thread.CurrentThread.PriorityをデフォルトのNormal以外に変更してみたところ 問題なく変更でき、優先順位もちゃんと反映されているようです。 終わった後はNormalに戻されてました。 この挙動を期待して書いてもいいのでしょうか? MSDNをざっと見たところ、この事について書いてないようなのですが…
189 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 02:50:47 ] >>188 文書化されてない以上その性質に頼るべきではない。 ちなみに.NET1.1では再利用したスレッドに変更したプライオリティやスレッド名は引き継がれている。 あとMonoの場合はLowestから変更できなかった。いろいろ複雑だ。
190 名前:188 mailto:sage [2009/01/25(日) 17:50:04 ] >>189 ガビョ〜ん、そうなんですか。 ありがとうございました
191 名前:デフォルトの名無しさん [2009/01/25(日) 21:02:05 ] VisualStudioが自動で書いたコードなんだけど、 using System; using System.Windows.Forms; というのがあったんだけど、一行目だけでよくないですか? Systemの中にWindowsもあるんでしょ?
192 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 21:06:29 ] ないよ 名前空間はそれぞれ独立してる 見易さのためにピリオドで区切ってるだけ
193 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 21:07:20 ] 名前空間ってその名の通り名前の一部にすぎないんだよ
194 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 21:09:41 ] >>191 ダメ。
195 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 21:15:29 ] using System; だけで System.* がすべてインポートされるなら、 名前空間を分けた意味がないじゃないか。
196 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 21:18:25 ] そもそもグローバル名前空間はすべての名前空間を含んでるんだから 何も書かなくても全てインポートされるはずだな
197 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 21:20:03 ] >>195 ごもっとも
198 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 21:33:05 ] SystemだけってのはExplorerでいうマイコンピューターみたいなもの?
199 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 21:35:05 ] PCのCPUみたいなものでは
200 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 21:36:57 ] Systemで指定されるものにSystem.Windows.Formsは入ってないとするなら Systemだけで指定されてるのって何だとなるわな。
201 名前:デフォルトの名無しさん [2009/01/25(日) 21:39:09 ] ためしにusing System;を抜いてみればわかるお
202 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 21:55:23 ] >>198 コレッ。 手元にVSない状態で、妄想で会話するな。
203 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 21:58:21 ] これ、自称非初心者の俺様も実はよくわかってない
204 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 22:10:43 ] リフレクションは遅いと聞くと MethodInfoとかを静的フィールドにいちいち持っておきたくなるけど、 システムでキャッシュしてるそうだから効果なかったりする? 使うたびに作り直すのとどっちがいいかな?
205 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 22:12:25 ] そこら辺は言語によっていろんな考え方があるよね。 C++だと、using System;相当のものを書けば、Windows.Forms.Hogeと使えるという風に 入れ子の名前空間にもusingの効果が及ぶ。 C++から来た人間としてはそこにはまりそうになった。
206 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 22:12:47 ] >>204 CreateDelegateで取得したデリゲートをキャッシュするのが最速
207 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 22:13:18 ] だから、System も System.Windows.Forms も System.Collections も、 全部同じレベルなんだよ。
208 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 22:18:12 ] なんかフォルダみたいだね。 Systemフォルダの中にWindowsがあってその中にFormsがある。 SystemフォルダにアクセスしたからってFormsにアクセスするわけではない。
209 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 22:20:50 ] 一応フォルダ状の構成なんだよね? でも宣言はさらに下位のフォルダの中には及ばないってことなんだろう。
210 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 22:21:19 ] 違う。C#ではあたかもネストしてるように見せかけてるだけ。
211 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 22:21:32 ] >>208 だからマイコンピューターなんだよ
212 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 22:25:00 ] namespace System { namespace Windows { この中ではSystemの型にアクセスできる } } C#でこういう風に書けるのは単なるシンタックスシュガーみたいなもの。 本当に階層になってるわけではない。名前空間はあくまで型の前に付く名前。
213 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 22:26:28 ] だから、今、開いてるフォルダの中のファイルしか使えない。 例えば、C:\Windows\System\ を開いてるなら その中のファイルにしかアクセスできない。 その下のC:\Windows\System\Form\ にあるファイルを開きたいならC:\Windows\System\Form\を開かないといけない。 ただ、わかりやすいようにカテゴリーに分けられているだけ。 極端に言えば System.Windows.Forms ではなくWindowsForm という名前でも良かった。 ・・・しかし、それではわかりにくく管理しにくいことからSystemのWindowsのFormsというように分類したまでの話。
214 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 22:28:13 ] どっちなんだよw ネストしてるのか(フォルダ的) 別もんなのか
215 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 22:29:04 ] System_Windows_Forms なら理解してくれるんじゃまいか?
216 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 22:29:54 ] 難しく考えずに、フォルダとその中でいいんじゃない? コンソールでパスを通したことがあるなら、イメージ的にはusingはそれと同等って感じ。
217 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 22:32:28 ] フォルダの中にフォルダはあるけど名前空間の中に名前空間は無いの もっといえば,名前空間なんてものは単なる飾りなの
218 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 22:35:18 ] それよりギガ株を自社株買いで半値を割らせないようにしているけど その評価でBPSを出してくるのは認められているの?。 グレーゾンも粉飾紛いに見えてしまう。
219 名前:218 mailto:sage [2009/01/25(日) 22:35:50 ] スマソ、ごばく
220 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 22:38:07 ] SystemとSystem.Windowsは同じ列なんだな。 Systemの下にSystem.Windowsがあるのかと思ってた。
221 名前:191 mailto:sage [2009/01/25(日) 22:38:53 ] たくさんの方に答えていただきありがとうございました。 というか、ここの人でも議論になるような疑問を持ててちょっとうれしかったです。
222 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 23:12:57 ] >>214 C#の概念ではネストしてる(フォルダ的) MSILの概念(=リフレクションで扱える情報)ではネストしていない (SystemとSystem.Windowsの間に親子関係はない)
223 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 23:14:11 ] usingの効果は、たとえば using System.Text;と書いておけば毎回System.Text.StringBuilderと 書かなくて済むというだけの話でしょ。 で、using System;とだけ書いても、Text.StringBuilderと書けるようには ならない、と。
224 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 23:23:22 ] >>206 おお 確かにDelegate実行は大分速いみたいですね だけどこれMethodInfoにしか使えませんね プロパティだって結局メソッドなのにPropertyInfoに使えないというのは
225 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 23:26:37 ] >>224 プロパティにも使えるよ PropertyInfoのGetGetMethodやGetSetMethodでアクセサのMethodInfoが取れる フィールドの場合は面倒だけどEmit使ってメソッドを動的に生成してやるしかない
226 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 23:34:12 ] EventInfo も同じ感じだな。少しは ILDASM あたりでメンバが 各々どうなっているか眺めてみれ ちなみに >>225 のフィールドの場合のヒントは DynamicMethod な
227 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 23:40:36 ] フィールドの値の取得だけならExpression.Field使えば簡単だけどな
228 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 04:22:23 ] .NET製のソフトってそれ自体ではなく、JITコンパイラの起動が遅いの?
229 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 04:51:02 ] BinaryFormatterでシリアライズしたデータをデシリアライズしようとすると、 TypeLoadExceptionHolderがなんとかというエラーが出てきてデシリアライズできないのですが、 シリアライズができてデシリアライズができないというのはどんな原因が考えられるのでしょうか?
230 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 08:22:32 ] 他で開きっぱなしで、開く権限がないとかかなぁ。 それか、テスト用として、保存直後に読み込んでて、 using とか Close とかしてなくてちゃんとフラッシュされてないか。 あとは、保存する時に、 ファイルを Create とか Truncate じゃなくて、 Append とか Open で保存しちゃってて不正なバイナリになってるとか。
231 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 09:59:07 ] >>230 多分そこら辺は問題ないと思います。というのも、それが起こるのがこのアセンブリで定義した 型をシリアライズした時のみで、それ以外の本体やプラグインで保存したデータについては全く問題ない ためです。試しに、 [Serialize] class TestData { } というクラスをシリアライズして保存してみましたがそれでも上のエラーが飛んできます orz BinaryFormatterを使っていてSerializeAttributeをつけ忘れてSerializationExceptionが飛ぶ ということはありますが、ArgumentExceptionなんて飛んできたことないよ orz
232 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 10:22:23 ] >>231 [Serialize]→[Serializable] でした orz
233 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 10:27:37 ] 例外を正確に書いてみそ
234 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 11:09:20 ] >>233 エラーメッセージは 型 'System.Runtime.Serialization.TypeLoadExceptionHolder' のオブジェクトを 型 'PluginTest.IPluginData' に変換できません と… 変換先の型名はちょっと変えてますが、それ以外は全く一緒で、SerializationExceptionではなく ArgumentExceptionで飛んできます。InnerExceptionはnullでした。
235 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 12:24:02 ] >>234 そのコードを新しいプロジェクトとかで書いても同じ例外が投げられるの? だったらそのコードをさらしてくれ。
236 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 16:26:58 ] >>235 新しくプロジェクトを作成し、すべて同一にすると同じ例外が飛んできますが、 名前空間を変えると飛ばなくなりました。 プロジェクト全体を確認してみましたが、名前空間とクラス名がダブっている訳でもなかったのですが… なんだこれ orz
237 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 16:39:38 ] よく分からんけど関係するアセンブリをGACに登録してるとかない? ローカルのアセンブリよりGACのが優先してロードされるので、 期待したのと違う動きをすることがある。
238 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 17:07:14 ] >>237 してないです。ngenとかも動かしてないのでキャッシュされたのがロード されてるわけではないと思います。 .NETのインストールでもミスったんでしょうか…
239 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 17:12:49 ] VS2008でソースとかシンボルとか落としてきてSerializeの中追っかけてみたら何か分かるかもね
240 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 19:22:56 ] ある別の型(T)に変換できることを表すインターフェイスは無いの? IConvertible<T>みたいな
241 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 19:53:38 ] 標準ライブラリには無いな
242 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 21:12:35 ] is T じゃだめなのか?ダメだな。
243 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:19:27 ] クラス名にOfとか使うのってどうなんだろう。 たとえばContainerOfImage、ContainerOf3D、といった感じの名前の付け方。似た機能のクラスの頭文字が統一されて見やすいとは思うんだけど。
244 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:25:42 ] 不自然 英語としてどうかは置いといて,普通は見かけないから激しく違和感を感じる Ofのかわりにアンダーバー使ったりする方がまだ綺麗な気がする
245 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:25:56 ] それなんてVB.NET List(Of T) msdn.microsoft.com/ja-jp/library/6sh2ey19.aspx Of キーワード msdn.microsoft.com/ja-jp/library/067b2z78.aspx
246 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:31:14 ] ○○Of(引数)の形を除けば,メンバ名にもOfってあんまり見かけないよね
247 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:32:15 ] 別に Of なくてもいいと思う。 先にカテゴリを記述する命名スタイルは普通にある。 Of を名前に入れるのは、Of 込みで1つの熟語になってるようなものくらい。
248 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:35:22 ] DialogColorやStreamStringじゃ全然違う意味になっちゃうよ
249 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:51:31 ] 全部そう言う命名で統一されていれば気にならないもんさ。
250 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:09:30 ] >>240 変換出来るかどうかを知るだけなら、TypeConverter拾ってきて CanConvertTo(), CanConvertFrom()で良いと思う
251 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:37:45 ] C#で複数ファイルを一つに暗号化した上で纏めるツールを作ろうと思っているのですが、 例えば、次の3ファイルを1ファイルに纏めるにはどうすれば良いでしょうか? ※また、一纏めにするだけではなく、パスワードを入力する事により暗号化した上で1ファイルに纏めたい と思っています。当然複合化もしたいです。 【暗号化_前】 AAA.xls BBB.xls CCC.xls 【暗号化_後】 ABC.xls 【パスワード】 abc_dayo
252 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:43:07 ] 7zip32.dllでも呼べば?
253 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 01:01:41 ] >>252 あざーす。ぐぐってみます。
254 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 01:02:41 ] ふぇ…
255 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 10:13:08 ] ふぇっくしょん!
256 名前:デフォルトの名無しさん [2009/01/27(火) 12:26:20 ] if なんらかの条件 { なんらかの処理 } ボタン処理 のプログラムでなんらかの条件に当てはまったときにボタン実行が行えないようにするにはどうすればいいでしょう? プログラム自体わけわかめで日本語でおkは重々承知ですが、エスパーさん助けて;;
257 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 12:40:25 ] if なんらかの条件 { なんらかの処理 } else { ボタン処理 }
258 名前:デフォルトの名無しさん [2009/01/27(火) 12:59:42 ] まさにそのとおりのプログラムなのですが if なんらかの条件 @ { if なんらかの条件A { なんらかの処理A } else { なんらかの処理B } } ボタン処理 となっていて、なんらかの条件Aのときにボタン処理させないようにしたいので、頭ぐちゃぐちゃーとなっています。
259 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 13:02:41 ] なんらかの処理Aの最後でreturn;すればヨイヨイ