- 1 名前:ななしへたぐらま ◆XcB18Bks.Y mailto:sage [2007/05/31(木) 21:05:45 ]
- Delphi(デルファイ)について、
他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を 勇気を持って書き込むスレッドです。 Delphi使いが優しくコメントを返しますが お礼はDelphiの布教と初心者の救済をお願いします。 <前スレ> くだすれDelphi(超初心者用)その41 pc11.2ch.net/test/read.cgi/tech/1176867736/ <過去スレ> DelWiki避難所 delwiki.info/?Delphi 関連の過去スレッド
- 79 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 18:42:04 ]
- 呼び出し側がメモリブロックを確保し、そのポインタを引数にとるWin32APIの呼び出しで、
動的配列を使って例えば A: array of Integer; SetLength(A, 1024); ように、確保したとき、 引数での指定方法で、 Win32Foo(@A[0]) より Foo(Pointer(A)) の方がよろしいでしょうか?? メモリブロックのサイズが固定なら前者でもいような気がするのですが、 可変で例えばサイズが0だったりすると、前者の場合、アドレス違反がでますよね??
- 80 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 18:43:34 ]
- どうでもいいことですが、
>Win32Foo(@A[0]) >より >Foo(Pointer(A)) は Win32Foo(@A[0]) より Win32Foo(Pointer(A)) です。
- 81 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 20:35:15 ]
- >>79
違反は出なかったと思うけど。 出るようになったの? マシン語レベルでは同じだと思うぞ。 CPUView見て。
- 82 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 20:36:25 ]
- program test;
{$APPTYPE CONSOLE} uses SysUtils; var a: array of Integer; p: Pointer; begin //SetLength(a, 0); p := a; Writeln('a ' + IntToStr(Integer(p))); p := @a[0]; Writeln('@a[0] ' + IntToStr(Integer(p))); p := Pointer(a); Writeln('Pointer ' + IntToStr(Integer(p))); SetLength(a, 1); p := a; Writeln('a ' + IntToStr(Integer(p))); p := @a[0]; Writeln('@a[0] ' + IntToStr(Integer(p))); p := Pointer(a); Writeln('Pointer ' + IntToStr(Integer(p))); Readln; end. 渡すだけならどっちでもOKっぽいが・・・ @a[1]にしてもエラー出ないし・・・
- 83 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 01:28:37 ]
- 試してませんでした。すみません。
試したところどっちでも問題はなさそうでした。エラーが出ないだけで、問題あるかもしれませんが。 CPUViewですか?難しそうですね。
- 84 名前:デフォルトの名無しさん [2007/06/04(月) 12:38:17 ]
- すいません、今日始めてTurbo Delphiを触っているんですが
BASICやHSPで他のプログラムを起動させるのにはexecを使いますが Delphiでは、どうやるのでしょう?
- 85 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 12:45:31 ]
- Delphiは API をそのまま呼べますので APIを使うのが簡単。
uses ShellAPI ; して、 ShellExecute するのが一番簡単です。
- 86 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 12:51:45 ]
- あっと、 実行ファイルの実行だけなら WinExec が最も簡単です。
これは uses windows してあれば使えます。 > この関数は、 以前のバージョンのWindowsとの互換性のためだけに提供されています。 > Win32アプリケーションでは、 CreateProcess関数を使ってください。 と書かれていますが、そんなのはあっちの都合なんで、使える場合は使いましょう。 ただ、巨大なexeを裏で起動なんて場合には、起動出来ない場合もあるようです。
- 87 名前:84 mailto:sage [2007/06/04(月) 12:52:48 ]
- >>85
なるほど、それで調べてみます。さんくす。
- 88 名前:デフォルトの名無しさん [2007/06/04(月) 21:59:49 ]
- Turbo Delphiって無料版Delphi6使ってたらすんなり覚えられる?
- 89 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 22:20:41 ]
- 無料版があるんだから、まずそれで試してみては?
- 90 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 22:55:35 ]
- コンポインストールが出来ない無料版であるが
そこまでコンポにこだわらない俺は断然turbo派 ただし動作はもっさり
- 91 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 23:10:54 ]
- ぶっちゃけDelphi6で十分高機能だからturbo使う必要性は全く無い。
ランタイムもいらないしな。
- 92 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 23:11:05 ]
- ヘルプ腐ってる。コンポの便利さを否定することはDelphiのアドバンテージを
否定することに通じるよ。「覚える」とかいう段階なら、将来がないDelphiなんか 覚えるだけ無駄だよ。
- 93 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 03:43:07 ]
- 上に紹介してあったwikiを読んで
プログラミングなどやったこともないボクが 初めて実行ファイルを作りました うほ! いただきまんこ Delphiって最高ですね^^; 次は痴漢じゃなくて置換だよにトライです
- 94 名前:デフォルトの名無しさん [2007/06/05(火) 08:06:12 ]
- なんとか王子「我がDelphiは一生勝ち続けます!」
- 95 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 08:35:20 ]
- 確かにプラス部分とマイナス部分があるな。
漏れはVCLソースとエディタの補助機能とリファクタリング機能目当てでTurbo使ってる。 正直、これらだけで「乗り換えた価値はあった」と思ってる。 ただ、ヘルプは本当に使いにくいので、Del6のヘルプを使ってる
- 96 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 08:36:18 ]
- 買えよ
- 97 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 13:48:02 ]
- dcc32.exeを使ったコマンドラインでのコンパイルについて質問です。
最初、何も考えずにコマンドライン上で "dcc32.exe プロジェクトファイル名" と実行したら「致命的エラー: ファイルが見つかりません : 'MyEdit'」と出て(MyEditは自分で追加したコンポーネント) コンパイルができなかったので、dcc32.cfgに -LU"C:\Program Files\Borland\Delphi5\Projects\Bpl\dclusr50.bpl" と追加することでコンパイルはできるようになったのですが、 動作確認用の環境(Delphiはインストール済でコンポーネントは未インストール)で作成されたEXEを実行したところ 「プロシージャ エントリ ポイント @MyEdit@initialization$qqrv が ダイナミックリンクライブラリ Dclusr50.bplから見つかりませんでした」 というエラーが出て実行できませんでした。 IDE上でコンパイルしたものと比べてみるとファイルサイズが倍近く違っていて、 自分で追加したコンポーネントのパッケージ"dclusr50.bpl"が 実行ファイルに含まれていないのが原因だと思うのですが、 コマンドラインからのコンパイルで全てのパッケージを実行ファイルに含める方法があれば教えてください。
- 98 名前:97 mailto:sage [2007/06/05(火) 13:49:56 ]
- 環境を書き忘れていました。
Delphiのバージョンはコンパイル環境・動作確認環境ともにDelphi5、 OSはコンパイル環境がXPPro、動作確認環境が2000sp4です
- 99 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 14:00:31 ]
- dcc32.exeごと""で括ってるからダメなんじゃないの。
- 100 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 14:18:31 ]
- LU は実行時パッケージの追加だから実行環境に*.bplがないと実行できないのはあたりまえだろう
Uオプションで dclusr.dcu をのあるディレクトリを追加してやればいいんでねえの?
- 101 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 15:31:51 ]
- Delphi7でIBXを使っていますが、データセットを閉じたり開いたりすると
DBGridのスクロールバーが表示される時と表示されない時があります。 データが一行しかない時にスクロールバーが現れたり、数行あるときに隠れたりと 不安定です。解決策などありますか?
- 102 名前:97 mailto:sage [2007/06/05(火) 16:00:19 ]
- >>99
ダブルクォーテーションは実行したコマンドをわかりやすく説明するために付けたもので 実際にはダブルクォーテーションは付けていません。紛らわしい書き方をして申し訳ない。 >>100 dclusr.dcu のあるフォルダを -U"C:\Program Files\Borland\Delphi5\Lib" で追加してみましたが結果は同じでした。 >>100さんのを試した後、ヘルプ見ながら色々試してみて自己解決しました。 自作コンポーネントのソースがMyLibという独自のフォルダにあり、 各ソースのdcuもそちらのフォルダにあったため -U オプションでそのパスを指定すれば意図した動作になりました。 スレ汚し失礼しました。
- 103 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 16:05:17 ]
- この汚物め!
- 104 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 16:17:38 ]
- (デルファイ製のソフトではないかもしれませんが)StringGridのセルの中にUpDownみたいな入力ボックスが入っているのを見たんですが、あれをデルファイでやるにはどうすればいいんでしょうか?
- 105 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 16:19:39 ]
- StringGridのセルの中にUpDownみたいな入力ボックスを実装すればいいよ
- 106 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 16:27:50 ]
- レスの意味もない
- 107 名前:104 mailto:sage [2007/06/06(水) 16:35:03 ]
- StringGridのセルを親にしてUpDownをCreateするんでしょうか、ちょっと素人にはわかりません。
- 108 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 16:37:03 ]
- 最初に一個Createしてフォーカスあたってるセルの端にUpDownを移動して云々ってことだろ。
よーするにできません。
- 109 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 16:41:08 ]
- できるだろw
- 110 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 17:29:11 ]
- StringGrid と UoDownを配置してOnCell(Sender に
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); begin UpDown1.Parent := StringGrid1; with StringGrid1.CellRect(ACol, ARow) do begin UpDown1.Top := Top; UpDown1.Left := Right-UpDown1.Width; end; end; と書いて実行させて、後はなんとかするしかないかもな
- 111 名前:104 mailto:sage [2007/06/06(水) 18:10:48 ]
- あ、やりたかったのはそれかもしれません!
セルを選択すると、そこに入力欄にUpDownのコントロールが出て数値を増減できるってやつです。 貴重なヒント、どうもありがとうございます。
- 112 名前:105 mailto:sage [2007/06/06(水) 18:19:38 ]
- a, iitakattanohasorekamosiremasenn!
- 113 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:43:30 ]
- DelphiってDB作る分には極つけのツールだと思うんだけど、
紙媒体での保存のため印刷しようとすると、途端に 糞と化すのは何なんだろう、といつも思う。 そういう用途に使うなと言われればそれまでだけどね。
- 114 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:47:36 ]
- Delphiって帳票出力するコンポーネントついてなかったっけ?
なんとかReportって感じの名前のやつ そこそこ使えたと思ったんだが・・
- 115 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:49:18 ]
- 糞と罵ると
教えてもらえると見た
- 116 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 00:38:38 ]
- >>DelphiってDB作る分には極つけのツール
今時のデータベースはキャラクタセットにUnicodeを使ってるのが多数だから、 TNT使うなりしないといけん。データベースのキャラクタセットに Unicodeが使われる前は極めつけのツールだったけど、今じゃむしろ そういう分野にDelphi使わない方がいいと思ってる。 QuickReportのことか?あれ、Unicodeに対応してるのか?? こういう事で悩むのでお勧めしない。
- 117 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 01:36:56 ]
- 問題を混ぜるな。
QuickReportがうにこーど対応してるかどうかは議論していない。
- 118 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 01:56:22 ]
- >紙媒体での保存のため印刷しようとすると、途端に
>糞と化すのは何なんだろう、といつも思う。 >問題を混ぜるな。 >QuickReportがうにこーど対応してるかどうかは議論していない。 問題を混ぜるな?おまえはただ「糞」とだけ、書いていったい何が問題なのかすらも 書いてないおまえの頭も「糞」
- 119 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 02:09:27 ]
- レスを混ぜるなw
- 120 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 02:48:05 ]
- 混ぜるな危険
- 121 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 04:11:21 ]
- しかしマジで、うにこーどに対応しないと漏れはDelから離脱するとオモ。
- 122 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 04:47:31 ]
- よくUnicodeUnicodeってカキコを見るけど、これってVCLのこと?
Tnt使ったり、W系API直接呼んだりするのじゃダメなの?
- 123 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 06:34:13 ]
- データベースで使う、TFieldType型のftMemoやftMftMemoの最大サイズは32kbですか?2Gですか?
- 124 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 07:09:01 ]
- >>122
今回言ってるのは印刷の事だから、自前で印刷するなら CreateFontIndirectWしてTextOutWすれば理屈の上では大丈夫なんだけど プリンタがフォント持ってなかったり、windowsだってフォントによっては 例えば筆文字なんかは持ってないわけで、 実際には、unicodeで印刷なんてDelphiでなくても現状では無理。
- 125 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 09:01:57 ]
- 日本人向けのソフトしか作らない漏れに
うにコードの重要性をおしえてください。
- 126 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 09:14:31 ]
- Delphi関係ないが、WindowsはUnicodeをUTF-16じゃなくてUTF-32で扱うようにして欲しかったな。
UTF-16だと、16ビットで1文字の時もあれば、32ビットで1文字の時もあったり、処理が面倒…
- 127 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 09:22:14 ]
- それはやっぱり文字フォントで32bit空間を埋めてしまうわけにいかなかったのだろう
- 128 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 13:58:33 ]
- >>125
日本人以外にはShift_JISとかEUC-JPを使うメリットがない。 自分が知らないコードから自分の知っているコードに変換する場合、 ユニコードのような大きな文字セットに一旦変換すると解決できることが多い。 XMLでは文字コードを明示的に指定しない限りUTF-8が使われる。 文字コードの自動判定もUnicodeしか対応しないし>XML
- 129 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 15:07:39 ]
- ファイル周りのユーティリティ作っててA系のAPI使いまくってると取りこぼしが出るんだよな。
XPManifest貼り忘れて古臭いUIだったりというのも合わせて原点対象ではある。
- 130 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 15:35:47 ]
- >>124
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20061222/257650/ ttp://itpro.nikkeibp.co.jp/article/OPINION/20061211/256530/?ST=win&P=2 >Unicodeでしか扱えない文字が存在するのは,Windows Vistaに始まったわけではない。Windows 98/Windows NT 4.0 SP4は,JIS X 0212(補助漢字)に対応しているが, >これらの追加された文字は既にUnicodeでしか扱えなかった。 Unicodeでないと日本の工業規格であるJISで定められた文字すら扱うことができません。 Microsoftは当の昔にMicrosoftのShift-JISの実装であるコードページCP932に文字を追加する ことをやめています。
- 131 名前:デフォルトの名無しさん [2007/06/07(木) 16:26:45 ]
- ListView(vsReport)を使おうと思ってるんですが
指定した場所にstring文字を入れる方法と 指定した場所の内容をLavel.Captionに表示したいんですが すみませんがどう書けば良いか教えてください。
- 132 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:27:36 ]
- プロパティとイベントの項目全部嫁
- 133 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:29:51 ]
- パソコンのキーボードを叩けばいいと思います
書けますから
- 134 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:31:42 ]
- ><みんあ酷いヨ
- 135 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:35:06 ]
- みんあ?ダレソレ
みんあ だれっだ だれっだ だれっだ あれは デビル! デビルマーン デビールマーン この中にデビルマンがおる!
- 136 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:35:54 ]
- listview1.items[hoge].subitems[fuga] := 'piyo' ;
label1.caption := listview1.items[hoge].subitems[fuga];
- 137 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:36:51 ]
- Selected
- 138 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:37:28 ]
- あ、指定した場所って選択した場所って事か
- 139 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:37:33 ]
- OnClick
- 140 名前:デフォルトの名無しさん [2007/06/07(木) 16:39:14 ]
- >>136
救世主ありがとおおおおおお
- 141 名前:デフォルトの名無しさん [2007/06/07(木) 16:39:55 ]
- 選択した場所も引っこ抜けるの?
- 142 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:41:08 ]
- >>137見ろぼけ
- 143 名前:デフォルトの名無しさん [2007/06/07(木) 16:42:37 ]
- 超初心者のスレタイは釣りですかそうですか・・・
- 144 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:48:19 ]
- 別にどこもおかしくない
- 145 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:48:44 ]
- 教えてもらっといてそりゃねぇんじゃねーか?
- 146 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:50:52 ]
- 教えてくれた人にはめちゃ感謝してます
だけど酷い人も居るんですね><
- 147 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:59:29 ]
- まぁこんなもんだ
- 148 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 17:04:14 ]
- 酷いも何も
>>132と>>133を見れば解決出来てたんだよ 答えを丸ごと教えてもらって それで解決した気になるのは笑止だ そしてそれが例え超初心者であってもな! 復習としてマニュアルから その関連部分のページを拾い出してみよ
- 149 名前:デフォルトの名無しさん [2007/06/07(木) 17:06:48 ]
- >>148
プログラム初めて1日目の私には無理すぎる件><
- 150 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 17:12:27 ]
- アホが粘着してるだけだから適当にスルーしとけ。
- 151 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 17:16:45 ]
- プログラミング初日がDelphiでListViewとは世の中も変わったものよ
だからといってBASICなんて習わされた暁にはと思うが 俺的にはC言語でHello World!がオススメだな Hello World!が終わったらぶっちゃけ卒業でいいよw その後にDelphiでもやればいい
- 152 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 19:03:57 ]
- 1日っていうのは嘘だな。
- 153 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 19:13:26 ]
- 初日はなぁ・・TMemo貼り付けただけでメモ帳ができちゃった!ってはしゃぐところから始めないと
- 154 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 20:08:52 ]
- そういやぁ初日は… 何だっけかな? 最近忘れっぽくなった 今日は遅帰り日…
- 155 名前:デフォルトの名無しさん [2007/06/07(木) 21:53:56 ]
- delphi2007 for win32 アップデートきた。
何がかわったんだ。
- 156 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 22:02:53 ]
- 自分はC++もDelphiも使っているので、BDS2006使ってますが、
最近、Delphi2007とかC++Builder2007がでる/でたとか聞きます。 これらをまとめたBDS2006の後継となる製品はでますか? CodeGearからハガキも来ないのでよく分かりません…
- 157 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 22:25:56 ]
- >>155
[D2007 Update 1 - List of QC reports] ttp://dn.codegear.com/article/36589
- 158 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 22:38:54 ]
- >156
でることになっています。とりあえずCodeGearインフォメーションサービスセンターに電凸するとおねぃさんが やさしく説明してくれるので、バージョンアップの案内とかを送ってもらえばいいんじゃないかな。
- 159 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 22:40:33 ]
- >155
なんかすげぇサイズなんですが。ZIPのやつ(中身はさらに7zip)でも700MBって。 さすがにダウンロードしただけでお腹一杯。適用はまた明日にしました。
- 160 名前:デフォルトの名無しさん [2007/06/07(木) 22:59:16 ]
- 全角英数字使うやつは例外なく頭悪いよな
- 161 名前:デフォルトの名無しさん [2007/06/07(木) 23:00:00 ]
- >>156
でないんじゃないかなあ。 あくまで憶測だが
|

|