monazilla

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
2ちゃんねる専用ログ巡回ソフト「モナヂラ(monazilla)」を
オープンソースでつくっちゃおーと言うプロジェクトです。
2デフォルトのゲイツさん:2001/02/10(土) 00:06
>1
ソースは何処?
3デフォルトの名無しさん:2001/02/10(土) 00:46
オープンソースなのに、ソースはまだ無い。
つーか誰も一行も記述してない!
4デフォルトの名無しさん:2001/02/10(土) 00:49
企画倒れsage
つーかいまさらそんなもんが必要か?しかも2ちゃんねる専用?
5デフォルトの名無しさん:2001/02/10(土) 00:53
>>4
つくることそのものが目的です。
6デフォルトの名無しさん:2001/02/10(土) 01:21
作るんだったらふつーのGeckoブラウザきぼん
K-meleon対抗で
7デフォルトの名無しさん:2001/02/10(土) 01:30
なんか予想通りの展開だな。
誰かがベースになるコードを一通り組んじゃわないと
先に進まないよ。
8デフォルトの名無しさん:2001/02/10(土) 01:34
ベース。

int main(int argc,char* argv[]){
 return 0;
}
9デフォルトの名無しさん:2001/02/10(土) 01:36
おれがメインを書いてやる

void main()
{
  while(1){
    sub() ;
  }
}
サブは誰か書いてくれ!

#誰かがmain()の型を突っ込んでくれますよーに・・・
108:2001/02/10(土) 01:38
もろかぶったな。
119:2001/02/10(土) 01:48
そうだね。。へへへ >8
じゃ定義文。

#define  MSG_MONA   "お前モナー"
12デフォルトの名無しさん:2001/02/10(土) 01:48
import javax.swing.*;

class Monazilla{
 private JFrame frame;
 public Monazilla{
  frame = new JFrame("Monazilla");
 }
 public void itteyoshi(){
  //後は任せた
  frame.pack();
  frame.show();
 }
 public static void main(String args[]){
  Monazilla mona = new Monazilla();
  mona.itteyoshi();
 }
}
13デフォルトの名無しさん:2001/02/10(土) 03:05
今更Javaかよ。
14デフォルトの名無しさん:2001/02/10(土) 07:00
mozillaより重そう…
15デフォルトの名無しさん:2001/02/10(土) 08:12
>>12
>>14
Java ブラウザーのJazillaって知ってます?
16デフォルトの名無しさん:2001/02/10(土) 08:30
とりあえ、だれかmozillaのソース持ってきてよ。
それをちょこちょこ弄るだけで終わりしよ。
1714:2001/02/10(土) 08:35
>>15
知ってました(藁
18デフォルトの名無しさん:2001/02/10(土) 14:02
import java.awt.*;
import java.io.IOException;
import javax.swing.*;
import javax.swing.event.*;

public class Monazilla extends JFrame {

private JFrame frame;
private Container pane;
private JEditorPane ePane;

public Monazilla() {
setTitle( "Monazilla" );
setSize( 600, 500 );
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
setVisible( true );
}

private void itteyoshi() {
pane = getContentPane();
try {
ePane = new JEditorPane( "http://salad.2ch.net/bbstable.html" );
} catch ( IOException ex ) { /* mona */ }
ePane.setEditable( false );
ePane.addHyperlinkListener( new Hyperactive() );
}

private void omaemona() {
pane.add( ePane );
}

public static void main(String args[]){
Monazilla mona = new Monazilla();
mona.itteyoshi();
mona.omaemona();
}

}

class Hyperactive implements HyperlinkListener {

public void hyperlinkUpdate(HyperlinkEvent e) {
if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
JEditorPane pane = (JEditorPane) e.getSource();
try {
pane.setPage(e.getURL());
} catch (Throwable t) {
t.printStackTrace();
}
}
}

}
19turbo type D:2001/02/10(土) 15:01
あいよ、Indyインストしてまっててな。
20デフォルトの名無しさん:2001/02/10(土) 21:30
ギコナビが HTTPにどのコンポ使ったかおせーてほしーな。
ソケット直かな?NMは使ってないみたいだけど。
21デフォルトの名無しさん:2001/02/10(土) 22:56
面倒だからWininetでもいいんじゃん?
22デフォルトの名無しさん:2001/02/10(土) 22:58
23デフォルトの名無しさん:2001/02/10(土) 23:02
板一覧の取得方法って
http://www.2ch.net/bbsmenu.html
を解析すればいいの?
24デフォルトの名無しさん:2001/02/10(土) 23:15
・・・なんか、VC++の奴らが混ざってねえか?(w

VCLでオープンソースな。
Borland以外の奴は他すれでやってくれ。
25デフォルトの名無しさん:2001/02/10(土) 23:26
単に、Delphiの人達やる気ないんじゃない?
26デフォルトの名無しさん:2001/02/11(日) 00:02
言語はなんでもいいと思うんだけどね。。
27デフォルトの名無しさん:2001/02/11(日) 02:09
>>20
ギコナビ@ヒロユキです。
ギコナビはHTTPCLIっていうのを使ってます。
なかなか高性能ですよ。

あと、このスレ面白そうだね。
オープンソースプロジェクトだと、様々な人たちの力で成り立つわけですが、
だれか、一人の人がまとめる役をしないといけないのではないでしょうか?
ここの1さんが、まとめる役とかしないのですか?

まずは、言語からはなれて、分析/設計をするのが先のような気がするよ。
言語を決めるのは、それが終わってからでも、遅くは無いと思うよ。
みんなで適当に進めても、アプリケーションは出来ないよ。

それじゃ、みなさん、がんばってください。
僕も仕事が暇になったら、参加させてもらいます。
28デフォルトの名無しさん:2001/02/11(日) 02:46
とりあえずこれを実装してまえ

2chログ巡回ツール「ギコナビ」作ってみました。
123 名前:>122投稿日:2001/02/02(金) 01:15
エラー処理がないけど、とりあえずこんなんでいいのかな?
T2chDownloaderさえ誰かがまともに実装してくれれば
その他のコンポ、フロントエンド(UI部分)なんてすぐでっち上げられるよ。

type
// 基本クラス
T2chObject = class(TComponent)
protected
 FItems: TList;
// function GetItems(Index: Integer): T2chObject;
protected
 property Url: String;
 property Caption: String; // 見出し
 procedure Realod; // ダウンロード開始
 property Count: Integer;
// property Items[Index: Integer]: T2chObject read GetItems;
published
 property OnReload: TNotifyEvent; // ダウンロード開始
 property OnReloaded: TNotifyEvent; // ダウンロード終了
end;

// 2ch全体
T2chNet = class(T2chObject)
public
 property Items[Index: Integer]: T2chBoard read GetItems;
end;

// 板リスト
T2chBoard = class(T2chObject)
public
 property Items[Index: Integer]: T2chThread read GetItems;
 property Category:
end;

// スレリスト
T2chThread = class(T2chObject)
public
 property Items[Index: Integer]: T2chThread read GetItems;
end;

// レスリスト(たぶんflyweight)
T2chResponse = class(T2chObject)
public
 property No: Integer; // 番号
 property Email: String; // メアド
 property DateTime: TDateTime; // 書込日時
 property Lines: TStrings; // 本文
end;

// ダウンローダ
T2chDownloader = class(T2chObject)
private
 FQueue: TObjectQueue; // スタックのがいいかも??
public
 property Online: Boolean;
 property CacheDirectory: String; // ローカルキャッシュ
 procedure Request(Target: T2chObject);
 procedure Cancel(Target: T2chObject);
end;
29幸運の国:2001/02/11(日) 03:08
開発言語はなんでしょうか。とりあえずCでいいなら>>23さんの
部分ならありますんで汚いソースですが、、
更に言うとめちゃくちゃへぼいです。訂正してくれたら私も嬉しい。。

void MasterMake(void)
{
FILE *fp,*fp2;
HANDLE hFile;
DWORD FileSizeLow,dwAccBytes;
OPENFILENAME ofn;
char *lpBuffer,stp[32][128],categsf[32];
int i,j,k,t,p,st,ls,servsuu,length[SERVERNMAX],categn = 0,flag = 0;

//bbstable.htmlはhttp://salad.2ch.net/bbstable.html
//ファイル開いてメモリに書き出してます。
hFile = CreateFile("offboard\\bbstable.html",0,FILE_SHARE_READ |
FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
FileSizeLow = GetFileSize(hFile,NULL);
CloseHandle(hFile);
lpBuffer=new char[FileSizeLow+1];
GetOpenFileName(&ofn);
hFile = CreateFile("offboard\\bbstable.html",GENERIC_READ,
0,0,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
SetFilePointer(hFile,0,0,FILE_BEGIN);
ReadFile(hFile,lpBuffer,FileSizeLow,&dwAccBytes,NULL);
lpBuffer[dwAccBytes] = 0;
CloseHandle(hFile);
30幸運の国:2001/02/11(日) 03:09
//ここら辺はオフボード落としてtextの中身確認して下さい
//全サーバの種類を配列に格納してます。後で比較する為
fp2 = fopen("offboard\\server.txt","r");
for(i=0;fscanf(fp2,"%s",stp[i]) != EOF;i++) length[i] = strlen(stp[i]);
servsuu=i;
fclose(fp2);

fp = fopen("offboard\\masterboard.dat","w");
//カテゴリ分けする為にカテゴリの名前を読み出してその位置を見つけます
fp2 = fopen("offboard\\category2.dat","r");
fscanf(fp2,"%s",categsf);
st = strstr(lpBuffer,categsf) - lpBuffer;
31幸運の国:2001/02/11(日) 03:10
for(categn=0;fscanf(fp2,"%s",categsf) != EOF;categn++){
ls = strstr(lpBuffer,categsf) - lpBuffer;
for(i=st;i<ls;i++){
flag = 0;
if(lpBuffer[i] == '='){
for(j=0;j<servsuu;j++){
if(strncmp(stp[j],&lpBuffer[i+8],length[j]) == 0){
fprintf(fp,"%d\t%s\t",categn,stp[j]);
flag=1;
break;
}
}
if(flag == 1){
for(k=i+length[j]+9;lpBuffer[k] != '/';k++) fprintf(fp,"%c",lpBuffer[k]);
fprintf(fp,"\t");
for(t=k;t<k+64;t++){
if(lpBuffer[t] == '>'){
for(p=t+1;lpBuffer[p] != '<' && p <= t+14;p++)
fprintf(fp,"%c",lpBuffer[p]);
fprintf(fp,"\n");
break;
}
}
}
}
}
st = ls;
}
delete []lpBuffer;
fclose(fp2);
fclose(fp);
return;
}
32幸運の国:2001/02/11(日) 03:12
タブが消えてしまいましたが、、わかねーぞボケって部分があったら説明します。
33デフォルトの名無しさん:2001/02/11(日) 03:19
CreateFileでネットワーク越しのhtmのソース(やバイナリファイル)開けちゃうの?
34デフォルトの名無しさん:2001/02/11(日) 04:44
開けます。>>33
35デフォルトの名無しさん:2001/02/11(日) 12:03
2chのCGIの詳細な仕様が欲しいんですけど、
どっから手に入ります?
36デフォルトの名無しさん:2001/02/11(日) 12:49
>>34
ダウンロードに関してはCreateFile, ReadFileだけで十分ってことかな?
そうするとDelphiのHTTP系コンポを使う意味あるの?
37デフォルトの名無しさん:2001/02/11(日) 14:04
>>27ギコナビ@ヒロユキ、こんにちは

http://users.swing.be/francois.piette/indexuk.htm
これですか。がいしゅつか?

ギコナビ自体おおよそ基本部分が出来るまで
どのくらいかかっているんでしょう?
38turbo type D:2001/02/11(日) 14:46
>>31-32
わかりにくいぞボケ..
いや、失敬。

エディタの置換使うかこれアプしたから使いナ。
http://zurubon.virtualave.net/source.cgi

program&nbsp;nbsp;

uses
&nbsp;&nbsp;SysUtils,
&nbsp;&nbsp;Clipbrd;

{$R&nbsp;*.RES}

var
&nbsp;&nbsp;S:&nbsp;String;
begin
&nbsp;&nbsp;S&nbsp;:=&nbsp;Clipboard.AsText;
&nbsp;&nbsp;S&nbsp;:=&nbsp;StringReplace(S,&nbsp;'&nbsp;',&nbsp;'&nbsp;',&nbsp;[rfReplaceAll]);
&nbsp;&nbsp;S&nbsp;:=&nbsp;StringReplace(S,&nbsp;#9,&nbsp;'&nbsp;&nbsp;&nbsp;&nbsp;',&nbsp;[rfReplaceAll]);
&nbsp;&nbsp;Clipboard.AsText&nbsp;:=&nbsp;S;
end.
39幸運の国:2001/02/11(日) 17:11
>>38 そこははじかれたんで^^;
ドル猫様の使わせていただきました。
http://green.nttec.com/tech/read.cgi?KEY=981878874
今回のはローカルにファイルが置いてなくてもそのまま作れます。
でも腐ってるので改良お願いします。
ちなみにブラウザ最大化しないとずれるから見にくいっす。
40幸運の国:2001/02/11(日) 17:40
http://green.nttec.com/tech/read.cgi?KEY=981880639
ゴミが混じってたんでデバッグしました。
41デフォルトの名無しさん:2001/02/11(日) 18:58
42幸運の国:2001/02/11(日) 20:01
例えばこのスレッドならhttp://piza.2ch.net/tech/dat/981726544.dat
ここからDLすればいいです。実は私も以前にオフラインビューワ作ろうとしたんですが、
スキルの無さと、他の皆さんが次々に公開された事で断念しました。
あんまり力になれないかもしれませんが知ってる事があれば出来る限り協力します。
43デフォルトの名無しさん:2001/02/11(日) 20:15
4435:2001/02/11(日) 20:29
>>43
う〜ん、直接2chの仕様ってわけではないのか。
でも、だいぶ分かってきたぞ。

ポイントはこれか?
http://piza.2ch.net/tech/index2.html
http://piza.2ch.net/tech/subject.txt
http://piza.2ch.net/tech/dat/981726544.dat
45デフォルトの名無しさん:2001/02/11(日) 20:55
なーんだ、ギコBASICで開発じゃないのか・・・。
46デフォルトの名無しさん:2001/02/12(月) 00:02
>>1
↑とかをマウスポインタをあてると、その部分がHintで表示されるけど、
それってどうやってやるのか、教えて下さい。キボンヌ。
47デフォルトの名無しさん:2001/02/12(月) 00:18
>>129
「どうやって」って具体的に「何が」が分からないのですが、
ギコナビはTHintWindowを使っています。
ポイントされたら、
1、ポイントされたURLをパース。
2、ログを検索。
3、存在したら指定行を取り出す。存在しなかったら終了。
4、取り出したログの行をパース。
5、THintWindowのインスタンスを生成し、表示する文字列やらを設定。
6、表示
これだけ。
48デフォルトの名無しさん:2001/02/12(月) 00:38
一番最初のポイントされたURLをパースってのがわからんです。
それ以外は、分かるんですが…。
49デフォルトの名無しさん:2001/02/12(月) 00:47
>>131
Delphiでいいのかな?
TWebBrowserのOnStatusTextChangeでポイントされたURLがとれるでしょ?
・・・read.cgi?bbs=tech&key=nnnn&st=nn&to=nn
こんな感じで取得出来るよね。
んで、文字列がURLだったら、あとは、?と&でバラバラにして
bbsとkeyとstとtoの左側を取ればログの場所は判断できるでしょ。
本当は、ポイントされた場所の文字列(>>nn)を取得して判断したほうが
スマートだと思うけど、これやるには面倒そうな感じ。
フリーのTWebBrowser拡張版みたいなコンポなら簡単に出来るかも。
そっちのほうは、ギコナビでは使ってないので分かりません。
50デフォルトの名無しさん:2001/02/12(月) 00:49
ごめん。ギコナビがバグっていて、レス番号がdでもない数字になってた。
51デフォルトの名無しさん:2001/02/12(月) 00:55
>TWebBrowserのOnStatusTextChangeでポイントされたURLがとれるでしょ?

これを知らなんだ。これで、全部わかったです。ありがとー。
オレもブラウザ作るかな。
52デフォルトの名無しさん:2001/02/12(月) 02:24
どうせならIE使わずにってのは、無理?
.DATを直に拾ってくるなら問題ないよね。
53デフォルトの名無しさん:2001/02/12(月) 02:26
>>52
表示が面倒だよ?
54デフォルトの名無しさん:2001/02/12(月) 07:07
俺もそう思う
55turbo type D:2001/02/12(月) 16:25
>>52
ハイパーリンクがあるからこそ
使いやすいな。

IE使わないならAirWebの2chプラグインというのもある。
56デフォルトの名無しさん:2001/02/12(月) 18:21
アスキーアートが崩れると
誰にも評価されないソフトと化す
57デフォルトの名無しさん:2001/02/12(月) 18:28
今日、帰りにDelphi買ってきた。
プログラミング言語って高いな。
58デフォルトの名無しさん:2001/02/12(月) 19:32
いくらで買った?
59デフォルトの名無しさん:2001/02/12(月) 19:57
>>58
一番安いヤツ。
一万六千円くらいの。
あーでももう挫折の予感。
60デフォルトの名無しさん:2001/02/12(月) 20:28
本棚にでも飾っとけ>59
6159:2001/02/12(月) 20:31
こういうのに触れると、ソフトウェア作者の凄さが痛いほどわかるな。
HelloWorld!万歳!あああああ!
何か本買ってくれば良かった。
6259:2001/02/12(月) 20:37
こんなでかいの本棚はいんねえよ。>>60
なんだこの説明書の厚さ。バーカ!Delphiのバーカ!
みなさんこんなのどうやって勉強されたんですか
帰り道のあのワクワクが嘘みたいだ
63turbo type D:2001/02/12(月) 20:44
説明書なんて誰もみない。バカかおまえ?
初心者用の書籍探してそれで勉強しろ。

あと、ネットで2chじゃない所を利用しまくって己を磨け。
http://www.valley.ne.jp/~masaiku/index1.htm
64turbo type D:2001/02/12(月) 20:46
だいたい、モナジラスレで関係ない話題ふるな。
VB厨房と違ってDelphi使いならエレガントに学習しなさい。
65デフォルトの名無しさん:2001/02/12(月) 20:49
>>63
あんがと。とりあえず本買うわ。
66ヒロユキ@ギコナビ:2001/02/13(火) 00:41
なんだよー。全然進まないね。キタイシテイルノニ。
turbo type Dタンが進める役したら?
すごくスキルありそうだし。
67デフォルトの名無しさん:2001/02/13(火) 02:35
ギコナナビとかと違いを出すために誰かMindでやってみるってのは
68turbo type D:2001/02/13(火) 12:33
スキルねーよ。>ヒロユキ(w

とりあえず、TUIWebは導入したばかりで
俺はIndyでやるよ。
D6も見据えながら。
69デフォルトの名無しさん:2001/02/13(火) 13:58
ソース表示をすれば、タブ数はわかるるる
70turbo type D:2001/02/13(火) 17:51
IndyでHTTPをダウンロードするのはどうするんですか?
71turbo type D:2001/02/13(火) 18:16
Demo見たらわかった。。。。。
今後はボロカスに言われたらやだから
質問するときはコテハンヤメテおこ。
72turbo type D@monazilla:2001/02/13(火) 18:51
>>23>>41
の質問をまとめます。

まずはじめに
http://salad.2ch.net/bbstable.html
を解析する事で板一覧情報は取得でき

それを解析してプログラム板のリンク先
http://piza.2ch.net/tech/index2.html
を取得して変換して
http://piza.2ch.net/tech/subject.txt
のデータを取得できる。

それにxxxx.datとかかれているので
http://piza.2ch.net/tech/dat/981726544.dat
これをDownLoadすれば発言内容が現れるという事だね。

これをローカルに保存してWebBrowserで開くとよい。
これで合ってますよね。

>>44でガイシュツだ。
73デフォルトの名無しさん:2001/02/13(火) 18:54
>>72
dat ファイルは単なる CSV なので、
HTML のタグをつけてやらなきゃいけない。
74デフォルトの名無しさん:2001/02/13(火) 20:39
とりあえずジオにディスク12MBとりました。
URL
http://www.geocities.co.jp/SiliconValley-Oakland/9028/
ID : monazilla
PW : mona
75turbo type D@monazilla:2001/02/13(火) 20:42
トクトクの方がいいかもよ。
容量無制限だしー。CGI可だし。

とりあえず、IndyとUIWebBrowserはインストしておいてヨシって
ことでいいですか〜?
76turbo type D@monazilla:2001/02/13(火) 20:49
で、IndyのIdHTTP使って任意のページをUIWebBrowserに表示させるコード。
//*********************************
object IdHTTP1: TIdHTTP
 RecvBufferSize = 1024
 HandleRedirects = True
 ProtocolVersion = pv1_0
 Request.Accept = 'text/html, */*'
 Request.ContentLength = 0
 Request.ContentRangeEnd = 0
 Request.ContentRangeStart = 0
 Request.ProxyPort = 0
 Request.UserAgent = 'Mozilla/3.0 (compatible; Indy Library)'
 Left = 88
 Top = 112
end
//*********************************
procedure TForm1.NanashiAction1Execute(Sender: TObject);
var
 SL: TStringList;
 SaveFileName: String;
 Flag: OleVariant;
begin
 SaveFileName := ExtractFilePath(Application.ExeName)+'URLData.html';

 SL := TStringList.Create;
 try
  IdHTTP1.Request.Username := '';
  IdHTTP1.Request.Password := '';
  IdHTTP1.Request.ProxyServer := 'xxx.xx.xx.xxx';
  IdHTTP1.Request.ProxyPort := 80;
  IdHTTP1.Request.ContentType := '';
  IdHTTP1.Intercept := nil;

  SL.Text := IdHTTP1.Get(Edit1.Text);

  SL.SaveToFile(SaveFileName);

  Flag := 0;
  UIWebBrowser1.Navigate(SaveFileName, Flag, Flag, Flag, Flag);
 finally
  SL.Free;
 end;
end;
77turbo type D@monazilla:2001/02/13(火) 20:50
TUIWebBrowser/TWebBrowserでHTMLファイルを作らなくても
ブラウザ表示させる方法はどうやるんだけ?

>>ご教授きぼーん。
78デフォルトの名無しさん:2001/02/13(火) 22:01
>>74
ワラワカシテモラタ
79デフォルトの名無しさん:2001/02/13(火) 22:28
Indyのコンポどこー?
80turbo type D@monazilla:2001/02/13(火) 22:35
見てなかったから気が付かなかったけど、
>>74
>turbo type D's page
つのはやめてくれよ。

アヤシイページと俺とは何も関係ないんだから、
あそこ2ch嫌ってるし。

つか、一瞬、個人名バレたのかってヒヤっとしたから
心臓に悪い事はやめてくれ。まじ・(xДx


kylixにもDelphi6にも搭載される予定のネット関係コンポ
Indyのリンクきぼーんよ。
http://www.nevrona.com/Indy/
81デフォルトの名無しさん:2001/02/13(火) 22:40
あ、やっぱまずかった?>>80
名前だけ消しときます。
8281:2001/02/13(火) 22:41
勘違いでちた!>>80
83ヒロユキ@ギコナビ:2001/02/13(火) 23:18
>>80
分かっていると思うけど、
・Indy は Server Edition 以上につく
だそうです。Kilixの話ね。
Kilix-MLからの情報です。
84デフォルトの名無しさん:2001/02/13(火) 23:24
Server Editionだとホビープログラマはつらいですね。>>83
にしても話が進まないので分析/設計とプロトタイプ開発を
同時に進めるようなやり方で行きましょうか?
85デフォルトの名無しさん:2001/02/13(火) 23:29
>>77
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
HtmlView: DispHTMLDocument;
begin
s := '<html><body><font color=red size="+3">て</font>すと</body></html>';
HtmlView := WebBrowser_V11.Document as DispHTMLDocument;
if HtmlView <> nil then HtmlView.body.innerHTML := s
end;

じゃダメ? ただし、いちどNavigateかGoHomeなどしておく必要アリ。理由不明。
86デフォルトの名無しさん:2001/02/13(火) 23:29
プロトタイプってのは
技術的なプロトタイプね。
たとえばスレ一覧を取るだけのものとか。
87ヒロユキ@ギコナビ:2001/02/14(水) 00:23
>>85
var
v: OleVariant;
begin
v := 0;
WebBrowser1.Navigate('about:blank', v);
end;
これを最初にやるのはダメかな?

>>84 >>86
76でスレ一覧を取れたも同然じゃん。
とりあえず、骨組みとなるクラスを考えましょう。
>>28にあったように、あのクラスを元にして、決まったら一気に実装。
88turbo type D@monazilla:2001/02/14(水) 09:51
>>レス、サンクス
今から調べる。

コード規約みたいなのを考えてほしい。
コメントの書き方や関数ヘッダのコメントなど。
自分のやり方だと、個人名が特定されそうでやだし〜。

あと、画面周りは
通常の貧弱なMainMenuとToolbarを使ってActionで実装するつもり。
そうするとオプソならではの
MenuBar/ControlBar/Coolbar/CuteBarに至る改造を
各々が楽しめるようになるだろう。
Formの位置保存コードなども誰でも実装できそうな部分は
含めない方針でとりあえずめざします。

とりあえずはIndyを使いますが
関数化しておくから、NMHTTPやHTMLCLIを使っての置き換えが
容易に可能なようにもしておきます。

かちゅーしゃのデザインが優れていると感じるので
似たようにします。
3ペインの左がTreeViewにして,2ch用お気に入りもこのTreeに入るようにしたい。
上を、ListView,vsReport/StringGrid→迷っている。
下をTWebBrowserのPageControlにします。
(俺はTUIWebBrowserを使うけど多分置き換え可能だろう)

他に代替案があったらご意見よろしく。
89turbo type D@monazilla:2001/02/14(水) 09:58
関係無いけど
コードにはAAを嫌になるほどいれたい。(藁

Delphi自体のフォントをPゴシックに出来ないのは残念。
90turbo type D@monazilla:2001/02/14(水) 10:02
追加。データ保存はIniファイルでやる。

本当はマルチユーザ対応などレジストリでやるのが楽でいいんだが
コアなユーザーはIni好きだから。
91デフォルトの名無しさん:2001/02/14(水) 10:19
>>88
そこまで考えてくれるとありがてぇ
92turbo type D@monazilla:2001/02/14(水) 10:48
>>83
Indyは付属してなくてもDowlLoadすればいい話じゃないか?
HELPファイルなんかはServer版しか日本語化されないだろうけど。
MLで聞いてみてよ。俺ROMってるから(藁
93turbo type D@monazilla:2001/02/14(水) 12:07
Board一覧データの取得方法考えました。

クラスを作る
&nbsp;&nbsp;//インスタンスが一つだけのクラス
&nbsp;&nbsp;T2chBoardList&nbsp;class
&nbsp;&nbsp;&nbsp;&nbsp;BoardCategorys:&nbsp;TList;//カテゴリのリスト
&nbsp;&nbsp;end;

&nbsp;&nbsp;//カテゴリごとのクラス
&nbsp;&nbsp;TBoardCategory&nbsp;=&nbsp;class;
&nbsp;&nbsp;&nbsp;&nbsp;Title:&nbsp;String;//【おすすめ】などのカテゴリ名
&nbsp;&nbsp;&nbsp;&nbsp;BoardItems:&nbsp;TList;//カテゴリに属する板のTBordItemを保持
&nbsp;&nbsp;end;

&nbsp;&nbsp;//各板ごとのクラス
&nbsp;&nbsp;TBoardItem&nbsp;=&nbsp;class
&nbsp;&nbsp;&nbsp;&nbsp;Title:&nbsp;String;//板のタイトル
&nbsp;&nbsp;&nbsp;&nbsp;Name:&nbsp;String;//板の英語名
&nbsp;&nbsp;&nbsp;&nbsp;URL:&nbsp;String;//板のURL
&nbsp;&nbsp;end;

--http://salad.2ch.net/bbstable.htmlのソースから
2chBoardListを生成

S&nbsp;:=&nbsp;bbsSource;
CategoryDataStart&nbsp;:=&nbsp;Sから【&lt;B&gt;を探索
CategoryDataEnd&nbsp;:=&nbsp;Sから次の位置の【&lt;B&gt;を探索/見付からない場合は文末
CategoryData&nbsp;:=&nbsp;SのCategoryDataStartからCategoryDataEndまで
CategoryDataが取得できなかったらエラー
SからCategoryDataは削除

CategoryTitleStart&nbsp;:=&nbsp;CategoryDataから【&lt;B&gt;を探索
CategoryTitleEnd&nbsp;:=&nbsp;CategoryDateから&lt;/B&gt;】
CategoryTitle&nbsp;:=&nbsp;CategoryDataのCategoryTitleStartからCategoryTitleEndまで
CategoryTitleが取得できなかったらエラー
BoardCategoryを生成2chBoradListに登録、タイトルに代入
CategoryDataからCategoryTitleは削除

BoardItemCount&nbsp;:=&nbsp;CategoryDataの中ノ&lt;Aと&lt;/A&gt;の数を数える→一致しなければエラー
for&nbsp;i=0&nbsp;to&nbsp;BoardItemCount-1&nbsp;do
begin
&nbsp;&nbsp;BoardItemDataStart&nbsp;:=&nbsp;CategoryDataから&lt;A&nbsp;HREF=を検索
&nbsp;&nbsp;BoardItemDataEnd&nbsp;:=&nbsp;CategoryDataから&lt;/A&gt;を検索
&nbsp;&nbsp;BoardItemData&nbsp;:=&nbsp;CategoryDataのBoardItemDataStartからBoardItemDataEndまで
&nbsp;&nbsp;CategoryDataからBoarItemDataは削除
&nbsp;&nbsp;BoardItemDataは&lt;A...&gt;...&lt;/A&gt;という文字列になっているので解析して
&nbsp;&nbsp;&nbsp;&nbsp;リンク先とタイトルを取得する。
end;
94デフォルトの名無しさん:2001/02/14(水) 13:20
>>85
IEコンポは作成直後はHTMLDocumentがnilになってるからね。
innerHTML、outerHTMLを設定するんじゃなくてHTMLDocumentに
writeすれば問題ない。けど、フォントが変になったような気がする。
かちゅーしゃはHTMLにフォント設定を埋め込むことでこれを回避してるようだ。
>>87
(少なくともVC++/MFCでは)Navigateが非同期動作になるので、一旦Navigate
して、NavigateComplateかDocumentCompleteのイベントをトリガにする
必要がある。
まぁ、about:blankに飛ぶぐらいはすぐだろうから、WebBrowserのステータス
でループさせて終了を待ってもいいけどね。

あと、データアクセス層をきちんとつくっとかないと、マルチスレッドになって
複数のスレッドから同時にアクセスがあったときの処理が複雑になる。
Mutexで排他処理する部分は最小にしたいからね。

このような、ネットワークアプリは非同期処理との戦いになると思う。
95turbo type D@monazilla:2001/02/14(水) 13:23
>>85>>87
スマソ、追加で教えてキボーン
DispHTMLDocumentやWebBrowser_V11って何?
96turbo type D@monazilla:2001/02/14(水) 13:28
>>94厳しいな(TДT
浮津堕コーディングしよう。
97turbo type D@monazilla:2001/02/14(水) 13:50
>>93を考えていて>>28のクラスを再度確認してみた
T2chObjectっておかしくないか?
すべての基底クラスにダウソ開始/終了
なんていらないと思うのだが、
特にT2chResponseがT2chObjectから継承する
必要はないんじゃないか?

俺のクラス設計が甘いのか?わからない。

スレのダウンロードから
レス一つ一つのダウンロードメソッドを呼ぶ方がいいのか?
98デフォルトの名無しさん:2001/02/14(水) 14:29
俺もBCB4で似たようなの作ってるんだけどさ、
(勉強目的だから、VCLはUI以外は極力使わないようにしてるけど)
WebBrowserでNavigate2したときの表示がどうなってるかイマイチわからん。

スレを表示するとき、HTMLファイルを作ってNavigate2したときって
すごく速いんだよね。表示開始が。
これに対して、IHTMLDocument2のinnerHTMLをいじると、
表示開始までが遅い。全部解析してから1行目を表示している感じ。

1000近くあるスレで、insertAdjacentHTMLしながら、
適度にApplication->ProcessMessages()を含めてみると、
開示までの時間は問題無いが、終了までに余計時間がかかる。
それよりも気になるのが、表示されている様子が目に見えること。
Navigate2だと一瞬で表示されるのに、上から一行ずつ表示されているのが
見えるよう。
ProcessMessages()を呼ぶタイミングを動的に変更しても同じ気がする。

パイプでも使ってるのか、それともparent(IHTMLWindow2)に何かあるのか。
つーか、手元に資料が全然無くて、すげー苦労なんだけど。
MSHTML_TLB.hは15MBもあるし・・・
99turbo type D@monazilla:2001/02/14(水) 14:41
>>98
俺、まだNavigateとNavigate2の違いもわからん。
教えてくらさい。

98の話からすると、とりあえずファイルに書き出してから
読み込んだ方がいいって事か?
100turbo type D@monazilla:2001/02/14(水) 14:43
違いはURLにPIDLが使えるか否かだね。
で、PIDLって何だ?(w
10194:2001/02/14(水) 15:10
>>96
似たようなアプリを書いた経験からだよ。

>>98
スレ100個分ぐらいのHTMLをつくって一気にinsertAdjacentHTMLすれば
いいんじゃない?それか、HTMLDocumentにwriteするとさらに速かったような
記憶がある(MFCでしかやったことないので適当に置き換えてね。COMの
インターフェイスだからそんなに違わないと思うけど)。
あと、OnNavigateCompleteとOnDocumentCompleteで発生するタイミングが
結構違ったような気がする。どっちが速かったかは覚えてない。

>>99>>100
PIDLじゃないと「マイコンピュータ」にNavigateすることができないね。
10298:2001/02/14(水) 15:29
>101 遅さについて
いや、いろいろ試したんだ。
parse等の時間を全部無視して
50レスにしたり、100レスにしたり200にしたり、全部一括にしたり。
でも、やっぱりProcessMessages時だけ「表示」が遅いんだ。
(ちなみに、Sleep等も試したけど、表示されなかった・・・)
いや、俺のマシンが遅いのも原因だし、
「気にならない程度の遅さ」と言われれば、その通りなんだけど。

NavigateCompleteとDocumentCompleteは、確かRefreshが絡むと
面倒だったんだよね。って、俺も覚えてない。

そうそう、TWebBrowser_V1&NavigateはIE3、
TWebBrowser&Navigate2はIE4以降。
10398続き:2001/02/14(水) 15:31
フォントの問題は、
Create時にabout:blankにNavigate2しておいて、表示する時に
IHTMLDocument2Ptr doc; doc = browser->Document;
doc->charset = L"shift_jis";
doc->set_fgColor(0x000000);
doc->set_bgColor(0xEFEFEF);
doc->set_linkColor(0x0000FF);
doc->set_alinkColor(0xFF0000);
doc->set_vlinkColor(0x660099);
すれば、Win98SE+IE5.01の環境ではクリアできているけど、
IE5.5とかはどうなんでしょ?

Board一覧の取得は、俺もhttp://salad.2ch.net/bbstable.htmlを取ってる
解析も同じ。('【'の検索)
【】の間をカテゴリ名として、board.txtを作ってる。
(2chブラウザと同じかな)
カテゴリ名の重複はそのまま放置し、読みこみ時に対応してる。
最後がindex2.htmlかを見て、2ch内部かどうか判断。
まちBBSは入らないが、datが取得できないのでそのままにしてる。

スレ一覧は、ListView→遅い、StringGrid→表示を停止させていても
一瞬待つのが嫌、という理由により、ListBoxのOwnerDrawにした。
(板によっては3000スレ近くがローカルにあり、マシンはPenII266)
表示終了までの時間はかかるが、動きが見えているので精神衛生上良い。
色を変えたりの小細工も出来る。
StringGridはスクロールバーが嫌だったのも理由の一つだけど、
まともなアプリを組んだ事のない素人なので、
やり方を知らないだけかもしれない。
10498:2001/02/14(水) 15:40
連続でごめんなさい。
>>101をよく読んでなかった。
HTMLDocumentにwriteですか。ありがとうございます。
いろいろ試してみます。
・・・調べてみますと言えないのが悲しい。
サーチエンジンを使って、英語とも格闘して、試行錯誤します。
105デフォルトの名無しさん:2001/02/14(水) 16:04
>>103
>【】の間をカテゴリ名として、board.txtを作ってる。
>(2chブラウザと同じかな)
うんにゃ。<B></B>だよ。じゃないと、www.2ch.net/bbsmenu.htmlを読めない。
106turbo type D@monazilla:2001/02/14(水) 16:14
>>サンクス。
IE4以降限定でいいよね。

C++の人はDonut系ですか、すげ・詳しいな。

>>105
http://salad.2ch.net/bbstable.html
http://www.2ch.net/bbsmenu.html
どっちで取得するのが正しいの?
bbsmenu.htmlはメールリンクとかアってヤナ監事。
107デフォルトの名無しさん:2001/02/14(水) 16:15
んじゃコード規約(Delphi)を勝手に決めます。
コメントの書き方だけど

 //
 //   ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 //  ( ´∀`)< 文字列からほげほげを抜き出す
 //  (    )  \________________________
 //  | | |
 //  (__)_)
 //
 function ....

やっぱこんなの?
あ、Delphiのエディタじゃ AA 無理だっけ?
108デフォルトの名無しさん:2001/02/14(水) 16:27
end.の下の行は

//============== 終了==============

をつける。意味ないけど。
10998>105:2001/02/14(水) 16:52
その通りっす。すみませんです。
さらに、カテゴリの重複→カテゴリの連続っす。

あれから少し調べると、
SAFEARRAYとか、SafeArrayCreateVector()とか、更に未知の物が。
が、close:
 Closes an output stream and forces the sent data to display.
なんて文も見かけたので、併せてもっと調べてみます。
110turbo type D@monazilla:2001/02/14(水) 16:53
>>107 実に助かるよ。
仕事中にコーディングしていると、ぶっ殺されそうだ。(ww

モナーのセソフ
機能の説明だけだと、わかりにくいから
更新履歴と引数/戻り値の説明も
入れれるようにしてプリ〜ズ

//============== 終了==============
111turbo type D@monazilla:2001/02/14(水) 17:13
等幅フォントだと、こんなもんかな?

//
// ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
// (´∀`)< ボードの一覧をhttp://salad.2ch.net/bbstable.htmlより得る
// (    ) \________________________
//  | | |
// (__)_)
//
しかし、このコメントがついてたら
まじで周りにビクビクしながらコード書かなきゃいけないから
すげー疲れる(w
112デフォルトの名無しさん:2001/02/14(水) 17:31
等幅でもずれとりまんがな。空白が寄せられただけ?
ところで、94さんは2chブラウザーの作者さんのような気がするけど、違うのかな?
113デフォルトの名無しさん:2001/02/14(水) 17:45
>>112 違わないよ。
11498:2001/02/14(水) 18:08
かなり戻るけど、>>93のTBoardCategoryは必要ないと思う。
というのは、いずれ、貼りつけられたスレへのリンクからTBoardItemを
検索したくなるだろうから。
鯖移転にも対応するために、板名で検索できること
(さらに、mac板やbike板に対応すること)を考えると、
TBoardItemはどっかでまとめて持ち、
TreeNode->Dataに細工するのがいいと思う。

もしかしたら参考になるかもしれないので、
俺の使っている部分をそのまま載せます。
VCLも知らないので、批判もよろしく。

Board型はstaticメンバーで全体を保持。
Board::BoardCount()で全板数、
Board::At()で順アクセス、Board::Find()で検索、etc
Boardのインスタンスは、Name()がnilならカテゴリ名、
Name()の中身があればそれぞれの板。
stringとSTLを使っているのは、それらの勉強も目的だから。

 TTreeNodes *tree = BoardTree->Items;
 tree->Clear();
#if 0
 TTreeNode *root = tree->Add(NULL, "2ちゃんねる");
 //root->Data = NULL;
#else
 TTreeNode *root = NULL;
#endif
 int n = Board::BoardCount();

 string catename;
 vector<Board *> boards;

 for (int i = 0; i < n; ++i) {
  Board *bd = Board::At(i);
  if (bd->Name().empty()) {
   if (!boards.empty()) { //カテゴリ名の連続に対処するため
    TTreeNode *cate = tree->AddChild(root, catename.c_str());
    cate->Data = NULL;
    vector<Board *>::iterator it;
    for (it = boards.begin(); it != boards.end(); ++it) {
     TTreeNode *tmp = tree->AddChild(cate, (*it)->Title().c_str());
     tmp->Data = *it;
    }
   }
   boards.clear();
   catename = bd->Title();
  } else {
   boards.push_back(bd);
  }
 }
115turbo type D@monazilla:2001/02/14(水) 18:57
>>114
>TBoardCategoryは必要ないと思う。
ほっほー、そうなん。

mac板、bike板ってなんだろけ?

でも、もう殆ど実装してまった(゚Д゚)・・・・・・・
ま、データを保持するクラス階層は変更して
TreeViewの生成だけに利用するよ。
かちゅしゃーでも一応右端の色でわかれてるからなあ。
Boardクラスにカテゴリプロパ付けるだけで十分か?

それともTreeViewのTreeNodesとTreeNodeみたいに
データ構造をツリーと一覧の二通りのアクセスかましておきます。
98さんはVCL知らないか。

今日中に一覧をTreeで表示させたかったが、無理だわ。
また先ですわ。
116turbo type D@monazilla:2001/02/14(水) 19:04
かちゅしゃは右端じゃなくて左端でした
あせって左右もわからなくなってる。

98さんはVCLバリバリ使ってる気がするが,,,
117デフォルトの名無しさん:2001/02/14(水) 20:06
macとbikeってのはこれっす。
Mac
http://piza.2ch.net/mac/
mac
新Mac
http://teri.2ch.net/mac/
mac
バイク
http://tako.2ch.net/bike/
bike
自転車
http://mentai.2ch.net/bike/
bike

http://teri.2ch.net/test/read.cgi?bbs=mac&key=999999999
なんてのから板を特定するときに、'teri'の文字も必要だってことっす。
118デフォルトの名無しさん:2001/02/14(水) 22:20
>>103
ListViewは速くはないけど、Delphi4から導入されたVirtualModeを使えば、そんなに遅くないです。
でもこれだとオーナードローする必要があり面倒です。
ちなみに、どうせオーナードローするならStringGridよりDrawGridの方が多少速いです。
もっとも上にあげたものは全てTListからのオーナードローになると思うので、どれでも十分な
速さですけど。
実は、オレも作成中だったりして。
11928のクラス書いた人:2001/02/14(水) 22:34
しばらくこないうちにだいぶ進んだなぁ。
個人的にはhtml,datダウソ部分の構造が先に知りたいです。
>97 名前:turbo type D@monazilla投稿日:2001/02/14(水) 13:50
>>93を考えていて>>28のクラスを再度確認してみた
>T2chObjectっておかしくないか?
>特にT2chResponseがT2chObjectから継承する
>必要はないんじゃないか?
T2chResponseは(既にある)T2chThreadの各レスにアクセスするため窓口だから
確かにダウソ開始/終了はいらないね。
いらないけどダウンロード可能・不可能をクラスで分類すると
数が増えて嫌だったというだけ。
まあレスをクラス化してT2chThreadのプロパティにすること自体は必要でしょ。

>すべての基底クラスにダウソ開始/終了
>なんていらないと思うのだが、
T2chResponse以外はダウソ開始・終了が必要でしょ。

>// ダウンローダ
>T2chDownloader = class(T2chObject)
>private
> FQueue: TObjectQueue; // スタックのがいいかも??
>public
この部分はdequeにして、ユーザーのクリックを優先的に処理して(stack)、
巡回を後回しに(queue)するのがいいかも。
マルチスレッドによる複数同時処理は
全部このクラスの内部に隠蔽しちゃえばすっきりすると思う。
とりあえずシングルスレッドで実装しといてあとで増やすこともできるし。

あとT2ch(Downloadable)Object自身に
巡回スケジュール&履歴プロパティがあるとよいかも。

turbo type D@monazillaたんがむばってね。
120デフォルトの名無しさん:2001/02/14(水) 22:45
>>118
OwnerData使うだけで速いよ、OwnerDrawする必要なんてない。
121turbo type D:2001/02/14(水) 23:48
むずかしいなーー、絶対ムズイよ。>>119
ある程度の所まで実装してアプしたら、
みんなさん、頼みまっせ。

htmlダウソならコンポつかっちゃってるけどそれじゃだめ?

ダウソドーロは全部スレッド化しろってぇ。難しいなあ。
122turbo type D:2001/02/15(木) 00:01
StringGridのスクロルバーは何とかできるが
マルチセレクトと非選択をやろうとするとだるい。

かちゅしゃと同様なUIだと
スレ表示されていてマルチセレか非選択状態ってのは
必要ないとも思える。

しかし、3000は厳しいな。
123ヒロユキ@ギコナビ:2001/02/15(木) 00:16
>>122
120さんも言っているけど、ListViewのOwnerDataを使うと簡単便利で高速だよ。
件数もあんまり関係ないし。
ギコナビもOwnerData。
124デフォルトの名無しさん:2001/02/15(木) 00:19
テクニシャンな方々はここだけでもコテハンきぼん。
特に 119 さん、なんかハンドル使ってください。
125turbo type D:2001/02/15(木) 00:24
>>124
そういう貴方も、コテハンを(・w・
126書記さん:2001/02/15(木) 00:34
>>125
すんづれぇーしました。書記さんです。
ジオのページ立ち上げた張本人です。
なお、ただいまぜんぜん役に立たないドキュソ、、、
じゃなくてドキュメントつくってます。
127書記さん:2001/02/15(木) 00:47
とりあえず資料をアップしてみました。
つーか全部こぴぺなんだけど。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/
128デフォルトの名無しさん:2001/02/15(木) 00:48
http://www.geocities.co.jp/SiliconValley-Cupertino/1858/
とりあえず一連の流れだけのヤツを作ってみたぞ。オレ様はWininetでマターリと逝く。
ちなみに、クラス設計はボロボロ。
なんと言っても、クラス設計はコード書きながらやったからな(今後はちゃんと設計する)。
あまり期待はしないで頂戴な。
129書記さん:2001/02/15(木) 01:00
>>128
opengiko.res が見つからないってエラー出た場合は炒ってよしですか?
(Delphi 5 Pro)
130デフォルトの名無しさん:2001/02/15(木) 01:02
>>129
ありゃ、D5はリソースファイルがいるのか。
自動的に作られるんじゃないの?が〜ん。
131書記さん:2001/02/15(木) 01:06
ボタンの絵とかがからぽでした、
にしてもなかなか動作の感じは良かったです。
132デフォルトの名無しさん:2001/02/15(木) 01:08
ボタンの絵とかは募集中だ!
133書記さん:2001/02/15(木) 01:10
あ、そういうことでしたか、>>募集中

・ホームページ管理人募集。

これは私が引き受けてもいいです。
134デフォルトの名無しさん:2001/02/15(木) 01:13
んじゃ、決定だ。頼む。
掲示板にftp関係のは書いておく。しばし待たれよ!
135デフォルトの名無しさん:2001/02/15(木) 01:16
書いたぞ!ゴルァ!
136デフォルトの名無しさん:2001/02/15(木) 01:18
明日も仕事だ。もう寝る。
137turbo type D:2001/02/15(木) 01:29
ボタンの絵などは、オプソっぽく自由に設定しろという方式はダメかナー
138turbo type D:2001/02/15(木) 01:31
各種コンポーネントのインストール方法(特にHTTPCLIやIndy)
の説明をキボぅ,(なるべく多くの人が参加しやすくなるから)
139turbo type D:2001/02/15(木) 01:33
関係ないけど
monazillaよりモナプロ〜ラ〜やギコプロ〜ラ〜の方が
いいというような思いも…センスナイっすか?
140デフォルトの名無しさん:2001/02/15(木) 01:49
面白そうなことやってますね〜。
一応Delphi,C++Builder使いだけど、スキルがないから参加は無理っぽそう(汗
141turbo type D:2001/02/15(木) 02:00
とりあえず暫定Main.dfm/Mail.pas(3ペインの画面だけ)
をアプしたいけど、アプ板どこかないかな。

>>140
そういわずに、俺もスキルナイナイから安心せ。
142デフォルトの名無しさん:2001/02/15(木) 02:39
とりあえず、HTTPCLIもIndyもいらんと思うのだがどうか。
143デフォルトの名無しさん:2001/02/15(木) 02:53
「>>」の扱いはどうするの?
144turbo type D@monazilla:2001/02/15(木) 10:01
>>142
>>88を見てくださいな。置き換え可能を意識してコード書いておきましょう。
TWebBrowserだけで出来るって事かな?Wininet?
表示せずにHTMLソースをダウソするのはどうするの?

>>143
HintWindowとリンクをつけたいね。
145デフォルトの名無しさん:2001/02/15(木) 11:17
>>141
アップロードする方法は

以下を切り取ってローカルファイルとして保存すれば簡単
なお、既に同名のファイルがあるかどうかは自分で注意する事

<HTML> <HEAD> <TITLE>monazillaアップローダ</TITLE></HEAD> <BODY>
<FORM action=http://tools.geocities.co.jp/cgi-bin/members/file_manager encType=multipart/form-data method=post>
<INPUT TYPE="hidden" NAME="member" VALUE="monazilla">
<INPUT TYPE="hidden" NAME="passwd" VALUE="8EYNK=LO;3QTkEyPaPg">
<INPUT TYPE="hidden" NAME="fulladdress" VALUE="SiliconValley-Oakland/9028">
<INPUT TYPE="hidden" NAME="subdirectory" VALUE="src">
<INPUT TYPE="hidden" NAME="email" VALUE="[email protected]">
<INPUT TYPE="hidden" NAME="geoextras" VALUE="YN4<">
<INPUT TYPE="hidden" NAME="timestamp" VALUE="982202865">
<INPUT name=extlist type=hidden value=-1>
<INPUT name=lowercase type=checkbox> ファイル名を自動的に小文字に変換<BR>
<INPUT name=addhtml type=checkbox> 拡張子".htm"を".html"に自動的に変換<BR><BR>
<INPUT name=userfile size=80 type=file><BR><BR>
<INPUT type=submit value=アップロード>
<INPUT type=reset value=クリア><BR></FORM>
</BODY></HTML>
146turbo type D@monazilla:2001/02/15(木) 11:35
>>145
これでどこにアプされるの?
147145:2001/02/15(木) 12:05
148デフォルトの名無しさん:2001/02/15(木) 12:35
>>144
WinInetはwebBrowserと関係なく単独で使える
WebBrowserが使えるなら普通 WinInetも使えるという意味
使い方は こっちのリンクから
http://piza.2ch.net/test/read.cgi?bbs=tech&key=970606624&st=306&to=308&nofirst=true

Cのサンプルだが使い方はこれ見れば簡単
http://tokyo.cool.ne.jp/masapico/api_sample_inet04_c.html
149デフォルトの名無しさん:2001/02/15(木) 12:37
>>144
TWebBrowser使える環境ならURL Moniker使えるでしょうし。
150デフォルトの名無しさん:2001/02/15(木) 12:42
>>149 それ教えて  MSDN入ってるのに俺馬鹿だから 日本語資料が無いと全然理解出来なくてさ
151turbo type D@monazilla:2001/02/15(木) 12:51
俺もわからん。>>149>>148

なるべく標準コンポ以外は使わない方向の方がいいのか?
でもそれで生産性が落ちるのはちょっと。

ユニット化して
function GetHTMLPageSource(URL: String): String;
こんな仕様で作ってくれれば
誰でも知っているやつが好きなように内部実装できると思うのだが。


152デフォルトの名無しさん:2001/02/15(木) 13:42
正直なところ、コンポーネント入れてまでという気はするな。
ソース配布されてても気楽に試しにくいのだよね。
153デフォルトの名無しさん:2001/02/15(木) 13:55
154デフォルトの名無しさん:2001/02/15(木) 14:16
>>152
同意。標準コンポで逝きましょうや。
155turbo type D@monazilla:2001/02/15(木) 14:36
俺も昔はそう(標準コンポ好き)だったけど、今は

     コンポぐらいインストシロヤ(゚Д゚)ゴルァ

っていいたいぞ。厨房じゃあるまいし
例えばブラウザ作る際に
VCLでUIWebBrowser使わないウマシカもいないだろ。

HTTPダウソならNMHTTPでも簡単だし。
一段落したら標準コンポ版も作っていいけど
NMHTTPバグだらけだから嫌だ
156デフォルトの名無しさん:2001/02/15(木) 15:02
>>155
既にWininetで動作してるのに、何故コンポーネントが
必要なのかわからなかっただけ。
まぁ、厨房でウマシカな俺には考え及ばない理由があるのだろうね。
157書記さん:2001/02/15(木) 15:07
おそーなった。
とりあえずコテハンきぼん>デフォルトの名無しさん 156
158154:2001/02/15(木) 15:08
ライセンスがらみがうぜぇとか、マイナーすぎて入手し難いのはちょっとねぇ
とかいう理由で言ってみたただけ。

とはいえ、さすがにNMHTTPはつかわんでいいと思う(藁
159書記さん:2001/02/15(木) 15:14
>>139
>monazillaよりモナプロ〜ラ〜やギコプロ〜ラ〜の方が
>いいというような思いも…センスナイっすか?

あ、モナプロ〜ラ〜いいですね。
monazillaはオープンソースのプロジェクト名で
プログラム名はおのおの好き勝手つけちゃってください。
ってのはどう?
160書記さん:2001/02/15(木) 15:15
>>158
NMHTTPは確かにちょいといただけないねー。
フリーで入手可能なコンポならなんでもいいけどねー。
161見物人:2001/02/15(木) 15:27
>>159
それに賛成。
162書記さん:2001/02/15(木) 15:31
>>161
では可決。
monazillaプロジェクトはいま、アクティブなのは以下の二つ?

1.オープンギコ (Delphi 4 + Wininet)
2.モナプロ〜ラ〜 (turbo type D : Delphi 5 + TWebBrowser + HTTPCLI?)

VC、BCB、VBもしなやかに参加してくれ!
163turbo type D@monazilla:2001/02/15(木) 15:31
聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ

>>156さんごめーんネ

聞いてくれてあーりがと アロエリーナ♪
\______ __________/
          |/
         ∧_∧
   Ψ    (∀・  )
   □    (∩∩ノ ) オレガWininetツカエナイダケダッタリシテ
  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
164書記さん:2001/02/15(木) 15:33
書記さんもなぜか Wininetが環境にひどく依存するような先入観を持ってた・・・
165turbo type D@monazilla:2001/02/15(木) 15:33
>>159マンセー
>>162シナヤカ長野県

HTTPCLIはギコナビでオレIndyのIdHTTP
166書記さん:2001/02/15(木) 15:36
>>165
あ、しつれーしました。

モナプロ〜ラ〜 = Delphi 5 + TWebBrowser + Indy
167デフォルトの名無しさん:2001/02/15(木) 15:44
>>164 あながち間違いでもありません
IE4でメモリリーク
IE5で日付問題
とトラブルがあるようです。が、じゃ他の方法は無いのかというと
採用例が少なくて表面化してないだけの可能性大
168名無しさん:2001/02/15(木) 15:44
結局収拾つかなくなったのか。
169デフォルトの名無しさん:2001/02/15(木) 15:47
>>167
メモリリークなんてIWebBrowser使う時点で諦めてる。
170書記さん:2001/02/15(木) 15:48
>>167
なるほど。
とりあえず モナプロ〜ラ〜 は Indy で、
オープンギコ は Wininet でやるっつーことで決定しましょ。
同じコンポ使って別々に書くわけじゃないから問題無いでしょー。
171デフォルトの名無しさん:2001/02/15(木) 15:49
>>169
いまどきの子はメモリリークぐらいじゃびっくりしません。
172書記さん:2001/02/15(木) 16:08
>>138
とりゃーず HTTPCLI のインスト方法だけアップしました。
投げやりのやっつけですが。。
Indyはまだ書記さんもセットアップしてないので待ってー
173turbo type D@monazilla:2001/02/15(木) 16:35
原因不明のuser32.dll落ち連続...でトレース実行が不可能になって
しまった。(TДT)DelphiIDEショボっ!

とりあえずmonaplorerの標準コンポだけの画面周りだけアプしましたよ
D5だと誰でも開けると思う
http://tools.geocities.co.jp/cgi-bin/members/file_manager
これでアプアプできたのかな?
145>>サンクス

174turbo type D@monazilla:2001/02/15(木) 16:40
175書記さん:2001/02/15(木) 16:44
http://www.geocities.co.jp/SiliconValley-Oakland/9028/
にもアップロード用のフォームつけておきました。
176デフォルトの名無しさん:2001/02/15(木) 16:49
「これをかっこよくクリック」は不覚にもワラタ
177デフォルトの名無しさん:2001/02/15(木) 16:53
>175
ジオ以外のところからアップロードさせないと巧く行かないから
別の所にアップローダを作るか、

アップロードフォームの所に一旦保存してからローカルに動かせって
 注意書きを書いた方がいいよ。

178書記さん:2001/02/15(木) 16:56
>>177
げ!そうなん!?ちょーしっぱい。。
179書記さん:2001/02/15(木) 17:12
ローカルに保存してアップしてもらうようにしました。
180デフォルトの名無しさん:2001/02/15(木) 18:50
>179 ジオだったら アップロードした人がゲストブックに説明書くようにしたらどうだ?
181書記さん:2001/02/15(木) 19:20
あいよ!その案採用!
ゲストブックつけました。
煽り禁止
http://www.geocities.co.jp/SiliconValley-Oakland/9028/
182デフォルトの名無しさん:2001/02/15(木) 20:19
書記さん 手数だが、ゲストブックにコメントで書かれる
&lt;!-- REMOTE ADDR: xxxxxxxx --&gt;
をタマには消す事にしておくれよ
別に残して困る事はないが、恥ずかしいからのう
183書記さん:2001/02/15(木) 20:22
>>182
いま、それに気がついたのでゲストブックを停止ー、
だれかフリーでリモートホストが出ない BBS 見つけてーー
184デフォルトの名無しさん:2001/02/15(木) 21:04
リモホが出ても、タマに消すよ程度でOKだよ。
どうしてもってんなら 日記を使ったらどう?
日記もファイルアップロードと同じ方法でいける筈
185デフォルトの名無しさん:2001/02/15(木) 21:43
こんな感じだろうと思う
<FORM METHOD="POST" ACTION="http://tools.geocities.co.jp/cgi-bin/members/dbook_wr">
<INPUT type=hidden NAME="member" VALUE="monazilla">
<INPUT type=hidden NAME="passwd" VALUE="mona">
<INPUT type=hidden name="state" VALUE="0">
<INPUT type=hidden NAME="fulladdress" VALUE="SiliconValley-Oakland/8522">
<input type=hidden NAME="subfontsiz" VALUE="5">
<input type=hidden NAME="subbgcolor_select" VALUE="0000FF">
<input type=hidden NAME="subforecolor_select" VALUE="FFFF00">
<input type=hidden NAME="conbgcolor_select" VALUE="FFFFFF">
<input type=hidden NAME="conforecolor_select" VALUE="000000">
<INPUT TYPE=hidden NAME="style" VALUE="1">
<INPUT NAME="subject" VALUE="title" SIZE=40 MAXLENGTH=80><BR>
<TEXTAREA NAME="content" rows=15 cols=40>内容</TEXTAREA>
<INPUT TYPE="submit" VALUE=" 送 信 ">
<INPUT TYPE="submit" NAME="PREVIEW" VALUE="プレビュー">
<INPUT TYPE="reset" VALUE="リセット">
</FORM>
186デフォルトの名無しさん:2001/02/15(木) 21:46
×8522
○9028
187185:2001/02/15(木) 21:50
ミスしたおかげで、思わぬジオの穴を見つけてしまった。
member と fulladdressの管理は別らしい。やれやれ
188ヒロユキ@ギコナビ:2001/02/16(金) 00:21
今、ギコナビのBoard.iniをXML化する予定。(あくまで予定)
その部分をmonazillaと共有させてもらいたいです。
もちろん、XML読み込みの部分のソースは公開します。
まだ、構想段階なので、マターリとやっていますけど。
ボード関連で、manazillaは、どういうふうに考えていますか?

あと、ギコナビで苦労した部分は、ローカルに保存してあるデータ(タイトル情報)を
読み込む部分です。
起動時に全部読み込めば、時間が掛かるし、起動時に読み込まなければ、
巡回のデータが無いので、巡回出来ないし。
単に、ダウンロードしたsubject.txtを毎回読むとなると、時間が掛かります。
ギコナビはindex.datファイルを作り、高速化を図っています。
これも、普通のピュアテキストだと遅いし、固定長だと容量が食いすぎます。
(Recordだとタイトルなどは文字列のため、Delphiだと255文字固定の制限もついてしまいます)

ギコナビでは、数値データはRecord。文字列は文字列長&文字列でガリガリ書いています。
ただし、これもバージョンアップで項目が増えた場合に問題が出てきます。
(ふるいバージョンのデータを読み込む機能が必要)
ストリーム化での方法は、バージョンアップでの対応が出来なさそうだったので、却下でした。
結構重要な部分(実際ギコナビでは、かなり時間をかけた)なのですが、monazillaでは、
どうする予定でしょうか?
189turbo type D:2001/02/16(金) 00:26
そういう難しいことは決まってないに
2億はらたいら。お願いしまsう。
190フッサール少佐:2001/02/16(金) 00:31
高速化をするには、当然index化はするでしょう。
indexはバイナリファイルをTStreamでガリガリやるのが一番速いです。
さらにキチ○イのような速度を追求するなら、Streamのバッファリング
も行います。moveしまくりで、これがDelphiのソースなのか…という
状態になりますが。それにindexのバージョンアップに多少の問題は残りますー。

バイナリファイルにAnsiString型を格納するには、その文字列長の
情報が必要になります。まだ先の話ですけどね。まずは、基本機能
がまともに動かないといけません。
191デフォルトの名無しさん:2001/02/16(金) 00:48
HP
がJazillaのパクってて笑った!
http://jazilla.sourceforge.net/
192ヒロユキ@ギコナビ:2001/02/16(金) 00:53
ギコナビの(公開以前のバージョン)DatからHTML変換。
ソース書き込むところが分からなかったから、ここに書きます。
今、ギコナビソースのマシンじゃないから古いソースでごめん。眠いし。
もしかしたら、足らないメソッドとかあるかも。
厨房ソースでごめん。現在のソースはだいぶ変わっていたと思う。

function TGikoSys.DatToHtml(bbsid: string; filename: string;): string;
var
i: integer;
no: string;
mailto: string;
name: string;
datetime: string;
body: string;
readdat: TStringList;
textcolor: string;
backcolor: string;
html: string;
begin
result := '';
filename := GikoSys.GetThreadFileName(bbsid, filename);
readdat := TStringList.Create;
try
readdat.LoadFromFile(filename);
ParseDatLine(readdat[0], title, mailto, name, datetime, body);
title := StringReplace(title, ',', ',', [rfReplaceAll]);
saveList := TStringList.Create;
textcolor := Format('%.8x', [Setting.BrowserFontColor]);
backcolor := Format('%.8x', [Setting.BrowserBackColor]);
textcolor := '#' + Copy(textcolor, 7, 2) + Copy(textcolor, 5, 2) + Copy(textcolor, 3, 2);
backcolor := '#' + Copy(backcolor, 7, 2) + Copy(backcolor, 5, 2) + Copy(backcolor, 3, 2);
html = '<html><head>'
+ '<meta http-equiv="Content-Type" content="text/html; charset=x-sjis">'
+ '<title>' + title + '</title>'
+ '</head>'
+ '<BODY TEXT="' + TextColor + '" BGCOLOR="' + BackColor + '" link="#0000FF" alink="#FF0000" vlink="#660099">'
+ '<dl>'
+ '<font size=+1 color="#FF0000">' + title + '</font>';
for i := 0 to readdat.Count - 1 do begin
if (Trim(readdat[i]) <> '') then begin
no := IntToStr(i + 1);
DivideStrLine(readdat[i], title, mailto, name, datetime, body);
mailto := StringReplace(MailTo, ',', ',', [rfReplaceAll]);
name := StringReplace(Name, ',', ',', [rfReplaceAll]);
body := StringReplace(Body, ',', ',', [rfReplaceAll]);
body := StringReplace(Body, '&amphearts;', '&hearts;', [rfReplaceAll]);
body := StringReplace(Body, '&amp#', '&#', [rfReplaceAll]);
//Body := ConvHtmlLink(Body);
{&lt;&gt;&quot;&amp;}
if mailto = '' then begin
html = html + '<dt>' + No + ' 名前:<font color="forestgreen"><b> ' + Name + ' </b></font> 投稿日: ' + DateTime+ '<br><dd>' + body + '<br><br><br>';
end else begin
html = html + '<dt>' + No + ' 名前:<a href="mailto:' + MailTo + '"><b> ' + Name + ' </B></a> 投稿日: ' + DateTime+ '<br><dd>' + body + '<br><br><br>');
end;
end;
end;
Result = html + '</body></html>';
finally
readdat.Free;
end;
end;
193turbo type D:2001/02/16(金) 00:55
全く関係ないが、ギコナビのIEくりそつキャビネット部分ってなんなの?
不思議モナー
194ヒロユキ@ギコナビ:2001/02/16(金) 00:59
>>190
indexファイルのバージョンアップですが、ギコナビでは、ファイルの先頭に
バージョンを入れています。
バージョンを比較して、古いなら、新バージョンのindexを作ろうかと思っています。
#まだ、indexのバージョンアップをしていないので、どうなるかわかりませんが。
195turbo type D:2001/02/16(金) 01:01
字下げてないと病気になりそうなので〜〜〜〜>>192

function TGikoSys.DatToHtml(bbsid: string; filename: string;): string;
var
 i: integer;
 no: string;
 mailto: string;
 name: string;
 datetime: string;
 body: string;
 readdat: TStringList;
 textcolor: string;
 backcolor: string;
 html: string;
begin
 result := '';
 filename := GikoSys.GetThreadFileName(bbsid, filename);

 readdat := TStringList.Create;
 try
  readdat.LoadFromFile(filename);
  ParseDatLine(readdat[0], title, mailto, name, datetime, body);
  title := StringReplace(title, ',', ',', [rfReplaceAll]);

  saveList := TStringList.Create;

  textcolor := Format('%.8x', [Setting.BrowserFontColor]);
  backcolor := Format('%.8x', [Setting.BrowserBackColor]);
  textcolor := '#' + Copy(textcolor, 7, 2) + Copy(textcolor, 5, 2) + Copy(textcolor, 3, 2);
  backcolor := '#' + Copy(backcolor, 7, 2) + Copy(backcolor, 5, 2) + Copy(backcolor, 3, 2);

  html = '<html><head>'
     + '<meta http-equiv="Content-Type" content="text/html; charset=x-sjis">'
     + '<title>' + title + '</title>'
     + '</head>'
     + '<BODY TEXT="' + TextColor + '" BGCOLOR="' + BackColor + '" link="#0000FF" alink="#FF0000" vlink="#660099">'
     + '<dl>'
     + '<font size=+1 color="#FF0000">' + title + '</font>';

  for i := 0 to readdat.Count - 1 do begin

   if (Trim(readdat[i]) <> '') then begin
    no := IntToStr(i + 1);
    DivideStrLine(readdat[i], title, mailto, name, datetime, body);
    mailto := StringReplace(MailTo, ',', ',', [rfReplaceAll]);
    name := StringReplace(Name, ',', ',', [rfReplaceAll]);
    body := StringReplace(Body, ',', ',', [rfReplaceAll]);
    body := StringReplace(Body, '&hearts;', '?', [rfReplaceAll]);
    body := StringReplace(Body, '&#', '&#', [rfReplaceAll]);
    //Body := ConvHtmlLink(Body);

    {<>"&}
    if mailto = '' then begin
     html = html + '<dt>' + No + ' 名前:<font color="forestgreen"><b> ' + Name + ' </b></font> 投稿日: ' + DateTime+ '<br><dd>' + body + '<br><br><br>';
    end else begin
     html = html + '<dt>' + No + ' 名前:<a href="mailto:' + MailTo + '"><b> ' + Name + ' </B></a> 投稿日: ' + DateTime+ '<br><dd>' + body + '<br><br><br>');
    end;

   end;
  end;

  Result = html + '</body></html>';
 finally
  readdat.Free;
 end;
end;
196ヒロユキ@ギコナビ:2001/02/16(金) 01:05
>>193
実際のIEは、レバー(TCoolBar)+ツールバー+ツリーのようです。
DelphiのTCoolBarはバグっているようで、実現できなかったので、
TPanel(藁)などを駆使しています。
アプできる場所ってどこ?
フォームだけアプするよ。
でも、今日は寝ます。
197turbo type D:2001/02/16(金) 01:09
ねましょうねましょう。

オレは部屋が寒いので手がかじかんで
キーボード打てません、鬱だ0721しぃよ
198フッサール少佐:2001/02/16(金) 01:09
>>194
そうですな。私も他のソフトでその方法をやっとります。
ただ、それを本体のコードで持っちゃうと美しくないというか(別クラスでもいやん)。
単純にそれだけですけど。
自動的に新indexに変換というのはユーザーにやさしい仕様でありまするな。
199デフォルトの名無しさん:2001/02/16(金) 01:27
そーいえば、ボタンやアイコンのデザイン部隊はいないのか?
「とりあえず参加して〜」って人がそっち方面を充実させてくれれば、
開発部隊も気楽になると思う。
俺はセンスないんで無理ですが。
200デフォルトの名無しさん:2001/02/16(金) 01:39
仕様は飲みながら決めよーぜー
201turbo type D:2001/02/16(金) 03:09
>>200

そう"しーよーおーーーー"

んーマターリ
202デフォルトの名無しさん:2001/02/16(金) 08:51
どうでもいいが、TFileStreamは無茶苦茶遅いぜー。
iostream使うべ。

あと、WTLならCPaneContainerってのがあるぜー。
これをコンポーネント化したのがあるから、気が向いたらアップするー。
以上、BCB使いの寝言。
203turbo type D@monazilla:2001/02/16(金) 09:51
DelphianWorldMLで出てたURLクリッカブルRichEdit
動作しねーんでやんの。Win98/2000あたりだけ対応なのかな。
204turbo type D@monazilla:2001/02/16(金) 09:54
DelphiにもBCBコンポを使えるようにC++コンパイラを入れて欲しいよな。
205デフォルトの名無しさん:2001/02/16(金) 09:57
BCBは、Delphiのコードがコンパイルできるって言っても、
それをメインにして開発できるわけじゃないからなあ。
俺は、それが出来るもんだと思ってBCB買って失敗した…。
やった、DelphiでC++が使える!とか思ってたのに。
206turbo type D@monazilla:2001/02/16(金) 11:57
2chって本文何行何文字までなの
207turbo type D@monazilla:2001/02/16(金) 11:59
ボード一覧をTReeViewに取得するソースで来た
動作確認した。

が、
http://salad.2ch.net/bbstable.html
のソースが不完全な場合のエラー処理に自信がない。
208turbo type D@monazilla:2001/02/16(金) 12:15
monazilla_studioでアプしようとしてるモナカ(最中)ですが
同名ファイルでも問題ないかな?
209turbo type D@monazilla:2001/02/16(金) 12:39
//////////////////
//2chのHTMLソース(http://salad.2ch.net/bbstable.html)
//からTreeViewのItemを設定するソース
procedure TMonaplorerForm.GetTreeViewItem(HtmlSource: String);
var
 i: Integer;
 CategoryDataStart, CategoryDataEnd: Integer;
 CategoryTitleStart, CategoryTitleEnd: Integer;
 BoardCount, BoardDataStart, BoardDataEnd: Integer;
 BoardTitleStart, BoardTitleEnd: Integer;
 BoardURLStart, BoardURLEnd: Integer;
 S, CategoryData, CategoryTitle, BoardData, BoardTitle, BoardURL: String;
 NiChanCategory: TNichCategory;
 NiChanBoard: TNichBoard;
 BaseTreeNode: TTreeNode;
 CategoryTreeNode, BoardTreeNode: TTreeNode;
begin
 //板一覧を表示させるベースとなるTTreeNodeを指定
 BaseTreeNode := BoardListTree.Items.Item[1];

 S := HtmlSource;

 while true do
 begin
  if S = '' then break;

  //CategoryDataを取得する
  CategoryDataStart := AnsiPos('<B>', AnsiUpperCase(S));
  if CategoryDataStart = 0 then break;
  CategoryDataEnd := AnsiPos('<B>', Copy(S, CategoryDataStart+1, Length(S)));
  CategoryDataEnd := CategoryDataStart + CategoryDataEnd;
  if CategoryDataEnd = CategoryDataStart then
   CategoryDataEnd := Length(S)
  else
   Dec(CategoryDataEnd);

  CategoryData := Copy(S, CategoryDataStart, CategoryDataEnd - CategoryDataStart + 1);
  if CategoryData = '' then Assert(false, '鰓');
  Delete(S, CategoryDataStart, CategoryDataEnd - CategoryDataStart + 1);

  //CategoryTitleを取得する
  CategoryTitleStart := AnsiPos('<B>', CategoryData);
  if CategoryDataStart = 0 then Assert(false, '鰓');
  CategoryTitleEnd := AnsiPos('</B>', CategoryData);
  if CategoryDataEnd = 0 then Assert(false, '鰓');
  CategoryTitle := Copy(CategoryData, CategoryTitleStart,
             CategoryTitleEnd+3 - CategoryTitleStart + 1);
   //<B>...</B>からBタグを除去
  CategoryTitle := Copy(CategoryTitle, 4, Length(CategoryTitle)-4 - 4 + 1);
  if CategoryTitle = '' then Assert(false, '鰓');
210turbo type D@monazilla:2001/02/16(金) 12:40
>>209続き
  //カテゴリを生成
  NiChanCategory := TNichCategory.Create;
  NiChanCategory.Title := CategoryTitle;
  NiChannel.AddCategory(NiChanCategory);

  //TreeNodeを作成
  CategoryTreeNode := TTreeView(BaseTreeNode.TreeView).
             Items.AddChild(BaseTreeNode, CategoryTitle);
  CategoryTreeNode.Data := NiChanCategory;

  Delete(CategoryData, CategoryTitleStart, CategoryTitleEnd+3 - CategoryTitleStart +1);

  //Boardを取得する
  BoardCount := StrCount1('<A HREF=', AnsiUpperCase(CategoryData));
  if BoardCount = 0 then Assert(false, '鰓');
  if BoardCount <> StrCount1('</A>', AnsiUpperCase(CategoryData)) then
   Assert(false, '鰓');
  for i:=0 to BoardCount-1 do
  begin
   //<A HREF=http://www..>..</A>の文字列を得る
   BoardDataStart := AnsiPos('<A HREF=', AnsiUpperCase(CategoryData));
   BoardDataEnd := AnsiPos('</A>', AnsiUpperCase(CategoryData));
   BoardData := Copy(CategoryData, BoardDataStart, BoardDataEnd+3 - BoardDataStart +1);
   if BoardData= '' then continue;

   Delete(CategoryData, BoardDataStart, BoardDataEnd+3 - BoardDataStart +1);

    //<A HREF=http://www..>..</A>からAタグを除去
   BoardTitleStart := AnsiPos('>', AnsiUpperCase(BoardData) ) + 1;
   BoardTitleEnd := AnsiPos('</A>', AnsiUpperCase(BoardData) ) -1;
   BoardTitle := Copy(BoardData, BoardTitleStart, BoardTitleEnd - BoardTitleStart +1);
   if BoardTitle = '' then continue;

    //mailtoリンクならボードではないので無視
   if AnsiPos('<A HREF=MAILTO', AnsiUpperCase(BoardData) ) <> 0 then continue;
    //<A HREF=http://www..>..</A>からURLを取得
   BoardURLStart := AnsiPos('HTTP://', AnsiUpperCase(BoardData) );
   BoardURLEnd := AnsiPos('>', BoardData) - 1;
   BoardURL := Copy(BoardData, BoardURLStart, BoardURLEnd - BoardURLStart + 1);
   if BoardURL = '' then continue;

   //ボードを生成
   NiChanBoard := TNichBoard.Create;
   NiChanBoard.Title := BoardTitle;
   NiChanBoard.URL := BoardURL;
   NiChanBoard.Name := '';//米 とりあえず必要ではないのでまだ実装していない。

   NiChannel.AddBoard(NiChanBoard);
   NiChanCategory.AddBoard(NiChanBoard);

   //TreeNodeを生成
   BoardTreeNode := TTreeView(BaseTreeNode.TreeView).Items.
             AddChild(CategoryTreeNode, BoardTitle);
   BoardTreeNode.Data := NiChanBoard;
  end;
 end;
end;
211turbo type D@monazilla:2001/02/16(金) 13:14
そういえば、Indyのインストール方法もmozilla.orgに書いてほしい。


--(゚Д゚)ゴルァ--(゚Д゚)ゴルァ--(゚Д゚)ゴルァ--(゚Д゚)ゴルァ--(゚Д゚)ゴルァ--

まず、D4/D5/BCB4/BCB5どれでもいいから
きっちりアップデートしておく。

http://www.nevrona.com/Indy/Download.html
のページの下の方の
Indy(Winshoes 8) v8.0
のリンク先
http://www.nevrona.com/Indy/download80.html
ページの
8.0.22版の
一番上のリンクをクリックしてexeをダウソすれ

exeが手に入るのでそれを実行。

あとはウィザードに従ってFinishを連打する

インストールフォルダ選んだり
 言語選んだり
  D4/D5/BCB4/BCB5を選んだりする場面があるが
難しい選択肢は無い。
HELPファイルもインストールが自動なのでFinish押して
それだけでオワリ。

--(゚Д゚)ゴルァ--(゚Д゚)ゴルァ--(゚Д゚)ゴルァ--(゚Д゚)ゴルァ--(゚Д゚)ゴルァ--
212turbo type D@monazilla:2001/02/16(金) 13:37
聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ

「一人カキコミ、ムナシいの」

聞いてくれてあーりがと アロエリーナ♪
\______ ________/
          |/
   Ψ     (-_-)
   □     (∩∩)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
213デフォルトの名無しさん:2001/02/16(金) 13:47
気にするな。ある程度形になるまでは、一人は先導者が必要。廃れるより数倍もまし。
214デフォルトの名無しさん:2001/02/16(金) 14:20
>>211
Automatic Installがあるのか楽だね。
リンクありがと。

慣れているC++Builderでいじってみるよ。
にしても大量にコンポーネントが登録されるな。
215見物人:2001/02/16(金) 15:59
>>213
そのとおり!
こういうプロジェクトはそれっぽく動きだすまで
誰かがぐいぐいひっぱっていかないとね。
というわけでagezilla
216デフォルトの名無しさん:2001/02/16(金) 17:03
ん?モナプロ〜ラ〜はボード一覧をbbstable.htmlかbbsmenu.htmlの
ままで持つのかな?
board.txtとかboard.2chとかみたく、
取得して切り分けた後、別ファイルで保存すると思ってた。
ギコナビはboard.iniをXML化するって?XML知らんがな。ははは。
217turbo type D@monazilla:2001/02/16(金) 17:39
>>216
どっちでもいいよん。
今の所一応、ローカルファイルに保存して試してるだけナリ。

データ解析はOKになったので
保存形式など加工は自由ですニャ。

毎度毎度読み込んだり解析したりすると
遅いから保存形式考えますか。

高速iniファイル互換アクセスコンポとか
あれば利用したいよーん。(高速化メンドうだから)
だれか知らない?
218デフォルトの名無しさん:2001/02/16(金) 18:33
時間はそんなに考えなくていいんじゃないかな。
多分、起動時と更新時にしかつかわないから。
それよりも、加工のしやすさを考えて別ファイルにしようよ。
例えば、行かない板を編集したりしやすいし、
ちょっとしたツールを作るときもそのほうがやりやすい。
まあ、全文検索をしたりするのは、
内部データにアクセスする形にすればいいだろうけど、
外からもいじりやすいほうがいいでしょ。
219turbo type D@monazilla:2001/02/16(金) 18:58
>>218おおよそ了解。

行かない板をテキストファイルで編集加工
というのはちょっとどうかと思う。
ユーザーにそれさせるべきかあ?
(2chネラはそれくらい造作ないにしてもだ。)
オレ自身がかちゅーしゃの板データを弄くる気にならないもん。

意見求むー。

ちょっとしたツールのことはリョウカイ

TreeView構造にしているのは
お気に入りを板一覧と同様のUIで自分で管理
出来るようにさせたいから。
IEのお気に入りと同じくURLショートカットを集めたフォルダ構造で
お気に入りを構成させるつもり。>>まだ先。
220turbo type D@monazilla:2001/02/16(金) 19:00
現状はhttp://salad.2ch.net/bbstable.html
のソースから直読みで

データ構造とTreeViewを
作ってしまっているが、動作確認もしたので
>>207のエラー処理に自信がない点だれか教えてクレクレタコラ)

データを受け持つTNich...クラスは独立して

HTMLソースから>>TNich...etc

TNich...etc>>TreeView
TNich...etc>>Iniもしくは独自ファイル
TNich...etc<<Iniもしくは独自ファイル

こんな感じの機能を実装しますね。
::::誰かやってくれてもいいんだよ(w


そうそう現状はIndy組み込んでいないので
誰でもインストできるはずだよ。
ばっちりオ^プンソですな。

それにしても関数どうしても100行超えてしまうな。
構造化も無理っぽいし。
理想はもっと構造化コマギレだがどうして現実は難しい。
221turbo type D@monazilla:2001/02/16(金) 19:02
イトアハレ、MLでNMFTP地獄に巻き込まれてる人発見。
222デフォルトの名無しさん:2001/02/16(金) 20:30
こういうスレ好きだから、廃れないでくれ。頼む。
223デフォルトの名無しさん:2001/02/16(金) 21:18
>行かない板をテキストファイルで編集加工
>というのはちょっとどうかと思う。
>ユーザーにそれさせるべきかあ?

こーゆーの(GUIで編集等)は、欲しい人がいれば誰かが作るかも。
というか、それも「ちょっとしたツール」だね。
224書記さん:2001/02/16(金) 21:45
>>208
同名でも問題ないです!アップしちゃってください!
できればファイル名にバージョン・レベル番号とかつけてもらいたいー。
225デフォルトの名無しさん:2001/02/16(金) 21:53
>>191
こっち、こっち!
http://www.mozilla.org/
226ヒロユキ@ギコナビ:2001/02/16(金) 23:06
>>217
Delphi標準のTMemIniFileは?ギコナビでも使っているし。
API使わないで、直にファイル操作しているみたいなので、
64Kの制限とかないし。(速いかどうかはわからないけど)
227デフォルトの名無しさん:2001/02/16(金) 23:10
さすがに、191はネタだろ(藁
228ヒロユキ@ギコナビ:2001/02/16(金) 23:34
ギコナビのメインフォームだけをアップしました。
フォームだけなので、コードはありません。
煮るなり焼くなりパクるなり捨てるなり自由にお使いください。
229書記さん:2001/02/16(金) 23:49
ファイルはこれですね。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/gikoForm.lzh
ギコナビの UI って特別なコンポ使ってるかと思ってた・・
230デフォルトの名無しさん:2001/02/17(土) 00:02
自分のものはオープンする気のないヤツが
どーでもいいようなとこだけ小出しにして
オープンプロジェクトに口はさむのはどーかと思うが。
ギコナビ君、正直何考えてる?
人気回復?オープンプロジェクトの誘導?
231フッサール少佐:2001/02/17(土) 00:18
書記さんへ
いきなりですが、引っ越してしまいました。
すいませんが、リンクだけ直しておいてください。
http://www.geocities.co.jp/SiliconValley-Cupertino/1026/
ここに出てきている物を色々パクッて、ちゃんとしたクラス設計部分を反映した
いと思うデス。今日中は無理かな。
232書記さん:2001/02/17(土) 00:23
了解でーす。
233デフォルトの名無しさん:2001/02/17(土) 01:02
>>230
適度に口をはさんで協力してくれてるんだから
どうでもいいと思うがのお。

オプソでなくても、その辺が絡むとうざい。
せっかくの2chだ。深く考えないで逝こうぜ。
234デフォルトの名無しさん:2001/02/17(土) 01:20
          || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
          || 煽りは無視。   Λ_Λ  いいですね。
          ||         \ (゜ー゜*)
          ||________⊂⊂ |
  ∧∧   ∧∧   ∧∧    | ̄ ̄ ̄ ̄|
  (  ∧∧ (  ∧∧ (  ∧∧ |    |
〜(_(  ∧∧ __(  ∧∧__(  ∧∧ ̄ ̄ ̄
  〜(_(  ∧∧_(  ∧∧_(  ∧∧ は〜い、先生。
    〜(_(  ,,)〜(_(  ,,)〜(_(  ,,)
      〜(___)  〜(___)  〜(___)
235デフォルトの名無しさん:2001/02/17(土) 01:31
>>225
逝ってきます。
236デフォルトの名無しさん:2001/02/17(土) 01:48
あの〜D4の人もいると思うので(オレ)、
D5限定でない場合はフォームをD4互換でおねがいします。
以下引用、

Delphi 5 で作成したフォームファイル(DFM)は,デフォルトでバイナリではなくテキストとして保存されるようになりました。したがって,Delphi 5 で作成したフォームを以前のバージョンの Delphi で使用したい場合は,フォームをバイナリとして保存する必要があります。フォームを右クリックして[テキスト形式 DFM]のチェックを外すと,フォームはバイナリとして保存されます。デフォルトの動作としてフォームをバイナリで保存したい場合は,[ツール|環境オプション]の[設定]ページで[テキスト形式で作成]のチェックを外しておきます。
237ヒロユキ@ギコナビ:2001/02/17(土) 02:41
このスレの趣旨とは、全く関係の無い話ですみません。
これ一回だけにします。

>>230
>自分のものはオープンする気のないヤツが

オープンソースプロジェクトに参加する人は、それとは「別の」クローズドなソフトを
開発していてはダメなの?
別にギコナビで商売しているわけではないので、いいと思うんだけどなぁ。
それとも、monazillaとギコナビは仲良くしてはだめ?
monazillaとギコナビの最終目標は相手を潰すことなの?

>ギコナビ君、正直何考えてる?

このプロジェクトを誘導したりしようとは思ってないよ。
そんな時間的余裕も技術的な知識も人を動かす力も無いし。
別にギコナビがどうのこうのって、関係ないでしょ?

ギコナビの人気回復の話は、失笑ですね。
正確に言うと、もともと人気がないから回復とは言わないですね。
なんか勘違いしているようですが、ギコナビのシェアを高めるために
僕がここへ書き込むわけではありません。
どんな方法を使ってでもシェアをとりたいなら、自作自演で各板に書きまくれば済む話。

ギコナビは、ソースを公開する予定は無かった(ギコナビですら公開しようと思って作った
訳ではないです)ので、現在も公開していませんが、
同じツールを使っていて、同じジャンルのオープンソースプロジェクトが出来たから、
いろいろ、参考になると思われる部分を公開しただけ。

>どーでもいいようなとこだけ小出しにして

どーでもいいようなとこだけですみませんでした。
結構苦労して作った部分なんだけどなぁ。
UIとか、使用しているクラス名、苦労した話やアイデアとかは、殆どの人には
くだらないかもしれないけど、もしかしたら、そういう話を欲しがって
いる人がいるかもしれないと思ってやったことなんだけど、
余計なお世話だったようで。

>オープンプロジェクトに口はさむのはどーかと思うが。

オープンソースって誰でも参加出来ると思ってたよ。
ごめんね。「クローズ」なソフトを作っている人が「オープン」の場所で
どーでもいいような知識をばら撒いて。
238デフォルトの名無しさん:2001/02/17(土) 08:19
239デフォルトの名無しさん:2001/02/17(土) 10:11
誰でも参加出来るからこそ、オープンソースだと思うけどね。
>○○が参加するのはどうか
なんてのは、参加する者を限定する最悪な考え方だ。

230がどれほどの貢献をしているのかはあえて聞かないが、
ヒロユキはちゃんと貢献している。
経験を生かしての意見だったり、過去に作ったコードの一部だったり。
ヒロユキが好意で書きこんでいる事を、
>人気回復?オープンプロジェクトの誘導?
こんな考え方しか出来ないのは、よほど心が貧しいのだろう。
240デフォルトの名無しさん:2001/02/17(土) 11:34
230は、オープンソース勘違い信者。
参加を制限するなら、オープンソースで行う意味が無いのではないか。
241turbotypeD@モナぢら:2001/02/17(土) 15:59
>>224
ようやく復活。
242turbotypeD@モナぢら:2001/02/17(土) 16:01
>>226
ヒロユキさんくす。

TMemIniFile使ってみる。遅くてもOK、
遅かったらいずれ誰かにTMemIniFileと同仕様で
高速化してもらうことにしませう。
243turbotypeD@モナぢら:2001/02/17(土) 16:02
ヒロユキ@ギコナビには
感謝感謝。
244turbotypeD@モナぢら:2001/02/17(土) 16:12
ライセンスとか"どーでも"いいので、
マターリいくぜ!

つことで、しょモナーい事を頭で考える前に
コード実装カンガエマソ。

コード実装できそうにないみんなさんも
UIのアイデアとかあったらじゃんじゃん炒ってくれよ。
245見物人:2001/02/17(土) 16:19
みんながんばってくださーい。

ところで何かコントリビュートしたいんだけどCのコードじゃだめ?
246turbotypeD@モナぢら:2001/02/17(土) 16:23
何?コントリビュ^トって。

あと、BCB<<>>Delphiのコード置換って
めちゃらくらくだと思うのだが、
自動変換するソフト知らないか?探せば必ずあると思われ。
そしたらBCBで参加もできるし。
247turbotypeD@モナぢら:2001/02/17(土) 17:28
会社にモナプロラのソース忘れた。最悪!

とりにいくか。(xДx)トホホもな。
248書記さん:2001/02/17(土) 17:30
>>247
それ、わたしもよくやる・・・
249デフォルトの名無しさん:2001/02/17(土) 17:35
FTPアカウントもってるならソースをメディアで持ち歩かなくても
いいと思うが。
250デフォルトの名無しさん:2001/02/17(土) 17:42
>>249
そのアップを忘れるんです。
251見物人:2001/02/17(土) 19:21
>>246
http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=contribute&sw=0

っていうかOSがFreeBSDなので。。。
やっぱり無理かなあ。
252フッサール少佐:2001/02/17(土) 19:25
TWebBrowserで書くときは、無理やりWriteしちゃって追加書き込みできるようになったんだけど、消すことができん。教えてキボンヌ。
Streamで書き込みする方法とかもキボンヌ。
253デフォルトの名無しさん:2001/02/17(土) 19:35
>>251
ぜひ、FreeBSD版 monazillaをおがみたい!!
254見物人:2001/02/17(土) 19:56
>>253
うーむ、、じゃとりあえずUIでも作ってみるよ。
255見物人:2001/02/17(土) 19:57
副産物としてlib2chみたいなの作りたいな。。とか。。
256見物人:2001/02/17(土) 20:16
それにしても結構面倒そう。
257turbotypeD@モナぢら:2001/02/17(土) 20:47
>>Linux版ならkylixでたら、
誰かやりそう。
多分monazilla基本部分は
API叩き無しのCLXで十分作れるものになるはず。

やっぱ今日、取りに行くのヤメタ。だるすぎる。
明日の朝近所に用事があるので会社よるわ。(決して出社ではない。)
いつもMOでデータ同期をしていたんだが
ぬかってしまいました。
258見物人:2001/02/17(土) 21:00
とりあえずGUIで動いて、読み込めるぐらいのを目指してみようかな、、、
名前はgikozillaってことで。

>>257
ツールキットはGTKを使うのでFreeBSD依存ってことはないと思う。
ただ、僕はFreeBSDを使ってるので。
259gikozilla:2001/02/17(土) 21:04
名前を見物人からgikozillaにすることにしました。

目標(?)としては、読み込みながら表示出来るようにしたい。
ついでに自分で作った拡張言語も使えるようにしたい。
260turbotypeD@モナぢら:2001/02/17(土) 21:10
プアパスカルの人かな?
261書記さん:2001/02/17(土) 21:13
>>見物人
gikozilla歓迎です!
で、なんて書けばいいかな、
gikozilla = PC-UNIX + GTK + C ?
FreeBSDとかGTKとかよーわからんです、、。
262書記さん:2001/02/17(土) 21:14
しまった、ハンドル変更されたんですね。
修正。
>>gikozillaさん
gikozillaプロジェクト歓迎です!
263デフォルトの名無しさん:2001/02/17(土) 21:40
コンパイル済みコンポーネントならDelphi/BCB共通で使えるでしょ?
標準コンポメインでいくならあんま意味無いか。

俺もなんかコントリビュートしたいなあ。
3月半ばになれば時間作れるんだけど


264gikozilla:2001/02/17(土) 23:15
とりあえず、ログ読み込みはどうにかなりそうです。
GUIも骨組みは出来ました。

>>261
「GTKで書かれた2ちゃんねる専用ログ巡回ソフトです。」
とでもしておいてください。
265フッサール少佐:2001/02/18(日) 01:47
とりあえず、更新。
オレがクラス設計するとこうなります。
http://www.geocities.co.jp/SiliconValley-Cupertino/1026/
266デフォルトの名無しさん:2001/02/18(日) 03:40
あの〜例えばこことロビー(teri?)とかの
sabject.txt の仕様が違うみたいなんですが、
こーゆーのは何種類くらいあるのですか?サーバごとですか?
ご存知の方はご報告ください。
267デフォルトの名無しさん:2001/02/18(日) 04:08
頼む、sourceforge使ってくれ・・・。
268デフォルトの名無しさん:2001/02/18(日) 04:21
>>266
> こーゆーのは何種類くらいあるのですか?サーバごとですか?

「,」と「<>」と「<>」だったかな。
どの板がどれってのは、サーバとか板の種類とかは、全然関係ないと思う。
あと、区切が「,」じゃないとこは本文の「,」が「,」に置換されてないっ
てのも注意。

頑張れぇ。
269268:2001/02/18(日) 04:24
「@」「`」が「,」に置換されてる。。。
鬱だ。。。
270デフォルトの名無しさん:2001/02/18(日) 04:49
>>268
とりあえず14カラムめの判定から何パターンかやればいいのかな。
ありがとう。頑張るぅ。
271268:2001/02/18(日) 05:12
>>268
> どの板がどれってのは、サーバとか板の種類とかは、全然関係ないと思う。
って思ってたんだけど関係あるみたいな・・・(汗)。
とりあえず、今ざっと見直した感じ、teriが「<>」で、他は「,」っぽい。
前「<>」使ってるとこもあったと思ったんだけどな。
ゴメンナサイ。
272turbo type D@monazilla:2001/02/18(日) 10:44
仕事場からだわ〜。

monaplorerアプしたつもりだけど
確認できないな。
273turbo type D@monazilla:2001/02/18(日) 10:50
アップされたファイルが
出てこないぞ。
会社がFTPサポしてないから無理なのか?

前 ぁ ゃι ぃソスの方なら大丈夫だったんだけどなー?。


一応、無理無理にぁ ゃι ぃの方にもアプしておく
ファイル名はmonaplorer.lzh
コメンとはプモナ君としておくよ。

すぐに削除されるの目に見えてるけど。
274turbo type D@monazilla:2001/02/18(日) 11:03
"もなヂラ掲示板"
本文容量制限なしにしていただけないでせうか?
ソースアプしたいが分割掲載するのは、めんどくさいっす。

一応、クラス部分のソースはアプしました。
275フッサール少佐:2001/02/18(日) 12:26
え?subject.txtって全部同じフォーマットじゃないんですか。が〜ん。
できれば、詳細キボン。
27698:2001/02/18(日) 13:50
98としてはお久しぶりです。

subject.txtの形式は、
teriとbinboが、<>区切り、他は','区切りです。
<>区切りの場合、<>の後に1つ空白が入ります。
最後につくレス数は、
teri系  <レス数>
tako   (レス数)(←全角、perl板だけかも)
その他  (レス数)
になっています。
レス数の前に、空白が沢山場合が多々あります。

dat内部は、全て&ampを一文字の&に要変換。
さらに、teri系以外は'@`'を','に変換します。

デリミタは、teri系が<>区切りで、最後の<>の後に空白が一つ、
他は','区切りで最後の空白なし。
また、メール欄が空白の時は区切り文字が連続しますが、
何か文字が入っていると、余分に空白が一つ付くようです。

タイトルの長さは、最近のサーバーなら全角24文字の制限があり、
空白不可のようですが、
takoははるかに長いタイトルが可能で、タイトルが空のスレもあります。
また、www.2ch.netにあったスレが残っているような板も
長いタイトルがある可能性があります。

あぼーんされた行は
teri系  あぼーん<>あぼーん<>あぼーん<>あぼーん<>あぼーん
tako   あぼーん,あぼーん,あぼーん,あぼーん
その他  あぼーん,あぼーん,あぼーん,あぼーん,
となり、スレの1だった場合、タイトルが空白になります。
(takoは、デリミタが足りなくなるので要注意)
また、板の復帰後はsubject.txt内のタイトルも空白になります。

とりあえず、こんなところでしょうか。
277フッサール少佐:2001/02/18(日) 14:35
>>276
おお、ありがとう。98。
ウチに来てくれたらうまい棒をあげるよ。
278turbo type D:2001/02/18(日) 15:03
全然わからん。(w
>>276

またいずれわかるかな。
27998:2001/02/18(日) 15:08
訂正。
「メール欄に何か入ると最後に空白が1つ付く」は、
つい最近のスクリプト変更でそうなったみたいです。
古いログには
>名無しさん,sage,2000/xx/xx
がたくさんあり、ここ1ヶ月程のログはすべて
>名無しさん,sage ,2001/xx/xx
になってます。
また、teriは
>名無しさん<>sage<>2001/xx/xx
のままみたいです。

追記。
稀にdat内に'\0'が入っている場合があるので要注意です。
書きこみ内容に'\0'が含まれると、そのままdatに入ってしまうようです。
http://teri.2ch.net/accuse/dat/972022159.dat
長いですが、211と213に'\0'があり、さらに文章が続いています。

また、文字化けの場合も少々注意が必要です。
(最近は直ったらしいのですが、以前名前欄に「初級」等と入れると
見事に化けていました)
単に化けるだけならそのままで良いのですが、化けた後の最後の文字が
SJISの1バイト目になります。
なので、無視して<B>名無しさん</B>のつもりでHTMLにすると、
<B>ヘ・猿"・/B>等とります。
http://mentai.2ch.net/os/dat/977641.dat
28098:2001/02/18(日) 15:29
さらにおもくそ訂正。
http://mentai.2ch.net/os/dat/977641.dat
(http://mentai.2ch.net/test/read.cgi?bbs=os&key=977641&to=5)

その他、例外としては、
http://piza.2ch.net/tech/dat/974514695.dat
(http://piza.2ch.net/test/read.cgi?bbs=tech&key=974514695&to=5)
の2なんてのもありますが、
こんなのが幾つもあるとは思えないので、エラー扱いでいいかも。
28198:2001/02/18(日) 15:32
何やってんだろ、俺
http://mentai.2ch.net/os/dat/977641.dat
つーか、ちゃんとやったつもり。
一応全角でも。os板の977641.dat
28298:2001/02/18(日) 15:36
ごめん、本当に9-7-7-0-7-0-6-4-1.datって
(ブラウザから)書き込んでるつもりなんだけど、なぜか変化する。
283書記さん:2001/02/18(日) 17:16
>>267
SOURCE FORGE、なかなかよさげですね。
http://sourceforge.net/
284turbo type [email protected]:2001/02/18(日) 18:39
ボード一覧のbbsmenu.htmlとbbstable.htmlどちらかれも

以下のような条件判断をして
2chBBSリンクだけ取り出せた。

    //mailtoリンクならボードではないので無視
   if AnsiPos('<A HREF=MAILTO', AnsiUpperCase(BoardData) ) <> 0 then continue;

    //'.2ch.net/'が含まれていない場合、2ch板ではないので無視
   if AnsiPos('.2CH.NET/', AnsiUpperCase(BoardData) ) = 0 then continue;

    //'www.2ch.net/'なら板ではないので無視
   if AnsiPos('WWW.2CH.NET/', AnsiUpperCase(BoardData) ) <> 0 then continue;

    //'index2.html'が含まれていないのなら板ではないので無視
   if AnsiPos('/INDEX2.HTML', AnsiUpperCase(BoardData) ) = 0 then continue;
285turbo type [email protected]:2001/02/18(日) 18:40
オレもsubject.txtの読み込みにとりかかろっと。
286デフォルトの名無しさん:2001/02/18(日) 18:52
HTMLパーサって使わないの?
まともなのがないから?
287turbo type [email protected]:2001/02/18(日) 18:58
使い方教えてくれたら使うよ。オレや他の人が知らないだけかもね。
28898:2001/02/18(日) 19:00
>>276を、もひとつ訂正。
&ampを&に変換です。
何故か &amplt;や&ampgt; となっている部分があるので。
ブラウザは単発の&を表示してくれるので全部無条件に変換してますが、
単純な全置換だと不具合が出るかもしれません。

>>284
http://2ch.binboserver.com/entrance/
http://2ch.server.ne.jp/2ch/rikei/
等もあります。

ついでにねすけ+串でてすと
-
977641―977641
28998:2001/02/18(日) 19:02
うむ、何故か0-7-0が消されてしまうやうだ。荒らし対策かな?
datにも残っていので、書きこみ時に消されてしまうやうだ。
290デフォルトの名無しさん:2001/02/18(日) 19:11
半角スペース->&nbsp機能つけてね > all
291turbo type [email protected]:2001/02/18(日) 19:14
monaplorerアプしましがた
あいかわらず、DL出来るファイル一覧を見る方法がわからないです。

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

直リンはこちら
292書記さん:2001/02/18(日) 20:00
>>291
えっと、Monazilla Studioを入れているならそれ表示して
「ダウンロード、つーかファイルマネージャ起動」をクリックして
「入ってよし」をクリックしてジオにログイン、で、「src」ボタンクリックで
アップされているソース一覧が出ますので、そこで確認してください。
293turbo type [email protected]:2001/02/18(日) 20:37
書記さん、サンクス。
294フッサール少佐:2001/02/18(日) 20:42
オンラインとオフラインを設けた。
オンラインモードははdat→htmlをまともに作れば、とりあえず基幹は完成じゃないかな。
全部上書きしちゃうけど。
http://www.geocities.co.jp/SiliconValley-Cupertino/1026/
どう?
295turbo type [email protected]:2001/02/18(日) 21:08
がんばっておるねー。(w

オフ/オン、モードわけ、俺も考えておこ。

そのまえに、スレ一覧表示を実装しないとナー
296turbo type [email protected]:2001/02/18(日) 21:09
そうそう、コード規約みたいなものを書いていました。

ユニットヘッダ
(*
//  ∧  ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
// (´∀`)< モナプロ〜ラ〜のソースだモナー
// (    ) \________________________
//  | | |
// (__)_)

01/02/18 モナーアスキーをいれてみました。
履歴をつけてみました。
//*)
297turbo type [email protected]:2001/02/18(日) 21:10
////////////////////////////////////////////////////////////
{// 名前:turbo type [email protected](藁
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ

ココカラノコードハ: 2chのBoard一覧HTMLソースの
      http://www.2ch.net/bbstable.html
      及び http://www.2ch.net/bbsmenu.html
      から内部データ及びTreeViewのItemを設定するソース
クワシイセツメイハ: 1:ループさせる
      2:ソースからカテゴリデータを取り出す
      3:カテゴリデータからボードデータを
       ループして取り出す
インスウハ:   HtmlSource:HTMLソースの文字列
コウシン日ワ:  2001/02/18
ホカニ逝ットクコトハ ナシ

聞いてくれてありがと アロエリーナ♪
\________________/
          /
         ∧_∧
   Ψ    (∀・ )
   □    (∩∩ノ)
// ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ }
298デフォルトの名無しさん:2001/02/18(日) 21:17
299turbo type [email protected]:2001/02/19(月) 01:07
書記さん、対応はやいなあ。age
300アロエリーナ2号:2001/02/19(月) 01:51
なんか本格的だねー
ちょっとびっくりサ。
応援あげ
http://www.geocities.co.jp/SiliconValley-Oakland/9028/
301238:2001/02/19(月) 09:54
>書記さん
http://green.jbbs.net/computer/479/monazilla.html
このページの管理パスを渡します
302turbo type D@monazilla:2001/02/19(月) 12:18
ログデータを
カレント以下
\logData\サーバー名\板名(英語).txt
で管理しようと思っているんだけど

問題ないかな?

subject.txtの仕様はすげ、助かる。
303turbo type D@monazilla:2001/02/19(月) 12:22
フッサール少佐の方は
タブ切り替えでお気に入りとスレ一覧を変更予定なんですね。

その方がいいかな?
304turbo type D@monazilla:2001/02/19(月) 12:32
ところで、Delphi持っていない人向け
&コンポーネントのインストなど面倒な事したくない人の為に

exeファイルを誰か配布してやってほしい。
UPXかますといい感じ。
305turbo type D@monazilla:2001/02/19(月) 13:29
エクスプローラのListViewで
項目の並び替えなどがDrag&Dropで出来るが
あれを実装するのは簡単なのでしょうか?
306turbo type D@monazilla:2001/02/19(月) 13:41
いまさらだが>>28
のクラス実装はやっぱり正しいな。

>>97のオレの発言は撤回したい。

実装していったらなんとなくわかった。未熟者だ。欝だ氏脳。

基底クラスにListとダウソメソッドが欲しい。

が今更だしなんとかなりそうなので突き進む。
307>305:2001/02/19(月) 14:04
HeaderControl+ListBoxのOwnerDrawでやれば簡単にできるけど
それだとListViewの利点を放棄しちゃうことになるか。
308turbo type D@monazilla:2001/02/19(月) 15:19
>>307
なんかあのエクスプローラの動作っていかにもAPIでデキマスデー
といわんばかりの動作だから実現させたいな。
・・しかしそんな枝葉にこだわっていたら完成しないから
いずれ誰かに実装してもらう事にしよっ。

あと、エクスプローラListView/vsReportの上下の三角マーク▽△
これもAPIだと思うのだがどうやるのだろう。

誰か教えてね。
309turbo type [email protected](藁:2001/02/19(月) 17:55
なんか、オレばかり書き込んでんだけど....
槍田氏悩した方が逝ってヨシですか?

スレ一覧取得コードは出来ました。
ローカルにデータさえあればぽんぽんと
スレ閲覧が出来るようになった。

レスはまだなので
次はdatの解析する.


ヒロユキ@ギコナビさんやかちゅ〜しゃ
などで実装されているように
ローカルの部分とオンラインの部分の
兼ね合わせをどうやるといいのかが
よくわからない。
310gikozilla:2001/02/19(月) 17:59
全然進んでません。。。

>>309
>ローカルの部分とオンラインの部分の
>兼ね合わせをどうやるといいのかが
よくわからないけど、
o オンラインモードの場合
スレッドを読み込みに行く時.datが更新されているかチェックする。

o オフラインモードの場合
ローカルにデータがあればそれを表示する。
なければ、読み込みに行く。

ローカルのデータを優先するかどうかの設定??
311デフォルトの名無しさん:2001/02/19(月) 18:27
>>305 >>307
少なくともMFCではListViewにスタイルを設定するだけでできます。
コモンコントロールの機能のようなので、Delphiもおなじでしょう。
312デフォルトの名無しさん:2001/02/19(月) 18:29
当面問題無いと思うけど、とりあえずリンクしとく。
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=968944428&nofirst=true&st=307
313turbo type [email protected](藁:2001/02/19(月) 18:54
エクスプローラの詳細表示で
[名前|サイズ|種類|更新日時]
これを自由に入れ替える機能。

>>311
その割にベキ2にも実装されていないのだが、
作者の趣向と合わないだけかな?
それともOS依存か__

>>310サンクス。
高速化は先送りして、とりあえず
遅くてもナビゲートできるように
した方がいいんですかね。

ちょとコードが大きくなってくると
クラス設計の重要度がすごく増しますね。
ダウンロードクラスなんて実装しておいた方がいいのだろうか。
全くわからん。
314デフォルトの名無しさん:2001/02/19(月) 19:11
>その割にベキ2にも実装されていないのだが、
>作者の趣向と合わないだけかな?
>それともOS依存か__
確かに、コモンコントロールのバージョンには依存しますね。
MSDNにバージョンxxx以上とかかかれてましたし。
でも、多分IE4を入れてれば大丈夫だったし、IEコンポ使うってことは
IE4必須なので問題ないと思います。と思って俺はつけた>2chブラウザに
リストにボールドフォントとか使うときはオーナードローになると思うけど
そのときにはカラムの並び順も考慮した描画ルーチンにしないといけないのが
めんどうなところ。
315名も無き詩人さん:2001/02/19(月) 20:27
板一覧を取得して、
最初の板の、最初のスレッドの、最初のレスを
標準出力に書き出す最小限のPerlかRubyのサンプルが、
資料として欲しいなと思う今日この頃。
316gikozilla:2001/02/19(月) 20:40
>>315
作ってみましょうか?
317gikozilla:2001/02/19(月) 20:55
作りかけてるけどwgetとか外部のコマンド使いまくってるから
使い物にならないかも。。。

とりあえず板一覧は
http://www.2ch.net/board.txt
http://www2.ocn.ne.jp/~luckland/text/board.txt
にありますね。
318名も無き詩人さん:2001/02/19(月) 21:25
>作りかけてるけどwgetとか外部のコマンド使いまくってるから
>使い物にならないかも。。。
wget使うのはなお宜しいですねぇ。
Windowsには標準でついていないのがイタいけど。

>http://www2.ocn.ne.jp/~luckland/text/board.txt
これはオフィシャルなものですか?
319デフォルトの名無しさん:2001/02/19(月) 21:53
今更確認するまでもないと思いますが、
出来るだけread.cgiを呼ばないように努力したいですね。
http://teri.2ch.net/test/read.cgi?bbs=saku&key=979695762&st=436&nofirst=true
最も負荷がかかっているのはI/Oだという話もありますが、
read.cgiは行数を数えるため、ファイル全体を読んでいると思われます。
頑張って差分GETにしましょう。
320デフォルトの名無しさん:2001/02/19(月) 21:56
http://www.2ch.net/board.txt
↑これ、オフラウ用に公式アナウンスされているけど、
むちゃくちゃ古いですよ。全然更新されてないです。
321ドメイントレヤ:2001/02/19(月) 22:06
負荷をちょっとでも軽減するために
http://salad.2ch.net/bbstable.html を変換して、
http://monazilla.org/board.txt に置いとくとか。
322デフォルトの名無しさん:2001/02/19(月) 22:21
WinInetはnバイト目以降を取得とかってできるの?
CreateFile, ReadFileでも試してみようかな。
323デフォルトの名無しさん:2001/02/19(月) 22:37
>>314
2chブラウザの方でしたか!
ありがたや・・・
324デフォルトの名無しさん:2001/02/19(月) 22:41
ボード一覧は結局どれ?
http://salad.2ch.net/bbstable.html なくなった??
http://www.2ch.net/bbstable.html こっち?
http://www2.ocn.ne.jp/~luckland/text/board.txt オフィシャル?
http://www.2ch.net/board.txt 古い!
http://www.2ch.net/bbsmenu.html 取得面倒?
325ヒロユキ@ギコナビ:2001/02/19(月) 23:16
ちょっとヘコんだけど、書きに来ました。

>>313
>エクスプローラの詳細表示で
>[名前|サイズ|種類|更新日時]
>これを自由に入れ替える機能。

勘違いかもしれないですけど、
TListViewのFullDragをTrueじゃだめかな?

>>322
WinInetって自分で何処までイジれるのか分からないので、
はずしているかも知れませんが、ヘッダにRange: bytes=xxx
ってすると差分取れます。
HTTPの本を会社に置きっぱなしなので、間違ってるかも。
「HTTP詳解」っていう本だったかな?
あと、インターネットテクノロジ2001年1月号にも、HTTPのことが
ちらっと載っていたような気がします。(これも会社に置きっぱなし)
326フッサール少佐:2001/02/19(月) 23:21
>>302
フム、なにやら板名だけじゃかぶっている所があるそうなんで、
そっちの方が安全カモ。

>>303
実はあのタブが好きなんだな。
あと過去ログようのタブが必要と見た。
別にお気に入りで過去ログフォルダを作ってもいいんだけど。

>>322
たしか出来たはず。
327デフォルトの名無しさん:2001/02/19(月) 23:27
>ヒロユキ
へこまんでい〜よ〜。
暇なときでいいから、またアドバイスに来てちょ。

ほんでもって、HTTP1.1日本語訳へのリンク
少し古いのと若干わかりにくい部分があるので、rfc2616の原文も見るべし
http://www.geocities.co.jp/SiliconValley-PaloAlto/5694/rfc/rfc2068-ja.html
328フッサール少佐:2001/02/19(月) 23:31
>>322
http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page14.html
で、どう?
ヒロユキ@ギコナビの方法でもOK
329フッサール少佐:2001/02/19(月) 23:31
>>322
http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page14.html
で、どう?
ヒロユキ@ギコナビの方法でもOK
330フッサール少佐:2001/02/19(月) 23:32
ありゃ?2重火気粉スマソ
331デフォルトの名無しさん:2001/02/19(月) 23:36
ヒロユキさんや、幸運の国さん、2chブラウザの作者さんらの
積極的な参加がこのプロジェクトを活気付けていると私は思います。
しょーもないあおりは無視で行きましょう。
332フッサール少佐:2001/02/19(月) 23:43
>>319
全く同感。
HEADメソッドでチェックして、更新済みのものは差分取得がベストかな。
あるいは、datディレクトリの一覧を取得して日付で更新をチェックするとか。
Perlは重いっす。
333フッサール少佐:2001/02/19(月) 23:48
>>308
ListViewのヘッダーカラムのDCを取得してそのCanvasにオーナードローすれば、OK。
334ヒロユキ@ギコナビ:2001/02/20(火) 00:06
>>332
If-Modified-Since:すると、HEADとらなくても、直接GETでOKです。
更新されていなければ、更新されていないコード(304)が帰ってくるので、
未更新が検出できます。
335デフォルトの名無しさん:2001/02/20(火) 00:08
monazillaのページ見たけど、
どちらかと言うとmozillaよりGNU-2chといった感じだなァ…。

いや、なんとなくそー思っただけ。
336フッサール少佐:2001/02/20(火) 00:29
>>334
おお、それはいい事を聞いた。マジメにRFC読んでみるかな。
337314:2001/02/20(火) 00:44
>>334
更新検出なら、dat/ディレクトリ一覧の.datファイルのタイムスタンプを見ればわかるよ。
今、俺も実装してるところ。
subject.txtとdat/の2回アクセスしないといけないのが難点。
338デフォルトの名無しさん:2001/02/20(火) 00:55
でも、tako鯖はdat/を読めないので注意してね。
339デフォルトの名無しさん:2001/02/20(火) 01:02
>GET /tech/dat/?M=D HTTP/1.0
ね。

それと、
>GET /tech/dat/981726544.dat HTTP/1.0
>Host: piza.2ch.net
>Range: bytes=62298-
>If-Modified-Since: Thu, 15 Feb 2001 09:50:45 GMT
>Connection: Keep-Alive
>
↑これ(実際に送った例)をレスポンスを待たないで、
一括してリクエストするとメチャメチャ早いよ。
parseがかなり面倒だけどね。
以上、時々だけ名乗る98でした。
340デフォルトの名無しさん:2001/02/20(火) 03:37
>>339
Keep-Aliveにするといつ終ったか分かんなくない?
parseしつつ表示ってんだったらいいだろうけど、
それって結構面倒な気がする。
つか、Keep-Alive にしてリクエスト送りまくるって話なんかな。
341turbo type [email protected](藁:2001/02/20(火) 09:52
>>ヒロユキ
うん、へこまなくてもいー。いー。

>>324
http://www.2ch.net/bbstable.html
http://www.2ch.net/bbsmenu.html
の二つは解析方法は共通だよ。
他のところはカテゴリが無くてちょっとイマイチかモナー。

>>333少佐('w')ゞ
ありがとうゴザイマフ
しかしAPI直叩きで出来る(とオモワレ)のを
オナドローするのはちょぴ嫌でございます。

なんかめちゃくちゃ詳しい方々が集まってきてますね。
342turbo type [email protected](藁:2001/02/20(火) 10:26
しつもーん。
http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page2.html
をDelphiに書き直した。

uses WinInetを加えて

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
   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
  InternetCloseHandle( hService );
 end;
 InternetCloseHandle( hSession );
end;

しかし、普通に書き直した"INTERNET_OPEN_TYPE_DIRECT"では読み込まない
"INTERNET_OPEN_TYPE_PRECONFIG"にしたら読み込んだ。なぜ?

Indyやめて、WinInetにしようかしら?( w ;)
要望が多ければそうする。
343turbo type [email protected](藁:2001/02/20(火) 17:07
>>342
よくわからないけど
プロキシの問題だろうか。
http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page9.html

WinInetのHTTPページの
Page2-6,8はPascalに移植ったので
誰か必要なら逝ってくれ。
344デフォルトの名無しさん:2001/02/20(火) 17:31
もしかしてあぼーんすると.datのファイルサイズ変わっちゃう?
だとすると差分の取得がおかしくなりそう。
345turbo type [email protected](藁:2001/02/20(火) 17:57
あぼーん、について教えて。

本当に全くわからない。(藁

かちゅーしゃ使ってるのにね。
346デフォルトの名無しさん:2001/02/20(火) 18:12
>>344
かわるよ。そこがこの手のツールが各自工夫するところ。
さらにあぼーんには、「ノーマルあぼーん」(全フィールドがあぼーんになる)
と、「サイレントあぼーん」(datの行ごと削除、痕跡が残らない)があります。
固定長あぼーん(余ったところを空白などで埋める)の要望もあるが、
マイノリティなツールのために2ch側に対応を求めるのは本末転倒だと思います。
現在、各ツールののあぼーんへの対処は、
1.あぼーんを検出したら、dat全部読み直し
2.あぼーんを検出したら、少し前から読み直して、テキスト比較で前回の
 バイトオフセットを探して読み込み
3.datの差分読み込みはしない
あたりになっております。あぼーん検出は保存位置から読み出して、そこが
行頭か否かで判断かな?
ちなみに、俺(2chブラウザ)は3。差分読み込みやる気なし。
dat読みは全読み込みのときのみ。
347デフォルトの名無しさん:2001/02/20(火) 18:39
WinInetで.datファイルを10分割して同時にダウソしたら
超高速ダウソできる???
348turbo type [email protected](藁:2001/02/20(火) 19:48
アプしました。
モナプロ〜ラ〜もWinInetに変えてしまったので

多分コンポーネントのインストは一切必要なく
IE4以上、D4/D5環境にてコンパイルできるようになった。

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

どの板でもボード一覧を取得できるようになった。

ネットに接続していない状態で動かしても動かないカモ。

でも、オレがタコなのでメモリリークしているみたいだ。
メモリクバグを発見する方法知っている人、教えて。
349turbo type [email protected](藁:2001/02/20(火) 19:50
>>ボード一覧
スレ一覧の間違い。

腹減った。
350デフォルトの名無しさん:2001/02/20(火) 20:18
>でも、オレがタコなのでメモリリークしているみたいだ。
>メモリクバグを発見する方法知っている人、教えて。
アプリ終了時にメモリリークの個数を報告するユニット。
http://www.sakaki.keiaikai.or.jp/convroom/webconv.exe/read?No=9666&Response_Root=9632
351フッサール少佐:2001/02/20(火) 22:05
>>348
オレは
http://www.yks.ne.jp/~hori/MemCheck.html
これを使ってるよん。かなり便利。
352デフォルトの名無しさん:2001/02/21(水) 00:34
更新チェック&差分ダウンロードできるなら巡回機能付けてね
353フッサール少佐:2001/02/21(水) 00:46
>>302
ログはドメイン名を元にするようにした。
例えば、yahoo板はこんな感じ。
\logs\salad.2ch.net.yahoo\977080207.dat
これならかぶらんだろう。
354フッサール少佐:2001/02/21(水) 00:48
>>352
無ければ、自分で作るのだ。それがオープンソースの醍醐味でもある。
つーわけで、自分で作れ。Delphi買ってコイ。
355デフォルトの名無しさん:2001/02/21(水) 01:05
同意。
&nbsp変換もそうだが、このスレに「○○きぼーん」は良くない。
プロトタイプのコードでも作って、導入を促すようにすべき。
356355:2001/02/21(水) 01:07
最後の;つけなかったのに、nbspが変換されちった。
357turbo type [email protected](藁:2001/02/21(水) 09:42
確かに、実装困難なものを
現時点で、きぼーん、されてもつらいものがある。
差分ダウソ&更新はまーだ先ね。マターリいこうぜ。

メニュー項目くらい
誰か案をだしてほしい。

>>356オレもおろろいた。

>>350&少佐、
メモリク情報サンクス。

リクしているかどうかも不確かながらデバッグにとりかかる。

自分で無理だったら
Tree型Dataの破棄と更新を報告させてもらうね。
358turbo type [email protected](藁:2001/02/21(水) 09:45
さて、書記さんも更新ネタがなさそうなので
昨日まとめた、WinInetのDelphi仕様コード公開。
連続カキコすまそね。

全コードusesにWinInetを追加するだけで動作するはず。

INTERNET_OPEN_TYPE_DIRECT

INTERNET_OPEN_TYPE_PRECONFIG
は適当に置き換えてくれ。MemoとかButtonとかも適当に。


359turbo type [email protected](藁:2001/02/21(水) 09:46
//HTML/テキストファイルをHTTPで読み取る
//http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page2.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
   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
  InternetCloseHandle( hService );
 end;
 InternetCloseHandle( hSession );
end;
360turbo type [email protected](藁:2001/02/21(水) 09:47
//HTML/テキストファイルをHTTPで読み取りファイルに書き出す
//http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page3.html
//より移植
procedure TForm1.Button1Click(Sender: TObject);
var
 fp: TextFile;
 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
   AssignFile(fp, Edit2.Text);
   Rewrite(fp);
   while true do
   begin
    lpBuffer := '';
    {↑C++ではchar lpBuffer[1024+1]と
      変数確保されていると同時に初期化されているので
      Delphiでも初期化する}
    dwBytesRead := 1024;
    InternetReadFile( hService, @lpBuffer, 1024, dwBytesRead );
    if dwBytesRead = 0 then break;
    Write(fp, lpBuffer: dwBytesRead);
    {↑dwBytesRead=StrLen(@lpBuffer)になっている}
   end; //while
   CloseFile(fp);
  end;
  InternetCloseHandle( hService );
 end;
 InternetCloseHandle( hSession );
end;
361turbo type [email protected](藁:2001/02/21(水) 09:47
//HTML/テキストファイルをHTTPで読み取りファイルに書き出す
//パフォーマンスがあがっているらしい
//http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page4.html
//より移植
procedure TForm1.Button1Click(Sender: TObject);
var
 fp: TextFile;
 hSession: HINTERNET;
 hService: HINTERNET;
 lpBuffer: PChar;
 dwBytesAvailable, 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
   AssignFile(fp, Edit2.Text);
   Rewrite(fp);

   InternetQueryDataAvailable( hService, dwBytesAvailable, 0, 0 );
   GetMem(lpBuffer, dwBytesAvailable+1);
   InternetReadFile( hService, lpBuffer, dwBytesAvailable, dwBytesRead );
   Write(fp, lpBuffer: dwBytesRead);
   FreeMem(lpBuffer);

   CloseFile(fp);
  end;
  InternetCloseHandle( hService );
 end;
 InternetCloseHandle( hSession );
end;
362turbo type [email protected](藁:2001/02/21(水) 09:48
//ネット上のファイル情報を得る
//サーバーに依存する
//http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page5.html
//より移植
procedure TForm1.Button1Click(Sender: TObject);
var
 hSession: HINTERNET;
 hService: HINTERNET;
 ReceiveBuffer: array[0..255] of Char;
 dwSize, Reserved: 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
   ReceiveBuffer := '';
   dwSize := sizeof(ReceiveBuffer);
   Reserved := 0;
   HttpQueryInfo(hService, HTTP_QUERY_RAW_HEADERS_CRLF, @ReceiveBuffer, dwSize, Reserved);
   Memo1.Lines.Add( String(ReceiveBuffer) );
  end;
  InternetCloseHandle( hService );
 end;
 InternetCloseHandle( hSession );
end;
363turbo type [email protected](藁:2001/02/21(水) 09:48
//ファイルの作成日、サイズを得る
//http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page6.html
//より移植
procedure TForm1.Button1Click(Sender: TObject);
var
 hSession: HINTERNET;
 hService: HINTERNET;
 LastModified: SYSTEMTIME;
 FileSize: Longint;
 dwSize, Reserved: DWORD;
 ft1, ft2: FILETIME;
 t: SYSTEMTIME;
 buf: String;
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
   dwSize := sizeof(LastModified);
   Reserved := 0;
   HttpQueryInfo(hService, HTTP_QUERY_LAST_MODIFIED or HTTP_QUERY_FLAG_SYSTEMTIME,
               @LastModified, dwSize, Reserved);
   dwSize := sizeof(FileSize);
   Reserved := 0;
   HttpQueryInfo(hService, HTTP_QUERY_CONTENT_LENGTH or HTTP_QUERY_FLAG_NUMBER,
               @FileSize, dwSize, Reserved);

   SystemTimeToFileTime( LastModified, ft2 );
   FileTimeToLocalFileTime( ft2, ft1 ); //かなり適当
   FileTimeToSystemTime( ft1, t );
   buf := Format('作成日:%4d/%02d/%02d %2d:%02d:%02d サイズ:%dバイト',
          [t.wYear, t.wMonth, t.wDay, t.wHour, t.wMinute, t.wSecond, FileSize]);
   Memo1.Lines.Add( buf );
  end;
  InternetCloseHandle( hService );
 end;
 InternetCloseHandle( hSession );
end;
364turbo type [email protected](藁:2001/02/21(水) 09:49
//ヘッダ情報を追加する
//http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page7.html
//より移植したけど、何がどうなっているのか理解してません。
procedure TForm1.Button1Click(Sender: TObject);
var
hSession: HINTERNET;
hService: HINTERNET;
szHead: String;
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
szHead := 'Accept:*/*'+#13#10#13#10;
SetLength( szHead, Length(szHead) );
hService := InternetOpenUrl( hSession, PChar(Edit1.Text), PChar(szHead), 0, 0, 0);

if Assigned( hService ) then
begin
//....
end;
InternetCloseHandle( hService );
end;
InternetCloseHandle( hSession );
end;
365turbo type [email protected](藁:2001/02/21(水) 09:49
インデントミスったので、再掲

//ヘッダ情報を追加する
//http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page7.html
//より移植したけど、何がどうなっているのか理解してません。
procedure TForm1.Button1Click(Sender: TObject);
var
 hSession: HINTERNET;
 hService: HINTERNET;
 szHead: String;
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
  szHead := 'Accept:*/*'+#13#10#13#10;
  SetLength( szHead, Length(szHead) );
  hService := InternetOpenUrl( hSession, PChar(Edit1.Text), PChar(szHead), 0, 0, 0);

  if Assigned( hService ) then
  begin
   //....
  end;
  InternetCloseHandle( hService );
 end;
 InternetCloseHandle( hSession );
end;
366turbo type [email protected](藁:2001/02/21(水) 09:50
//インターネット接続が出来るかどうか調べる
//http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page8.html
//より移植
procedure TForm1.Button1Click(Sender: TObject);
begin
 if InternetAttemptConnect(0)<>0 then
 begin
  ShowMessage('インターネットに接続できていません');
 end;
end;
367turbo type [email protected](藁:2001/02/21(水) 09:51
ヲワリ。

では本日も四露氏苦
368turbo type [email protected](藁:2001/02/21(水) 10:56
>>350
>>351
これって同じ作者なのかな?
どちらも試したがメモリリーク起きてませんでした!

d( °w )
いー感じ♪
369turbo type [email protected](藁:2001/02/21(水) 12:08
書記さん、monazilla.org(藁 のダウンロードの説明の所を
こんな風に修正してくれると、わかりやすいかな。

> アップロードしてあるファイルをダウンロードする方法
>
> Monazilla Studio をダウンロードする。
> 適当なフォルダで解凍する。
> index.html を開く。
> ダウンロードをクリック。
> 入ってよしボタンをクリック。
 すると シリコンバレーオークランド通り/9028 monazilla が開く
 アップされたソースは[src]フォルダに入っているので
 [src]ボタンを押す
> するとアップされたソースの一覧が出てくるのでダウソしたいファイル名の横のほ
> うにある 表示 ってとこをクリックする。
>
> 以上
370turbo type [email protected](藁:2001/02/21(水) 19:24
全然ヵキコがない。!

ウツダシノウ
371turbo type [email protected](藁:2001/02/21(水) 19:35
>/* 書記さんは会社から 2チャンへの書き込みがなぜかできないのでロムってます、すんませんー */

そうですか。
仕事していないのは俺くらいですか。(´∀`)
372デフォルトの名無しさん:2001/02/21(水) 19:47
>少佐
TWebBrowserで遅い問題は解決したでしょうか?
もしかしたら文字列連結の時間が原因かもしれません。
・・・外してたらごめんなさい。
BCBの場合、単純にAnsiStringを数百回以上連結すると、
その部分で異常に時間を食います。
std::stringでreserve()すると、(その部分は)嘘みたいに高速になります。
でも、実はAnsiStringでcapacityを増やす方法を知らないんですが。
373turbo type [email protected](藁:2001/02/21(水) 20:27
モナーアイコンを作成してくれない?誰か。
374turbo type [email protected](藁:2001/02/21(水) 20:33
あと、32x32のaviもキボーン。
monazilla.org公式っていうのがいいなあ。

いま、かちゅしゃのaviで試しているから、
なんか悲しくて切なくて生産性が下がっています(藁

アイコンデザイン探しにモナー板逝ったら
藁ってしまうので仕事中にはとても探せないや。
375Dax:2001/02/21(水) 22:29
またまた Delphiで申し訳ないんですが
板一覧をつくることに特化したクラス、
「ホットゾヌ」をアップしました。

インターネット接続は
「Wininet」「ICS(HttpCli)」「NMHTTP」「Indy(IdHTTP)」の
4種類に対応し別々のユニットで用意しました。
使い方などは HTMLを用意します。

http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/hotzonu_010.lzh
376書記さん:2001/02/21(水) 23:40
>>369
修正しました!
ありがとうございます。確かにわかりにくかったですね。
ですのでさらに画像も入れてみました。

>>370
今日は一時アクセスできなかったです。>2ch
うちだけかな?
377turbotypeD@モナぢら:2001/02/22(木) 00:03
>>375
おぉ。ぞくぞくと開発者が!
しかも別ユニットまで!
勢いでレス一覧までやってくださらぬか、(w
ってそれは贅沢かな。

別ユニット的アプローチはいずれ参考にさせていただきます。

モナプローラではすでにスレ一覧まではやってしまったしなあ。

次はWebBrowserを簡単に作れるクラス/ユニット実装予定(は未定)
かちゅ〜しゃの1タブごとに[戻る]ボタン機能がついた
イメージで作ってます。
378turbotypeD@モナぢら:2001/02/22(木) 00:09
>>375
おぉ。ぞくぞくと開発者が!
しかもコンポ別ユニットまで!
勢いでレス一覧までやってくださらぬか、(w
ってそれは贅沢かな。

別ユニット的アプローチはいずれ参考にさせていただきます。

モナプローラではすでにスレ一覧まではやってしまったしなあ。

次はWebBrowserを簡単に作れるクラス/ユニット実装予定(は未定)
かちゅ〜しゃの1タブごとに[戻る]ボタン機能がついた
イメージで作ってます。

>>書記さんいつもありがとう
379turbotypeD@モナぢら:2001/02/22(木) 00:09
2重火器子スマソ
380デフォルトの名無しさん:2001/02/22(木) 00:12
>>340
Content-Lengthを参照する以外に終端を知る方法は
なかったと思う。<Keep-Alive
381フッサール少佐:2001/02/22(木) 00:35
>>372
>TWebBrowserで遅い問題は解決したでしょうか?

全く解決するめどは立っていないが、別の方法を使うことにより
逃げることにした。

>もしかしたら文字列連結の時間が原因かもしれません。

JavaもStringの文字の連結は注意だな。ちなみにStringBufferを使う。

>でも、実はAnsiStringでcapacityを増やす方法を知らないんですが。

Delphiの場合は、SetLengthかな。
遅い原因はそれもあるのだが、innerHTMLを使っているということであろう。
Writeで追加書き込みしていけばそこそこ速いのだが、画面クリアの仕方が
分からんのだ。つーか、TWebBrowserとかCOMとかは素人だったり…。
382turbo type [email protected](藁:2001/02/22(木) 10:22
下げるわけにもいかんのでage
383デフォルトの名無しさん:2001/02/22(木) 10:30
上げるわけにもいかんのでsage
384turbo type [email protected](藁:2001/02/22(木) 11:48
いわゆるタブブラウザやかちゅーしゃなどでは
WebBrowser部分はWebBrowserのインスタンスを沢山作って
いるのでしょうか?
385デフォルトの名無しさん:2001/02/22(木) 13:11
http://yasai.2ch.net/test/read.cgi?bbs=win&key=982224259
なんだか、かちゅーしゃの作者様の心がゆらいでらっしゃる。
協力してくれるかもage
386デフォルトの名無しさん:2001/02/22(木) 13:12
かちゅーしゃは複数のブラウザインスタンスをつくってるようです。
387turbo type [email protected](藁:2001/02/22(木) 14:35
を、一応レス閲覧コードが書けた。(アプしてないけど)
初めて動作させるけどどきどきするなあ。

388turbo type [email protected](藁:2001/02/22(木) 14:39
あ、まだメソッドを呼ぶActionが無かった。あせるな>ジブン

さて、今日もコード公開
誰でも作れるけど、誰かが作っていたら楽な関数
////////////////////////////////////////////////////////////
{  DataTimeToFmt2ch
  Fmt2chToDateTime
// 名前:turbo type [email protected](藁
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ

ココカラノコードハ: 2ch形式の日付文字列"2001/02/09(金) 22:49"を
      TDateTimeと相互変換する
コウシン日ワ:  2001/02/22
ホカニ逝ットクコトハ:なにもなし

聞いてくれてありがと アロエリーナ♪
\________ _______/
         |/
         ∧_∧
   Ψ    (∀・ )
   □    (∩∩ノ)
// ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ }
const DayOfWeekJP: array[1..7] of String = ('日','月','火','水','木','金','土');

function DateTimeToFmt2ch(DateTime: TDateTime): String;
var
 Year, Month, Day: word;
 Hour, Min, Sec, MSec: word;
begin
 DecodeDate(DateTime, Year, Month, Day);
 DecodeTime(DateTime, Hour, Min, Sec, MSec);

 Result := IntToStr(Year) + '/' +
      Format('%.2d', [Month]) + '/' +
      Format('%.2d', [Day]) + '(' +
      DayOfWeekJP[DayOfWeek(DateTime)] + ') ' +
      Format('%.2d', [Hour]) + ':' +
      Format('%.2d', [Min]);
end;

function Fmt2chToDateTime(Fmt2ch: String): TDateTime;
var
 Year, Month, Day: word;
 Hour, Min, Sec, MSec: word;
begin

 try
  Year  := StrToInt(Copy(Fmt2ch, 1, 4));
  Month  := StrToInt(Copy(Fmt2ch, 6, 2));
  Day   := StrToInt(Copy(Fmt2ch, 9, 2));

  Hour  := StrToInt(Copy(Fmt2ch,16, 2));
  Min   := StrToInt(Copy(Fmt2ch,19, 2));
  Sec := 0;
  MSec:= 0;

  Result := EncodeDate(Year, Month, Day)
        + EncodeTime(Hour, Min, Sec, MSec);
 except
  raise ENichError.Create('日付変換が正しくねえぞ鰓(゚Д゚)ゴルァ');
 end;
end;
////////////////////////////////////////////////////////////
389turbo type [email protected](藁:2001/02/22(木) 15:31
>>386ども。

よし。レス内容データ読み込みだけは確認出来た。

あとはどのようにしてWebBrowserに読ませようか
ファイルに落としてからNavigateするのはわかるが
直接Documentに落とす方法はさっぱりわからない。
(次からはTWebBrower組み込むからD5専用な。)
誰かオシエレ(態度デカ!)

現在はモナヂラスレの内容を読むために
単にhttp://piza.2ch.net/tech/dat/981726544.dat
を読んでいるのだがこれでいいのか?
read.cgiには迷惑かけずに最新情報を読むことになってる?
390turbo type [email protected](藁:2001/02/22(木) 15:34
AVIファイルの作り方おしえてくれい。
391gikozilla:2001/02/22(木) 16:53
>>390
これはどう?使ったことないけど、、、
http://www.emurasoft.com/jp/emavi/index.htm
392turbo type [email protected](藁:2001/02/22(木) 17:18
ふらりと見に行ったWin板で
"新2ちゃんねる用ブラウザ"
ってのが出てて、しかもめちゃ荒らされている...
http://yasai.2ch.net/test/read.cgi?bbs=win&key=982224259

ああ、哀れ
393turbo type [email protected](藁:2001/02/22(木) 17:20
スレ先間違えた。
俺の方が憐れだ、宇津田ヒカル
http://yasai.2ch.net/test/read.cgi?bbs=win&key=982429839

>>391、どもアリガト
394turbo type [email protected](藁:2001/02/22(木) 17:53
♪聞いてアロエリーナ ちょっと言いにくいんだけど
 聞いてアロエリーナ

   >>391
   すごく使い勝手わるいよ。 

  聞いてくれてあーりがと アロエリーナ♪
\______ ___________/
.          |/

  (○)      ∧_∧
  ヾ|〃     (∀・ ,,,)∩゛
   □.     (∩∩ , ⌒つ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄


395turbo type D@もなヂ:2001/02/22(木) 18:36
396Dax:2001/02/22(木) 22:21
>>388
ナイス!
汎用関数ライブラリつくりましょっか?
397119:2001/02/22(木) 22:48
type
 TNichDownloadEvent = procedure(Sender: TObject; Index1, Index2: Integer)
  of object; // Sender.Lines[Index1..Index2]をダウンロードした
 TNichDownloadableObject = class
 public
  property Url: String;
  proeprty Lines: TStrings; // TStringsで扱ってくれると楽チンなんだが...
 
  proeprty OnStartDownload: TNotifyEvent;
  property OnProgressDownload: TNotifyEvent;
  property OnFinishDownload: TNotifyEvent;
 end;

 TNichDownloadType = (dtAll, dtDiff); // 全て取得・差分のみ取得

 // 抽象ダウンローダ
 TNichCustomDownloader = class
 protected
  FList: TObjectDeque; // TNichDownloadableObjectのインスタンスを保持
 public
 property UseProxy: Boolean;
  property Proxy: String; // '0.0.0.0:8080'という形式が楽チン

  procedure StartDownload(Nich: TNichDownloadableObject;
   Whole: Boolean = False; // 全て取得(FALSEなら更新チェック&差分取得)
   Deferred: Boolean = False // 順番を後回しにする
    ); virtual; abstract;
  procedure CancelDownload(Url: String);

  proeprty OnStartDownload: TNotifyEvent;
  property OnProgressDownload: TNotifyEvent;
  property OnFinishDownload: TNotifyEvent;
 end;

 // ローカルキャッシュダウンローダ
 TNichCachedDownloader = class
 public
  property Size: Integer; // カレントキャッシュサイズ
  property MaxSize: Integer; // 最大キャッシュサイズ
  property Directory: String;
   // キャッシュディレクトリ
   // こればっかりはレジストリで設定すべき
  procedure Clean(LeftSizeMB: Integer; option...); // キャッシュをクリア
  procedure Write(nich: TNichDownloadableObject);
 end;

 // HTTPダウンローダ
 TNichHttpDownloader = class
 public
 end;

 // FTPダウンローダはいらないか...

 // 2chダウンローダ
 // やることはcache&httpからLines:TStringsへダウンロードするだけ。
 // Linesの解析は委譲元(nich: TDownloadableObject)が行う。
 // 開発初期段階はシングルスレッド版(StartDownloadを呼び、ダウンロード完了後に制御を戻す。
 //   途中でApplication.ProcessMessagesを呼ぶかもしれない)
 // 差分取得は全て取得してしまう。
 // 完成したら、順次マルチスレッド・差分取得を実装していく
 TNichDownloader = class
 protected
  cache: TNichCacheDownloader;
  http: TNichHttpDownloader;
 public
  procedure StartDownload(Nich: TNichDownloadableObject;
   Whole: Boolean; Deferred: Boolean);
  begin
   // cacheとhttpを組み合わせてダウンロード
   cache.StartDownload(Lines, Url, Whole, Deferred); // こっちはその場で復帰するはず
   http.StartDownload(Lines, Url, Whole, Deferred); // こっちはスレッドでダウンロードを開始するだけ
   // nichのイベントの発生のさせ方は一考の余地あり
   // ダウンロードが終わったらキャッシュする。
   cache.Write(Nich);
  end;
 end;
398119:2001/02/22(木) 22:53
例によって中身のないマルチスレッダブル(??)HTTP・キャッシュ
統合ダウンロードクラスを書いてみた。
HotZonuも良いがダウンロード・キャッシュ・プロクシ等の
コード・設定があちこちに散らばるのは面倒なので、
データをTStringsかstreamに統一して、
ダウンローダを板・スレリストクラスから分離すべきだと思う。
あとModel, Viewも意識的に切り分けないとね。
なんていってると遅くて使い物にならなくなるかもしれないが...
399フッサール少佐:2001/02/22(木) 23:15
400ヒロユキ@ギコナビ:2001/02/22(木) 23:29
>>398
>あとModel, Viewも意識的に切り分けないとね。
>なんていってると遅くて使い物にならなくなるかもしれないが...
結構、重要ですよね。
でも、ウィンドウズのTreeViewだとどうしてもTreeView内にデータが入るので
ここをどうするかが問題になりそうです。
せっかくモデルを作成しても、タコTreeViewのお陰で複雑になります。
TreeViewとモデルの間に一つ挟めばいいのかな?
VirtualTreeViewなんてモードがあればいいんだけど。
401Dax:2001/02/22(木) 23:38
>>398
なるほど。
HotZonuもその形式に変更していきたいと思います。
なんか難しそだな。。。
402Dax:2001/02/22(木) 23:43
>>400
TreeViewのDataにオブジェクトを入れるのはまだいいと思います。
ノードと板スレオブジェクトを関連付けるクラスがあっても
いいかもしれませんがなんか複雑になりそう、、
逆に板やすれのオブジェクトがノードを持っているのはちょっと好きくないです。
403デフォルトの名無しさん:2001/02/22(木) 23:45
あんまりこってないのでテスト用の自家製のモナ AVIをアップしたよ。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaavi.lzh

↓こんな感じ
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/mona.gif
404デフォルトの名無しさん:2001/02/23(金) 00:49
まえにこんなの作ったら、コードがかなり単純になった。
コードなくなっちゃったけど。
function SearchTreeNode(TreeView: TTreeView; Path: String): TTreeNode;

// あれば'\foo\bar\baz'を検索して返す
// なければ無理やり階層作って返す。
tn := GetTreeNode(TreeView1, '\foo\bar\baz');
405デフォルトの名無しさん:2001/02/23(金) 09:54
そろそろ書き込みについても考えませうage
406turbo type D@もなヂ:2001/02/23(金) 09:56
>>400ヒロユキ
オレはTreeViewのTreeNode.Dataに
TNichBoardを入れてポインタでリンクしてるよ。

で、実際のTNichBoardの管理はTreeViewとは
独立している。

今の所は生成方法でTNichBoardを作るときに
TreeViewのItemも構成してしまってるから
ちょっと絡まってるけど分離は実に楽だよ。
TTreeViewをTListBoxに差し替えるたり

TNichSite
└TNichCategory
 └TNichBoard
  └TNichThread
   └TNichRes
というデータ構造をしっかり保持しておいて
さらに
TTreeView
└TTreeNodes
  └TTreeNode
   └Dataプロパ=TNichBoard
こうしてるわけ。
407turbo type D@もなヂ:2001/02/23(金) 09:58
>>402Dax
TNichSiteにはプロパとして
使用するTTreeNodeをポインタとして代入しておくと
TNichBoard側からもTTreeViewを参照できるよ
TNichBoard.OwnerCategory.OwnerSite.TreeView=
実際に画面に存在するTreeViewという事になる。
Daxには仏に説法か。(藁

TNichBoardがTNichNodeを保持するのはオレも好きでない。
if TTreeView.Items[i].Data=Self then
で検索してもいいかもね。

>>398=119
勉強させてもらいます。
ダウンロードの構造はまだ考えていなかった。
一般的なやり方ってのはどういうものなのだろうか....
マルチスレやサブンダウソも
ダウンロードクラス差し替えで
408turbo type D@もなヂ:2001/02/23(金) 10:02
テイセ
マルチスレ→マルチスレッド対応
ダウンロードクラスだけ差し替えたら動作するような
機能分けが欲しい。

TDataModule上にダウンロード機能を構成しておくと
IndyやHTTPCLIに対応したときも
差し替えが実にらくだと思うよ。
409turbo type D@もなヂ:2001/02/23(金) 10:09
>>405
>そろそろ書き込みについても考えませうage
ダネ。ギコナビスレ、2chブラウザスレ、かちゅしゃスレで
話にあがっていたかも。
参考レス教えてクレソ


オレもAVI作ったんだけど(ヘチョいけどもナー)
アニメGIF作る方法がわかんね(T∀T)
教えてクレクレ厨房ですのでオシエテクラサっィィィィィィィィィィィィィィィィィ
>>403
裏になると顔が変わったらインパクあっていいかモナー
410デフォルトの名無しさん:2001/02/23(金) 15:34
>>409
AVI,私はMacromediaのExtreme3dってのを使いました。
あ、フリーのツールじゃないです。
411turbo type D@monazilla:2001/02/23(金) 15:56
>>410
そうですか。フリーでアニメGIFはやはりないですかね。

>>402Dax,
ホットゾヌでレス一覧を取得できるようには出来ないでしょうか?


412デフォルトの名無しさん:2001/02/23(金) 17:18
あ、アニGIFツールはかなり昔にゲットしたのがありました。
今はライセンスの問題で配布してないようです。
手元にあるのをジオにアップしました。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/anigif.lzh
413turbo type D@monazilla:2001/02/23(金) 18:32
>>412
どもども、ゲットしました。
414デフォルトの名無しさん:2001/02/23(金) 18:32
元あるGIFを組み合わせて、アニメGIFをつくるのはライセンスの問題に引っかからないはずだから、
そういうソフトを見つけてくるか、もしくは作るか…。
415turbo type D@monazilla:2001/02/23(金) 19:34
メールテスト

>>414,TGifImageで作れるのかな?
416turbo type D@monazilla:2001/02/23(金) 22:02
よっしゃ。
TWebBrowserでレス一覧まで見れるようになった!(遅いけど)

今日中にアプします。
417ヒロユキ@ギコナビ:2001/02/23(金) 23:57
>>406
ギコナビもDataに入れてます。
ちなみに、
TBBS2ch (extends TList)
└TCategory (extends TList)
 └TBoard (extends TList)
  └TThreadItem (extends TObject)
な感じなのですが、モナプロのほうが綺麗なクラス群ですなぁ。

あと、書込みの注意点。
書き込みするときには、クッキーを送ってやる。
書き込み文字列はURLEncodingする。(HTTPAppユニットのHTTPEncodeで可能)

具体的には、以下のようになると思います。
FROMとか大文字小文字を区別しているようなので注意。

s := 'submit=' + HttpEncode('書き込む') + '&
+ 'FROM=' + HttpEncode('ヒロユキ@ギコナビ') + '&'
+ 'mail=' + HttpEncode('sage') + '&'
+ 'MESSAGE=' + HttpEncode('書き込みたい文字列') + '&'
+ 'bbs=' + 'tech' + '&'
+ 'key=' + スレ番号(ex. 981726544) + '&'
+ 'time=' + 時刻(注);
な感じを送ります。

僕の場合、時刻は以下のメソッドで取得しています。
//2ch日付取得(1970年からの秒数-9時間)
//現在の時刻(now)を渡してください
function TGikoSys.Get2chDate(aDate: TDateTime): string;
var
d1: TDateTime;
d2: TDateTime;
begin
d1 := EncodeDate(1970, 1, 1);
d2 := aDate - EncodeTime(9, 0, 0, 0);
Result := FloatToStr(Trunc((d2 - d1) * 24 * 60 * 60));
end;
418turbo type D@はみ出しプログラマ酔っ払い:2001/02/24(土) 02:50
> TBBS2ch (extends TList)
> └TCategory (extends TList)
>  └TBoard (extends TList)
>   └TThreadItem (extends TObject)

これもいいじゃないですか。というか
ギコナビの方が順当でわかりやすいかな思いますよ。
いろいろ迷ったんだけどまあ所有か継承なので
実現できればどっちでもいいか。
(いずれギコナビ方式にしようかモナー)

>>119
T2chObject実装にしても迷いましたよ。いまだに。

オレもAVI作った
AVIファイル
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monarotation.lzh
GIF
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monarotation.gif
419turbo type D@はみ出しプログラマ酔っ払い:2001/02/24(土) 04:11
モナプローラ、アプしたよ。
うごくかな。
TWebBrowser使ってるからD5限定ね。

あと、次からは多分パッケージもインストールするようにします。
コンポ使わないとコーディングが面倒なので。
420turbo type [email protected]:2001/02/24(土) 04:15
あ、レス一覧を参照できるようになりました。
実に使いにくい2chビューワーとしてなら使えるはずです。(w
421デフォルトの名無しさん:2001/02/24(土) 11:55
>>419
Browser.pas と MemCheck(例のメモリリークチェッカ?)
ってのが無いってエラーが出るーーー
422デフォルトの名無しさん:2001/02/24(土) 12:00
あ、違った。
単に MemCheckが無いってエラーでした。
423turbo type [email protected]:2001/02/24(土) 15:10
プロジェクトソースの該当個所をコメントアウトしてくれ
>>350>>351を参考にね.

>>書記さん、メモリリークの解決方法へのリンク張って
頂くとうれしいかも。
424turbo type [email protected]:2001/02/24(土) 19:18
ところで、モナヂラ ドット”オルグ”って読み方あってる?
425デフォルトの名無しさん:2001/02/24(土) 23:17
AVIでアニメーションさせるんなら
0..100%で進捗状況を表すようにしない?
426デフォルトの名無しさん:2001/02/25(日) 00:01
>>417
質問。
リクエストメソッドはGETでも大丈夫なの?
この2chはPOSTで送っているみたいだけど。。
427フッサール少佐:2001/02/25(日) 00:19
>>426
datファイルやsubject.txtならGETでOK。
CGIを動かすならPOST。
428フッサール少佐:2001/02/25(日) 03:16
>>427
ああ、スマソ。一体何を書いていたんだ。無かったことにしてくれ。
429デフォルトの名無しさん:2001/02/25(日) 08:13
>>425
余り関係ないが、AdobePremireの待機カーソル(砂時計みたいなの)妙に腹立たないか?
430turbotypeD@モナぢら:2001/02/25(日) 15:38
>>425
それはね。WinInetでは難しいのよ。
・・・そうでもないって話もあるな。

WinInetでの%実装…思い浮かんだぞっと。
差分ダウソと絡めて実装したいね。
431turbo type D:2001/02/26(月) 10:33
なんか下がりまくってるし....
432turbo type D:2001/02/26(月) 16:03
Delphiの弱点というか、
コンポーネントを継承して
そのコンポーネントの生成などを考えずに
IDE上でコーディングしようとすると
非常に面倒ですね。

面倒すぎるので、動的生成させることにしました。
だからパッケ−ジ化も特に必要なし。
433デフォルトの名無しさん:2001/02/26(月) 16:32
>>432
同意。
独自のコンポーネント作ってアプリに組み込んでも、
他人にインストールを強要するのがイヤでいつも動的生成にしちまう。
そのかわり動的生成だと、配置やプロパティ設定がウザイ。

このへん、どうにかにかならんもんかねぇ。
434turbo type D:2001/02/26(月) 16:48
>>433、を、やっぱりそう思いますか。

IDEの設定がコーディングレベルに落ちて
プロパ設定もソースで見えるように
VB.NET/JAVAでは改善していたと思う。
あまりしらないけど。

Delpヒもさっさと改善望む。

さて
動的生成タイミングなんですが
FormCreateでやればいいのでしょうか?

あと、CreateParentedってのはなんですか?
VCLじゃないWindowにコントロールを載せる為の
特殊なCreateと考えていい?
435turbo type D:2001/02/26(月) 17:37
FormCreateで問題ないことがわかった。

あと、TWebBrowserの動的生成は特殊なんだね。

var Browser : TWebBrowser ;
begin
Browser := TWebBrowser.Create(Self);
Browser.Align := alClient ;
TOleControl(Browser).Parent := Self ;
Browser.HandleNeeded ;

http://www.users.gr.jp/ml/archive/delphi/25250.asp
ここをみた。

ギコナビもオプソになったし
おもしろいね。
436Dax:2001/02/26(月) 18:27
>>397
119さん、こんな感じでしょうか?
雰囲気だけですが実行してHTMLを取ってくるとこまでは動きます。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/hotzonu0226.lzh
437turbo type D:2001/02/26(月) 19:24
ホットゾヌを組み込もうかと調べていたんだけど
アスキアトすごいね。

カテゴリとボードについてそれぞれ
TCollectionとTCollectionItemがあるんすね。
このままスレとレスについても

同じようなコードで実装するのでしょうか?
438Dax:2001/02/26(月) 21:09
>>437
いや、スレ/レス取得はダウンローダと解析処理を分けようと思います。
ですので全然違うコードになると思います。
つーか板一覧も変わります。スマソ..
439Dax:2001/02/26(月) 21:31
やっぱコレクションは不便ですかねー?
次回はギコナビみたいな TList 継承にしよー。
440デフォルトの名無しさん:2001/02/26(月) 22:18
ホットゾヌのソース見て、飲んでたお茶ふきだしそうになった…。アブねぇ…。
441デフォルトの名無しさん:2001/02/26(月) 22:19
動画つくりました!
今度は裏に別の顔があります。
AVIとBMPはここ
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaavi2.lzh

サンプルGIFはここ
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/mona02.gif
442Dax:2001/02/26(月) 22:44
>>440
やっぱ AA 張りきりすぎ?
それともロジックが変だったってこと!?
443フッサール少佐:2001/02/27(火) 00:22
writeの正しい使い方がようやく分かった。
document.open('text/html', 'replace');
これが必要だったらしい。待て、次号。
444119:2001/02/27(火) 00:28
Delphi以外の言語(特にスクリプト系)で参入しやすいように
一連のクラス郡をオートメーションサーバにしちゃうってのはどう?

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

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

聞いてくれてありがと アロエリーナ♪
\________ _______/
         |/
         ∧_∧
   Ψ    (∀・ )
   □    (∩∩ノ)
// ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ }
446440:2001/02/27(火) 07:04
コメントのAAにびっくらこいただけだよ。その調子で頼むよ(藁
447Dax:2001/02/27(火) 08:27
>>444
ActiveXコントロールを作ろうかと思ってたんですが
オートメーションサーバーの方が小回りききますね。

>>446
クラスとクラスの間に貼ってあるリアルゾヌ(勝手に命名)の AA がお気に入りです。
448turbo type D:2001/02/27(火) 10:03
>>443少佐・まってます。('w')ゞ

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

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

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


>>441
動画ないす!
モナプロラではUI上から動画を切り替えられるようにしておこうっと。
449turbo type D:2001/02/27(火) 11:53
450名無しさん@お腹いっぱい。:2001/02/27(火) 12:54
ActiveXコントロール/コントロールコンテナから
WordやExcelのドキュメントの書き込み禁止/許可を
させるにはどうしたよいのでしょうか?
451名無しさん@お腹いっぱい。:2001/02/27(火) 12:55
スレまちがえました。すいません。
452turbo type D:2001/02/27(火) 18:51
うまくいかん!、ぐう(x∀x)
453turbo type D:2001/02/27(火) 19:04
Browserの進むと戻るって
どのように実装されてるのかな?
GoBackメソッドとかあるけど。
詳説キボーン

あとWebBrowserに関するテクニックを
知っている人は沢山教えてくださいな。
454turbotypeD@モナぢら: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
456Dax:2001/02/27(火) 22:12
>>454
かちゅーしゃでHTMLソースを見るとレスごとに
アンカーが設定してあります。
Navigate時にアンカー指定で表示しているんだと思います。
457turbotypeD@モナぢら: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あたりがよろし。
459Dax:2001/02/27(火) 22:51
>>458
おお!なるほど、確かに Navigateだとぎゅい〜んって動いちゃうよね。
460turbo type [email protected](藁:2001/02/28(水) 09:41
なんかスレずいぶん落ちてるんだけど
みんな疲れてるの?
461デフォルトの名無しさん:2001/02/28(水) 09:48
みんな会社でまじめに働いてるからです(藁
462turbo type [email protected](藁:2001/02/28(水) 10:02
そうか!
まじめに働いていないのは俺だけか!(藁

じゃあ、今日も不真面目にGo!
463turbo type [email protected](藁: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
465turbo type [email protected](藁:2001/02/28(水) 17:25
わぉ(´∀`)
466turbo type [email protected](藁:2001/02/28(水) 18:33
オレもアプじゃあー!
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaplorer010228.lzh

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

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

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

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

まだまだ先は(カチュに追いつくには)遠い!
467turbo type D@モナヂラドットオルグ(ワラ:2001/02/28(水) 18:58
GoBackとGoForword機能
のEnabledはどうやって取得するのでしょう?
オスエテクダサイ
468turbo type D@モナヂラドットオルグ(ワラ:2001/02/28(水) 19:02
モナプロラ今後の予定

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

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

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

全体
  ちょっとくらい使い勝手を意識しろツコトデ
  UIの改善
    →PopupMenuで読み込むのをやめよう。
    →現在読み込んでいる板とスレの表示
  データのIniFile保存
469デフォルトの名無しさん:2001/02/28(水) 19:12
>>466
TList クラスを継承は出来るだけやめた方が良いよ。

Delete メソッドや Clear メソッドが公開されているから
バグを作る可能性が大きくなります。
470turbo type D@モナヂラドットオルグ(ワラ:2001/02/28(水) 21:00
あらーーー。
せっかくTList継承にしてみたのになあ。

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

そしたら
TNichListを内部で保持しておいたらいいんでしょうか?
471書記さん:2001/02/28(水) 22:26
モナプロ〜ラ〜のページ更新しましたー。
ワタクシもまじめに働いてないですよ。
472turbo type D@モナヂラドットオルグ(ワラ:2001/03/01(木) 01:07
あらま、本家とかついてる。うれしいでございます。

ギコナビもすぐクローン化されるんでしょうね。
みなさんマターリガンバリマソ
473ななしくん:2001/03/01(木) 10:07
本家のソースをみて感動(´ー`)
WebBrowserのParentの設定方法がわからなかったので
Frameを使ってたのが恥ずかしYo
もうちょっとガンバッテ勉強します。
474turbo type D@モナヂラドットオルグ(ワラ:2001/03/01(木) 10:12
エヘ(w
>>435
を見ておくれ。
Browser.HandleNeededが何で必要なのかは全然知らない(藁

BCBでのやり方は某所で載っているね。
475turbo 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
勉強になります。
477turbo type D@モナヂラドットオルグ(ワラ:2001/03/01(木) 18:14
かちゅ〜しゃの作者さんも来てくれないかなあ。
ソース公開とかどうでもいいから。
478デフォルトの名無しさん:2001/03/01(木) 19:11
むこうのかちゅしゃスレ妙に荒れてるからなあ。
直リンして、作者さんといっしょに、厨房がついてこなけりゃいいけど。
479書記さん:2001/03/01(木) 22:16
かちゅーしゃスレでは、次回のバージョンアップが済んだら
参加したいな〜って感じの書き込みがあったよね。
ソースの公開はしなくても、ぜひ参加してほしいですよね。
480turbotypeD@モナぢら: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
おおお、かちょええ!!
483turbo type D@モナヂラドットオルグ(ワラ:2001/03/02(金) 09:53
すげー。かっちょよすぎ。

ツールバーの画像ってどこから集めているんですか?
すごく標準っぽい画像
オレの使ってるBugBrowserってのにも
似たボタン画像が使われているのだが。
484turbo type D@モナヂラドットオルグ(ワラ:2001/03/02(金) 09:56
ダウソ部分は汎用的にまとめるのは難しいかもしれないけど
何をどうコーディングすればいいのかはわかっているので
データ構造などを決めてくれれば実装は
手伝いますぜ
485turbo type D@モナヂラドットオルグ(ワラ:2001/03/02(金) 16:28
ダウソのこと考えてると
マルチスレッドでどうしたらいいのかとか頭痛くなってきたよ。
486turbo type D@モナヂラドットオルグ(ワラ:2001/03/02(金) 18:53
monazilla掲示板が逝ってるのでこっちに書かせてもらいます。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaplorer010302.lzh
今日もアプしたよ。

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

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

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

すげー疲れた。
487turbo type D@モナヂラドットオルグ(ワラ:2001/03/02(金) 18:57
かちゅのように差分ダウソはしていないから遅いのは遅いですね。
欝だ............
488かちゅ〜しゃ作者:2001/03/02(金) 22:38
はじめまして。
やっぱりプログラム板はいいなあ。
全部読めてないので、とりあえず今は足跡だけでお許しを。
489turbo 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
&nbsp;&nbsp;OleInitialize(nil);
finalization
&nbsp;&nbsp;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じゃないとダメだったとおもう。
496turbo type D@モナヂラドットオルグ(ワラ:2001/03/03(土) 19:12
どもども。
>>492 ヒロユキ氏

それは何処に書けばいいのですか?
497turbo 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ちゃんは♪いつでもいいネタさがしてる♪
506turbo type D@モナヂラドットオルグ(ワラ:2001/03/05(月) 10:28
眠い。
507デフォルトの名無しさん:2001/03/05(月) 10:48
バイナリも置いてくれよん。
Delphi持ってないよん。
508turbo type D@モナヂラドットオルグ(ワラ:2001/03/05(月) 11:37
どなたかEZIPやUPXのexe圧縮(と呼ぶのか?)
かけておいてくださらないでしょうか。
509turbo type D@モナヂラドットオルグ(ワラ:2001/03/05(月) 12:48
>>498
だって、圧縮AVIをBMPに展開する方法がそもそもわからない。
....手作業でキャプチャするのはいやだよ。つらいよ。なくよ。
510デフォルトの名無しさん:2001/03/05(月) 13:17
>>509
AviUtlあたりで、AVIを読み込んで、書き出すときに無圧縮にすれば
良いと思うけど。
511SAGE:2001/03/05(月) 13:47
AVI って IrfanView でバラせませんでしたっけか。>509
>>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
515フッサール少佐:2001/03/05(月) 23:38
>>508
圧縮実行ファイルを作るならここらへんかな
http://jonathanclark.com/ezip/
http://www.entechtaiwan.com/aspack.htm

>>514
OpenGikoのヤツはboard.iniが無いと動きません。
ソースファイルからモッテくる必要あり。
当然だが、バージョンアップで前のと互換性が無いとか文句言うなよ。
そんなこと考えて作ってないし、だからこそソースのみなのだ。
516turbo type D@モナヂラドットオルグ(ワラ:2001/03/06(火) 09:39
つか、モナプロラの方も
ユーザーが使うレベルの完成度に達してないよ(藁

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

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

ところで別スレのDelphiLifeゲムを
アプしたいのですが
よい2ch利用可能アプ板しりませんか?
monazilla.orgにアプするのも筋違いだし
アヤシそうな所にアプしても悪いし。
519Dax:2001/03/06(火) 11:41
520デフォルトの名無しさん:2001/03/06(火) 11:58
>>518
> よい2ch利用可能アプ板しりませんか?
http://doripoke2.port5.com/cgi-bin/source.cgi
ここでどお?
あとはドル猫さんの
http://green.nttec.com/tech/
とか。
521turbo 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
いいねそれ(藁
いくつか聞かれるとは...何の意図があるのだろう。
なんか怖いよ。
もしかして
「精神年齢低そー」とか思われてる?(TДT)
528デフォルトの名無しさん:2001/03/07(水) 14:46
>>527
太った男性は、好きですか?
とか聞かれるよりマシ(;´Д`)
529turbo type D@モナヂラドットオルグ(ワラ:2001/03/07(水) 14:55
>>528
嫌すぎ!(;´Д`)
チンコ萎える
530デフォルトの名無しさん:2001/03/07(水) 15:36
で、実際のところ何歳?
531デフォルトの名無しさん:2001/03/07(水) 15:55
わーい、バイナリアップされてるー。
これで参加できるぞー。
使うだけだけどー。
532turbo type D@モナヂラドットオルグ(ワラ:2001/03/07(水) 16:08
>>530
何歳がいいですか?

この際75歳って事にでもしましょうか。(藁
75歳じゃチンコ萎える感覚もわからんだろうな。
いや、そんな話どうでもいいよ。全く!

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

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

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


あと、

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

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

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

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

でも何とかなるかも。
536デフォルトの名無しさん:2001/03/07(水) 20:14
スレッドは面倒だぞ。
データの整合性が乱れないように気をつけないと。
537Dax: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継承がスマートですね。
それから処理中断をどうやって実装しようか悩んでます。
538turbo 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
スレデータも板データもリファレンスカウンタで管理すれば?
540turbo 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
542turbo 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;
543turbo type D@モナヂラドットオルグ(ワラ:2001/03/08(木) 17:31
テスト
スマソ差分ダウソテスト
545turbo type D@モナヂラドットオルグ(ワラ:2001/03/08(木) 17:38
>>540-541
Integerだけでいいので
よろしくたのみま

>>542
の差分ダウソ全然スピードがでなくてダメダメだ!
546デフォルトの名無しさん:2001/03/08(木) 17:57
>>540 リファレンスカウンタ
TNichThreadやTNichBoardに自分が何回参照されてるかのカウンタ
をつけておき、Assign(←Delphiをまったく知らないが文脈からDeepCopy
のことと推測した)するんじゃなくて、カウンタを1増やす。
で、オブジェクトが不要になったら破棄するんじゃなくて、カウンタを1減らす。
カウンタが0になったら、参照されてないってことだからオブジェクトに自殺させる。

Pascalにもポインタはあったと思うのでたぶんできると思う。
547turbo type D@モナヂラドットオルグ(ワラ:2001/03/08(木) 17:57
>>542 サンクスコ

書記さん更新はやすぎだよ(藁
548turbo type D@モナヂラドットオルグ(ワラ:2001/03/08(木) 18:05
>>546
はーー、そんな方法があるんだ!かしこいなー
誰が考えたんだ?

俺が知らんだけ?常識?

Assignはメンバーとか全部のコピーです。から
DeepCopyと同じかな。あまりしりませんが、

簡単なサンプルキボン.C++でもいいよぉ
どこかのwebペジに載ってないでせうか?
549デフォルトの名無しさん:2001/03/08(木) 18:54
>>548
VCLのソース参照(藁
グラフィックス系のオブジェクトは、参照カウンタもってて、
Assignしてもその時はコピーされなかったはず。
550デフォルトの名無しさん:2001/03/08(木) 19:09
>>545
いいだしっぺが実装かい!おそろしいスレだ…。
まあつけておいたけど。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/MonaUtils20010308.zip

しっかしTipsといいこのスレはためになるなぁ
551デフォルトの名無しさん:2001/03/08(木) 20:29
>538
TNichObjectのインスタンスの個数・寿命は
フォーム上のコンポーネントに「完全に」一致しているから、
TComponent.Tagがインスタンスの生成・廃棄の責任を持つようにしたら
いいんじゃない?
TreeView1.Tag = LongInt(TNichBoards.Create);
TNichBoards(TreeView1.Tag).Download;
とかね。
552turbotypeD@モナぢら:2001/03/09(金) 01:04
>>550サンクス
自分で参加してこそ、ためになるさ、きっと。

>>551
スマソ、ちょっとそれは理解できない。
というか意味がわからない。ドユコト?

リファレンスカウンタっていうのはつまるところ
ガーベージコレクションつ奴なんだね?
違った?

それにしてもそれをやると
かなりデータ構造やらの改造が必要になるので
オレ的には当面は先送りしたいと思います。

メモリ効率化よりも
きちんと動作するものを作らないといかんかなと。
553turbo type D:2001/03/09(金) 12:05
スンマソン頼みがありまする。

WinInetのダウソ時間で
542のサブンダウソするコードpage14と
ここ
http://www.geocities.co.jp/SiliconValley-Oakland/9028/document/wininetdel.html
のpage2/page3とのダウソ時間の短縮の効果の
大まかな測定をどなたかやってはくださいませんか。

現在、レス表示についてサブンダウソしているが
オレの環境では、それが氏ぬほど遅い。
サブンダウソの意味がわからない。
なんでだ


関係ない話だけどpage4のやり方だと
ダウソの途中キャンセルが出来ないようなので
使えない。
554デフォルトの名無しさん:2001/03/09(金) 21:43
ギコナビα010のバージョン情報注目ー!!
555デフォルトの名無しさん:2001/03/09(金) 21:57
16x16(を並べた)256色ボタン画像つくりました。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/16x16x256_01.lzh
556turbotypeD@モナぢら:2001/03/09(金) 22:09
>>書記さん
モナプロラページ作成、サンクスーーー

>>555
d(・∀・)イィ
557turbotypeD@モナぢら:2001/03/09(金) 22:27
キコナビα010コンパイル成功。

ギコナビもスレッドつかってんですなー。
モナプロラもスレッド化&ダウソ部分のコーディングは
今のところ順調。
思ったとおりにできそうっす。

プロラRさんにもいいのが提供できそうだ。
558デフォルトの名無しさん:2001/03/10(土) 04:06
ギコナビさんの TBBS2ch でなんでメモリリークするのか解らん。
カテゴリ数+1?っぽいので見つけるのは楽だろうと思ったらそうでもない…
う〜消化不良だ、だれか潰してくれ〜。
559turbotypeD@モナぢら:2001/03/10(土) 17:21
今、CATVでLAN接続なんだけど
ギコナビがWebデータを全く読んでくれない。

IEなどはプロキシ使用しないになってるんだけど。
ギコナビでも当然同様に設定している。
560ななしくん:2001/03/10(土) 22:56
本家すごい勢いだネ。
忙しくってついていけないよ。(゚ε゚ )トホホ・・
561デフォルトの名無しさん:2001/03/11(日) 00:46
Monaplorer,
bbstable.htmlも配布してぇ〜
562デフォルトの名無しさん:2001/03/11(日) 13:09
>>560プロラRさんですか?
なにせ、仕事してないからね。

誰か、就職先斡旋してくんない?(藁

ところで、昨晩いいダウソクラスユニットができましたぜ旦那!

こんな感じの奴。
キャッシュを使う/使わない
差分ダウソする/しない
ダウソ途中でイベント発生、イベント内でApp.ProcessMessageを
かまして、キャンセルフラグ立てたり可能
ダウソ中のデータもそのイベントに随時送信

そのクラス単体でも使えるダウソユニットになるけど
(というか現状のモナプロラはこれと似てる)

それ自体をスレッドでぐりぐりまわす予定。
スレドの方はまだミカンね。

>>561
ラジャーブラジャー
つか、起動時に板一覧は表示するように変えときます。

時間オッパイいや、イッパイある
Del厨学生なんかは参加してないの?
仕事人ばかりなのかな。
563turbo type D:2001/03/11(日) 13:12
>>562
名前忘れてた。
564>562:2001/03/11(日) 13:37
>誰か、就職先斡旋してくんない?(藁
履歴書にこのスレとmonazilla.org(藁のURLを
書いとけば一発で (以下略
565デフォルトの名無しさん:2001/03/11(日) 18:18
確かに一発(略
566turbo type D:2001/03/11(日) 18:32
>>564
一発で落ちるんだろ。。それやだ。(TДT)ゴルァ
567デフォルトの名無しさん:2001/03/11(日) 18:43
>一発で落ちるんだろ
そんなことないんじゃない?

オープンソースプロジェクトに参加する動機の一つに
名前と技術力をアピールすることもあるみたいだし。

ちゃんとしたものを仕上げれば、
履歴書に書くことがプラスに働くと思うんだけど...
568turbo type D:2001/03/11(日) 19:09
ほんとかな。まあいいや。

今初めて気が付いたんだけど
かちゅ〜しゃのスクロールバー上でPopupMenu
が開くね。
こりゃなんだらホイ?

普通の
ListViewやListBoxのスクロルバ-
なのかな?
569デフォルトの名無しさん:2001/03/11(日) 19:43
>>568
最近のWindowsについたコントロールの機能と思われ。
自力でスクロールバー実装してない限りは、つくと思われ。
570569:2001/03/11(日) 19:49
あ、どうでもいいが、Delphiのエディタのスクロールバーだとでないね・・・。なぜ。
571turbo type D:2001/03/11(日) 20:34
さんクスコ>>569
独自実装じゃない?

エディタとかでも出ないよ。
572デフォルトの名無しさん:2001/03/11(日) 20:45
どこのスクロールバー?
573かちゅ〜しゃ作者:2001/03/11(日) 20:46
どこのことでしょ?
少なくとも、独自実装とか難しいことはしてません。
574かちゅ〜しゃ作者:2001/03/11(日) 20:50
ちなみにブラウザコンポはTEmbeddedWb、
リストコンポはTExtListViewを使ってます。
海外フリーコンポですが使い慣れているので。
575フッサール少佐:2001/03/11(日) 23:17
ちょっとダケ更新。
なんか段々コードがダサダサになってきたような…。鬱だ。
576turbo type D:2001/03/12(月) 00:24
>>573
ありゃま、>>568は私の誤解でした
Win2000で標準コントロールなら自動で付属するようです。
独自実装はDelphiIDEの話.

>>575
そういうのわかる。(藁

かちゅしゃはすごいね。がんがん目指してもらいやすわ。
577turbo type D:2001/03/12(月) 00:25
>>576
目指さしてもらいやすの意味
最近書き込みすらまともに出来ないほど壊れてるのか?俺は。
578turbo type D:2001/03/12(月) 11:04
マルチスレッドのコーディングについて質問です。
現在2つのやり方について悩んでいます。

Tギコスレッド
 Tギコダウンロード
 Tギコダウンロード
 Tギコダウンロード
という所有関係を作っておいて
Tギコスレッドを動作させると
Tギコダウンロードが一つ一つ
Tギコスレッド上で実行されるという方式・
別スレッドが1コのものと

複数のモナスレッドを作成して
そいつの所有するモナダウンロードを
実行していくというやり方
Tモナスレッド
 Tモナダウンロード
Tモナスレッド
 Tモナダウンロード
Tモナスレッド
 Tモナダウンロード
Tモナスレッド
 Tモナダウンロード

どちらがよさそうでしょうか。
とりあえず現在前者が頭の中に
浮かんでいるのでそちらでコーディングしておこうかと
思ってますが。
前者のやり方でまずい点ありますか?
579turbo type D:2001/03/12(月) 12:48
2chブラウザーってオプソになってるんですね。

こりゃ慌てなければ。
580デフォルトの名無しさん:2001/03/12(月) 14:04
>>578
>前者のやり方でまずい点ありますか?
同時に1つしかダウンロードできないこと。それで(それが)いいならいいけど。
581turbo type D:2001/03/12(月) 18:02
書記さん、更新どうもです。
あまりにも更新が早いので
書記さんはWebデザイナーの仕事でもしてるんですか。(藁

ダウンロードユニットの
ソースアプはわざわざlzhで公開しても
見る人が少ないかなと思い
http://green.nttec.com/tech/
からアプしましたが、コピペしていただけると幸いです。
582turbo type D:2001/03/12(月) 18:04
>>580
確かに同時に1ですが、その際にメインスレッド側が
待つ必要もないので
ダウンロード指令はガンガン発行できるようにしてみたり...

もすこしで完成しそう。
そしたら概要が問題ないか意見きかせてくれいな。
583Dax:2001/03/12(月) 21:40
Hotzonuアプしました。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/hotzonu0312.lzh
マルチスレッド対応で、途中キャンセルできるようにしました。
584Dax:2001/03/12(月) 21:41
>>578
Hotzonuでは
 Tゾヌスレッド
  Tゾヌダウンロード
 Tゾヌスレッド
  Tゾヌダウンロード
 Tゾヌスレッド
  Tゾヌダウンロード
こっちです。
あんまり考えてません、
585Dax:2001/03/12(月) 21:43
>>567
モナヂラ連中で会社をつくればよい。
ぅ、なんかスゴいことになりそう・・・
586Dax:2001/03/12(月) 21:52
しまった、dfmを入れておくの忘れてた。。ぅっ、
587turbo type D:2001/03/13(火) 09:45
Dax氏、ほうほう。
今からソースみさせてもらいます。
精進せねば。

Delphiで楽しく働ける場所があればいいなあ。
優秀な技術者の下で修行したいよ。

デスマーチの苦行とかなら嫌だけどね。
588turbo type D:2001/03/13(火) 13:32
やっとスレッドを理解できた。
オレTerminatedとSuspendedの意味が混じって混乱してた。

簡単なダウンロードサンプルも動作したので
これから綺麗に仕上げるかな。
589デフォルトの名無しさん:2001/03/14(水) 09:20
WebBrowserで画像を表示するときに
画像ファイルを使わない方法はある?
たとえばTImageを使うとか。
590turbo type D:2001/03/14(水) 09:45
意味わからんよ。
データを読み込んでファイル書き込みせずに
直で表示したいということ?
591デフォルトの名無しさん:2001/03/14(水) 10:15
そのと〜り。
文字ばっかりって地味だし、
かといって画像ファイルばら撒くのもうざいので
TImageかTImageListにボタンなんかを
入れとくのがいいような気がしたので。
592turbo type D:2001/03/14(水) 10:59
Jpg/gifファイルをダウソするときにメモリに持つ事はできるだろうが
WebBrowserで表示しているのはあくまでもHTMLなのだから
ファイルに持つか、直リンしておくのどちらかしかあるまい?
特殊なやり方があるのかもしれんが。
593ヒロユキ@ギコナビ:2001/03/14(水) 22:27
>>589-592
リソースに画像突っ込んで、res://で見れなかったっけ?
もしかしたら、夢で見ただけかもしれない。
594turbo type D:2001/03/15(木) 10:07
>>593
おっとそうなん。それは私が知らないだけでしたね。

さあ、589さん挑戦だ!
595Dax:2001/03/15(木) 22:35
Hotzonuアプしました。
Indy用クラスを追加しました。Indy使いやすいですねー。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/hotzonu0315.lzh
596turbo type D:2001/03/16(金) 15:52
聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ

「ようやくスレッド動作するダウソユニットできたの〜」
http://green.nttec.com/tech/read.cgi?KEY=984725056

聞いてくれてあーりがと アロエリーナ♪
\______ __________/
          |/
        ∧_∧
  (○)   (∀・  )∩゛
  ヽ|〃   ∩、 ∩  ⌒つ  マダマダガンバルヨ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
597turbo type D:2001/03/16(金) 19:20
書記サンはどうしてそんなに更新がはやいんですか、

あと、kylixでmonazillaするツワモノはいますか?(w
ついでにIndyの互換性など報告してくれいな。
598デフォルトの名無しさん:2001/03/16(金) 21:03
C++Builderで作りたいんだけど
へたれだからDelphiコード移植が分からないでやんの(汗
どっかに変換ソフトないかな〜。
599書記さん:2001/03/16(金) 21:58
>>597
仕事せずにネットばっかりやってるからです(本当)。
ただ、幸か不幸か会社から2chへ書き込めないのが残念。。
そう言えば Kylixベータテスターは申し込まれましたか??>ALL
600turbotypeD@モナぢら:2001/03/17(土) 12:08
>>598
ほんと、変換ツールほしい。出来れば相互がいい。
STLなんか使われたら無理だけど。

IndyやHTTPCLIやその他有名コンポは
手動でDelphi>>BCB変換してるわけではないと思うのだけど
(だって手間がかかりすぎる!)
海外では変換ツールとして何かスタンダードなものがあるのじゃないかな?
全く憶測でものを言っていますが。

601turbotypeD@モナぢら:2001/03/17(土) 20:50
>>書記さん
お世話になっておりまする。

PascalソースをHTMLで綺麗に表示させるルーチンは
何を使っていらっしゃうるのでしょうか?

コメントの認識が正しくないです。

//(*(´∀`)ココカラナ〜〜(´∀`)コメントモナ〜〜
 処理
 処理
 処理
//(´△`)ココマデナ〜〜(´△`)逝ってよしモナ〜〜*)

こういう記述ですと
(*が行頭でコメントアウトされるので

"処理"自体はDelphiに実行されるので
青色で色分けするのは適当ではないです。はい。
まあ、こんなコメントの書き方する方が悪いんですけど。
602書記さん:2001/03/17(土) 21:18
しまった!!
603turbotypeD@モナぢら:2001/03/17(土) 21:26
まさか、手動...(・∀・;)
604デフォルトの名無しさん:2001/03/17(土) 22:10
>>602-603
君ら、えーコンビや(藁
605デフォルトの名無しさん:2001/03/18(日) 16:07
なんか Indy、バージョンアップして
ひどくセットアップしにくくなってた。。
606デフォルトの名無しさん:2001/03/18(日) 16:31
>>598
WinInetの資料なんかはBCBの方が多いから
移植しなくてもそれらを参考にするのもいいと思うよ。
ttp://www.geocities.co.jp/SiliconValley-PaloAlto/1512/
607デフォルトの名無しさん:2001/03/18(日) 16:35
Indy 8.00.23セットアップ
1.Indy50.dpkを開いてポップアップのオプション-情報の
 パッケージの種類を「設計時のみ使用可能」にする。
2.で、インストールを押す。
3.次にdclIndy50.dpkを開いてインストールを押す。
 以上
Del4,Del6(!),BCB4,BCB5も同じ手順と思われ。
608turbo type D:2001/03/19(月) 17:42
専用掲示板ばかり書き込んでいても、こっちがさびれてる風
になりそうだから、アゲ

http://www.geocities.co.jp/SiliconValley-Oakland/9028/
609ふみもたたけし:2001/03/20(火) 23:18
とりあえずアプリの構造が決まったのでageてみる。
UIが変だけど、暫定的なものだから気にしないよ〜に。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/ShortCuts20010320.zip

次はダウンロード部分をHotzonuに替えるつもり。
610turbo type D:2001/03/21(水) 11:52
モナプロラもexeアプしたいですが、
してもいいっすか?
611デフォルトの名無しさん:2001/03/21(水) 13:19
つーか、exeないと評価でけへん
612turbo type D:2001/03/21(水) 13:37
まだ、βというにも早いかもしれませんが、
モナプローラexeアプしました。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaplorer010321exe.lzh
バイト数がデカすぎ!書記さんごめんよ。
613デフォルトの名無しさん:2001/03/21(水) 17:13
>>612 どーでもよいが、
cathe→cacheだと思う
614turbo type D:2001/03/21(水) 17:27
オレも前々からおかしいと思っていたんだよ。(藁
615デフォルトの名無しさん:2001/03/21(水) 18:42
わざとかと思ってた
616turbotypeD@モナぢら:2001/03/21(水) 23:11
直しましたよ。ごめんなさい。
リリースはまた今度。
617turbo type D:2001/03/22(木) 16:02
monaplorerのexe,
すばらしい技術革新によりExeのファイルサイズが
なんと!1/7の大きさになりました(USO800にモトズク当社比

つづり間違いなおしとかもしたけど、殆ど何も変わってないかな。
cathe>>cache
たぶに板名を表示するコードは前から入ってたっけ?

という事でアプです。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaplorer010322exe.lzh
618デフォルトの名無しさん:2001/03/22(木) 21:20
>>609
Shortcutsは重要度の下がったWindow
(例えばスレを選択した直後のスレ一覧とか)
が自動的に隅へ移動or後ろに隠れて、
重要度の高いWindow(選択したスレ)が
前面に出てくるというのが賢いね。

それにしてもSDIでもMDIでもない変な画面が面白い。
どうやってるんだろ?
http://www.geocities.co.jp/SiliconValley-Oakland/9028/screenshots/shortcuts01.gif

今後に期待age。
619Dax:2001/03/22(木) 21:28
>>618
ソース見てびっくりしたよ。すごい!
UIは暫定的なものらしいけど、十分すごいよね、
今後はウィンドウがドッカブルになるらしい。
620デフォルトの名無しさん:2001/03/22(木) 21:51
>今後はウィンドウがドッカブルになるらしい。
ドッカブルは状況に応じて自分で
入れ替えたりしないといけないから、
今のほうが使いやすいと思うな。
個人的にはこっちを追求してもらいたい。

名づけて「インテリフォーム」(藁
621turbo type D:2001/03/23(金) 11:16
>>618
FormのParentをFormにしてるとこうなるのかな。

このあたりのコードみるとわかりますね。
procedure TfrmMain.FormShow(Sender: TObject);
begin
  IncludeForm(tabsheetBoards, frmBoards);
  IncludeForm(tabsheetThreads,  frmThreads);
  IncludeForm(tabsheetFavorites, frmFavorites);
// IncludeForm(tabsheetHistory, frmHistory);
// IncludeForm(tabsheetOption, frmOption);
  IncludeForm(panelRight, frmResponses);

  IncludeForm(tabsheetSearchFile, frmSearchFile);
  IncludeForm(tabsheetWrite, frmWrite);
  IncludeForm(tabsheetOutput, frmOutput);
  IncludeForm(tabsheetRound, frmRound);
end;

procedure TFormEx.IncludeForm(ParentControl, ChildControl: TWinControl);
begin
  ChildControl.Parent := ParentControl;
  ChildControl.Align := alClient;
  ChildControl.Visible := True;
  if ChildControl is TForm then
    with TForm(ChildControl) do
      if Assigned(OnActivate) then OnActivate(ChildControl);
end;

不思議なコーディング&UIだ。>Shortcuts
オレとは全然ちがうなあ
インストしやすいように
HistoryEdit、Inifilerを含めたパッケージ付属キボーン。
ツールバー&ショートカットカスタマイズまで実装とは驚いた。
622デフォルトの名無しさん:2001/03/24(土) 00:35
面白い。Form内にForm入れてるんすね。
Delphi5のFrameみたいな感覚なんすかね。
623デフォルトの名無しさん:2001/03/24(土) 01:23
こうすりゃスクロールボックスの中に出来て偽MDIが実現できるよ。
ドッキングはよーわからんけど。
 A := TForm1.Create(Self);
 A.Parent := ScrollBox1;
 A.Show;
624turbo type D:2001/03/24(土) 20:26
そんなコードまでkylixって移植できるのだろうか。
625Dax:2001/03/24(土) 21:08
ま、あと、数日すりゃベータが届くから分かるね。>>624
ホットゾヌ Indy 版が動くかどうかも心配、
Kylixが出ればLinux用2ちゃんブラウザも増えるだろうね。
626Dax:2001/03/24(土) 23:22
Hotzonuアプ
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/hotzonu0324.lzh
Indyユニットはポストできるようにしました。
WinInetはまだ。よーわからんです。。。
627Dax:2001/03/26(月) 22:56
ホットゾヌ・『ブラウザ』 あぷ

とりあえず板やスレの一通りの読み込み、
レス書き込み、(新規書き込みは無し)
お気に入り追加、各種検索などつけてます。
今回はソースのみですがもうちょっとしたらEXEもアプします。

http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/hzb0326.lzh
628Dax:2001/03/26(月) 22:59
あ、言い忘れ。
俺のお気に入りファイルと書き込みテンプレートが
ついてくるけど気にしないでね。

しつこいようですが *ブラウザ* なので、
興味あるかたはテストお願いします。
#巡回はできません。
629>Dax:2001/03/26(月) 23:02
menubarが見つからないって怒られるんだけど
どこで手に入れるの?
630>Dax:2001/03/26(月) 23:05
つーか、ソースとexeは一緒に配布してもらえるとありがたいです。
631Dax:2001/03/26(月) 23:11
言い忘れました。 Del;phi 4 + IE4 + Indy でした。
Indy部分はは外して WinInet にすることも出来ます。
やりかたはちょっと待ってね。
TMenuBarは Boarland.com でダウンロードできます。
http://www.borland.com/devsupport/delphi/download_files/menubar.zip
632Dax:2001/03/26(月) 23:12
↑IE4じゃなくて IE3でした。 今時 IE3環境で動きます。
633test:2001/03/27(火) 02:57
test
634turbo type D:2001/03/27(火) 20:26
ソースアプ前にメモリークのバグ適当に
つぶそうと思って甘くみてたら
すごうい混乱した。メモリリーク怖いね。除くのに肩こった。

ということで、例外やメモリリークは出ない事を祈りつつ....
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaplorer010327exe.lzh
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaplorer010327.lzh
D5Proで動くです。TWebBrowserつかってるから
learningは使えないのかな。残念。TUIWebBrowserあたりで
代用してくれい。

更新履歴はこんなで。

01/03/23 Reload機能をつけた
&ampを&に置き換えるようにした。
01/03/27 Browser部分が2chのスレッドによって自動スクロール動作するようになった
Stop機能がついた
スレ表示部分の&lt;、&gt;を<>にするようにした。

ではまた明日っつことで。
635turbotypeD@モナぢら:2001/03/28(水) 00:57
書記さんは忙しいのでしょうか。やっぱし年度末だしね。
636ふみもたたけし:2001/03/28(水) 22:13
ソースを整理&表示のカスタマイズをできるようにしてみた。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/ShortCuts20010328.png
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/ShortCuts20010328.zip

次はレスフィルタをつける予定。Hotzonu対応はもうちょっと先になりそう。
637turbo type D:2001/03/29(木) 18:02
そろそろかちゅ〜しゃもVerupするみたいですね。

改めてかちゅは完成度高いなあと関心ですわ。
638Dax:2001/03/30(金) 00:53
ホットゾヌブラウザあぷ
EXEも含めました。
変更点は特に無いです。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/hzb0329.lzh
639turbo type D:2001/03/30(金) 19:20
アプしたよ。ほとんど何も変わってないけど。
Exe,
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaplorer010330exe.lzh
ソース
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaplorer010330.lzh

Formの位置保存復帰を実装
ツールボタンの位置を上だけにした。

次回からソース梱包にしておきます。
640turbo type D:2001/04/02(月) 10:40
えっと、下がりまくっているのでage

質問なのですが、うちの会社環境ではFTPがつかえません。
でも、monazilla_studioでアプすることは出来ます。
これはなぜでしょうか?
641turbo type D:2001/04/02(月) 11:01
あと、ここでする質問じゃ無いけど
かちゅーしゃはdat/xxxxx.datを読むのではなくて
直接
http://piza.2ch.net/test/read.cgi?bbs=tech&key=981726544
を取得していないかな。

これだと、更新は正しくなっていいかんじだが
read.cgiの負荷がでかいような気がする。

みんなはどっちでやってるの?

642デフォルトの名無しさん:2001/04/02(月) 11:17
>641
かちゅの旧版はread.cgiを読んでたが、新版はdatを直読みしてる。

>640
火壁では?PASVモードにしても駄目?
643turbo type D:2001/04/02(月) 11:53
>>642
サンキスト!(´3`)チュウ
dat読むと更新されないページが山ほどあるが
ユーザーの人々はそれを許容できるかな。

現にこのmonazillaスレのdatもまだまだ更新されていない。
不便だ。

日壁なんだろうけど、詳しい事はハテナ。
PASVモードってのは??。

知識が歯抜けでスマソ。
644642:2001/04/02(月) 12:25
>643
一般的なFirewallは、内から外への接続のみを許可して
逆は許さない事が多い。
FTPの一般的なDataConnectionは、外から内への接続に
なるんで、上記の理由からFirewallに弾かれる。
FTPのPASV Modeは、内から外にDataConnectionを張る
んで、Firewallを回避出来る場合もある。
---
2chブラウザは、ともかく<オイ!
IEコンポーネントの使い方とかDelphiスレの質問とか参考
になってるんで、実は感謝&注目してるよん&hearts;
普段ROMってて申し訳ないけど(^_^;
645turbotypeD@モナぢら:2001/04/03(火) 23:23
>>644
どもども。FTPはやっぱよくわかんないっすわ。
ちょっぴり記憶にとどめておきますね。

ところでmonazillaサイトでDaxさんがkylixでmonazillaのGUI
作ってみたそうです。

かっこよすぎてKylixマンセーなので、こっちにもURLを載せますわ。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monazillax.jpg
646Dax:2001/04/04(水) 00:22
WinInetを単純にラップした TMonaInetをアプしました。
まだポスートの部分は出来てないよー。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monawin0401.lzh

Kylixモナヂラ、ぜひつくりたいね、
647turbo type D:2001/04/04(水) 10:33
usesの
SHDocVw_TLB
ってのはどこにあるのでしょうか?
648デフォルトの名無しさん:2001/04/04(水) 16:16
TLBって付いてるからタイプライブラリ取り込みじゃないの?
Microsoft internet Controls (Vresion ?.?)だと思う。
649turbo type D:2001/04/04(水) 19:27
ホットゾヌブラウザで
SHDocVw_TLB は必要ないようなのですが、ソースに書いているのは
余分かな?
650Dax:2001/04/04(水) 23:34
>>649
D4ではSHDocVwが標準でつかないのでSHDocVw_TLB使ってます。
uses節に

{$IFDEF VER120}
SHDocVw_TLB, //DELPHI 4 用
{$ELSE}
SHDocVw, //DELPHI 5 用
{$ENDIF}

こう書くといいのかな。Main.pasだけこうしてたような。

ホットゾヌ・ブラウザ最終試作版あぷしたよ。(スプラッシュつけたぐらい)
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/hzb0404.lzh

それから機能一覧もつくったよ。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/document/hotzonu/hzb010.htm
651デフォルトの名無しさん:2001/04/05(木) 02:29
>>645
ここにいらっしゃる方は情報通ですから、既にご存じであろうとは思いますが、
Windows VCL で使われている ICS/Internet Component Suite の Kylix 版があります。

http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=15603

652Dax:2001/04/05(木) 22:24
>>651
おお!ICSって言ったらギコナビが使ってるコンポですね。
Kylix版、あったんだ。
とにかく Kylixはもっとコンポを充実させてほしいね。
653turbo type D:2001/04/09(月) 12:55
オレはここ数日忙しくて慌てふためいていたのだけど。。

みなさん、どーっすか、最近は
オフカイとかどうなったっすか?

プログラム板のカキコが調子ワルカッタので
おもむろにかちゅーしゃ2を導入しました。
かっこいいですね。
654Dax:2001/04/09(月) 23:33
モナヂラオフの話はどなったんでしょかー。
とりあえず turbo type Dさん幹事っつーことで。
あ、おれは出られそうにない、、(泣
プログラム板 (Pizaサーバー) はスクリプト変更があったみたいです。
ヒロユキ@ギコナビ氏によると Refererを設定すれば書き込めるそうです。
655turbo type D:2001/04/10(火) 17:33
> モナヂラオフの話はどなったんでしょかー。
どーなったか、オレが聞いたのに、(TwT)ル〜ルル〜

> とりあえず turbo type Dさん幹事っつーことで。

そーなんッッッ!(゚w゚;;;
Kylixオフや2chプログラマ板オフに便乗しようかと
おもっていたのですが....
それすら出られなさそうな状況なんすけど>>オレ。

んー。来週明けまで何もかもが忙しいので、
なんともうごけません。

プログラマ板オフが21日(土)らしいので便乗する?
monazillaな人が誰かいくなら、オレも参加考えます。
(まだ考えるだけだけどね。(藁)
656デフォルトの名無しさん:2001/04/11(水) 04:35
sage
お待ちしております。
658ヒロユキ@ギコナビ:2001/04/12(木) 01:46
モナヂラスレに書き込んでも書き込まれないと思ってたら、
この板はpizaだったのね。
>>655
忙しくなってきたです。
オフが連休後だったらなー。
ていうか、無気力を直す薬ないですか?
659turbo type D:2001/04/12(木) 19:26
この何も考えずに工場で流れ作業をやるような
腐れ仕事をなんとかしてほしい。助けて...
660Dax:2001/04/13(金) 22:24
ホットゾヌ・ブラウザ試作品 for Linux
まだ配布できないけど。。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/document/hotzonu/hotzonu_linux.htm
661デフォルトの名無しさん:2001/04/14(土) 10:54
>>660
おおお。Kylixですか!
ScreenShot見た限り、Delphiのアプリを移植しやすそうですねー。
# とはいいつつも、unixくささ(?)が残っててちょっと残念
662デフォルトの名無しさん:2001/04/14(土) 21:44
[2ch批判要望板] ■■bbs.ini仕様草案
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=987232546
663書記さん:2001/04/14(土) 22:15
>>662
情報ありがと!
さっそくmonazilla.org(w のページにもリンクつけました。
664ヒロユキ@ギコナビ:2001/04/15(日) 00:49
Linuxのホットゾヌ、カッチョイイ!!
ベータ申し込むんだったー。
それより、Linuxって綺麗なフォントないの?
MSゴチとか、そのまま使えたりしないのかな?
665Dax:2001/04/15(日) 00:52
Linux厨房なんでさっぱりなんです、>フォント
AAとかキレイに表示するフォントがあるらしいんだけど
会社のPCにゃちょっといれきらんです、
666turbotypeD@モナぢら:2001/04/15(日) 17:47
ペンギンというか犬というか、サイコー

マンセー。(w
667デフォルトの名無しさん:2001/04/17(火) 22:12
>>664
そうそう、いまいち移行に踏み切れないのは、フォントに抵抗あるんよね
#なんか、偽もん臭くて・・・
668>>664:2001/04/17(火) 23:57
X-ttならそのまま使えるよ。
669デフォルトの名無しさん:2001/04/22(日) 09:45
とりあえず、共同開発の手法の参考としてもここは沈んでもらいたくないよアゲ
670Dax:2001/04/22(日) 21:11
>>669
age さんきゅー。
最近は turbo type D氏もふみもたたけし氏もフッサール少佐も忙しいみたいで・・・
あ、俺は暇なんだけどね。
で、すごいスレッドがソフトウェアに立ってるね
「乱立する2ch用ブラウザの比較」
http://salad.2ch.net/test/read.cgi?bbs=software&key=987860942&ls=100
とっても参考になります。
671ヒロユキ@ギコナビ:2001/04/23(月) 01:59
>>670
ギコナビもmonazillaのプロジェクトなんだけどなー。

んで、僕も仕事が忙しいです。
でも、仕事の忙しさとギコナビ作るスピードってのは、あんまり関係ないみたい。
ムカツク仕事だと、家に帰ってきてもやる気ゼロだし。
今はムカツク仕事だから、やる気ゼロ。
ほっんとにムカツク。あ゛ぁぁぁぁー。ストレス溜まり病だよ。
あー愚痴ばかり。ゴメソ
672turbo type D:2001/04/23(月) 10:34
まちがえてDel相談に投稿しちまった。

>>671
>ムカツク仕事だと、家に帰ってきてもやる気ゼロだし。
>今はムカツク仕事だから、やる気ゼロ。

わかるーー。
愚痴りな.愚痴りな.

オレは仕事が忙しいと残業になっちまうから
スピード遅くなるのがくっきりわかるけど。

まーーーったく関係ないけど、
「こげぱん」って絵本、お勧めだよ。
ヤサグレ極限キャラに共感を覚える。

PS
Halbo=pramaguとは。初耳。(藁
673Dax:2001/04/23(月) 10:42
>>671
>ギコナビもmonazillaのプロジェクトなんだけどなー。
ごめんちゅーー!忘れてた訳じゃないからねーー。
で、ギコナビ 1.0α013リリースお疲れさまです。
昨日、家のマシンにIE5入れたので試すことができます。(今までIE3だった・・)
ギコナビのUI変更計画、実は一回俺も挑戦したんだよー。
でもできなかった、、どうしてもListViewの内容が消えちゃう、
#こげぱん、知ってる!ぼそっとつぶやく一言がうける。
674turbo type D:2001/04/23(月) 11:57
ヘジルスバーグ様(藁
を見ていて、横の記事が気になったんだけど

http://japan.cnet.com/Newsmakers/ARENA/?ugr

面白いな、こういうのも。
675ヒロユキ@ギコナビ:2001/04/23(月) 22:07
>>672
>愚痴りな.愚痴りな.
こんなところで愚痴ってすみません。

>オレは仕事が忙しいと残業になっちまうから
>スピード遅くなるのがくっきりわかるけど。
僕は、終電で帰ってきても、仕事が順調だと3時くらいまで
ギコナビ作っていたりしてる(w
でも、次の日はパッと起きれるんだよなー。

こぱげん探してみるよ。

>Halbo=pramaguとは。初耳。(藁
むむむむむっ!としか言えん(w

>ごめんちゅーー!忘れてた訳じゃないからねーー。
ジョークす。
ギコナビは簡単なバグ修正でお茶を濁してます。
いや〜。作った本人もListViewの内容消えてしまう動作を取り去るのに
苦労したりしてます。理解不能なコードだらけというのが情けない。

>ヘジルスバーグ様(藁
ヘジルスバーグちゃんってこんな顔だった?
Delphi1の写真は別人だったのかなー?

>面白いな、こういうのも。
凄いね。monazillaも頑張って、どっかに取り上げられるくらいになりたいね。
676turbo type D:2001/04/24(火) 12:39
すでに、monaploreのソースの大半を忘却してしまた...ワラ

>>面白いな、こういうのも。
>凄いね。monazillaも頑張って、どっかに取り上げられるくらいになりたいね。

ですです。

雑談。
monaplorerはダウソ部分にはこだわったけど
ブラウザ部分のこだわりが弱すぎ、ファイルキャッシュを
呼んでからそれをブラウザで表示とはいただけないので
ブラウザ部分はメモリ直で読み込むようにしてみる予定。
677デフォルトの名無しさん:2001/04/30(月) 15:56
678書記さん:2001/04/30(月) 17:42
>>677
イイ!!使わさせていただきます!
679デフォルトの名無しさん:2001/05/01(火) 02:55
なんで2chのCGIスクリプトって板ごとにまちまちで、挙動が変なんだろ。
要望出して統一してもらうことはできないのかな。
まあIDやらなにやらで完全な統一はできないだろうけど、
少なくとも同じ機能は同じ書式にして欲しいね。
680デフォルトの名無しさん:2001/05/01(火) 03:52
だれか、Emacsで2ch読み書きできるやつもってませんか?
681デフォルトの名無しさん:2001/05/01(火) 04:36
682>680:2001/05/01(火) 04:37
UNIX板にあったよ。emacs-lispで書いてあった筈。
683デフォルトの名無しさん:2001/05/01(火) 08:29
>>679
確かに。しかも小さい変更がたまにあるので
そのつどアップデートしなきゃいけない・・・
でも一番やっかいなのはあぼーんかな。
統一に関しては過去の DAT もあるから無理でしょうね。
684デフォルトの名無しさん:2001/05/01(火) 08:30
685turbo type D:2001/05/01(火) 10:32
プライベートでつらいこと続きで
憤死しそうです。

どうしたらいいでしょう。

(藁.....ってる余裕はまだあるけれど。
686デフォルトの名無しさん:2001/05/01(火) 12:48
>>685
そんな時は、学歴板でも荒らして、憂さを晴らしましょう(藁
687turbo type D:2001/05/01(火) 13:41
そうします。では逝ってまいります。
688デフォルトの名無しさん:2001/05/02(水) 04:02
689デフォルトの名無しさん:2001/05/03(木) 04:14
http://www.geocities.co.jp/SiliconValley-Oakland/9028/main.html

広告消すのは良くないですよ
690デフォルトの名無しさん:2001/05/03(木) 04:50
691デフォルトの名無しさん:2001/05/03(木) 06:02
ん?こっちだと広告出るけど駄目なの?
http://www.geocities.co.jp/SiliconValley-Oakland/9028/
692デフォルトの名無しさん:2001/05/03(木) 07:50
なんだ、フレームの中のページのURLが広まっちゃっただけじゃん。
693デフォルトの名無しさん:2001/05/03(木) 11:41
>>691
それはページ下部に広告があるじゃないですか
ジオの規約ではページ最上部に表示されていないとダメなんです。
694693:2001/05/03(木) 11:42
695書記さん:2001/05/03(木) 13:35
どもども、いやー正直、モナヂラサイト開設当初は
一時的なもののつもりだったんですけどね。
で、そろそろ新しいとこへ引越しする予定です。
決まり次第ここでお知らせします。では
696デフォルトの名無しさん:2001/05/04(金) 00:23
ちょっとスレ違いかもしれませんのでsageで。

IEの右クリックに、2ch用ブラウザへ送るコマンドを付け足す事は出来るでしょうか?
697デフォルトの名無しさん:2001/05/04(金) 21:06
出来る。
もうスレ違いなレスすんなよ
698書記さん:2001/05/04(金) 22:37
移転しました。
http://members.jcom.home.ne.jp/monazilla/

引き続きプロジェクト参加者募集中です。
699デフォルトの名無しさん:2001/05/05(土) 00:04
移転お疲れ様です。
ずっとROMで済みませんが、今後とも頑張ってください。
>書記さん
700デフォルトの名無しさん:2001/05/05(土) 17:05
http://www.geocities.co.jp/SiliconValley-Oakland/9028/document/monaplorer/logo.gif
http://www.geocities.co.jp/SiliconValley-Oakland/9028/images/monazilla_banner2.gif

こういう画像はどのようなツールを使って作成したんですか?
フォトショップとは言わないでほしい気分。
金ないからとても買えない(涙
701デフォルトの名無しさん:2001/05/05(土) 17:11
PSPやFireWorksでも
702書記さん:2001/05/05(土) 18:59
その画像は Illustrator + Photoshop です。
家では貧乏なので G.Crew + PhotoCrew を使ってます。
出版目的じゃないならこんなので充分と思いますよ。
前は Micrografx の Designer + PicturePublisher 使ってました。
これも安くて使いやすかったです。
703turbo type D:2001/05/09(水) 10:27
ラストが学歴板の話題になってるなんて寒すぎるので
アゲ。

monazillaMLで会話するのもいいけど
こっちがsagaりすぎてるとまずいっすね。
704turbo type D:2001/05/09(水) 10:28
あれ?カキコしっぱいかな。
705Dax:2001/05/09(水) 12:01
そうですね。
つーわけで、2ちゃんねる以外の掲示板にも対応した
クラスをつくろー!ってのはどうでしょう。
一応、JBBS対応ホットゾヌブラウザをつくってんですが
できればもうちょっとかっこよくしたい・・・

開発中バージョン (EXE同梱)
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/hotzonu0508.zip
706Dax:2001/05/09(水) 19:49
あ、言い忘れ。>>705
今のところプロキシ環境では使えないです。
707デフォルトの名無しさん:2001/05/09(水) 22:14
>>703
monazillaML なんてあるんすか?
708Dax:2001/05/09(水) 23:05
>>707
monazilla ML はメンバーオンリーですがひっそりと運営しています。
進捗報告と雑談がメインです。
709デフォルトの名無しさん:2001/05/11(金) 11:14
はじめまして。

おもしろそうなので、アイコンやらのデザインしたいなあ。
プログラム関係はさっぱりだけど、そっちは本職なんで
ここで作っているのって、ウインドウズでしか動かないのかな?
自分はマックなんだけども。
710書記さん:2001/05/11(金) 13:48
>>709
すごい!大歓迎です!

#モナヂラプロジェクトでつくってるツールはWindowsのみです。
#新 mac 板で2ちゃんねるブラウザをつくっているスレッドがあったと思います。
711デフォルトの名無しさん:2001/05/11(金) 13:59
>>709
でもアイコンやらは機種依存、あんまり関係ないんで激期待
ウインドウズ系とは別センスの、アイコンキボーン
712夜勤@サーバ監視所:2001/05/11(金) 20:03
monazilla さん、メール出しました。
ぜひ読んでください。
713名無しさん@お腹いっぱい。:2001/05/12(土) 16:32
Linux向け よろしかったらリンクに足してくれたらな、と。

http://monaic.sourceforge.net/
714デフォルトの名無しさん:2001/05/12(土) 21:34
ブラウザでもツールでも無いんですけど、monazilla.org さんを参考に
Javaで2ch読み書きのクラスライブラリ作ってみました。

http://www.geocities.co.jp/SiliconValley-Cupertino/5226/

勝手にこちらからリンク貼らせてもらってます...すいません
715書記さん:2001/05/12(土) 23:38
>>712
夜勤さん、メールありがとうございます。
今後もよろしくおねがいします。

>>713
すごい!リンクに追加しました。
しかもMonaicってかこいい名前!

>>714
これまたすごい!リンクに追加しました。
これだけあれば簡単にブラウザつくれちゃいそうですね、

みなさん、OSや言語は違いますがモナヂラに参加しませんか?
#参加したからってなんか特典があるわけじゃないけど・・・
716デフォルトの名無しさん:2001/05/14(月) 12:30
age
717デフォルトの名無しさん:2001/05/19(土) 16:55
age
718monazilla.org:2001/05/20(日) 18:11
719ふみもたたけし:2001/05/21(月) 00:10
Delphi5用Testing Frameworkリリース。
http://members.jcom.home.ne.jp/monazilla/shortcuts/DUnit/DUnit010520.zip
http://members.jcom.home.ne.jp/monazilla/shortcuts/DUnit/DUnit010520.png

まだドキュメント書いてないので使い方わかんないと思うけど、
興味ある人はtestDUnit.pasを眺めててください。
720Dax:2001/05/21(月) 00:37
なんかすご! >>719

#コンパイル通らないと思ったら exeフォルダと
#dcuフォルダつくってなかった(焦汗。
721デフォルトの名無しさん:2001/05/27(日) 18:23
さがりすぎなので、あげます
722デフォルトの名無しさん:2001/05/27(日) 18:23
さげるのくせになってる・・・(´д`;)
723Dax:2001/05/27(日) 20:33
ホットゾヌ 1.0 β1 です。テスターさん募集です。
まちBBS、JBBS、megabbsの閲覧をサポートしました。
2ちゃん以外の書き込みはまだできません、
EXE
http://members.jcom.home.ne.jp/monazilla/hotzonu/hzb0527.lzh
ソース(Delphi5)
http://members.jcom.home.ne.jp/monazilla/hotzonu/hzb0527src.lzh
※IE5以上で動作します。
724Dax:2001/05/27(日) 21:09
あ、スクリーンショットはこれです。
http://members.jcom.home.ne.jp/monazilla/hotzonu/hzb0527.png
725ふみもたたけし:2001/05/28(月) 01:44
DUnitのチュートリアルを書いた。
http://members.jcom.home.ne.jp/monazilla/shortcuts/DUnit/index.htm
726win板住人:2001/05/28(月) 10:15
ゾヌ、の書き込みテンプレートはおもしろいなー
めっちゃ気に入りました!
いろいろと欲しい機能はありますが、
期待して待ってます。
お気に入りを収集中・・・。
728Dax:2001/05/28(月) 12:41
ありがとうございます、>ダウンロードしてくれた方々
今のところβ版なので今後仕様が変わったりする可能性もありますので
他のツールと併用していただくことをお勧めします、
それから言い忘れた件。
・更新チェックはお気に入り内のフォルダを選択して実行してください。
 そのフォルダ直下のスレッドをチェックします。
・HotzonuのTempフォルダ内のファイルを削除するロジック入れるの忘れていました(おいおい
 ファイルがいっぱいたまるので定期的に削除してください。。
・お気に入りへの追加方法はスレッド一覧からお気に入りへドロップしてください。
・板やスレッドはダブルクリックでダウンロードを開始します。
 かちゅ〜しゃのようにクリックじゃないので注意。
・まちBBS、JBBS、megabbsでは書き込みができません。
・まちBBS、JBBS、megabbsのスレッドは更新チェックができません。
・JBBSなどのBBSを追加する場合は「ファイル」−「BBSの追加」を選んで下さい。
 ウィザードが起動します。
・BBSの切り替えはボード一覧の上にある「▼2ちゃんねる」って書いてあるボタンを
 クリックしてください。まちBBS、megabbs、その他のBBSが選択できます。
729書記さん:2001/05/28(月) 14:15
リリースラッシュ!
http://members.jcom.home.ne.jp/monazilla/
ghanyanさん作の『モナ板deぎこはにゃ〜ん』 テクノロジー・プレビュー版リリースです。
IE 5.5を入れても、AAのずれが起こらない2chモナー板ブラウザです。
730デフォルトの名無しさん:2001/05/29(火) 04:16
>>728
お疲れ様です。
バグ?報告
レスが1件しかないスレを表示しもう一度読み直すと1件目と同じ記事が
2件目に表示されました。再起動しても同じでした。たぶんログ削除すれば直るんでしょう。
やってないけど。。
要望:書き込みウィンドウが本体をアクティブ状態にしたときにイチイチ小さくなるのがうざいです。
731ぞぬぞぬ:2001/05/29(火) 05:55
98+IE4環境でホットゾヌ1.0β1を使用してますが実に快適です。
たまに書きこみの時に落ちますが、これは当方の環境が原因と思われ。
732Dax:2001/05/29(火) 08:36
>>730
しまった、なおそうと思って忘れてました。
報告ありがとうございます!
それから書き込みウィンドウに関しては私も超うざいと思ってました。
んで強引な方法を思いついたので次回リリースはちょっとましになります。

>>731
報告ありがとうございます。
今度練習スレあたりに書き込みまくってテストしてみます。
733名無しさん@お腹いっぱい:2001/05/29(火) 23:53
98me+ie5.5でホットゾヌ1.01β1を使用しています。
今のところ不具合ありません。

でホットゾヌの作者さんに質問なのですが、
かちゅーしゃのように縦に3つ表示(板のペイン|スレッドのペイン|レスのペイン)は出来ますか?
734Dax:2001/05/30(水) 12:22
>>733
ダウンロードありがとうございます。
縦3列表示、、確かにあると便利そうですね。
簡単にできそうだったら次期リリースに実装します。
735733:2001/05/30(水) 18:29
>>734
レスありがとうございます。次期リリース版を楽しみに待ってます。

参考になるかわかりませんが…
当方デュアル環境なので1つ目のディスプレイで板一覧とスレッド一覧(若しくはスレッド一覧のみ)、
2つ目のほうでレスが読めると便利なんです(現在かちゅ〜しゃをそういう風にしています)。
736デフォルトの名無しさん:2001/05/30(水) 18:48
β版、使わせて頂いてます。
なんだか便利そうで、勝手に期待させてもらってますー。
(あ、私も出来れば縦3列表示を追加して頂けると至福です)
737736:2001/05/30(水) 18:50
すみません、736はホットゾヌ1.01β1の作者さんへの感想です。
738731:2001/05/30(水) 23:44
あれからホットゾヌ1.01β1使いつづけていますが
すっかり気に入ってしまいました、いいですね、これ

ただ、お気に入りに入れたスレが消えた状態で更新チェックすると
そのスレの所で固まってしまう…なんか、自分の環境のおかげな気もするのですが
他に同じ症状の人いませんか?
739Dax:2001/05/31(木) 17:34
>>735
デュアルディスプレイ・・羨ましい・・

>>736
ダウンロードありがとうございます。
縦3列表示は実装できそうです。

>>738
>すっかり気に入ってしまいました、いいですね、これ
うれしーーウルウル
更新チェックはかなり手抜き実装なので
もうちょっと改造してまともにします。
それまで待って下さいませ。

ところでホットゾヌ用別スレ立てたほうがいいのかな?
740デフォルトの名無しさん:2001/05/31(木) 20:32
>>739
>ところでホットゾヌ用別スレ立てたほうがいいのかな?
Yes! May be!
741733:2001/06/01(金) 17:59
>>739
液晶ディスプレイを衝動買いしてしまったのです。
>縦3列表示は実装できそうです。
気長に待ちます。頑張って下さい。
742Dax:2001/06/02(土) 00:28
ホットゾヌ 1.0 β 1.1 です。

・書き込みウィンドウ管理用タブを画面右下にむりやり追加しました
・Tempフォルダのファイルを終了時に削除するようにしました
・ブラクラチェッカへのリンク機能を追加しました
・縦3列表示をできるようにしました
#いくつか報告されたバグはまだ修正できていません。
#詳しくは Readme.txt を。

ダウンロードはこちら。
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=991408877&ls=50
743733:2001/06/02(土) 02:21
>>742
お疲れ様です。激烈に使いやすくなりました。
縦3列になって、板、スレの一覧が非常に見やすいです。
これから色々触ってみます。
744デフォルトの名無しさん:2001/06/02(土) 21:08
     てすと
745744:2001/06/02(土) 21:11
すみません。
まちがえてこんなところでtestしてしまった・・・
746デフォルトの名無しさん:2001/06/03(日) 06:58
全然関係ないけど、monazilla.orgのページのhtmlソース異様に改行多いんだけど、
あれって、PageMillの機能?
747書記さん:2001/06/03(日) 10:51
>>746
PageMillの機能(?)かなー。、
一応、GoLiveも買ったんだけど使いにくくて
今でも PageMill 使ってます。
そー言えば久々にGeoの方見たらバナーが上になってた、
748デフォルトの名無しさん:2001/06/09(土) 11:04
あげ
749Dax:2001/06/09(土) 18:35
ホットゾヌライブラリの Kylix版をアプしました。
2ちゃんねる、まちBBS、JBBS、megabbs用のクラスです。
ボード一覧、スレ一覧、レス取得サンプルつきです。
http://www30.freeweb.ne.jp/computer/hotzonu/download/hotzonu.tar.gz
750turbo type D:2001/06/10(日) 16:57
うーーーん
PageMillやGoLive....
どこかで誰かが使っていたような(藁

おっと、無粋な発言スマソでござる。
751書記さん:2001/06/10(日) 17:05
PageMillやホームページビルダーは
値段も手頃なので使ってる人も多いのかな?
最初は Netscape Composer(無料!)使ってましたがありゃちょっと、、。
752委員長:2001/06/10(日) 17:42
良い企画ですね。
実は私も専用ブラウザをC++ Builderで作成中です。
公開が目的ではなく、今までいくつかのソフトを作ってきて、FTPやHTTP
接続は経験があるものの、ブラウザ関係(BCBではTCppTWebBrowser)
は使った事がなかったので一度使ってみたかっただけなんです。(^-^;
現在のところ、そのTCppTWebBrowserが一番悩みの種なんですが。
応援しています、今後もがんばって下さい。
753turbo type D:2001/06/10(日) 18:11
>>752
TCppWebBrowserの使い方なら
ここや、近くのスレで
聞くのが一番いいのじゃないでしょうか。

あっしなんぞよりもツワモノが、いっぱいいっぱい
いらっしゃるような気するYO

それにしても、雨が降ってきまして
じめじめして暑苦しいので
ここで一発寒くなる
くだんねー、話題。

いっぱいいっぱいの、
'い'を'お'に変えて言ってみーな。
っていう遊びなかった?

ゴメン、オレ汚れちゃった....
754委員長:2001/06/10(日) 18:50
>>753
早速のレスありがとうございます。

> ここや、近くのスレで
> 聞くのが一番いいのじゃないでしょうか。

このスレは一通り目を通しましたが、Delphi使いが殆どのようでしたし、
あまり厨房スレで汚すのもどうかと思いまして(笑)。
本当に困った時等は質問させて頂きますね。
TCppWebBrowserぢゃなくて、このコンポをインストールすると良いよ
とかいうアドバイスなどありましたら、是非お願いします。

ちなみにHTTPは現在の所、NMHTTPを利用してますが、Indyに切り替え
ようかと思っています。
Wininetでも良かったのですが、とりあえずプロトタイプなんで手抜きです。
細かいコンポなどの構成は、後日ご紹介しますねん。
(いらんか?)
755デフォルトの名無しさん:2001/06/10(日) 19:37
>>753
おっぱいていわせたいんだろ?
俺も一度騙された事あるよ
756デフォルトの名無しさん:2001/06/10(日) 19:43
おっぱいいっぱい
757デフォルトの名無しさん:2001/06/10(日) 19:50
おっぱおおっぱお
758デフォルトの名無しさん:2001/06/10(日) 19:54
ちんこちんこ
759デフォルトの名無しさん:2001/06/11(月) 12:12
useagentをMonazillaにしてみたよage
760デフォルトの名無しさん:2001/06/12(火) 00:30
どっかの板のどっかのスレで見たけど、1週間ほど前から
http://tako.2ch.net/perl/dat/
が読めるようになったね。
http://tako.2ch.net/entrance/dat/
こういうのがうれしい。

過去ログは
http://tako.2ch.net/perl/log/
を見るのが正しいのだろうか?

http://tako.2ch.net/entrance/dat2/
http://tako.2ch.net/entrance/log/
両方あって、ファイル名も重複してたりする。
761委員長:2001/06/14(木) 19:35
monazilla.org (w に置いてある、「TWebBrowserでスクロールさせる方法 」を
C++ Builderで使いたいんだけど、Delphiを知らない私には、どーにも移植出来
ない。
一週間程、Web検索してアレコレいぢってはみたんだけどねぇ。
申し訳ないだけど、↓これをC++ Builder用に訳して恵んで貰えませんか?


procedure TForm1.Button1Click(Sender: TObject);
var
  Doc: IHTMLDocument2;
  y: Integer;
begin
  Doc := WebBrowser1.Document as IHTMLDocument2;
  y:=olevariant(Doc).body.scrollTop;
  ShowMessage('現在のスクロール位置は'+
  IntToStr(y)+'だぞ(゚Д゚)ゴルァ'+#13#10+
  '勝手にスクロルさせるから覚悟しておけ');
  y := y + 100;
  Doc.parentWindow.scroll(0, y);
end;
762委員長:2001/06/14(木) 19:37
Delphi の TWebBrowser では出来るけど、BCB の TCppWebBrowser
では出来ないなんて事はないよね?
763gh:2001/06/14(木) 21:11
漏れは生っぽいCOMしか知らないけど、たぶん、こんなかんじ。

IHTMLDocument2 *doc; //引数

CComPtr<IHTMLElement> element;
doc->get_body( &element ); //↓暗黙のQueryInterface
CComPtr<IHTMLTextContainer> contain = (IHTMLTextContainer*)element
long y;
contain->get_scrollTop( &y)

CComPtr<IHTMLWindow2> win;
doc->get_parentWindow( &win );
win->scroll(0,y);
764委員長:2001/06/14(木) 22:25
>>763
これはmshtml.h以外にincludeが必要な物があるんですかね。
CComPtrが未定義だとエラーが返ってきちゃいます。
TCppWebBrowserをどこに入れるのかも判らないし。
厨房で申し訳ないっすが、ペッとコピペでOKなヤツを恵んで
下さいな。 > どなたか
765デフォルトの名無しさん:2001/06/14(木) 23:07
タイプライブラリを取りこめば、
IHTMLDocument2Ptr doc; doc = browser->Document;
IHTMLElement2Ptr body = doc->body;
doc->parentWindow->scroll(0, body->scrollTop + 100);
で出来るんじゃないかね。
MSHTML_TLB.hの中でutilcls.hやvclatl.hをincludeしてる
766委員長:2001/06/15(金) 00:36
>>765
タイプライブラリを取り込むというのは
#import <mshtml.tlb>
を追加すればよいということですか?
#include <mshtml.h> ではIHTMLDocument2Ptr が未定義と出るので
Webで検索してみて、#import <mshtml.tlb> を見つけたのですが。
ただこれでコンパイルすると何故かBCBが落ちてしまいます(涙)。
767デフォルトの名無しさん:2001/06/15(金) 06:21
768デフォルトの名無しさん:2001/06/15(金) 11:50
>>767
「マニュアル読め」
便利だよな、何の知識がなくても言えるから。
リンク張る前に教えてやれよ(藁
769委員長:2001/06/15(金) 16:21
すません。
TCppWebBrowser はマニュアル・ヘルプ共に情報が少ないんで、レスが
付けば良い資料になると思ったんすけどね。
とりあえず、レス番号のブックマークへジャンプする方法で対応して
おきます。
気長に口開けて待ってますんで、いい情報があればよろぴく。
770委員長:2001/06/15(金) 16:31
忘れてた、一応私の構成を。

 BCB5にて作成中。(名前はまだない)
 HTTP - TNMHTTPからIndyに移行中
 ブラウザ - TCppWebBrowser
 板リスト - TTreeView
 スレリスト - TStringList

アッチコチ既出の専用ブラウザのアイデアやUIをパクりまくり。
既出ブラウザに不満があった訳ではなく、単に作ってみたかっただけ。
公開しても他人を不幸にするだけなので、特に公開の予定はないかな。
(といいつつ、ゲオにスペースを既に取ってることは秘密)
771767:2001/06/15(金) 17:09
>>768
>マニュアル読め
は、
>タイプライブラリの取りこみ
について言ったつもりだが、理解できなかったか。

リンク先のスレにオートメーションコントローラの触り方とかもあったはず。
Delphi風のプロパティを使ったアクセスをあきらめてATLにするなら、
山ほど資料は転がってるしな。
772デフォルトの名無しさん:2001/06/15(金) 17:48
>CComPtrが未定義だとエラーが返ってきちゃいます。
こんなこと言ってたら、C++からCOM触るのはまず無理だって。
もう少しスレをリンクしとくから、読んで勉強しな。
http://piza.2ch.net/test/read.cgi?bbs=tech&key=981823340
http://piza.2ch.net/test/read.cgi?bbs=tech&key=978029639
IHTMLDocument2に関しては、MSDN検索したほうがいいだろ。

だいたい、BCBにgrep付いてたろ?
わからないとか言う前に、
$(BCB)\Include以下から、CComPtrの定義を探すくらいやれよ。
2chブラウザーのソースぐらい眺めろよ。同じ事やってるんだから。
CComPtrを使わないプロパティでのアクセスは、
資料が全然みつからないけど、TComInterfaceで検索すれば少しはあるだろ。

C++でのCOMの触り方がわからなければ、VBかDelphiにした方がずっと楽。
Delphiで書かれたIEコントロールのコードをそのまま移植したいなら、
タイプライブラリから作られたヘッダを読まなければ
たぶん、何も出来ないよ。
773デフォルトの名無しさん:2001/06/15(金) 18:14
>>767
>>763>>765に書いてある」
見えないか?
774デフォルトの名無しさん:2001/06/18(月) 05:31
あげ
775デフォルトの名無しさん:2001/06/18(月) 12:20
モナーフォント 2.0 リリース。よろしく。
http://members.tripod.co.jp/s42335/mona/
776jtelaz:2001/06/22(金) 03:19
最近フォーマットが微妙に変わった subject.txt なんですが、
現状は以下の4通りが混在する可能性があるという理解で良いでしょうか?
(実際に混在するのは1と2だけだと思いますが)

1. dat<> ... <xxx>
2. dat<> ... (xxx)
3. dat, ... (xxx)
4. dat, ... (xxx) 全角丸カッコ

他にもあったりするんでしょうか?
777Dax:2001/06/22(金) 23:32
>>776
その4種類だと思います。
>>276 の3種類に dat<>,,,(xxx) が追加です。
778デフォルトの名無しさん:2001/06/28(木) 08:13
さがりすぎー。
779デフォルトの名無しさん:2001/06/28(木) 14:32
subject.txtの形式は、
takoが','区切り、他は<>区切りです。
ただし現在<>区切りの鯖でも倉庫のログが','区切りになっている
場合があります。
<>区切りの場合、<>の後に1つ空白が入ることがあります。
最後につくレス数は、
<レス数>
(レス数)(←全角)
(レス数)
のいずれかです。<>区切りであっても<レス数>とは限りません。
レス数の前に、空白が沢山付いている場合が多々あります。

','区切りの場合は、全て&ampを一文字の&に要変換。
さらに、'@'+'`'を','に変換します。
<>区切りではどちらの変換も行いませんが、古いログでは&amp→&
の変換が必要な場合があります。とりあえず
・&ampは&に変換
・ただし&amp;はそのまま
とすることをお勧めします。これは倉庫のhtml化スクリプトと互換です。

デリミタは、teri系が<>区切りで、最後の<>の後に空白が一つ、
他は','区切りで最後の空白なし。
また、メール欄が空白の時は区切り文字が連続しますが、
','区切りのログでは何か文字が入っていると、余分に空白が一つ付いて
いた時期があるようです。 <>区切りのログでは余分な空白は付きません。

タイトルの長さは、最近のサーバーならSETTING.TXTのBBS_SUBJECT_COUNT
で規定される制限があり、空(長さ0)のタイトル不可のようですが、
takoははるかに長いタイトルが可能で、タイトルが空のスレもあります。
また、www.2ch.netにあったスレが残っているような板も
長いタイトルがある可能性があります。

あぼーんされた行は
<>区切り あぼーん<>あぼーん<>あぼーん<>あぼーん<>あぼーん
tako   あぼーん,あぼーん,あぼーん,あぼーん
その他  あぼーん,あぼーん,あぼーん,あぼーん,
となり、スレの1だった場合、タイトルが空白(<>区切りではあぼーん)に
なります(takoは、デリミタが足りなくなるので要注意)。
また、板の復帰後はsubject.txt内のタイトルも空白になります。

稀にdat内に'\0'が入っている場合があるので要注意です。
書きこみ内容に'\0'が含まれると、そのままdatに入ってしまうようです。
http://mentai.2ch.net/test/read.cgi?bbs=os&key=977070641&to=5)

その他、例外としては、
http://piza.2ch.net/test/read.cgi?bbs=tech&key=974514695&to=5)
の2なんてのもありますが、
こんなのが幾つもあるとは思えないので、エラー扱いでいいかも。
780デフォルトの名無しさん:2001/06/28(木) 14:32
2chの仕様変更に合わせて>>276-288を修正してみました。
781デフォルトの名無しさん:2001/06/28(木) 14:34
>','区切りのログでは何か文字が入っていると、余分に空白が一つ付いて
>いた時期があるようです。 <>区切りのログでは余分な空白は付きません。

変換されたログで余分な空白の入っているものがあるかも。
782デフォルトの名無しさん:2001/06/30(土) 18:58
>>779
うう、すばらしい解説です〜
ぜひモナジラ資料室に保管して頂きたい内容です。
783書記さん:2001/06/30(土) 23:34
うーん、すばらしい!どうもありがとうございます、>>779
資料室にいれておきました。
784デフォルトの名無しさん:2001/07/07(土) 09:49
かちゅーしゃとホットゾヌがverupしてるよ。
ってここに書けばいいの?
785名称未設定:2001/07/08(日) 01:55
誰か書込み機能が使えなくなったバグの原因を指摘して下さい
http://teri.2ch.net/test/read.cgi?bbs=mac&key=988273635&ls=50
「MacOSX」+「ObjectiveC」+「Mac板の住人」の積集合だけじゃ原因が分からない(鬱だ
786デフォルトの名無しさん:2001/07/08(日) 10:09
とりあえず、どんなRequestを送って、どんなエラーがでたのかを、
示した方がいいよ。(つーか、そうでないと、何ともいえんよ‥‥)
787デフォルトの名無しさん:2001/07/08(日) 14:41
788785:2001/07/09(月) 23:29
お騒がせしました
解決しました。refererを指定し忘れていたのが原因でした
789デフォルトの名無しさん:2001/07/11(水) 10:36
あげ
790デフォルトの名無しさん:2001/07/11(水) 15:33
「したらば」も読めるブラウザって誰か作ってない?
http://www.shitaraba.com/
791デフォルトの名無しさん:2001/07/12(木) 06:43
「かちゅ〜しゃ Version2.101」でてます
792デフォルトの名無しさん:2001/07/13(金) 09:55
かちゅーしゃが「ふぁいるがみつかんない」ってでてくるよぉ
793デフォルトの名無しさん:2001/07/13(金) 11:57
>>792
それはかちゅーしゃスレで言いなさいな
794デフォルトの名無しさん:2001/07/14(土) 08:46
「かちゅーしゃ Version2.102」でてます。報告まで
795デフォルトの名無しさん:2001/07/16(月) 01:10
ホットゾヌ Verup!!
796あげまん:2001/07/19(木) 18:50
あげ
797( ´∀`)さん:2001/07/20(金) 09:06
あまり、オプソスは知らないが、GIFのボタンは造れる
それを、オプソス用に変えるのはそちらの仕事
798デフォルトの名無しさん:2001/07/20(金) 10:02
?
799デフォルトの名無しさん:2001/07/20(金) 11:48
>>790
ギコTK
800デフォルトの名無しさん:2001/07/20(金) 12:29
>>797
ボタンやアイコンの職人さんかな?
デザインが苦手って人も多そうなので、歓迎されると思う
801デフォルトの名無しさん:2001/07/20(金) 22:00
>>800
それならかなり歓迎されそうだな。
coolでわかりやすいアイコンってなかなかムズイからねー。
やっぱ桶屋は桶屋にまかせとけってか。
802ライト:2001/07/23(月) 00:31
あるサイトで「似槍」っていうツールが書いてあったんですが、
デンコじゃないみたいなんです。
思い当たりますか?分かる方いらっしゃいましたら
教えてください。
803デフォルトの名無しさん:2001/07/23(月) 01:14
誤爆ですか
804ライト:2001/07/23(月) 02:12
『誤爆』というのはなんでしょうか?
805ライト:2001/07/23(月) 02:14
すいません、書く場所間違えました
806デフォルトの名無しさん:2001/07/23(月) 02:14
>804
802が意味不明なんで書き込むスレッド間違えてないか?ってこと
807デフォルトの名無しさん:2001/07/23(月) 02:15
>>804
誤爆ですか -> 書き込むスレを間違えましたか?
808デフォルトの名無しさん:2001/07/23(月) 04:48
ギコtkの紹介はしないんでしょうか?
http://corn.2ch.net/test/read.cgi?bbs=php&key=991966646&ls=100
809デフォルトの名無しさん:2001/07/23(月) 06:31
自爆、誘爆、御用心
810デフォルトの名無しさん:2001/07/23(月) 14:58
811デフォルトの名無しさん:2001/07/26(木) 15:17
>>808
perlか。よくやるなー
812ヒロユキ@ギコナビ:2001/08/02(木) 21:14
モナヂラBBSが見れないよ。
813書記さん:2001/08/03(金) 08:22
>>812
JBBS がまだ復旧してないみたいですね、
以下のスレッドを参考にしてリンクを
IP直にしてみたらいけたのでトップページも変更しておきました。

■さて、JBBSが止まる季節がやってきました。
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=995743926&ls=100
814書記さん:2001/08/03(金) 08:27
あれれ、モナヂラBBS、
よく見ると「雑談」の書き込みがちょっと減ってるよーー;;
815デフォルトの名無しさん:2001/08/03(金) 08:38
age
816デフォルトの名無しさん:2001/08/04(土) 14:01
age
817デフォルトの名無しさん:2001/08/04(土) 20:32
っっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっp
818デフォルトの名無しさん:2001/08/09(木) 21:34
ホットゾヌのソースをkylixで読み込んでみたけど「コンポーネントがたらねぇよ」
って出た
819Dax:2001/08/10(金) 22:49
UI 部分(Main.pas等) は WebBrowser や CoolBar などの
VCL にしかないコンポーネントを使っているので Kylix では開けません。
ダウンロード/解析部分 (Hotzonu.pas) だけならいけるはずです。
820デフォルトの名無しさん:2001/08/16(木) 19:55
821BCB+Delphi+gccつかい:2001/08/16(木) 23:01
ほっとぞぬ for Linuxのおてつだいしたいのだが
Kylix OpenEditionでいけるか?
いけるならKylixダウソしてみるが。

まえどっかでLinux版ののScreenShotみたような気がしたが
どこだっけか・・・
822デフォルトの名無しさん:2001/08/17(金) 19:15
Delphiをでるふぃーって読んでた俺ってなんでしょう?
823デフォルトの名無しさん:2001/08/18(土) 04:57
824デフォルトの名無しさん:2001/08/18(土) 07:20
昔、デルフォイかと思ってたけど多少安心した。
http://www.google.com/search?hl=ja&safe=off&q=%83f%83%8B%83t%83H%83C+%83f%83%8B%83t%83@%83C+Delphi&lr=
825Dax:2001/08/18(土) 10:35
>>821
うわ!うれしー。
Kylix Personal に Indyをインストールすれば
UI 以外はコンパイルできると思います。
hzbフォルダにあるのが UI 関係のファイルで、
その上の hotzonuフォルダにあるのがダウンロード系のファイルです。

試作品の Linux版(スクリーンショットだけ) はここ
http://www.geocities.co.jp/SiliconValley-Oakland/9028/document/hotzonu/hotzonu_linux.htm
ソースは、、再インストールして消えちゃいました。。
826デフォルトの名無しさん:2001/08/18(土) 14:31
>>823
安心。
827821:2001/08/19(日) 18:14
>>825
らじゃ。
ちょっくら試してみる。
82888*31バナーを作った者:2001/08/19(日) 19:44
ボタンやアイコンってどんなの作ればいい?
829821:2001/08/20(月) 01:27
試してみた。

Kylix OpenEditionインストールして
(いまのとこ)日本語も大丈夫そう。
Indy8はエラー出たので回避。
Indy9βはエラーもなくあっさりインストール完了。

で、ライブラリコンパイルしてみようと思ったら
Hotzonu Library for Kylix は
usesのところでInternal error: URW3572

1.8.2のほうは
Zonutils.pasのSHFileOperation等Win32Apiで挫折

UIはTNotebookがないくらいでなんとかなりそうかな。


報告だけでスマソ
830823:2001/08/25(土) 12:30
転送量(料)の増加で2ch閉鎖の危機!
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998704295

部分的にread.cgi が止められるという噂もあるので、専用ソフトへの
シフトが急激になる可能性があります
とりあえず張っておきました
831デフォルトの名無しさん:2001/08/26(日) 01:49
Delphi6にIndy入れたんですけど、デモのブラウザを
開くと、プロパティが存在しないって言われます。
なんでですか?
832 ◆VmmPAKko :2001/08/26(5) 39:00
∩∩
( ゚Д゚)
833デフォルトの名無しさん:01/08/26 22:14 ID:BbCmw/6E
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=988842229&st=56&to=66
スクリーンショット消えてるけど、ほっとぞぬみたいなのがあった。
834デフォルトの名無しさん:01/08/26 22:37 ID:6j8K62as
Kylixのiconださいのう
835とり ◆St49DSmc :01/08/26 22:41 ID:5Zsmqcqs
JavaScriptのみでdat2html作ってみました。
http://fukuoka.cool.ne.jp/dat2html/
836aki:01/08/27 04:46 ID:Z/nLX8Y2
ここの[[2ちゃんねるブラウザ]]からリンク張りましたー。
http://www.gedoh.org/aki/2ch/wiki/
837821:01/08/27 06:37 ID:hew2wb.o
KylixOpenEdition日本語版も試してみた。
が、英語版といっしょだった。

で気づいたが、OpenEditionにはHTTPAppがない(と思う)
Delphi付属のソースつっこんで使ってみたいとこだが
ライセンス違反になるのか(鬱
838デフォルトの名無しさん:01/08/27 10:29 ID:q21zzpHo
mod_gzip導入されたら、dat直読みでもツール側が対応せねばならないのかな、やっぱ。
早めに対応しておかないと導入された瞬間読めなくなるな・・・
839デフォルトの名無しさん:01/08/27 14:05 ID:oaM2dYU.
( ゚д゚)ん??何か?
840デフォルトの名無しさん:01/08/27 21:50 ID:TcfqnVU.
>>838
Accept_Encodingにgzipを入れないと通常と(圧縮されていない)同じ
感じで送られてくるはず。(datもcgi経由も)
そうじゃないと、非対応ブラウザ(ネスケ3とか)だと見られなくなっちゃうし。
841Delギコ:01/08/27 21:51 ID:rVnn8PnI
 monazillaではピアツーピアするんですか?

 ちょっと乗り遅れてたりして…
 そもそもP2Pってまったくわかってなかったりして…


 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
   ∧ ∧    マターリ
   (,,゚Д゚)∫
   /  つ旦O
 〜(__n n[ ̄ ̄ ̄.]
         ̄ ̄ ̄
842デフォルトの名無しさん:01/08/27 22:05 ID:/QPd3e92
>>841
例えば2chに直接アクセスしなくても、○○さんのPC上にあるかちゅーしゃのデータと、
△△さんのPCのホットゾヌのデータを相互に交換できる、なんてイメージだね。

専用のキャッシュサーバ云々という人が多いみたいだが、何のことはない、皆が使ってる
2ちゃんねるブラウザは皆.datファイルをキャッシュしているのだよ。

あとはそれを相互に交換する仕組みがあったらもうp2pだ!
843Delギコ:01/08/27 22:12 ID:rVnn8PnI

  ♪    ドン ドン ドン タカタッタ
    ∧ ∧   ,,──,−、  ♪
    (,,゚Д゚) / (:  :(  ) ))
     |つ/つ  `ー─``ー'
   〜|  |   ┣━━┫┨
    U U   ┠┤  ┣┫

やっぱ、そうか。>>842さんサンサンクス。

ツー事は、基本はネット経由の
チャット(?IM)システムが動けば
いいってことかな?

Indyで一撃でそういうのできないっすか?

と、知らないなりにテキトーニ逝ってみたりして。
844age:01/08/28 00:04 ID:PAJsxV5Q
すみません。私、来週末Servlet+RDBの2ch
を作ろうと思ってます。平日は残業が多いも
ので。。。:-)
Oracle使えば、負荷分散なんて無敵だと思う
のですが(お金の問題はありますが。。)
845デフォルトの名無しさん:01/08/28 00:30 ID:x/RZZU/c
gzipを展開して通してくれる串とか無いもんかね
846デフォルトの名無しさん:01/08/28 02:30 ID:isR4Esp2
そんな串があったら、hoge.tar.gzを落とすと展開されて返ってきたりしますが。
847aki:01/08/28 02:57 ID:LkIGICBw
HTTPのヘッダ見てれば大丈夫じゃないのかな。
間違ってたらごめん。
848Dax:01/08/28 08:24 ID:fgoXP6No
>>842
実はそんなのできたらいいなーって思ってたんですよ。
たとえばキーワード検索で、ローカルのDATだけじゃなく
たくさんのPCのDATファイルを検索する、、。大先生使えばいいか。。

>>841
Me too.
849デフォルトの名無しさん:01/08/28 09:07 ID:FO4gzHSQ
>>848
monatella(モナーテラ)プロジェクトついに始動か!?(w
850デフォルトの名無しさん:01/08/30 00:26 ID:WbBDfN0A
グヌテラ見たいに遅い2chなんて俺イヤだよぅ
851Dax:01/08/31 08:28 ID:aLgQGES2
read.cgi改良スレッドの流れが速いのでこっちに保存。

448 名前:ヒロユキ@ギコナビ 投稿日:01/08/30 19:37
ギコナビという2ちゃんねる閲覧ソフトを作成しているものです。
read.cgiがdatを吐く仕様(パラメタなど)は、どこのスレにあるのでしょうか。

450 名前:名無し娘。 ◆vP.bOZFQ 投稿日:01/08/30 19:42
>448
どうも、ありがとうございます。

/* raw=xxx.yyyを有効にする。 xxx=最終レス番号, yyy=そのときのサイズ。
* 一行目はステータス:
* [+OK] の場合は差分のみを送信する。
* [-INCR] (Incorrect)の場合はすべてのデータを送信する。
* [-ERR (テキスト)]の場合はなんかエラーが起きた。
*/
というふうになっています。

http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998997848&raw
で、dat全体を吐きます。

http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998997848&raw=230.45584
だと、レス番号230番目までのdatのサイズが45584だったときに、231番目から
送信し、サイズが異なるときはあぼーんがどこかにあるとみなして、レス番号1
からすべて送信します。

■read.cgi改良スレッド
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998997848&st=448&to=450&nofirst=true
852Dax:01/08/31 08:30 ID:aLgQGES2
つづいて( ゚Д゚)ノ Delギコ猫のプログラミング相談室より。
勝手にコピペすんません>ヒロユキ@ギコナビ氏

648 名前:ヒロユキ@ギコナビ 投稿日:01/08/27 06:11
ちなみに、2ちゃんねるから取得した内容をファイルに保存するときには、
以下のコードを使用しています。(Indyが必要です。)

var
url: string;
ResStream: TMemoryStream;
begin
ResStream := TMemoryStream.create;
url := 'http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501'
idHTTP.Request.AcceptEncoding := 'gzip';
idHTTP.Get(url, ResStream);
ResStream.SaveToFile('c:\test.z');
end;
853Dax:01/08/31 08:32 ID:aLgQGES2
gzip復元方法 (Delphi)。
( ゚Д゚)ノ Delギコ猫のプログラミング相談室よりコピペ。

679 名前:Dax@ホットゾヌ 投稿日:01/08/27 19:36
>647
私もDel付属のzlibを試したけどうまくいかんです。
で、
http://www.gewis.win.tue.nl/info/delphizlib/index.html
ここのTGzipってコンポーネント使ってみたらなんとなくうまく逝った風です。
ファイル経由なんでかっちょわるいけど。。

procedure TForm1.Button1Click(Sender: TObject);
begin
 Gzip1.FileSource := 'd:\test.z'; // >>648 参照
 Gzip1.FileDestination := 'd:\test.txt'; // 展開後のファイル
 Gzip1.Gunzip;
 Memo1.Lines.LoadFromFile('d:\test.txt');
end;
854デフォルトの名無しさん:01/08/31 08:51 ID:Kp.31M12
注意してね。

It's spelled M-o-n-a-z-i-l-l-a, but it's pronounced "ギコ猫".
855jtelaz:01/08/31 08:58 ID:txRKxROM
>>851

こんな情報もありました。ところで subject.txt の圧縮転送機能もつけて欲しいですね。
こちらは更新の度に全部取り直さざるを得ないし..

>450
?raw だとだめです。
?raw=0.0 ならうまくいきます。
(仕様です)
856デフォルトの名無しさん:01/08/31 12:28 ID:DvxsN0fU
mod_gzipの入っているbbspinkでテストしてるのですが、
subject.txtはgzipで送られてくるのに、datは生で来
るのは鯖の設定なんですよね。
857デフォルトの名無しさん:01/08/31 13:57 ID:FJ6U.z2k
>>856
圧縮する拡張子にdatを追加すればいいと思われ
つーかbbspinkってmod_gzipが入ってたですか。すばらしい。
858デフォルトの名無しさん:01/08/31 14:14 ID:FJ6U.z2k
確かに圧縮されたindex2.htmlが返ってくる…。
859デフォルトの名無しさん:01/08/31 15:15 ID:FJ6U.z2k
.htaccessに
mod_gzip_item_include file \.dat$
と追加すればいいみたいだけどこれは設定してもらわない限り
どうしようもない。夜勤さんの帰りを待とう。
860デフォルトの名無しさん:01/09/04 23:07 ID:efiaGAZA
それってかちゅーしゃは大丈夫なの?
861デフォルトの名無しさん:01/09/04 23:18 ID:ZdTdNlbA
gzipに対応していないものには今までどおり圧縮されていない
ものを返すのでぜんぜん大丈夫です。
862デフォルトの名無しさん:01/09/07 15:14
夜勤さん的には、ツール側の対応を先にしてもらいたいみたいです。
効果が顕著に現れるくらいシェアの高いツール(=かちゅ〜しゃ)が
対応しないと難しいですかね。

267 名前:名無しさんの声 投稿日:01/09/07 13:52 ID:zl1Zgn4M
bbspinkのdatを圧縮可能にする予定はありませんか?
ツールが対応すればかなりの節約になると思います。
http://www2.bbspink.com/.htaccess

mod_gzip_item_include file \.dat$
という行を追加するだけです。


268 名前: ◆D69Zsbfg @夜勤 ★ 投稿日:01/09/07 14:13 ID:???
>>267
予定はありありです。
実験してみたいのですが、、、、、
ツールの作者の方々に、組み込んでいただかないと、

入れてみようかしら?
でも、転送量の観察をしたいので、ツールが組み込んだら、
教えてもらいたかったりします。
863委員長:01/09/07 17:22
>>862
> 夜勤さん的には、ツール側の対応を先にしてもらいたいみたいです。

「A Bone」の委員長です。
対応は予定していますけど、実際にテストもせずにリリースするのは、
正直不安です。
やはり出来ればbbspinkだけでも良いですから、先にサーバー側で対応
してもらって、多少なりテストさせて欲しいですね。


> 効果が顕著に現れるくらいシェアの高いツール(=かちゅ〜しゃ)が
> 対応しないと難しいですかね。

言えてますね。(^-^;
今のところ対応してる(らしき)のは、2chブラウザとnavi2chと2ch-mode?
>>863
もどき板がmod_gzipに対応しているのでそこでテストしてみるのが
よろしいかと。

あとこれもご配慮願います。

242 名前:名無しさん 投稿日:2001/09/07(金) 16:23
送信エラーについては、「書き込みが終わりました」と
ダイアログを出すなど、とにかく自動リロードはしないように
してほしいです。
おそらく実況対策が仕様変更の理由の1つでしょうから。
866委員長:01/09/07 20:36
>>865
もどき板ってどこにあるんですか?(^-^;

> 送信エラーについては、「書き込みが終わりました」と
> ダイアログを出すなど、とにかく自動リロードはしないように
> してほしいです。
> おそらく実況対策が仕様変更の理由の1つでしょうから。

自動リロードして欲しくないってのはどーしてなんでしょ?
一応最近の書き込み後の挙動が変わった事には対応済み
なので、自動リロードしてもエラーが出ないようにはなってる
んですけど。
どっか、「この板でテストしてみろ」という板があったら紹介して
下さいな。
もどきはこちら。
http://nh.mikage.to/nanika/
でもよく考えたらdatの圧縮には対応してないかも。

>自動リロードして欲しくないってのはどーしてなんでしょ?

それだけ連続で書き込みやすくなるからです。
ブラウザで書き込んでる人は最低5秒は待たされます。
あまりに連続で書き込みやすいような仕様にするのは
運営側の意図に反していると言えないでしょうか?
bbstable.html が bbstable1.html と bbstable2.html へのリンクに
変わってますな
つーか最新はこっち。
http://www6.ocn.ne.jp/~mirv/bbstable.html
bbstableの位置はユーザー設定できるようにするのが
望ましいと思われ
871デフォルトの名無しさん:01/09/08 20:13
>>867
もどき板は了解しました。一度テストしてみます。

自動リロードについての意図は了解しました。
自主規制という意味ですね。
んー難しい問題ですねぇ。
確かに実況や荒らしなどを考えると、何らかの対策(自主規制)は
必要な気がします。
ただ自動リロードをしないという仕様はいささか不便なように
感じます。
例えば書き込み後、1分間は書き込み出来ないとかの方がよいかな?
872委員長:01/09/08 20:14
あ、↑は私です。(^-^;
モナジラの皆さんにメール送りますー。
モナ板でぎこはにゃ〜んもgzipは対応してますよ
875委員長 ◆EpJ0pYSs :01/09/09 05:39
2ちゃんねる用ブラウザ「A Bone」公開しました。
「A Bone」サイト
http://salad.2ch.net/test/read.cgi?bbs=software&key=999980425&ls=50

ただし、動くかどうかもあやしい、β版リリースです。
A Bone でカキコ
>>876
A Boneうまく動くことを祈る!
あ…逝ってくる♪
>>867
> もどきはこちら。
> http://nh.mikage.to/nanika/
> でもよく考えたらdatの圧縮には対応してないかも。

mod_gzip入ってないっぽい・・・

HTTP/1.1 200 OK
Date: Sun, 09 Sep 2001 07:23:09 GMT
Server: Apache/1.3.20 (Unix) PHP/4.0.6 mod_ssl/2.8.4 OpenSSL/0.9.6b
Last-Modified: Sun, 09 Sep 2001 04:41:02 GMT
ETag: "e1c76-1efd4-3b9af2de"
Accept-Ranges: bytes
Content-Length: 126932
Connection: close
Content-Type: text/html
あ、そういえばサーバお亡くなりになって移転したらしいんで
そのときmod_gzipが外れたのかも…
880デフォルトの名無しさん:01/09/09 21:33
なにげに重大ニュース

934 名前: ◆D69Zsbfg @夜勤 ★ 本日のレス 投稿日:01/09/09 21:14
秘密というか、今の状態は暫定です。
dat とかその辺は、全面改修の可能性あり。
たぶん、dat 直読みはできなくなるでしょう。。。(多分だけどね、まだ決まっていない)
881(not 1):01/09/10 00:13
はじめまして、Unix板で navi2ch というものを作ってる者です。
委員長さんが、2chブラウザの作者さんやn_kiteさんのメールアドレスを確認されてますよね?
それって、>>873 に関係ある事なんでしょうか?
一応 2ch 閲覧ツールを作ってる身としてなんとなく気になったもので。

それと顔出しついでに質問なんですが、Range ヘッダを付けてしまうと
Accept-Encoding での gzip 指定は無視されてしまいますか?
試してみたら圧縮されずに返ってきてしまいました。

>>880
read.cgi?row= とかで指定して取ることになるんですかね。
>>881
mod_gzipでは無視されます。
というかHTTPの仕様上差分取得時にgzip圧縮するのは
困難です。
1レスしか取ってなくて998レスの未取得がある場合には、
捨てて全部取り直したほうが節約できると思われます。
883(not 1):01/09/10 00:20
>>882
そうですか、素早い回答ありがとうございます。
どのくらいの 取得数/レス数 なら全部取ってくるかの判断が結構重要っぽいですね。
まえもどっかでかいたけど、要するに、「rangeとgzipの両方とも有効なら、
どっちが先行するかわからない」ってこと。
dat.gzを途中からなのか、
datの途中からを圧縮するのか。
だから、mod_gzipはさじなげて、圧縮しない。

>>881
とりあえず、委員長さんにメールでも出してみられては?
わからなくはないです。dat.gzを途中からとちゃんと
決められています。
ただそれだと差分取得がほとんど不可能になるので、
mod_gzipがさじを投げるという結論は変わりませんが。
886書記さん:01/09/10 09:19
>>881
navi2ch作者さん
お手数ですが私宛にメールをお願いします。

[email protected]
887mono:01/09/12 03:23
http://www.raiji.com/bbs/
このかちゅ〜しゃのようなCGIはどうでしょう・・・?
888デフォルトの名無しさん:01/09/12 18:54
WinCE版2chぶらうざ作ってるものですが・・・
改定されてから、bbstableからの板一覧取得が難しくなってませんか?(^^;
前は”index2.html”で終わるものだけ対応にしてたんですが。
やっぱり、鯖名から判断して取り込んでるんでしょうか?
889委員長 ◆EpJ0pYSs :01/09/12 20:01
>>888
「A Bone」の委員長です。
私の場合は、
"2ch.net"と"www2.bbspink"があれば板とみなす。
手動で追加された物に関しては全て板とみなす。
という感じでやってます。(もう少しウザったいけど)
最近はニュース板が増えて、2ch.netぢゃないから大変に
なってきましたね。
少しは協力してくれ(涙)>2ちゃんねる
890委員長 ◆EpJ0pYSs :01/09/12 20:03
あ、そうそう、ついでにCM。

A Bone β2をリリースしました。
http://salad.2ch.net/test/read.cgi?bbs=software&key=999980425&ls=50
891888:01/09/12 20:43
>>889
なるほど、やっぱそんなもんですか(^^;
結局、僕の場合は
2ch.net/が含まれており、その後に”/”が一個しかなく、その”/”で終わってるもの
またはbbspink.comが含まれる。
にしてます。
892通りすがり:01/09/13 10:58
>889
http://kuri7.he.net/~ch2news/news5/ → http://news.2ch.net/news5/
http://biwa12.he.net/~ch2ex/news6/ → http://ex.2ch.net/news6/
サブドメインちゃんとふっているようです。なので今まで通りでオッケ
ホットゾヌ のソースダウンロード不能の模様。復旧求む
894デフォルトの名無しさん:01/09/14 16:02
せっかくだからあげとくか
895デフォルトの名無しさん:01/09/14 16:18
zlibについてなんですけど・・・
gzip化したデータを受けとってメモリに保存、そのまま展開って
出来ますか?

zlibのheadercheckのソースやRFCを参考にヘッダを飛ばして
inflateかけてやろうとするとエラーになってしまうんですよね(^^;
仕方ないので一回保存してからgzreadで取り込んでますが。

#とりあえずISIZEフィールドは先頭のほうに置いておいて欲しかった(^^;;
896ghanyan:01/09/14 21:20
おそらく、InflateIniteの使い方が間違っている気がします。
zlibのgzio.cや、ぎこはにゃ〜んのソース http/gzip.cpp
あたりをみればいいかと。
>>896
あれれ・・・つまり、inflateInitじゃなくてinflateInit2を使えと・・・
ただそれだけのことだったんですかね(^^;
後でやってみます!
どもどもでした!
898委員長 ◆EpJ0pYSs :01/09/15 20:50
CM。

A Bone β3をリリースしました。
http://salad.2ch.net/test/read.cgi?bbs=software&key=999980425&ls=50
899デフォルトの名無しさん:01/09/18 14:07
Ahhan ! BBS Ver 2.53 に対応したものを求む。
900はじめての名無しさん:01/09/19 13:38
すれちがいならすいません。
今作ってるソフトに簡易2ちゃんブラウザみたいなのを
付けようと思ってますが、DATが取得できませんー。
やっぱHSPじゃダメっすか…?
HTTP関連アプリで助けを求めるなら、どんなHTTPリクエストを送って、
その結果、帰ってきた応答が、自分の予期していたものとどう違うのか、
くらいは、きちんと書かねば何ともいえません。

最悪、ソースを全部Webに揚げて、「何とかしてくれ」と泣きつけば、
ひょっとすると親切な人が何とかしてくれるかもしれませんが。
ご忠告ありがとうです。

IEのアドレス欄に
http://piza2.2ch.net/tech/dat/981726544.dat
と打ち込むと、このスレのDATが取れたので、同じようにHSPで上記のDATを取ろうと思ったら
404になってしまいました。

あと、泣き付きませんよ。悔しいからw
903名無しさん:01/09/19 15:05
今HSPを落としてサンプルのHTTPクライアントでやってみたけど
pizaは確かにNotFoundなんだけどmentaiやsakiからは取れるみたいですよ。
pizaがダメな理由はよくわかりませんが。
ほんとですか?試してみます。

あと、こんなの見つけました。
http://homepage1.nifty.com/dateshim/soft/ehttp_mod.lzh
これだとpiza大丈夫かも知れないっす。
Hostをつけていないという落ちじゃないだろうな
あの、モナジラBBSの方にも書いてしまったのですが、
現在、datファイルの取得や表示は出来るようになっ
たのですが書き込みの方法がサッパリ分かりません。
御教授願えないでしょうか。

なお、当方の開発環境はWindowsでは無いため一般的な
概要を御教え頂ければありがたいです。
なにとぞ宜しくお願いします。m(_ _)m
>>906
http://members.jcom.home.ne.jp/monazilla/document/write.html
ここ見てわからないんならやめといた方がいい
908906:01/09/23 09:53
>POST http://piza2.2ch.net/test/bbs.cgi?submit=書き込む&FROM=hoge&mail=sage&MESSAGE=>test&bbs=tech&key=981726544&time=Sun, 23 Sep 2001 00:51:05 GMT http/1.1
>Host: piza2.2ch.net
>Referer: http://piza2.2ch.net/tech/index.html
>Content-Type: text/plain
>Content-Length: 136

こんな感じで送っても駄目みたいなんですけど、
何処が逝けないのでしょうか?
909デフォルトの名無しさん:01/09/23 09:54
>POST http://piza2.2ch.net/test/bbs.cgi?submit=書き込む&FROM=hoge&mail=sage&MESSAGE=
>test&bbs=tech&key=981726544&time=Sun, 23 Sep 2001 00:51:05 GMT http/1.1
>Host: piza2.2ch.net
>Referer: http://piza2.2ch.net/tech/index.html
>Content-Type: text/plain
>Content-Length: 136

こんな感じで送っても駄目みたいなんですけど、
何処が逝けないのでしょうか?
スミマセン。
二重書き込みになってしまった。
TIMEが違う?
912906:01/09/23 13:13
>911
>POST http://piza2.2ch.net/test/bbs.cgi?submit=書き込む&FROM=test&mail=test
>&MESSAGE=test&bbs=tech&key=981726544&time=1008389392 http/1.1
>Host: piza2.2ch.net
>Referer: http://piza2.2ch.net/tech/index.html
>Content-Length: 117

TIMEを1970/1/1からの秒数にしてみましたが変わりませんでした。
とりあえず、どんなエラーメッセージがでたのか書いてもらわないと‥‥
たぶん、UserAgentとかAccept-*なんかをIEのまねして送るってみたり
すると、書き込めるかも。
ちゃんと書けるプログラムのソースみるとか
914デフォルトの名無しさん:01/09/23 13:51
URLエンコードは?
あと、Content-Lengthってヘッダの長さは含まないでしょ?
ていうかそもそもPOSTってなんだかわかってる?
あんまり変なことして2chに悪影響与えないでよ>906
917デフォルトの名無しさん:01/09/24 08:14
httpヘッダはそれだけじゃないからね。
ひととおり全部送りなはれ。
そこまでやっても、リモホのアドレスではじかれるかもしれないが。

bbs.cgiの仕様もよく変わるんで今がどうなってるか分からないが、
ある時期Acceptが無かったらはじかれた記憶があるな。
918906:01/09/24 08:55
レスいただいた皆様有り難う御座いました。
特に、915さん。POSTについてもう一度
勉強し直してみると、書式が全然違う事に
気が付きました。何とか書き込めるように
なったようです。

皆さんお騒がせしました。
有り難う御座いました。

自分なりに分かったことを纏めて書いた方がいいですか?
取り敢えず、これからまとめてみます。

本当に有り難う御座いました。m(_ _)m
919お名前:01/09/24 14:41
書き込みたい内容。
920906:01/09/24 14:49

HTTPのメソッドを使って2chに書き込みをするには、
下記のようなリクエストを送信してやるといいみたいです。


>POST http://piza2.2ch.net/test/bbs.cgi http/1.1[CRLF]
>Host: piza2.2ch.net[CRLF]
>Referer: http://piza2.2ch.net/tech/index.html[CRLF]
>User-Agent: hoge 0.1b[CRLF]
>Accept: text/plain[CRLF]
>Accept-charset: shift_jis[CRLF]
>Accept-Encoding:[CRLF]
>Content-Length: 113[CRLF]
>[CRLF]
>submit=書き込む&FROM=お名前&mail=メールアドレス&MESSAGE=書き込みたい内容。
>&bbs=tech&key=981726544&time=1001309581[CRLF]


ポイントとしては、まあ、当たり前のことばかりですが。
1. リクエストとエンティティボディの間にCRLFを送ってやること。
2. Content-Lengthでは正確なエンティティボディのサイズを送ってあげること。
921906:01/09/24 14:50
お騒がせしました。
そして、有り難う御座いました。
あ、POSTなのにマジでURLの後ろにデータをくっつけていたのか。
あれは例えの話なんだと思って見ていた。
>>920
で、URL encodeは?
924ヒロユキ@ギコナビ:01/09/24 23:35
>>923
昔、俺がURLエンコードしなきゃだめ!って言ったような
気がするんだけど、しなくても、OKみたい。

あと、関係ないけど、ダメ人間から戻る薬ないですか?
925ヘタレ:01/09/25 01:39
URLエンコード、せっかく作ったのになぁ・・・・
しかも間違ってたし(笑)
926ヒロユキ@ギコナビ:01/09/25 01:48
>>925
ん?Delphiですか?Delphiだったら標準であるよ。URL援交
どっちにしろ、いらないんだけど。。。
それより、GZIPをファイルに落とさないで復元するクラス
どっかに落ちてないかな?
927920:01/09/25 01:48
>922
お恥ずかしい。

>923
URLエンコードはしなくても今のところ問題ない見たです。
928ヘタレ:01/09/25 02:22
>>926
いや、SDKベースのVCっす
ネットもwinsockベースで全部自作で進めてます(笑)

Gzipをメモリ上で展開するのは簡単ですよ。
てか、教えてもらったんだけど(笑)
>>895-897辺りで
929Dax:01/09/25 08:18
私も >>926 の復元クラスと >>924 の復元薬、探してます。
zlib1.1.3のcontrib\delphi2に入ってるzlib.pasのTDecompressionStream
これそのままだとdelfate onlyでzlib header必須になるけど
constructor TDecompressionStream.CreateNoHeader(Source: TStream);
begin
 inherited Create(Source);
 FZRec.next_in := FBuffer;
 FZRec.avail_in := 0;
 DCheck(FZRec, inflateInit2_(FZRec, -DEF_WBITS, zlib_version, sizeof(FZRec)));
 FEof := false;
end;
こんな調子のconstructor作ってgzip対応して使ってる
gzip.pasって自作して使ってるけど、どっかにアプできる場所ある?
中身はこんなのだけど
> TGzipDecompressStream = class(TStream)

> public
> constructor Create( dest: TStream );
> function Write(const Buffer; Count: Longint): Longint; override;
> function Read(var Buffer; Count: Longint): Longint; override;
> function Seek(Offset: Longint; Origin: Word): Longint; override;
> destructor Destroy; override;
> property Header: TGZipRecord read FHeader;
> end;

> procedure gzDecompress( in_stream: TStream; var dest:TGzipRecord );
> procedure gzCompress( const src:TGzipRecord; out_stream: TStream );
932931:01/09/25 10:14
monazilla.orgにuploadしてみようかと思ったんだけど
http://members.jcom.home.ne.jp/monazilla/document/upload.html
のMonazilla Studioってnot foundになる…
933書記さん:01/09/25 11:16
あちゃ、ちょっと待ってください
ゴソゴソ

http://www.geocities.co.jp/SiliconValley-Oakland/9028/document/upload.html
こっちでどうでしょう?
>>931
(・∀・)イイ!
935931:01/09/25 12:09
ありがとう >933
こんなんでいいかな?
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/gzip_delphi.zip
936ヒロユキ@ギコナビ:01/09/25 23:18
>>929
薬期待してます。
今日も一日ボケェー(´д`)っとしてたよ。トホホ。

>>935
スゴスゴー!
使わさせてもらって良いですか?
937931:01/09/26 05:25
>>936
public domain状態でばんばん使ったりいじったりしてくださいー
>>931
usesしてる"crc"がみつからないですー
939931:01/09/29 08:20
>>938
ぬおお。すまん
前のファイルは消して、crc.pas追加してみた。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/gzip_delphi2.zip
940ヒロユキ@ギコナビ:01/09/30 03:36
>>931
組み込んでみました。バッチリ動いてます。
しかし、gzip対応にするとダウンロード速いね。
サクサクダウンロード出来て快適。
931さんに感謝。
有志により、かちゅーしゃでgzipや書き込みエラーに対応する
wsock32.dll乗っ取りdllが開発されました。
こんな対処法があったかと感心。

詳細は下記スレ。
http://yasai.2ch.net/test/read.cgi?bbs=win&key=1001383286
http://yasai.2ch.net/test/read.cgi?bbs=win&key=1001774138
test
test test
test test test
945???:01/10/01 19:55
TESUTO
ここで、テストはやめれ。
↓こういうとこでやりましょ。
http://saki.2ch.net/test/read.cgi/qa/1000112036/l50
947デフォルトの名無しさん:01/10/04 21:19
age
948デフォルトの名無しさん:01/10/08 23:38
次スレはあるのかな?age
949himajin2908 ◆hiMA.Vv6 :01/10/11 21:48
各ツールの作者様、ここは見れるでしょうか?
http://choco.2ch.net//
かちゅ〜しゃではOK、ホットゾヌでは落ちます。
950デフォルトの名無しさん:01/10/18 12:22
インテリフォームが気になって、ショートカッツのソース見てみたいんですが、
アーカイブが無いようです。
再アプキボーンヌ。
951書記さん:01/10/18 15:22
>>951
サンクス!!対応ハヤスギ!
さて、早速参考にしよう。
953デフォルトの名無しさん:01/10/23 19:20
2chのレス取得用のクラスライブラリ見たいのがあるんですか?
で、それ使うと簡単にブラウザ作れるんですか?
954デフォルトの名無しさん:01/10/24 07:06
何の知識もない全くの素人が参加するのって無謀ですか^^;?
マカーでREALbasicで0から制作してみたいです。
(ダウンロードしたばかりでまだ使い方さえわかっていない状態;)
ネタじゃなく本当に「プログラムって何さ?」レベルなんですが…
昔ほどの活気がないですね。
turbo type Dさんとか帰ってこないのかなー。
956厨房もじらー:01/10/30 01:38
>>955
漏れは最近モナヂラでヘボいものを開発しはじめた人なんだけど
このスレ初期の頃は楽しそうだったよね。。。
このスレROMっててワクワクしてたし(藁
今は、なんかモナヂラで何かしようって動きは無いみたいで
活気がないのは仕方ないかなって思ってる。

>>953
Delphi用にはMonaUtilsとか使えば簡単に作れる…のかな(詳しいことは知らないのでスマソ
特にDelphiが読めるなら、オープンソースでいくつかでてるもののソースを参考というか、パクってみれば大体わかるかも。
monazilla.org(wには一部古いけど2ch用ブラウザ作るための資料もあるし。

monazilla.org(w
ttp://members.jcom.home.ne.jp/monazilla/

>>954
全くの素人っていうのが、プログラミングも素人ってことなら
参加は拒まれないと思うけど、
正直、いきなり2ch用ブラウザは難しいと思う。
漏れもよくわかってないし(漏れが厨房だからか。。。鬱
マクモエとかはREALBasicで作られてるみたいだけど
さいとう(仮)さんもなかなか苦労してるみたいだし、
REALBasicだから簡単というわけでもなさそう。
最初はブラウザコンポーネント(とかあるのかな)使って
もっと簡単なアプリからつくってみるのがいいと漏れは思う。
957委員長 ◆EpJ0pYSs :01/10/30 03:31
活気かぁ、最近活気がないと言われれば、確かに否定は出来ないなぁ。
とは言え、メンバーが飽きてきたって訳ではないですよん。
まぁ、2ちゃんねる用ブラウザを開発するにあたっての、必要な情報や
主な手法などは出尽くしたとは言わないが、それなりにこなれてきて、
各開発者は各自のツール作成に専念しているということでしょう。
このでの発言数は劇的に減ってはいるけど、各ツールが順調に
更新されている事からもそれは分かるかと。

ブラウザを簡単に作れるか?と聞かれると、貴方の能力による としか
答えようがないのは、厨房もじらー氏のレスの通り。
DelphiやC++Builderなど、IEコンポーネントが事前に用意されている
開発環境で作るなら、テキストの処理やHTTP通信処理が出来れば、
まぁ一応は作れます。
ただ、フリーウェアとして公開するとかまで考えてのことなら、IEコンポーネント
を直接制御する方法とか、マルチスレッド、タブ型ブラウザにしたいなら、
複数のスレッドを同時に開いて切り替えたりするので、板とスレッドの
アクティブ管理など、かなり複雑になってきます。
これは作ってる私の正直な実感として、会社員なら仕事中でも開発出来るとか
学生なら就職活動はまだ先で遊びまくれる時期だとか、そういうかなり
時間にゆとりのある人でないと、無理があるんぢゃないかなぁ。
2ちゃんねるブラウザの場合、目的とするソフトを開発する技術はもちろん、
日々変更される2ちゃんねるの仕様を追いかけて、それに対応しなきゃ
いけないからね、これが一番大変だったりするのよ(笑)。

厨房もじらー氏の薦められているように、取りあえず超簡単なブラウザを
ひとつ作ってみて、それが出来たら、ちょろっと2ちゃんねるを表示する
ようにして、そうやってお遊びペースで進めてみて、それなりの物が出来たら
このスレッドや、monazillaサイトのBBSなりで、「ここまで出来たから、
テストきぼん」とソフトをお披露めしてみてはいかがかな?
その時は喜んで人柱役をやらせて頂きますよ。
958書記さん:01/10/30 20:26
>>955
>昔ほどの活気がないですね。
> turbo type Dさんとか帰ってこないのかなー。

ある程度2ちゃんねるの仕様も分かって、
ロジック的においしいとこはほとんど解明しちゃいましたからね、

こっちは活気が無くなっちゃいましたが monazilla BBSの方では
Moz2chさんなどが開発頑張ってますよ!
もっともっと開発スレが増えることを期待しています。
Delphi 6 Personal や Kylix Open でつくる人いないのかな?
959デフォルトの名無しさん:01/11/06 20:12
次スレだれか立ててよ。
960Delフサギコ:01/11/06 20:32
   ∧,,∧   / ̄
(,,,,,,,ミ,,゚Д゚彡 < フサフサです
⊂,,,,,,,,,つつ.   \_

こんにちは。
何か独立性の高いライブラリの要望とかありましたら
【簡単なものなら】手伝えますよ。

簡単なものなら、みなさん作っちまうという難点はありですが…

オープンソースの分業って難しいですかね。

世界のオプソはどうやって分業しているのかな。
read.cgiの改良はオープンソースモデルのようになってるね。
cvs鯖立てて、参加者全員が自由に改造できることにして
スレで議論しながら軌道修正してゆく。
そろそろ2chブラウザ「monazilla」をcvs公開して
みんなで開発ってのはどう?
963厨房もじらー:01/11/07 05:14
cvsって使った事ないけど、
鯖があればつかってみたいね。

monazilla.org(wには現在mozilla.orgに対するMozillaのようなものはないよね。
>>962が言ってるようなモナヂラって
作るとしたらやっぱDelphiになっちゃうのかな。。。
6 Personalはタダだし、できなくもないけど
漏れのテリトリーじゃないからちょっと寂しいのでsage
>960
おおお!Delフサギコさん!
ここはいっちょ DelPerでオプソブラウザをちょちょいっと!

>962
それいいですねー。
なんか誰か率先してやってくんないかなー、、(他力本グァン

>963
Delphiだけでなく いろんな言語で実装できたら面白いかも。
965書記さん:01/11/07 23:42
>964 名前忘れてた。
966厨房もじらー:01/11/08 11:58
>>965
DelphiクラスやC++クラスにCOMインターフェイスくっつけてやれば
いろんな言語でまたーり開発できると思われ。
でも、面倒なので誰もやらない、かな。。。
967デフォルトの名無しさん:01/11/09 14:13
968age:01/12/29 11:07
age
9691000:02/02/03 03:53
まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )
廃棄スレをsageでも書き込むなよ…
971埋め立て屋:02/02/04 21:25
972名無し:02/02/19 16:36
972ゲット!!
おれが1000getしてやる
何かトリップつけるか
とりあえず何かのトリップ検索中
◆KmmmmmxE
◆WWWWWDBI
どっしにすべきか・・・
976 ◆WWWWWDBI :02/03/02 01:16
これにして1000目指すか
977 ◆WWWWWDBI :02/03/02 01:25
さて続けるか
978 ◆WWWWWDBI :02/03/02 01:26
なんか連続カキコですっていわれそうだな
979 ◆WWWWWDBI :02/03/02 01:53
書くネタないな
980 ◆WWWWWDBI :02/03/02 01:53
AAでも張るか
981 ◆WWWWWDBI :02/03/02 01:58
とりあえずこのスレの提供は
                 提  供

                  /\
                  \/
               / ̄/\ ̄\
                ̄ ̄    ̄ ̄
              Heart-Beat Motors
               三 菱 自 動 車

982 ◆WWWWWDBI :02/03/02 01:58
                提  供

                DAIHATU
                大塚製薬
                 KIRIN
                PlayStation
                 2ch
の提供でした
983 ◆WWWWWDBI :02/03/02 01:59
             ___
.            |(・∀・)|
.            | ̄ ̄ ̄   ジサクジエン共和国
         △
        △l |
   __△|_.田 |△_____
      |__|__門_|__|_____|_____
これははっとかなきゃな
984 ◆WWWWWDBI :02/03/02 02:01
       ●●                        ●●
     ● ●   ●                     ●   ● ●        /   \
    ●  ●   ●                     ●   ●   ●     /      \
   ●     ●●                        ●●     ●
  ●                                         ●    _____
  ●                                          ●          /
 ●                 ●●●●●●                 ●       ヽ
 ●                 ●      ●                 ●       /
 ●                 ●      ●                 ●       /
 ●                 ●       ●                 ●
 ●                 ●       ●                 ●     / ̄ ̄\
 ●                ●        ●                 ●     |     |
  ●               ●         ●                ●      \   /
  ●              ●         ●               ●          /
   ●             ●          ●              ●           |
    ●           ●●●●●●●●●             ●
     ●          ●           ●            ●
985 ◆WWWWWDBI :02/03/02 02:02
          || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
          || おにぎり       /■\  はい、みんなで♪
          ||  ワショーイ   \ (゚ー゚*)
          ||________⊂⊂ |
  /■\   /■\    /■\   | ̄ ̄ ̄ ̄|     /
  (  /■\ (  /■\ (  /■\ |おにぎり |   /
〜(_(  /■\ __(  /■\__(  /■\ ̄ ̄ ̄    おにぎり♪
  〜(_(  /■\_(  /■\_(  /■\
    〜(_(   ,,)〜(_(   ,,)〜(_(   ,,)     ワショーイ♪
      〜(___ノ  〜(___ノ   〜(___ノ
986 ◆WWWWWDBI :02/03/02 02:02
                                 、
                              ζ  ,
                               _ ノ
                             ( (   (. )
                               `
                             . -/■\ .
                          .´,.::;(´∀`A) `.
                          i ヾ<:;_ー-ーー,.ン |
                          l      ̄...:;:彡|
             /■\            }  . . ...::::;:;;;;;彡{
           ( ´ )-`)          i   . . ...:::;;;;;彡|
           ,つ  ⊆)            }   . .....:::;::;:;;;;彡{
          , :´ `"~.  `、          !,    . .:.::;:;;;彡j:::::::::::::::.......
.         . '  .    ; .丶         ト ,  . ..,:;:;:=:彳:::::::::::::::::::::::::::..
.        ,:´ .    '    ' `、        ヽ、.. ....::::;;;ジ.::::::::::::::::::::::
       ,'    . 簍?J鶸鑼  ; `.           ̄ ̄     ワッチョイ
   ,, -'''" .   .  駲刪櫑躪  . ' ';゛`'丶.、.......       / ■ヽ ワッチョイ
.  '´     !    . 膚順棚斷. ' , ;::::::::::::...`.::::::::....    (д・*∩ ))
 i       ヽ、..._,.__魎鬱蹠撫.,,__,.,..ノ.:::::::::   !::::::::::::... ((  (⊃ 丿
. ヽ、                      ,: '.:::::::::      (__)し'
    `=ー--、....,,,,,______,,,,,... --‐=''´..::::::
      ``" '' 'ー───‐―‐' ''' "´
ガンバレー
988 ◆WWWWWDBI :02/03/02 02:05
                            、
                              ζ  ,
                               _ ノ
                             ( (   (. )
                            . -‐ ) ‐- .
                          .´,.::::;;:... . . _  `.
                          i ヾ<:;_   _,.ン |
                          l      ̄...:;:彡|
                               }  . . ...::::;:;;;;;彡{
                          i   . . ...:::;;;;;彡|
           ,: ' " `丶        .    }   . .....:::;::;:;;;;彡{
          , :´  .   `、          !,    . .:.::;:;;;彡j:::::::::::::::.......
.         . '  .    ; .丶         ト ,  . ..,:;:;:=:彳:::::::::::::::::::::::::::..
.        ,:´ .    '    ' `、        ヽ、.. ....::::;;;ジ.::::::::::::::::::::::
       ,'    . 鬱鬱鬱鬱  ; `.           ̄ ̄
   ,, -'''" .   .  鬱鬱鬱鬱  . ' ';゛`'丶.、.......
.  '´     !    . 鬱鬱鬱鬱. ' , ;::::::::::::...`.::::::::....
 i       ヽ、..._,.__鬱鬱鬱鬱.,,__,.,..ノ.:::::::::   !::::::::::::...
. ヽ、                      ,: '.:::::::::
    `=ー--、....,,,,,______,,,,,... --‐=''´..::::::
      ``" '' 'ー───‐―‐' ''' "´
989 ◆WWWWWDBI :02/03/02 02:06
げみつかった
990 ◆WWWWWDBI :02/03/02 02:07
         | すみません
         | 987のとなりでワッショイしてもよろしいですか?
         \___  ____________
               ∨

    __∧_∧__/■\____
    |  ( ;´∀`) (´∀` )     .|     |  (    ) ⊂    )    |
   / ̄( (  (  ̄( (  (  ̄ ̄/|
   || ̄ (_(_) ̄(_(_) ̄ ̄||
        ∧
   / ̄ ̄   ̄ ̄ ̄ ̄\
   | (エッ!!)     |
   |  ど、どうぞ・・・・   |
991 ◆WWWWWDBI :02/03/02 02:09
         おにぎりワッショイ!!
     \\  おにぎりワッショイ!! //
       \\ おにぎりワッショイ!!/
           +             +
             + /■\  +
    __∧_∧__ (´∀`∩)__ +
    |  (´∀`; )  (つ  丿 ))  |
    |  (    )(( ( ヽノ     .|
   / ̄( (  (  ̄ ̄し(_) ̄ ̄/|
   || ̄ (_(_)  ̄ ̄ ̄ ̄ ̄ ̄ ||
        ∧
   / ̄ ̄   ̄ ̄\
   |  ・・・・・・・・・  |
992 ◆WWWWWDBI :02/03/02 02:09
あと少しだ
993 ◆WWWWWDBI :02/03/02 02:10
改めて1000へ
994 ◆WWWWWDBI :02/03/02 02:11
今になって2重書きこって言われた
995 ◆WWWWWDBI :02/03/02 02:13
もしかして
996 ◆WWWWWDBI :02/03/02 02:14
1000
997 ◆WWWWWDBI :02/03/02 02:15
get
998 ◆WWWWWDBI :02/03/02 02:15
ですか?
999 ◆WWWWWDBI :02/03/02 02:15
(゚Д゚)ハァ?
1000 ◆WWWWWDBI :02/03/02 02:16
俺逝ってよし
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。