Delphi相談室その7
レス数が1000を超えています。これ以上書き込みはできません。
0001Delphi1 から使ってます
NGNGボーランド
http://www.borland.co.jp/
<関連スレッド>
モナーの *やさしい* Delphi質問スレ Ver.8
http://pc3.2ch.net/test/read.cgi/tech/1027873869/l50
・雑談はこちら
ミ,,゚Д゚彡フサギコのフサフサDelphi談話室�E
http://pc3.2ch.net/test/read.cgi/tech/1031668744/l50
0002Delphi1 から使ってます
NGNG■過去スレ
Delphi相談室その6
http://pc3.2ch.net/test/read.cgi/tech/1028436692/l50
Delphi相談室その5
http://pc3.2ch.net/test/read.cgi/tech/1022921598/ (html化待ち)
Delphi相談室その4
http://pc.2ch.net/tech/kako/1018/10182/1018211735.html
Delphi相談室その3
http://pc.2ch.net/tech/kako/1010/10101/1010153466.html
Delphi相談室その2
http://pc.2ch.net/tech/kako/995/995950803.html
Delphi相談室
http://piza.2ch.net/tech/kako/971/971261573.html
0003Delphi1 から使ってます
NGNG0004デフォルトの名無しさん
NGNG( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。
( ) .| Delモナーは時に私であり、時には別の人。
| | | | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。
(__)_) \_________________________
0005デフォルトの名無しさん
NGNG適当すぎるわヴォケ
0006デフォルトの名無しさん
NGNG週末はDel7で遊べっていう個人ユーザへの配慮ですか?
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNGDelphi7 の情報がまったく無いのはどういうわけだ Borland
0009デフォルトの名無しさん
NGNGゲー製作のノベルゲームスレにでも行ってるんじゃないの?
0010デフォルトの名無しさん
NGNGあそこってさりげに人気スレなのか?
0011デフォルトの名無しさん
NGNG0012やさスレ
NGNGおう、いつでも引き受けるぞ。
もちろんベースは俺らだからスレタイは俺らのがそんぞくだがな
0013Delフサギコ ◆VzDeLphI
NGNGカタカナ⇔ひらがな
全角⇔半角
変換など、行うのは、どうするのでしたでしょうか。。
0014デフォルトの名無しさん
NGNGLCMapString
0015Delフサギコ ◆VzDeLphI
NGNG[Delphi:41843] Re: 半角の数字を全角に( 遅レス+解決したので)
0016
NGNGメールで ライセンスキーとインストールキー届いたんだけど
インストール時に「キーが正しくありません」って跳ね返されてます(T_T
どうしてでしょうか?
のっけからつまずいてます・・・・
0018Delフサギコ ◆VzDeLphI
NGNG〜′,,,,,,,,,,ミ,,゚Д゚彡<
UU"""" U ⊃ \
function KanaToHira(const Source: WideString): WideString;
var
Len: Integer;
begin
Result := '';
Len := Length(Source);
SetLength(Result, Len);
Windows.LCMapStringW(
GetUserDefaultLCID(),
LCMAP_HIRAGANA,
PWideChar(Source),
Len + 1,
PWideChar(Result),
Len + 1
);
end;
0019Delフサギコ ◆VzDeLphI
NGNG〜′,,,,,,,,,,ミ,,゚Д゚彡<
UU"""" U ⊃ \
function HiraToKana(const Source: WideString): WideString;
var
Len: Integer;
begin
Result := '';
Len := Length(Source);
SetLength(Result, Len);
Windows.LCMapStringW(
GetUserDefaultLCID(),
LCMAP_KATAKANA,
PWideChar(Source),
Len + 1,
PWideChar(Result),
Len + 1
);
end;
0020Delフサギコ ◆VzDeLphI
NGNG〜′,,,,,,,,,,ミ,,゚Д゚彡< あってるのん?
UU"""" U ⊃ \
ML検索してもLCMapStringW全然載ってない
誰もUNICODEとかキにしてないんか...ゴルァ
procedure TForm1.Button1Click(Sender: TObject);
begin
Check('あああ', KanaToHira('アあア'));
Check('あかさたなはまやらわをん', KanaToHira('アカサタナハマヤラワヲン'));
Check('アアア', HiraToKana('あアあ'));
Check('アカサタナハマヤラワヲン', HiraToKana('あかさたなはまやらわをん'));
Check('アアア', KanaToHira('アアア'));
end;
参考にはAcidFloor
http://www.wwlnk.com/boheme/delphi/vbtodel/vbfaq/vbd0050.htm
Delphi工房
http://www.din.or.jp/~egawa-n/delphi/tips/convert_mbcs.html
0021Delフサギコ ◆VzDeLphI
NGNG∧,,∧,,,,,,,,,,,,,,, /LOCALE_USER_DEFAULTとGetUserDefaultLCID()の
ミ゚Д゚,,彡,,,,,,,,,,,,ヾ〜 < 使い分けと、文字列長の指定が正しいかどうか、イマ二つほど
U U """"UU \わかないけど、これでいいのかな?
function MapStringW(const Source: WideString; dwMapFlags: DWORD): WideString;
var Len: Integer;
begin
Result := '';
Len := LCMapStringW(LOCALE_USER_DEFAULT, dwMapFlags, PWideChar(Source), -1, nil, 0);
SetLength(Result, Len-1);
LCMapStringW(LOCALE_USER_DEFAULT, dwMapFlags, PWideChar(Source), Length(Source)+1, PWideChar(Result), Len);
end;
function KanaToHira(const Source: WideString): WideString;
begin Result := MapStringW(Source, LCMAP_HIRAGANA);end;
function HiraToKana(const Source: WideString): WideString;
begin Result := MapStringW(Source, LCMAP_KATAKANA);end;
function ZenkakuToHankaku(const Source: WideString): WideString;
begin Result := MapStringW(Source, LCMAP_HALFWIDTH);end;
function HankakuToZenkaku(const Source: WideString): WideString;
begin Result := MapStringW(Source, LCMAP_FULLWIDTH);end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Check('あああ', KanaToHira('アあア'));
Check('あかさたなはまやらわをん', KanaToHira('アカサタナハマヤラワヲン'));
Check('アアア', HiraToKana('あアあ'));
Check('アカサタナハマヤラワヲン', HiraToKana('あかさたなはまやらわをん'));
Check('アアア', KanaToHira('アアア'));
Check('abc', ZenkakuToHankaku('abc'));
Check('アアア', ZenkakuToHankaku('アアア'));
Check('abc', HankakuToZenkaku('abc'));
Check('アアア', HankakuToZenkaku('アアア'));
end;
0022デフォルトの名無しさん
NGNG小さな出版社がある。そして文学ファンはこういった出版社を
潰さないため、今後も翻訳を続けてもらうために
1人で同じ本を2・3冊買うことが良くある。
我々もこういう時だからこそDelphi7を買って
ボーランドを支えるべきなんじゃないだろうか。
Delphi7の売り上げはDelphi8以降の開発資金となるし、
ボーランドジャパンの今後に大きな影響をもたらすだろう。
Delphi7の出来のみを云々するのは
あまりにも近視眼的ではないだろうか?
0023デフォルトの名無しさん
NGNGその謎は以下のスレに…
http://pc3.2ch.net/test/read.cgi/tech/1031668744/536-538
ここにかかれている内容を信じるかどうかはあなた次第。
Delphi7 を注文してしまった人は、すぐに答えが出るでしょう。
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNGVS.NET 7.0と.NET 1.1は連携できません!
.NET 1.1を導入すると、VS.NET 2003を買わされる羽目になります!
0026デフォルトの名無しさん
NGNGメモ帳と同じフォントにしたいのです。
しかし行間が大きくて、同じにならないのですが、どうすればいいのでしょうか?
あと、RichEditで作っているのですが、Memoの方が良いのでしょうか?
どなたかお願いします。
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNGTEditor
0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNGないよ…
0031デフォルトの名無しさん
NGNGうんこするの?
0032デフォルトの名無しさん
NGNGhttp://www.vector.co.jp/soft/win95/prog/se114384.html
これですか?
>>29
あ、関係ないですね…。すいません。
0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNGDelphiは6?
6より前のは使ったことないから知らないけど、
6ならHelpのチュートリアルでテキストエディタ説明してるよ。
それ辿っていけば?
それと、メモ帳と同じフォントにして、
サイズもそれと合わせたら同じようになるはずだけど…?
あと異なる書式を混在させるようなことをしなければ
TMemoで十分だと思うけど。
(RichEdit使ったことないんでよく分からんが…)
0035デフォルトの名無しさん
NGNGTMemoもTRichEditも無理
0036デフォルトの名無しさん
NGNG0037名無しさん@お腹いっぱい。
NGNG0038デフォルトの名無しさん
NGNGがいしゅつ
0039デフォルトの名無しさん
NGNGシェアウェア(カンパウェア)なのがちとあれですが…。
レス下さった方、ありがとうございました。
0040デフォルトの名無しさん
NGNG別に構わないと思うけどなぁ…。
読み込める量からすっとMemoは非推奨だとは思うけど。
0041デフォルトの名無しさん
NGNGまだ9xなんだ
0043デフォルトの名無しさん
NGNG上のimageにCanvasで図形を描くときにちらつきます。
delphi5ではちらつかなかったのですが、
delphi6にしてからちらつくようになりました。
DoubleBuffered や WM_ERASEBKGNDを無視するように
もしましたがちらつきます。
どなたかご教授をお願いします。
0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNG0049デフォルトの名無しさん
NGNGVBでやるとデータ型がない上に遅すぎて使い物になりません。
やっぱりdelphiでやるのがいいのでしょうか?
データサイズは512*512または128*128*128です。
0050デフォルトの名無しさん
NGNG速度で言うとVCのが速い。
0051デフォルトの名無しさん
NGNGまあガムバッテちらつきを無くしてくれ。
0052デフォルトの名無しさん
NGNG本職じゃないのでお手軽にやりたかったのですが・・・。
ちょっと勉強してみます。
0053デフォルトの名無しさん
NGNGリソース形式(16進)でストリームに吐かせるだけだからほんの数行
書くだけ。
005453
NGNGprocedure TForm1.Button1Click(Sender: TObject);
var
ws: TFileStream;
ms: TMemoryStream;
img: TImage;
begin
if not OpenDialog1.Execute then Exit;
if not SaveDialog1.Execute then Exit;
img := TImage.Create(Self);
ws := TFileStream.Create(SaveDialog1.FileName, fmCreate);
ms := TMemoryStream.Create;
try
img.Picture.LoadFromFile(OpenDialog1.FileName);
ms.WriteComponent(img);
ms.Seek(0, soFromBeginning);
ObjectBinaryToText(ms, ws);
finally
img.Free;
ws.Free;
end;
end;
0056デフォルトの名無しさん
NGNG了解した。ちらつきの件がむばってくれ。
2枚の画像を重ねる理由が判らないけど、
合成処理をさせたいだけならオフスクリーンを
使った処理でいいのでは?
0057デフォルトの名無しさん
NGNGもしかして研究でボクセルやってらっしゃいますか?
CTスキャンみたいなの?
これだとTBitmapは無理だろうから、自作しないといけないからがんばって
>>43
OffScreenを使うに一票。
目に見えないBitmapの上にDraw系の命令で一旦書いておいて、
最後に目に見えるところに一括転送。するとちらつかない。
0058デフォルトの名無しさん
NGNGオフスクリーンに追加しておくと。。。
TImageをいじくるよりも、むしろTControlを使って
表示用のみのTBitmap、オフスクリーン用のTBitmapを
用意しておき、合成はオフスクリーンで行い
合成の結果を表示用へ書き込む。
そしてTControlへの常時描画は表示用を使用する。
この時、WM_ERASEBKGNDを調整するように・・・
まあ、DoubleBufferを自分でやるような感じですが・・・
005943
NGNGありがとうございます。
なんとDoubleBufferでいけてました。お手数かけました。
メッセージを捕まえたり、ポートを調べたりしてたのが何だったんだ!
これで土日潰しました。勉強になったけど・・・
006043
NGNG学校なんでおやすみなさい。
0061デフォルトの名無しさん
NGNG0062デフォルトの名無しさん
NGNGネタだよな?
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNGTMemoを右クリックしたときと同じように
ポップアップを表示させるのにはどうしたらよいのでしょうか?
TPopupMenuで作成するしかないのでしょうか?
0066デフォルトの名無しさん
NGNG他に方法があるなら教えてくれ。
0067デフォルトの名無しさん
NGNGいったい DsgnIntf はどう処理したらいいんだろ?
TDefaultEditor を継承してダブルクリック時のデフォルトイベントを変更してたんだけど
DsgnIntf はtoolAPIの DsgnIntf.pasを使っていいのかな?
TDefaultEditorがDesignEditors に変わってるし、
EditProperty の引数の型が変わってるから変更したら、今度は
IProperty が定義されてないと出る
006867
NGNG0069デフォルトの名無しさん
NGNGprivate
FHeader: THeaderControl;
と宣言してあるFHeaderが、
THogeのprocedure WMHScroll(var msg: TWMHScroll); message WM_HSCROLL;の中で、
ScrollWindowEx(Handle, -HScrollInc, 0, nil, @CR, 0, @R, SW_SCROLLCHILDREN);
InvalidateRect(Handle, @R, False); //R,CR:TRect; HScrollInc: integer;
としても、ちゃんと再描画してくれません。
どのようにすれば、
このFHeaderはちゃんとスクロールして再描画もしてくれるのでしょうか?
0070デフォルトの名無しさん
NGNGOKボタンの真ん中に来るように
http://www.borland.co.jp/qanda/delphi/d0002284.html
ココを参考に以下のソースを書いたのですが
●の所に「演算子またはセミコロン (;) が必要です」とエラーが出ます。
上記のページに
該当するバージョン:Delphi 1.0,Delphi 2.0,Delphi 3.0/Delphi3.1,Delphi4
と書いてあったのですがDelphi6だとダメなのでしょうか?
procedure TOptionDlg.FormShow(Sender: TObject);
var
Point: TPoint;
begin
Point := Point(OKBtn.Width div 2, OKBtn.Height div 2);//●
Point := OKBtn.ClientToScreen(Point);
SetCursorPos(Point.X, Point.Y);
end;
0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNGたぶん変数の名前をPointにしたせいで、
関数のPointを変数のPointと認識しちゃってるんだんと思う。
だから変数の名前を変えればたぶんOK
0073デフォルトの名無しさん
NGNGQ : TPoint;
0075Indyのことでお尋ねします。
NGNGどうしたらよいでしょうか?教えてください。
0076デフォルトの名無しさん
NGNG0077Indyのことでお尋ねします。
NGNG調べましたがアフォなので探せないし、わかりませんでした。
0078デフォルトの名無しさん
NGNG0079Indyのことでお尋ねします。
NGNG0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNG0083Indyのことでお尋ねします。
NGNG0084Indyのことでお尋ねします。
NGNG消えろと言うのならば、消えますがいかがいたしましょう。
0085デフォルトの名無しさん
NGNGFTPサーバを作りたいということですか?
その両方ですか?
それともまったく別のものを作りたいんですか?
0086Indyのことでお尋ねします。
NGNG0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNG( ̄ー ̄;)。。。ん?
0089Indyのことでお尋ねします。(俺って厨房?)
NGNGとにかくサーバーにファイルを転送するファイルです。
0090デフォルトの名無しさん
NGNGとりあえずFTPクライアントを作りたいということでいうわけだね。
んで、IndyのFTPクライアントは使ってみたのかい?
0091デフォルトの名無しさん
NGNGFTPサーバはサーバのサービスを起動するだけだから
(NT系なら付いてるよ WinXP Homeはどうかしらんけど)
FTPクライアントアプリを作ればOK
フォームにIdFTPを貼り付けてヘルプを読むべし
0092Indyのことでお尋ねします。(俺って厨房?)
NGNG0093デフォルトの名無しさん
NGNGネットワークアプリは今のおまえには無理。
0094デフォルトの名無しさん
NGNGDelphiが馬鹿にされるわけだな
0095デフォルトの名無しさん
NGNGハゲシクドウイ
ちと質問。
改行コードの定数ってどんなんだっけ?
ド忘れしてしもた。
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNG0098デフォルトの名無しさん
NGNGCR #13
LF #10
0100デフォルトの名無しさん
NGNGsLineBreak
0101デフォルトの名無しさん
NGNG部分的にsLineBreak使うとおかしくならない?
クロス開発のときにね。
0103デフォルトの名無しさん
NGNGむしろクロス用と思われるけど・・・
0105デフォルトの名無しさん
NGNG…載ってないよな? 少なくとも、キーワード検索しても出ない。
0108デフォルトの名無しさん
NGNGしかも前まで展開してたノード収縮させるにはどうすればいいのでしょうか?
例・sleipnilのブックマークみたいの
こゆのは書いてみたのですが
これだと現在選択されているノードを
ワンクリックしても展開、収縮されない・・・
private
{ Private 宣言 }
FlagNode: TTreeNode;
・
・
・
procedure TMainForm.TreeViewChange(Sender: TObject; Node: TTreeNode);
begin
if Node.Expanded = True then
Node.Expanded := False
else
Node.Expanded := True;
FlagNode := Node;
end;
0109デフォルトの名無しさん
NGNGvar AllowChange: Boolean);
begin
if FlagNode = nil then Exit;
if (FlagNode.Expanded = True) and (FlagNode <> Node) then
begin
FlagNode.Expanded := False;
end;
end;
procedure TMainForm.TreeViewEditing(Sender: TObject; Node: TTreeNode;
var AllowEdit: Boolean);
begin
AllowEdit := False;
end;
0110デフォルトの名無しさん
NGNGこれだけ
procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
Node:TTreeNode;
begin
Node := TreeView1.GetNodeAt(X,Y);
if Assigned(Node) then
Node.Expanded := not Node.Expanded;
end;
0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNGAutoExpand=true でいいんじゃないの?
名前からじゃ効果が想像しづらいが。
0113デフォルトの名無しさん
NGNGAutoExpand := true;
のときと、false で 110 のときとでは動作が違うね。
0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNGためしてごらん。
AutoExpand := true;
では、該当ノードの拡張・折りたたみの影響が、兄弟ノードのそれに
影響を与える
0116デフォルトの名無しさん
NGNGでは、複数のレベルの同じノードがある場合、そのひとつだけが拡張できる
0117デフォルトの名無しさん
NGNGの挙動はバグ。ぜんぜん標準的じゃない。
0118デフォルトの名無しさん
NGNG>
↑揃いも揃って無駄な空行・・・
0119デフォルトの名無しさん
NGNGお前のカキコが一番無駄>オレモナー
0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNGおお、何て簡潔に・・・
ココに書き込む1時間前は
もっと長々書いてた自分が恥ずかしい。。
>>111
>>112
>>113
AutoExpand、初めて聞くブロパティーです。。
ほんと俺は何も知らない小僧だわ・・
みなさん、ほんとありがとうございます!
早速2つとも試してみます。
0123デフォルトの名無しさん
NGNGテキストエディタをつくってみようとおもったのですが
いきなりAddtionalにある(らしい)ActionManagerってコンポーネントってのが
のが見つからなく詰まりました。
一番最初のほうの説明書き読んだら
「ここで取り上げている機能の一部は Delphi の Personal 版では使用できません。」
と、書いてあるし(T^T)
プログラム経験の無い方でDelphiから入った人はどうやってDelphi勉強しましたか?
0124デフォルトの名無しさん
NGNGモナーの *やさしい* Delphi質問スレ
http://pc.2ch.net/test/read.cgi/tech/1003113413/
このすれの731付近を参考に
0125デフォルトの名無しさん
NGNGところが、時々ラベルが再描画されない事があります。
しかたなくRepaint等を試してみましたが駄目でした。
WindowsXP側の設定で「視覚テーマを無効にする」としてプログラムを
実行すると旧来通りの画面だと正常に動作します(当然か・・・)
XPManifestを使って問題があった方はいらっしゃいますか?
0126デフォルトの名無しさん
NGNGいくつのですか?
0127ねこま
NGNG私は XP も D7 も持っていないのでわかりませんけど,
Manifest リソースをアタッチしないとだめなんではなかったっけ?
XPManager といってもそこは自動ではなかったような.
0128デフォルトの名無しさん
NGNGデフォルトのアイコンのデータ *.ICO がどこにあるのか、わかりません。
どこにあるのでしょうか?
0129デフォルトの名無しさん
NGNG0130デフォルトの名無しさん
NGNGえっ、そーなのかぁ、知りませんでした、
ちゃんと調べなおして出直して来ます。ありがとう
0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNG俺が持ってる本は
http://www.amazon.co.jp/exec/obidos/ASIN/4822216888/ref=sr_aps_d_1_1/249-9304172-6892345
これだけ。
詰ったらネット検索か図書館。
今で約半年だが、
まぁ自分の身の回りのツール位ならすぐに作れる。
たまにJaneの改造に参加。
0133デフォルトの名無しさん
NGNG・データ番号 Edit2.Text
・データの内容(改行有り) Memo1.Text
これらをひとくくりに
何個もこのようなデータを1つのテキストファイルに保存したいのですが
何かいい方法あったら教えてください。
テキストファイルでなくても保存できて読み込めればどんなファイルでも
いいのでこういう方法がいいとかあったらおながいします。
0134Delフサギコ ◆VzDeLphI
NGNG0135デフォルトの名無しさん
NGNGInterbaseとかMySQLで管理するのはどう?
0137デフォルトの名無しさん
NGNGTMemoryStream のインスタンスをつくって、TWriter のインスタンスを使って
・先頭にデータの数を書き込み
・DataName(string)
・DataNo(integer)
・Data(string)
を TWriter の WriteString と WriteInteger メソッドで書き込む
これをデータ数分くりかえして、最後に SaveToFile() する。
読み込みは、TReader のインスタンスを使って、RaedInteger と ReadString
メソッドを使って、データ数を読み込み、その数分だけ、上記のデータの読み
込みを繰り返す
0138デフォルトの名無しさん
NGNGiniでいいと思う。一番簡単だ。
0139デルファイの名無しさん
NGNG少量であれば、TCollectionItem派生のクラスに持たせてストリーミングという手もあります。
でも、量が多ければ>>135氏の言うようにデータベースの方がいいと思います。
(改行があるので*.iniは没)
0140138 ◆hw.YwvrE
NGNG量が多いとiniはちょっとナニだしな。
138は忘れてくで。
0141133
NGNG>>138
iniは32kbまでしか扱えないって何かで見たんですけど
大丈夫でしょうか?
データは結構でかくなると思います。
>>135
データーベースは
勉強しないと。ググルで調べてみます。
おすすめの解説サイトとかありますか?
>>137
>>139
なるほど、いつぺんやってみます。
みなさんレスサンクスです。
0142133
NGNG0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNGTMemINIFile使えば何メガでもOKだし、OSの違いによって動作も変わらない。
0146デフォルトの名無しさん
NGNGTMemINIFileは改行OK?
0148デフォルトの名無しさん
NGNG●●●●●●●●「オセロさえ納期内に作れない=OO役立たず 」祭り●●●●●●●
/| | |_____ΦΦΦΦΦΦΦΦΦΦΦ||ΦΦΦ
| | | ̄ ̄ ̄ /| ||
| | | / /|TTTTTT TTTTTTTTTT||TTTTT
| /\ | /|/|/|^^^^^^ |三三| ^^^^^^^^^^^||^^^^^^^
| / / |// / /|
| / / |_|/|/|/|/|
| / / |文|/ // /
|/ /. _.| ̄|/|/|/ Λ_Λ
/|\/ / / |/ / (___)
/| / / /ヽ /〔 非OO 〕〕つ
| | ̄| | |ヽ/l `/二二ヽ
| | |/| |__|/ Λ_Λ / /(_)
| |/| |/ ( ´∀`) (_) Λ_Λ
| | |/ // / ^ ̄]゚ (` )
| |/ ゚/ ̄ ̄_ヽ ⊂〔〔 非OO 〕
0149Delフサギコ ◆VzDeLphI
NGNG0150デフォルトの名無しさん
NGNG0151デフォルトの名無しさん
NGNGで、読み込みの時はデコードの手間が増えるわけ?
0152デフォルトの名無しさん
NGNGそうだよ。どうせファイルアクセスするんだから、その時間は隠れてしまうよ
0153デフォルトの名無しさん
NGNGでも手間が増えるんだろ。だめじゃん。
0154デフォルトの名無しさん
NGNGTMyMemINIFile を継承して
WriteEscString ReadEscString を一度作るだけだろ
0155デフォルトの名無しさん
NGNG痛すぎる・・・
0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNGそりゃ、windowsフォルダに入れるなら糞だけどローカルに作ると
1、速い
2、実行ファイルを別のディレクトリに入れれば相互に独立する
3、環境を移す時にディレクトリを丸ごとコピーするだけでいい
4、アンインストールも楽
0159デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNGサイズによると思うよ。
巨大な iniファイルを作ると1文字の追加削除でも全件読まなければならない iniより
木構造で管理されてるレジストリが速いだろうね
それでもアプリ起動時に全件読んで、終了時に全件書き込むような使い方なら iniの方が速いんじゃない?
0162デフォルトの名無しさん
NGNG議論になるのかわからん。
各項目のサイズ。レコード数。更新の頻度。とかを考えないと
テキストのまま保存されるINIファイルは論外になる可能性が
あるでしょ。
それに、こんなことでレジストリを使っていていいのかって
問題もある。たとえばNT系列でAdministrator以外でも
きちんとつかえるのかしら。
0163デフォルトの名無しさん
NGNGじゃぁ何をつかったらいいか提示して
0164デフォルトの名無しさん
NGNG>レジストリじゃなくてiniに拘る理由?
ちゃんと133からの流れを読んでいるのか?
データだよ、保存したいのは。前に出てた Stream 系かデータベースを
使うのが普通だろ。
0166162
NGNGだめじゃないの?最初から除外する意図がわからん。
プログラムが使い捨てか、長く使うかでも変わるし
データのサイズが数KBか数百MBかでもかわりますから
そこらへんがわからないうちからINIだのレジストリだの
いうのは意味がないでしょ。
0167デフォルトの名無しさん
NGNG巨大データをINIになんて入れると時間がかかるよ。
君の言いたいことは、気にせず「巨大データを書き
込むプログラムが作れる」だろ。
0168158
NGNG>>133 を読み返すと データ番号 とかデータ名となってるから1件じゃなくて
複数のこういうペアを作りたいのかもしれないね。
だとすると、単純にデータ名でディレクトリ掘って、
データ番号をファイル名にして
データの内容=ファイル内容 なんて解法が一番スマートで楽じゃないかな
可変長のテキストをRDBで扱うとRDBによっては効率悪いし
0169デフォルトの名無しさん
NGNGまずは各データの最大長とデータの最大個数書かないと。
わからないならおおよそのサイズ(数バイト,KB,MB,無制限)でもいいから。
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNG>何個もこのようなデータを1つのテキストファイルに保存したいのですが
これ、読めないのか?
0172デフォルトの名無しさん
NGNG>いいのでこういう方法がいいとかあったらおながいします。
これ、読めないのか?
0173デフォルトの名無しさん
NGNGいいかげんにしろよ。168では、データ数分だけファイルつくるってんだから
仕様を満たさないのは明らかだろ。
0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG君の住所録は TMemIniFile でエンコードして作ってろよ。
おもしろい奴だね。もっと日本語の読解力をつけろよ!
0176デフォルトの名無しさん
NGNG住所録ならCSVだろ
0177デフォルトの名無しさん
NGNG僕も半年だけど、全然だめぽ。。。
Delの前にも違う言語やってたんですか?
0178デフォルトの名無しさん
NGNG0179Delフサギコ ◆A6VzDeLphI
NGNG初心者の場合、作りたいものと、作れるもののギャップに
激しく差があって、なかなかプログラミング意欲が沸きにくいと思うです。
とりあえず、何を作りたいか、のネタ探しからはじめて
たくさん、プログラム/ソフトウェアを作っていくしか
ないと思いますよ。
ライフゲームとか、作ったことがあるんですが
ネタとしては面白かった yo.
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1022733594
いろんなネタが見つかるといいですね。
0180Delフサギコ ◆A6VzDeLphI
NGNGXPの本では、とりあえずDBやるときでも
最初にファイルでやっといて、後から
データアクセスを担う1関数だけを
ファイルアクセスからDBアクセスに
切り替えたら、いいよね
ってアプローチがいいと紹介されてました。
0181デフォルトの名無しさん
NGNGその方法だと、Delphiのデータベースコンポーネント使えないんじゃ…
初めからDBでテストすればいいと思います。
ローカルかリモートか程度なら後で変えても苦労しないでしょうが。
0182Delフサギコ ◆A6VzDeLphI
NGNGコンポもクラスなんだし。
0183Delフサギコ ◆A6VzDeLphI
NGNG0184デフォルトの名無しさん
NGNG>データアクセスを担う1関数だけ
なんてわけにはとてもいかず、データベースとの中継を行なうコンポーネントひとつ
作る労力が要るのでは無かろうか?
素直にMyBaseでも使ってればいいじゃん…。
0185Delフサギコ ◆A6VzDeLphI
NGNGファイルアクセス用に1関数つくるのと
同じような入出力で
DataModuleに1メソッド作って
相互置き換えすると、いいだけなんだけど。
トラザクとかはそれからでもいいし。
たかが、3Stringにしょっぱから、DB導入ナノ?
ま。どうでも。
0186デフォルトの名無しさん
NGNGDBの代わりにファイルアクセスするものを作るにしても、
既存のDBコンポと連携させようとしたら、
TDataSetから派生させて、全メソッドサポートしないと動かないじゃん…。
(まさか、本番も、全データをメモリに読み込んで、書く時も一斉に…ってわけじゃあるまいし)
で、ローカルファイルでテストしたければ、
BDE経由でCSVでも、MyBaseでXMLでも、似たような事はできるので、
わざわざ手間かけて回り道することは無いでしょ?
0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNGムキになるなよ
0189デフォルトの名無しさん
NGNG絶対ドラゴンボールと勘違いしてる。
0190デフォルトの名無しさん
NGNGインデントまたは元に戻すショートカットキーって
なんでしたっけ?
0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNG0194190
NGNG0195デフォルトの名無しさん
NGNGキーワード検索で探すしかないの?
目次からではどうやってもたどり着けなかった気がするのだが。
0196デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNGおっちょこちょいだけだろ。
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1032985885/l50
/| | |_____ΦΦΦΦΦΦΦΦΦΦΦ||ΦΦΦ
| | | ̄ ̄ ̄ /| ||
| | | / /|TTTTTT TTTTTTTTTT||TTTTT
| /\ | /|/|/|^^^^^^ |三三| ^^^^^^^^^^^||^^^^^^^
| / / |// / /|
| / / |_|/|/|/|/|
| / / |文|/ // /
|/ /. _.| ̄|/|/|/ Λ_Λ
/|\/ / / |/ / (___)
/| / / /ヽ /〔 非OO 〕〕つ
| | ̄| | |ヽ/l `/二二ヽ
| | |/| |__|/ Λ_Λ / /(_)
| |/| |/ ( ´∀`) (_) Λ_Λ
| | |/ // / ^ ̄]゚ (` )
(省略されました・・全てを読むにはここを押してください)
0201デフォルトの名無しさん
NGNGvar
FS1 : TFileStream;
begin
FS1 := TFileStream.Create(FILENAME, fmOpenRead);
try
while FS1.Position <> FS1.Size do
begin
//ファイルを読み込んでいく処理
end;
finally
FS1.Free;
end;
end;
こういうのって成立しますか?
0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNGワラタ
0206デフォルトの名無しさん
NGNGListbox1.DeleteSelected;
をおこなうとフォーカスが線だけの囲み状態になって、例えば
DELキーにレスポンスして連続削除のようなことができないです。
どのようにすれば、プログラム側から動的にリストの項目をセレクト
状態にできるでしょうか?
-----------------------------------------------
ListBox1.TopIndex:=i;//リスト画面のスクロール
この関数でリスト表示位置を移動した時に連動して、
オーナー描画をしたいんですが。
onオーナー描画で描くと、描画後にリストのスクロールがおこなわれ描画画面が消えてしまいます。
このような場合正しいタイミングにするためには、どのような設計が必要なのでしょうか?
0207デフォルトの名無しさん
NGNG同様の症状が出る方はいますか?
0208デフォルトの名無しさん
NGNG確かめてないけど、他バージョンのdcuを認識しないのは伝統的な仕様だったと思う。
0209無責任だが
NGNGいま、逆アセみたいなのを作ってるんだけど
1、元になるテキストデータを作って
2、それをDelphiでDelphiソースに変換
3、2のソースを
function Cvt(dt:Integer):string;
begin
{$INCLUDE CODE.INC}
end;
みたいに取り込んで利用
で、問題は、1,2,3を調整の為に頻繁に行き来するんで DelphiのIDE上で全て作業出来ないかなと
複数プロジェクトを作っても2のアプリを実行までは自動で出来ないんで
どうやると効率良いかなというご相談です。
0210デフォルトの名無しさん
NGNGフリーのコンポーネントの中にはソースの付かないものがあるけど
バージョンが古いともうだめってこと?
だとするとフリーでもソースの付かないコンポーネントは逝ってよしかな
0211デフォルトの名無しさん
NGNGその通り
0212デルファイの名無しさん
NGNG普通に考えれば、ツールメニューに$EDNAMEなどを使って登録しておくか、
OpenToolsAPIでIDEの機能として全てを組み込んでしまうか、でしょうね。
後者の場合深くやろうとすればそちらへ労力を割かれそう。
やっと昨日、ずっと引っかかっていた新規プロジェクトをOpenToolsAPIで作る方法を発見…。
0214デフォルトの名無しさん
NGNGたとえばこういうのとか
var
Index: Integer;
begin
Index:=ListBox1.ItemIndex;
ListBox1.DeleteSelected;
if not(Index<ListBox1.Items.Count) then
Index:=ListBox1.Count-1;
if 0<=Index then
begin
ListBox1.Selected[Index]:=true;
end;
end;
------------------------------------------------
TopIndex:=i;の後にRepaintすればいいのでは?
そういう話ではない?
0215無責任だが
NGNGそうですね。 やっぱりそれしかないかな。
今、3で作るアプリ内で日付を比較して更新する方法を考えました。
更新があったらソースを書き換えて勝手に終了させるようにしてと
0216デフォルトの名無しさん
NGNGmakefileをmakeするツール登録してるよ。
makeしたけりゃmakeすりゃいいのさ。
0217デフォルトの名無しさん
NGNGどうすればいいのでしょうか?ヘルプを見ても載っていませんでした。
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNGどうすればいいんでしょうか?
画像データを1dotづつRGB(R, G, B)からTColorへの変換
して、点を打っていくしかないんでしょうか?
0220デフォルトの名無しさん
NGNG0221無責任だが
NGNG>>217 メインのメニューが作れたなら Itemsの所から[・・・] をクリックして追加
>>219 同じサイズのTBitmapを作って、作ったイメージデータをBitmap.ScanLine先にコピー
Bitmapは、Imageコンポを画面に貼り付けて Image.Pictureに設定するだけで表示出来るし
OnPaintイベントで Canvas.Drawメソッドでも表示可能
0222デフォルトの名無しさん
NGNGスレッド作ってSynchronizeでApplication.ProcessMessages呼んで
フォームが固まるのを防ぐのって有りかな?
0223デフォルトの名無しさん
NGNGというか Synchronize って そのProcessMessageで呼ばれるのじゃなかったっけ?
0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNG他を処理出来ないケースとかって結構あるから、
スレッドにする事で処理速度が落ちる可能性を考えると
スレッドって有効な手段なんだろうか?
とか、昼飯を買いに行きながらよく考える。
0226デフォルトの名無しさん
NGNGヘルプで調べたのですが
procedure Rewrite(var F: File [; Recsize: Word ] );
のRecsizeのところが分かりません。
ヘルプではデータ転送に使われるレコードサイズを指定と書いてあるのですが
これは通常どれくらいの数にすればよいのでしょうか?
デフォルトでは(何も書かなければ)128となっていますが
この設定基準ってなんなんでしょう?
0227デフォルトの名無しさん
NGNG少なければ無駄は無いが、遅くなるかもしれない。
デフォルトでよいのでは?
数メガ書き込むときなどは、大きめにとればいいんじゃ
こんなコトに悩むより、自分で実験してみたらいいと思う
0228デフォルトの名無しさん
NGNGいまはほとんど、TStream 系や TStrings 系の LoadFromFile()
や SaveToFile() ですましてる。
0229デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNGドラえもん祭り
サップvsホースト
ゴールデンシアター[マトリックス]
0232ななしへたぐらま ◆XcB18Bks.Y
NGNGRewriteのRecSizeは書き込みバッファのサイズではなくて,
何バイト単位で書き込むかを指定する値です.
RecSizeには1を指定します.
128という値は昔のOSが128バイト単位でファイルを読み書きしていたのと
関係があるかも知れません.
#私も今はRewriteは使わずストリームを使っています.
0233デフォルトの名無しさん
NGNG>何バイト単位で書き込むかを指定する値です.
あ、そうなんすか。
で、たとえばデフォルトの128バイトの場合、
3バイト書き込んだ時点で、ディスク上のファイルはどうなるの?
0234デフォルトの名無しさん
NGNG確認してないのであてずっぽうですが、バッファが128byteで
書き込みが3byteの状態って単にバッファにたまっていて
書き込まれていないでしょうね。
そしてバッファがいっぱいになったときとかクローズするときに
全部を書き込むようになっっているはずです。
0235デフォルトの名無しさん
NGNGいやーんなことになります
ま、やってみりゃわかる。
0236デフォルトの名無しさん
NGNG最近AssignFile使わないけど
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNGm×n行列なら2次元配列でいいんじゃないですか。
http://www.users.gr.jp/ml/archive/delphi/41901.asp
より
多次元配列は配列の配列です。次に例を示します。
type TMatrix = array[1..10] of array[1..50] of Real;
これは次と同じです。
type TMatrix = array[1..10, 1..50] of Real;
どちらの方法で宣言しても,TMatrix は 500 個の実数値の配列を表します。
0239デフォルトの名無しさん
NGNGCode Centralに逝きたまえ。それが全てだ。
0240デフォルトの名無しさん
NGNGいろいろとチャレンジしているのですが教科書が無いのでInpriseのマニュアルだけでは進展しません。
データベース対応アプリを作るのに参考になる良いサイトあるいは書籍があったら教えてください。
手元にDelphi2.0テクニックマスター集中講義があるのですが、データベースに関する部分は
説明が少なくてなかなか理解出来ないでした。
私のレベルはなんとか脱初心者レベルではないかと自分では思っています。
0241デフォルトの名無しさん
NGNG良かったですね。
0242デフォルトの名無しさん
NGNGありがとうございます。
最初、Bitmap.ScanLine := pDataとか間抜けなことして、読み出し専用
だっつーてんだろ!というコンパイラのツッコミにかなり悩みましたが
やっとこなんとか解決できました。
0243デフォルトの名無しさん
NGNG脱初心者出来ていなかったようなので初心者に戻ります。
どうかよろしくお願いします。
0244デフォルトの名無しさん
NGNGDelphi2.0のころの本だとしんどいと思います。そのころじゃBDE(BorlandDatabaseEngine)の
説明しかないんじゃないでしょうか。現在ではDatabaseへのアクセス方法が
BDE ボーランド独自
ADO MS(というかWindows)の流儀
dbExpress Kylixとの互換性を考えた新しい方法
あとInterbaseへのダイレクトなアクセスとかローカルにXML形式でファイルを作るMybaseなど
いろいろな方法が用意されていますから、そのころの本だけで勉強しても無駄骨に終わる
という可能性が大いにあります。
DelphiでDBとかいうテーマの本だとOracle oo4oを扱ったものまでありますから、とりあえず
大きな本屋さんへ行って気に入った本を買いなさいってこと。
脱初心者なら自分にあった本くらい探せるでしょ。
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGデータベースの場合、基本の概念を理解していれば応用が楽(と言
うより基本ができていないと何をやってもだめ)なので、本当に身
に着けたいならそこからやるべき。
0247デフォルトの名無しさん
NGNGなんでもそうかと思うふ
0248デフォルトの名無しさん
NGNGDel&DB本の一冊でも紹介してやりゃいいのに。
0249デフォルトの名無しさん
NGNG未だに隅をつつくなよ。某がかわいそう
0250デフォルトの名無しさん
NGNGネタニマジレスカコワルイ
0251apone
NGNGファイルを作成したいんですが、どうすればいいでしょうか?
0252Delフサギコ ◆A6VzDeLphI
NGNG(V)∧,,∧(V)
ヽミ・ω・ノ フォッフォッフォッ
. .ミ,,,,,,, ミ
ノ ゝ
>>251むずかすぃかも
とりあえず有名なDragDropコンポーネントをインスコ汁汁汁
0253デフォルトの名無しさん
NGNGつまりOLEドラッグアンドドロップというものについてなにかポインタを示してほしいわけで。。
0254デフォルトの名無しさん
NGNGデル厨には一般常識すらないやつが多いのでそこから説かねばなるまい。
0255Delフサギコ ◆A6VzDeLphI
NGNG(V)∧,,∧(V)
ヽミ・ω・ノ フォッフォッフォッ
. .ミ,,,,,,, ミ
ノ ゝ そのOLED&Dというののポインタが
そのコンポーネントなわけで....
>[Delphi:66170] Re: 教えて下さい
ココみるヨロシ。
0256デフォルトの名無しさん
NGNGGoogleで検索ワードをいろいろ変えてもそのML?の記事が見つからない。。鬱だ。
0257デルファイの名無しさん
NGNGそれにしてもちょっとややこしいです。→PItemIDList周辺
とりあえず「Delphiの神託 シェルプログラミング入門」という本がお薦めです。
0258デフォルトの名無しさん
NGNG見つかった。サンクス
0260ねこま
NGNGDropSource delphi で検索かけると見つかるんじゃないかな?
0261デルファイの名無しさん
NGNGSHGetDesktopFolder→ParseDisplayName→GetUIObjectOfでIDataObject取得。
(SHGetMalloc経由で使い終わったPItemIDListは解放)
それと、IDropSourceを実装してDoDragDrop、です。
D&DそのものよりPItemIDList/IDataObjectを得るまでの方がややこしいです。
IDropSourceはたった2メソッド、中身も1行づつかそこらなので
TForm1にでもついでで実装させれば済みます。
(コンポーネントのインストールの方が手間な気がして
その手のコンポーネントを使ったことがない私)
0262デフォルトの名無しさん
NGNGif (FileName = 'aaaaa.txt') then
(ある動作)
FileNameに「aaaaa.txt」が含まれている時のみに(ある動作)をしたいのですが、
どう書けば良いのでしょうか?
0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNGPos(str1, str2)
0265デフォルトの名無しさん
NGNGif (FileName = 'aaaaa.txt') then
(ある動作)
0266デフォルトの名無しさん
NGNGライセンスナンバーを取ろうとして、ログインしても
半分くらいまで読み込んだあと止まってしまって
真っ白なままなんですが、どうしたらいいでしょう。
0267デフォルトの名無しさん
NGNGif CompareText(ExtractFileName(FileName), 'aaaaa.txt')=0 then
(ある動作)
0268デフォルトの名無しさん
NGNG267は aaaaa.txt.txt とかでだめ。
0269デフォルトの名無しさん
NGNG0270デフォルトの名無しさん
NGNGタイトル画面(Form1)で機体を選択すると、その機体の操縦席を再現したフォーム(Form2)に切り替わります。
このとき、機体の数だけ操縦席画面を作らないといけません。
もちろん、操縦席のフォームは一つで機体選択後に計器類を動的に配置してもいいんですが、
一個一個 Left Top Width Height とかやってると発狂しそうなので・・・。
機体ごとにForm2に貼り付ける計器(TImageとかその他パーツ類)を丸ごと保存し、機体選択後に
呼び出してForm2上に展開する、そんな変なことって可能ですか?
・・・というか、もっとスマートな方法があったら教えてください⊃Д`)
0271Delフサギコ ◆A6VzDeLphI
NGNGγ彡・ω)ミ
|ミ,,゚Д゚彡 Form2/Form3/Form4...を
|(ノ |つ 各機体にするので
ヾ| | 何か問題あるでし?
ヽ _ノ
U"U
東京オシャレさん
0272デフォルトの名無しさん
NGNGunit2.dfmに設計された操縦席が、unit2.pasにプログラムが書いてあるので、
ソースはそのままでフォーム内容だけ自由に置き換えができたらなと思ったんです。
(Form上のパーツの名前は共通にします)
フォームとソースが1:1で対応してるものしか作ったことがないんです・・・。(´・ω・`)
0273Delフサギコ ◆A6VzDeLphI
NGNGγ彡・ω)ミ Formを動的に生成したことはあるでしか?
|ミ,,゚Д゚彡
|(ノ |つ Form上に部品のない(最低減必要な部品のある)
ヾ| | TKitaiFormを作って必要なメソッドやフィールドを記述
ヽ _ノ
U"U で、TKitaiForm1/TKitaiForm2/TKitaiForm3
などを継承して実装してみらた、どうでかしら。
0274デフォルトの名無しさん
NGNG助言サンクス・・・Delphiみたいなビジュアルな環境でクラスを作ったことがないので
頭が炸裂してきましたが、頑張ってみますヽ(TДT)ノ
0275Delフサギコ ◆A6VzDeLphI
NGNG[Project1]タブのForm1を選んで
Form1から継承したForm2を作ってみるとイイっす
_____________
∧,,∧ /
ミ,,゚Д゚彡 < 今、試してみたらずいぶん簡単
U つ \
@ミ ミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∪''∪
0276ななしへたぐらま ◆XcB18Bks.Y
NGNGレスが遅くなってごめんなさい.
デフォルトの場合3バイトだけ書き込むことはできません.
必ず128バイト単位になります.
たとえば以下の例だと(イベントハンドラだけ書きます)
procedure TForm1.Button1Click(Sender: TObject);
var
F: File;
i: longint;
aFileName: string;
begin
aFileName := ChangeFileExt(Application.ExeName, '.dat');
AssignFile(F, aFileName);
try
Rewrite(F);
for i := 1 to 10 do
BlockWrite(F, i, sizeof(i));
finally
CloseFile(F);
end;
end;
sizeof(i)の値は4なので一見40バイト書き出されるように見えますが
実際には5120バイト書き出されます.
(レコードサイズが128で1回につき4レコード=512バイト書き出しています)
0277ななしへたぐらま ◆XcB18Bks.Y
NGNGDelphiにはDB専門の書籍もあるので
その中から良さそうなのを選んでみると良いかも知れません.
私が買ったのは『Delphi5 実践データベースプログラミング』という本です.
(InterBaseにふれていたのはこの本しかなかったので
これを薦めるわけではありません)
0278Delフサギコ ◆A6VzDeLphI
NGNG( )
( ) ( )
∧=∧ ポゎ〜
ミ*゚Д゚彡
| ̄ ̄∪∪ ̄| 誰かUnicode文字列のファイル保存と
| ┼─┼ .| ファイルカキコ処理
| /\ .| LittleとBigのエイドリアン両方の方法
| / ホ \| 知ってたら教えてくださいませ
\____/
└─┘ 検索して
http://member.nifty.ne.jp/m-and-i/tips/unicode.htm
とか
[Delphi:45937] Re: Unicode でのファイル保存
みましたが、ちょっと改造しなければいけなさそうなので..
WideStringとやり取りしたいと思ってます
VCL標準でなかったでしたでしょうか?
0279Delフサギコ ◆A6VzDeLphI
NGNG/⌒\
γ彡・ω)ミ 書評書いてヨシ
|ミ,,゚Д゚彡
|(ノ |つ
ヾ| |
ヽ _ノ
U"U
0280デフォルトの名無しさん
NGNGレス、ありがとう。
> デフォルトの場合3バイトだけ書き込むことはできません.
> 必ず128バイト単位になります.
実験結果をみると、このデフォルト値は意味なしですね、いまや。
任意のバイト列を書き込むときは、RecordSizeは1に設定して
BlockWrite()にするといいのですね。
0281Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ ならこんな感じだと思うのですが...ビッグは面倒っす
type TUnicodeEndian = (ueLittle, ueBig);
const UNICODE_Little_Endian = $FEFF;
const UNICODE_Big_Endian = $FFFE;
function LoadWideStringFromFile(const FileName: WideString;
Endian: TUnicodeEndian = ueLittle): WideString;
var FileStream: TFileStream; StreamSize: Integer;
begin
Result :='';
FileStream := TFileStream.Create(FileName, fmOpenRead); try
FileStream.Position := 0;
StreamSize := FileStream.Size;
SetLength(Result, (StreamSize - 1) div 2);
FileStream.Seek(1, soFromBeginning);
FileStream.ReadBuffer(Result, StreamSize);
finally Fs.Free; end;
end;
procedure SaveWideStringToFile(const FileName, Str: WideString;
Endian: TUnicodeEndian = ueLittle);
var FileStream: TFileStream; EndianWord: WORD;
begin
case Endian of
ueLittle: EndianWord := UNICODE_Little_Endian;
ueBig: EndianWord := UNICODE_Big_Endian;
else Assert(False, '正しくない引数');
end;
FileStream := TFileStream.Create(FileName, fmCreate); try
FileStream.Write(EndianWord, SizeOf(EndianWord));
FileStream.Write(Str[1], Length(Str) * 2);
finally FileStream.Free; end;
end;
0282デフォルトの名無しさん
NGNGClickされたら色が指定した色に変わり
他のオブジェクトがClickされたらデフォルトの
色に戻る
OnEnter、OnExitとかいろいろ試したんですけど
パネルだとEditとか子に持ってないとイベントが
こないんですよね・・・
どうしたらいいでしょうか?
0283デフォルトの名無しさん
NGNGOnClick で Panel1.SetFocus;
OnEnter で色を変え
OnExit で色を元に戻す
0284282
NGNGありがとうございます
できました。
あとパネル下にフォーカスのないコンポーネント(TSpeedButton)
が貼り付けれていた場合、そのコンポーネントを選択した時にも
パネルの色を変えたいのですがなにかよい方法はありますでしょうか?
0285デフォルトの名無しさん
NGNGうーむ、これだと OnExit が起きないね。いっそ、WM_LBUTTONDOWN
メッセージを監視したらよいのでは。
{ Private 宣言 }
public
procedure AppMessage(var Msg:TMsg; var Handled:Boolean);
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := AppMessage;
end;
procedure TForm1.AppMessage(var Msg:TMsg; var Handled:Boolean);
begin
if Msg.message = WM_LBUTTONDOWN then begin
if Msg.hwnd = Panel1.Handle then
Panel1.Color := clRed
else
Panel1.Color := clBtnFace;
end;
end;
0286282
NGNGありがとうございます。できました。
何を作りたいかというと、パネル自身及びパネル下のコンポーネント
を選択した場合にパネルの色を変えて、パネル以外のコンポーネント
を選択したら色を元に戻すという単純なパネルコンポーネントを
作りたいのです。
現在、メッセージ処理の絡みで苦戦してまつ(´Д`;)
もし似たようなコンポーネントがありましたら教えてくださいませんか?
0287デフォルトの名無しさん
NGNGコンポーネントで >>286 のようなコードを含ませるのは難しいね。
>>283 のコードのように、自分の中だけで解決できれば簡単なんだけど。
本質的に、自分以外のフォーカスのないコントロールをクリックした場合を
検出するのはできるのかな?
0288デフォルトの名無しさん
NGNG× >>286 のようなコードを含ませるのは
○ >>285 のようなコードを含ませるのは
コンポーネントにすると、あらかじめいくつインスタンスが作られるか予想でき
ないので、Application.OnMessage() のようなイベントをフックするのは
適当でないよね。一つだけ、ローカルフックを最初のインスタンスが作られる
ときにインストールして、インスタンスの管理をするとよいのかも。
0289Delフサギコ ◆A6VzDeLphI
NGNGl||l∧,,∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
.ミ,, 彡 < 無視されてる…
∪ _|| ̄ ̄ ̄ | \_____________
(ミ,,,|\||Letsノ-ト| たかがUnicodeされどUnicode
'\||.======.|
 ̄ ̄ ̄
LittleもBigも読みカキできるようになったんだけど、
BOMで自動判別あり/なし
BOM読み取りあり/なし
Little/Big
の関数仕様がきまらない...
Readの場合は(自動/Little強制/Big強制)
Writeの場合は(BomOn/OffとLittle/Big)
こういうフラグでいいだろうか...
0290デフォルトの名無しさん
NGNGRead で自動っても BOM 無い場合に困るから、Little/Big の指定ができた方がいいんじゃないかなぁ。
BOM 無い場合、例外飛ばしてもいいけど、使い勝手が悪そう。
0291デフォルトの名無しさん
NGNGザロゲートって知ってる?
0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNG>本質的に、自分以外のフォーカスのないコントロールをクリックした場合を
>検出するのはできるのかな?
この方法激しく知りたい
0294デフォルトの名無しさん
NGNG0295デフォルトの名無しさん
NGNG>>本質的に、自分以外のフォーカスのないコントロールをクリックした場合を
>>検出するのはできるのかな?
>この方法激しく知りたい
お手軽方法としては、目的のコンポーネントで TApplicationEvents のインスタンス
を抱え込んで、>>285 と同じことをする、というのは?
0296デフォルトの名無しさん
NGNGマチガイタ、>>293 ね。
0297デフォルトの名無しさん
NGNG0298Delフサギコ ◆A6VzDeLphI
NGNGγ彡・ω)ミ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|ミ,, ゚Д゚彡 < できますた。ぷにこーどファイルIO
| つ_|| ̄ ̄ ̄ | \_____________
〜ミ,,, ,,|\||Letsノ-ト|
'\||.======.| ちょっとがんがったよ。
 ̄ ̄ ̄ もっといいソースが書けたら続けてみてね
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1034090664
ソース置き場では、1に ちょうヴんカキコしちゃだめなの、忘れてた・・・・
0299Delフサギコ ◆A6VzDeLphI
NGNGγ彡・ω)ミ />>290さん ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|ミ,, ゚Д゚彡 < きっと満足して板だける、仕様に
| つ_|| ̄ ̄ ̄ | \__なったのではナカ?ですか__
〜ミ,,, ,,|\||Letsノ-ト|
'\||.======.| 読みはLittleとBigは常に指定して
 ̄ ̄ ̄ BOM優先/無視スイッチ
書きはLittleとBig指定と
BOMON/OFFスイッチ漬けます太
0300デフォルトの名無しさん
NGNGあなた本当に給料もらってるプログラマなんですか?
0301Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧ / まあ仕事中に
ミ ,,゚Д゚ミ < 2チャンしてる不良サラリーマソではあるですよ、
∬ (し, ミ_と)_ \君ほど、無礼な人じゃないから
/且 /|| 普通に社会生活は営んでるけど。
|| ̄ ̄ ̄ ̄ ̄||
とか青ってみるです。が、どうでしょうか。
0302Delフサギコ ◆A6VzDeLphI
NGNG,,,,,,,,,,,,,,,∧,,∧ / す・・すまそん。
〜′,,,,,,,,,,ミ゚Д゚;彡< 電話で元カノと
UU"""" U ⊃ \ 最悪県下厨だったので
______ レス即煽り返してしまたです。
/且 /|| ごめんなさい。ごめんなさい。見逃してください。
|| ̄ ̄ ̄ ̄ ̄|| タイーホしないでください。たった今、個人的に吐き気がするほど
気分が悪い時刻でした....
はい、残業代でそこそこ、お金もらってるかもーな
エセヨみたいな雑用係仕事してますです。最近。が何か?
そういえばテストコードを書いていないっすね。
0304デフォルトの名無しさん
NGNGってのがあったとして、Create内でhogeを設定する場合
1.SetHoge(lhoge);
2.hoge := lhoge;
どっちが美しいと思います?
私的には2のが美しいと思うんですが、私の周りの人達
に言わせると、1のが美しいそうで・・・・・・
このスレの人達的には、どっちが美しいと思いますか?
0305デフォルトの名無しさん
NGNGそれは明らかに1.
プロパティーは外部向けのインタフェースなので、自分からそれを
設定するのは変。アクセスメソッドを直接よぶのがオーバーヘッド
(わずかですが)がない感じがしてgood
0306デフォルトの名無しさん
NGNGレスサンクス。
なんとか賛同者を募ろうと画策したんですが、やっぱ駄目ですか?
う〜ん、1の方がやっぱ美しいのかな・・・・・・・
2のが簡素に見えるし、タイプ量も少なくて美しいと思ったんですが
ズレてるのは私の方だったのか・・・・・ショック〜
1派に鞍替えすることにします(´д`;)
0307Delフサギコ ◆A6VzDeLphI
NGNGミ,,゚Д゚彡 < (2.)はクラス内でプロパティ代入している
ミつ つ \っすよね。それはちょっときれいくないかと。
@ミ ミ
∪''∪
0308Delフサギコ ◆A6VzDeLphI
NGNGミ;゚Д゚彡 < むしろ、こうすべきかと。
ミつ つ \
AAAは定型処理を手続き化してるとミナシテください
procedure SetHoge(Value: THoge);
begin
AAA;
FHoge := Value;
end;
construct Create(HogeValue: THoge);
begin
AAA;
FHoge := HogeValue;
end;
0309デフォルトの名無しさん
NGNG関数呼び出しが一つ減って、効率が良いのは分かるんですが・・・・
Createの中にSetHogeの内容が丸々入ってるのは、感覚的には
受け入れ難いんですが・・・・・・
でも、AAAをprotectedに置いて、継承先でoverrideできたりする
と、便利なのかな?
でもでも、だったら寧ろSetHoge自体をoverrideできれば済む様
な気もするし?だんだん深みに嵌っていくなり〜
0310デフォルトの名無しさん
NGNGメソッドみたいなのってありますか?
0311デフォルトの名無しさん
NGNGif csDesigning in ComponentState then 設計中です
0312デフォルトの名無しさん
NGNGおお!ありが�d
0313Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧ / 説明が足りなかったかも
ミ;゚Д゚彡 < あと、理想は理想で現実は
ミつ つ \ 楽するために>>304の(1.)のケースは
よく書くと思われ
procedure THage.AAA(Value: THoge);
begin
処理; 処理; 処理;
FHoge := Value;
処理; 処理; 処理;
end;
procedure THage.SetHoge(Value: THoge);
begin
AAA(Value);
end;
constru(a?)ctor THage.Create(HogeValue: THoge);
begin
AAA(HogeValue);
end;
こうすると、他メソッドを作る時に
FHogeに何か付属処理あるときはAAAを呼ぶし
直接必要なときはFHogeを直接扱う
ことが出来るのではないでしょうか。
Createでの値代入と、Setでの値代入が
微妙に異なる処理になることに即対応できるやすいかな。
SetとかCreateがクラス外部とのインターフェースで
AAAが内部ロジックと考えて、そこを分離してるです。
0314デフォルトの名無しさん
NGNG断然2.だよ。
FHoge := Value; // 副作用なし
Hoge := Value; // 副作用あり(期待したい)
でいいじゃん。2.はwrite FHoge/SetHogeでコーディングが変わってくるし、
継承したかどうかでも変わってきて無駄な判断を強いられる。
実装の変更にも弱い。
1.派は気分以外で具体的なメリット・デメリットを論じてもらいたい。
>>308は論外。
0315デフォルトの名無しさん
NGNGなんだか日本語が変。きみの論旨だと1のような
0316デフォルトの名無しさん
NGNG> メリット・デメリットを論じてもらいたい。
どちらが美しいか、という質問です。
0317デフォルトの名無しさん
NGNGHoge := ValueでもSetHoge(Value)でも副作用に関しては変わらない。
寧ろSetHoge(Value)の方が、副作用を期待しているということが明確
になるので、より良いと思うが、どうか?
0318デフォルトの名無しさん
NGNGsetter/getter メソッドは明示的に使ってはいけない。としておくと
良いこと有り。
0319デフォルトの名無しさん
NGNGたとえば?
0320デフォルトの名無しさん
NGNG0321ななしへたぐらま ◆XcB18Bks.Y
NGNGちょっと尻逮鴨.
途中に別なクラスを挟んだときとかに
(VCLでいえばTCustomIniFileとか)
ソースをいじらなくて済みそうですけど….
0322デフォルトの名無しさん
NGNGClass1 = class
public
property A: Integer write FA;
end;
Class2 = class
public
property B: Integer write SetB;
property C: Integer write FC;
constructor Create;
end;
constructor Class2.Create;
begin
// ここでプロパティA,B,Cを副作用付きで初期化する最も美しい書き方は?
// Aの初期化をはinheritedに任せないものとする。
end;
つーかC#ではアクセサへのアクセスは禁止されてるので
いまさら議論の余地はないんだけどね。
0323デフォルトの名無しさん
NGNGC# でなくて Delphi についてです。>>304 をよく読むように。
Class2 は Class1 を継承してないので A というプロパティーは
ないし、初期化できるはずもない
0324デフォルトの名無しさん
NGNGオーバーヘッドは皆無。
hoge:=lhogeはコンパイル時にSetHoge(lhoge)に置き換えられる。
0325デフォルトの名無しさん
NGNG結論の論拠がその結論であると?
めちゃくちゃですね。論拠なしってことですね。
それはそれでいいけど。
0326デフォルトの名無しさん
NGNGう〜ん、なるほど。
それだと、A := 0; B := 0; C := 0;の方が美しいって事なのかな?
て言うか、「C#ではアクセサへのアクセスは禁止されてる」の
理由が気になる。もし、知ってたら教えてお願い。
0327デフォルトの名無しさん
NGNGそこを揚足とるのは、ちょっと大人気ないと思うぞ(笑
0328デフォルトの名無しさん
NGNGははぁ、そうですか。ありがとう。
では、美しいかどうか、という美的議論だけですね。
はじめからそうですけど。
0329デフォルトの名無しさん
NGNGというか何のためのプロパティなのかと小一時間問いつめたい。
privateにアクセスできない理由を考えてみよう。それと同じ。
0330デフォルトの名無しさん
NGNG自分自身はアクセスできますが。
継承した上位クラスが別ユニットになっているときは、プロパティーを
通してしか初期化できませんね。たしかに。
0331デフォルトの名無しさん
NGNGDelphiでは privateが禁止してるのは同じユニット(同じソースファイル)にあるかどうか
だから
type Class1 = class ;
type Class2 = class(Class1);
の2つが同じユニットにあるなら、 privateの意味はなくて裸と同じ
0332Delフサギコ ◆A6VzDeLphI
NGNG,,,,,,,,,,,,,∧,,∧ /
〜′,,,,,,,ミ,,゚Д゚彡< ヘイルスバーグたんはよく見てるなー
UU""" U U \
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
>C#ではアクセサへのアクセスは禁止されてるので
>いまさら議論の余地はないんだけどね。
よくここが不要だと見抜けるもんだわさ。
>>323 偽コードだから継承してるつもりでしょ..
>>314 何が論外だよ、頃すぞゴルァ
0333デフォルトの名無しさん
NGNGじゃ、どうやってプロパティーを定義できるの。アクセサを呼ばずに。
C# しらないんで教えてください。
0334デフォルトの名無しさん
NGNG何を言わんとしてるかは、なんとなく理解できたと思う。
要するに、例え内部的に完結してても、極力公開されてる
手段を用いてアクセスする方が好ましいって事かな?
0335デフォルトの名無しさん
NGNG0336デフォルトの名無しさん
NGNGプロパティの アクセサは
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
のように、書きます。 これでは外部から get/setにアクセス出来ませんね?
0337デフォルトの名無しさん
NGNG>要するに、例え内部的に完結してても、極力公開されてる
>手段を用いてアクセスする方が好ましいって事かな?
そうか。おれは、コンポーネントがそれ自体で完結している
方が好ましい
0338デフォルトの名無しさん
NGNGが、が、外部?
いや、そうじゃなくて、今話してるのは、内部的にhoge := lhogeするか
SetHoge(lhoge);するか、どっち美しい?って話なんだけど・・・・・・
君は何処へ行きたいんだ?
0339デフォルトの名無しさん
NGNGありがとう。では C# では選択の余地なし、ってことですか。
継承した下位クラスで setter/getter を override するような
ことはできるの?
0340デフォルトの名無しさん
NGNGダメダコリャ
0341デフォルトの名無しさん
NGNGだから、C#のプロパティのアクセサはDelphiと違って メソッドじゃないから呼び出せないんだよ
0342デフォルトの名無しさん
NGNGhoge := lhogeだと完結してなくて、SetHoge(lhoge);だと完結してると
言うのも、おかしな話だと思うが?
でも、これって
void hoge(void) {
}
void hoge(void)
{
}
どっちが美しい?って話と同じで、実際はどっちでもいーじゃんて
話かもな(w
0343デフォルトの名無しさん
NGNGそれは質問者 >>304 も知っていて、だから、どっちが美しい、ときているんでは
0344デフォルトの名無しさん
NGNG下位クラスで
public new string Name // Notice the use of the new modifier
のように newを付けると基本クラスの Nameプロパティは隠蔽出来ます
隠蔽されたプロパティにアクセスするにはキャストを付けます
inherited に相当するのは、これで実現可
0345デフォルトの名無しさん
NGNGうげっ!マジで知らんかった。
>>336の表記はそういう意味だったのか、C#全然わからんちん(泣
0346デフォルトの名無しさん
NGNGなんだ、じゃ、禁止されてる、とかの問題じゃないじゃない
0347デフォルトの名無しさん
NGNGなんだかエレガントかも?とか思ってしまった俺は洗脳されかけてる?
0348デフォルトの名無しさん
NGNG再度、ありがとう。C# はまだ文法のところでクラスまでいってない。
継承では、プロパティーごと置き換える(上書きする)感じなのね。
アクセサを override するのとはずいぶん違うんだね
0349デフォルトの名無しさん
NGNG宗教論争の始まりなんで、>>304は質問を撤回しる。
美しさでなく実際の運用であれば、>>314に同意。
0350デフォルトの名無しさん
NGNG美しさであれば?
0351デフォルトの名無しさん
NGNGそのうちSetメソッド追加するかもなあ、って状況に対応できるので、
メリット・デメリットだと2.
0352デフォルトの名無しさん
NGNG>>304 の質問内容が理解できないみたいだね。
0353デフォルトの名無しさん
NGNG- Delphi -
property Name: string read=getName write=setName;
- C# -
public string Name{
get{
return getName();
}
set{
setName(value);
}
}
C# の get/set にアクセスできないってのは、Delphi の read/write に
アクセスできないと一緒。
違いは、C# の get/set が無名のメソッドなところと、set で value が暗黙の
引数でちょっと気持ち悪いところ。
0354デフォルトの名無しさん
NGNGお前頭悪いね。小学生並みの読解力だな。
>304を字面通りに判断すればどっちでもいいということになるけど、
どっちでもいいのであれば他の面で2の方がメリットが多いといっている。
0355デフォルトの名無しさん
NGNG>304を字面通りに判断すればどっちでもいいということになるけど
いいとか悪いとかを質問してるのではない、ということが分からないのか
0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNG他でやってくれ。
0358デフォルトの名無しさん
NGNGClass.hoge が別物として扱われるからだと思ってた。
0359デフォルトの名無しさん
NGNGあと、352とか355みたいな見え見えの煽りに引っかかるなよ。
0360Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ
Delは property ... write FHour とかもかけちゃう自由度あるので
いったん、Propertyの宣言を見なければ
本当に、この関数(SetHoge)を呼び出しているのかどうか分かりにくいから
Setの方がお勧めだけどなー。
property宣言書き換えたら、
全メソッドの内容チェックするのも嫌だし...
0361デフォルトの名無しさん
NGNGそれは逆。
property宣言が書き換えられた時に対応できるのは2.
…って、今までのレス読めよ…。>>314氏が可哀想だ。
0362デフォルトの名無しさん
NGNG352だが。煽ってるつもりはないんだけどね。これで最後にする。
えーとね、>>304 はどっちだって機能的には等価である、ことは知ってて
どっちが美しい、と質問してる。
質問自体の是非はおいといて、この質問にまともに答えてるのは 305 と
307 だけだよ。314 以降は、何を勘違いしたのか、メリット/デメリットとか
C# との関係とかで、全く見当はずれでしょ。それでそのことを指摘したら
小学生なみの読解力っだてさ。どっちが、と思うのも当然だと思うんだけど。
0363デフォルトの名無しさん
NGNG0364デフォルトの名無しさん
NGNG所謂、機能美までをも含む訳で、メリットやデメリットについ
て語ったとしても、それが的外れって事はないと思うのであ
ります。どうでがんしょ?
0365デフォルトの名無しさん
NGNG0366Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ よく考えてみなよ。>>361
>>314
> FHoge := Value; // 副作用なし
> Hoge := Value; // 副作用あり(期待したい)
実際には、クラス内部を書いている視点では
FHoge := Value: //副作用なし
SetHoge(Value); //副作用あり
Hoge := Value; //副作用あるのかないのかPropertyみないとわかんない
という事。
Setメソッドを作るか作らないかで迷うなら
作っておくのが、普通のOO志向だし。
(writeでSetなしでフィールド直書きというのは
readでGetなしフィールド直読みよりも、少ない)
それに対応したいのなら、Setメソッド内部のコードを変更すべき。かと。
クラス内部のメソッド呼び出しと
クラス外部からの副作用を期待したいという
プロパティアクセスとは
区別しておくほうがいいと思うよ。
C#は、アクセスメソトなくしで呼び出し禁止し
やり方を、一方に限定したという点では美しいとは思う。
C#では、Createとアクセスメソッドで
ちょっとだけ異なった処理を行いたい場合には
>>313の形にもっていかざるおえなくなるから、
美しい形にもっていきやすくもなるんだけど
C#のやり方をDelでやるのは、ちょっと違う。
0367デフォルトの名無しさん
NGNGSetHogeやプロパティを変えたりするのは
どう考えればいいの?
0368デフォルトの名無しさん
NGNG…。
ツッコミは他の人に期待するとして、VBの場合Property Letだから
Setメソッド必須に近いなー、分離したければAAAみたいなのを用意するしかないなー
…ってのは想像がついた。
で、今回は機能的に等価なものを選ぶという趣味の問題なので、
Delフサギコ氏のセンスはどうでもいいのだけれど、
>作っておくのが、普通のOO志向だし。
自分の普通を一般の普通と思うのはあなたの悪い癖だ。(SJISの時もそう)
私はwrite FHogeは普通に使う。
0369デフォルトの名無しさん
NGNGごめんなさい。もう私には収拾不能です。
だって、みんな私より遥かに多くの事を考えてるんだもの。
私的には、もっと軽い気持ちで、どっちのスタイル?くらいに
思ってたんですが、まさかこれほど色んな意見が出てくると
は思わなかったですよ(:´Д`)
>>367
継承元クラスがどちらを使ってても、継承したクラスからは
何も変わらないと思う。
どちらを選択しても、出てくるコードに変わりはないはずだ
から。
0370デフォルトの名無しさん
NGNG>SetHoge(Value); //副作用あり
>Hoge := Value; //副作用あるのかないのかPropertyみないとわかんない
FHoge := Value: //副作用なし
SetHoge(Value); //SetメソッドあるのかないのかPropertyみないとわかんない
Hoge := Value; //副作用が必要な時は副作用あり
0371デフォルトの名無しさん
NGNGPropertyみないとわかんないのでは。
0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNG>作っておくのが、普通のOO志向だし。
なんでそれが普通なんだ? 作るのが推奨されるのは言語仕様にプロパティが含まれてない言語じゃないのか? ただ代入するだけのときにわざわざsetter書くのがオブジェクト指向か? 手段と目的を取り違えてないか?
setterを使うのはカプセル化のため。
だが、delphiはカプセル化をpropertyで実現できるので、setterが必要ない場合もある。
必要になってから作るのがdelphiの「普通」。
0374デフォルトの名無しさん
NGNG外部から呼ばれる時もこうなんだし。
0375デフォルトの名無しさん
NGNGマジレスなのかネタなのか、その辺からハッキリしようじゃないか(w
あるプライベート変数にアクセス可能な関数は、どんな場合も例
外なく1以下である。という俺様ルールの元では、Hoge := Value;
としておいた方が、後でSetHogeやGetHogeを追加する時には便
利。
0376デフォルトの名無しさん
NGNG過去に学びたまえ、諸君。
0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNGSetHogeを呼び出したいときにHogeを使ってはいけない。
Hogeは機能を表現しているのであり、どのメソッドで機能を実現するかは隠蔽されている。
「Hogeがどのメソッドで機能を実現するか」に依存したコードは抽象化に問題がある。
繰り返すが、SetHogeを呼び出したいときにHogeを使ってはいけない。
1.SetHoge(lhoge);
2.hoge := lhoge;
この2つのコードが将来に渡って同じ意味であることは、普通は保証されない。
0379デフォルトの名無しさん
NGNG0380デフォルトの名無しさん
NGNGHogeにアクセスして問題になるケースを具体的にageて下さい。
0381デフォルトの名無しさん
NGNGそのルール自体に無理があるだろ?
リードオンリのプライベート変数にアクセスする手段がなくなるぞ。
リードオンリのプライベート変数だけは別ルールなら、それは決
して美しくない。
もっとも、リードオンリのプライベート変数には、プライベート関数
を使ってアクセスする手がある。
この場合、SetHogeに統一しておく方が、全てをSet〜で
統一できるから、君の言う俺様ルールを適用した場合でも
美しいということになる。
0382デフォルトの名無しさん
NGNGなら SetHogeを陰に陽にも呼ばないのが普通では?
たとえばビジュアルなコンポーネントだと SetHogeで大抵Invalidateとか 呼ぶだろ?
コンストラクタでいちいち呼んでたらなんか処理時間が勿体ない気がするしな
0383デフォルトの名無しさん
NGNG>>375だってそれは理解しているはず。
0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNG構造化言語的には副作用は別のメソッドを用意しておくべきだな
0386デフォルトの名無しさん
NGNGそれを考えると、>>308は受け入れ易いかも?
>>380
最初はリード&ライトを許可してたが、後で
リードオンリーに変更した場合とか、かな?
0387デフォルトの名無しさん
NGNGで、その上で補足しておくと、
SetHogeというひとつのメソッド(アクセサであることは関係なしに)を呼び出したい時は SetHoge
FHogeフィールド(プロパティの実体であることは関係なしに)の内容を書き換えたい時は FHoge :=
Hogeプロパティの内容を書き換えたい時は、Hoge := (この際SetHogeかFHogeか考慮することは無意味)
俺が誤解してたらごめん。
0388デフォルトの名無しさん
NGNGプロパティーを通しても SetHoge() 呼ばれますけど。
議論の観点がずれてるような
0389デフォルトの名無しさん
NGNGだから陰にも陽にも SetHoge()を呼びたくないんだろ?
FHoge := xx; とか初期化したいのを並べておいて
最後に副作用を一挙に呼ぶのが普通では?
0390デフォルトの名無しさん
NGNG自分的にも賛成なんだけど、
csLoadingやHandleAllocatedで切り分ける、
つまり初期化中かどうかのフラグを用意するのがVCL流っぽい気もする。
自分は、コンストラクタではFHoge、
それ以外は何も考えない時はHoge、副作用があったら困る時のみFHoge、
極希にメソッドとしての一面を利用したい時(多態やindex付きなど)はSetHoge、かな?
0391378
NGNG「このクラスはHogeプロパティを持っていましたが、クラスのバージョンアップに伴い削除することになりました」
というケース。
SetHoge呼び出しのつもりで使ってると、修正しなくて良かったところまで修正するハメになる。
プロパティは使うなと言ってるわけではない。使い分けが必要だということ。
>>387
補足ありがとう。その通り。
さらに補足しておくと、
メソッド呼び出し、フィールドの変更、プロパティの変更はそれぞれ意味を持っている。
同じ意味であることが多いが、同じ意味であることが保証されるとは限らない。
0392デフォルトの名無しさん
NGNG実際のプロパティの設定はコンストラクタの後なんだし
0393デフォルトの名無しさん
NGNGSetHoge() を実行すべきか、プロパティーに代入すべきか、
というのは全然別の議論です。
private フィールドの FHoge は、Hoge と同じ型を持っているとは限らないし、
Setter/Getter を持っているプロパティーは、対応するフィールドを持ってな
いこともある。
0394デフォルトの名無しさん
NGNGようするに,設問は、 Hoge=xx とSetHoge(xx) が等価な時に、どちらが
美しいかという問題だから、それ以外の話は禁止という事?
本来Pascalは同じアルゴリズムが出来るだけ同じコードになるように設計されてたんだから
こういうのは困るね。
0395デフォルトの名無しさん
NGNGpublicなものをそう簡単に変えられては困る。
0396デフォルトの名無しさん
NGNGプロパティの削除やreadonlyへの変更はコンパイラが全て検出できるけど
# あるいはpropertyのスコープをprotectedにするだけで済むかもしれない
FHoge->SetHogeの変更は機械的にはできない。
プロパティの導入でする必要のなくなった区別をまた持ち込むという愚を犯している。
>メソッド呼び出し、フィールドの変更、プロパティの変更はそれぞれ意味を持っている。
>同じ意味であることが多いが、同じ意味であることが保証されるとは限らない。
0397デフォルトの名無しさん
NGNG0398デフォルトの名無しさん
NGNGprotected propertyにクラスを書き換えればいいってだけの話。
0399デフォルトの名無しさん
NGNG0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNGFoo, Bar, Bazにしとけ
0402デフォルトの名無しさん
NGNG0403378
NGNGあくまでも一例なので。
というより、例が良くなかった。
>>396
前半の意味がよく分からない。
スコープを変更する、というのは盲点だったが、外部からアクセスできないプロパティを持つことが
正しい解決策とは思えない。
また、区別する必要がないのは、求める結果が実現方法に影響されない場合だけ。
Hogeのwriteメソッドは将来変更される可能性があるが、求めるのが結果だけで、
変更されても問題がないならHogeを使っていいし、むしろ使うべき。
SetHogeを使うと実現方法が固定されるので、SetHogeの方法で結果を出さないといけない場合は
こちらを使う。
0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNG外部の人はHoge部しか知らないので、Hoge部に頼む。
TMyClass社内部の人は、実際に業務を行う課(SetHoge)を知っているので、SetHoge課に直接頼むこともできる。外部の人と同じようにHoge部に頼むことも可能(どちらでも料金は変わらないとする)。
Hoge部では今までアメリカに連れていくのに飛行機を使っていたが、今度から船を使うことにした。それに伴い、業務を行う課も変わる。
外部の人は「アメリカに行く」のが目的なのでどちらでも気にしない。そもそも、変更されたことにすら気づかない。内部の人でも、目的が「アメリカに行く」ことなら問題はない。
内部の人で、Hoge部に頼んで「アメリカに『飛行機で』行く」のが目的の人は、Hoge部への申し込みをキャンセルしてSetHoge課に頼み直さなければならない。
Hoge部は飛行機で行くなどとは一言も言っていないので、アメリカに『飛行機で』行きたいなら最初からSetHoge課に頼むべきだった。
というたとえ話はどうだろう。
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNGただし、コンストラクタにそんなもん書くなという結論で
0409デフォルトの名無しさん
NGNGがD7で使えなくなってる、で、現在修正中ですが、
既に俺も使ってるから既に修正したよ!って人がいれば教えてください。
(作者にメールしても良いのかも知れないけど、D3までしか正式に対応して
ないみたいなんで、修正箇所を洗い出してから連絡したいと思います。)
0410デフォルトの名無しさん
NGNGちょっと見てみた、無効なポインタってエラーかな?
itemsの部分で出てるみたいだけど、よくわからんね。
0411デフォルトの名無しさん
NGNG0412デフォルトの名無しさん
NGNGIndyのdemoのフォルダのにテキストファイルが1つ入ってなかったか?
その中にダウンロード場所が書いてある
0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNG0415デフォルトの名無しさん
NGNG0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNGそのテキストファイルに書いてあったところに逝ったんですけど
demoは古いバージョンしか見つかりませんでした。
0418デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNG0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNGうそだぴょーん
0422デフォルトの名無しさん
NGNG97 名前:仕様書無しさん 投稿日:02/10/10 20:42
Delは某スレでベンチ対決やってC#にコテンパン
0423デフォルトの名無しさん
NGNGえらく古い話題だな。
過去ログいろいろ見てみ。ことの顛末がわかるから。
0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNG0426デフォルトの名無しさん
NGNGショウキ
0427Delフサギコ ◆A6VzDeLphI
NGNG.∧∧ C#が早いようですが、なぜ?
,.、ミ,,゚Д゚彡 /i
;'`;、. :,.:∪`゙:゙:`''':,'.´ -‐i
'、;:.: .、.:',.: .:: _;.;. :.‐'゙゙~  ̄
`` U U いや、煽りぬきでさ。
汗で比較できる方とか、教えてきぼんぬ
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
d: Double;
begin
for i := Low(integer) div 5 to High(integer) div 5 do
begin
d := d + i;
end;
Button1.Caption := FloatToStr(d);
end;
private void button1_Click(object sender, System.EventArgs e)
{
int i = 0;
double d = 0;
for (i = Int32.MinValue/5; i <= Int32.MaxValue/5; i++) {
d = d + i;
}
button1.Text = d.ToString();
}
0428デフォルトの名無しさん
NGNGTTreeViewでドラッグしているとき、マウスカーソルが
ドロップできないところ(たとえばノードのないところ)に
来たときマウスカーソルがTTreeView外に出たときのように
ドロップ不可のカーソルに変えるには
どうしたらいいのですか?
0429Delフサギコ ◆A6VzDeLphI
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1022662451/l50
.∧∧ スマんソン
,.、ミ,,゚Д゚彡 /i
;'`;、. :,.:∪`゙:゙:`''':,'.´ -‐i
'、;:.: .、.:',.: .:: _;.;. :.‐'゙゙~  ̄
`` U U スレ違い嫌だったので
移動しますた。教えて?!
単にぉぃのコードが悪いでしたか??
0430428
NGNGOnDragOverのAccept := False;ですね・・・
スレの無駄使いスマソ・・・
0432デフォルトの名無しさん
NGNGMicrosoftが邪魔してるから
0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNG0436デルファイの名無しさん
NGNG0437デフォルトの名無しさん
NGNG押し出してるからでしょう。
あと、DirectXってC/C++から使う方が楽ですよね、BCBはどーなる?って
話もありますが、.NETが今後拡張されたら、将来追加されるであろう、
DirectX.NET 的なライブラリがDelphi.NETからもスムーズに
使えるようになるかもしれませんね。
0438デフォルトの名無しさん
NGNG0439デフォルトの名無しさん
NGNG0440デフォルトの名無しさん
NGNGキボンヌ
0441デフォルトの名無しさん
NGNGしてもらったところ・・
「Indy60.bplが見つからないため、このアプリケーションを開始できませんでした。
アプリケーションをインストールしなおすとこの問題は解決される場合があります。」
・・と出てしまって起動出来なかったそうです。
おそらく「プロジェクト」「オプション」「リンカ」の設定が
間違っているのではないかと思うのですが・・(^^;A
現在の設定はこうなっています。
EXE/DLL オプション → 3つともチェック無し
リンク結果 → DUCファイルを作成にチェック
原因が解る方がおられましたらご教授お願いします。m(__;)m
windows98 & delphi 6 personal sp2
0442デフォルトの名無しさん
NGNGじゃないかな。
0443441
NGNGありがとうございます!!!
「パッケージの再構築」の欄の「実行時パッケージを使って構築」の
チェックを外してからコンパイルしたら正常に起動しました!
感謝してもしきれないくらい感謝です、ありがとうございました!m(^^)m
0444デフォルトの名無しさん
NGNG0445441
NGNGんん〜、それは仕方が無いですね(^^;A
ユーザーさん一人一人にIndyをインストしてもらうよりは
マシとゆうことで・・(汗
0446デフォルトの名無しさん
NGNGvclとか入るんだよな。いらんのに。消しても大丈夫かな。
0447デフォルトの名無しさん
NGNGwww2s.biglobe.ne.jp/~hatena/delphi/delfrm.html
私はこれを見て勉強しました。
他のどのサイトよりも格段に解りやすいっす。
HATENAさんありがとうございました〜!
0448デルファイの名無しさん
NGNGIDEが使うので、Delphi32.exeと同じとこに移動すればいいかも?(当てずっぽう)
0449デフォルトの名無しさん
NGNGこのコードで何も出てきてくれません・・・。どこか豪快に間違えているのでしょうか?
img := Timage.Create(Application);
img.AutoSize := true;
img.Left := Panel_Left;
img.Top := Panel_Top;
img.Name := 'Panel';
try; img.picture.loadfromfile(img_name); except; Panel:=nil; end;
0450デフォルトの名無しさん
NGNG0451デフォルトの名無しさん
NGNG>>446
パケジは特殊なDLLなのでパスが通っていればどこでもよい。
0452デフォルトの名無しさん
NGNGサンクス! parentが必要だったんですね。(´・ω・`)
0453Delフサギコ ◆A6VzDeLphI
NGNGミ,,゚Д゚彡 < 時刻同期クライアントを
ミつ つ \作ろうと思いましたがどうやるのでしょうか?
〜ミ ミ
∪''∪
Time鯖を動かし
TimeDemoを127.0.0.1指定なら
うまく動くのですが、ほかのサーバーを指定すると
全部えらーになるのです。
設定の仕方とか、わかる方教えてくださいませ。
0454Delフサギコ ◆A6VzDeLphI
NGNGミ,,゚Д゚彡 < 環境はD6ProUp2で
ミつ つ \Time鯖/TimeデモなどはDelphi付属のdemoを
使っています。
0455デフォルトの名無しさん
NGNG0456Delフサギコ ◆A6VzDeLphI
NGNGミ,,゚Д゚彡 B2AdjustTimePluginは
ミ つ旦)~~ ちゃんと、
〜と,,,~),,~) clock.nc.fukuoka-u.ac.jp (Japan/Pacific area)
ここにつながっているみたいです
0457デフォルトの名無しさん
NGNG0458Delフサギコ ◆A6VzDeLphI
NGNGミ*゚Д゚彡 普通にプロバイダにつなげてる
ミ つ旦)~~ だけです。
〜と,,,~),,~)
0459デフォルトの名無しさん
NGNG0460Delフサギコ ◆A6VzDeLphI
NGNGtime-nw.nist.gov
∧,,∧ / ̄
ミ*゚∀゚彡 < ここに設定したらいけました!!
ミ つ且~~ \鯖指定が悪かったんかな
〜ミ,,,,,, ,,ミ
0461Delフサギコ ◆A6VzDeLphI
NGNGミ*゚∀゚彡 < ありがとございます。
ミつ旦 ミ \
〜ミ,,,,,, ,,ミ こんなんで、時刻同期できた。
object IdTime1: TIdTime
Host = 'time-nw.nist.gov'
Port = 37
BaseDate = 2
end
procedure TForm1.Button2Click(Sender: TObject);
begin //鯖のDateTimeを表示
Button2.Caption := DateTimeToStr( IdTime1.DateTime );
end;
procedure TForm1.Button3Click(Sender: TObject);
begin //自マシンのDateTimeを鯖と同期
Button3.Caption := BoolToStr( IdTime1.SyncTime , True );
end;
0463デフォルトの名無しさん
NGNGそこはSNTPの方じゃ?
何でIndyにSNTPServerが無いの?
0464Delフサギコ ◆A6VzDeLphI
NGNG|Д゚彡
|⊂ミ インディには
| ミ TIdSNTPはあり
|''U デモはTIdTimeServer/TIdTimeとか使っていたので
そのままTIdTime使ってしまいました。
TIdTimeの次のようにHELPに書いてあった・・・
>Time は,ローカルネットワークで時刻を同期させるための
>シンプルなプロトコルです。
>複数のネットワークでさらに精度の高い時刻用プロトコルを
>実現するには,TIdSNTP オブジェクトを使います。
こっちで実装してみます。
0465Delフサギコ ◆A6VzDeLphI
NGNG|Д゚彡 clock.nc.fukuoka-u.ac.jpと通信してもTDateTime値が0しか
|⊂ミ 戻らないの・・・・
| ミ TIdUDPBase継承のActiveぷろぱは
|''U BroadcastEnabledぷろぱと絡みで
一度TrueからFalseに戻らない事が多いみたいなんだけど、、、
なんでかな,,,,,誰か動かして見てほしいっす,,,
0以外の値が出るものなんでしょうか?
object IdSNTP1: TIdSNTP
Host = 'clock.nc.fukuoka-u.ac.jp'
Port = 123
Left = 8
Top = 8
end
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Caption := FloatToStr( IdSNTP1.DateTime );
//0と表示される
//DateTimeToStrだと1899/12/30と表示される
end;
0466デフォルトの名無しさん
NGNGコンパイルしようとしたらめちゃくちゃエラーが出てしまいます。
誰かデフォルトで入っているを教えてください。
0467デフォルトの名無しさん
NGNG0468ねこま
NGNGデフォルトはこれだけだと思ったけど.
0469デフォルトの名無しさん
NGNG$(DELPHI)\Lib;$(DELPHI)\Bin;$(DELPHI)\Imports;$(DELPHI)\Projects\Bpl
コンボボックスのドロップダウン部分に残ってそうな気もするけど。
0470デフォルトの名無しさん
NGNGTTreeNode.Textが収まりきらないとヒントみたいな感じで表示されるけど
あれを表示させないようにするにはどうしたらよいのでしょうか?
ノードごとにヒントを出そうとしたら、ヒントが2つ出てしまう・・・
0471Delフサギコ ◆A6VzDeLphI
NGNG$(DELPHI)\Lib;$(DELPHI)\Bin;$(DELPHI)\Imports;$(DELPHI)\Projects\Bpl
0472デフォルトの名無しさん
NGNG助かりました、さんくすです。
でもなぜか
[致命的エラー] IdAuthentication.pas(81): 'IdCoderMIME.pas' ユニットはコンパイルできませんでした
。・゚・(ノД`)・゚・。
0473ねこま
NGNGこんなにあったっけか (w
>[致命的エラー] IdA ...
Indy はデフォルトじゃないからでしょう
IdCoderMIME.pas のあるパスを追加すればよいのです.
0474ねこま
NGNGIndy 使ってないからパスです.
0475エラー全文
NGNG[エラー] IdCoderMIME.pas(10): クラス型が必要です
[エラー] IdCoderMIME.pas(12): 静的メソッドはオーバーライドできません
[エラー] IdCoderMIME.pas(15): 未定義の識別子 : 'TIdDecoder4to3'
[エラー] IdCoderMIME.pas(15): クラス型が必要です
[エラー] IdCoderMIME.pas(17): 静的メソッドはオーバーライドできません
[エラー] IdCoderMIME.pas(24): 未定義の識別子 : 'TIdDecodeTable'
[エラー] IdCoderMIME.pas(36): 互換性の無い型です
[エラー] IdCoderMIME.pas(37): 未定義の識別子 : 'FDecodeTable'
[エラー] IdCoderMIME.pas(38): 未定義の識別子 : 'FFillChar'
[エラー] IdCoderMIME.pas(45): 互換性の無い型です
[エラー] IdCoderMIME.pas(46): 未定義の識別子 : 'FCodingTable'
[エラー] IdCoderMIME.pas(47): 未定義の識別子 : 'FFillChar'
[エラー] IdCoderMIME.pas(51): 演算子またはセミコロン (';') が必要です
[致命的エラー] IdAuthentication.pas(86): 'IdCoderMIME.pas' ユニットはコンパイルできませんでした
0476デフォルトの名無しさん
NGNG思い切ってIndyの全.dcuを\Libにコピーするかすればいいのでは。
0477デフォルトの名無しさん
NGNG>>未定義の識別子
未定義の識別子がどうして出るか分からないの?
なんだかなぁ...
0478デフォルトの名無しさん
NGNG良く分からないんですが解決しました。色々さんくすです。
>>477
それは分かるんですが、 Indyに詳しくないもので'TIdEncoder3to4'とかがく分かりませんでした。
(まだ他人のソースを弄ってる程度なので…)
IdEncoder3to4でファイル検索してみたりもしたんですが見つからず…
0479デフォルトの名無しさん
NGNGvar
Style: DWORD;
begin
Style := GetWindowLong(TreeView1.Handle, GWL_STYLE);
Style := Style or TVS_NOTOOLTIPS;
SetWindowLong(TreeView1.Handle, GWL_STYLE, Style);
0480デフォルトの名無しさん
NGNGこれで鯖に繋いで文字を受信したら文字が化けてるのですが
どうしたらよいでつか?
0481470
NGNGありがとうございます。
しかしこの行で
Style := Style or TVS_NOTOOLTIPS;
未定義の識別子: TVS_NOTOOLTIPS
符号付型と符号無し型の演算により,オペランドが拡張されました
とエラーが出てしまいます。。
0482デフォルトの名無しさん
NGNG確認はしてないけど、uses commctrl.pasすればいいのでは?
0483デフォルトの名無しさん
NGNGすごい数のコンポ群ですね、これ。
で、特定のIPアドレスのマシンにファイルを転送したいんだけど、こんな場合は
ServerとClient側でそれぞれどんなIndyコンポ使うのがいいんでしょうか?
0485デフォルトの名無しさん
NGNG接続中にキャンセルした場合や、アプリが終了する場合などの
通信終了待ちはどう書くのが定型なのだろか?(TIdFtp)
今はQuit呼んで、即Freeしている。
なんとなーく動いているようだが行儀が悪い記述である気がして
すげえ気になってる。誰かアドバイスplz
0486デフォルトの名無しさん
NGNGそりゃFTPでしょ。File Transfer Protocolってなもんだから。
0487デフォルトの名無しさん
NGNG単純な脳味噌してるな(藁
0488デフォルトの名無しさん
NGNGまぁ妥当ではあるけど、コマンドの実装が面倒だから
独自プロトコル使ってもいいんでない?
既存アプリではなく何故自分でファイル転送する必要があるか
483を問い詰めないことには結論は出なさそう
0489timerコンポーネントについて
NGNGようにするにはどうしたらいいのでしょうか?
こうゆうメソッドがあるのかと思いヘルプを見たり検索
したんですが見当たりません。
例、1分ごとにイベントを発生するTimerがあったとします。
前回のイベントが今から30秒前に起こっていたとします。
この瞬間にButton1を押すと、この時間から1分後に
Timerのイベントを起こすようにしたいです。
→イベントの発生を30秒ずつズラす。
解る方がいらっしゃいましたらお願いします。m(__)m
0490デフォルトの名無しさん
NGNG0491timerコンポーネントについて
NGNG出来ました!!
インターバルの数字を入れ直したりと色々試してたのですが
これを見落としてました。 こんなに簡単に出来るとは・・・(汗
どうもありがとうございました〜m(__)m
0492デフォルトの名無しさん
NGNGちゃんとサーバーに接続されてたら取得できるはず
24時間サーバーの時刻調整しているが動いてる
Indyのバージョンが古いとか
0493デフォルトの名無しさん
NGNGDel6Pesonalしかもってないのでソースを見れないのですが、
string処理の CopyとLeftStrの挙動が納得いきません。
ヘルプにはCopyのほうはCount個の文字、 LeftStrのほうは文字数と書いてあります。
文字 = char = バイト なのか 文字数なのかよく分からんのが困る・・・。
var str : string;
str := 'abcdefg'; があったとして、
Copy(str, 1, 2)は abを返す。 LeftStr(str, 2 )も ab を返す。
str = 'あいうえお'; とすると
Copy(str, 1, 2)は あ を返す。 LeftStr(str, 2 )は あい を返す。
それならCopyのCountはバイト数で LeftStrの方は文字数なのかなと思ってみたら、
widestr : WideString;
widestr := 'あいうえお'; とすると、
ちゃんと両方とも 'あい'を返してきます。
0494493
NGNGCopyの挙動が引数の型によって変わるのは分かるのですが、
LeftStrのほうがstringを引数に取っているのに日本語のときにもちゃんと文字数を返すのが
気持ち悪いというか、便利なんだけどどうしてなんだかよく分からないのです。
文字コードを見てちゃんと判別でもしているのでしょうか?
0495デフォルトの名無しさん
NGNGbegin
Result := Copy(AText, 1, ACount);
end;
0496493
NGNGΣ(゚Д゚)
てことは・・・あれ?なんで
>str = 'あいうえお'; とすると
>Copy(str, 1, 2)は あ を返す。 LeftStr(str, 2 )は あい を返す。
ってなるんだろう・・・?
0497デフォルトの名無しさん
NGNGShowMessage(LeftStr('あいうえお',2));
の実行結果はどうなる?
0498デフォルトの名無しさん
NGNGこっちのが確実か。
0500デフォルトの名無しさん
NGNGCopyのCountは文字数というか配列数
0502Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧ /
ミ,,゚Д゚彡 < VCLはこうだよ。
ミ つ日 \___________
.@ミ,,,,,, ,,ミ CopyはStringとWideString、渡す型によって
動作が変わるようですね。
function LeftStr(const AText: string; const ACount: Integer): string;
begin
Result := Copy(WideString(AText), 1, ACount);
end;
function RightStr(const AText: string; const ACount: Integer): string;
begin
Result := Copy(WideString(AText), Length(WideString(AText)) + 1 - ACount, ACount);
end;
function MidStr(const AText: string; const AStart, ACount: Integer): string;
begin
Result := Copy(WideString(AText), AStart, ACount);
end;
Copy('あいうえお', 1, 2) だと 'あ'
Copy(WideString('あいうえお'), 1, 2) だと 'あい'
0503495
NGNGUP2当てたら確かに>502のソースになった。
しかしUPで関数の挙動を変えてくるとはね。
Borlandの文字列に対するポリシーがよく分からない・・・
0504デフォルトの名無しさん
NGNGC++(VC++)>Delphi
でよろしいですか?
0505Delフサギコ ◆A6VzDeLphI
NGNG|,,∧ レスあんがと
|Д゚彡 D6ProUp2で
|⊂ミ 付属のIndyです。
| ミ
|''U 何度やってもうまくいきません
IndyVerあげなきゃいけないのかな..ウツ
0506ねこま
NGNGなんでこんなクソなもの標準として取り入れたんだろうか……
LeftStr の機能が違うけど
0507デフォルトの名無しさん
NGNG0508Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧ /手元にあったRX
ミ,,゚Д゚彡 < みてみました
U つ \
function MakeStr(C: Char; N: Integer): string;
begin
if N < 1 then Result := ''
else begin
{$IFNDEF WIN32}
if N > 255 then N := 255;
{$ENDIF WIN32}
SetLength(Result, N);
FillChar(Result[1], Length(Result), C);
end;
end;
function AddCharR(C: Char; const S: string; N: Integer): string;
begin
if Length(S) < N then
Result := S + MakeStr(C, N - Length(S))
else Result := S;
end;
function LeftStr(const S: string; N: Integer): string;
begin
Result := AddCharR(' ', S, N);
end;
0509Delフサギコ ◆A6VzDeLphI
NGNGミ;゚Д゚彡 < ・・・なんだこりゃ??
U つ \
procedure TForm1.Button2Click(Sender: TObject);
begin
Check('ABCDEFG' , rxStrUtils.LeftStr('ABCDEFG', 1) );
Check('ABCDEFG' , rxStrUtils.LeftStr('ABCDEFG', 5) );
Check('ABCDEFG' , rxStrUtils.LeftStr('ABCDEFG', 7) );
Check('ABCDEFG ' , rxStrUtils.LeftStr('ABCDEFG', 8) );
Check('ABCDEFG ' , rxStrUtils.LeftStr('ABCDEFG', 10) );
end;
0510デフォルトの名無しさん
NGNG0511Delフサギコ ◆A6VzDeLphI
NGNGミ;゚Д゚彡 < すまそ。
U つ \
RxのLeftStrは、文字列とIndexを渡して
Indexが文字列長より小さかったら
そのまま文字列を戻し
Indexが文字列長より大きかったら
文字列に必要な数のスペースを付属してIndexの長さにして
戻すという関数なんだけど・・・
VCL標準とは全然違うですね・・・なんか不思議な挙動の関数っす。
こんなの役に立つの?でも必要な人もいるのかな?
と、思って、Rx全体を検索したら、どのUnitからもrx.LeftStr使ってない....(w
MakeStrに至っては,,,255って,,,,まあいいや。
ねこまさんには、どの辺りがクソなんでしょうか。
0512デフォルトの名無しさん
NGNGVar
hFile : Integer;
Dos : Integer;
FileData :TDateTime;
begin
hFile :=FileOpen('C:\Windows\nanka.exe',0);
Dos :=FileGetDate(hFile) ;
FileClose(hFile);
FileData :=FileDateToDateTime(Dos);
ShowMessage(DateTostr(FileData));
end;
最終更新日時を取得する、プログラムなんですが、操作者側が
取得するプログラムのローカルアドレスを指定できるようにしたいです。
0513デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender: TObject);
begin
with TidSNTP.Create(Self) do try
Host:='clock.nc.fukuoka-u.ac.jp';//'time-nw.nist.gov';
Port:=123;
Self.Caption:=
FormatDateTime('YY/MM/DD HH:MM:SS',DateTime);
finally free;end;
end;
0514ねこま
NGNG左寄せしたければ SetLength, FillChar & Move で良いのです.
Rx Library は全体がバブリーで,昔から大嫌いです.
"required RX Library"なんて書いてあるコンポーネントは軽蔑します.
Irvine で使われているのが信じられません.はっきしいってガッカリしました.
もちろん既に排除しました.
0515ねこま
NGNGIrvine から RxLib を排除したって事ね.
0516デフォルトの名無しさん
NGNG0517デフォルトの名無しさん
NGNG文字をスクリーンに描画するにはどうしたらいいんでしょうか?
0518デフォルトの名無しさん
NGNGスクリーンってなに?
広い意味では、ラベルの文字列だってスクリーン出力だよ。
デスクトップの意味なら、google でコード例がたくさん見つかる
0519デフォルトの名無しさん
NGNGあ、言葉足らずですみません。デスクトップの意味です。
ググってみたのですが、私の検索条件の設定が悪いためか、
いまいち引っかかりませんでした。コード例があるところ
ご存じでしたら教えていただけませんでしょうか?
0520>>512 Openしなくても
NGNGfunction FileTimeToDateTime(const ft:TFileTime):TDateTime;
var lt:TFileTime;
var st:TSystemTime;
begin
FileTimeToLocalFileTime(ft,lt);
FileTimeToSystemTime(lt,st);
Result:=SystemTimeToDateTime(st);
end;
function GetFileTime(fname:string ;var tCreation,tLastAccess, tLastWrite:TdateTime):boolean;
var F: TWin32FindData;
var h:THandle;
begin
h:=FindFirstFile(PChar(fname),F);
if h<>INVALID_HANDLE_VALUE then
begin
tCreation := FileTimeToDateTime( F. ftCreationTime );
tLastAccess := FileTimeToDateTime( F. ftLastAccessTime );
tLastWrite := FileTimeToDateTime( F. ftLastWriteTime );
Result:=True;
Windows.FindClose(h);
end;
Result:=false;
end;
var tCreation,tLastAccess, tLastWrite:TdateTime;
begin
with TOpenDialog.Create(Self) do try
if Execute then begin
GetFileTime(FileName,tCreation,tLastAccess, tLastWrite); Caption:=DateTostr(tLastWrite);
end;
finally free; end;
end;
0521デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?q=GetDC(0)%20Delphi&lr=lang_ja
0522512
NGNGうまく行かないのですが、、
0523Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧∩ /
ミ,,゚Д゚彡 < さんくしこ>>513>>516さん!
U ミ \
@ミ ミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∪''∪
わかった!、今、Indy9(9.00.10)に変更したらちゃんと日付とれました
D6Up2のIndy,8.0.25のTIdSNTP.GetDateTimeってバグありじゃないか?
ばっちり確信もてるってわけじゃないんだけど、トレース
実行しても、なんか0が戻ってくるし。
それにしても、Indy9の差込方の正しいやりかたが
いまいちわかんない・・・
ソースごっそり置き換えて
ライブラリパスに$(DELPHI)\Source\Indy
こんなん入れないと、実行時ライブラリの方が
Ver9になってくれない...設計時のは簡単に入れれたのに,,,
Del標準にするにはBinとかLibフォルダに何をいれればいいんだろうか。
0524512
NGNGend.を不覚にも書き忘れてました。
タイトルバーに表示されますけど、ウィンドウで表示はできませんか
0525Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧ /
ミ,,゚Д゚彡 < 教えてくらさいな
ミ⊃ ミ⊃ \____________
〜ミ ミ
∪''∪ ということでお聞きします。
Indy8からIndy9にUpしたいと思いました。
で、D6のデフォルトでIndyにかかわるファイルって
$(DELPHI)\Source\Indy
の一式と
$(DELPHI)\Bin\dclIndy60.bpl
$(DELPHI)\Lib\indy.dcp
$(DELPHI)\Lib\indy.dcu
この3ファイルだと考えたのですが
これらをIndy9のものに変更するだけではだめなのでしょうか?
0526Delフサギコ ◆A6VzDeLphI
NGNGミ゚Д゚,,彡 < Indyコンポーネントはたぶん全部
⊂ミ ⊂ミ \ TIdBaseComponentを継承してるから
読み出し専用のVersionプロパティで
Versionを確認することができます。
0527Delフサギコ ◆A6VzDeLphI
NGNGミ;゚Д゚ミつ
某マニの
http://www.ba.wakwak.com/~h-kova/cgi-bin/bbs/cyclamen.cgi?log=vcl
ここの
http://www.ba.wakwak.com/~h-kova/cgi-bin/bbs/cyclamen.cgi?log=vcl&tree=r793
これって、さっきのLeftStrの問題では?
0528デフォルトの名無しさん
NGNGあっちで教えてやればいいだろ。
0529493
NGNGLeftStrはWideStringにキャストしてからCopyに渡しているんですね。
>>527のほうにも返答を書き込んでみようかと思ったのですが、
BCB6ってまだUpdatePackありませんよね・・・。
なんで環境によって違うんでしょうね。謎だ。
0530デフォルトの名無しさん
NGNGYou should remove Indy 8.0 with Borland's MSI installer by using the Add/Remove
control panel applet.
In Delphi 6.0 and C++Builder 6.0, Indy should be listed in your path before the
standard Borland RTL Paths. This is important because Borland does include an
older version of Indy in their distributions and this old distribution can
conflict with our distribution. In earlier installations, we used to delete
some files from your lib\debug directory but this is not workable in C++Builder
6.0 because the old Indy distribution was placed in several paths. This was
occurring even though you removed Indy with Borland's MSI installer or
specifically chose not to delete Indy 9.0. We did not feel comfortable deleting
those Indy files because there are so many files in several paths because that
would increase the chance that we would make an error and delete something we
should not have deleted causing some other problems.
0531デフォルトの名無しさん
NGNG0532デフォルトの名無しさん
NGNGおまえにはVBがお似合い
0533デフォルトの名無しさん
NGNGうるさい。ボケ。教えろ。
0534デフォルトの名無しさん
NGNGTransparentというプロパティのあるコンポーネントならできるはず
0535デフォルトの名無しさん
NGNGpopup MenuのCaptionに名前を登録すると勝手にショート
カットキーらしき表示が追加されてしまいますよね。
例、「 名前(Z) 」
これを「 名前 」だけにするにはどうしたらいいのでしょうか、
どなたか教えて下さい。m(__;)m
0537535
NGNGヘルプ読んでも検索しても解らなかったから聞いたのに・・(TT
私には理解出来ない書き方してあるのかな・・
0538sage
NGNGTPopupMenu のプロパティの最初の方にある
0539535
NGNGありがとうございます、もう一度調べ直してみます。 m(__;)m
0540535
NGNG解決しました!!
読み直してもやっぱり解らなかったのでプロパティを上から
1ずつ試してようやく発見出来ました。(^^;A
AutoHotkeysのヘルプは私にはさっぱり理解出来ませんでした、
これから少しづつ勉強していきます。
ご指導ありがとうございました!m(__)m
0541Delフサギコ ◆A6VzDeLphI
NGNGD5かD6か忘れたけどVerUp時
AutoHotkeyが増設されてデフォでTrueだったとき
熟練のDel使いでも何人もが>>535現象に混乱してたので
ヘルプ嫁では通じないです。きっとKitto。
どうでもいいけど、透明レイヤーってなんの事だろかしら。
0542デフォルトの名無しさん
NGNG教えてくれませんでしょうか?
例えば
Msg.messageがWM_ACTIVATEだったら'WM_ACTIVATE'に
変換するなど・・・
0543デフォルトの名無しさん
NGNG泥臭い方法しかないかと。
windowメッセージだけなら、前に作ったのが家にあるので、帰宅後でいいならアプしますが。
0544デフォルトの名無しさん
NGNG俺ならヘッダなりヘルプなりからawkとかに流し込んで変換テーブルを作成するけどね。
0545デフォルトの名無しさん
NGNGttp://www.infoeddy.ne.jp/~tensyo/prog/message.txt
0547デフォルトの名無しさん
NGNGをを!ありがもう(´ー`)
ちょっくら変換テーブル作ってみよ
0548542
NGNGうまくいきませんでした。
GetEnumNameで文字列を取得しようとしたんですが、
↓みたいになるとエラーになるみたいです。
識別子が一致しないようにWM_ACTIVATE → _WM_ACTIVATE
type TWindowMessages = (
_WM_NULL = $0000,
_WM_CREATE = $0001,
_WM_DESTROY = $0002,
_WM_MOVE = $0003,
_WM_SIZE = $0005, ← 値が飛ぶとTypeInfoでエラー
これってDelphiというかTypeInfoの仕様なんでしょうかね?
0549ねこま
NGNG0550ねこま
NGNGが連続しているだけなので,AWK かなんかで
VALUE: Result := 'FIELD';
と変換してしまえば case 文のボディができあがりますがそれではダメなんですか?
0551542
NGNGすいません書き忘れてました。
最初の質問に関してはもう解決済みです。
ただ列挙型にしたのはテーブル作る他に何かよい方法がないかなーとか
模索してたのです。
そしたら>>548のようなエラーになったのです。
0552デフォルトの名無しさん
NGNG英語版のDelphi7買おうと思うんだが、日本語版Windowsで
英語版Delphiってちゃんと動く??
0553デフォルトの名無しさん
NGNGオーナードローでどうぞ。
0554デフォルトの名無しさん
NGNG存在しない場合は新たに作成して書き込むというコードを書いてみたんですが
既にファイルが存在している時に書き込もうとするとI/Oエラーが出てしまうんです。
var
F :TextFile;
FileData :String;
begin
AssignFile(F,'0.txt') ;
if FileExists('0.txt') then
begin
FileData := Edit1.Text ;
Writeln(F,FileData)
end else
begin
Rewrite(F);
FileData := Edit1.Text ;
Writeln(F,FileData)
end;
CloseFile(F);
end;
end.
新しくファイルを作って書き込むのは正常に動くのですが…どこがおかしいのでしょうか?
どなたか教えて下さい。
0555デフォルトの名無しさん
NGNG0557デフォルトの名無しさん
NGNGむしろ日本語版より正確に動く
0558デフォルトの名無しさん
NGNGなんじゃ?!
0559デフォルトの名無しさん
NGNGPatchが早い
0560デフォルトの名無しさん
NGNG直ってでてくる。BCB6 Sp1 は日本語出荷版に含まれているのだよ > 中村タン
0561デフォルトの名無しさん
NGNG書きこっんでいるときのキャレットの位置)を取得するにはどうしたら
良いのでしょうか?
0562デフォルトの名無しさん
NGNG表示するにはどうしたらいいですか?
0563Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ
FileStreamで読み出して、バイトごとにみて
16進数で書き出せばいいのかな?>>562
0564562
NGNGゲームのセーブデータを編集するようなアプリケーションを
作ろうと思っているのですが、
バイナリエディタのあるアドレスの部分の16進数を
10進数に変換してウィンドウに表示するようなことっていうのは可能ですか?
0565デフォルトの名無しさん
NGNGIntToStr
StrToInt
IntToHex
とか調べればわかるんじゃない?
0566Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ
で、もうちょっと他の人に分かるような内容で書いてっ。
そのバイナリエディタ自体を自分で作るの?
それともどっかのバイナリエディタを
改造したいってこと?
簡単なのなら、
クリップボードに入っている16進数表現文字列を
10進に変換すればいいだけじゃない?
0567デフォルトの名無しさん
NGNGまた、それを切断するには、どうしたらいいのでしょうか?
0568デフォルトの名無しさん
NGNG0569デフォルトの名無しさん
NGNG0570デフォルトの名無しさん
NGNG既出したものを配列に保存しておいて、かぶったやつは 無視すればいい。
1から10の並び替えを行うならば、10までの配列をもち、乱数で出た数字と次の乱数で
出た数字の位置の内容を入れ替える。
0571デフォルトの名無しさん
NGNG列挙はこれかな
http://www.wwlnk.com/boheme/delphi/tips/tec0920.htm
切断は判らない
0572デフォルトの名無しさん
NGNGそれじゃ一様に混ざらない
for i := Low(arr) to High(arr) do
swap(arr[i], arr[random(Low(arr), High(arr))]);
0573デフォルトの名無しさん
NGNGツールバーがカスタマイズ可能になるらしいのですが、
具体的なコーディングが全然わかりません。
別の所で聞いたら、かなり高度な内容らしくどなたからも回答いただけませんでした。
どうかよろしくお願いします。
0574デフォルトの名無しさん
NGNG高度も何も、ヘルプに書いてある通りにすればできるよ。
コーディング一切なしで。
それとも他に何かしたいのかな?
0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNGカスタマイズ後のツールバーの状態を保存して、次回の起動時に復元したいのですが。
0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNGリストボックス−>ドロップダウンメニューです。すまそ。
0579デフォルトの名無しさん
NGNGhttp://www.geocities.co.jp/SiliconValley/3657/oshiete.html
0580デフォルトの名無しさん
NGNG情報を開示していない。
答える人間のことを考えていない。
0581Delフサギコ ◆A6VzDeLphI
NGNG私の所では、RichEditデモのツールバーを
Customizable:=Trueにして試してみると
一度消してしまったツールボタンを二度と見る事が
出来なかったりして
VCL標準のコーディング一切無しでは
アプリ上使い物にはならないのですが…
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧,,∧ VCLアプリのBugBrowserでも
__ミ,,゚Д゚彡,,,,,___. ∀ Toolbarカスタマイズは。
∩,,,,,,,,,,,,,,⊃⊃ | ┷┳━ 独自実装ですね
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ┃
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ┻ ListBox部分がListViewだし
>>580、何のこと?
>>577簡単には出来ないと思います。
自分でComboBoxを貼り付けるようにしたら
どうにか出来るのですが。
0583デフォルトの名無しさん
NGNG最初はFormStyleのfsStayOnTopとfsNormalを使っていたのですが
コレだとプロパティーを変えると画面がちらつくので
検索して下のコードのような常に手前に表示は分かったのですが
元に戻し方が分かりません。。
どなたか元に戻し方を教えて頂けないでしょうか?
SetWindowPos(MainForm.Handle, HWND_TOPMOST, 0, 0, 0, 0,
SWP_NOMOVE or SWP_NOSIZE)
0584デフォルトの名無しさん
NGNG0585デフォルトの名無しさん
NGNG目インフォ無×
メインフォーム○
0586デフォルトの名無しさん
NGNG英語嫁。
TOPMOSTってとこで常に手前を指定してるのが分かるだろ。
そこでコード保管して想像しろ。
0588デフォルトの名無しさん
NGNG歓迎されないことくらい予想付きそうだけどなぁ…)
0589Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧ 。o ○(なら答えなきゃいいのになぁ・・・)
__ミ=(´-`),,,,,___. ∀
∩,,,,,,,,,,,,,,⊃⊃ | ┷┳━
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ┃
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ┻
>>574>>579>>584>>586
MLに変えれば、どうかと小一時間
0590デフォルトの名無しさん
NGNGなにがうまくいかねーんだよ
procedure TForm1.Button1Click(Sender: TObject);
begin
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0,
SWP_NOMOVE or SWP_NOSIZE)
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
SetWindowPos(Handle, HWND_NOTOPMOST, 0, 0, 0, 0,
SWP_NOMOVE or SWP_NOSIZE)
end;
0591Delフサギコ ◆A6VzDeLphI
NGNGγ彡・ω)ミ Form2でやったら・・・
|ミ,,゚Д゚彡
|(ノ |つ うまくいかねーんでは?
ヾ| |
ヽ _ノ
U"U オレ ハ ヤッタ
ウマク イカネーン...YO
0592583
NGNGありがとうこざいます。
ほんとだこれだとうまくいく。
fofm2にあるCheckBoxのチェックによって判別しようとこのように
したのですがうまくいかなかったのです。ごめんなさい。
if CheckBox.Checked then
SetWindowPos(MainForm.Handle, HWND_TOPMOST, 0, 0, 0, 0,
SWP_NOMOVE or SWP_NOSIZE)
else
SetWindowPos(MainForm.Handle, HWND_NOTOPMOST, 0, 0, 0, 0,
SWP_NOMOVE or SWP_NOSIZE);
0594Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧
ミ,,, ,彡⊃``;⊃ ダメダメ デ ゴミンナサイ...
∩;,,,,,,,,,,,,,,,,,,,;⊃
0595デフォルトの名無しさん
NGNG0596Delフサギコ ◆A6VzDeLphI
NGNGミ,,゚Д゚彡 ∫
と ,,ミつ━
━┳━━┳━┓
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
以前Form2のfsStayOnTopの件で調べてて
それやると、Form1のFormStyleや最大/最小化と
非常に相性の悪い挙動をするということが
わかっていたんだけど
今回のSetWindowのやり方でも
同じようになるのかどうか、検証したいけど
・・・・・・この時間に家かえってきたら
そんな時間ないでつ・・・・・・ハァ....
0597デフォルトの名無しさん
NGNG0598デフォルトの名無しさん
NGNGお前もDelスレにスカスカなうんこをなすり付けるのはやめてくれ。
0599デフォルトの名無しさん
NGNG0600デフォルトの名無しさん
NGNG0601Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ
Form2ノfsStayOnTopのOn/Offで最前面に出るためには
procedure TForm2.CreateParams(var params: TCreateParams);
begin
inherited CreateParams(params);
if Self.FormStyle = fsStayOnTop then
params.WndParent := Application.MainForm.Handle;
end;
これする必要があるけど。これすると
Form1もfsStayOnTop
Form2もfsStayOnTopすると、Form2が行方不明になったかと。
0602デフォルトの名無しさん
NGNG0603Delフサギコ ◆A6VzDeLphI
NGNG( ) ( )
∧=∧ ポゎ〜
ミ*゚Д゚彡
| ̄ ̄∪∪ ̄| ちゃうよ>>602
昔のことなので、思い出しながら書いてみたです。
procedure TForm1.Button2Click(Sender: TObject);
begin FormStyle := fsStayOnTop;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin FormStyle := fsNormal;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin Form2.Show;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin FormStyle := fsStayOnTop;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin FormStyle := fsNormal;
end;
procedure TForm2.CreateParams(var params: TCreateParams);
begin //overrideしておくれ
inherited CreateParams(params);
if Self.FormStyle = fsStayOnTop then params.WndParent := Application.MainForm.Handle;
end;
これで、form2も最善面可だけど、form1の最大化最小化や
form1の最前面に対応しなかったりするよ。
0604デフォルトの名無しさん
NGNGなんか、初心者質問みたいで、ほんとにそんなことが必要なのか
よく考えたほうがいいと思うんだけど。
0605デフォルトの名無しさん
NGNGこれやっておかないと後ろに隠れちゃったりして面倒くさい
0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNGWindows的には、WS_POPUPスタイルでオーナーウィンドウを指定しておけば、
常に特定ウィンドウの前に置いておけるから…
ただ、VCLのフォームはオーナーウィンドウは総てApplication.Handleなので、
Windows標準の動作を利用できず、対策的にダイアログでも最前面表示を使ってるだけなんだ…
0608デフォルトの名無しさん
NGNGデフォルトではそうだね。603 みたいに CreateParams を override すると
オーナーも変更できて、特定の Form の必ず手前には表示できるよ。
0609デフォルトの名無しさん
NGNGキーを押してから0.5秒後にイベントを発動させる、もしくはイベント内で
処理を0.5秒待つといったことはできるのでしょうか?
一旦停止するのはそのイベント内の処理だけで、他には影響させたくないのですが・・・。
0610デフォルトの名無しさん
NGNG0611デフォルトの名無しさん
NGNGSleepとかいうAPIがあった気がする
0612デフォルトの名無しさん
NGNGTimeSetEvent
0613デフォルトの名無しさん
NGNG0614デフォルトの名無しさん
NGNG皮肉ですか?
皮肉ですか?
皮肉ですか?
皮肉ですか?
皮 肉 で す か ー ?
0615デフォルトの名無しさん
NGNG>>610 それはちょいと;
>>611 Sleepだとまるごと止まっちゃうんですよね・・・。
>>612 小難しいですが、頑張ってみます。
0616デフォルトの名無しさん
NGNGわけもわからずTimeSetEvent使うと破綻するぞ。素直にTTimerにしとけ。
0617Delフサギコ ◆A6VzDeLphI
NGNGミ,, ゚Д゚彡 < 連続で呼び出すと変になるけど...
〃つ_つ/  ̄ ̄ ̄/\_____________
〜ミ,,, ,,|\ ./ レ ッ シ /
'\/.======./
 ̄ ̄ ̄
procedure SleepProcessMessages(Milliseconds: Cardinal);
var
StartTime, NowTime: Cardinal;
begin
StartTime := GetTickCount;
while true do
begin
NowTime := GetTickCount;
if Milliseconds <= (NowTime - StartTime) then
Break;
Application.ProcessMessages;
end;
end;
0618デフォルトの名無しさん
NGNGだからDelでビジーループ書くなっつーの。
0619無責任だが
NGNGprocedure TForm1.Time0r5SecEvent(Sender: TObject);
begin
if Sender is TTimer then Sender.Free; //タイマーイベントなら消去
Caption:=FormatDateTime('hh:nn:ss zzz',now); //動作確認例
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
with TTimer.Create(Self) do begin
Interval:=Round(0.5*1000);
Enabled:=True;
OnTimer:= Time0r5SecEvent;
end;
end;
0620デフォルトの名無しさん
NGNG>>618 「ビジーループ」の意味が間違ってる
0621デフォルトの名無しさん
NGNGMsgWaitForMultipleObjectsを入れといた方がいい。
0622デフォルトの名無しさん
NGNG>動的に作成して、動的に消去すると 時間待ち中に次のクリックが
>あっても大丈夫
これの意味がわかりません。動的に作成するとどんないいことがあるの?
0623デフォルトの名無しさん
NGNG書いてくれてるじゃん。連打されてもちゃんと全部対応できる。
0624デフォルトの名無しさん
NGNGそりゃ 最初のボタンを押して 0.2秒後にもう一度ボタンを押したら
t+0 : ボタンon
t+0.3 :次の ボタンon
t+0.5 :最初のイベント
t+0.8 :次のイベント
ってなるって事でしょ。
他の方法だと 時間内に同じボタンを押すとややこしい事になる
0625デフォルトの名無しさん
NGNGあ、なるほど、そうやるのか(゚д゚)!! 参考になります。
0626デフォルトの名無しさん
NGNG619 コードで TMemo に書き込んでみるとわかるが、動的に作成しても
複数のイベントは起こるよ。時間内に複数イベントを起動するのを防ぐ
には、動的に作成するとかは関係なく
procedure TForm1.Button2Click(Sender: TObject);
begin
if not Timer1.Enabled then Timer1.Enabled := true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled := false;
Memo1.Lines.Add(FormatDateTime('hh:nn:ss zzz',now));
end;
とするとよいのでは?
0627デフォルトの名無しさん
NGNG右揃えにしたいのですが、
できますか?
0628デフォルトの名無しさん
NGNG>>書いてくれてるじゃん。連打されてもちゃんと全部対応できる。
あっ、そうか、むしろ全部対応することが重要なのね。なるほど。
0629デフォルトの名無しさん
NGNGでも、よく考えてみたら
>>619 の質問
> イベント内で
> 処理を0.5秒待つといったことはできるのでしょうか?
とは、関係ないことですね。
0630デフォルトの名無しさん
NGNG0631無責任だが
NGNG>>619のコードで Time0r5SecEventのリターン先が 解放した TTimerオブジェクトなんで気持ちが悪い人は
リターン直前に Abortを投げるといいでしょう
>>627
色々方法はあります。検索 TEDIT + 右寄せで googleで検索するとよいでしょう
0632Delフサギコ ◆A6VzDeLphI
NGNGhttp://www.borland.co.jp/qanda/delphi/d0000090.html
_____________
∧,,∧ /
ミ゚Д゚,,彡 < 某の回答がコレか...ホトトホ
,;゙ ミ \
@ミ,,,UUミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
Win95初期Versionじゃシステム関係の処理から
無理なんだけど、TEditを継承したものを作った方がいいよね
[Delphi:41622] Re: Edit のスタイル変更について
http://www2.big.or.jp/~osamu/Delphi/browse.cgi?index=41622
0633デフォルトの名無しさん
NGNGありがとうございました。
できますた!
0634デフォルトの名無しさん
NGNGMEMOは一番簡単で
Win95でも使えて
Edit中も右寄せできるから
結構便利
Win95使ってるところもまだ結構あるし
0635デフォルトの名無しさん
NGNG0636Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧ / Ctrl+EntやCtrl+J
ミ,,゚Д゚彡 < でも改行は入力できたり
,;゙ ミ \ するですよ。
@ミ,,,UUミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
あと、コピペしたらってのも
某のQAでは対応できてないです。
0637デフォルトの名無しさん
NGNG非常に気持ち悪い。なぜエラーにならないのか教えてください。
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNG0640デフォルトの名無しさん
NGNGテイドひくー >オレモナー
0641デフォルトの名無しさん
NGNG0642デフォルトの名無しさん
NGNG638 は知っていると思う
0643デフォルトの名無しさん
NGNGなんで検証しないの?
0644デフォルトの名無しさん
NGNGのがあれば教えれ!
0645デフォルトの名無しさん
NGNGとりあえず.NETに対応したらしい。
つーか、知らんし要らんしDel6でいーじゃん。
0646無責任だが
NGNG直感的にTTimerでイベントを呼んだ後何か仕事があるようには思えないので、
普通は大丈夫だろうと
0647デフォルトの名無しさん
NGNG一般的に言って、自分が読んだイベントハンドラの中で自分を Free した場合
例えば
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Free;
end;
エラーにならないのは同じ理由ですか?
なぜ、TForm には Release メソッドがあるのかな?
0648デフォルトの名無しさん
NGNG0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNG0651デフォルトの名無しさん
NGNGわかりやすく説明しろよ
0652デフォルトの名無しさん
NGNG0653デフォルトの名無しさん
NGNG同じ処理のTOOLを作ったときに、実行速度に云倍を差が出るのに驚き、
VBからDelphiへの乗換えを検討しています。
Delphi購入にあたって、ひとつ質問があります。
Delphi7日本語版はHELP(Documents)が(6と比較して)弱いと
どっか(関連スレ)で見たんですけど、実際どうなのでしょうか。
0654デフォルトの名無しさん
NGNGいいから説明しやがれ
0655デフォルトの名無しさん
NGNG翻訳が出荷に間に合わなかったみたいで、わずか数日後、
日本語訳されたヘルプがBorlandのHPで公開されました。
だから今は大丈夫ですよ。
0656653
NGNGおっしゃる通りのようですね。
丁寧なご回答、ありがとうございます。
0657整数から桁の取り出し
NGNG用意されてるのでしょうか? 一応ヘルプで関数1つ1つ
見て回ったのですが見当たりませんでした。
代わりの方法としてRightStrを使ってコードを書いたん
ですが体裁が悪いです。
ご存じの方がいらっしゃいましたら宜しくお願いいたします。
0658デフォルトの名無しさん
NGNG0659デフォルトの名無しさん
NGNG123 という かず から 10 の くらい を とりだすには どうしたら いいのだろう?
1 の くらい は いらない ので 10 でわると 12 がのこる。
あとは この かず の ひとけため を とりだせば いいんだ。
ひとけため は 10 で わった あまりが こたえだ!
お粗末でした(汗
0660659
NGNG0661デフォルトの名無しさん
NGNGきにすんな
0662657 整数から桁の・・
NGNGお二方とも即レスありがとうございました。
こんな簡単なことだったとは・・・
童心にまで帰らせていただきまして誠に感謝に絶えません。
ご迷惑をおかけしました。
では失礼します。
0663デフォルトの名無しさん
NGNGイベントの作り方によってはエラーになるよ。
0664デフォルトの名無しさん
NGNGvar
i, i2 : string;
I : Integer;
begin
I := 123;
i := IntToStr(I);
i2 := Copy(i, 2, 1);
end;
こんなかんじ?
0665デフォルトの名無しさん
NGNG0666デフォルトの名無しさん
NGNGコンポーネントってない?
PerlのKeys、Valuesに相当する関数があって、テーブルサイズ
不定のが欲しいんだけど、探すと連想配列自体はちらほら見付
かるんだけど、Valuesに相当する関数がことごとくない。なぜ?
0667デフォルトの名無しさん
NGNGない。
Inifiles.THashedStringListとvalues用のTStringList組み合わせて作るしかない。
0668デフォルトの名無しさん
NGNGやっぱそこら辺へ行きつくしかないのか・・・・・
TStringHashを継承して、Add時に適当なキー値を保存
FindでPPHashItemを取得してNextで手繰っていけば
とりあえず実装自体は可能だけど、なんでこんな面倒
なこと・・・・・
既に完成させてる人は居ないのかな?きっと居るはず
だと思うんだけど、誰か居ませんか〜〜〜〜〜〜?
0669デフォルトの名無しさん
NGNGこのURLの下位ディレクトリの数を取得するアプリを
作りたいのですが、これを取得する方法が解りません。
(動作例)
http://www2.sega.co.jp/bbs/article/d/dcq/273/aaaaaa/
http://www2.sega.co.jp/bbs/article/d/dcq/273/bbbbbb/
http://www2.sega.co.jp/bbs/article/d/dcq/273/cccccc/
この3つのディレクトリが存在していたら 3 を返す。
解る方がいらっしゃいましたらどうかヒント下さい、
宜しくお願いします。m(__)m
(環境:windows98SE DELPHI6 PERSONAL SP2 + Indy9)
http://〜 なのでIdHTTPを使うのかなと思うのですが・・・
0670デフォルトの名無しさん
NGNGNew ← 273 <-ここ解析して整数273を取得するしかない。
0671デフォルトの名無しさん
NGNGテキストエディタを作ろうとしてるんだが、
ActionManagerってコンポーネントが見つからん。
[Additional]ページにあるらしいんだが無い。
超初心者でスマソ。
0672デフォルトの名無しさん
NGNG0674デフォルトの名無しさん
NGNGPersonalでコンパイルできるようにActionManagerつけるか
ActionManagerを使用しないチュートリアル作れって事じゃないかと。
チュートリアルという性格上、入門者が困るような構成は問題あると
思う。 Delphi1の頃はちゃんとしたチュートリアルのマニュアルすら
ついてたのに、バージョンアップするたびに入門者には辛い内容
になってきてるもんなぁ・・
M$の VC++ Standardみたいに、入門版には市販の入門書みたい
のを付属して売るとかすればいいかも
0675671
NGNG0676669
NGNGレスありがとうございます。
無理なんですか・・(涙
>整数273を取得するしかない
これは一体??
273を取得すると何か解るのでしょうか?
この数字なら最初から解ってるのですが・・(汗
0677Delフサギコ ◆A6VzDeLphI
NGNGミ,,゚Д゚彡 yes>>675
ミ つ旦)~~ >>669 HTMLファイルを解析して<a href=を取り出して
〜と,,,~),,~) 273以下にリンクファイルやディレクトリがいくつあるか
自分で解析しなければいけないのでは?
procedure Register;
begin
RegisterActions('', [TMyAction], nil);
end;
[Delphi:42552] Re: TAction を継承したい
http://www2.big.or.jp/~osamu/Delphi/browse.cgi?index=42552
0678669
NGNGフサギコさんありがとうございますm(__)m
>HTMLファイルを解析する方法
実はこの方法で取得するアプリを先日作ったのですが、
これをプロのプログラマさんに見せたところ、
「ディレクトリ数を数えるようにすれば重いHTMLソースを
ダウンロードする必要が無くなる」
と言われてしまったんです。 それでこちらでdelphiでの
詳しい作り方を伺ったわけなんですが・・(^^;A
このプロさんはC言語やperlなどを使ってるようなので
もしかしたら他の言語でしか出来ないことなのかも
知れません。 もしくはいい加減なことを言われて
しまったのか・・(真面目な方なのでまずないとは思いますが..)
ともかくdelphiでは無理と解っただけでも良かったです、
>>670 さん共々、本当にありがとうございました。m(_ _)m
0679デフォルトの名無しさん
NGNGWEBサイト側の問題なんだけどね。
で、件のサイトは公開していないからHTMLのリンクを辿るしかないって事。
いっそあるかないかはとりあえず取得してから判断するってのもありかも。
0680ねこま
NGNG私は D5 しかしらないんでアレですけど,
HashList って当然イタレートはできるんですよね?
全然面倒くさくもないような気がする……
……気がするぐらい……うそ情報の可能性もアリ
0682669
NGNGぅは・・ どの言語でもダメってことですか、こりゃ文句
言わなきゃいけませんね!(爆
どうもありがとうございました。(^^;
0684デフォルトの名無しさん
NGNG何かおすすめの本やサイトはあるでしょうか?
特にネットワークプログラム等に興味があるので、それについてのものが良いです。
0685デフォルトの名無しさん
NGNG付いて無いよ〜ん」って付けるのはどうか?
そうすれば「>>1 嫁」で済む…)
0686デフォルトの名無しさん
NGNGソースうp版にリンク張ってFAQでもまとめたらどうよ?
0687デフォルトの名無しさん
NGNG逆にフォルダの一覧が取得できたらセキュリティ上問題がある場合もある
から見せないようにしてるサイトが多いんじゃない?
0688デフォルトの名無しさん
NGNGWin9x/Meで実行すると落ちてしまいます、
Form自体が表示されないようなので、メッセージボックスを表示する
ようにしてみましたが、フォームのCreateイベントより前に落ちるみたい
です。
Win9x/ME環境にD7の開発環境をインストールしないでデバッグする良い
方法はなにかありませんか?
0689デフォルトの名無しさん
NGNG0690デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNG今まで使ったことが無かったんで知りませんでした、
教えて頂いたリモートデバッガーを使ってみます。
>>691
Windows98には対応してるみたいですが、
Windows95/MEが非対応ってこと?
0693デフォルトの名無しさん
NGNG0694693
NGNGAnders Melanderタンが作ったものを探しています。
サイトが消えてるようなので…
http://www.melander.dk/delphi/gifimage/
0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNG0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNGハァハァハァハァハァハァハァハァハァハァハァハァ・・・
デ、デルーーーーーー!!!!
ドピュッピュドピュッピュドックンドックン・・・アー デルーデルデルデルデル アー
ドッピューン ドッピューン
フゥ〜
キモチエダッタ マンゾクマンゾク
0702デフォルトの名無しさん
NGNGキーワードは揃ってるじゃないか 検索しる
Anders Melander TGIFImage
0703デフォルトの名無しさん
NGNGURLわかってるならWayBackMachineでいけそうな予感。
0704デフォルトの名無しさん
NGNG0705デフォルトの名無しさん
NGNG0706デフォルトの名無しさん
NGNGヘルプのオナニードロー見るべし
0707デフォルトの名無しさん
NGNGマジレスすると、自前で描画する。
0708デフォルトの名無しさん
NGNGそれで「閃いた━━━━(゚∀゚)━━━━!!!!!!」って思っちゃうんだか?)
0709デルファイの名無しさん
NGNGwin9xシリーズでフォームが開かけないで落ちる現象としては、フレームとか
使ってた場合によくあります。
あと、オブジェクト数が無謀なほど多いとかでもありえるかも。
いづれにせよ、win9xシリーズは既にMSもサポートしてないんで諦めたら?って
のは無謀かな・・・。(でも、winMeもあるし、まだ現役なOSですよね・・・。)
0710デフォルトの名無しさん
NGNGWin98は来年サポートが切れる。
WinMEはまだ。
それまでの辛抱。
0711デフォルトの名無しさん
NGNG0712デフォルトの名無しさん
NGNGマウスカーソルを乗せてもヒントは表示されませんが
非アクティブ時でもヒントを表示させる方法は無いでしょうか?
ヒントになるようなことだけでもいいので教えていただけないでしょうか。
0713デフォルトの名無しさん
NGNGFormMouseMove&HintWindow
0714ねこま
NGNGプログラムやめちゃったのかな?
0715デフォルトの名無しさん
NGNG0716デフォルトの名無しさん
NGNG・DirectXSDKのヘッダーをDelphi用にコンバートしたユニットを使う
海外行けば、最新のヘッダーもそろえられる。
・DelphiXを使う
Delphi6で使うには工夫が必要。
日本語のサイトでは使えないという表記を見るが嘘(その人がへたれなだけ
・Quadruple Dを使う
0718デフォルトの名無しさん
NGNGそんなくだらないの追加するな
0719ななしへたぐらま ◆XcB18Bks.Y
NGNGusesで参照しているユニットの初期化節(initialization)で例外が発生しているかも.
Runtime Error 216 のダイアログボックスが出たら多分そうです.
>>709
うちもフレームを多用するのですが
(今のプロジェクトでは数十種類以上のフレームを使っています)
一度もこういうエラーになったことがないのは
インスタンスの総数が少ないからでしょうか.
0721PopupMenuコンポ
NGNGアクティブにするとメニューが開いた状態で画面に残っ
てしまいます。 他のアプリをもう1クリックすれば
消えるのですが、最初のクリックで消したいです。
ApplicationEventsコンポを使い、アプリが非アクティブに
なったときにPopupMenuを消そうと思ったのですが、popupmenu
を消すメソッドが見当たりません、どうすればいいでしょうか。
0722デルファイの名無しさん
NGNGD6up2の頃に気が付いたのですが、
フレーム上にComboBox系のコンポーネントを置くと win95/98/Meでは
挙動不審になりませんか?
厳密には、ComboBoxと言うよりItemsが原因な気がします。
で、D7だとプログラムが起動すらしないはず、
フレーム上にコンボボックスを置いて、Itemsに適当に値をセットし
win95/98/Meに持っていくと落ちる。
他にも色々とフレームは危険な予感が・・・・。
たぶん、>>688 もそれが原因だと思われるが、winXPでコンパイルしたexeを
win95/98/Meに持って行った時だけか、それとも、win95/98/Meでコンパイル
しても同様の結果なのかの再現テストしてないのではっきり断言できません
が、私が試したのは winXPでコンパイルしたexeをwin98に持って行った時に
駄目でした。
0723721 PopupMenuコンポ
NGNGこれはタスクにアイコン化してる状態での話です。
delphiは 6 personal です、宜しくお願いします。(^^;
0724このスレでは448以前のデルファイの名無しさん
NGNGそれはさておき、PopupMenuですが、うちでは再現しないなーと思いつつ、前に同じような事があった気も…
おぼろげな記憶で申し訳ありませんが、タスクトレイからPopupMenuを出す前に、
SetForegroundWindow(Application.Handle)を実行してみてください。
0725665
NGNGしてどんどん登録していくとめっちゃ便利そうじゃない?
誰かそういうのたくさん作った人うpしてよ。
0726デフォルトの名無しさん
NGNG本当だ!うちでも再現しました、
これってボーランドにバグ報告するべき?
0727デフォルトの名無しさん
NGNG0728デフォルトの名無しさん
NGNG0729727
NGNG0730デフォルトの名無しさん
NGNGおお!
ミラーサイトが一つ残ってた━━━━(゚∀゚)━━━━!!!!!
Thx!
0731ななしへたぐらま ◆XcB18Bks.Y
NGNGうちはD5なのですがそういう経験はないです.
コンボボックスは滅多に使わないので気が付かなかっただけかも知れませんが.
いま,コンボボックスを置いたフレームをフォームに5つ置いたプログラムを
XPでコンパイル,Win95で実行したのですが不具合は発生しませんでした.
#ただ,設計時にしばしばCPU使用率が100%になりますね.
一度プロジェクトを閉じるまで直らない.
0732デフォルトの名無しさん
NGNGどうすればできますか?
0733デフォルトの名無しさん
NGNG0734デフォルトの名無しさん
NGNGありがとうございました!
チョビチョビわかってきたぁぁぁヒャオウ
0735688
NGNGえーと、私は >>722 じゃないんですが、
丁度同じ部分で昨日ハマッてたんで、
少し書いときます。
D7のバグみたいで、D6では正常です。
あと、フレームは関係ありません、ComboBoxです。
再現するには、ComboBoxを1つ配置して
ComboBox1.Items.Clear;
ComboBox1.Items.Add('');
ComboBox1.Items.Add('A');
ComboBox1.Items.Add('B');
みたいにします、で、WinXPのD7でコンパイルして
Win95/98/MEで実行して、空白の部分を選択したら
プログラムは落ちてしまいます。
私の場合は、ComboBox1を設計時にプロパティに
直接値を設定してあって、最初が''だったので
即落ちてたみたいです。
実行時に動的にComboBox1.Itemsに値を入れても
その中に''があると、その後ComboBoxのリスト
から選択した瞬間に落ちてしまいます。
但し、WinXPで実行した場合は正常に動作して
います。
誰か再現するかテストできませんか?
再現するようであれば某に報告しますが?
0736デフォルトの名無しさん
NGNG0737通りすがり
NGNG0738デフォルトの名無しさん
NGNGバグが1つ見つかっただけでポンコツですか?
貴方の作るプログラムが如何にバグの無いプログラムか知りませんが、
貴方の使っているWindowsはポンコ1000ですか?
0739デフォルトの名無しさん
NGNG・・・って書くとM$厨に噛みつかれそう(w
0740通りすがり(737)
NGNG随分単純なバグのように見えたものでつい酷いこと書いてしまいました
0741通りすがり(737)
NGNG通りすがりな者で、実はdelphiは持っていませんが、VCでもVBでも
そのようなバグが無いことを考えると、95系のバグではないと思いますが
そもそも、以前からのdelphiのバグなのですか?
だとすれば、やはり・・・、いえ言いません(^^;;
0742デフォルトの名無しさん
NGNGもう日本の某にはバグをバグだと判断し、英語に直しアメリカ本社に伝えるような
部署はないんじゃないの?
オレもいろいろバグ見つけた。
0743デフォルトの名無しさん
NGNG何処にメールすりゃいいのさ、態々電話したりするの面倒だな。
0744デフォルトの名無しさん
NGNG0745デフォルトの名無しさん
NGNGここは見てないのかな?
0746デフォルトの名無しさん
NGNG0747デフォルトの名無しさん
NGNG匿名サイト(2chのことね)からの指摘であることを理由に
修正を拒否したアフォ会社あったよ。
もちろん某ではないよ。
0749721 PopupMenuコンポ
NGNGコテハン被ってましたか、安直な付け方しすぎでしょうか?(笑
早速コードを加えて実行してみたのですが、タスクにあるアイコンを
右クリックするとPopupMenuが一瞬表示されたあとすぐに消えてしま
いました。(汗
そこでSetForegroundWindowについて調べたところ、このAPIはOS
ごとに動作が異なるそうです。 ですので複数のOSで実行出来るよう
にするにはかなり苦労することになりそうです。
↓このサイトを参照させて頂きました。
www.systemyou.co.jp/tips/vb/tips3.htm
残念ながら私はプログラムを始めて1年弱の初心者なのでこれを
実現させるスキルがありません。 せっかく教えていただいたの
ですが、アイコン状態でのPopupMenuは使わないようにするしか
ありません、申し訳ないっす。m(__;)m
でもいろいろと勉強させて頂きました、ありがとうございました〜!
0750デフォルトの名無しさん
NGNGComboBoxもフレームもたくさん使ってますが
Win9x/NTともに動いています
項目に''はやったこと無いかも
CLXがらみでVCLが大幅に変わったのでSOAP以外は未だにDel5を使ってます
切替のタイミングを外したのでずっとそのままです
0751721 PopupMenuコンポ
NGNGSetForegroundWindowの問題の解決法が載ってる
ページを見つけたので貼っておきます。
techtips.belution.com/ja/vc/0012/
言語はdelphiでなくSDKとMFCで書いてあります。(^^;
0752721 PopupMenuコンポ
NGNGtechtips.belution.com/ja/vc/0012/
↑ これをdelphiに直してくださいませんでしょうか(汗
変数の宣言くらいなら簡単に直せるのですが・・(^^;
0753デフォルトの名無しさん
NGNGていました。
http://groups.google.co.jp/groups?hl=ja&lr=&ie=UTF-8&oe=UTF-8&threadm=3d8cebe7%241%40newsgroups.borland.com&rnum=29&prev=/groups%3Fq%3Dcombobox%2BVCL%26hl%3Dja%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26scoring%3Dd%26start%3D20%26sa%3DN
0754デフォルトの名無しさん
NGNGおらよ。動作確認はしてない。
procedure SetAbsoluteForegroundWindow(hWindow: HWND);
var
nTargetID, nForegroundID : Integer;
sp_time : DWORD;
begin
// フォアグラウンドウィンドウを作成したスレッドのIDを取得
nForegroundID := GetWindowThreadProcessId(GetForegroundWindow(), nil);
// 目的のウィンドウを作成したスレッドのIDを取得
nTargetID := GetWindowThreadProcessId(hWindow, nil );
// スレッドのインプット状態を結び付ける
AttachThreadInput(nTargetID, nForegroundID, TRUE ); // TRUE で結び付け
// 現在の設定を sp_time に保存
SystemParametersInfo( SPI_GETFOREGROUNDLOCKTIMEOUT,0,@sp_time,0);
// ウィンドウの切り替え時間を 0ms にする
SystemParametersInfo( SPI_SETFOREGROUNDLOCKTIMEOUT,0,Pointer(0),0);
// ウィンドウをフォアグラウンドに持ってくる
SetForegroundWindow(hWindow);
// 設定を元に戻す
SystemParametersInfo( SPI_SETFOREGROUNDLOCKTIMEOUT,0,Pointer(sp_time),0);
// スレッドのインプット状態を切り離す
AttachThreadInput(nTargetID, nForegroundID, FALSE ); // FALSE で切り離し
end;
0755721 PopupMenuコンポ
NGNGありがとうございます! 大感謝です。m(^^)m
C言語もdelphiも使えるなんてすごすぎです!!
Cの「 & 」はポインタ関連のマークだったんですね、
なるほど〜 φ(・o・;
早速これから色々いじくってみます、
本当にありがとうございました!m(_ _)m
0756デフォルトの名無しさん
NGNGDelphiをやるならC/C++をある程度読めないとつらい。
0757このスレでは448以前のデルファイの名無しさん
NGNGで、PopupMenuですが、メニューの親となるウィンドウが、表示状態かつアクティブでないと
上手く動作しないようです。
前に書いたコードを見直してみたら、次の流れでした。
ShowWindow(Window, SW_SHOW);
SetForegroundWindow(Window);
TrackPopupMenu(..., Window, ...);
ShowWindow(Window, SW_HIDE);
ここでWindowは、枠線ナシ、サイズゼロで、表示しても実際にはみえないウィンドウハンドルです。
VCLの場合、PopupMenuの親はApplication.Handleだったと思ったので、
先の提案になったのですが、Application.Handleも風変わりな動作をしますから、
自前でAPIを並べてメニューを表示した方が確実かも知れません。
0758デフォルトの名無しさん
NGNG禿同
0759デフォルトの名無しさん
NGNG今時は、言語として C/C++,C#,Java程度は理解してないと仕事にならん
OSも、Windowsの他にもFreeBSDやLinux,Sunの知識は最低限あってほしいし、
IIS/Apache,SendMail/Postfixについても最低限知ってないと苦労するね
DBならMS-SQLserver/Oracle/MySQL/PostgreSQLは必須
うちじゃ、中途採用者はこの条件をクリアしてないと受け入れません。
0760デフォルトの名無しさん
NGNG分かったから少しもちつけ
0761デフォルトの名無しさん
NGNGで、qmailは知らないわけだ。
0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNGそこまではいらんだろw
0764デフォルトの名無しさん
NGNGいや、VBとCOBOL知っていれば何とかなります。
0765デフォルトの名無しさん
NGNG0766デフォルトの名無しさん
NGNG君の会社は多分危ない。
0767753
NGNG「Windows, IE, Office がびみょーに関係している」と思うのかねぇ。
0768デフォルトの名無しさん
NGNG案外そうでもないよ。
地方の企業は単価が信じられないくらい安い。
都内で受けた120/月の仕事を地方に40/月位で丸投げするのは当たり前。
VB屋がいないと大手の半分以上は赤字に転落すると思うよ、マジで。
0769デフォルトの名無しさん
NGNG地方の企業の単価が安いことと VB 屋の問題は別だし。
0770デフォルトの名無しさん
NGNG無理に VBを使う必要なしっ!
0771デフォルトの名無しさん
NGNG0772デフォルトの名無しさん
NGNGだから今、必死で珠算6級にチャレンジしてます!
0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNG生活するには4段が最低ラインじゃないかな
0775デフォルトの名無しさん
NGNGDelphiって死滅しちゃうの????
http://pc3.2ch.net/test/read.cgi/tech/1035539926/
0776デフォルトの名無しさん
NGNG0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNGそれ面白そうだね。
動的にTImage生成してくっつけてみたら?
0779無責任だが
NGNGTForm1 = class(TForm)
Image1: TImage;
procedure FormCreate(Sender: TObject);
end;
var Form1: TForm1;
・・・略・・・
var bitmap:TBitmap;
type TMyHintWindow = class(THintWindow)
protected
procedure Paint; override;
end;
procedure TMyHintWindow.Paint;
begin
inherited;
Canvas.Draw(0,0,bitmap);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
bitmap:=Image1.Picture.Bitmap;
HintWindowClass:=TMyHintWindow;
end;
0780デフォルトの名無しさん
NGNG0781デフォルトの名無しさん
NGNGThxです、やってみます
0782デフォルトの名無しさん
NGNG0783デフォルトの名無しさん
NGNG0784デフォルトの名無しさん
NGNGindyはVER毎に結構いろいろ変わっているから難しいのだと思われ
後ソースとサンプルとHELPがあれば十分だろ、とかな。
0785デフォルトの名無しさん
NGNG画像をダウンするコードを書いてみたいんだけど。
0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNGこんな感じかな。
var
MemStrm: TMemoryStream;
begin
HTTP1.Get('http://www.borland.co.jp/image/logo.gif', MemStrm);
MemStrm.SaveToFile('c:\logo.gif');
end;
プロキシ経由の場合は、
Http1.Request.ProxyServer
Http1.Request.ProxyPort
をGet前に設定
0789788
NGNG0790デフォルトの名無しさん
NGNG0791デフォルトの名無しさん
NGNG>Http1.Request.ProxyServer
>Http1.Request.ProxyPort
ちなみにIndy9の場合は
Http1.ProxyParams.ProxyServer
Http1.ProxyParams.ProxyPort
0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNG0794デフォルトの名無しさん
NGNGMemStreamのCreateとFreeは省略してますので、try..finallyでくくって
解放してください。
0795デフォルトの名無しさん
NGNGできます。
HTTP1.Request.ExtraHeaders.Clear;
HTTP1.Request.ExtraHeaders.Add('Pragma: no-cache'); //常に最新データを取得
0796デフォルトの名無しさん
NGNGおお、さんくす!
0797788=794
NGNG酔っぱらって書いたからちと不親切になってしまいましたね。
これできちんと動きます。
procedure TForm1.Button1Click(Sender: TObject);
var
MemStream: TMemoryStream;
begin
MemStream := TMemoryStream.Create;
try
IdHTTP1.Get('http://www.borland.co.jp/image/logo.gif', MemStream);
MemStream.Position := 0;
MemStream.SaveToFile('C:\logo.gif');
finally
MemStream.Free;
end;
end;
0798デフォルトの名無しさん
NGNG色々調べて、シェルネームスペースエクステンションなどという技術を
使えば出来るのではないかという結論に達したのですが、結局実際に
どうソースを書けばいいのかサッパリです。
どなたかご存知でしたら教えてください。
「仮想フォルダ」ってなんやねん?と思ってググってみたら、1000円の
シェアウェアがヒットしたが、それのことけ?
0800デフォルトの名無しさん
NGNG0801798
NGNGその通りです。
デスクトップとか。
0802デフォルトの名無しさん
NGNGungetcみたいな関数もないし、全然見当がつかないよ。
0803質問
NGNGヘルプにはnew したら disposeしろと書いてあったのですが
disposeのところで 「無効なポインタ操作」というエラーが出てしまいます。
何がいけないのでしょうか。
procedure TForm1.Button1Click(Sender: TObject);
type Plistbox=^Tlistbox;
var target:Plistbox;
begin
new(target);
case ComboBox1.ItemIndex of
0: target:=@listbox1;
1: target:=@listbox2;
end;
target^.items.add('ああ');
dispose(target);
end;
0804デフォルトの名無しさん
NGNGオブジェクト参照ははじめからポインタです。
参照するだけでしたら、New() と Dispose() はいりません。ポインタを
受けとる変数だからです。
procedure TForm1.Button1Click(Sender: TObject);
var
LS:TListBox;
begin
LS := nil;
case ComboBox1.ItemIndex of
0: LS := ListBox1;
1: LS := ListBox2;
end;
if Assigned (LS) then LS.Items.Add('AAA');
end;
0805デフォルトの名無しさん
NGNG>標準入力に入力を戻す方法
入力を戻すって、? エコーバックのこと?
0807デフォルトの名無しさん
NGNG>>802に出ている通り、Cで言うungetcのようなことができないかと言うことだろ。
0808デフォルトの名無しさん
NGNGこのページを参考にタスクトレイにアイコンを登録する動作を
作ってみたんですが、
「プロジェクト」「オプション」「アプリケーション」「アイコンの読み込み」
からアイコンを自分が用意したものに変更して実行してみると
意味不明な黄色いアイコンが表示されてしまいます。
これはDELPHIのバグなんでしょうか?
Form1のIconプロパティやプロジェクトの再構築など考えられる
ことはすべて試してみましたが正常にアイコンが表示されません。
おそらく hIcon := Application.Icon.Handle; この行が
うまく動作してないんだと思うんですがどうでしょうか。
Application.Icon.Handle に自前のアイコンが認識されないのかな?
DELPHI6 PERSONAL + WINDOWS98SE
0809デフォルトの名無しさん
NGNGアイコンを変更するだけならそのまま動くはず
D6+Update2+W2kではOK
最近の某はバグ多いが
基本的に初心者は他人を疑う前に自分を疑いましょう
これぐらいのソースならもう一度一から作成するのも手
0810808
NGNG809さんの環境ではちゃんと動くんですか、確認ありがとう
ございます〜!
ううむ、一体原因はなんだろう、もちろん書き込む前に簡単な
アプリを作って確認したんですが結果は同じでした。
何か私に手落ちがあるのかなぁ・・・
コンパイルの設定もデフォルトのままだし・・
DELPHIパソナルもSP2にしてあるんですが・・
0811デフォルトの名無しさん
NGNG読み込み終了位置の設定は出来ないでしょうか。
ContentLength-1000バイトまで読み込むとか。
0812C++使ってます
NGNG確かにちょっと似てるね
初めてみたけど半分くらい意味がわかる
0813デフォルトの名無しさん
NGNG0814デフォルトの名無しさん
NGNGアイコンの色数が問題なだけだったりして。
16色より多いものはつぶされるけど、そこんところはどうなんでしょう?
0815デフォルトの名無しさん
NGNG終了位置の設定はIdHTTP.Request.ContentRangeEnd // IdHTTP: TIdHTTP;
ただし先頭からの位置なので、後ろからの位置を設定したいなら
IdHTTP.Head(URL);
Len := IdHTTP.Response.ContentLength;
とかで対象のContentLengthを取得してからじゃないと無理かも。
あんまり詳しく知らない。
0816808 (解決)
NGNGありがとうございます!
早速DELPHI付属のイメージエディタで16色のアイコンを作って
試してみたところ正常に動作しました! 念のため同じエディタで
32色のアイコンを作って試してみたところこれでも動作しました。
私が使ってたアイコンはPIXAで作った32×32の画像を.ico形式で
保存したモノだったんですが、どうやらこのアイコンが原因だった
みたいです。 →タスクトレイにアイコン化したときだけ使えない。
>>809さんのおっしゃる通り私に落ち度があったようです、
お騒がせしてすみません〜
0817811
NGNGどうやら「後ろから何文字まで」と指定してリクエストすることは
出来ないようですね。 これが出来ればダウンロードする時間の
短縮になるんですが。(^^; HTTP1.2から導入してくれないかな。
仕方ないのでcopy関数とContentLengthを使って後ろをカットして
使うことにします、どうもありがとうございました。
0818デフォルトの名無しさん
NGNGまず、ABそれぞれのコンポーネントがあったとして、最初にAのコンポをインストールします。
次にBのコンポをインストールすると、Aのコンポがメニューから消えてしまうのです。
パッケージファイルの保存場所が悪いのでしょうか?
追加していく形でコンポをインストールできないものでしょうか?
どうすればいいのか、どなたかご教授ください。
0819デフォルトの名無しさん
NGNGA,Bは同じ名前?
0820デフォルトの名無しさん
NGNGこのとき、Timageが何もPictureを持っていないときは hoge = nil と思いこんでいたのですが(間違い)、
そもそも Object = nil とは何を意味するのでしょうか。
createしたモノを無で指定するということは、消えてしまうということ・・・?
それとも、そのオブジェクトは何もデータを保持していませんYOということなんでしょうか。
0821デフォルトの名無しさん
NGNGTImageはPictureの実体そのものではなく入れ物だと考えればいいでしょう。
つまり、中身が無くても入れ物があるという事です。
それと同じようにObject型も 実体ではなく 実体の位置を記録したものです。
実体のことをインスタンスと言います。
Createは実体を作り、それをどこに作ったかを教えてくれます。それを記録するのがObject型です。
つまり Object=nil とは その記録が空だという事で、実体があるかどうかに無関係です。
0822デフォルトの名無しさん
NGNGなるほど、hoge = nil の状態でプロパティを読んだら AccessViolation になったのですが、
実体がないから参照のしようがないという意味だったんですね。
ありがとうございます、オブジェクト指向ってわかってくると面白いですね。
0823822
NGNG0825デフォルトの名無しさん
NGNGあー。あるある。オレも不思議に思ってた。
embeddedwbコンポーネントで、それなる。
なんでだろう?
0827デフォルトの名無しさん
NGNGEmbededWB でもならない
0828デフォルトの名無しさん
NGNG同梱されてusesされてるファイルの名前がインストール済みのコンポーネントのと
同じだったりとかは?
同じ名前のファイルが有ると上手くいかなかった気がする。
0829デフォルトの名無しさん
NGNG>次にBのコンポをインストールすると、Aのコンポがメニューから消えてしまうのです。
パッケージを追加するごとに、追加および削除されるコンポーネント名が
表示されるはずだけど、そこに出てくる名前は、意図している物かな?
0830818
NGNGそれはないです。どんなコンポでも>>818のような症状が出るんです。
>>829
はい。
Aをインストールしたら「Aがインストールされました」
その後Bをインストールすると「Aが削除されました」「Bをインストールしました」
とダイアログが出ます。
0831デフォルトの名無しさん
NGNG0832デフォルトの名無しさん
NGNG0833デフォルトの名無しさん
NGNGなにをいまさら。
0834デフォルトの名無しさん
NGNG0835デフォルトの名無しさん
NGNG0836デフォルトの名無しさん
NGNGBorland, TogetherSoft 買収だって。
(http://www.togethersoft.com/news/archive/2002/press_releases/103002.jsp)
金はあまり余っているからなぁ。
0837デフォルトの名無しさん
NGNGTogetherCCをJBuilderに統合するつもりかな?
0838デフォルトの名無しさん
NGNGそれに、JBuilder の方に書いたほうが良かったかな。
0840デフォルトの名無しさん
NGNGhttp://codecentral.borland.com/codecentral/ccweb.exe/listing?id=18939
0841829
NGNG>その後Bをインストールすると「Aが削除されました」「Bをインストールしました」
>とダイアログが出ます。
「Aが削除されました」って出ているんだからそのとおりのことが起きたんだな。
コンポーネントAを含むパッケージとコンポーネントBを含むパッケージの名前が
同じと見た。
一つのパッケージに複数のコンポーネントを収めることができるのだよ。
逆に一つの環境には同一の名前のパッケージは一つしかインストールできない。
コンポーネントではなくパッケージの名前を再確認してみて。
なんだったらパッケージの名前(なんとか.dpk または .bpl)を教えて。
0842Delフサギコ ◆A6VzDeLphI
NGNGドゾ
Seventh Delphi
http://kakinotane.s7.xrea.com/Download/dl_pack.html
0843818
NGNGdpkの拡張子のファイルは、すべてPackage1.dpkという名前でした。
bplは見つかりませんでした。
>>842
ひとつひとつ追加していくと追加していった順にコンポが消えていってしまうんです…。
0844デフォルトの名無しさん
NGNGやっぱり同じ 名前の DPK だったんだね。
ファイル名を替えてパッケージ名もそれにあわせて変えていったらいいと思うよ
Delphiで開いて保存する時に名前を変えたら自動的にパッケージ名も変わる
あるいは、そのファイルは、テキストエディタで編集出来るしね。
0846デフォルトの名無しさん
NGNGコンポを一つ追加する都度 DPKを作ってると、管理が大変だと思う。
一つの DPKに複数入るから、せめて一つのプロジェクト毎にするとか
0847デフォルトの名無しさん
NGNG自分で失敗して覚えていかなきゃいけないところかな。
ただ、異なるものに同じ名前を付けて問題を起こして、その原因を類推できない。
ってのはデバッグ能力(推論能力)に大きな問題があると思う。
もしプログラマを目指しているのなら、もう少し論理的に推論する癖をつけたほうが
良いかと。論理だけでもダメなんだけどね。
0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNG0850デフォルトの名無しさん
NGNG0851デフォルトの名無しさん
NGNG0852デフォルトの名無しさん
NGNGhttp://www.amazon.co.jp/exec/obidos/search-handle-form/250-3051098-3293062
教えてください
0853デフォルトの名無しさん
NGNG0854デフォルトの名無しさん
NGNG入門書は、入門って言っても個人差があるから、見てから買うのが一番いいよ。
近所に書店が無いなら、アマゾンで注文して、必要無ければ1ヶ月以内に返品すればいい。
0855デフォルトの名無しさん
NGNGこれされると返品し辛いんだよね。
0856デフォルトの名無しさん
NGNGそのふたつの変数の間にある文字列を全て取得する、ということがやりたいんですがどうすればいいでしょうか?
0857デフォルトの名無しさん
NGNG0858デフォルトの名無しさん
NGNG始まりと終わりは 位置? 位置ならn1,n2として copy( s ,n1,n2-n1); もしバイト単位でなく
文字単位 ならWideStringに代入して
そうでないなら もっと詳しく
0859デフォルトの名無しさん
NGNGすいません、書き方が足らなかったです
例えば
0123456789
と書いているテキストファイルの中で
Start := 2
end := 7
と代入し、その変数の間の数字…「234567」を取得したいんです。
どう書けばいいんでしょうか?
0860デフォルトの名無しさん
NGNG宿題だろうから、この程度で止めとく。
0861デフォルトの名無しさん
NGNGもしかして Start,Endは 文字なの?
文字なら、
function hoge(s,s1,s2:string):string;
with TStringSpliter(s) do try
GetSplitStr(s1);
Result:=GetSplitStr(s2);
finally free;end;
end;
を作って hoge('2','7');
TStringSpliter は
http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/uSpliter.txt
これを拡張子.pas で保存して プロジェクトに追加
0862デフォルトの名無しさん
NGNGそれをヒントになんとかやってみます。
>>861
はい、文字です。
使ってみます。ありがとうございました。
0863デフォルトの名無しさん
NGNG近所に大きな書店があるなら>>854が言うとおり実物を見て選ぶ。
近所に書店がないならとりあえずこれ勧めとく。
http://www.shuwasystem.co.jp/cgi-bin/detail.cgi?isbn=4-7980-0251-8
0864デフォルトの名無しさん
NGNG本から入ろうとする奴はたいていものにならない。
やる気があったら本なんて必要ないもん。
本なんて壁にぶちあたったときに調べればいい。
とにかくWebでも参考にしながら、がむしゃらに何か
作ってみる。これが最短コース。
0865デフォルトの名無しさん
NGNG私の場合は本で覚えています。Webサイトは持ち歩けないからな!
0866デフォルトの名無しさん
NGNG俺はいつも持ち歩いてるぞ。
0867852
NGNG0868デフォルトの名無しさん
NGNG俺の座右の銘
まずコレ。
別のスレで紹介されたけど入門としてかなり良かった。
コレとネットでとりあえず
身の回りの簡単なアプリは作れるようになるよ。
http://www.amazon.co.jp/exec/obidos/ASIN/4822216888/qid%3D1036157445/250-0008569-6039430
コレは結構親切。
http://www.amazon.co.jp/exec/obidos/ASIN/4839907161/qid=1036157512/sr=1-2/ref=sr_1_2_2/250-0008569-6039430
ただし丁寧すぎて鬱陶しいと思うこともある。
余裕があればこれも
http://www.amazon.co.jp/exec/obidos/ASIN/4756140025/qid=1036157512/sr=1-3/ref=sr_1_2_3/250-0008569-6039430
とりあえず一通りのコンポーネントの説明と
基本的なPascalが覚えられる。
余裕がなければ2つ目とどっちがいいかは自分で選んで。
ただ上でも言ってるけど、
一冊目買って後はネットで検索しながら
覚えるってのが一番の近道だよ。
限界が来た時に中級者以上の2冊目を買うってね。
俺は学校に置いてたから色々読みながらできたけど。
0869デフォルトの名無しさん
NGNGガンガン描画させると当然のようにちらつきました(連続して描画する必要があるんです)。
そこで、バッファ(裏画面?)を用意して描画しようと思ったのですが・・・。
幸い、このコンポーネントにはCanvasを指定して自分の中身を転送するというメソッドがあったのですが、
隠れて1回描画を行うごとに→Form上のCanvasに転送する、を繰り返せばいいのでしょうか?
0870デフォルトの名無しさん
NGNG座右の書?
0871デフォルトの名無しさん
NGNGパネルの上にそのコンポを置いて、パネルのDoubleBuffer:=True;ではダメ?
0872デフォルトの名無しさん
NGNGパネルを透明にしてその上に乗せるだけで良いのでしょうか・・・試してみます。
0873デフォルトの名無しさん
NGNG0874デフォルトの名無しさん
NGNGDelphi 久しぶりだ。
謎の全知師は健在なんだね。懐かすい。
NiftyForumでボコボコにされて追い出された伊藤は元気かな。
0875デフォルトの名無しさん
NGNGどういうとき使用すれば効率よくなるかが検討つきません。
delphiを覚えるために簡単なリネームソフトとか作製してみたのですが
今の処理の流れは
1.フォルダ内のファイルパスをTStringListにいれてソート
2.ユーザが設定した新しいファイル名を取得
3.新しいファイル名に置換え
です。
リネームソフトなどでは、どういう処理時に使用したらいいのでしょうか?
0876デフォルトの名無しさん
NGNGデータをまとめて管理する必要が無いところに構造体の出番は無い。
まず、動くコードを書けるようにすること。
次第に効率よくかけるようになるよ。
最初から、うまい人と同じにかけると思っちゃいけない。
0877875
NGNG>>876 ははぁリネームソフトには使うべきところが無いということですね
では、このまま進んでいきます
勉強用にいろんな物どんどん作って行きたいのだけど、なかなか作りたくなる
目標になるソフトって見つからないものですね
リネームソフトをとことん効率よいコードにしていきます
ところでmp3プレイヤーとかは構造体必要ないですか?必要なさげですね
0878デフォルトの名無しさん
NGNGリネームソフト。といっても、Delphi RTL/VCL の中では構造体もクラスも
腐るほど使われているわけで。
再利用性を前提としたクラスの継承への考慮と、関連データの集中管理を目的と
した構造体の利用がおこなわれている。
だから、おまえさんのアプリケーションがクラスも構造体も使っていない。と思っちゃいけないわけだ。
ってことで、元質問は、自分でクラス/構造体を定義するべきですか?って質問なんだろうけど、
答えは「そんなの自分で決めろ」なんだな。
mp3 の物理ファイル名と楽曲名を同時に管理しようと考えたときに、何かひらめくかもね。
0879875
NGNG>>答えは「そんなの自分で決めろ」なんだな。
そうですその通りです 後で読み返すと私もそう思います
ただwebの解説等を読んでると「構造体」という文字が異様に出てきて
こりゃぁ構造体をつかわないけねえ、と少し焦りフライングです
0880デフォルトの名無しさん
NGNG0881デフォルトの名無しさん
NGNGとりあえず、メソッドとか関数くらいは使うでしょ?
その引数とかをそのまま構造体にしてみる所から使ってみたら?
構造体なら関数の帰り値にも出来るから、関数で結果を返す時とかに使ってみるとかさ
0882デフォルトの名無しさん
NGNG構造体は、Delphiでは「レコード」と言います。
0883デフォルトの名無しさん
NGNG----
レコードは,ほかの言語では構造体とも呼ばれ,複数の型を持つ要素の集合を表します。
各要素はフィールドと呼ばれ,レコード型の宣言では各フィールドの名前と型を指定します。
0884デフォルトの名無しさん
NGNGC#ではしっかり復活してるし。
0885デフォルトの名無しさん
NGNGJavaScript使ってScrollBar無しの設定で開こうとしているページに、
その設定を無視してScrollBarを付けたいのですが、上手くいきません。
ページの読み込みが完了した後に、
下記のような事をすれば一応ScrollBarが現れるのですが、
キャスト出来ない場合の例外処理とかが俺には分からないのと、
もっとスマートな方法が有る気がしてならないので、
別の方法を知りたいのですが、どなたかご存じないですか?
Invokeメソッドの中とかで、なんとか出来そうな気もするんですが、
実際には何処でどういう値を使って
ScrollBarの設定をされているかが分からなくて困ってます。
var
D: IHTMLDocument2;
E: IHTMLElement;
B: IHTMLBodyElement;
begin
D := WebBrowser1.Document as IHTMLDocument2;
E := D.body;
B := E as IHTMLBodyElement;
B.scroll := 'yes';
end;
0886デフォルトの名無しさん
NGNGこの二つが同じかどうかを比較するにはどうすればいいでしょう?
この構造体には20個以上のメンバがあります。
0887デフォルトの名無しさん
NGNG0888デフォルトの名無しさん
NGNGstringがないことを祈る
0889デフォルトの名無しさん
NGNG自動でやるのは無理。
オブジェクトや文字列は単純には比較できないし
メンバ以外のゴミが入ってることもあるし
表現が違うけど意味的に同じこともありうるし。
なので自前でメソッド書いて全部比較。
メンバにクラスや構造体があれば再帰的にそれも比較。
0890デフォルトの名無しさん
NGNG0891デフォルトの名無しさん
NGNGEqual メソッドを付けて、20メンバ分ゴリゴリ比較。
ていうか。Assiginや Equal を実装すると、いつも単純作業に辟易する
(そしてメンバを追加したときよく忘れる)んだが
お前ら、解決方法があるなら教えて下さい。タノム
クラスの内部情報からメンバを取得できるらしい事を聞いた事が
あるんだが、あるいはその方法で楽ができる、のか?
0892デフォルトの名無しさん
NGNGpublished propertyを列挙して個々の型情報を取得できるから
比較・代入の自動化は可能だとは思うけど
オブジェクトを保持するプロパティをdeep・shallowのどちらで
扱うべきかという判断が毎回必要なので汎用化は難しいのでは。
0893デフォルトの名無しさん
NGNG0894Delフサギコ ◆A6VzDeLphI
NGNG季節ですね。
 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
∧,,∧
ミ,, ゚Д゚彡
〃つ旦O
〜ミ,,[ ̄ ̄ ̄.]
 ̄ ̄ ̄
0895デフォルトの名無しさん
NGNGまじかよ・・・
0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNG0898Delフサギコ ◆A6VzDeLphI
NGNGいや、俺もよく知らんし・・・
 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
∧,,∧
ミ;゚Д゚彡
〃つ旦O
〜ミ,,[ ̄ ̄ ̄.]
 ̄ ̄ ̄
0899デフォルトの名無しさん
NGNG大抵のアプリのメインメニューやポップアップメニューのキャプションには、
「...」が後ろにくっついてるやつが混じってるけど、これって何の意味?
なんとなく、ダイアログが表示されるやつかな?とか思うんだけど、
デスクトップでの右クリックのプロパティにはついてないし・・・。
むかーし、どっかでその話を読んだ記憶があるんだけどまったく思い出せず、
小一時間調べたけど全くわかりませんでした.誰か教えてください・・・.
ソースもあるとトテモ嬉しいです.
0900デフォルトの名無しさん
NGNG一度でその機能に到達しない場合は..じゃなかったけ?
例えば「印刷」なら即印刷が始まって、「印刷...」なら何か
プロパティ画面が出てきてから印刷とか…
漏れはそう解釈してるけど。
0901デフォルトの名無しさん
NGNG0902899
NGNGなるほど、サンクス!
しかし、手元のフリーソフトとかみると全部ちゃんとついてる。
これってもしかして知ってないと恥ずかしいようなこと?
うちの会社の同僚2人は気づきもしなかったと言っていた・・・鬱
でも、バージョン情報についてる奴とついてない奴とあるあたり、
微妙に解釈が間違ってるのもあるなあ・・・。
0903デフォルトの名無しさん
NGNGモーダルダイアログ出るやつじゃなかったっけ?
0904デフォルトの名無しさん
NGNGM$製のアプリは全部バージョン情報にはついてないから違うっぽい
0905デフォルトの名無しさん
NGNGストリームとしてメモリ上に読み出すことはできますか?
WindowsXPだと*.zip;*.cabを仮想フォルダのように扱ってますが
こっちの方法は可能ですか?
0906デフォルトの名無しさん
NGNG一度ファイルに落とさないといけないかもしれないけど、これどうよ?
ttp://home1.infonia.ne.jp/~delphian/delphi/compo/miscella.html#MI0001
0907デフォルトの名無しさん
NGNG0908デフォルトの名無しさん
NGNGDelphiスレとC++スレ多すぎるんだからちょっとは統合考えてくれよな。
0909デフォルトの名無しさん
NGNG住み分けも明確でないし。
0910デフォルトの名無しさん
NGNG一般人(非2ちゃんネラ)には敷居が高いかと。
実際は、モナーの方はこっちのスレのスタンスに非常に近いようですが。
0911デフォルトの名無しさん
NGNG相談室と談話室の2つだけあればいいんだけど。
0912デフォルトの名無しさん
NGNG特定のキーワードだけを抜き出すプログラムを作りたいのですが、
他のプログラムが使用中のファイルなので簡単に開けないのと、
他のプログラムが停止している状態でも、ログファイルが5M〜30Mと
大きすぎて開くのに時間がかかりすぎて悩んでます。
何か良い回避策は無いでしょうか。
0913デフォルトの名無しさん
NGNGCygwin+grep
>他のプログラムが使用中のファイルなので簡単に開けないのと、
読み取りすら禁止してるんなら無理。
0914デフォルトの名無しさん
NGNGログファイルのファイル名は指定出来るの? 出来るなら名前付パイプを作って
相手にそのパイプに吐かせる方法が使えるかもしれない。
0915デフォルトの名無しさん
NGNGそのあるソフトにパッチをあてて、読込禁止を外してしまえばどう?
0916デフォルトの名無しさん
NGNGログファイル名を変更可能なら、別プロセスにリダイレクトすることは簡単だけど。
ほとんどの場合、プログラムが自分で吐き出しているものをトラップするのは「容易」ではない。
ただし、裏技として、ダミーデバイスドライバを押し込む技法に近いものが存在する。
けど、ゴミも拾ったりするからめんどいよ?
0917デフォルトの名無しさん
NGNG「こっちが本スレ」とか言うのって馬鹿みたいだよ。
Delphi スレは(実質)3スレしかないんだし。中傷スレまでいちいち気にしていられんでしょ?
0918デフォルトの名無しさん
NGNGそんなことはみんなわかってるんだから、いちいちイワンでよろしい
0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNG0921デフォルトの名無しさん
NGNG過去ログへのリンクもちゃんと書けな。
0922922
NGNG何故か取得先のページが存在しないにも関わらずEIdHTTPProtocolExceptionの
例外が発生しません。 この原因が解る方いらっしゃらないでしょうか..
<詳細>
・ 簡単なアプリを作って試してみるとちゃんと例外が発生します。
・ 本命のアプリはデバック時でも例外が出ません。
・ IdHTTP1がデフォルトの状態でも例外は出ません。
・ EIdHTTPProtocolException発生時の例外処理は書いてありますが
まったく実行されません。(例外が発生しないので)
・ 取得先のページが無いことは確認済みです、URLも再確認しました。
簡単なアプリにも同じURLを使いましたが例外は出ました。
・ 簡単なアプリと本命アプリには同じIdHTTP.PASを使いました。
・ 環境 : DELPHI 6 PERSONAL SP2 & Indy9
もし原因に心当たりがあるという方はよろしければお聞かせ下さい(^^;
例外が出ないようにするプロパティでもあるのでしょうか..(汗
0923デフォルトの名無しさん
NGNGお前が立てろ。
0924デフォルトの名無しさん
NGNGOnMouseDownで展開縮小するのではなく
OnMouseUpで展開縮小するようにしたいのですが
どうすれば良いのでしょうか?
0925デフォルトの名無しさん
NGNG長い歴史の末に3つのスレで落ち着いてるんだからこの状態が
最善に近いと考えて良いのではないでしょうか。
(100%(・∀・)イイ!とは言いませんが)
0926デフォルトの名無しさん
NGNGそして今3つもスレがあるのは多すぎるという意見がでた。
つまり最善ではないということだ。
この状態は落ち着いているとはいえない。
さらに良くなるきっかけである。
0927デフォルトの名無しさん
NGNGいいから立てたいなら立てろよ。
0928デフォルトの名無しさん
NGNG次スレのタイトルに「統一」とか入れたらいいんじゃないの?
「モナーとかフサギコは使わないで」と書くとかこのスレに誘導するとか。
0929925
NGNGさらに良くしてくれるのは大歓迎です。 しかしその話題で
このスレを占領状態にされると困りますので新スレを立てて
そこで話し合ったらいかがでしょう。 他の2スレの方々
の目にも止まりますしここを汚さなくて済みますし。
0930デフォルトの名無しさん
NGNG糞スレ立てさせるなよ。
0931デフォルトの名無しさん
NGNGとりあえず、Indy はソースがあるんだから、デバッガで追っかけてみたら?
例外が出るソースを使って、期待する例外を送出している場所を特定し、
そこにブレークポイントを貼って、ターゲットアプリを実行。
0932922
NGNGありがとうございます、時間をかけてじっくりと試してみようと
思います。
0933デフォルトの名無しさん
NGNG( ´Д` )< Delphiの質問はここで!
/, / \___________
(ぃ9 |ヽ(`Д´)ノ< 質問待ってるよウワァン
/ ∧_二二つ
0934デフォルトの名無しさん
NGNGどうせ回答する人は全部見て回っているからな。
スレッド内は一次元の構造だから、正直、複数スレがあるほうがコメントしやすいし
読みやすいと思うぞ
0935ななしへたぐらま ◆XcB18Bks.Y
NGNG後者については
文字列変数に直接丸ごと読み込むと速くなります.
目的のデータが何行目にあるかを知りたい場合は
自分で解析しなければなりませんが,
それでも文字列リストに読み込むよりかなり速いです.
(自宅と職場のPCでしか試していませんが.
この方法は昔,パソコン通信のログビューワーを作ったときに使いました)
最大30MB程度ということなので
かなりメモリが多くないと一度にすべてを読み込めないかもしれません.
一気読みがだめなら部分的に読み込みながら検索することになると思います.
0936デフォルトの名無しさん
NGNGパラドックスのテーブルのバイナリ型のフィールドにバイナリデータを書き込むにはどうしたら良いでしょうか?
宜しくおながいします。
delphi6を使っています。
0937デフォルトの名無しさん
NGNGobject使え。
0938936
NGNGQuery1.ParamByName('blob_data').Asblob := UCHAR_data;
この式の右辺はUCHAR型なのでエラーになります。
かと言ってinttostr(UCHAR_data)とやっても
実行すると”式中の型が一致しません”となります。
どうすれば良いのでしょうか?
0939デフォルトの名無しさん
NGNG0940デフォルトの名無しさん
NGNG全部メモリに読み込む必要ないだろ。
while not Eof(f) do Readln(f, s)
で十分
0942デフォルトの名無しさん
NGNG>>913
ごめん、CygwinはUnix使えないもんで分かんない。
>>914
名前付きパイプってどうやってやるんでしょ?
>>935
えっ?Stringsにこんな巨大なサイズのファイル開けるのでしょうか?
もう一つですが、でかいファイルの部分読みはどのようにやるのでしょう?
今まではログファイルの更新をトリガにしてログファイルを開いて目的のキーワードを探す、
あるいは最後の行まで移動する間にログの更新が入って・・・
の無限ループが多いでした。
ファイルサイズが小さいと問題ないのですが。
0943デフォルトの名無しさん
NGNG0944デフォルトの名無しさん
NGNG>>940
肝心な巨大ファイルの途中からの開き方を知らないのでちょっと訳ワカメなのですが
ファイルのsから最後までを読込めって意味でしょか。
0945デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNGDelphiにはファイルについていくつかの扱い方があるから困るんだよね。
途中から読む方法は
TStreamならPositionプロパティ
system.入出力ルーチン なら Seek/FilePos
APIならSetFilePointer
0948914
NGNGhttp://www.google.co.jp/search?q=CreateNamedPipe&lr=lang_ja
使う側はファイル名として
\\.\pipe\pipename
という感じのファイル名を渡せないといけない。
0949936
NGNGQuery1.ParamByName('data').SetBlobData( p, size );
としても
'式中の型が一致しません'
になりますた。
0950ななしへたぐらま ◆XcB18Bks.Y
NGNGログファイルの更新というのはたいてい行の追加だと思うので
更新のたびにログの先頭から読み込むのは効率が悪そうですね.
以下は実際に試していないのですが….
ログファイルの更新時には位置から読み込み・解析を始めるのではなくて
「さらに読み込む必要があるぞ」というフラグを立てるだけにして,
作業中の読み込み・解析が終わったら
続きの読み込み・解析をするようにすればよいかもしれません.
文字列リストのLoadFromFileだと途中から読み込むことができないので
ファイルストリーム(TFileStream)で開いて
文字列リストのLoadFromStreamで読み込むようにしてはどうでしょうか.
ファイルストリームは読み込み位置を覚えているので
追加の読み込みも同じようにLoadFromStreamでできると思います.
0951デフォルトの名無しさん
NGNG0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNGhttp://hp.vector.co.jp/authors/VA031513/
0955デフォルトの名無しさん
NGNGいろんなところに貼り付けているようだが
意図は何だ?
0956デフォルトの名無しさん
NGNG・荒らさせるため
・Delphiを陥れるため
0957デフォルトの名無しさん
NGNG0958デフォルトの名無しさん
NGNG0959デフォルトの名無しさん
NGNGもうでてるけど?
0960デフォルトの名無しさん
NGNGどこへ行けば手に入るのでしょうか?
ソフマップでやたら高い金額がついていたのはどうしてなのでせうか?
いい本があったらいただきたいのですが?
0961デフォルトの名無しさん
NGNG以下のサイトへどうぞ
http://www.borland.co.jp/
0962デフォルトの名無しさん
NGNGメモリマップファイルとTFileStream、両方試してみたら
後者が速かった。
みんな、ありがとね。
0963デフォルトの名無しさん
NGNGプログラミングのソフトはそんなもん。
安いのはダンピングしているM$の学割だけ。
0964デフォルトの名無しさん
NGNG0965デフォルトの名無しさん
NGNGCreateParams メソッドでスタイルを変更する。
0966デフォルトの名無しさん
NGNG時に、964はネタなのだろうか(藁
ネタなら、そのレスが一番だけど。
0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNG↓
↓
↓
↓
↓
↓
↓
↓
ヘルプ嫁
0969修正(藁
NGNG↓
↓
↓
↓
↓
↓
↓
↓
ヘルプ嫁
0970965
NGNG0971デフォルトの名無しさん
NGNGprocedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.Style := WS_POPUP or WS_THICKFRAME;
end;
これやるとウィンドウが左上に固定したりして動かせない…
0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNGう…、出なおしてきます
0974検索しような。
NGNG0976デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNGListViewからドラッグを行う場合に、スタイルがvsReportだと
ドラッグ中に該当する1行が丸ごとドラッグされるアイコンの横に
表示されてしまいますが、ドラッグ中は先頭の1項目目だけを
表示させる方法が解りません、良い方法があれば教えて下さいませ。
(エクスプローラでフォルダを一覧表示させてドラッグした場合には
ファイル名だけがドラッグ中に表示されているのと同じイメージ)
0979ねこま
NGNG0980デフォルトの名無しさん
NGNG表示しないようにする方法ってあるんでしょうか?
サイズ変更可能で、左上にアイコンは表示せず、でも右のXボタンは
表示したいんですけど、CreateParamsをオーバーライドしていろいろいじくっても
うまくいかないんです.
0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNGhttp://hp.vector.co.jp/authors/VA031513/
0983デフォルトの名無しさん
NGNG透明なアイコンを作t
0984デフォルトの名無しさん
NGNG0985デフォルトの名無しさん
NGNG0986もう答えるスペース無いけど(藁
NGNG>フォームのBorderStyleをbsDialogにする以外で
↑これの理由次第だと思うのだが。
なんでそれじゃダメなのか。
0987デフォルトの名無しさん
NGNGこれやって フォームの「エディタで表示」(ALT+F12)すると
日本語文字が化けて元に戻すと文字が消えてしまいませんか?
俺だけ?
0988デフォルトの名無しさん
NGNGDelphi相談室その8
http://pc3.2ch.net/test/read.cgi/tech/1037146781/
0989デフォルトの名無しさん
NGNGTips とは移り変わるもの。過去ログに縛られないよう。
あなめあなめ
0990デフォルトの名無しさん
NGNG| 閑散としてきたな。
\___ _____________
|/
∧ ∧ ∧,,∧
(,,゚Д゚) .目.ミ゚Д゚ ミ
(| |) || (ミ ミ)
〜| | || ミ ミ〜
∪ ∪ .|| ∪ ∪
/|
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| そろそろ埋めなかなわん。
\__________________
0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。