■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50

monazilla

444 :119 :2001/02/27(火) 00:28
Delphi以外の言語(特にスクリプト系)で参入しやすいように
一連のクラス郡をオートメーションサーバにしちゃうってのはどう?

用途としては、とりあえず以下のものが考えられる。
・コマンドライン巡回ツール
・WebBrowser表示用のdat->htmlフィルタ
#2ch標準より読みやすい表示はいくらでもありそうだね。
#これはオートメーションとは関係ないけど。
・キャッシュクリーンアップ
・CUI,GUIフロントエンド(DelphiとVBの夢の共演が実現か?:-)。

445 :デフォルトの名無しさん :2001/02/27(火) 02:19
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ

>・GUIフロントエンド
特定のスレを定期的にチェックして新着の内容を
吹き出しで表示する常駐ツールなんてどうよ?

聞いてくれてありがと アロエリーナ♪
\________ _______/
         |/
         ∧_∧
   Ψ    (∀・ )
   □    (∩∩ノ)
// ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ }

446 :440 :2001/02/27(火) 07:04
コメントのAAにびっくらこいただけだよ。その調子で頼むよ(藁

447 :Dax :2001/02/27(火) 08:27
>>444
ActiveXコントロールを作ろうかと思ってたんですが
オートメーションサーバーの方が小回りききますね。

>>446
クラスとクラスの間に貼ってあるリアルゾヌ(勝手に命名)の AA がお気に入りです。

448 :turbo type D :2001/02/27(火) 10:03
>>443少佐・まってます。('w')ゞ

>>Dax
コレクショとコレアイテムは1階層だけでの実装が自然だと思う。
だから2chのようなデータ構造を保持するには
少々不自然かな。
ソースは綺麗ですよ。

今日は気合入れていくぜ。
オフライン&WebBrowser動的生成は実装できた。

読み込み中に
Appli.ProcessMessageしてると
予想していないポインタのズレから


>>441
動画ないす!
モナプロラではUI上から動画を切り替えられるようにしておこうっと。

449 :turbo type D :2001/02/27(火) 11:53
>>441さんの動画
なぜかTAnimeでは開けないの
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaavi.lzh
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaavi2.lzh
なぜだろう。

450 :名無しさん@お腹いっぱい。 :2001/02/27(火) 12:54
ActiveXコントロール/コントロールコンテナから
WordやExcelのドキュメントの書き込み禁止/許可を
させるにはどうしたよいのでしょうか?


451 :名無しさん@お腹いっぱい。 :2001/02/27(火) 12:55
スレまちがえました。すいません。


452 :turbo type D :2001/02/27(火) 18:51
うまくいかん!、ぐう(x∀x)

453 :turbo type D :2001/02/27(火) 19:04
Browserの進むと戻るって
どのように実装されてるのかな?
GoBackメソッドとかあるけど。
詳説キボーン

あとWebBrowserに関するテクニックを
知っている人は沢山教えてくださいな。

454 :turbotypeD@モナぢら :2001/02/27(火) 22:09
かちゅーしゃのように
WebBroweserで開い後に自動的にスクロールする方法がわかんない。

455 :デフォルトの名無しさん :2001/02/27(火) 22:12
番号にブックマーク(#1とか)を指定してそこに移動すればいいんじゃない?

CHtmlView クラス メンバ
http://www.microsoft.com/japan/developer/library/devprods/vs6/visualc/vcmfc/vcrefchtmlviewclassmembers.htm

456 :Dax :2001/02/27(火) 22:12
>>454
かちゅーしゃでHTMLソースを見るとレスごとに
アンカーが設定してあります。
Navigate時にアンカー指定で表示しているんだと思います。


457 :turbotypeD@モナぢら :2001/02/27(火) 22:36
そうか!あったまいい!

458 :デフォルトの名無しさん :2001/02/27(火) 22:38
かちゅーしゃの「以前読んでいた位置」はこれ。
Documentにアクセスしているので、Navigateは(最初以外)してないと思うよ。
http://piza.2ch.net/test/read.cgi?nofirst=true&st=142&to=142&bbs=tech&key=974446449
その他、Elementはanchorに限らないけど、scrollIntoViewあたりがよろし。

459 :Dax :2001/02/27(火) 22:51
>>458
おお!なるほど、確かに Navigateだとぎゅい〜んって動いちゃうよね。

460 :turbo type D@monazilla.org(藁 :2001/02/28(水) 09:41
なんかスレずいぶん落ちてるんだけど
みんな疲れてるの?

461 :デフォルトの名無しさん :2001/02/28(水) 09:48
みんな会社でまじめに働いてるからです(藁

462 :turbo type D@monazilla.org(藁 :2001/02/28(水) 10:02
そうか!
まじめに働いていないのは俺だけか!(藁

じゃあ、今日も不真面目にGo!

463 :turbo type D@monazilla.org(藁 :2001/02/28(水) 11:09
不真面目なのはオレ一人なので気にせずカキコ
あと、>>449の問題とか教えてよ。

今までデータ構造として
TNichSite
├TNichBoard ─┐
└TNichCategory │
└TNichBoard─┘
└TNichThread
└TNichResponse
としてTList保持して一つのツリーとして考えてきて
おや(Owner?)を破棄すると同時にすべての子を
破棄するようなコードを書いていたけど

どうやら詰まってきたので再考しました。

構造はこのままだけど

ボード一覧表示部分
TNichSite
├TNichCategory
│└TNichBoard─┐
└TNichBoard ←┘

↓TNichBoardをAssignしてコピー

スレ一覧表示部分
TNichBoard
└TNichThread

↓TNichThreadをAssignしてコピー

レス一覧表示部分
TNichThread
└TNichResponse

にします。
こうしないとボード一覧表示を更新した後に
スレ表示やレス表示部分と整合性が無いために
コードが非常にやりずらかった。

という事でよろしく。

464 :ななしくん :2001/02/28(水) 15:14
モナプロ〜ラ〜を勝手に改造して勝手にアップ

変更点
・タブで複数のスレを見れるように変更
・TWebBrowserをTUIWebBrowserに変更
・Frameを追加(Delphi4はコンパイルすら無理)

http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaplorer_r.lzh

465 :turbo type D@monazilla.org(藁 :2001/02/28(水) 17:25
わぉ(´∀`)

466 :turbo type D@monazilla.org(藁 :2001/02/28(水) 18:33
オレもアプじゃあー!
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaplorer010228.lzh

更に使い勝手が悪くなったきがしまフ
たぶんD5限定さ。

・タブで複数スレが見れる
(けどロード中にタブ切り替えするとやばいよ落ちるよ
しかもとても使いにくいよ)

・内部データ構造を見直した
 ちゃっかりTList継承になってるもんね。
 きっと今後のコーディングが楽になるハズハズハズハズハズハズハズハズハズ
キノセイ キノセイ キノセイ キノセイ キノセイ キノセイ キノセイ キノセイ キノセイ キノセイ キノセイ キノセイ キノセイ

・AVIファイルをaviフォルダに入れる事でグルグルアニメの選択可能
 こんなおまけ機能後回しにしろや(゚Д゚)ゴルァ

まだまだ先は(カチュに追いつくには)遠い!

467 :turbo type D@モナヂラドットオルグ(ワラ :2001/02/28(水) 18:58
GoBackとGoForword機能
のEnabledはどうやって取得するのでしょう?
オスエテクダサイ

468 :turbo type D@モナヂラドットオルグ(ワラ :2001/02/28(水) 19:02
モナプロラ今後の予定

TWebBrowser部分
  スクロール機能をつける
  タブを閉じる関数をつける

データ構造
  T2チャンスレッドのメンバーに
  スクロールバー位置
  を追加

ダウソ部分
  WinInetによるファイルサイズ取得関数作成
  ファイルサイズと比較して
  差分ダウソの実現するようにする

全体
  ちょっとくらい使い勝手を意識しろツコトデ
  UIの改善
    →PopupMenuで読み込むのをやめよう。
    →現在読み込んでいる板とスレの表示
  データのIniFile保存


469 :デフォルトの名無しさん :2001/02/28(水) 19:12
>>466
TList クラスを継承は出来るだけやめた方が良いよ。

Delete メソッドや Clear メソッドが公開されているから
バグを作る可能性が大きくなります。

470 :turbo type D@モナヂラドットオルグ(ワラ :2001/02/28(水) 21:00
あらーーー。
せっかくTList継承にしてみたのになあ。

まあ、Has ア に戻すのもたいした手間じゃないけどさ。

そしたら
TNichListを内部で保持しておいたらいいんでしょうか?


471 :書記さん :2001/02/28(水) 22:26
モナプロ〜ラ〜のページ更新しましたー。
ワタクシもまじめに働いてないですよ。

472 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/01(木) 01:07
あらま、本家とかついてる。うれしいでございます。

ギコナビもすぐクローン化されるんでしょうね。
みなさんマターリガンバリマソ


473 :ななしくん :2001/03/01(木) 10:07
本家のソースをみて感動(´ー`)
WebBrowserのParentの設定方法がわからなかったので
Frameを使ってたのが恥ずかしYo
もうちょっとガンバッテ勉強します。

474 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/01(木) 10:12
エヘ(w
>>435
を見ておくれ。
Browser.HandleNeededが何で必要なのかは全然知らない(藁

BCBでのやり方は某所で載っているね。

475 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/01(木) 14:44
>>467のやり方がわかった。
type
 TNichBrowser = class(TWebBrowser)
 private
  FOnCommandStateChange: TWebBrowserCommandStateChange;
  FGoBackEnabled: Boolean;
  FGoForwardEnabled: Boolean;
 public
  constructor Create(AOwner: TComponent); override;
  destructor Destroy; override;

  procedure CommandStateChange(Sender: TObject; Command: Integer; Enable: WordBool);
  property OnCommandStateChange: TWebBrowserCommandStateChange
   read FOnCommandStateChange write FOnCommandStateChange;
  property GoBackEnabled: Boolean read FGoBackEnabled;
  property GoForwardEnabled: Boolean read FGoForwardEnabled;
 published
 end;

---------------------
constructor TNichBrowser.Create(AOwner: TComponent);
begin
 inherited;
 inherited OnCommandStateChange := CommandStateChange;
end;

procedure TNichBrowser.CommandStateChange(Sender: TObject;
 Command: Integer; Enable: WordBool);
begin
 case Command of
  // GoForwardコマンドの実行許可
  CSC_NAVIGATEFORWARD :
  begin
   FGoForwardEnabled := Enable;
  end;
  //GoBackコマンドの実行許可
  CSC_NAVIGATEBACK :
  begin
   FGoBackEnabled := Enable;
  end
 else

 end;

 if Assigned(FOnCommandStateChange) then
  FOnCommandStateChange(Sender, Command, Enable);
end;
これでGoBackEnabled/GoForwardEnabledプロパティが
実装できる。

ところで
UIWebBrowserのヘルプに
>TWebBrowserを継承すると統合デバッガで不具合が生じます。
とあるが、普通にTWebBrowserを継承して使っているが
特に不具合は出ていない。デバッガをフルに使っていないからかな?
動的生成しているからかも。

476 :デフォルトの名無しさん :2001/03/01(木) 15:02
勉強になります。

477 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/01(木) 18:14
かちゅ〜しゃの作者さんも来てくれないかなあ。
ソース公開とかどうでもいいから。

478 :デフォルトの名無しさん :2001/03/01(木) 19:11
むこうのかちゅしゃスレ妙に荒れてるからなあ。
直リンして、作者さんといっしょに、厨房がついてこなけりゃいいけど。

479 :書記さん :2001/03/01(木) 22:16
かちゅーしゃスレでは、次回のバージョンアップが済んだら
参加したいな〜って感じの書き込みがあったよね。
ソースの公開はしなくても、ぜひ参加してほしいですよね。

480 :turbotypeD@モナぢら :2001/03/01(木) 23:01
そうそう。
かちゅーしゃってば分割ダウソと直読みをやってるよね。

最終的に表示するのはモナプロラの方がちょっぴり遅いんだけど
かちゅしゃは読み込み時に途中から表示していってたんで
驚いた。

結構地道にコーディングしてたんろなー。

481 :ふみもたたけし as 119 :2001/03/02(金) 01:46
こんなのを作ってみた。
http://desktopgazou.hypermart.net/cgi/gazou/img20010301172929.jpg

とりあえずダウンロード部分を書く気はないので、
2ch抜きタグブラウザから作っていく予定。

ツリービュー・タブ・メニュから板一覧・スレ一覧・スレを
表示できる柔軟なUIにしたい。
推奨環境はAthlon1G、メモリ512MB以上だ(藁

ダウンロード・解析部分のクラスの仕様が固まったら
取り込みたいのでよろしくね > Dax & turbotypeD@モナぢら

2ch表示機能を取り込んだらソース・バイナリ公開するよ。

482 :デフォルトの名無しさん :2001/03/02(金) 07:03
おおお、かちょええ!!

483 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/02(金) 09:53
すげー。かっちょよすぎ。

ツールバーの画像ってどこから集めているんですか?
すごく標準っぽい画像
オレの使ってるBugBrowserってのにも
似たボタン画像が使われているのだが。

484 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/02(金) 09:56
ダウソ部分は汎用的にまとめるのは難しいかもしれないけど
何をどうコーディングすればいいのかはわかっているので
データ構造などを決めてくれれば実装は
手伝いますぜ

485 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/02(金) 16:28
ダウソのこと考えてると
マルチスレッドでどうしたらいいのかとか頭痛くなってきたよ。

486 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/02(金) 18:53
monazilla掲示板が逝ってるのでこっちに書かせてもらいます。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaplorer010302.lzh
今日もアプしたよ。

主な変更は。
キャッシュファイルとWeb上のファイルの日付とサイズが≒なら
キャッシュだけを読むようにしました。

他、UIは少しはましにしたっけな。
あとブラウザから開くPopupMenuもつけました。

スレやレスの解析も間違っていたみたいなのでましにしました。

すげー疲れた。

487 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/02(金) 18:57
かちゅのように差分ダウソはしていないから遅いのは遅いですね。
欝だ............


488 :かちゅ〜しゃ作者 :2001/03/02(金) 22:38
はじめまして。
やっぱりプログラム板はいいなあ。
全部読めてないので、とりあえず今は足跡だけでお許しを。

489 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/03(土) 01:01
こんにちは、プログラム板には久しぶりですかね。
よろしく、教えてくださいな。

490 :ふみもたたけし :2001/03/03(土) 02:31
連番移動機能(index01.htm->index02.htm)というのを思いついた。
むちゃくちゃ便利であるような気もしたけど、エロサイトくらいにしか使えないか。

>ツールバーの画像ってどこから集めているんですか?
標準のボタンはVisual Studio Enterpriseに付いてる。
それ以外はIE, Office, DelphiIDEからキャプチャ。

>ダウソ部分は汎用的にまとめるのは難しいかもしれないけど
難しいの?
Board2ch見る限りきれいにUIと分離してあるように思えるけど。

ダウンロード・キャッシュ部分をホットゾヌ使うように
改造しちゃおうかな。

>マルチスレッドでどうしたらいいのかとか頭痛くなってきたよ。
よく考えたらマルチスレッドなんていらない気がしてきた。
サーバに負荷かけすぎるからね。
一括更新チェックができればそれで十分。

491 :デフォルトの名無しさん :2001/03/03(土) 06:47
かちゅしゃ、作者ひきこみage?

492 :ヒロユキ@ギコナビ :2001/03/03(土) 13:01
DelphiのTWebBrowserって初期化してくれなくて、コピペがうまく
いかないので、一番下(end.の前)にでも以下の行を追加しよう。
usesにActiveXを忘れずに。

initialization
  OleInitialize(nil);
finalization
  OleUninitialize;


493 :ヒロユキ@ギコナビ :2001/03/03(土) 13:05
>>490
VS.NETのBata版入れたけど、16色の画像しかなかった。
やっぱ、リソースから抜き出すのが手軽なのかな(怒られる?)


494 :デフォルトの名無しさん :2001/03/03(土) 15:20
Glyph画像集〜。DelphiTechより
http://community.borland.com/article/0,1410,25911,00.html
死ぬほどあります。ありすぎます。

495 :ヒロユキ@ギコナビ :2001/03/03(土) 18:38
>>449
>なぜかTAnimeでは開けないの
解決済みかもしれないけど。
アニメコントロールは、非圧縮のAVIじゃないとダメだったとおもう。


496 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/03(土) 19:12
どもども。
>>492 ヒロユキ氏

それは何処に書けばいいのですか?


497 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/03(土) 19:12
>>495 解決してないよ。
非圧縮のAVIに変換する方法がわからないもの。

498 :ヒロユキ@ギコナビ :2001/03/03(土) 19:32
>>496
ギコナビでは、メインフォームのユニットの一番下に書いています。

>>497
無圧縮のほかに、音声も入っているとダメだったと思う。
僕はコレ使ってます。(複数BMP -> AVI)
http://www.vector.co.jp/soft/win95/art/se056311.html


499 :ヒロユキ@ギコナビ :2001/03/03(土) 19:35
>>496
あっ、どっかのメソッドに書くのではないです。
メインフォームのユニットの一番下の「end.」の直前に書けばいいと思います。


500 :フッサール少佐 :2001/03/03(土) 23:05
最近は仕事が忙しくて更新もままならないんですけど、更新してみました。
インデックスはまだまだ構想中。意外と難しい。
http://www.geocities.co.jp/SiliconValley-Cupertino/1026/lzh/giko0303.lzh


501 :デフォルトの名無しさん :2001/03/04(日) 17:58
皆さんコード補完にどんなものを登録していますか?
便利そうなのがあったら教えてください。

僕はとりあえずこんなのしかありませんが...
[begin | begin/end]
begin
|
end;

[unit | unitの新規作成]
unit |;
interface
uses
Windows, Classes, SysUtils;
implementation
end.

502 :デフォルトの名無しさん :2001/03/04(日) 18:05
スレ違い。ごめんなさい。
お詫びAAのコメントをまとめてみました

[aa_unit_header | ユニットヘッダ の書き方]
(*
//  ∧  ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
// (´∀`)< |のソースだモナー
// (    ) \________________________
//  | | |
// (__)_)
履歴
//*)
[aa_func_header | 関数ヘッダの書き方/アロエリーナ風]
////////////////////////////////////////////////////////////
{// 名前:|
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ
ココカラノコードハ:
クワシイセツメイハ:
インスウハ:
コウシン日ワ:  2001/00/00
ホカニ逝ットクコトハ ナシ
聞いてくれてありがと アロエリーナ♪
\________________/
          /
         ∧_∧
   Ψ    (∀・ )
   □    (∩∩ノ)
// ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ }
[aa_func_header_mona|関数ヘッダの書き方/モナー風]
//
//  ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
// (´∀`)< |
// (    ) \________________________
//  | | |
// (__)_)
//


503 :デフォルトの名無しさん :2001/03/04(日) 19:25
>>502
最高にお節介だが、引数はインスウではなくヒキスウと呼ぶんでは。

504 :デフォルトの名無しさん :2001/03/04(日) 19:38
>>503
わざとでは?(藁

505 :デフォルトの名無しさん :2001/03/04(日) 22:38
なんでも隠語の2ちゃんは♪いつでもいいネタさがしてる♪

506 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/05(月) 10:28
眠い。

507 :デフォルトの名無しさん :2001/03/05(月) 10:48
バイナリも置いてくれよん。
Delphi持ってないよん。

508 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/05(月) 11:37
どなたかEZIPやUPXのexe圧縮(と呼ぶのか?)
かけておいてくださらないでしょうか。


509 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/05(月) 12:48
>>498
だって、圧縮AVIをBMPに展開する方法がそもそもわからない。
....手作業でキャプチャするのはいやだよ。つらいよ。なくよ。

510 :デフォルトの名無しさん :2001/03/05(月) 13:17
>>509
AviUtlあたりで、AVIを読み込んで、書き出すときに無圧縮にすれば
良いと思うけど。

511 :SAGE :2001/03/05(月) 13:47
AVI って IrfanView でバラせませんでしたっけか。>509

512 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/05(月) 16:59
>>511
ありがとう。

513 :デフォルトの名無しさん :2001/03/05(月) 21:14
見圧縮のAVIアップしました。
さすがにサイズ大きいです。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monagiko_avi.lzh

514 :書記さん :2001/03/05(月) 22:54
Delphi持ってない人の為にバイナリアップしました。

OpenGiko
http://www.geocities.co.jp/SiliconValley-Oakland/9028/bin/opengiko.lzh

Monaplorer
http://www.geocities.co.jp/SiliconValley-Oakland/9028/bin/monaplorer.lzh


515 :フッサール少佐 :2001/03/05(月) 23:38
>>508
圧縮実行ファイルを作るならここらへんかな
http://jonathanclark.com/ezip/
http://www.entechtaiwan.com/aspack.htm

>>514
OpenGikoのヤツはboard.iniが無いと動きません。
ソースファイルからモッテくる必要あり。
当然だが、バージョンアップで前のと互換性が無いとか文句言うなよ。
そんなこと考えて作ってないし、だからこそソースのみなのだ。

516 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/06(火) 09:39
つか、モナプロラの方も
ユーザーが使うレベルの完成度に達してないよ(藁

そのあたりは今の所許容してくださいモナー



517 :Dax :2001/03/06(火) 10:36
Hotzonuあぷしました。
まだHTTPかキャッシュからファイルを取ってくるキノーしかないです。
スレッド対応にはしてみたんですがメモリリーキーです。
モナプロラの共通関数ぱくりまくってます。
http://www.geocities.co.jp/SiliconVallery-Oakland/9028/hotzonu0306.lzh

518 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/06(火) 11:18
バンバンパクってくらさい

ところで別スレのDelphiLifeゲムを
アプしたいのですが
よい2ch利用可能アプ板しりませんか?
monazilla.orgにアプするのも筋違いだし
アヤシそうな所にアプしても悪いし。

519 :Dax :2001/03/06(火) 11:41
URL、うそっぱちでした。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/hotzonu0306.lzh

520 :デフォルトの名無しさん :2001/03/06(火) 11:58
>>518
> よい2ch利用可能アプ板しりませんか?
http://doripoke2.port5.com/cgi-bin/source.cgi
ここでどお?
あとはドル猫さんの
http://green.nttec.com/tech/
とか。

521 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/06(火) 17:57
>>520サンクス。

今日は各ペインを表示非表示出来るようにしたり
新しいタブで開くを作ったり
ageレスのカウントを表示してみたりしたけど
小変更なのでアプは見送り…

根本的(とは大げさなんだけど)に
ダウンロードクラスを作らなければ
ダウソ中のキャンセル処理やリロード処理がやりにくい事に
気が付きました。
ボド一覧(ひとつ)・スレ一覧(ひとつ)・レス一覧(複数)
についてマルチスレッドなダウソクラスを作ろうかな。

オレにそんなスキルがあるのかどうかドキドキしてますが
力゙ ソ 八゙ ッ 〒 ミ マ フ、

522 :デフォルトの名無しさん :2001/03/06(火) 18:17
turbo type D さんって何歳?

523 :デフォルトの名無しさん :2001/03/06(火) 18:23
知ってどうする?

524 :ふみもたたけし :2001/03/06(火) 23:12
>517
今日の思いつき@いいかげん。

type
 TDownloadableObject=class
// メモリの効率化・コードの簡略化のためにUrlを二つに分けたほうがよい。
// obj.BaseUrl := 'http://foo/bar/baz/'; // この文字列は複数のインスタンスで使いまわされるはず
// // obj.FileName := 'dat/hoge.dat' // この部分だけインスタンス毎に異なる
// obj.FileName := '../index2.htm' // これもありうる
// obj.Url := 'http://foo/bar/baz/dat/hoge.dat'; // 分けたくなければ
 private
  function GetUrl: String;
  begin
   Result := BaseUrl + FileName;
  end;
 public
  property Url: String read GetUrl write SetUrl;
  property BaseUrl: String read FBaseUrl write FBaseUrl;
  property FileName: String read FFileName write FFileName;

// OnStartDownload, OnEndDownloadはイベントよりvirtualメソッドのほうが適切。
// downloader<->TDownloadableObject(しかし長いな)間の通信にはイベントは適さない
// downloadable<->アプリ間の通信にイベントを使うべき
 protected
  procedure StartDownload; virtual;
  procedure EndDownload; virtual;
  // FLines[Index1..Index2]を差分ダウンロード
  procedure Download(Sender: TObject; Index1, Index2: Integer);

// Downloaderではなくdownloadableが主体になるべきか?。
// ダウンロードのタイミングをdownloadableに制御させるとこんなことができるかも
// Memo1.Lies.Text(FormatDat(NichNet['PC等']['monazilla'].Lines));
 public
  property Downloaded; // 既にダウンロード済み?
  property Downloader;
  procedure Download;
 end;

TDownloader.CreateDownloadableObjectの意図がわからない。
d := Downloader.CreateDownloadableObject;
d.OnXXX := YYY;
Downloader.Download(d)
Boards.Assign(d) // 一覧生成
のようにするってこと?

type
 TBoards = class(TDownloadableObject)
 protected
  procedure EndDownload; override;
  var
   title, url, category: String;
  begin
   html_parser.lines.assign(lines);
   while html_parser.getboardinfo(title, url, category) do
    items.add(category, title, url);
   if(Assigned(OnDownload))
    OnDownload(Self); // アプリへ通知
  end;
 end;
の方がシンプル。継承使うとまずいのかな?


525 :デフォルトの名無しさん :2001/03/07(水) 00:17
とりあえず2ちゃんねるの総通信時間、総ダウンロード文字数、
総書き込み回数・文字数をバージョン情報orスプラッシュで
ユーザーに見せつける機能は必須でしょう(藁

526 :デフォルトの名無しさん :2001/03/07(水) 01:29
>>525
いいねそれ(藁

527 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/07(水) 09:44
いくつか聞かれるとは...何の意図があるのだろう。
なんか怖いよ。
もしかして
「精神年齢低そー」とか思われてる?(TДT)


528 :デフォルトの名無しさん :2001/03/07(水) 14:46
>>527
太った男性は、好きですか?
とか聞かれるよりマシ(;´Д`)

529 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/07(水) 14:55
>>528
嫌すぎ!(;´Д`)
チンコ萎える

530 :デフォルトの名無しさん :2001/03/07(水) 15:36
で、実際のところ何歳?

531 :デフォルトの名無しさん :2001/03/07(水) 15:55
わーい、バイナリアップされてるー。
これで参加できるぞー。
使うだけだけどー。

532 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/07(水) 16:08
>>530
何歳がいいですか?

この際75歳って事にでもしましょうか。(藁

533 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/07(水) 16:14
75歳じゃチンコ萎える感覚もわからんだろうな。
いや、そんな話どうでもいいよ。全く!

それよりダウンロードのやり方について考えてくれない?
全然思い浮かばない。

一般的なFTPソフトってどうやってダウソして
途中キャンセルとか実装してんだ?
簡単に概念だけ説明してくれる人キボンヨ

ダウンロードアイテムを作成して
それをリスト管理しているのかな。


あと、

太った男性は嫌いです。
オパイの大きい女性は好きです。
パイパイの小こい女性も好きです。
・・・・・・・・・・・・・・・・・・・・・・・なーに言ってんだか。

534 :デフォルトの名無しさん :2001/03/07(水) 18:45
>>533
>一般的なFTPソフトってどうやってダウソして
>途中キャンセルとか実装してんだ?
HTTPにしろ、FTPにしろ、最終的にはsocketのreadになるはず。
そのsocketに対してタイムアウト付きでselectして、読み込み可能だった
ら(IPのバッファにデータが届いた)ら1バイト読み込む。タイムアウト
したらそのまま。そして、キャンセルフラグ(GUIのボタンが押されたら立てる)
が立ってるか、最後まで読み込んだら終了。
当然だが、GUIのメッセージ処理スレッドとダウンロードスレッドは別。
タイムアウトを1秒にすれば、1秒単位でキャンセルできる(キャンセル
ボタンを押した後、最大1秒待てばキャンセルされる)。

うまく説明できてないと思うけど、だいたいこんな感じ。



535 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/07(水) 19:20
>当然だが、GUIのメッセージ処理スレッドとダウンロードスレッドは別。

この概念が頭になかったから
すごい頭がいたくなってきたよ。

でも何とかなるかも。


536 :デフォルトの名無しさん :2001/03/07(水) 20:14
スレッドは面倒だぞ。
データの整合性が乱れないように気をつけないと。


537 :Dax :2001/03/07(水) 22:08
>524
れびゅーThanx
TDownloader.CreateDownloadableObject は意味無しでした。
あと、スレッド系の処理の一部がテスト中のままでした。
DownloadableObjectを誤解してたかも。
わたしはこう考えてました。
これは UI アプリケーションのコード。

proc Button1Click;
begin
DownloadableObject.URL := '板一覧のURL';
Downloader.StartDownload ( DownloadableObject );
end;

proc OnEndDownload;
begin
Board.Parse( TDownloadableObject(Sender).Lines.Text );
ツリーなどにボード一覧をつくる処理
end;

んー、なんかイケてないですねー、
やっぱり板クラスなどは TDownloadableObject継承がスマートですね。
それから処理中断をどうやって実装しようか悩んでます。

538 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/08(木) 11:13
>>536
うーん、そうだよね。
データの整合性という点では
スレ一覧でTNichBoardという1データに
リスト形式でTNichThreadデータを複数所有させていて

実際にブラウザで見る段階で新しいTNichThreadにAssignして
コピーしてから見るようにしている。

更に
昨日実装したんだけど
ブラウザの履歴データもTNichThreadをAssignでコピーして
保持しているんだ。

なぜそんな事をしているかというとスレ一覧が更新されたとき
コピー元のTNichThreadが破棄されてしまうから
ポインタで参照しておくわけにいかないの。

メモリ効率は悪いよなあ...メモリ食いが致命的にならなきゃいいけど。
その程度のメモリ使用はOKかなと考えてる。

Dax氏の言うように中断処理も難しいぜ。


539 :デフォルトの名無しさん :2001/03/08(木) 15:10
>>538
スレデータも板データもリファレンスカウンタで管理すれば?


540 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/08(木) 16:48
>>539
それ知らない。どうやるの?

Max関数って使ってよい?

541 :デフォルトの名無しさん :2001/03/08(木) 16:55
>>540
Mathに含まれてるやつやね。
MonaUtilsに含ませとけばどうでせう。
http://green.jbbs.net/computer/bbs/read.cgi?BBS=479&KEY=983891233&END=100

542 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/08(木) 17:05
書記さん、WinInetの続きです。
追加でpage9.htmlとpage14のものお願いします。

元ページのリンク先が飛び飛びなのは明らかに必要の無い
Tipsは無視してるから。
page9.htmlなんかも必要ないっつたら必要ないよね。
page10.htmlは不必要
page11.html/page13.html/page16.hemlは
monazillaには必要ないのでパスしてます。
page12.html/page15.htmlはいずれ必要

だれか書いてくれんかい?


//http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page9.html
//より移植
//プロキシサーバーを使用する。
 hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_PROXY, 'proxy:8080', nil, 0 );
//プロキシサーバーを使用するがローカルアドレスには使用しない
 hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_PROXY, 'proxy:8080', '<local>', 0 );
-----------------------------------------------------------------------
//読み取りポイントを設定する
//http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page14.html
//より移植
procedure TForm1.Button1Click(Sender: TObject);
var
 hSession: HINTERNET;
 hService: HINTERNET;
 lpBuffer: array[0..1024+1] of Char;
 dwBytesRead: DWORD;
begin
// hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0);
 hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
 if Assigned( hSession ) then
 begin
  hService := InternetOpenUrl( hSession, PChar(Edit1.Text), nil, 0, 0, 0);
  if Assigned( hService ) then
  begin
   InternetSetFilePointer( hService, 100, nil, FILE_BEGIN, 0);
   //↑最初のものにここが増えているだけ 100バイト目以降を読んでいます
   while true do
   begin
    dwBytesRead := 1024;
    InternetReadFile( hService, @lpBuffer, 1024, dwBytesRead );
    if dwBytesRead = 0 then break;
    lpBuffer[dwBytesRead] := #0;
    Memo1.Lines.Add( lpBuffer );
   end; //while
  end;
  InternetCloseHandle( hService );
 end;
 InternetCloseHandle( hSession );
end;

543 :turbo type D@モナヂラドットオルグ(ワラ :2001/03/08(木) 17:31
テスト

317KB
新着レスの表示

スレッドリストへ戻る 全部 前100 次100 最新50

0ch BBS 2004-10-30