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
488 名前:485 [2010/03/26(金) 08:42:22 ] >>487 それも考えたのですがTPrinterを使う他のコンポーネントが存在しており TPrinterは1プログラム1インスタンスで動作するので躊躇していました (印刷処理以外でもプリンタの状態確認にTPrinter()を使ってます) 派生したクラスを同時に使っても問題無いのでしょうか?
489 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 15:05:04 ] 質問です。Delphi2010にて、"Generics.Collections"をusesして ジェネリクスなオブジェクトのリストのコレクションのメンバにアクセスしたとき、 コンパイルは正しくとおって実行してもエラーなく動作するんですが、左上のエラーが消えません。 例えば TObjectList<TForm> だと、 FL:=TObjectList<TForm>.Create; FL.Add(Form1); FL[0].Caption:='abc'; というようにメンバにアクセスすると、コンパイルは正しく通るのですが左上のエラーの欄で !'TObejectList<TForm>'hは'Caption'という名前のメンバを含んでいません。 というようなエラーが消えません。 どういう理由があってこのような状況になってるか、どなたかご教示いただけないでしょうか?
490 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 20:15:43 ] コンパイラは最新だがIDEは最新じゃない、と思っておいた方がいい
491 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 00:07:38 ] 行き詰っているので相談させてください 環境はDeklphi2007です。 delphiでDBの操作ソフトの修正に関わっているのですが、コンパイルすると SrtingtoTdatabaseは互換性がありません とエラーがでてとまります。 変数(A,B,C,D) という行があり、Aは同じソースファイルの中でString宣言、BはTdatabese 宣言、C,Dは不明でA,Bの宣言を書き換えても駄目でした。 元々はDelphi6で前任者が作成したものを小生がXpで使用する為に2007で コンパイルしています。6の環境は残っておらず、前任者とも連絡が取れません。 C、Dの宣言を探す以外になにかよい解決は無いでしょうか?
492 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 01:06:58 ] >488 普通に印刷するときは通常の(デフォルトの)TPrinterのインスタンスを、ファイルに出力するときは それ用のTPrinterからの派生クラスのインスタンスを、それぞれとっかえひっかえでSetPrinterすれば いいんじゃないの? >489 普通にコンパイルするときとエラーインサイトやコードナビゲーションで使用するコンパイラは 違うものなのでそういう現象がおきる。 >491 プログラミングとかDelphiとかそういうものを理解してる?わからないならわからないって上司に 相談したほうがいいと思うが。できなければソフト屋に外注に出すとか。さもなきゃここに 晒すしかない。すくなくとも > 変数(A,B,C,D) > という行があり、 とか > C、Dの宣言を探す以外になにかよい解決は無いでしょうか? とか意味不明にもほどがある。
493 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 03:37:29 ] うるせーばか
494 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 11:06:13 ] >>492 上司に相談して解決するなら最初からここにくる訳が無い。 1の書き込みを鵜呑みにしてここに書いた俺が馬鹿だったって事だな。 金輪際来ませんのでご安心ください。。
495 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 16:15:22 ] よかった。もう来ないんだって。 誰だって気違いの相手はしたくないもんね。
496 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 21:12:04 ] マジレスすると、おそらく関数のパラメータ並びが変更されているのでそれを直す必要がある。 必要な情報は関数のパラメータそれぞれの型とその意味、現在指定されている(エラーになっている) パラメータそれぞれの型とその意味(内容)。だからCとDの型とその内容は必須な情報。でも Ctrl+クリックで探せないか?
497 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 01:06:08 ] >>489 明示的にTFormにキャストすれば?
498 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 03:32:37 ] それやったらジェネリクスの意味ないだろ 馬鹿か?
499 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 07:55:03 ] と、馬鹿が申しております。
500 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 13:17:30 ] ジェネリクスとTObjectListの区別がつかない
501 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 14:17:23 ] >>499 それ本気で言ってるとしたら頭疑うわ ジェネリクスって何だか分かってる?
502 名前:489 mailto:sage [2010/03/28(日) 22:37:31 ] >>497 はじめはTListやTObjectListに入れてキャストしたのをpropertyにしてたんですけど、 ダウンキャストをしたくないのと、getter setterを一々書くのが面倒なんでジェネリクスを使ってるんですよ。 とりあえず割り切ってエラーは見ないように割り切る他ないんでしょうかね。
503 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 22:39:27 ] いろいろ書き直してたら日本語おかしいまま書きこんでしまった・・・ 最後の行は脳内修正して読んでください・・・
504 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 23:11:19 ] まぁエラーインサイトとかは他でも誤動作するし、気にしすぎないほうがいいと思う。
505 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 02:38:37 ] エラーインサイトは実装当時から切ってるな 役に立った試しがない
506 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 21:54:11 ] お世話になります。 TMemoで行や桁があふれたときだけスクロールバーを出すにはどうしたら良いのでしょうか。 ScrollBarsをBothに設定すると常に出っぱなしで見苦しいのです。 他のコントロールだと自動で出したり引っ込めたりするのに、なぜ?
507 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 22:02:16 ] んー自分でOnChangeイベントあたりで制御するしかないんじゃないかなぁ。何でそうなっているかって? WindowsのEDITコントロールがそう作られているからだな。
508 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 22:57:00 ] >>506 SynEditなんてどう?などと適当なことを言ってみる。
509 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 01:27:19 ] >>507 そうなんですか…。 Delphiの構文さえ理解してないレベルの自分には難しそうです。 >>508 SynEdit調べましたが、ちょっと用途が違うような。 ただシンプルにテキストが入出力できれば良いので。 ふと思い立って、TRichEditならどうかと。 これはMemoと違い、あふれたときだけスクロールバーが出るじゃありませんか! これでヨシ!と思ったんですが、今度はポップアップメニューが出ません orz
510 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 02:43:38 ] PopupMenuを設定すれば?
511 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 09:01:56 ] >>510 やってみます。スクロールバーを出すよりは難しくなさそうなので。
512 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 22:44:01 ] Delphi6 Personalを使用中 ヘルプが変です キーワード検索すれば出てくるけど、VCLリファレンス目次のルーチン一覧(カテゴリ別)には 見当たらない項目がいっぱいあるんですけど、これは仕様でしょうか FileAge関数とか、カテゴリMBCSユーティリティの全部とか MBCSユーティリティは重要視されてないのかな AnsiCompareFileName関数の説明もよく分かりません ・ AnsiCompareFileName 関数は,大文字と小文字を区別しないで S1 と S2 を比較します。比較演算は,現在のロケールに基づいて行われます。 AnsiCompareText('AA','aa') { 0 を返す } AnsiCompareFileName('AA','aa') { 0 ではなく 1 を返す } 大文字と小文字を区別しないはずなのに…? AnsiLastChar関数は、文字列処理ルーチン(ヌルで終わる)に入れるべきかと
513 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 10:58:29 ] 最小化した時も処理を続けていて、その時のデータに応じて タスクバーに表示される文字を変更したいんだけど どうしたらいいですか?
514 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 11:11:06 ] フォームのCaptionかApplication.Titleを変更する。
515 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 13:31:53 ] >>512 そんな10年も前の終わったバージョンに対して文句言うとか頭おかしいんじゃないでしょうか
516 名前:デフォルトの名無しさん [2010/03/31(水) 18:19:57 ] デザイン時にTPageControlを右クリックすると 「ページ新規作成」や「ページの削除」といった メニューが表示され、追加・削除が出来ますが これはどのように実現したらよいのでしょうか? 「子・孫を持つパネル」のような自作コンポーネントを 作成していて、その子・孫パネルを追加するのに、 メニューでやりたいなと思った次第です。
517 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 19:32:09 ] 目で見たものを真似できない人は何も作れないと思う
518 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 21:33:33 ] つまり>>517 は自分は何も作れないと宣言したかったんですね、わかります わかりますがそういうのはチラシの裏にでも書いて下さい
519 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 02:43:49 ] >>518 わざわざ自己紹介ご苦労さん
520 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 03:42:49 ] 顔真っ赤だよ?どうしたの?
521 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 06:50:33 ] と、顔を真っ赤にして申しております。
522 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 09:14:51 ] >>520 つ 鏡
523 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 12:10:51 ] ListViewのことで質問です。 セルをクリックした時に何行目何列のセルかを知りたくて 下記のサンプルを見つけました。 Item部のCaption文字列の上とSubItemの部分をクリックした時はいいのですが、 Item部の余白部分をクリックすると何も取得出来ません。 Item部のどこをクリックしても取得出来るようにするにはどうしたらいいですか? var wCtrl : TListView; wStruct: TLVHitTestInfo; begin wCtrl:= (Sender as TListView); FillChar(wStruct, SizeOf(TLVHitTestInfo), 0); // マウスカーソルの座標を取得 GetCursorPos(wStruct.pt); // スクリーン座標からクライアント座標に変換 wStruct.pt:= wCtrl.ScreenToClient(wStruct.pt); //repeat wStruct.pt.X:=10; // 選択された項目の判定 if wCtrl.Perform(LVM_SUBITEMHITTEST, 0, LPARAM(@wStruct)) >= 0 then with wStruct do begin Item:=(Sender as TListView).Items.Item[iItem]; end;
524 名前:520 mailto:sage [2010/04/01(木) 13:33:09 ] >>521-522 >>518 に向けて書いたんだけど、ひょっとして思い当たる節でもあったの?
525 名前:デフォルトの名無しさん [2010/04/01(木) 13:36:00 ] 結局>516が分からない馬鹿しかいないんですね レベル低いですねもう来ません
526 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 17:07:10 ] 逆ギレ乙です
527 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 01:27:09 ] なんつーか、回答する気も起こらないつまらん質問ってあるよね。 PopupMenu の使い方を知らんのか、動的にコンポつくる方法が知らんのか こっちが勝手に想像するのも面倒くさいような質問とか。
528 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 04:22:45 ] 527 はこのスレの意義を理解できないのか? >Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、 >もしくは質問者自身何が何だか分からない質問を >勇気を持って書き込むスレッドです。 回答する気にならないのなら、黙っていなさい。無理にコメントを書くことは無い。
529 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 07:08:59 ] >516が知りたいのはToolsAPI(OTA)の話だと思う。ListViewとかTreeViewのように デザイナ上でそのコンポーネントのカスタム項目を使えるようにしたい、とか。Inside Delphi あたりに載ってたような。
530 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 08:01:18 ] >>528 拍手ーー
531 名前:516 [2010/04/02(金) 09:01:08 ] >>529 仰るとおりです。デザイン時の話です。 ToolsAPIというのは初めて聞きました。ググって見た感じでは まさにそれっぽいのですが、ちょっと私には敷居が高そうだなあ…。 とりあえず子パネルのSetParentと親パネルのValidateInsertを overrideして他のコンポーネントを(に)置けないようにして デザイナ上で貼り付けさせるとかしてお茶を濁すことにします。
532 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 10:35:21 ] Source\ToolsAPIとSource\Win32\Property Editorsを参考に(場所はDelphiの バージョンで違ってくるかも)。
533 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 13:02:05 ] もう少しちゃんと説明して下さい
534 名前:516 [2010/04/02(金) 13:33:33 ] IDが出ないのをいいことに質問者のフリをして煽る人がいるみたいですね。 まあ句読点とかの文体が違うので、皆さんも分かってるとは思いますけど…。
535 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 14:41:00 ] 13:33:33
536 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 15:15:12 ] >>534 そんなのどうでもいいし 帰れ
537 名前:523 mailto:sage [2010/04/02(金) 23:12:57 ] また、Listviewで質問なんだけどmousedownとかうpを 受け付けてもらえないんだけど、なんか設定とかある?
538 名前:デフォルトの名無しさん [2010/04/04(日) 20:53:06 ] エクセルオートシェイプの矢印をTImageやTFormに描き、 bmpで保存したいのですが、それは加納ですか? というか、滑らかで綺麗な矢印がTImageに描ければ いいだけなんですけど・・・ 誰かソース書いてもらえません?
539 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 21:04:59 ] 化膿です
540 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 22:53:11 ] 適当なグラフィックツールで2倍とか4倍に描いたものを縮小してBMP形式で保存して 取り込めばいいんじゃね?
541 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 11:56:00 ] オートシェイプをPrtScnキーで取り込んでMSペイントで保存してTImageでStretchする。
542 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 23:29:32 ] フォームの上にパネルを1個置き、パネルのボーダースタイルをbsSingleにします。 そのパネルの上にボタンを置きます。ボタンのアンカープロパティを[akRight,akBottom]に設定します。 で、フォームの右クリックメニューから「エディタで表示」して、「フォームを表示」で元に戻します。 これを繰り返すとボタンの位置がどんどんずれていきます。マジで堪りません。 プロジェクトを開くたびにどんどんおかしくなっていきます。
543 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 23:35:15 ] パネル以外のコンテナでもページコントロールのBorderWidthを設定したり、 スクロールボックスでも発生します。アンカーはデフォルト以外に設定すると 位置がずれていたり、サイズが変わったりします。 ポトペタが売りの製品で基本の部分でバグるなんてあまりにもひどすぎます。 クソツールのようです。
544 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 01:53:38 ] そういうのはオッチャスレでやってください ここは質問スレです
545 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 02:00:21 ] 一応手持ちの歴代Delphi(6〜2010)で試してみたけど発生しないなw 捏造もオッチャスレの受け持ちなんでやっぱりあっちでどうぞ バージョン書いてない時点で結構怪しかったけど もしくはパッチあててないだけという情けない落ち?
546 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 09:52:03 ] >>545 まじで言ってます?2010でも2005でも発生しますよ。それ以前は試してません。 「エディタで表示」ってのはフォームのDFMをテキスト形式でみるメニューのことです。 で、「フォームを表示」で元に戻すと、1回やるたびに4ピクセル分ずれます。 4ピクセルってボーダーの幅(GetSystemMetrics(SM_CXBOARDER)で、その分、クライアント領域が 小さくなるのにAnchorsなどの配置処理で考慮に入れてないんじゃ?と思ってます。 ソース追っかけ中。
547 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 10:01:07 ] 環境によって変わるのでわ? 自分もPanelの中に貼り付けたコンポをalclientにしているのに高さが追随してくれない現象を体験しているので。 この現象が出るのはXPでW2Kは問題なしだが、自分以外のXPマシンでどうだかは知らない。 (Del7pro/W2Kでコンパイル/パッチは全部当ててるはず)
548 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 10:07:20 ] 自分の試した環境ではWinXPモードとWin7とWin2000で発生します。 ここではボタンを配置しましたが、Anchorsプロパティをデフォルトの[akLeft,akTop]以外に 設定したコントロールすべての位置、サイズがどんどんずれていきます。 コンテナの方はパネル、スクロールボックス、ページコントールのタブシートなどです。
549 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 13:17:22 ] 2k+D7Pro発生せず。 他のコンポでも試したがなんもおこらんよ。 手順は>>542 の通りやった。
550 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 13:42:02 ] XP+2010で発生せずだなー。 Turboもあるけど試してない
551 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 14:47:13 ] よほど特殊な環境なんだろうな なのに環境情報は後出し、しかも小出し 解決する気のないただのアホにしか見えない
552 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 16:41:28 ] www1.axfc.net/uploader/Sc/ のコメントDelのSc_100990.zipでアップロードしておきました。5秒で再現できるんですが。 上記の操作を繰り返すとボタンの位置がずれていきます。
553 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 18:38:24 ] 2k+D6Per発生せず。 手順は>>542 の通りやった。
554 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 19:23:08 ] xp(sp3)+d7ent(sp1)だけど発生しなかった。 HDDを交換でXPをクリーンインストールしたいんだけど D7のライブラリパスとかを一発で元に戻す事ってできる?
555 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 20:24:04 ] >>553 んー。発生しませんか。お手数おかけました。ありがとうございます。 しばらくもうちょっと調べてみます。
556 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 22:17:01 ] >554 該当レジストリを持っていくっていう手もあると思うが>設定の引っ越し。
557 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 22:55:14 ] xp sp3+turbo delphiで発生しますた
558 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 10:51:28 ] 発生してた奴はOSとDのバージョンだけじゃなくて ウィンドウ周りに関する環境設定情報を全部書き出せ
559 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 10:55:20 ] そんな書き方じゃまともな情報は上がってこないぞ
560 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 17:14:14 ] 今のところ再現画像、再現動画等なし
561 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 19:32:37 ] オレのところでも発生したわ。 557と同じXPSP3+Turboだけど。 bsSingleとかで検索したら、似て非なる事例が何個か出てくる。
562 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 11:22:49 ] 自演、乙。 オッチャ盛況だよ。
563 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 16:00:49 ] 何個かしかないなら挙げればいいのに、しないのは何故なんだろうね
564 名前:561 mailto:sage [2010/04/09(金) 16:55:56 ] Win98+Del6Per(XPSP3上のVirtual PC 2007)では発生しなかったわ。 アンカーの両側がオンだと、繰り返すたびにボタンが縮んでいくのが笑える。 まあ確かに、くだすれの話題ではないか。
565 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 13:25:46 ] Del7のVCLに直接手を入れて使ってる人いる? VCLってリコンパイルできるのかな。
566 名前:191 mailto:sage [2010/04/11(日) 14:21:39 ] 超初心者スレなのにみんなレベル高すぎでついていけませんT_T
567 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 14:39:48 ] 途中で書き込んじゃった。 最近のバージョンって書籍でリファレンスって出てないんでしょうか。 自分としては首っ引きでページ捲り捲り勉強する方がしっくり来るのですが… 昔はパッケージにちゃんと含まれてたんですよね?
568 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 15:30:19 ] >>565 できる >>566-567 印刷
569 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 20:14:09 ] コミュニケーションのとれないおっさんだなw
570 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 00:41:45 ] おっさんきもい
571 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 13:10:21 ] おっさんかっこいい
572 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 14:25:42 ] あっちゃんかっこいい
573 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 11:51:03 ] >>569 △
574 名前:554 mailto:sage [2010/04/13(火) 22:35:55 ] ライブラリパスって普通にテキストでコピーしとけば良かったのね。
575 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 12:56:06 ] Javascriptはやたら柔軟です。 ブックマークレットの例 Javascript:for(var I=0;I<3;++I){alert(['One!','Two!!','Three!!!'][I]);}; Delphi言語では上記の ['One!','Two!!','Three!!!'][I] みたいなお手軽な書き方はないでしょうか? オープン配列コンストラクタというのが近いかなと思ったんですが、違ったようです。
576 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 13:10:11 ] function getarr(arr: array of string): TStringDynArray; var i: Integer; begin setlength(result, length(arr)); for i := 0 to high(arr) do Result[i] := arr[i]; end; getarr(['a', 'b', 'c'])[0]というのはできなくもないけど 今の処理系では手軽表記はないと思う。 いつの日か'one'[2]と同様 ['One!','Two!!','Three!!!'][I] が通るようになるかもしれないけどな。
577 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 13:29:46 ] Cだと通るよね
578 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 13:44:23 ] >>575 ttp://d.hatena.ne.jp/tales/20091020 ttp://d.hatena.ne.jp/tales/20100319 この辺を応用すると一応書ける uses .., Types; var s: string; i: Integer; begin for s in TStringDynArray.Create('One!','Two!!','Three!!!') do ShowMessage(s); for i := 0 to 2 do ShowMessage(TStringDynArray.Create('One!','Two!!','Three!!!')[i]); end;
579 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 12:32:54 ] 教えてください。D6パーソナル使用です。 EXE自身のアイコンをTImageに表示しています。 アイコンの透過色が透明になってくれるのは良いのですが、白色まで透明になってしまいます。 何がいけないのでしょうか。それとも全部間違っているのでしょうか。 プロジェクトのオプションに設定しているicoファイルはこんな感じです。 www1.axfc.net/uploader/File/so/42162 var Icon:TIcon; begin Icon:=TIcon.Create; Icon.Handle:=Application.Icon.Handle; if Icon.Handle<>0 then Image1.Canvas.Draw(0,0,Icon); Icon.Free; end;
580 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 13:46:07 ] transparent
581 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 15:39:26 ] Transparentが関わってそうなことは想像できるのですが、2色が透過してしまうという上記例の場合 どのようにすれば良いのか分かりませんでした。もしよろしければご教示下さい。 結局ですが自己解決しました。以下のように修正。 Image1.Canvas.Draw(0,0,Icon); → Image1.Picture.Icon:=Icon; やり方が根本的に間違っていたということでした。 しかし、こんな方法↓でもOkでした。 Image1.Picture.Icon.Handle:=Icon.Handle; Image1.Picture.Icon.Assign(Icon); 一体どれが正しいのか?? さらに、Handleってなんなんだ?と思ったので調べると、32bit整数だと。ならば、 var Icon:Integer; begin Icon:=Application.Icon.Handle; if Icon<>0 then Image1.Picture.Icon.Handle:=Icon; end; と、やってみたら大丈夫でした。 こんなコードでいいんでしょうか???
582 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 00:36:03 ] ListBox.Items.Selectedが画面外の時、 その項目が表示されるようにスクロールするやり方教えてください
583 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 04:35:59 ] はい
584 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 06:47:12 ] >>582 TopIndex
585 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 06:51:43 ] >>581 Image1.Picture.Assign(Application.Icon); これだけでいいと思う。(D6パーは持ってない
586 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 16:59:50 ] >>582 MakeVisible
587 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 23:10:54 ] キャプチャーを作ってみたんだけど、ウィンドハンドルからデバイスコンテキストを 取得して指定の画面のキャプチャーを取ってるつもりなんだけど、わざと取りたい画面の上に 別のウィンド置いとくとその別のウィンドもキャプチャーされるんだけどそんなもの?
588 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 00:14:15 ] XP以降なら個別にとれる 詳細はググれ