モナーの *やさしい* Delphi質問スレ Ver.5
■ このスレッドは過去ログ倉庫に格納されています
0001Delモナー ◆fPymXWHY
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。
( ) .| Delモナーは時に私であり、時には別の人。
| | | | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。
(__)_) \_________________________
前スレ Ver.4
http://pc.2ch.net/test/read.cgi/tech/1016467137/
それ以前は >>2 参照。
Delphi6のアップデートは済んでいますか。最新版は3月29日。 >>5
ソース置き場作りました。ファイルのアップロードもできます。 >>7
○過去スレ >>2
○関連スレ >>3-4
○Delphi製品情報 >>5
○関連リンク >>6
○質問者へ >>6
○ソース置き場案内 >>7
0153デフォルトの名無しさん
NGNGDelphi6のPersonalは無料なんだからそれを使えって
CD欲しけりゃもらえるしダウンロードも出来る
Indyだってただなんだし(俺の記憶では)
0154デフォルトの名無しさん
NGNG何コイツ?
自作自演?
0155114
NGNG0156114
NGNG0157デフォルトの名無しさん
NGNGハァ?
黄色い救急車呼んでこい
0158デフォルトの名無しさん
NGNG何がコンパイル出来ないのかよく判らんが・・・。
何の話?コンパイルできるけど?
0159デフォルトの名無しさん
NGNG146が器と中身を混同しているのでは?
「飯」を「象印の炊飯器」で炊く
のと、
「象印の炊飯器」を炊く
の違いが判らないと理解できないかも(藁
0161114
NGNG0162デフォルトの名無しさん
NGNGexeどころかもう。。。なあ149>>
0163114
NGNGDLしたことによってパソの設定変えたくないから。
Indyがパソが狂うよりもいいものだったら、考えようだが。
0164デフォルトの名無しさん
NGNG・Borland.co.jpに行く http://www.borland.co.jp/
・DelphiPersonalをダウンロードする http://www.borland.co.jp/news/del6personal_j.html
・DelphiUpdate2をダウンロードする http://www.borland.co.jp/download/delphi.html
・ライセンスキーを取得する(無料) http://register.borland.co.jp/delphi_personal.htm
・Delphi6PersonalとUpdate2をインストール
これでDelphi6が使えるわけだ
あとはIndyとかを個人好みで入れれば良い。
0166デフォルトの名無しさん
NGNG普通に開発出来る
0167デフォルトの名無しさん
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ・∀・)< >>114はもう少し自分で
( ) \ 調べてから発言してね ♥
| | | \___________
(__)_)
Indy使うの嫌だったら他にFTPの扱えるコンポーネントを
探して、それでもどれも使いたくないと言うのならSocket
から作ってね。
0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNGマジで、何言ってるのかわかりません。
Indyでパソ?(パソコンの事か?)の設定?(レジストリの事か?)
パソが狂う?(暴走する事か?)
そんな事ないよ、IndyってDelphi用のコンポーネントなんだが?
何と勘違いしたらそんな話になるんだ?
ちょっと自分で調べてから発言しないと、ウザがられますよ?
0171114
NGNG拡張子が変わってしまうのがいや。
Delphi6って、ちょっとDelphi5に比べて形変わっているから、
初心者でいるうちは、Delphi5から移りたくない。
だから、NMHTTPきぼーん。
0172114
NGNG自分で調べろってか?
0173114
NGNG話から分かるけど。
0174デフォルトの名無しさん
NGNG>拡張子が変わってしまうのがいや。
何の拡張子?何が変わったよ?
>Delphi6って、ちょっとDelphi5に比べて形変わっているから、
形が変わった?意味不明なんですけど。
>>172
http://www.google.co.jp/search?q=Indy&hl=ja&lr=
0175114
NGNG本人の真似をしているということ。
0176114
NGNG0177114
NGNG0178114
NGNGIndyそのものをDLできませぬか?
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNG0181114
NGNG0183デフォルトの名無しさん
NGNG騙る【きどる】
0185デフォルトの名無しさん
NGNGまず名前欄に fusianasan#好きな言葉 って入れろ
好きな言葉はパスワードみたいなものだ。
忘れないように。#(シャープ)も忘れるなよ。
0186114
NGNGアフォが!!
0187114
NGNG答えたわ!アフォが!!
0188114
NGNGThank You!!
0189デフォルトの名無しさん
NGNG番号無駄に上がるし、ここはそんなスレじゃないんでヨロシク頼む。
0190デフォルトの名無しさん
NGNGよって今後>114は放置の方向で。
0191114
NGNG0192デフォルトの名無しさん
NGNG>>111
>for Stream.Position := 0 to Stream.Size-1 do ...
>っていう使い方が出来ると便利なのに。
便利さはしばしば安全性とのトレードオフになるからね〜
便利さを重んじたのがC/C++で
安全性を重んじたのがPascal(Object Pascal)なんじゃない?
俺は注意力に自信がないからストロングタイピングな言語の方が安心だけど
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNG0195114
NGNG0196デフォルトの名無しさん
NGNGMSDN Library Like 演算子
http://www.microsoft.com/japan/developer/library/default.asp?URL=/japan/developer/library/vbenlr98/vaoprlike.htm
パターンマッチングができる。
0198デフォルトの名無しさん
NGNGやっとかよ・・・
4時間前から言ってやったのに
0199デフォルトの名無しさん
NGNG無いことは知ってるんです。
ですからそれ相当の物があるのかもしくは自分で作れないかと思って。
関数なりを。
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNGstrstr()
0202デフォルトの名無しさん
NGNGDelphiには残念ながら存在しないので、文字列だったらPosを駆使する
ことになると思います。
0203デフォルトの名無しさん
NGNGワイルドカードだ疲れればいいんだよね。
オートマトンでどうにかなるんじゃない?
0204デフォルトの名無しさん
NGNGvar
idxA,idxB:Integer;
wLenA,wLenB:integer;
wUMC,wWC1,wWC2:Boolean;
begin
wLenA:=Length(a);
wLenB:=Length(b);
wUMC:=False;
wWC1:=False;
wWC2:=False;
idxA:=0;
for idxB:=1 to wLenB do
begin
if (wWC1=False) then
begin
inc(idxA);
if (idxA>wLenA) then wUMC:=True;
end;
if (a[idxA]='*') then
begin
inc(idxA);
if (idxA>wLenA) then wWC2:=True;
wWC1:=True;
end;
if (a[idxB]='?') then wWC2:=True;
if (wWC2=False) then
begin
if (a[idxA]=b[idxB]) then
begin
if (wWC1=True) then wWC1:=False;
end else begin
if (wWC1=False) then wUMC:=True;
end;
end;
wWC2:=False;
if (wUMC=True) then Break;
end;
if (wUMC=True) then
result := false
else
result := true;
end;
0205デフォルトの名無しさん
NGNGProfessional以上ならMasksとかいうワイルドカード扱うUnitが
あったはず。
0206デフォルトの名無しさん
NGNGaの文字数が長い時のチェックが無いね
0207デフォルトの名無しさん
NGNG最後辺りの if文のところを
if (wUMC=True) or (idxA<wLenA) then
すりゃ判定できるみたいだが、機能が不足してるし、わかりづらいなぁ。
それに、速度的にどーよ。
0208デフォルトの名無しさん
NGNG有難うございました。
0209DELモナ
NGNGfunction Like(Str,Ptn:string):Boolean;
var
P,I:Integer;
begin
Result := False;
if Str = '' then Exit;
if Ptn = '' then Exit;
P := 1;
I := 1;
while (P <= Length(Ptn)) and ( Ptn[P] = '*' ) do Inc(P);
while (I <= Length(Str)) and ( P <= Length(Ptn) )do begin
if Ptn[P] = '?' then
Inc(P)
else begin
if Ptn[P] = '*' then Inc(P);
if Ptn[P] = Str[I] then Inc(P);
end;
Inc(I);
end;
Result := (P > Length(Ptn)) and (I > Length(Str) );
{ Ptn が含まれているかどうかを調べるには以下の結果を使う }
{ Result := P > Length(Ptn); }
end;
0210デフォルトの名無しさん
NGNG>>204ソース + バグ修正 の方が結果が正しいようだが・・・。
0211デフォルトの名無しさん
NGNGごめん、正しく動いてたみたいです。
0212DELモナ
NGNGfunction Like(Str,Ptn:string):Boolean;
var
P,I:Integer;
N:string;
begin
Result := False; N := ''; P := 1; I := 1;
if Str = '' then Exit; if Ptn = '' then Exit;
while (P <= Length(Ptn)) and (Ptn[P]='*') do Inc(P);
while (I <= Length(Str)) and (P <= Length(Ptn))do begin
if Ptn[P] = '[' then begin
N := ''; Inc(P);
while (P <= Length(Ptn)) and (Ptn[P] <> ']') do begin N := N + Ptn[P]; Inc(P); end;
end;
if N <> '' then begin
if Pos( Str[I], N )>0 then begin Inc(P); N := ''; end
end
else
if Ptn[P] = '?' then Inc(P)
else begin
if Ptn[P] = '*' then Inc(P);
if Ptn[P] = Str[I] then Inc(P);
end;
Inc(I);
end;
Result := (P > Length(Ptn)) and (I > Length(Str) );
{ Ptn が含まれているかどうかを調べるには以下の結果を使う }
{ Result := P > Length(Ptn); }
end;
0213デフォルトの名無しさん
NGNGおお!凄い
この勢いで正規表現まで頑張って下さい、期待してます!
0214デフォルトの名無しさん
NGNG0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNG"3ce5" に "3c[a-zA-Z]5"がマッチすると。
function Like(Str,Ptn:string):Boolean;
function GetCharList(List:string):string;
var
I:Integer;
C:Char;
begin
Result := '';
for I:=1 to Length(List) do
if List[I] = '-' then
for C := Succ( List[I-1] ) to List[I+1] do
Result := Result + C
else
Result := Result + List[I];
end;
var
P,I:Integer; N:string;
begin
Result := False; N := ''; P := 1; I := 1;
if Str = '' then Exit;
if Ptn = '' then Exit;
while (P <= Length(Ptn)) and (Ptn[P]='*') do
Inc(P);
while (I <= Length(Str)) and (P <= Length(Ptn)) do begin
if Ptn[P] = '[' then begin
N := '';
Inc(P);
while (P <= Length(Ptn)) and (Ptn[P] <> ']') do begin
N := N + Ptn[P];
Inc(P);
end;
N := GetCharList(N);
end;
if N <> '' then begin
if Pos( Str[I], N ) > 0 then begin
Inc(P);
N := '';
end
end
else
if Ptn[P] = '?' then
Inc(P)
else begin
if Ptn[P] = '*' then Inc(P);
if Ptn[P] = Str[I] then Inc(P);
end;
Inc(I);
end;
Result := (P > Length(Ptn)) and (I > Length(Str) );
{ Ptn が含まれているかどうかを調べるには以下の結果を使う }
{ Result := P > Length(Ptn); }
end;
0217デフォルトの名無しさん
NGNGまだそのネタやるつもりか?つまらん
0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNGあ、Like作ってる人たちはすごいっす。
0222デフォルトの名無しさん
NGNG0223Delフサギコ ◆zE1iiRdQ
NGNGミ,,゚Д゚彡っ━'~ | とりあえず、Like作成は
ミ∪ ~,ノ < テストコードを書いてから語ろうよ
ミ '' ミ \____________
し'~し'
0224デフォルトの名無しさん
NGNG新学期になって中学生がパソコン買って貰ったから
「よーしプログラム組むべ!」
って気合い入れたは良いけど何をしたらいいのか、どの言語にしたら良いのかわからず。
だからVBスレッドやDelphiスレッドに厨が繁殖するんだ。
そうか・・新学期だったんだ・・・
ここが「やさしいスレ」で良かったね
0225デフォルトの名無しさん
NGNG0226インディakaインターネットは直接です。
NGNG翻訳サービスもまだまだだなと思う(藁
0227インディakaインターネットは直接です。
NGNGいいね。旅情派だね。
0228インディakaインターネットは直接です。
NGNG>Why did the chicken cross the road?
>
>Some people say "To get to the other side.".
>We however are not really sure why the chicken crossed the road.
>It shall remain a mystery to the world.
>
>なぜ鶏は道を横断しましたか。
>何人かの人々は言います「反対側に到着すること」しかしながら、私たちは、
>なぜ鶏が道を横断したか実際に確信しません。それは、世界に対する神秘の
>ままであるものとします。
は、何なんだ?
0229デフォルトの名無しさん
NGNG周りがみんな爆笑してる場面で「ねぇ今のどういうこと?」って聞いてまわるタイプ。
0230デフォルトの名無しさん
NGNGVBもやっとオブジェクト指向になった?
既存ユーザには大変らしいけど新規ユーザーにはありがたいよね。
(.NET設計者そのものが、Delphiの人だったしね。もうBorland戻ったけど。)
Delphi.NETはまだですか?
C#Builderでもいいよ。
0231デフォルトの名無しさん
NGNGから、深く使おうと思ったら逆に苦労しそうなんだよな
0232デフォルトの名無しさん
NGNGえ?戻ったの?ソースキボンヌ。
0233デフォルトの名無しさん
NGNGライブラリのソース公開の話が出てたよ。C#スレ参照
0234デフォルトの名無しさん
NGNG日系の本に書いてあったよ
「日系ソフトウェア」だったかな。
だいぶ前
0235デフォルトの名無しさん
NGNGだから他のプラットホームに移植してる人がいるのだろうけど。
0236名無しへたぐらま ◆B18Bks.Y
NGNGTFormの謎
『型』ってあるよね.クラス型やレコード型,列挙型など,いろいろあるけど,
ボーランドさんは『型』の名前の先頭にTをつけるのが好きなの.
プログラムを書く人にもこれをすすめてる.
でもそうしなければいけないわけじゃない.
publicとprivate
クラス(オブジェクト)で外側から見えるものがpublic(パブリック),
見えない(操作できない)のがprivate(プライベート).
見せなくていいものを徹底的に隠すことで
プログラムの仕様があとで変わってしまっても最小限の変更で済む.
interfaceとuses
上のpublicとprivateに似てるけど,
ユニットのinterfaceと書かれた部分からimplementationと書かれた部分の間
(interface節という)で宣言されている型,関数と手続き,変数,定数は
ほかのユニットが必要に応じて参照することができる.
implementation以後で宣言されているものは参照できない.
usesはほかのユニットがinterface節で宣言している型,関数と手続き,変数,定数を
『使う』ことができる.(use=使う)
やはり見せなくていいものは極力見せないようにすべき.理由も一緒.
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNGpublicとprivate、interfaceとimplementationは権限で説明した方がわかりやすくない?
自分はそうやって説明して貰ったら一発で理解出来た。
protectedが抜けてるけど良いのかな。
まあ>>236の言うとおり他から参照出来るかどうかだね。
0239デフォルトの名無しさん
NGNG謎の数字をそのまま打つこと。
strncpy(str1,str2,18);
通常はこのように意味のある言葉でdefineする。
#define MAXDATALENGTH 18
strncpy(str1,str2,MAXDATALENGTH);
0240クレール
NGNG0241デフォルトの名無しさん
NGNGつまり delphiで言えばsystem.pasの公開でVCLではないように思う
ちゃんと見た訳じゃないけど、textBoxをgrepしたけど見つからなかったし
0242デフォルトの名無しさん
NGNGdelphi5では
TextOut(x,y:Integer; text:string)
で動くらしいので何とかわかるのですが、
私が持っているdelphi6では
TextOut(dc:HDC; x,y:Integer; str:PChar; const:Integer)
となっていて何が何やら…。
既出でしたら誘導してもらえるとありがたいです。
0243デフォルトの名無しさん
NGNGその意味もあるけど、データの型を示すためのいわゆるシグネチャ
としての意味もあるね。googleで調べりゃボロボロ出てくる。
0244デフォルトの名無しさん
NGNG0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNGTHogeTree=class(TTreeView)
public
constructor Create(AOwner: TComponent); override;
end;
constructor THogeTree.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Name:='hogeee'
Items.Add(nil,'aaaa');
end;
とすると、'コントロール'hogeeee'は親ウィンドウを持っていません'という例外が発生してしまいます。
色々やってItems.Addの前に「Parent:=(AOwner as TWinControl);」を
追加すればきちんと動作してくれるのはわかったんですが、
なぜ、Parentを指定しなければいけないんですか?
そういうもんなんでしょうか?
0248デフォルトの名無しさん
NGNGオーナーの廃棄と共にオブジェクトは消えて欲しいけど
描画先が廃棄されて一緒にアポーンされたら嫌でしょ?
0249デフォルトの名無しさん
NGNG>>238
ありがとう御座います
Publicとか理解出来ました。
その後Delphiの読みづらいコースウェアも読んでみました。
それにしてもDelphiのマニュアルは英語直訳って感じで分かりづらいですね。
分かってて当然って書き方されてるし・・・。
Delphiは入り込むのが難しそうだけどその後が楽そう。
0250249
NGNGprocedureとfunctionはどう違うんですか?
関数じゃ無いのでしょうか?
procedureが手続きでfunctionが関数なのは分かるんですが、どう違うのか・・・
自分で勝手に
function TForm1.aaaaa;
begin
Edit1.test := 'test';
end;
ってやったら動きましたけど・・。
0251デフォルトの名無しさん
NGNGprocedure :void
function :!void
0252デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています