1 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 20:41:37 ] Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を 勇気を持って書き込むスレッドです。 Delphi使いが優しくコメントを返しますが お礼はDelphiの布教と初心者の救済をお願いします。 <前スレ> くだすれDelphi(超初心者用)その50 pc12.2ch.net/test/read.cgi/tech/1246340765/ <過去スレ> DelWiki避難所(Delphi 関連の過去スレッド) delwiki.info/?%E3%83%AA%E3%83%B3%E3%82%AF%2F%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%2FDelphi%20%E9%96%A2%E9%80%A3%E3%81%AE%E9%81%8E%E5%8E%BB%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89
922 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 11:36:04 ] Indyってnegotiate認証に対応しているのでしょうか?NTLS認証は対応してるっぽい ですけど、Kerberos認証は対応してます?
923 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 12:03:02 ] Delphi2010(Rad Studio)の 逆アセンブル/レジスタなどのペイン(メニューだと表示→デバッグ→CPUウィンドウ以下) のフォントサイズが6?7?なのか不明ですが、文字が小さすぎて見えません CPU全体というものを選べばフォントサイズはでかくて見易いのですが、この項目はエディタウィンドウと重なってしまい、使い勝手が悪いです 特にこれらの項目のフォントサイズを変更する項目が見あたらないのですが、文字を大きくすることは不可能なのでしょうか…
924 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 13:04:34 ] 日付の比較がしたいのですが、 2010年1月1日,aaa,bbb,ccc 2010年1月2日,ddd,eee,fff ・ ・ ・ 2010年7月1日,111,222,333 の様なリストがあって、ユーザーからは「2010年2月1日から2010年5月6日まで」みたいに指定されます。 今考えているのは、年月日の漢字を消して 201021 と言う数字にして比較しようと思っているのですが、 もっと良い方法があれば教えて欲しいです。 よろしくお願いします。
925 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 13:07:09 ] TDateTime型に変換する
926 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 18:50:02 ] >>924 > 今考えているのは、年月日の漢字を消して 201021 と言う数字にして比較しようと思っているのですが、 それだと2010年1月11日と2010年11月1日の区別ができないのでは。
927 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 19:25:17 ] StrToDateTimeでTDateTimeにして比較する
928 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 19:26:19 ] ごめん、こっちの方 VarToDateTime
929 名前:924 mailto:sage [2010/07/01(木) 23:06:28 ] 皆さん、ありがとうございました。 VarToDateTimeを使って、上手くできました。 また、よろしくお願いします。
930 名前:765 mailto:sage [2010/07/02(金) 10:16:26 ] >>921 Reqのデータですが、こちらでは <html><head><meta http-equiv="refresh" content="0;url=/check.pl?n=home.pl"></head></html> となっています。 >>921 さんはどのようなデータを取得できましたか?
931 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 13:17:35 ] あれだけ言われてまだここでやるんだ
932 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 14:46:08 ] >>930 そのレスポンスなら、mixiの認証は通っている。 ここまでは正しい動作だ。 では次に >>815 の次の部分を下のコードのように変更してほしい。 これを Buf:=IdHTTP1.Get('mixi.jp/home.pl '); こうする Req.Clear(); IdHTTP1.Get('mixi.jp/home.pl ', Req); Reqにサーバーからのレスポンスが入っている。 これをSaveToFileでファイルに保存して内容を確認してほしい。 なお文字コードはeuc-jpなので、euc-jpに対応しているエディタで開く必要がある。
933 名前:765 mailto:sage [2010/07/02(金) 16:49:20 ] >>932 Reqの中身はログイン前の画面でした。 「すでに登録済みの方は、 こちらからログインしてください」 と共にログインメールアドレスとパスワードの入力を施す画面です。 >>932 さんや>>814 さんはこれでログインできているようですので、もしや、Indyのアップデータを 行ったのが問題なのか? 週末にでも一度削除し、インスロールを一からやり直してみます。
934 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 17:45:30 ] >>933 これ使え。 yuukiremix.s33.xrea.com/chirashi/
935 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 19:01:55 ] ここまでやってパスかメアド間違えてるとかだったら殺意すら湧く
936 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 20:26:11 ] var X: Cardinal; としておいて、 X:=32768*32768; X:=X*2; とか、 X:=2147483648; だと問題ないのですが、 X:=32768*65536; では、コンパイル時に「[エラー] 〜: 数値演算のオーバーフロー」となってしまいます どうしてなのでしょうか
937 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 20:41:12 ] 0..4294967295
938 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 21:00:16 ] >>937 4294967295 ? 32768*65536は 2147483648 ですから、あふれてないように思うのですが
939 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 21:26:45 ] ヘルプの「真の定数」によると、定数式が整数の場合はその値によって型が決まり 32768〜65535 ⇒ WORD 65536〜2147483647 ⇒ 0..2147483647 となる。この場合 (WORD)*(0..2147483647) の演算だから 式全体の型は 0..2147483647 となり、結果がこの範囲に収まらないとエラー という理屈になるのかな。何だか納得いかないけど、とりあえず X := 32768*Cardinal(655356) とでもすればコンパイルは通るだろ。
940 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 22:26:25 ] >>939 「真の定数」読みました なるほど、65536..2147483647は、ほぼInteger(Longint)ですね X:=Cardinal(32768)*65536; でもOkでしたので、その解釈は当たりだと思います 分かりましたー、と言いたいところですが、それなら X:=32768*32768; でもオーバーフローになるはずでは??? やっぱりなんか変ですよね
941 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 23:09:09 ] >>940 あとは、整数型同士の演算の場合 どちらかがInt64なら結果もInt64、そうでなければ結果はInteger という規則があるから、これにひっかかるのかな。(ヘルプだと「算術演算子」のところ) Cardinalが入った場合の規則が書かれていないからよくわからないけど、 Integerの範囲には収まらないはずだからInt64扱いになるのかもしれない。
942 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 00:29:21 ] >もしや、Indyのアップデータを行ったのが問題なのか? >週末にでも一度削除し、インスロールを一からやり直してみます。 ワロタwww アップデータをインスロールしてくださいね(笑)
943 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 01:39:16 ] 定数の型を指定したい場合はこうすればいい const foo = Cardinal(1);
944 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 08:46:20 ] 計算時に i := Cardinal(1) * 10; でいいやん。
945 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 12:29:36 ] 仕事に忙殺されてるうちにすっかり取り残されてしまい、いまだに D6 Pro ですが、 職場では Win7 を使っています。 少々余裕も出てきた&ネイティブコードも必要になりそうなので、職場のマシンに インスコしてみました。今のところ動いています。 せっかくなので Win7 のタスクバーの新機能を使ってみたいのですが、D6 Pro で ITaskbarList3 を使うにはどうしたらいいんでしょうか。タイプライブラリの取り込みで ExplorerFrame.dll を指定してもエラーになってしまいます。さすがに古すぎるんでしょうか。
946 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 12:44:42 ] >>944 定数の話してるのになんでマジックナンバーにするの?馬鹿なの?
947 名前:946 mailto:sage [2010/07/03(土) 12:45:56 ] 僕が馬鹿でした
948 名前:944 mailto:sage [2010/07/03(土) 12:47:03 ] 分かればいいよw
949 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 12:48:35 ] const foo:Cardinal=1; でいいやん。
950 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 13:02:41 ] >>949 しか知らんかったわ。 >>943 今度使ってみよう。 些細なことで偶に勉強になるな。役立つかは別にして。
951 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 15:25:44 ] 厳密に言えば>>949 は一度だけ書き替え可能な変数 >>944 が本当の定数 >>944 はコンパイル時に実際に数値と置き換わるけど、>>949 は変数と同じく参照として扱われるから、 その展開がない分>>944 の方が高速になる 知らないことは誰だってあるけど、いいやんとか言って違いも調べず思考停止するやつは向上心もう少し持とうぜ
952 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 03:30:07 ] もっと!もっと熱くなれよ!!
953 名前:765 mailto:sage [2010/07/05(月) 14:22:54 ] IndyのバージョンをDelphiインストール時のものに戻してテストしてみたところ、こちらの バージョンではログイン後の画面が表示されました。 よって、バージョンアップをしてしまうと、なんらかの原因で正常なログインができなくなる ようです。 Proxomitronを使って、両者のPOSTおよびGETの内容を確認してみましたが、全く同じデー タでした。 旧バージョンで新バージョンのunitを開くとRequest.Ranges.Unitsが無いというエラーがでた ので、そのあたりのプロパティかと思い、わからないならがも色々やってみたのですが改善 することができませんでした。 ソースを追って、原因追及といきたいところですが、自分にはまだまだ無理ですので、とり あえず旧バージョンに戻す事で対応したいと思っています。 新バージョンで実装されているRequest.CharSetを使いたくてバージョンアップしたのですが、 残念です・・・。 色々教えていただき、ありがとうございました。 また自分の書き込みでご気分を害された方、申し訳ございませんでした。
954 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 17:05:21 ] そういうときはIndyのバージョンも書けよ
955 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 17:31:55 ] Double, Integer, Byte, Word, ShortIntなどの2値を比較し、その結果を返すような関数を作りたいのですが、 function TCompareClass.chkValProc<TypeID>( const srcVal, dstVal : TypeID ): Boolean; begin if ( srcVal < dstVal) then begin Result := False; end else begin Result := True; end; end; イメージ的にこういう感じのメソッドを作る方法ってないもんでしょうか。 ↑だと、型が限定されないからか、コンパイルが通りません。 function TCompareClass.chkValProc<TypeID>( const srcVal, dstVal : Double ): Boolean; function TCompareClass.chkValProc<TypeID>( const srcVal, dstVal : ): Boolean; function TCompareClass.chkValProc<TypeID>( const srcVal, dstVal : TypeID ): Boolean;
956 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 17:33:11 ] 失礼しました。後半あやまって送信してしまいました function TCompareClass.chkValProc( const srcVal, dstVal : Double): Boolean; function TCompareClass.chkValProc( const srcVal, dstVal : Integer ): Boolean; function TCompareClass.chkValProc( const srcVal, dstVal : Byte ): Boolean; function TCompareClass.chkValProc( const srcVal, dstVal : Word ): Boolean; function TCompareClass.chkValProc( const srcVal, dstVal : ShortInt ): Boolean; こういう風に全部用意してやれば一応目的は達成できるのですが、1つにまとめたく思います。
957 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 17:56:55 ] >>954 自分の無能さをライブラリのせいにして逃げる口実なんだからわざと書いてないんだよ 言わせんな恥ずかしい
958 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 18:02:31 ] >>955-956 TComparer<T>.Defaultの実装が参考になるというかそのまま使えると思う
959 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 18:14:50 ] >>954 ,>>957 バージョンについては>>818 に書いたのですが、最初の書き込み時に書くべきでしたね。 申し訳ございません。
960 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 19:09:23 ] 「最新」なんてバージョンはない
961 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:55:58 ] 最初から最後までここまでぐだぐだになれるのもある意味才能だろうな・・・
962 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 23:49:35 ] ume
963 名前:765 mailto:sage [2010/07/06(火) 11:10:56 ] >>960 同じようにアップデートしてしまって以前と同じような動きができなくなった方の為に、参考ま でに書いておきますね。 バージョンは10.5.7で(2009に同梱のものは10.2.5)昨日の時点ではr4270のものを使用しまし た(changelog.txtでの確認)。 最初に試したものはr4258です。 >>961 PCやプログラムについての知識がなさすぎて、皆様を不快な気持ちをさせてしまいました。 申し訳ございません。
964 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 13:14:00 ] いいよ^^
965 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 18:38:37 ] 匿名関数使ったサンプル集みたいなサイトや本って無い?
966 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 21:25:28 ] WebBrowserをフォームに貼ってサイトを表示させてるとkeypreviewをtrueにしてもonkeydownでキーを拾ってくれないんですがどうすればよいのでしょうか?
967 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 17:50:49 ] ローソク足のチャートが書ける日本語のコンポーネントってありませんか? 有料でも良いです。
968 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 17:54:02 ] 条件をひとつ削ってもいいなら腐るほどあると思うけど
969 名前:デフォルトの名無しさん [2010/07/12(月) 17:54:17 ] page13.auctions.yahoo.co.jp/jp/auction/r66957338
970 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 17:58:25 ] >>967 ありますよ
971 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:57:43 ] >965 omnithreadlibrary - Project Hosting on Google Code ttp://code.google.com/p/omnithreadlibrary/ のデモの30番とか。