[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 08/13 11:51 / Filesize : 238 KB / Number-of Response : 924
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれDelphi(超初心者用)その46



1 名前: ◆XcB18Bks.Y mailto:sage [2008/03/12(水) 21:09:39 ]
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を
勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが
お礼はDelphiの布教と初心者の救済をお願いします。

<前スレ>
くだすれDelphi(超初心者用)その45
pc11.2ch.net/test/read.cgi/tech/1198802907/

<過去スレ>
DelWiki避難所(Delphi 関連の過去スレッド)
delwiki.info/?Delphi%20%B4%D8%CF%A2%A4%CE%B2%E1%B5%EE%A5%B9%A5%EC%A5%C3%A5%C9


357 名前:デフォルトの名無しさん [2008/04/15(火) 14:18:16 ]
IMEのON、Offの仕方。
IMEの現在の状態を監視するには、なんと入力すればいいか教えてください。

ネット検索したんですが、使い方がよくわかりませんでした。

358 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 14:28:00 ]
ImmなんちゃらってAPIだったっけかな

359 名前:デフォルトの名無しさん [2008/04/15(火) 14:46:32 ]
>>358
ありがとうございます。
それの具体的な使い方がわからなくて・・・。

360 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 14:53:10 ]
私なんて、現在IMEがONかどうかを調べることすら出来なかったよ!。

361 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 15:31:20 ]
Delphiに直接関係はないな。

ttp://m--takahashi.com/bbs/pastlog/A0600/A0534.html

362 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 18:37:32 ]
Delphi5で商用利用できるフリーのXMLのクラスライブラリってないかな?

363 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 19:10:32 ]
Delphi Personal version6 を使ってるんですが
自分で作ったソフトを公開する時に気をつけることってありますか
コンパイラオプションを変えたりとか、そういう事するもんなんでしょうか?

364 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 22:10:16 ]
Xp スタイルに対応したか? Vista 対策はOK? くらいかな。

365 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:23:39 ]
>357
ImeModeプロパティじゃだめなん?



366 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:45:49 ]
皆さんエディタとか何使ってますか。
beginとendを強調表示とかしてくれるエディタとかありませんかね。

367 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:48:47 ]
サクラエディタとか。

368 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:49:24 ]
EmEditor は、Delphi の予約語を強調表示できるよ。

369 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:50:09 ]
IDEか秀丸だな。

370 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 00:04:37 ]
すみません、質問です。
TWebBrowser で表示しているWebページの高さを
OleObject.document.body.scrollheight から取得しているのですが、
どうも正確な値がとれていない時があるようです。

うまくいく場合のあるのですが、
Google 検索結果ページでの、scrollheight の値が
明らかにこっちが想定している値と違うのです。

何か心当たりがある方いらっしゃいましたら、
教えていただけたら助かります!
#スクロールバー分は考慮してます。

371 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 09:07:56 ]
>>370
ブラウザ内部のサイズより、HTML描画された内容が小さい場合とか?

372 名前:デフォルトの名無しさん [2008/04/16(水) 09:21:58 ]
メインメニュー・コンポーネントについて質問です。

大見出し
├小見出し1
├小見出し2
├小見出し3
・・・

という構成のメニューがあったとして、
小見出しを「配列」で一括管理することはできるのでしょうか?

各小見出しのオブジェクトインスペクタのname項目では、N1、N2、N3...
などとなっているので、配列名にすることができません。
(このままだと、「全てのチェックボックスを外す」などの記述が大変です)

よろしくお願いします。

373 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 09:24:08 ]
TStringList.SaveToFileで文字コードをUTF-8で保存したいのですが
どうすればいいでしょうか?htmlファイルを生成しています。

WinXP+Delphi7Pro

374 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 10:13:17 ]
delphiで通販サイトみたいなの作ってみようと思うんだけど
何か最低限これはみとけみたいなサイトあります?

375 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 10:18:16 ]
>>372
大見出し(MenuItem1)から小見出し操作するなら
for i := 0 to MenuItem1.count - 1 do
begin
MenuItem1.Items[i].checked := false;
end;

メインメニュー(MainMenu1)から大見出し(例としてメインメニューの一番目)を指定して
小見出しを操作したいなら
for i := 0 to MainMenu1.Items[0].count - 1 do
begin
MainMenu1.Items[0].Items[i].checked := false;
end;

でいけると思う。



376 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 10:18:24 ]
Delphiでウェブアプリなんだー。
ちょ、マイナーだね。

ウェブで無償配布ツールものとかドライバ設定系デスクトップアプリでは、某アイコンを良く見るけどね。

377 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 10:25:02 ]
>>373
UTF8Encode

378 名前:372 mailto:sage [2008/04/16(水) 10:34:44 ]
>>375
ありがとうございます!とても助かりました。

379 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 10:40:52 ]
>>373って
for i := 0 to Memo1.Lines.Count-1 do Writeln(f, WideString(Memo1.Lines[i]));
ってやるだけじゃだめなん?WideStringとUTF8って別もの?
そこらへんいまだに全く把握してないんだけど
どこかにアホグラマ向けの解説サイトとかないのかな。

380 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 10:52:30 ]
別物。

381 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 11:21:33 ]
>>376
htmlやcss、DB何かも飽きるほど使った事あるからいけるかなぁとか
思ったりしてるんだけどセキュリティ関連がよくわかんないのよねぇ

SQLインジェクションやクロスサイト云々とかそういうのはわかるけど
何か他にもいろいろありそうで怖い

Webアプリって今はjavaなんかがメジャーなのかな?

382 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 15:43:07 ]
DephiFのIDEモードってどうやるんだっけ。
他のウィンドウが見えるSDIになっててやりづれぇ

383 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 15:58:47 ]
>>364
ありがとうございます。
Vista対策は全くしてませんので、その事を記載することにします

384 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 16:12:23 ]
Vistaなんて使う方が悪いぐらいに書いとけ

385 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 16:13:13 ]
>>381
phpとかスクリプトが多いんじゃね



386 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 13:37:09 ]
質問です。
フォーカスが当たっているかコントロールは
どうやって調べればいいんでしょうか?

387 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 15:47:11 ]
つ TCustomForm.ActiveControl

388 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 19:09:49 ]
>>381
HTML、DB飽きるほどやってるなら、セキュリティ云々の前に、
未だに、Unicodeにまともに対応してない、Delphiを使うなんて論外だと思うが・・



389 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 19:58:55 ]
Delphi.NETなら使えるんだろ。
.NETの便利クラスパクって来るのも疲れたし
マシン買い換えたらDelphi.Net触り始めてみたくはある。
ぼろマシンのネイティブアプリよりよっぽど速そうだw
C#のフォーム周りはどうも微妙すぎるし。

390 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 20:06:05 ]
微妙って、.NET Framework使ってたら言語が違っても同じでないの?

391 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 20:22:49 ]
クラスライブラリが違う。

392 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 21:04:42 ]
ぼろマシンで走る.NETは遅いと思う

393 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:53:08 ]
Delphi.NETは最悪の選択

394 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:34:25 ]
>>387
ありがとうございます。できました

395 名前:370 mailto:sage [2008/04/18(金) 00:33:33 ]
>>371
レスありがとうございます。

うまくいくページとうまくいかないページがある原因がよくわかりません。。
(yahoo とかだったら、うまくいくんですが)
しかも scrollwidth はうまくとれてたりするので、
さらに意味がわからないことになってます。。




396 名前:デフォルトの名無しさん [2008/04/18(金) 01:40:53 ]
>>374
「webアプリセキュリティ対策入門」って書籍。
サウンドハウスみたいに単純な穴つかれて個人情報漏らさないように気をつけてね。

Delphiって文字が悪い記事で新聞に載らないようにしてくださいw

397 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 01:42:34 ]
>>389
ただでさえDelphiは未来がないのに、その中でロードマップで切り捨てられることが決定している
Delphi.NETは選択肢としてありえないよ。

俺ならchrome joyrideをつかう。それならC#でいいけどな

398 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 08:06:40 ]
.NET起動遅すぎ

399 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 09:33:28 ]
動作条件に.netが入ってる時点でDLする気失せる

400 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 10:06:10 ]
最近のDelphiと一緒だな。J#まで必要だし。

401 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 11:06:10 ]
未だに.NETの起動がどうのなんて言ってるボロマシン使ってる可哀そうな方々は
一生DEL7SJISWIN32で頑張ってなよ。
今時C2Dマシンなんて2,3万で組めるのにw

402 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 11:19:19 ]
このやり取りも無断リンク論並に飽きたので
もう勘弁してほしい

403 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 11:48:20 ]
デバッグの値の文字列を全部取得する方法っってありませんか。
文字列が長いと、「...」ってのが最後に入ってそこで終わってしまいます。

404 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 13:56:07 ]
PageControl単位でマウスカーソルの出入りを監視するのってどうやればいいですか。
MouseOverだとその上に乗ってる全コントロールのMouseOverでチェックしないとうまくいかないし
それをやったところで結局正確には取れないです。



405 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 15:04:21 ]
>>403
procedure dbgPrint(s:string);
begin
  with TFileStream.Create('dbg.txt',fmCreate) do try
  Write(PChar(s)^, length(s));
  finally free end;
end;

みたいな関数を作っておいて、
実行されない場所で呼び出しておく(そうでないと実行ファイルにリンクされない)

デバッグ時に Ctrl+F7 で 評価/変更 窓を開いて
dbgPrint( 変数名 ) と打って 評価(V) で dbg.txt というファイルに中身か書き出せる



406 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 15:06:44 ]
>>404
CM_MOUSEENTER/CM_MOUSELEAVE を使うのでは駄目?

407 名前: ◆XcB18Bks.Y mailto:sage [2008/04/18(金) 16:18:16 ]
>>406
最近のバージョンではOnMouseEnter, OnMouseLeave イベントとして実装されていますね。

>>379
おおざっぱに言いますとこんな感じです。

・WideString…全部の文字が2バイト
・UTF-8…英数コードが1バイト(しかもこれらのほぼすべての文字コードがANSI文字列同じ)、
      漢字やかななどが3バイト


408 名前:デフォルトの名無しさん [2008/04/18(金) 22:54:38 ]
ユニコードが使えるエディタを作りたいのですが、良い方法はありませんか?
こちらの環境は Delphi 5 Pro です。

409 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:00:38 ]
SynEdit unicode editionを使う

410 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:02:28 ]
>>409
多謝!

411 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:40:25 ]
stringの長さだけを初期化する方法でSetLength(s, len)ってやるのと
SetString(s, nil, len)ってやる方法の二つがあるみたいですが、
この二つの差って何かありますか?

412 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:09:13 BE:626494-PLT(12660)]
総合アーカイバコンポで書庫内ファイルの削除したいんだけど、
RemoveItemsメソッドの使い方教えてください
↓こんな感じで動かすと書庫本体が削除されちゃうのですが…

 DelList := TStringList.Create();
 Arc := TArchiveFile.Create(Application);

 DelList に書庫内ファイル名を突っ込む←この書庫内ファイルを削除したい

 try
  Arc.FileName := "書庫本体までのフルパス";
  Arc.Options.jso := 1; // 共有エラーの場合に処理を続行
  Arc.Options.n  := 1; // 経過非表示にする
  Arc.RemoveItems(Application.Handle, nil,'', [DelList]);
 finally
  Arc.Free;
  DelList.Free();
 end;

413 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:35:09 ]
>>411
SetStringで長さを設定する人を見たことが無い。
違いが気になるなら、ソース見て。

>>412
ここ見ると、追加・削除をサポートしていない形式があるみたいだけど、大丈夫?
ttp://www.geocities.jp/norg1964/cmarc/

あと、TArchiveFile.Createで例外が生成されると、DelList.Freeは実行されない。

414 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 01:15:14 ]
>>411
SetLengthはメモリを再確保した後に内容のコピーをするような分岐がありますが、
SetStringでnilを指定した場合1つの分岐だけで即座に新しい領域が割り当てられます。
なのでSetStringの方が若干速いです。

>>413
SetLengthとSetStringはともに組み込みの手続きであり、ソース上にそのものの実装は存在しません。
場合によって別々の内部手続きが呼び出されます。この場合はLStrSetLengthとLStrFromPCharLenです。
これを初心者がソースを見て判断するのは酷でしょう。
それにSetStringで長さを設定するのはVCL内に多く見られます。
実際どうなってるか知りもしないのにそのような発言をするのはよくないんじゃないかと。

415 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 01:15:25 BE:209243-PLT(12660)]
>>413
レスありがと
形式はzipだからおkだと思うんだ…
何か書き方が悪いのか何なのか
それとcreateもtryの内側に入れることにしようと思います><



416 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 01:52:53 ]
Createをtryの内側に入れると、今度はCreateの例外で
ArcもDelListも代入前に使われちゃう。


417 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 12:31:04 ]
>>415-516
nilで初期化しておけばおk

418 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 13:25:31 ]
みんなー、>>516まで入りたい放題だぞー

419 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 16:51:44 ]
Delphi.NET(2005)で質問です。

TStringGridの内容を帳票として成型して
プレビュー画面を表示した後、印刷したいのですが
一体どうすれば良いのでしょうか。


420 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:35:32 ]
Excelでフォーマットを好きなように作り、プログラムからグリッドの内容をセルに流し込み、印刷で。

421 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:50:35 ]
ユーザにそこまでやらせるのはひどいアプリだなぁ

422 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:52:49 ]
2005で、かつ Delphi.NET 使ってる時点で論外

423 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:53:51 ]
>>422
.NetとFirebirdでWebアプリ作ってる俺に謝れ!

424 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 13:12:50 ]
ClientDataSetに放り込んでQuickReportとかは?

425 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 21:30:31 BE:975078-PLT(12660)]
>>412分かる人いないかな?



426 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:17:35 ]
>>425
私なら直接DLLの関数を呼び出す。

427 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 12:43:14 ]
turbo DelphiでMSSQLのデータを表示したいのですが
知り合いにできない、と言われました。
プログラムそのものが初めてでこれからやろうとしていたので本当なのかどうかがわかりません。
本当にできないのですか?

428 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 13:06:11 ]
>>427
普通にできる

429 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 14:20:06 ]
>>428
ありがとうございます。これから頑張って覚えてやってみます。
友人には間違いを伝えておきます。

430 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 15:17:50 ]
>>425
確かにzipでやってみたらファイルが消えた。
lhaならできたけどzipじゃないとだめなの?

431 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 15:25:14 ]
>>426
日本語でおk

432 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 19:38:35 BE:557748-PLT(12660)]
>>426
DLL直だとコンポーネント使ってる意味が無いというか…
最悪それに挑戦することになりそうです。

>>430
zipで出来ないとうまくないですねー
何とかならないものかしら

433 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 20:16:08 ]
以前かなり前、TShapeの表示/非表示の切り替えが異常に遅いって
書いたモノですが、ようやく原因が分かりました。\(^o^)/
TShapeを表示させているフォームのAutoScrollをFalseにしたら、
劇的に速くなりました。良かった。これでGWは何日か休めそう

434 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 03:03:11 ]
>>432
ZIP32.pasのMainEntry2の中でコマンド実行する前に
DeleteFile( ArchiveFileName )でファイル消されてる。
それコメントアウトするとちゃんと処理できたけど、追加のとき
エラー回避のために必要みたいなコメントあるから、ファイルを
消すときだけ処理を飛ばすようにした方が安全かも。

435 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 06:59:21 ]
TMenuBarやTToolBarを使ってメニューを移動できるようにすると
メニューにマウスを乗っけるとボタンみたいになってしまうのですが
これを防ぐにはどうすればいいのでしょうか?



436 名前:デフォルトの名無しさん [2008/04/24(木) 10:56:39 ]
DelphianWorldって亡くなりました?

437 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:08:52 ]
文字列型変数のアドレスを取る手続きFooがあるのですが、
その手続き内で文字列のサイズと内容をセットしたいのですが、どうすれば
いいでしょうか?
呼び出し元は
var AResult: string;
begin
 Foo(@AResult);
end;
です。
procedure Foo(P: Pointer);
begin
 // ここで文字列のサイズと内容を設定したい。
end;


438 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:25:22 ]
短い文字列型を使う。

439 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:31:25 ]
DelphiMLって今生きてるの?
4月8日からメールが流れて来ないんだが

440 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:48:01 ]
437です。
>>438
呼び出し元の方は変更できませんので、呼び出し先の方でなんとかしたいです。

で、とりあえず、色々やってみたのですが、
procedure Foo(P: Pointer);
begin
 Pointer(P^) := Pointer(StrNew('あいうえお'));
end;
でやると一応動いているようには見えますが、StrNewの方で参照カウントが設定
されていないので、ちょっと不安です。
呼び出し元がWideStringで
procedure Foo(P: Pointer);
begin
 Pointer(P^) := Pointer(WStrNew('あいうえお'));
end;
でやるとHeapがどうたらというエラーでコケマス。




441 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:53:33 ]
ぶっちゃけ

procedure Foo(var s: string);
begin
 s := 'あいうえお';
end;

これでいいじゃんと思うのは俺だけ?

442 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:11:37 BE:1409999-PLT(12660)]
>>434
なるほど、ちょっとそのへんいじってみます。
貴重な情報ありがとうございます。

443 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:12:07 ]
procedure Foo(ps: PWideString);
begin
 ps^ := 'あいうえお';
end;

呼出元がポインタで渡してるみたいだし俺ならこうするかな

444 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 22:32:32 ]
>>439
生きてるけど、人がいなくなって瀕死状態なのかと

445 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 22:40:29 ]
同じモジュールなら、PString(P)^ := ?? でいけそうですが。
string=WideStringなら、 >443と同じですけど。



446 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 23:09:55 ]
>>445
日本語でおk
つかおまいのこれ(>>440)はどこでStrDisposeするんだ?
どっかにリストでももってそこで管理する気か?

447 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 23:45:37 ]
>>434
オイラからもありがとう
とりあえずこうしといた
if Pos('-d',_lpszCmdLine)=0 then
DeleteFile( ArchiveFileName );

448 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 23:47:09 ]
とりあえず、445<>440だ。

449 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 00:05:17 ]
Delphian Worldは消滅したみたい。Delphi-MLは開店休業。みんなFTにいるんじゃない?

450 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 01:11:53 ]
>Delphi-MLは開店休業。みんなFTにいるんじゃない?

へっ? Delphi-ML ってメンバーが10人あまりなんか?
それは・・・瀕死状態なんでは?


451 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 04:31:23 ]
FT?

452 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 07:49:08 ]
>>440です。みなさん、ありがとうございました。
>>443,>>445さんの方法でうまくいきました。
procedure Foo(P: Pointer);
begin
 PWideString(P)^ := 'あいうえお';
end;
PStringまたは,PWideStringにキャストすれば良かったのですね。
>>441
実際のFooは仮想クラスのメソッドで派生クラスでオーバーライドしているため、
インターフェースを変える事ができません。
>>446
文字列のための動的なメモリの割り当ては、呼び出し先(この場合Foo)で行っていますが、
呼び出し元のAResultの変数が破棄される時(この場合、スコープから外れた時)に、割り当てられたメモリは自動的に
解放されると思います(たぶん)。


453 名前:デフォルトの名無しさん [2008/04/25(金) 08:47:53 ]
質問します。よろしくお願いします。
var pArray: PInteger;
として
GetMem(pArray,100);
pArray[0]:=12;
とかすると、配列型が必要ですとエラーが出ます。
Integerのポインタを配列としてアクセスするにはどうすれば良いでしょうか。


454 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 09:20:46 ]
PIntegerArrayにキャスト。
PIntegerArray(pArray)[0]:=12;



455 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 09:31:14 ]
フォルダのパスから、そのフォルダの中にあるファイルのパスを所得するにはとうしたらいいのでしょうか?



456 名前:453 mailto:sage [2008/04/25(金) 09:37:41 ]
>>454
うまくいきました。ありがとうございます。

457 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 09:39:00 ]
.NET だと使えないけど absolute という便利な構文がある。

type AInteger = array [0..$ffff] of integer;
var
pInteger: ^Integer;
pArray: ^AInteger absolute pInteger;

とやれば いちいちキャストしなくても pIntegerの別名が pArrayになるんで

 pArray^[0] := 12;

と書けるよ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<238KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef