- 1 名前:デフォルトの名無しさん [2010/03/20(土) 02:15:38 ]
- このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 >>980を踏んだ人は新スレを建てて下さい。 >>980が無理な場合、話し合って新スレを建てる人を決めて下さい。 ふらっとC#,C♯,C#(初心者用) Part56 pc12.2ch.net/test/read.cgi/tech/1267348401/ 関連スレ C#, C♯, C#相談室 Part55(実質56) pc12.2ch.net/test/read.cgi/tech/1260111240/1 VB.NET質問スレ(Part33) pc12.2ch.net/test/read.cgi/tech/1263738929/1 C++/CLI part3 pc12.2ch.net/test/read.cgi/tech/1206447234/1
- 692 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 22:46:49 ]
- 型の制約があるものより汎用的なテキストでやり取りする方が無難かもねえ
相談かこっちか忘れたけど以前同じようなdllを呼び出すアプリの相談で httpでやり取りする形にしてみたら?ってのがあったな
- 693 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 22:52:56 ]
- >>691
よく見たらST_SAMPLE**だったのか C#側の引数の型をIntPtr[]にしてそれぞれポインタの参照先に ST_SAMPLEDLL一つ分のメモリを割り当てておかないと
- 694 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 22:53:47 ]
- バイト配列が一番わかりやすいよ。
- 695 名前:665 mailto:sage [2010/03/29(月) 22:58:22 ]
- >>692
時間がたっぷりあって、許されるなら、DLLをC++か何かで 書き換えたいところですが、そうもいかず・・・。 このインターフェースは我慢するしかないですね。 >>693 です。ダブルポインタです。 そこなのですが codepad.org/SnH7gdwI このサイトに張ったソースの37行目でDLLに渡すメモリの実態自体は用意しているので、 大丈夫かと思ってたのですが、それとは別に確保するという事ですか? あと、宣言は、こっちの方がいいってことですね。 [System.Runtime.InteropServices.DllImport("MY_Dll.dll", EntryPoint = "test")] unsafe public static extern int test_call( IntPtr[] pstList);
- 696 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:00:44 ]
- IntPtrのみでいいはずだけどな。
Cでは、基本的に配列はメモリ上に整列するし。
- 697 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:04:37 ]
- ダブルポインタだからポインタの配列を渡さないといけない(だからIntPtr[])
しかもC側でポインタの参照先にアクセスしてるから予めそれぞれ実体を割り当てとかないと
- 698 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:11:52 ]
- 配列はポインタで受けれるけど、ってやつか。
- 699 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:12:03 ]
- >>696
私もそう思ってて、そこではまってます。。 >>697 >しかもC側でポインタの参照先にアクセスしてるから予めそれぞれ実体を割り当てとかないと そこなのですが、 testPtr1 = Marshal.AllocCoTaskMem(Marshal.SizeOf(typeof(ST_SAMPLEDLL)) * (int)10); これで、領域を確保して、 次に test_call(testPtr1); 渡してるので、少なくとも構造体ST_SAMPLEDLLを10個分はメモリとして 確保してると思ってますが、この処理のほかに必要とうい事でしょうか? その後、取れたのをMarshal.PtrToStructure()で取り出す処理になってます。
- 700 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:15:27 ]
- = () => って表記、他に候補なかったのかよ!と書く度に思う。タマゴとコンニャクでオデン喰いたくなるw
- 701 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:21:09 ]
- C#でいう「参照型の配列」と同じだ。
並んでるのは実体じゃなくてポインタで,それぞれのポインタがどこか別の場所にある実体を参照してる。 IntPtr[] testPtr1 = new IntPtr[10]; for (int i = 0; i < 10; i++) { testPtr1[i] = Marshal.AllocCoTaskMem(Marshal.SizeOf(typeof(ST_SAMPLEDLL))); } test_call(testPtr1); こうする。 取り出すときはそれぞれの要素に対してMarshal.PtrToStructureを呼べばおk
- 702 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:27:48 ]
- DLLとC#の間にもう一個DLL挟めばいいんだよ
- 703 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:29:37 ]
- >>701
なんといいますか・・・。 頭が下がるばかりです。 なるほど、納得しました。
- 704 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:32:31 ]
- もともと
x⇒x*2; みたいな感じではなかったのあれ 1バイト文字に⇒がなかったから代用みたいな よくしらんけど
- 705 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:35:16 ]
- これで上手くいったと書こうと思ったら>>701に先越された。CallingConvention忘れないでね。
using System; using System.Runtime.InteropServices; [StructLayout(LayoutKind.Sequential, Pack=4)] public struct ST_SAMPLEDLL { public byte cCount; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)] public byte[] strBuff; } class Hoge { [DllImport("u.dll", EntryPoint = "test", CallingConvention=CallingConvention.Cdecl)] unsafe public static extern int test_call([MarshalAs(UnmanagedType.LPArray), In, Out] IntPtr[] pstList); static void Main() { IntPtr[] stSample = new IntPtr[10]; for (int i = 0; i < stSample.Length; ++i) { stSample[i] = Marshal.AllocCoTaskMem(Marshal.SizeOf(typeof(ST_SAMPLEDLL))); } // DLL呼び出し test_call(stSample); ST_SAMPLEDLL[] st = new ST_SAMPLEDLL[10]; for (int i = 0; i < st.Length; ++i) { st[i] = (ST_SAMPLEDLL)Marshal.PtrToStructure(stSample[i], typeof(ST_SAMPLEDLL)); Marshal.FreeCoTaskMem(stSample[i]); } Console.WriteLine((int)st[0].cCount + " " + (int)st[0].strBuff[0]); Console.WriteLine((int)st[1].cCount + " " + (int)st[1].strBuff[0]); }}
- 706 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:40:06 ]
- なんでCdecl?
- 707 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:40:19 ]
- >>705
なんていうか・・・俺って頭の回転速いから自然と先越しちゃうんだよ。(笑) 肩を並べる奴は誰も現れないって感じだ。(笑)
- 708 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:41:32 ]
- >>707
おい 俺のフリをするな
- 709 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:42:58 ]
- >>706
codepad.org/SnH7gdwI で__stdcallが指定されていないから。 まさかコンパイルオプションでstdcallを指定しているなんてオチがあるわけないと思ってCDeclと仮定した。
- 710 名前:701■Agei32s4 mailto:sage [2010/03/29(月) 23:44:05 ]
- 騙りばっかだな。トリつけとくわ。
- 711 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:44:35 ]
- ですね
- 712 名前:665 mailto:sage [2010/03/29(月) 23:55:44 ]
- >>705
>>709 具体例、サンクス! 少し話しが出たので、質問なのですが、 DLL側で__stdcallが指定されていた場合、話しは違ってくるのでしょうか?
- 713 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:59:11 ]
- うん。
- 714 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 00:01:18 ]
- 文字列でやり取りするのが今時
- 715 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 00:02:31 ]
- そんなことない。
- 716 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 00:03:15 ]
- WinFormsのP/Invokeを全部標準入出力に替えたらとんでもないことになるな
- 717 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 00:06:56 ]
- >>715
ネットワーク越しにwebAPI呼び出してxmlなどのテキストで回答を許容できる時代なんだから スタンドアロンでやっても問題ないだろ そうすればGUIだけC#で書いて古いDLLは常駐してhttpをリスナーする小さいプログラム書けば いいのでVC++の無料でも余裕で開発できる
- 718 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 00:07:42 ]
- どんだけ遅いと思ってんだよ。バカジャネーノ
- 719 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 00:08:00 ]
- >>713
実は、会社の帰り際に「WINAPIは__stdcallで宣言するのが標準」という記事を見つけたので、 淡い期待を抱きながら、「明日試そう・・・」と思っていたところでした。 スタックの開放タイミングの違いとうい事ですか(う〜ん汗)
- 720 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 00:12:45 ]
- 直接は関係ない。関数から戻るときの問題だし。
- 721 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 00:16:05 ]
- やれやれ
- 722 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 07:25:47 ]
- テキストファイルでやりとりすべきだな
- 723 名前:665 mailto:sage [2010/03/30(火) 11:56:25 ]
- 回答を下さった方々、有難う御座いました。
無事、思うような動作が出来ました! (感謝感謝) 私の後ろの初めてを捧げたいぐらいの感動です。 ここの所、ず〜っとこれで悪戦苦闘してましたので・・・。 有難う御座いました。
- 724 名前:デフォルトの名無しさん [2010/03/30(火) 11:57:01 ]
- UserControl 作るとツールボックスに表示されますが、
表示させたくない場合はどうすればいいですか?
- 725 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 11:59:17 ]
- >>723
よしではいくぞ >>724 無理じゃね? クラスライブラリで分離しておくとかすれば可能かな・・・
- 726 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 12:34:16 ]
- >>723
2番目をくれ
- 727 名前:665 mailto:sage [2010/03/30(火) 12:55:41 ]
- >>725
>>726 夢を打ち砕いてすまないのだが、 一応、私は「男」です
- 728 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 12:57:39 ]
- >>727
あたりまえだろ。女なんて嫌だ
- 729 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 12:58:12 ]
- 知ってて言ったのにw
マジな返答くるとは思わなかった ばっちこーいのAAでも貼ってくるかと期待したのに
- 730 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 13:05:19 ]
- >>724
それらしい属性探して、無ければ諦めれ
- 731 名前:665 mailto:sage [2010/03/30(火) 13:25:07 ]
- っく・・・
変態ばっかりだったとは・・・。
- 732 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 13:30:28 ]
- 軽いキャッチボールだよw
- 733 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 13:58:43 ]
- おまえらToolboxItemAttributeもしらねえのかよ・・・
- 734 名前:デフォルトの名無しさん [2010/03/30(火) 19:27:29 ]
- さぁって、今日はどんな馬鹿が釣れるかな? 枠々
- 735 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 21:15:14 ]
- >>724
AutoToolboxPopulate というのがVSにはあるらしい でも単独配布のEEにはないんだよな
- 736 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 21:18:19 ]
- 何かうまく動かないなーと思ったらRectangleのBottomってTop+Heightなんだ
原点0で高さ64なら下の座標は63だとばかり思ってたよ…
- 737 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 21:26:56 ]
- >Bottom プロパティの値は、Rectangle に含まれない、Rectangle の下端にある最初の点の y 座標を表します。
確認を怠るのが悪い。
- 738 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 21:43:10 ]
- プログラミング自体初心者で、昨日初めてC#を始めて見ました。
visual C# 2008を使ってGUIでグラフを表示させたいんですが、どうすればいいんでしょうか? 参考になりそうなサイトなどあれば教えてください。
- 739 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 21:52:02 ]
- www.microsoft.com/downloads/details.aspx?familyid=130F7986-BF49-4FE5-9CA8-910AE6EA442C&displaylang=ja
実用的なのはこれ プログラミングの勉強で関数のグラフを自分で描いたりするんだったら C# paint でググる
- 740 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 22:04:27 ]
- >>739
ありがとうございました。 自己解決しました。
- 741 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 22:32:24 ]
- C#は.net frameworkと同じ意味?
- 742 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 22:34:13 ]
- 違う
- 743 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 22:39:04 ]
- 同じ
- 744 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 22:40:03 ]
- .net frameworkは土台
その上で動くプログラムを書けるのがVC#とかVB.netなど
- 745 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 22:52:42 ]
- 言語仕様上はC#は.NET Frameworkとは無関係ということになってる
- 746 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 22:53:15 ]
- 違う
- 747 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 22:53:59 ]
- Monoはネイティブコード吐けるし…
- 748 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 22:56:24 ]
- それラインタイム一緒に事前コンパイルしてるだけで無駄が大きいけどね
- 749 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 23:00:46 ]
- 一応言語仕様の上ではCLIにも依存してない
言語仕様に最低限必要なライブラリが書いてあるのでそれを一通り実装しさえすれば C#と名乗れる
- 750 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 23:09:54 ]
- 名乗れるね
- 751 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 23:10:14 ]
- 違う
- 752 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 23:19:03 ]
- もう何がなんだかw
- 753 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 00:00:07 ]
- どこが「違う」か指摘できない馬鹿は放っておけ
- 754 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 00:12:05 ]
- ですね
- 755 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 02:39:38 ]
- >>739配布するときにも相手にはそれをインスコさせなきゃ駄目?
それとも、自動的に組み込んでくれる?
- 756 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 03:26:39 ]
- 90
- 757 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 04:59:13 ]
- >>755
.netその物と同じで相手側にも入ってないとだめかもね
- 758 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 06:15:46 ]
- だめかもね
- 759 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 07:36:45 ]
- >>755
ライブラリの dll ファイルは 標準のアセンブリフォルダーの下か、 exe と同じフォルダーにあれば OK なんで exe と同梱で配布すれば OK。
- 760 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 10:55:33 ]
- include <stdio.h>
using System int Main(void){ System::Console::WriteLine("にちゃんねらー死ね"); }
- 761 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 11:23:17 ]
- >>760
ここはニュー速のプログラミングスレじゃないですよ
- 762 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 11:28:37 ]
- なんでC++/CLIなんだよイライラするなあ死ね
- 763 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 11:37:00 ]
- C++/CLIならmainだろ
include <stdio.h> using System;も必要ない
- 764 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 11:39:16 ]
- やたら丼を書いている奴だろ
- 765 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 12:45:58 ]
- 同じマシン、同じソフトで印刷プレビューするときにプリンタ2台で
1枚でも40秒と3分の差があるんですけど、印刷の実行速度は プリンタドライバも関係してくるんですか? 3分かかるのは9年前発売のプリンタで、40秒かかるのは 最近発売のプリンタですけど。
- 766 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 12:50:17 ]
- そりゃまあレンダリングするのはドライバだしな
- 767 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 12:59:46 ]
- >>766
なるほど。 ありがとうございます。
- 768 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 13:51:04 ]
- >印刷プレビューするとき
これはプリンタのほうでプレビューってことだよな? 自分でプレビュー画面作るってわけでもなく だとしたら>>766の通りだけどC#関係なくね?
- 769 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 14:16:03 ]
- プレビューの速さの話が途中から印刷の実行速度の話になってるからな
- 770 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 14:28:59 ]
- フォームプロジェクトに追加したユーザーコントロールをデザイナで配置したいのですが、ツールボックスに表示されません。
調べてみると Windowsフォームコントロールライブラリ という別プロジェクトでDLLを作成し、 それを介する方法しか発見できませんでした。 DLLを介する以外に方法があれば教えてください。
- 771 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 14:51:56 ]
- メニューのツールのオプションのWindowsフォームデザイナの全般で
ツールボックスのAutoToolboxPopulateをTrueにしてもダメかな?
- 772 名前:770 mailto:sage [2010/03/31(水) 14:59:20 ]
- >>771
できました。ありがとうございました。
- 773 名前:765 ◆JdKMFRogo6 mailto:sage [2010/03/31(水) 15:25:55 ]
- >>768 >>769
C#で作ったプログラムで印刷プレビュー出すときのことです。 出るまでにそれだけ時間がかかるんですよ・・・ ここらへんでプリンタも買い替えないと・・・
- 774 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 15:28:41 ]
- 勝手にしろよwww
- 775 名前:765 ◆JdKMFRogo6 mailto:sage [2010/03/31(水) 15:35:37 ]
- >>774
たしかにwww
- 776 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 16:12:56 ]
- codepad.org/YiT7oXst
上記のコードがあるとします 14行目でリストの0番目のアイテムにGetTypeしてアイテムの型を取得していますが BindingList<T>のインスタンスが生成された段階でアイテムの型は決まってるので 0番目のアイテムにアクセスしなくても取れるはずです これの取り方を教えて頂きたいのです あくまでもテスト用のコードなので「Tから取ればいいだろ」みたいな突っ込みはご容赦下さい
- 777 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 16:13:43 ]
- 今から仕事なので日付変わった頃にお返事します
- 778 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 20:50:18 ]
- >>776
listType.GetGenericArguments()[0]
- 779 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 23:00:29 ]
- 関数のパラメータについて、教えてください。
デバッグ用にその関数のパラメータの一覧をログなどに出力したいと考えます。 たとえばなのですが、 System.Diagnostics.StackFrame.GetMethod().GetParameters() を利用すると、特定の関数のパラメータの一覧を得ることが出来ます。 ただ GetParameters() ではパラメータの型や変数名などの情報を取得することは出来ても パラメータの値そのものは取得できないようです。当然と言えば当然なのですが。 これと同じような方法で、パラメータの値を取得する方法はないでしょうか。 なにをしたいのかというと、デバッグ用に特定の関数のパラメータの各値をログなどに 出力したいのですが、関数個別に "param1 = {0}", param1 などと書いていくのが手間なので、 関数のパラメータのすべての変数名とその値とを文字列にしてくれる関数を作れないものかと。
- 780 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 23:16:40 ]
- >>778
お答え頂きありがとうございます 質問したかった事とコードが違ってる事に出勤してから気付きました IBindingListの引数にclass BindingList : BindingList<string>{}のインスタンスを渡して 継承元の型パラメータを取得したいのでした 悩んでる最中は思い至らなかったのですが、単にType.BaseType.GetGenericArguments()すればいいだけでした 下らない質問してすみません
- 781 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 23:19:01 ]
- >>779
無理
- 782 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 23:40:12 ]
- >>779
型名でいいなら public void Trace(params object[] o) { foreach(object obj in o) { 〜(o.GetType().Name); 〜(o.ToString); } } でいけるとおもうよ〜は出力命令ね
- 783 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 23:40:35 ]
- フォームアプリケーションを作成している時、フォームのコードが長くなったので、
「コードファイル」を新規に作成し、コードの一部を作成したソースに移しました。 その後、フォームへコントロールを配置すると、移したはずの コントロール名_イベント名() が 元のソースに関数の中身が空の状態で生成されてしまうようになりました。 コントロールのプロパティ内でイベントの欄をダブルクリックした時以外は コードが自動生成されないように設定する方法を教えてください。
- 784 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 23:45:55 ]
- そんな設定ないよ。
- 785 名前:783 mailto:sage [2010/03/31(水) 23:55:44 ]
- >>784
設定がないということは、フォームのコードを複数ソースに分けることをやらない方がいいということでしょうか? それとも「コードファイル」を作成する以外の方法で別のソースを作成すべきなのでしょうか?
- 786 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 23:58:30 ]
- >>785
> 設定がないということは、フォームのコードを複数ソースに分けることをやらない方がいいということでしょうか? うん。
- 787 名前:783 mailto:sage [2010/03/31(水) 23:59:21 ]
- >>786
ありがとうございました。
- 788 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 00:14:00 ]
- >>787
うん。
- 789 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 00:14:02 ]
- http;//○○○/〜〜〜
となっているURLの○○○を抽出するにはどうすればいいでしょうか? 正規表現を使ってみたのですが、うまく抽出されません。 例になるコードとかありませんか?
- 790 名前:779 mailto:sage [2010/04/01(木) 00:18:59 ]
- >>781
>>782 ありがとうございます。 残念ながら型名などではなくて中の値そのものが欲しいので、今回は諦めます。
- 791 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 00:19:40 ]
- >>789
URIクラスとかじゃねーの?
- 792 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 00:22:58 ]
- "/"のSplitで[2]とか?
|

|