モナーの *やさしい* Delphi質問スレ Ver.9

このエントリーをはてなブックマークに追加
 ミ,,゚Д゚ミつ 別に、"汁"ってのは2タンでは偉そうじゃないと思われ

http://www2.big.or.jp/~osamu/Delphi/browse.cgi?index=55344

ちなみにIMEに
【えむえる】って単語で
http://www2.big.or.jp/~osamu/Delphi/browse.cgi?index=
がDelようにしとくと、MLログ紹介がしやすい

登録はIME2000以降で顔文字として登録汁!
じゃないと、全角半角マゼマゼになるから
 ミ,,゚Д゚ミつ >>951さん
デルパイマガジソに紹介されてますたね。

http://www.dreamcompany.com/memo.html

ScreenShotではTEditor系にも思えるですが
Demoみると、RichText系でもあり、かなり強力かと
思割れ
treeviewに既にnodeがある時に、
動的にnodeのルート(一番上)にnodeを追加したいのです。
Addだと一番下に追加されちゃいます。

教えて先生
955946:02/12/02 10:16

ありがとうございます。
早速[Delphi:55077] Re: バイト配列について
あたりを参考にやってみたんですが、
type
ByteArray = array of Byte;
var
Flag ,TFN ,PD :OleVariant;
OleBArray : OleVariant;
pb : ^ByteArray;
Count : Integer;
btWork : Byte;
begin
PD := 'a=うふふ&b=あはは';
OleBArray :=VarArrayCreate([0,Length(PD) - 1],varByte);
pb:=VarArrayLock(OleBArray);
Count := 0;
//
//↓ここでつまづいた
while ByteFile.Read(btWork, 1) = 1 do begin
pb^[Count] := btWork;
Inc(Count);
end;
VarArrayUnlock(OleBArray);
WebBrowser.navigate('http://hoge/',Flag,TFN,pb);
end;

う〜ん、具体的に文字列から一バイト取り出せばいいんですよね?
情報が点在しまくってて五里霧中です・・・
 ミ,,゚Д゚ミつ >>954

TTreeViewのItemsのItemの中から
levelが0のTTreeNodeを見つけて
それに対して
TTreeViewのItems.Add(TreeNode, '文字')
でやるんじゃないでしょうか。
957954:02/12/02 11:44
>>956
デキタ━━━(゚∀゚)━━━!!!

   ∧_∧  / ̄ ̄ ̄ ̄ ̄
  ( ´∀`)< フサギコタンありがとモナ♥
  (    )  \_____
  | | |
  (__)_)
Delphiちょっと触ってみてるんだけどさ、なんでDelphiって
type
 TForm1 = class(TForm)
 private
  { Private 宣言 }
 public
  { Public 宣言 }
 end;
↑ここ(最後のend;の前)にスペースが入ってるの? typeの終わり、分かりづらくねぇ?
全体的にどこからどこまでが何する範囲ってのも分かりづらいけど。
>typeの終わり、分かりづらくねぇ?

あの end; は type 節の終わりではなく、TForm1 宣言の終わりを示してるんで、
インデントはあれでよいと思います。
ちなみに type の終わりは end ではなく
別のtype/const/var/function/procedure とかです
あのー、関数とか手続きとかは、処理が終われば呼び出されたところへ戻り
ますよね? イベントハンドラはどこから呼ばれてどこに戻るんですか。
たとえば、フォームのうえでマウスを動かすとOnMouseMoveとかが呼ばれますけど。
Windowsメッセージを受け取る
 ↓
 VCLがイベントごとに振り分ける
  ↓
  登録されたハンドラ(OnMouseMoveとか)を呼ぶ
  ↓
 VCLの残りの処理
 ↓
メッセージループに戻る

Pro版以上ならデバッグ版dcuを有効にしてトレースすれば一目瞭然
963892:02/12/02 14:48
895,900,901
ありがとうございました、解決しました。
>>962

ありがとうございます!

>メッセージループに戻る

とは、このメッセージループから、VCLのコードを通して呼ばれていると。
最初の

>VCLがイベントごとに振り分ける

windowsメッセージからどうしてVCLのForm1あてのメッセージだと分かるんでしょうか
>>964
これ買え。
http://www.ascii.co.jp/pb/msp/36001/36001.htm

Windows3.1用とかの古本でもいいけど。
>>965

その本にはVCLのことも載ってるんですか?
>>955
スマートなやり方は知らないど、こんな感じで動きますた。
var
Contents: string;
BA: array of Byte;
i: integer;
Len: integer;
a, b: string;
Flag, TFN, PD: OleVariant;
begin
a := HTTPEncode('あはは');
b := HTTPEncode('うふふ');
Contents := 'A=' +a +'&B=' +b;
Len := Length(Contents);
SetLength(BA, Len);
for i := 0 to Len-1 do
begin
BA[i] := Byte(Contents[i+1]);
end;
PD := BA;
WebBrowser1.Navigate('http://hoge/hoge.cgi', Flag, TFN, PD);
end;
>>966
CでWindowsアプリを書くための本だから全く載ってない。が、
>windowsメッセージからどうしてVCLのForm1あてのメッセージだと分かるんでしょうか
は理解できるようになると思う。
969965=968:02/12/02 16:17
Halbow氏の
ttp://halbow.cool.ne.jp/ShousaiIndex.html
というテキストもあるけど、これだけで理解できるかなあ・・・。
DelphiだけどVCLは使ってない。
>>968

ありがとうございました。紹介された本やWEBページなどで基本を勉強してみます。
とっかかりを教えてくれて、とてもうれしいです。
971946:02/12/02 20:08
>>967
ありがd!

さっそく試しますた。
しかしHTTPEncodeが未定義のエラーでコンパイルが通りませんでした。ギャフン
パーソナル版ではHTTPapp無いのね…

今からIndyで書き直してみることにします(´・ω・`)
972デフォルトの名無しさん:02/12/02 20:25
Internal Application Error
内部アプリケーションエラー
Unable to complete network request to host "***.***.***.***". Error writing data to the connection. 既存の接続はリモート ホストに強制的に切断されました。

でアカウントとれないんですけど。
973デフォルトの名無しさん:02/12/02 22:43
次スレ(屮゚Д゚)屮 カモーン
974デフォルトの名無しさん:02/12/02 22:51
>>974
VBスレじゃんか
相談室が過疎化してるから相談室行きでいいんじゃね?
http://pc3.2ch.net/test/read.cgi/tech/1037146781/
>>971
HTTPEncodeのソースは探すといろんなところに有るですよ。
こことか。
ttp://www.scalabium.com/faq/dct0126.htm
それにIndy使うにしてもHTTPEncodeは必要な罠。
>>977
つぅか16進文字列変換だからスクラッチしても大した手間じゃないわけで。
>>978 その大した手間じゃない事が出来ない奴が増えてるんだよな
数年前に自前で四則演算出来ない奴が増えたなと思ってたけど、今は16進変換みたいな
簡単なレベルでつまづいてるみたい。
字刷れ・・・
>>979
生産性の向上は商業的には大切な要素だけど教育的には駄目駄目だな。と。
愚痴はフサスレで>ジジィ連中
んで、君はなぜ仕切りたがるのかな?

こっちは終わりだから駄文で埋めよう。

フサギコ Gが二つできちゃったけど、あれもそれぞれ次スレができていくんだろうなぁ。
マ板のフサギコBがまだ生き残っているし、どうなっちゃうか。楽しいけどね。

スレタイに Delphi.NET を入れてしまう。という手もあるかな?
できれば DelWiki 専用スレが欲しいが、当分は間借りということになるのでしょう。
>>984
「ジジィ」が気にさわったか?w
ケツの青い若造に煽られても、誰も動じないよ。ケケ
988
989
990
991


992
993
994
995
996
999!
ばーか
2get
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。