ふらっとC#,C♯,C#(初心者用) Part67
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/12/16(木) 18:23:33「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっとC#,C♯,C#(初心者用) Part66
http://hibari.2ch.net/test/read.cgi/tech/1290854247/
■関連スレ
C#, C♯, C#相談室 Part63
http://hibari.2ch.net/test/read.cgi/tech/1289733048/
VB.NET質問スレ(Part35)
http://hibari.2ch.net/test/read.cgi/tech/1284423653/
くだすれC++/CLI(初心者用)part2
http://pc12.2ch.net/test/read.cgi/tech/1268613679/
■備考
コードの量が多い場合は下記サイトを使うなどしたほうがいいかも
http://ideone.com/
コードを貼り付けてRun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます。
直接貼る場合は下記サイトなどを利用してhtmlエンコードした方が
インデントも残って見やすいです
http://kawama.jp/php/encode_html.php
0357デフォルトの名無しさん
2010/12/27(月) 13:28:34できるでしょ
でもシリアライズ用のクラスってpublicでいろいろ開放してないと使えなかったような
0358デフォルトの名無しさん
2010/12/27(月) 13:36:08かつ
読み書きのできるパブリックフィールドとプロパティだけだったと思うんだけど
嘘だったらごめん
0359デフォルトの名無しさん
2010/12/27(月) 13:41:58俺はインスタンス化しないとシリアライズできないと思ってるけど。
インスタンス化されたクラス?がよくわからん。
0360デフォルトの名無しさん
2010/12/27(月) 13:51:25あるクラスをシリアライズする場合に、プロパティにインターフェイスを継承している
項目をシリアライズしたいのです。
(Ex)
public class TextClass
{
public stirng Ex1 { get; set }
public int Ex2 { get; set; }
public IInterface { get; set; }
}
のようなクラスをシリアライズしたいのです。。
0361デフォルトの名無しさん
2010/12/27(月) 13:52:36public IInterfaceがとあるインターフェイスを継承したものを格納しています
0362デフォルトの名無しさん
2010/12/27(月) 13:54:41ありがとうございます。
複雑な外観・バインディング(データの同期?)
などをしたい時にWPFを勉強しようと思います
0363デフォルトの名無しさん
2010/12/27(月) 14:25:36インターフェースを格納したいって話?
0364デフォルトの名無しさん
2010/12/27(月) 14:31:35XmlSerializerは構築されるときにシリアライズ・デシリアライズするすべての型を知ってる必要がある
interfaceとかabstract classがメンバに含まれるなら、そのメンバが取り得るすべての型を教えておかないといけない
普通はXmlElement属性でそういうメンバにこういう型こういう型があり得るってことをマークする
属性ベースで静的に設定できない場合、XmlSerializerのコンストラクタ引数で指定する
> public IInterfaceがとあるインターフェイスを継承したものを格納しています
IInterface以外(だけ)を継承してたらびっくりだ
0365デフォルトの名無しさん
2010/12/27(月) 14:57:03>>364ありがとうございます。XmlElementは3.0からのサポートなので
2.0で開発している現在は使えれませんね;w;
コンストラクタの引数の方法で試してみたいと思います。
0366デフォルトの名無しさん
2010/12/27(月) 15:18:43> >>364ありがとうございます。XmlElementは3.0からのサポートなので
> 2.0で開発している現在は使えれませんね;w;
んなことない
XmlElement属性(XmlElementAttributeクラス)は.NET 1.0から存在する
0367デフォルトの名無しさん
2010/12/27(月) 15:22:430368デフォルトの名無しさん
2010/12/27(月) 16:11:200369デフォルトの名無しさん
2010/12/27(月) 16:11:520370デフォルトの名無しさん
2010/12/27(月) 16:56:41C/C++でいうところの関数ポインタだよ
0371デフォルトの名無しさん
2010/12/27(月) 17:22:450372デフォルトの名無しさん
2010/12/27(月) 18:19:180373デフォルトの名無しさん
2010/12/27(月) 18:20:18+とか-で登録削除可能なので違うといえば違うんだけどねw
0374デフォルトの名無しさん
2010/12/27(月) 18:27:01デリゲートは関数ポインタ+呼び出し先のインスタンスへのポインタ
0375デフォルトの名無しさん
2010/12/27(月) 20:41:13に含まれているSPUtility クラスを使ったプログラムをC#で作った場合、
Windows SharePoint Services 3.0をインストールしていないパソコンでも動きますか?
0376デフォルトの名無しさん
2010/12/27(月) 20:55:22チュートリアル : オブジェクトによるダイアログ ボックス情報の一括取得
ttp://msdn.microsoft.com/ja-jp/library/cakx2hdw.aspx
0377デフォルトの名無しさん
2010/12/27(月) 20:59:21SPUtilityクラスが含まれてるDLLはSharePoint Servicesに含まれてるんだろ?
動くわけないじゃん
当該DLLのローカルコピーを配布してしまえば動くかもしれないけど
おそらくライセンス違反(要確認)
0379デフォルトの名無しさん
2010/12/27(月) 22:03:280380デフォルトの名無しさん
2010/12/27(月) 22:38:48調べてるうちにWPFの勉強したくなりました。
XAMLは意外と馴染みやすかったので大丈夫そうです。
機能面がいまいち分からないのですが、
これ便利・かなり使うからやっとけって機能ありませんか??
0381デフォルトの名無しさん
2010/12/27(月) 23:06:17というわけでWPFスレへどうぞ
0382デフォルトの名無しさん
2010/12/27(月) 23:28:54{
presskey(VK_SPACE, 20);
startcap((int)Math.Ceiling(power * 360 / 100) + 3);
presskey(VK_SPACE, 20);
if (power >= 80)
{
startcap(175);
}
startcap(hidoffset);
presskey(VK_SPACE, 20);
}
↑にGetAsyncKeyState()を使用してCtrlを押している時はスペースを押さないという構文を入れたいのですが
short sw;
sw = GetAsyncKeyState(17);
if (sw == 0)
{
presskey(VK_SPACE, 20);
}
GetAsyncKeyState()使用宣言をした上でこれを入れても上手く行きません。
どなたか入れ方等のアドバイスを頂けませんでしょうか?全くのド素人なのでメチャクチャな事を言っていたらすみません。
0383デフォルトの名無しさん
2010/12/27(月) 23:37:28デバッグ確認が毎回出てうざいんだけど
無効に出来ませんか?
0384デフォルトの名無しさん
2010/12/27(月) 23:41:120385デフォルトの名無しさん
2010/12/27(月) 23:42:170386デフォルトの名無しさん
2010/12/27(月) 23:43:26http://dobon.net/vb/dotnet/form/keypreview.html
http://sourceforge.jp/projects/cs2h/svn/view/Tetris/Tetris/Form1.cs?view=markup&root=cs2h
0387デフォルトの名無しさん
2010/12/28(火) 01:13:50ページに入れたPanelオブジェクトをチェックボックスのONとOFFで表示/非表示を
JavaScriptで制御する作りを実装しました(仕様としてポストバックでのチェックはできません)
単にvisibleで制御しても出来ないため、Panelのstyle属性にdisplay:blockを埋め込み、とdisplay:noneと切り替えて
とりあえず表示と非表示の制御はできるようになったのですが、ボタンを押した時のイベントのコードビハインドで、
Panelオブジェクトが表示されているか、非表示かも取得したいのですが、どうにも上手くいきません
1.JavaScriptで処理実行時にsetAttributeも一緒に入れて、style属性のdisplayも切り替える→チェックできず
2.いっそPanelのvisibleプロパティを無理やり取ってみる→そもそも設定していないので全てtrueで返ってくる
3.style.valueを取得してチェックしてみる→aspx側で設定した値しか返ってこない(1と類似)
と、色々やってみたのですが…。
無知で申し訳ないのですが、どなたか上手い方法を知っていらっしゃる方いますでしょうか?
Panelを使っていることがそもそも間違っているのかもわかりません
スレ違いでしたら申し訳ありませんが、宜しくお願いします
0388デフォルトの名無しさん
2010/12/28(火) 07:06:21コントロールじゃないただのhiddenを置いても、Request.Paramsに反映されるはず
どのDOMイベント/JavaScript関数で処理するのがベストかは忘れたんで自分で調べてね
0389デフォルトの名無しさん
2010/12/28(火) 12:06:01正規表現を使う場合は、最初にヒットしたものを置換というのは調べればできそうなのですが、
使わない場合はたとえば
string s = "ccc\naaa\nbbb\naaa\n";
s = s.Replace("aaa","ddd");
とやると両方のaaaが置換されてしまいます。
これを最初のaaaや2番目のaaaだけ置換するというのはできないでしょうか?
0390デフォルトの名無しさん
2010/12/28(火) 12:07:42いきなり置き換えじゃなく検索して列挙した後お好きなように調理すればいい
0391デフォルトの名無しさん
2010/12/28(火) 12:10:44あーーーーなるほど!
ReplaceじゃなくてIndexOfでやればいいんですね。
ありがとうございます。
0392デフォルトの名無しさん
2010/12/28(火) 13:19:00Ver1,2,3,4…としたいです。それぞれのバージョンは残していきたいです。
今のところ既存のフォルダをコピーしてフォルダ名とプロジェクト名を変更していきながら作っていこうかと思っているのですが、
このような場合のスマートな方法があるなら、教えてください。
0393デフォルトの名無しさん
2010/12/28(火) 13:20:280395デフォルトの名無しさん
2010/12/28(火) 14:02:210396デフォルトの名無しさん
2010/12/28(火) 14:34:19{smartassembly} とういうソフトで、
難読化されたアセンブリをソースコードレベルに戻したいんですが
どうすればよいでしょうか?
また、解除できるなら、難読化解除を100パーセント防ぐにはどうしたらいいでしょうか?
0397デフォルトの名無しさん
2010/12/28(火) 15:00:560398デフォルトの名無しさん
2010/12/28(火) 15:35:10しかし、マルチスレッドを用いるプログラムや、インポートしたアセンブリ、
プラグイン等でも簡単にデバッグが行える
VisualStudioでコンパイルできることを想定した場合、その方法だと
実現できるでしょうか?
Reflector等で、メソッドやフィールドの難読化された名前は
見られてしまうのは仕方ないかもしれません。
結局有効なのは、上記のsmartassembly他と同様に、
実行速度を犠牲にし
メソッドの開始時点に不要なジャンプ命令を組み込むしかないのかもしれません
0399デフォルトの名無しさん
2010/12/28(火) 15:54:46重要な情報を隠すという意味ではローカルである限り、どんな暗号化でも完全にはならないし
0400デフォルトの名無しさん
2010/12/28(火) 17:02:34Reflectorや、spices.NET等のツールを用いて
IL以外のC#やVB等の言語で
メソッドの中身を容易に見れなくしたいのです。
例えばrefleectorであれば
"// This item is obfuscated and can not be translated."
が表示されるか、または例外を発生させるようにしたかったのです。
0401デフォルトの名無しさん
2010/12/28(火) 17:44:04参考になるサイトや、参考書などありましたら教えていただけたら幸いです。
0402デフォルトの名無しさん
2010/12/28(火) 17:45:13C#のAPI一覧とかのってるサイトあったら教えてください お願いします。
0403デフォルトの名無しさん
2010/12/28(火) 17:46:540404デフォルトの名無しさん
2010/12/28(火) 17:47:43C#とAPI(Win32API)との関係をよく分かってないだろ
0405デフォルトの名無しさん
2010/12/28(火) 18:07:55ここを参考にテキストボックス内へファイルのドラッグ&ドロップというのはできたのですが、
フォルダのドラッグ&ドロップで中身のファイル名を取得するというのがわかりません。
最終的にDragDropイベント・ハンドラ内の
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
この部分をフォルダがドロップされてもファイルがドロップされても取得できるようにしたいのですが
どうしたらいいでしょうか?
System.IO.Directory.Exists(d))で分岐させればいいのかなとは思うのですが、
e.Effect = DragDropEffects.Copy;
この部分にどうつなげるかわかりません。
0406デフォルトの名無しさん
2010/12/28(火) 18:08:06MenuItemクラスの Shortcutプロパティの値は、
Shortcut列挙体のメンバー以外は指定できないのでしょうか?
0407デフォルトの名無しさん
2010/12/28(火) 18:12:31http://dobon.net/vb/dotnet/internet/usecredentials.html
.NETなら標準のコントロールやメソッドが用意されて簡単に作成できるかもしれませんが
開発期間に余裕があり、後々のことを考えると、
まずはHTTPの仕様などwebの基礎から勉強し、
.NETの基礎を@IT等のサイトで調べるのがいいかもしれません。
書籍なら"プログラミング.NET framework"や
"プログラミング Microsoft ASP.NET"が、私はまったく読んでませんがよく
お勧めとされているようです。
コードがそのままのっている本はその場限りで理解につながらないもしれません
その他、サンプルコード等は英語ですがcode project,source forge.net,koders.com,code plexが
あります。
http://www.pinvoke.net/等もwin32APIを使う上で参考になります。
また、googleのコード検索もかなり使えます。
0408デフォルトの名無しさん
2010/12/28(火) 18:24:18C#でWin32APIを使うには、dllを定義をしないといけないんだよ。
PInvokeてサイトをググって、サンプルコード探すのが速いかな。
ほかにマーシャリングって知識も必要かもしれない。
おれもよく分からないんだけど、その辺調べたら使えるようになった。
0409デフォルトの名無しさん
2010/12/28(火) 18:33:47private void _DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
}
private void _DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
string[] strs = e.Data.GetData(DataFormats.FileDrop, false) as string[];
if (strs == null || strs.Length == 0)
{
return;
}
for (int c = 0; c < strs.Length; c++)
{
if (Directory.Exists(strs[c]))
{
string[] fileNames = Directory.GetFiles(strs[c]);
}
else
{
}
}
}
0410デフォルトの名無しさん
2010/12/28(火) 18:57:29できるかどうか不明ですが
public Form1()
{
InitializeComponent();
this.KeyPreview = true;
shortCutkey = Keys.A;
menuitem.Text = "A";
menuitem.Shortcut = Shortcut.F1;
menuitem.Click += new EventHandler(menuitem_Click);
MainMenu ms = new MainMenu();
ms.MenuItems.Add(menuitem);
this.Menu = ms;
}
MenuItem menuitem = new MenuItem();
Keys shortCutkey = Keys.None;
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (shortCutkey != Keys.None &&
shortCutkey == keyData)
{
menuitem_Click(menuitem, new EventArgs());
}
return base.ProcessCmdKey(ref msg, keyData);
}
0411デフォルトの名無しさん
2010/12/28(火) 21:33:00位置を測定するプログラムを書いています.
現在接続中の無線の強度を獲得することは出来たのですが,
接続していない他の無線の強度の獲得の仕方がわかりません.
別のところに繋ぎ変えないでやるという制約がありますが,どうでしょうか.
よろしくお願いします.
0412デフォルトの名無しさん
2010/12/28(火) 21:39:50byte配列に格納したwavデータをPlaySoundで再生してたんですが、
☆PlaySound(wavData.wavVolChange(bytes, vol), 0, SND_MEMORY | SND_SYNC);
PlaySoundだと再生と停止は出来ても、一時停止ができないことがわかりました。
しかし、一時停止可能な再生方法を調べてみても、やり方がさっぱりわかりません。
もしもbyte配列のwavデータを再生、停止、一時停止可能な再生方法をご存知の方がいましたら、
この卑しい豚に助言というエサをお与えください。
0413デフォルトの名無しさん
2010/12/28(火) 21:48:04できました!!ありがとうございます!!!
0414デフォルトの名無しさん
2010/12/28(火) 21:50:270415デフォルトの名無しさん
2010/12/28(火) 21:51:390416デフォルトの名無しさん
2010/12/28(火) 21:54:520417デフォルトの名無しさん
2010/12/28(火) 21:57:16つまりどういうことだ?
0418デフォルトの名無しさん
2010/12/28(火) 22:12:260419デフォルトの名無しさん
2010/12/28(火) 22:15:03DirectAudio
XAudio
ActiveXのWMP
WPFのMediaElement(一番簡単)
0420デフォルトの名無しさん
2010/12/28(火) 22:16:500421デフォルトの名無しさん
2010/12/28(火) 22:28:40ありがとうございます
下から試してみます
0422デフォルトの名無しさん
2010/12/28(火) 23:38:070423デフォルトの名無しさん
2010/12/29(水) 00:11:01イベントハンドラを複数登録した場合の実行順は未定義だと思います。
という事はカスタムコントロールではイベント拾っちゃダメですか?
例えば
TextBoxを継承し、Validatingイベントで大文字小文字、全角文字の有無、
文字数などの情報を自身のPublicプロパティにセットする
(利用者側がValidating時に判断材料として使う。)
という設計もダメですよね
OnValidating使えという話だとは思いますが、
グリッドの列やタブページ等、それが通用しないコントロールもあると思いまして。
0424デフォルトの名無しさん
2010/12/29(水) 00:20:150425デフォルトの名無しさん
2010/12/29(水) 00:27:04別に継承後の設計なんだから自分の好きなように
0426デフォルトの名無しさん
2010/12/29(水) 02:28:33可能ならばそうしたいところです
>>425
悩みますね、もう少し調べてみます。
0427デフォルトの名無しさん
2010/12/29(水) 02:39:45そういう約束が通じないような、不特定多数が使うちゃんとしたコントロールなら、
出来合いのコントロールの継承なんてやるべきじゃない
0428デフォルトの名無しさん
2010/12/29(水) 03:07:23ttp://social.msdn.microsoft.com/Forums/ja-JP/csharpgeneralja/thread/28b87b7c-b408-4b50-8290-d552f39e945f
0429デフォルトの名無しさん
2010/12/29(水) 03:16:44サーバAのWeb.ConfigにはmaxRequestLengthの記載をしている(2MBの設定)
サーバBのWeb.ConfigにはmaxRequestLengthの記載をしていない(既定値4MBの設定だという認識)
↓
サーバAでの処理でサーバBを通してCSVデータを出力する処理を実装
少量データでは問題ないが、数千件のデータを出力しようとするとエラーになる
試しにサーバBのWeb.ConfigにmaxRequestLengthの記載をすると正常終了する
正常終了した後でCSVデータのファイルサイズを見ると、2MBにも満たない
・何故サーバBにmaxRequestLengthを記載すると正常終了するのかわからない。既定値の4MBでは?
・何故出力したCSVデータサイズがサーバAで設定した2MB以下なのにエラーになるかわからない。ファイルサイズは関係ない?
処理はできたのですが理由がわからず悩んでいます・・・
どなたか馬鹿にでもわかるように教えていただけないでしょうか?
0430デフォルトの名無しさん
2010/12/29(水) 03:42:00「サーバAでの処理でサーバBを通してCSVデータを出力」
意味不明なので、日本語を見直してください。
web.configにmaxRequestLengthを設定しないときのMaxRequestLengthの
値を確認しましたか?
あなたの出力したCSVのサイズはどうでもよくて、maxRequestLengthは
Webサーバに対するHTTPリクエストのbodyサイズだと思いますが、
HTTPリクエストはどんな内容ですか?
0431デフォルトの名無しさん
2010/12/29(水) 10:30:260432デフォルトの名無しさん
2010/12/29(水) 10:48:16TextBox1に振り分けたいアイテムを改行ごとに入力していき、
ボタンひとつでTextBox2,TextBox3にランダムに振り分けていくのですが、
奇数のときの対処も含め教えてください。
0433デフォルトの名無しさん
2010/12/29(水) 10:50:13何を言いたいのか・・・
0434デフォルトの名無しさん
2010/12/29(水) 10:57:07余りを計算する
そういう話じゃないかと
0435デフォルトの名無しさん
2010/12/29(水) 11:00:531.TextBox1から、改行で区切ってアイテムを取り出す方法
2.ボタンで、ランダムにアイテムをTextBox1,2へ振り分ける方法
3. 1で取り出したアイテムが奇数の時の対処法
以上の3点を教えて頂きたい。
0436デフォルトの名無しさん
2010/12/29(水) 11:12:151 TextBoxは行数情報と各行単位の情報を簡単に取り出せる
行数はこれで取得 TextBox.Lines.Length
でこんな感じでアクセス
http://ideone.com/9JG7W
2 ランダム関連を調べろ
3 自分で設計しろ。ランダム振り分けなんで奇数行だろうが偶数行だろうが問題ないと思うが
コピー後のTextBoxに同じライン数ないといけないとかなると最後の行を処理しないか
偶数行になるように行を捏造するかしないとだめだろけど俺が決める仕様じゃないので知らないというか・・
0437デフォルトの名無しさん
2010/12/29(水) 11:35:16その対応するプロパティ名と同じスタティックなクラスを呼び出す場合どのようにしたらよいでしょうか?
実際にしたいことはテーブル情報とDataの入ったエンティティとを比較し、文字列制限チェックやヌルチェックなど
を行いたいです。
Type typeData = tyeof(typeData);
PropertyInfo[] pi = tyepInfo.GetProperties();
foreach(var p in pi)
{
ここにp.Nameで取得した名前とスタティックなクラス
の名前を対応付けて処理をしたい。
}
//スタティックなクラス
public static class InfoTable
{
public static class Person//このPersonという名前とプロパティ名を緋付けたいです。
{
public static string ColName { get { return "列名"; } }
public static int MaxSize { get { return 100; } }
public static bool NotNull { get { return false; } }
}
}
0438デフォルトの名無しさん
2010/12/29(水) 11:38:570439デフォルトの名無しさん
2010/12/29(水) 11:45:290440437
2010/12/29(水) 14:23:14そのメソッドを使って取得できたのですが・・・今度はEntity側の取得方法で詰まってしまいました;w;
どのようにして該当プロパティの値を取得すればよいでしょうか?よろしくおねがいいたします。
public void ToCheck(SomethingEntity typeData)
{
Type typeInfoEnt = typeData.GetType();//エンティティの型情報取得
Type typeInfoTable = typeof(SomethingEntityTable table);//エンティティのテーブル型情報取得
PropertyInfo[] pi = typeInfoEnt.GetProperties();//エンティティのプロパティのArray取得
foreach (var p in pi)
{
var t=typeInfoTable.GetNestedType(p.Name);//エンティティのプロパティの名前と同じ名前のクラスを取得
int? maxSize = t.InvokeMember("MaxSize",BindingFlags.GetProperty,null,0,null) as int?;
bool? notNull = t.InvokeMember("NotNull", BindingFlags.GetProperty, null, 0, null) as bool?;
//ToDo:ここにテーブルの値(maxSizeとnotNull)を条件としたチェックを行う
//現在選択されているpのプロパティのtypeDataの情報が欲しいです・・・
}
}
0441デフォルトの名無しさん
2010/12/29(水) 14:40:390442デフォルトの名無しさん
2010/12/29(水) 14:52:59{
var testValue = p.GetValue(typeData , null );
//var testValue = p.GetValue(typeData , null ) as string ;
で試したけどうまく行かず@w@
0443デフォルトの名無しさん
2010/12/29(水) 15:08:390444デフォルトの名無しさん
2010/12/29(水) 15:49:260445デフォルトの名無しさん
2010/12/29(水) 15:52:550446デフォルトの名無しさん
2010/12/29(水) 16:25:480447デフォルトの名無しさん
2010/12/29(水) 16:46:120448デフォルトの名無しさん
2010/12/29(水) 17:30:16. ハ,,ハ ミ _ ドスッ
. ( ゚ω゚ )彡―─┴┴─―
* * * \ / つ お断りし / ハ,,ハ
* * \ 〜′ /´ └―─┬/ ( ゚ω゚ ) お断りします
* ハ,,ハ * \ ∪ ∪ / / \
* ( ゚ω゚ ) * .\ / ((⊂ ) ノ\つ))
* お断りします *. . \∧∧∧∧/ (_⌒ヽ
* * < > ヽ ヘ }
* * * < の し お > ε≡Ξ ノノ `J
────────────< 予 ま 断 >────────────
. オコトワリ < 感 す り >
ハ,,ハ ハ,,ハ .ハ,,ハ <. !! > ハ,,ハ
. .( ゚ω゚ ) . ( ゚ω゚ ) ( ゚ω゚ ) /∨∨∨∨\ ( ゚ω゚ )<お断り .ハ,,ハ
│ │ │ / .\ します>( ゚ω゚ )
,(\│/)(\│/)(\│ /. \
/ ♪お断りします♪ \
/ ハ,,ハ ハ,,ハ .ハ,,ハ ハ,,ハ\
. ( ゚ω゚ ) ( ゚ω゚ ) ( ゚ω゚ ) ( ゚ω゚ )
0449デフォルトの名無しさん
2010/12/29(水) 17:59:360450432
2010/12/29(水) 20:47:43ありがとうございます。
http://ideone.com/o6QU0
@ITや、436さんのコードほぼ丸コピでなんとかここまで出来ましたが、
ATxtBxとBTxtBxのアイテム数を同じにする方法が分かりません。
何度も書きましたが、奇数時の処理(どちらかに+1)も教えて頂きたい!
0451デフォルトの名無しさん
2010/12/29(水) 20:51:30奇数時に何がどうなれば満足なのよ。
その通りに作れ。
0453デフォルトの名無しさん
2010/12/29(水) 20:57:19難しく考えすぎだろw
>>436のコード書いた際にライン数を強調したのは
ライン数の範囲でランダム振り分けを繰り返せば
いいからだと思ったからだよ
奇数ラインの場合振り分け後のアイテム数を同じには
質問されてる方はわからないw
その辺はそういう仕様を自分で決めるかそのプログラムを
出題した?人とかと話して調整するしかないよw
0454デフォルトの名無しさん
2010/12/29(水) 23:54:17ItemTxtBxから取り出した文字列を一旦、配列にしまいこんで、その配列をランダムに並び変えてから、
その配列から一列ずつ取り出してATxtBxとBTxtBxに交互に入れていく。
奇数だったら一列残るから、そのときはATxtBxとBTxtBxのどちらかにランダムで入れるみたいな感じで
0455デフォルトの名無しさん
2010/12/30(木) 09:35:49スタティックメソッドじゃダメなの?
0456デフォルトの名無しさん
2010/12/30(木) 09:56:00■ このスレッドは過去ログ倉庫に格納されています