[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 08/06 12:35 / Filesize : 39 KB / Number-of Response : 162
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

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



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 関連の過去スレッド


2 名前:ななしへたぐらま ◆XcB18Bks.Y mailto:sage [2007/05/31(木) 21:07:14 ]
□質問しながら多少、相手してもらいながら
Delphi初心者のための寺子屋
pc11.2ch.net/test/read.cgi/tech/1132756268/
Delphiで無料でプログラミングしてみるお
pc11.2ch.net/test/read.cgi/tech/1158233434/

□雑談類は以下のスレに
バカボンのDelphi不買・販促・その他談話室その29
pc11.2ch.net/test/read.cgi/tech/1153227982/
【Borland】 CodeGearオッチャ その2【(ノ∀`)アチャー】
pc11.2ch.net/test/read.cgi/tech/1178362571/

Borland Developer Studio 2006 No.13
pc11.2ch.net/test/read.cgi/tech/1175861395/
Borland Developer Studio 2006 アンチスレ
pc11.2ch.net/test/read.cgi/tech/1153353434/
VB vs Delphi @夏厨2006
pc11.2ch.net/test/read.cgi/tech/1152851763/


3 名前:ななしへたぐらま ◆XcB18Bks.Y mailto:sage [2007/05/31(木) 21:08:27 ]
□Webとかの通信関係
【Delphi】 Indyコンポーネント 【C++Builder】
pc11.2ch.net/test/read.cgi/tech/1093654251/
delphiで2ch保守プログラムを作ろう
pc11.2ch.net/test/read.cgi/tech/1165632604/

□ゲームを作りたい人
Delphi持ってるならGLSceneを使え
pc11.2ch.net/test/read.cgi/tech/1163269079/
【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 2【Delphi】
pc11.2ch.net/test/read.cgi/gamedev/1097836469/
Delphiでアクションゲームが作りたい!! Part2
pc11.2ch.net/test/read.cgi/gamedev/1027482533/
ネットワークゲーム作成のお勉強(Delphi専用スレ)
pc11.2ch.net/test/read.cgi/gamedev/1028278884/
delphiでMMO
pc11.2ch.net/test/read.cgi/gamedev/1072515100/

□borland/CodeGear以外の実装もあるよ
【Delphi互換!?】FreePascal【GPL】
pc11.2ch.net/test/read.cgi/tech/1137051510/


4 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 21:38:55 ]
CodeGear
dn.codegear.com/jp/


ボーランド 日本の 残骸
202.33.253.145/bds/index.html


5 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 21:55:43 ]
www.akanko.net/marimo/data/rfc/rfc1321-jp.txt

この手のobjをDelphiで使う場合、memory.hとか使わないで
MD5.hにmemcpy/memsetの宣言を書くだけで問題は無いですかね?

6 名前:Delフサギコ ◆A6VzDeLphI [2007/05/31(木) 22:32:02 ]
           _________
   ∧,,∧∩  / 
  ミ,,゚Д゚彡 < ななしへたぐらま さん、乙!
   ミつ旦.ミ   \ 
 @ミ   ミ     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪


7 名前:Delフサギコ ◆A6VzDeLphI mailto:sage [2007/05/31(木) 22:32:59 ]
           _________
   ∧,,∧   /だれか
  ミ,,゚Д゚彡 < Delphiソースで
   ミつ旦(ミ~~ \ IPメッセに
 @ミ   ミ     メッセージ投げる方法
   ∪''∪    しらまいか?


8 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 22:36:05 ]
君はそろそろ、名無しに戻ったほうがいいと思うぞ

9 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 23:14:17 ]
>>5
使ってる関数は全部実装しないとダメだよ
でも、実装されてるみたいだけどね。

あとMD5ならpasコードもあるよ
ttp://homepage1.nifty.com/Ayakawa/soft/delphi.htm


10 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 11:45:12 ]
>>7
あれってソース公開されてるよね?



11 名前:Delフサギコ ◆A6VzDeLphI mailto:sage [2007/06/01(金) 12:53:05 ]
           _________
   ∧,,∧   / んーー、
  ミ,,゚Д゚彡 <  DelphiでLibrary
   ミつ旦(ミ~~ \ 作っている人もいるらしいが
 @ミ   ミ     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪

実際やろうとすると、わけがわからないんだよね。
UDPとか使っているらしいし。

誰か具体的にやりかた知らないかなあ。

12 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 14:06:54 ]
>>11
アレだけ情報でているのに出来ないんだから諦めろ

13 名前:Delフサギコ ◆A6VzDeLphI mailto:sage [2007/06/01(金) 15:00:31 ]
           _________
   ∧,,∧   / 教えれない
  ミ,,゚Д゚彡 <  んなら、だまってていいよ。
   ミつ旦(ミ~~ \ 
 @ミ   ミ     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪

互換メッセンジャーのChatrunを作っている方が
コンポーネント公開したい、、

というなコメントを書いているのだが、
なかなか、C++系とは違って
こういうところが難しいのですよね。

誰かDelphiで接続できるコードつくってないかな。

14 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 15:30:12 ]
こういう所って のはどういう所? PROTOCOL.TXT に説明あるし
ues WinSock して MSGMNG.CPP を地道に パスカルに変換すればいけるだろ

15 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 15:32:49 ]
>誰かDelphiで接続できるコードつくってないかな。

これがホンネだろ。この前もグダグダ言ってたら誰かコード書いてくれたし

16 名前:Delフサギコ ◆A6VzDeLphI mailto:sage [2007/06/01(金) 15:59:42 ]
   ∧,,∧    /最初から
  ミ,,゚Д゚彡 < ホンネですが
   U  つ∀ \なにか?
 〜ミ  ミ ┴  
   ∪''∪    なんだかなあ
>>15
自分でも書きましたが?

>>14さん
うーん、ちょっと面倒っぽいですな....C++は嫌いだし嫁ないので....
まいつたな。。

まあ、おいおいやっていくか。

17 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 16:03:20 ]
>うーん、ちょっと面倒っぽいですな....C++は嫌いだし嫁ないので....

C++Builderはやっとけ。

18 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 16:28:26 ]
フサギコ死んでくれ
delphiの為に

19 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 16:34:48 ]
>>16 C++といっても、特にややこしいことはしてない 機械的に変換出来るレベルだよ

20 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 16:40:38 ]
コテ叩きウザ
フサももっと大人毛生やせ



21 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 16:48:31 ]
名無しに戻って擁護するあたりとか流石と言っておこうか

22 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 19:21:19 ]
てか、コテでしょうもない質問しかしないんなら名無しでやれよ
うっとうしいねん

23 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 19:46:11 ]
コテが嫌ならあぼんしろ
くだすれの質問に文句垂れんな
行儀よくやりたいならMLにでも行け

24 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 20:30:00 ]
Delphiで彼女はできますか?

25 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 20:44:59 ]
出来ました。

当方35歳170cm85kg後頭部ハゲ

彼女 23才 158cm 43kg Cカップ 加藤あい似

感度がいいです。

26 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 20:52:32 ]
ソースうpキボンヌ
俺も作る

27 名前:5 mailto:sage [2007/06/01(金) 22:10:42 ]
>>9
レスありがとう
直リンでソース見れた方が分かり易いと思ったので>>5のLink貼ったけど、
今使ってるのはこっちのオプティマイズされたのです
www.fourmilab.ch/md5
memcpy/memsetはDelphiの場合、Pas側でMoveとFillCharに置き換える事に
なるです(Jpeg.pasとかと同じ)
ダミーの宣言ならサイズも小さくて_fastcallにも出来て良いかと思って。
.asm吐いてみたけど、アドレス以外にコード自体の違いは無いみたいで
よく分からんです

pasコードならここのがTransformがInline化されてるので速いです
class化をやめればもうちょっと速いかもですけど、objをLinkの方が
大分速いです
www.sawatzki.de/




28 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 22:21:12 ]
>7
IP Messengerのこと?手元に
// TIPMsg.pas, version 1.0b2
// Copyright(c) Tomoaki Takebayashi(XXXX@XX.XXX.XX.jp)
というコメントの入ったソースがあるのだが…どこで入手したのか記憶にない。

29 名前:Delフサギコ ◆A6VzDeLphI mailto:sage [2007/06/02(土) 00:55:23 ]
             ___________
    ∧,,∧     /確かに個人的に
   ミ,,゚Д゚彡 <  EmEditorのプラグインとか
   ミ つ日   \考えるとC++は詠みたいのだが。
 .@ミ,,,,,, ,,ミ       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

実は、目指したいのは
単純な構造のC++をDelphiコードに変換するように
構文解析をできるプログラムは組めまいかと
望んでみたりもして。

EmEditorのプラグインの場合
plugin.h→plugin.pas
で、変換できたら最高なのになあ。とも思うのだ。

>>14さん
>ues WinSock して MSGMNG.CPP を地道に パスカルに変換すればいけるだろ
ふむふむ。。。

自分への、課題だな。

>>28
素敵ね。

30 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 00:57:53 ]
BNFがわからんとか言ってるやつに構文解析は無理だ



31 名前:Delフサギコ ◆A6VzDeLphI mailto:sage [2007/06/02(土) 01:02:19 ]
             _
   ∧,,∧∩    /
  ミ*゚∀゚ミミ  <  これか!
  ミ つ且~~   \
〜ミ,,,,,, ,,ミ        ̄

tota@web
tota.s57.xrea.com/

  ∧,, ∧     ありがとう。
  ミ。_。彡   ペコッ
〜ミ,,,U U,,ミ 且~~  

ヒントになりました。

>>30
まあ、そのうちな!ミ・w・彡

32 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 10:24:25 ]
ライセンス表記のないコンポはどーすりゃいいんだ?
修正BDSって勝手に解釈して著作権だけ表記すりゃいいのか?

33 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 10:26:48 ]
ライセンス表記のないソースコードは著作権法によってのみ縛られるから
改変不可、再配布不可、引用の範囲内を超えた組み込み(プログラミングの世界ではリンクと呼ばれる)による再配布も不可。

34 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 10:33:52 ]
>>33
そうなのか・・・。
てっきりTBXみたいに著作権とWebアドレスかいてりゃいいと思ってたよ。

って、結構多くない?
ライセンスが不明なコンポ。

35 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 10:36:05 ]
>>32
×修正BDSって勝手に解釈して著作権だけ表記すりゃいいのか?
○修正BSDって勝手に解釈して著作権だけ表記すりゃいいのか?

36 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 10:44:53 ]
実際のところPDS文化の延長で著作権表記を勝手に書き換えたり
塗りつぶしたりしない限り好きにしてくれって事だとは思うが。

help|aboutかreadmeに謝辞書いておけば十分だろうけど
気になるなら問い合わせるしかない。

37 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 10:46:25 ]
>>33
>引用の範囲内を超えた組み込み(プログラミングの世界ではリンクと呼ばれる)による再配布も不可

これってコンポを自分のアプリに取り込んで、アプリを配布するのも不可ってことだよねぇ。
困ったな。

>>36
一度、問い合わせてみるかなぁ。

38 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 11:04:58 ]
たまにコンポーネントにGPLライセンスを適用してる人っているよね
アレって何なんだろ?
せめてLGPLにしてくれよ

39 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 12:00:08 ]
>>38
Delphi のコンポーネントはスタティックリンクだから LGPL でも大差なくね?

40 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 12:02:20 ]
【GPL】ライセンス問題討論すれ7【BSDL】
pc11.2ch.net/test/read.cgi/linux/1154170666/



41 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 12:21:16 ]
>>39
だなw

42 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 12:21:58 ]
ていうか、GPLのコンポみたことないけど、具体的にどれよ

43 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 12:25:53 ]
GPLとかは後々縛られるから、おとなしく車輪の再開発したほうがいいな。
無駄だけど

44 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 12:43:51 ]
俺も前にMD5を自前で実装した。ライセンスのこと考えるとよくわけわかめで、ライセンスのことで
心配するなら作っちゃおうと。そういう事考えると、.NETのクラスライブラリだけは魅力的に見える。
GPLじゃなく、MPL採用したソースもあるけど、バグ発見して修正するとなると、いちいち公開しなきゃいけないし。
もうね。めんどい。

45 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 16:36:09 ]
>>42
JVCLがMPLとLGPLのダブルライセンスじゃなかったか?

46 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 16:42:42 ]
>>45
soudakkeka

47 名前:デフォルトの名無しさん [2007/06/02(土) 17:40:20 ]
C++でいうstaticなメンバ変数ってどうやって作るんですか?
メンバ関数ならclassを頭に付ければいいと解ったのですが変数の方が解らないです。


48 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 18:18:33 ]
>>47
基本的にはできないが、どうしてもやりたければ、
型付き定数でできるはず。

49 名前:デフォルトの名無しさん [2007/06/02(土) 18:19:52 ]
ごめん。関数staticと間違えた。

class var でできない?

50 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 19:31:13 ]
>>47
古いバージョン使ってるなら
type tfoo = class;

implementation

var foo_class_var: integer;

みたいな事をやるしかない。



51 名前:47 mailto:sage [2007/06/02(土) 20:12:55 ]
解答tks!

D6です。>49の方法はダメですた。
無理そうなので別の方法にします。


52 名前:デフォルトの名無しさん [2007/06/02(土) 20:16:54 ]
D6には、class var はないわな

53 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 22:29:57 ]
delphi2007を使っています。

デバッグ中に「このエラーを無視する」としたところ、
関連するエラーで中断しなくなりました。(当然ですが)

再びこの設定を元に戻すにはどこを戻してやればいいんでしょう?


54 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 22:31:28 ]
2007ってまだ体験版しかないよね

55 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 22:41:18 ]
昨日から繋がらないけど閉鎖?
www.tolderlund.eu/delphi/

56 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 22:43:42 ]
つながるじゃん

57 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 22:45:49 ]
マジで?

58 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 22:49:27 ]
つながるけど404

59 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 00:40:17 ]
VBMP3のコールバック関数をどう書けば良いか分かりません・・・

今は、
function vbmp3_callback(pProc:Pointer):Boolean;stdcall;external 'VBMP3'; //宣言
vbmp3_callback(@TForm1.CallBackPrc); //FormCreateで実行
Procedure TForm1.CallBackPrc(id,Sec:Integer); //コールバック関数
と、書いてますが、エラーが出ます。

VBでは、
Declare Function vbmp3_callback Lib "VBMP3.dll" (ByVal pProc As Long) As Boolean
Call vbmp3_callback(AddressOf vbmp3_Proc)
Public Sub vbmp3_Proc(ByVal id As Long, ByVal param As Long)
となってます。(VBでの表記はReadMeから転記)


文法にエラーは無いのですが、ファイルをopenて再生を開始した途端にエラーが出ます。
ReadMeによれば、コールバック関数への引数のidは0~4の値をとるそうですが、
0~4以外の値をとっているようです。
IntToStrを使って値を確認しようとしたのですが、そうするとIntToStrの部分でエラー(実行は可能)が出ました。

分かる方居ましたら、よろしくお願いします。

60 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 01:08:44 ]
とりあえずCallback関数をTForm1のメソッドではなく、只の関数として実装してみては

procedure CallBackPrc(id, Sec: Integer); stdcall;
begin
//処理
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  vbmp3_callback(@CallBackPrc);
  ...
end;



61 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 02:14:16 ]
>60
やってみましたが、尚エラーです。

ステップ実行してみると、どうやらコールバック関数の処理が終わった瞬間にエラーが出てるようです。
更に、同時にCPUウインドウが。

62 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 02:20:29 ]
なんてエラー?

63 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 02:24:37 ]
ていうか、IntToStrでエラー出るってことは、それ以前にスタックかどっか破壊されてるっぽいな

64 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 02:33:48 ]
プロジェクト が例外により実行を停止しました。
'access violation at 0x1001dde3: write of address 0x00011002'

と出ます。

65 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 03:38:43 ]
>>64
アドバイス受けるには情報が不足だと思うよ、コードさらしてみ

66 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 03:49:35 ]
文字列をDelphiのstringでそのまま渡しているせいとか。

67 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 03:59:07 ]
>>64
ttp://web.archive.org/web/20060521074149/www.angel.ne.jp/~mike/vbmp3/index.html

ようわからんが、ここが参考にならんか?

68 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 06:15:19 ]
>>60
なんか変でない?
1. procedure じゃなくて Boolean を返す function じゃないの?
2. 関数名自体ははじめからポインタなのに、何で更に @ を付けるの?
を勘案すると

function CallBackPrc(id, Sec: Integer): Boolean; stdcall;
begin
//処理
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  vbmp3_callback(CallBackPrc);
  ...
end;


69 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 07:10:05 ]
後ろについてるExternal宣言がなんか変だ。
VBの宣言に詳しくないので正しい関数名がわからんが、こんな感じに書くんじゃなかったっけ?

external 'VBMP3.DLL' name 'vbmp3_callback';

70 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 08:12:32 ]
試してみた >>67 のサイトから Delphi用のサンプルvbmp3forDを落として

function vbmp3_callback(pProc:Pointer):Boolean;stdcall;external 'VBMP3'; //宣言
procedure CallBackPrc(id, Sec: Integer); stdcall; //コールバック関数
begin
form1.Caption:=format('%5d %5d',[id,Sec]);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 ・・・ 他の処理 ・・・・
vbmp3_callback(@CallBackPrc); // これだけ追加
end;

これで、動くようだけど?



71 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 10:42:36 ]
C:\Program Files\CYBERFRONT\Sid Meier's Civilization 4(J)\Warlords(J)\Civ4Warlords.exe
を幅を指定して
C:\Program Files\...\Civ4Warlords.exe
みたいに短くする関数ってありますか?

72 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 10:46:50 ]
...\ ってどこを指してるの?

73 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 11:38:24 ]
文字列処理の話です。
例えばこんな感じで200ピクセルに収まるように文字列を適当に短くしたいです。
GetShortPathStrForPrint(Font, 200, 'C:\Program Files\CYBERFRONT\Sid Meier's Civilization 4(J)\Warlords(J)\Civ4Warlords.exe')
==> 'C:\Program Files\...\Civ4Warlords.exe';

74 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 12:06:32 ]
自分で処理描いても大した手間じゃないよ

75 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 12:20:34 ]
MinimizeName?

76 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 15:34:35 ]
MinimizeName ですな

77 名前:デフォルトの名無しさん [2007/06/03(日) 16:13:00 ]
>>71
シビライゼーション面白いよな

78 名前:59 mailto:sage [2007/06/03(日) 16:46:22 ]
解決しました。

>70さんのコードを眺めていて、まさかと思ってVBMP3をVer1.3.1.0に戻すと正常に動作しました。


お騒がせしました。答えてくれた皆さん、ありがとうございました。

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
でないんじゃないかなあ。
あくまで憶測だが






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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