トップページ⇒tech
1001コメント431KB

monazilla

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
2ちゃんねる専用ログ巡回ソフト「モナヂラ(monazilla)」を
オープンソースでつくっちゃおーと言うプロジェクトです。
0002デフォルトのゲイツさんNGNG
>1
ソースは何処?
0003デフォルトの名無しさんNGNG
オープンソースなのに、ソースはまだ無い。
つーか誰も一行も記述してない!
0004デフォルトの名無しさんNGNG
企画倒れsage
つーかいまさらそんなもんが必要か?しかも2ちゃんねる専用?
0005デフォルトの名無しさんNGNG
>>4
つくることそのものが目的です。
0006デフォルトの名無しさんNGNG
作るんだったらふつーのGeckoブラウザきぼん
K-meleon対抗で
0007デフォルトの名無しさんNGNG
なんか予想通りの展開だな。
誰かがベースになるコードを一通り組んじゃわないと
先に進まないよ。
0008デフォルトの名無しさんNGNG
ベース。

int main(int argc,char* argv[]){
 return 0;
}
0009デフォルトの名無しさんNGNG
おれがメインを書いてやる

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

#誰かがmain()の型を突っ込んでくれますよーに・・・
00108NGNG
もろかぶったな。
00119NGNG
そうだね。。へへへ >8
じゃ定義文。

#define  MSG_MONA   "お前モナー"
0012デフォルトの名無しさんNGNG
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();
 }
}
0013デフォルトの名無しさんNGNG
今更Javaかよ。
0014デフォルトの名無しさんNGNG
mozillaより重そう…
0015デフォルトの名無しさんNGNG
>>12
>>14
Java ブラウザーのJazillaって知ってます?
0016デフォルトの名無しさんNGNG
とりあえ、だれかmozillaのソース持ってきてよ。
それをちょこちょこ弄るだけで終わりしよ。
001714NGNG
>>15
知ってました(藁
0018デフォルトの名無しさんNGNG
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();
}
}
}

}
0019turbo type DNGNG
あいよ、Indyインストしてまっててな。
0020デフォルトの名無しさんNGNG
ギコナビが HTTPにどのコンポ使ったかおせーてほしーな。
ソケット直かな?NMは使ってないみたいだけど。
0021デフォルトの名無しさんNGNG
面倒だからWininetでもいいんじゃん?
0022デフォルトの名無しさんNGNG
http://msdn.microsoft.com/workshop/networking/wininet/wininet.asp
ここ参照ね。
0023デフォルトの名無しさんNGNG
板一覧の取得方法って
http://www.2ch.net/bbsmenu.html
を解析すればいいの?
0024デフォルトの名無しさんNGNG
・・・なんか、VC++の奴らが混ざってねえか?(w

VCLでオープンソースな。
Borland以外の奴は他すれでやってくれ。
0025デフォルトの名無しさんNGNG
単に、Delphiの人達やる気ないんじゃない?
0026デフォルトの名無しさんNGNG
言語はなんでもいいと思うんだけどね。。
0027デフォルトの名無しさんNGNG
>>20
ギコナビ@ヒロユキです。
ギコナビはHTTPCLIっていうのを使ってます。
なかなか高性能ですよ。

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

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

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

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;
0029幸運の国NGNG
開発言語はなんでしょうか。とりあえず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);
0030幸運の国NGNG
//ここら辺はオフボード落として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;
0031幸運の国NGNG
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;
}
0032幸運の国NGNG
タブが消えてしまいましたが、、わかねーぞボケって部分があったら説明します。
0033デフォルトの名無しさんNGNG
CreateFileでネットワーク越しのhtmのソース(やバイナリファイル)開けちゃうの?
0034デフォルトの名無しさんNGNG
開けます。>>33
0035デフォルトの名無しさんNGNG
2chのCGIの詳細な仕様が欲しいんですけど、
どっから手に入ります?
0036デフォルトの名無しさんNGNG
>>34
ダウンロードに関してはCreateFile, ReadFileだけで十分ってことかな?
そうするとDelphiのHTTP系コンポを使う意味あるの?
0037デフォルトの名無しさんNGNG
>>27ギコナビ@ヒロユキ、こんにちは

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

ギコナビ自体おおよそ基本部分が出来るまで
どのくらいかかっているんでしょう?
0038turbo type DNGNG
>>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.
0039幸運の国NGNG
>>38 そこははじかれたんで^^;
ドル猫様の使わせていただきました。
http://green.nttec.com/tech/read.cgi?KEY=981878874
今回のはローカルにファイルが置いてなくてもそのまま作れます。
でも腐ってるので改良お願いします。
ちなみにブラウザ最大化しないとずれるから見にくいっす。
0040幸運の国NGNG
http://green.nttec.com/tech/read.cgi?KEY=981880639
ゴミが混じってたんでデバッグしました。
0041デフォルトの名無しさんNGNG
http://salad.2ch.net/bbstable.html得られるでリンク先から.datを得るのは
どうやってやるの?
0042幸運の国NGNG
例えばこのスレッドならhttp://piza.2ch.net/tech/dat/981726544.dat
ここからDLすればいいです。実は私も以前にオフラインビューワ作ろうとしたんですが、
スキルの無さと、他の皆さんが次々に公開された事で断念しました。
あんまり力になれないかもしれませんが知ってる事があれば出来る限り協力します。
0043デフォルトの名無しさんNGNG
>>35 http://tako.2ch.net/test/read.cgi?bbs=perl&key=978059673
004435NGNG
>>43
う〜ん、直接2chの仕様ってわけではないのか。
でも、だいぶ分かってきたぞ。

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

これを知らなんだ。これで、全部わかったです。ありがとー。
オレもブラウザ作るかな。
0052デフォルトの名無しさんNGNG
どうせならIE使わずにってのは、無理?
.DATを直に拾ってくるなら問題ないよね。
0053デフォルトの名無しさんNGNG
>>52
表示が面倒だよ?
0054デフォルトの名無しさんNGNG
俺もそう思う
0055turbo type DNGNG
>>52
ハイパーリンクがあるからこそ
使いやすいな。

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

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

とりあえず、TUIWebは導入したばかりで
俺はIndyでやるよ。
D6も見据えながら。
0069デフォルトの名無しさんNGNG
ソース表示をすれば、タブ数はわかるるる
0070turbo type DNGNG
IndyでHTTPをダウンロードするのはどうするんですか?
0071turbo type DNGNG
Demo見たらわかった。。。。。
今後はボロカスに言われたらやだから
質問するときはコテハンヤメテおこ。
0072turbo type D@monazillaNGNG
>>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でガイシュツだ。
0073デフォルトの名無しさんNGNG
>>72
dat ファイルは単なる CSV なので、
HTML のタグをつけてやらなきゃいけない。
0074デフォルトの名無しさんNGNG
とりあえずジオにディスク12MBとりました。
URL
http://www.geocities.co.jp/SiliconValley-Oakland/9028/
ID : monazilla
PW : mona
0075turbo type D@monazillaNGNG
トクトクの方がいいかもよ。
容量無制限だしー。CGI可だし。

とりあえず、IndyとUIWebBrowserはインストしておいてヨシって
ことでいいですか〜?
0076turbo type D@monazillaNGNG
で、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;
0077turbo type D@monazillaNGNG
TUIWebBrowser/TWebBrowserでHTMLファイルを作らなくても
ブラウザ表示させる方法はどうやるんだけ?

>>ご教授きぼーん。
0078デフォルトの名無しさんNGNG
>>74
ワラワカシテモラタ
0079デフォルトの名無しさんNGNG
Indyのコンポどこー?
0080turbo type D@monazillaNGNG
見てなかったから気が付かなかったけど、
>>74
>turbo type D's page
つのはやめてくれよ。

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

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


kylixにもDelphi6にも搭載される予定のネット関係コンポ
Indyのリンクきぼーんよ。
http://www.nevrona.com/Indy/
0081デフォルトの名無しさんNGNG
あ、やっぱまずかった?>>80
名前だけ消しときます。
008281NGNG
勘違いでちた!>>80
0083ヒロユキ@ギコナビNGNG
>>80
分かっていると思うけど、
・Indy は Server Edition 以上につく
だそうです。Kilixの話ね。
Kilix-MLからの情報です。
0084デフォルトの名無しさんNGNG
Server Editionだとホビープログラマはつらいですね。>>83
にしても話が進まないので分析/設計とプロトタイプ開発を
同時に進めるようなやり方で行きましょうか?
0085デフォルトの名無しさんNGNG
>>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などしておく必要アリ。理由不明。
0086デフォルトの名無しさんNGNG
プロトタイプってのは
技術的なプロトタイプね。
たとえばスレ一覧を取るだけのものとか。
0087ヒロユキ@ギコナビNGNG
>>85
var
v: OleVariant;
begin
v := 0;
WebBrowser1.Navigate('about:blank', v);
end;
これを最初にやるのはダメかな?

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

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

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

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

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

他に代替案があったらご意見よろしく。
0089turbo type D@monazillaNGNG
関係無いけど
コードにはAAを嫌になるほどいれたい。(藁

Delphi自体のフォントをPゴシックに出来ないのは残念。
0090turbo type D@monazillaNGNG
追加。データ保存はIniファイルでやる。

本当はマルチユーザ対応などレジストリでやるのが楽でいいんだが
コアなユーザーはIni好きだから。
0091デフォルトの名無しさんNGNG
>>88
そこまで考えてくれるとありがてぇ
0092turbo type D@monazillaNGNG
>>83
Indyは付属してなくてもDowlLoadすればいい話じゃないか?
HELPファイルなんかはServer版しか日本語化されないだろうけど。
MLで聞いてみてよ。俺ROMってるから(藁
0093turbo type D@monazillaNGNG
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;
0094デフォルトの名無しさんNGNG
>>85
IEコンポは作成直後はHTMLDocumentがnilになってるからね。
innerHTML、outerHTMLを設定するんじゃなくてHTMLDocumentに
writeすれば問題ない。けど、フォントが変になったような気がする。
かちゅーしゃはHTMLにフォント設定を埋め込むことでこれを回避してるようだ。
>>87
(少なくともVC++/MFCでは)Navigateが非同期動作になるので、一旦Navigate
して、NavigateComplateかDocumentCompleteのイベントをトリガにする
必要がある。
まぁ、about:blankに飛ぶぐらいはすぐだろうから、WebBrowserのステータス
でループさせて終了を待ってもいいけどね。

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

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

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

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

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

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

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

98の話からすると、とりあえずファイルに書き出してから
読み込んだ方がいいって事か?
0100turbo type D@monazillaNGNG
違いはURLにPIDLが使えるか否かだね。
で、PIDLって何だ?(w
010194NGNG
>>96
似たようなアプリを書いた経験からだよ。

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

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

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

そうそう、TWebBrowser_V1&NavigateはIE3、
TWebBrowser&Navigate2はIE4以降。
010398続きNGNG
フォントの問題は、
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はスクロールバーが嫌だったのも理由の一つだけど、
まともなアプリを組んだ事のない素人なので、
やり方を知らないだけかもしれない。
010498NGNG
連続でごめんなさい。
>>101をよく読んでなかった。
HTMLDocumentにwriteですか。ありがとうございます。
いろいろ試してみます。
・・・調べてみますと言えないのが悲しい。
サーチエンジンを使って、英語とも格闘して、試行錯誤します。
0105デフォルトの名無しさんNGNG
>>103
>【】の間をカテゴリ名として、board.txtを作ってる。
>(2chブラウザと同じかな)
うんにゃ。<B></B>だよ。じゃないと、www.2ch.net/bbsmenu.htmlを読めない。
0106turbo type D@monazillaNGNG
>>サンクス。
IE4以降限定でいいよね。

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

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

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

やっぱこんなの?
あ、Delphiのエディタじゃ AA 無理だっけ?
0108デフォルトの名無しさんNGNG
end.の下の行は

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

をつける。意味ないけど。
010998>105NGNG
その通りっす。すみませんです。
さらに、カテゴリの重複→カテゴリの連続っす。

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

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

//============== 終了==============
0111turbo type D@monazillaNGNG
等幅フォントだと、こんなもんかな?

//
// ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
// (´∀`)< ボードの一覧をhttp://salad.2ch.net/bbstable.htmlより得る
// (    ) \________________________
//  | | |
// (__)_)
//
しかし、このコメントがついてたら
まじで周りにビクビクしながらコード書かなきゃいけないから
すげー疲れる(w
0112デフォルトの名無しさんNGNG
等幅でもずれとりまんがな。空白が寄せられただけ?
ところで、94さんは2chブラウザーの作者さんのような気がするけど、違うのかな?
0113デフォルトの名無しさんNGNG
>>112 違わないよ。
011498NGNG
かなり戻るけど、>>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);
  }
 }
0115turbo type D@monazillaNGNG
>>114
>TBoardCategoryは必要ないと思う。
ほっほー、そうなん。

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

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

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

今日中に一覧をTreeで表示させたかったが、無理だわ。
また先ですわ。
0116turbo type D@monazillaNGNG
かちゅしゃは右端じゃなくて左端でした
あせって左右もわからなくなってる。

98さんはVCLバリバリ使ってる気がするが,,,
0117デフォルトの名無しさんNGNG
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'の文字も必要だってことっす。
0118デフォルトの名無しさんNGNG
>>103
ListViewは速くはないけど、Delphi4から導入されたVirtualModeを使えば、そんなに遅くないです。
でもこれだとオーナードローする必要があり面倒です。
ちなみに、どうせオーナードローするならStringGridよりDrawGridの方が多少速いです。
もっとも上にあげたものは全てTListからのオーナードローになると思うので、どれでも十分な
速さですけど。
実は、オレも作成中だったりして。
011928のクラス書いた人NGNG
しばらくこないうちにだいぶ進んだなぁ。
個人的には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たんがむばってね。
0120デフォルトの名無しさんNGNG
>>118
OwnerData使うだけで速いよ、OwnerDrawする必要なんてない。
0121turbo type DNGNG
むずかしいなーー、絶対ムズイよ。>>119
ある程度の所まで実装してアプしたら、
みんなさん、頼みまっせ。

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

ダウソドーロは全部スレッド化しろってぇ。難しいなあ。
0122turbo type DNGNG
StringGridのスクロルバーは何とかできるが
マルチセレクトと非選択をやろうとするとだるい。

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

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

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

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

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

>>143
HintWindowとリンクをつけたいね。
0145デフォルトの名無しさんNGNG
>>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>
0146turbo type D@monazillaNGNG
>>145
これでどこにアプされるの?
0147145NGNG
>>146
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/アプファイル名
0148デフォルトの名無しさんNGNG
>>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
0149デフォルトの名無しさんNGNG
>>144
TWebBrowser使える環境ならURL Moniker使えるでしょうし。
0150デフォルトの名無しさんNGNG
>>149 それ教えて  MSDN入ってるのに俺馬鹿だから 日本語資料が無いと全然理解出来なくてさ
0151turbo type D@monazillaNGNG
俺もわからん。>>149>>148

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

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


0152デフォルトの名無しさんNGNG
正直なところ、コンポーネント入れてまでという気はするな。
ソース配布されてても気楽に試しにくいのだよね。
0153デフォルトの名無しさんNGNG
>>150
ここのサンプル見るってのでは駄目?

http://msdn.microsoft.com/downloads/samples/internet/browser/walkall/default.asp
0154デフォルトの名無しさんNGNG
>>152
同意。標準コンポで逝きましょうや。
0155turbo type D@monazillaNGNG
俺も昔はそう(標準コンポ好き)だったけど、今は

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

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

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

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

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

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

VC、BCB、VBもしなやかに参加してくれ!
0163turbo type D@monazillaNGNG
聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ

>>156さんごめーんネ

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

HTTPCLIはギコナビでオレIndyのIdHTTP
0166書記さんNGNG
>>165
あ、しつれーしました。

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

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

0174turbo type D@monazillaNGNG
こっちでした。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaplorer.lzh
0175書記さんNGNG
http://www.geocities.co.jp/SiliconValley-Oakland/9028/
にもアップロード用のフォームつけておきました。
0176デフォルトの名無しさんNGNG
「これをかっこよくクリック」は不覚にもワラタ
0177デフォルトの名無しさんNGNG
>175
ジオ以外のところからアップロードさせないと巧く行かないから
別の所にアップローダを作るか、

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

0178書記さんNGNG
>>177
げ!そうなん!?ちょーしっぱい。。
0179書記さんNGNG
ローカルに保存してアップしてもらうようにしました。
0180デフォルトの名無しさんNGNG
>179 ジオだったら アップロードした人がゲストブックに説明書くようにしたらどうだ?
0181書記さんNGNG
あいよ!その案採用!
ゲストブックつけました。
煽り禁止
http://www.geocities.co.jp/SiliconValley-Oakland/9028/
0182デフォルトの名無しさんNGNG
書記さん 手数だが、ゲストブックにコメントで書かれる
&lt;!-- REMOTE ADDR: xxxxxxxx --&gt;
をタマには消す事にしておくれよ
別に残して困る事はないが、恥ずかしいからのう
0183書記さんNGNG
>>182
いま、それに気がついたのでゲストブックを停止ー、
だれかフリーでリモートホストが出ない BBS 見つけてーー
0184デフォルトの名無しさんNGNG
リモホが出ても、タマに消すよ程度でOKだよ。
どうしてもってんなら 日記を使ったらどう?
日記もファイルアップロードと同じ方法でいける筈
0185デフォルトの名無しさんNGNG
こんな感じだろうと思う
<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>
0186デフォルトの名無しさんNGNG
×8522
○9028
0187185NGNG
ミスしたおかげで、思わぬジオの穴を見つけてしまった。
member と fulladdressの管理は別らしい。やれやれ
0188ヒロユキ@ギコナビNGNG
今、ギコナビのBoard.iniをXML化する予定。(あくまで予定)
その部分をmonazillaと共有させてもらいたいです。
もちろん、XML読み込みの部分のソースは公開します。
まだ、構想段階なので、マターリとやっていますけど。
ボード関連で、manazillaは、どういうふうに考えていますか?

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

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

バイナリファイルにAnsiString型を格納するには、その文字列長の
情報が必要になります。まだ先の話ですけどね。まずは、基本機能
がまともに動かないといけません。
0191デフォルトの名無しさんNGNG
HP
がJazillaのパクってて笑った!
http://jazilla.sourceforge.net/
0192ヒロユキ@ギコナビNGNG
ギコナビの(公開以前のバージョン)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;
0193turbo type DNGNG
全く関係ないが、ギコナビのIEくりそつキャビネット部分ってなんなの?
不思議モナー
0194ヒロユキ@ギコナビNGNG
>>190
indexファイルのバージョンアップですが、ギコナビでは、ファイルの先頭に
バージョンを入れています。
バージョンを比較して、古いなら、新バージョンのindexを作ろうかと思っています。
#まだ、indexのバージョンアップをしていないので、どうなるかわかりませんが。
0195turbo type DNGNG
字下げてないと病気になりそうなので〜〜〜〜>>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;
0196ヒロユキ@ギコナビNGNG
>>193
実際のIEは、レバー(TCoolBar)+ツールバー+ツリーのようです。
DelphiのTCoolBarはバグっているようで、実現できなかったので、
TPanel(藁)などを駆使しています。
アプできる場所ってどこ?
フォームだけアプするよ。
でも、今日は寝ます。
0197turbo type DNGNG
ねましょうねましょう。

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

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

んーマターリ
0202デフォルトの名無しさんNGNG
どうでもいいが、TFileStreamは無茶苦茶遅いぜー。
iostream使うべ。

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

が、
http://salad.2ch.net/bbstable.html
のソースが不完全な場合のエラー処理に自信がない。
0208turbo type D@monazillaNGNG
monazilla_studioでアプしようとしてるモナカ(最中)ですが
同名ファイルでも問題ないかな?
0209turbo type D@monazillaNGNG
//////////////////
//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, '鰓');
0210turbo type D@monazillaNGNG
>>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;
0211turbo type D@monazillaNGNG
そういえば、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押して
それだけでオワリ。

--(゚Д゚)ゴルァ--(゚Д゚)ゴルァ--(゚Д゚)ゴルァ--(゚Д゚)ゴルァ--(゚Д゚)ゴルァ--
0212turbo type D@monazillaNGNG
聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ

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

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

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

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

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

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

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

意見求むー。

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

オープンソースって誰でも参加出来ると思ってたよ。
ごめんね。「クローズ」なソフトを作っている人が「オープン」の場所で
どーでもいいような知識をばら撒いて。
0238デフォルトの名無しさんNGNG
>>183
ここはどうかな?
http://green.jbbs.net/computer/479/monazilla.html
0239デフォルトの名無しさんNGNG
誰でも参加出来るからこそ、オープンソースだと思うけどね。
>○○が参加するのはどうか
なんてのは、参加する者を限定する最悪な考え方だ。

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

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

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

コード実装できそうにないみんなさんも
UIのアイデアとかあったらじゃんじゃん炒ってくれよ。
0245見物人NGNG
みんながんばってくださーい。

ところで何かコントリビュートしたいんだけどCのコードじゃだめ?
0246turbotypeD@モナぢらNGNG
何?コントリビュ^トって。

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

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

っていうかOSがFreeBSDなので。。。
やっぱり無理かなあ。
0252フッサール少佐NGNG
TWebBrowserで書くときは、無理やりWriteしちゃって追加書き込みできるようになったんだけど、消すことができん。教えてキボンヌ。
Streamで書き込みする方法とかもキボンヌ。
0253デフォルトの名無しさんNGNG
>>251
ぜひ、FreeBSD版 monazillaをおがみたい!!
0254見物人NGNG
>>253
うーむ、、じゃとりあえずUIでも作ってみるよ。
0255見物人NGNG
副産物としてlib2chみたいなの作りたいな。。とか。。
0256見物人NGNG
それにしても結構面倒そう。
0257turbotypeD@モナぢらNGNG
>>Linux版ならkylixでたら、
誰かやりそう。
多分monazilla基本部分は
API叩き無しのCLXで十分作れるものになるはず。

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

>>257
ツールキットはGTKを使うのでFreeBSD依存ってことはないと思う。
ただ、僕はFreeBSDを使ってるので。
0259gikozillaNGNG
名前を見物人からgikozillaにすることにしました。

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

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


0264gikozillaNGNG
とりあえず、ログ読み込みはどうにかなりそうです。
GUIも骨組みは出来ました。

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

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

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

monaplorerアプしたつもりだけど
確認できないな。
0273turbo type D@monazillaNGNG
アップされたファイルが
出てこないぞ。
会社がFTPサポしてないから無理なのか?

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


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

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

一応、クラス部分のソースはアプしました。
0275フッサール少佐NGNG
え?subject.txtって全部同じフォーマットじゃないんですか。が〜ん。
できれば、詳細キボン。
027698NGNG
98としてはお久しぶりです。

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

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

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

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

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

とりあえず、こんなところでしょうか。
0277フッサール少佐NGNG
>>276
おお、ありがとう。98。
ウチに来てくれたらうまい棒をあげるよ。
0278turbo type DNGNG
全然わからん。(w
>>276

またいずれわかるかな。
027998NGNG
訂正。
「メール欄に何か入ると最後に空白が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
028098NGNG
さらにおもくそ訂正。
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なんてのもありますが、
こんなのが幾つもあるとは思えないので、エラー扱いでいいかも。
028198NGNG
何やってんだろ、俺
http://mentai.2ch.net/os/dat/977641.dat
つーか、ちゃんとやったつもり。
一応全角でも。os板の977641.dat
028298NGNG
ごめん、本当に9-7-7-0-7-0-6-4-1.datって
(ブラウザから)書き込んでるつもりなんだけど、なぜか変化する。
0283書記さんNGNG
>>267
SOURCE FORGE、なかなかよさげですね。
http://sourceforge.net/
0284turbo type [email protected]NGNG
ボード一覧の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;
0285turbo type [email protected]NGNG
オレもsubject.txtの読み込みにとりかかろっと。
0286デフォルトの名無しさんNGNG
HTMLパーサって使わないの?
まともなのがないから?
0287turbo type [email protected]NGNG
使い方教えてくれたら使うよ。オレや他の人が知らないだけかもね。
028898NGNG
>>276を、もひとつ訂正。
&ampを&に変換です。
何故か &amplt;や&ampgt; となっている部分があるので。
ブラウザは単発の&を表示してくれるので全部無条件に変換してますが、
単純な全置換だと不具合が出るかもしれません。

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

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

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

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

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

そのまえに、スレ一覧表示を実装しないとナー
0296turbo type [email protected]NGNG
そうそう、コード規約みたいなものを書いていました。

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

01/02/18 モナーアスキーをいれてみました。
履歴をつけてみました。
//*)
0297turbo type [email protected]NGNG
////////////////////////////////////////////////////////////
{// 名前: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
ホカニ逝ットクコトハ ナシ

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

問題ないかな?

subject.txtの仕様はすげ、助かる。
0303turbo type D@monazillaNGNG
フッサール少佐の方は
タブ切り替えでお気に入りとスレ一覧を変更予定なんですね。

その方がいいかな?
0304turbo type D@monazillaNGNG
ところで、Delphi持っていない人向け
&コンポーネントのインストなど面倒な事したくない人の為に

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

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

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

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

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

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

誰か教えてね。
0309turbo type [email protected](藁NGNG
なんか、オレばかり書き込んでんだけど....
槍田氏悩した方が逝ってヨシですか?

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

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


ヒロユキ@ギコナビさんやかちゅ〜しゃ
などで実装されているように
ローカルの部分とオンラインの部分の
兼ね合わせをどうやるといいのかが
よくわからない。
0310gikozillaNGNG
全然進んでません。。。

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

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

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

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

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

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

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

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

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

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

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

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

>>322
たしか出来たはず。
0327デフォルトの名無しさんNGNG
>ヒロユキ
へこまんでい〜よ〜。
暇なときでいいから、またアドバイスに来てちょ。

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

いや、なんとなくそー思っただけ。
0336フッサール少佐NGNG
>>334
おお、それはいい事を聞いた。マジメにRFC読んでみるかな。
0337314NGNG
>>334
更新検出なら、dat/ディレクトリ一覧の.datファイルのタイムスタンプを見ればわかるよ。
今、俺も実装してるところ。
subject.txtとdat/の2回アクセスしないといけないのが難点。
0338デフォルトの名無しさんNGNG
でも、tako鯖はdat/を読めないので注意してね。
0339デフォルトの名無しさんNGNG
>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でした。
0340デフォルトの名無しさんNGNG
>>339
Keep-Aliveにするといつ終ったか分かんなくない?
parseしつつ表示ってんだったらいいだろうけど、
それって結構面倒な気がする。
つか、Keep-Alive にしてリクエスト送りまくるって話なんかな。
0341turbo type [email protected](藁NGNG
>>ヒロユキ
うん、へこまなくてもいー。いー。

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

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

なんかめちゃくちゃ詳しい方々が集まってきてますね。
0342turbo type [email protected](藁NGNG
しつもーん。
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 ;)
要望が多ければそうする。
0343turbo type [email protected](藁NGNG
>>342
よくわからないけど
プロキシの問題だろうか。
http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page9.html

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


0359turbo type [email protected](藁NGNG
//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;
0360turbo type [email protected](藁NGNG
//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;
0361turbo type [email protected](藁NGNG
//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;
0362turbo type [email protected](藁NGNG
//ネット上のファイル情報を得る
//サーバーに依存する
//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;
0363turbo type [email protected](藁NGNG
//ファイルの作成日、サイズを得る
//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;
0364turbo type [email protected](藁NGNG
//ヘッダ情報を追加する
//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;
0365turbo type [email protected](藁NGNG
インデントミスったので、再掲

//ヘッダ情報を追加する
//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;
0366turbo type [email protected](藁NGNG
//インターネット接続が出来るかどうか調べる
//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;
0367turbo type [email protected](藁NGNG
ヲワリ。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0388turbo type [email protected](藁NGNG
あ、まだメソッドを呼ぶ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;
////////////////////////////////////////////////////////////
0389turbo type [email protected](藁NGNG
>>386ども。

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

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

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

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

>>391、どもアリガト
0394turbo type [email protected](藁NGNG
♪聞いてアロエリーナ ちょっと言いにくいんだけど
 聞いてアロエリーナ

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

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

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


0395turbo type D@もなヂNGNG
これがいいかも。
http://www.vector.co.jp/soft/win95/art/se169298.html
0396DaxNGNG
>>388
ナイス!
汎用関数ライブラリつくりましょっか?
0397119NGNG
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;
0398119NGNG
例によって中身のないマルチスレッダブル(??)HTTP・キャッシュ
統合ダウンロードクラスを書いてみた。
HotZonuも良いがダウンロード・キャッシュ・プロクシ等の
コード・設定があちこちに散らばるのは面倒なので、
データをTStringsかstreamに統一して、
ダウンローダを板・スレリストクラスから分離すべきだと思う。
あとModel, Viewも意識的に切り分けないとね。
なんていってると遅くて使い物にならなくなるかもしれないが...
0399フッサール少佐NGNG
ちょっとだけ更新しました。
http://www.geocities.co.jp/SiliconValley-Cupertino/1026/lzh/giko0222.lzh
0400ヒロユキ@ギコナビNGNG
>>398
>あとModel, Viewも意識的に切り分けないとね。
>なんていってると遅くて使い物にならなくなるかもしれないが...
結構、重要ですよね。
でも、ウィンドウズのTreeViewだとどうしてもTreeView内にデータが入るので
ここをどうするかが問題になりそうです。
せっかくモデルを作成しても、タコTreeViewのお陰で複雑になります。
TreeViewとモデルの間に一つ挟めばいいのかな?
VirtualTreeViewなんてモードがあればいいんだけど。
0401DaxNGNG
>>398
なるほど。
HotZonuもその形式に変更していきたいと思います。
なんか難しそだな。。。
0402DaxNGNG
>>400
TreeViewのDataにオブジェクトを入れるのはまだいいと思います。
ノードと板スレオブジェクトを関連付けるクラスがあっても
いいかもしれませんがなんか複雑になりそう、、
逆に板やすれのオブジェクトがノードを持っているのはちょっと好きくないです。
0403デフォルトの名無しさんNGNG
あんまりこってないのでテスト用の自家製のモナ AVIをアップしたよ。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaavi.lzh

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

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

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

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

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

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

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

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


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

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


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

>>414,TGifImageで作れるのかな?
0416turbo type D@monazillaNGNG
よっしゃ。
TWebBrowserでレス一覧まで見れるようになった!(遅いけど)

今日中にアプします。
0417ヒロユキ@ギコナビNGNG
>>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;
0418turbo type D@はみ出しプログラマ酔っ払いNGNG
> 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
0419turbo type D@はみ出しプログラマ酔っ払いNGNG
モナプローラ、アプしたよ。
うごくかな。
TWebBrowser使ってるからD5限定ね。

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

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

WinInetでの%実装…思い浮かんだぞっと。
差分ダウソと絡めて実装したいね。
0431turbo type DNGNG
なんか下がりまくってるし....
0432turbo type DNGNG
Delphiの弱点というか、
コンポーネントを継承して
そのコンポーネントの生成などを考えずに
IDE上でコーディングしようとすると
非常に面倒ですね。

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

このへん、どうにかにかならんもんかねぇ。
0434turbo type DNGNG
>>433、を、やっぱりそう思いますか。

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

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

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

あと、CreateParentedってのはなんですか?
VCLじゃないWindowにコントロールを載せる為の
特殊なCreateと考えていい?
0435turbo type DNGNG
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
ここをみた。

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

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

同じようなコードで実装するのでしょうか?
0438DaxNGNG
>>437
いや、スレ/レス取得はダウンローダと解析処理を分けようと思います。
ですので全然違うコードになると思います。
つーか板一覧も変わります。スマソ..
0439DaxNGNG
やっぱコレクションは不便ですかねー?
次回はギコナビみたいな TList 継承にしよー。
0440デフォルトの名無しさんNGNG
ホットゾヌのソース見て、飲んでたお茶ふきだしそうになった…。アブねぇ…。
0441デフォルトの名無しさんNGNG
動画つくりました!
今度は裏に別の顔があります。
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
0442DaxNGNG
>>440
やっぱ AA 張りきりすぎ?
それともロジックが変だったってこと!?
0443フッサール少佐NGNG
writeの正しい使い方がようやく分かった。
document.open('text/html', 'replace');
これが必要だったらしい。待て、次号。
0444119NGNG
Delphi以外の言語(特にスクリプト系)で参入しやすいように
一連のクラス郡をオートメーションサーバにしちゃうってのはどう?

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

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

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

>>446
クラスとクラスの間に貼ってあるリアルゾヌ(勝手に命名)の AA がお気に入りです。
0448turbo type DNGNG
>>443少佐・まってます。('w')ゞ

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

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

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


>>441
動画ないす!
モナプロラではUI上から動画を切り替えられるようにしておこうっと。
0449turbo type DNGNG
>>441さんの動画
なぜかTAnimeでは開けないの
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaavi.lzh
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaavi2.lzh
なぜだろう。
0450名無しさん@お腹いっぱい。NGNG
ActiveXコントロール/コントロールコンテナから
WordやExcelのドキュメントの書き込み禁止/許可を
させるにはどうしたよいのでしょうか?
0451名無しさん@お腹いっぱい。NGNG
スレまちがえました。すいません。
0452turbo type DNGNG
うまくいかん!、ぐう(x∀x)
0453turbo type DNGNG
Browserの進むと戻るって
どのように実装されてるのかな?
GoBackメソッドとかあるけど。
詳説キボーン

あとWebBrowserに関するテクニックを
知っている人は沢山教えてくださいな。
0454turbotypeD@モナぢらNGNG
かちゅーしゃのように
WebBroweserで開い後に自動的にスクロールする方法がわかんない。
0455デフォルトの名無しさんNGNG
番号にブックマーク(#1とか)を指定してそこに移動すればいいんじゃない?

CHtmlView クラス メンバ
http://www.microsoft.com/japan/developer/library/devprods/vs6/visualc/vcmfc/vcrefchtmlviewclassmembers.htm
0456DaxNGNG
>>454
かちゅーしゃでHTMLソースを見るとレスごとに
アンカーが設定してあります。
Navigate時にアンカー指定で表示しているんだと思います。
0457turbotypeD@モナぢらNGNG
そうか!あったまいい!
0458デフォルトの名無しさんNGNG
かちゅーしゃの「以前読んでいた位置」はこれ。
Documentにアクセスしているので、Navigateは(最初以外)してないと思うよ。
http://piza.2ch.net/test/read.cgi?nofirst=true&st=142&to=142&bbs=tech&key=974446449
その他、Elementはanchorに限らないけど、scrollIntoViewあたりがよろし。
0459DaxNGNG
>>458
おお!なるほど、確かに Navigateだとぎゅい〜んって動いちゃうよね。
0460turbo type [email protected](藁NGNG
なんかスレずいぶん落ちてるんだけど
みんな疲れてるの?
0461デフォルトの名無しさんNGNG
みんな会社でまじめに働いてるからです(藁
0462turbo type [email protected](藁NGNG
そうか!
まじめに働いていないのは俺だけか!(藁

じゃあ、今日も不真面目にGo!
0463turbo type [email protected](藁NGNG
不真面目なのはオレ一人なので気にせずカキコ
あと、>>449の問題とか教えてよ。

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

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

構造はこのままだけど

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

↓TNichBoardをAssignしてコピー

スレ一覧表示部分
TNichBoard
└TNichThread

↓TNichThreadをAssignしてコピー

レス一覧表示部分
TNichThread
└TNichResponse

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

という事でよろしく。
0464ななしくんNGNG
モナプロ〜ラ〜を勝手に改造して勝手にアップ

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

http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaplorer_r.lzh
0465turbo type [email protected](藁NGNG
わぉ(´∀`)
0466turbo type [email protected](藁NGNG
オレもアプじゃあー!
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaplorer010228.lzh

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

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

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

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

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

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

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

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

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

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

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

そしたら
TNichListを内部で保持しておいたらいいんでしょうか?
0471書記さんNGNG
モナプロ〜ラ〜のページ更新しましたー。
ワタクシもまじめに働いてないですよ。
0472turbo type D@モナヂラドットオルグ(ワラNGNG
あらま、本家とかついてる。うれしいでございます。

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

BCBでのやり方は某所で載っているね。
0475turbo type D@モナヂラドットオルグ(ワラNGNG
>>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を継承して使っているが
特に不具合は出ていない。デバッガをフルに使っていないからかな?
動的生成しているからかも。
0476デフォルトの名無しさんNGNG
勉強になります。
0477turbo type D@モナヂラドットオルグ(ワラNGNG
かちゅ〜しゃの作者さんも来てくれないかなあ。
ソース公開とかどうでもいいから。
0478デフォルトの名無しさんNGNG
むこうのかちゅしゃスレ妙に荒れてるからなあ。
直リンして、作者さんといっしょに、厨房がついてこなけりゃいいけど。
0479書記さんNGNG
かちゅーしゃスレでは、次回のバージョンアップが済んだら
参加したいな〜って感じの書き込みがあったよね。
ソースの公開はしなくても、ぜひ参加してほしいですよね。
0480turbotypeD@モナぢらNGNG
そうそう。
かちゅーしゃってば分割ダウソと直読みをやってるよね。

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

結構地道にコーディングしてたんろなー。
0481ふみもたたけし as 119NGNG
こんなのを作ってみた。
http://desktopgazou.hypermart.net/cgi/gazou/img20010301172929.jpg

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

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

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

2ch表示機能を取り込んだらソース・バイナリ公開するよ。
0482デフォルトの名無しさんNGNG
おおお、かちょええ!!
0483turbo type D@モナヂラドットオルグ(ワラNGNG
すげー。かっちょよすぎ。

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

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

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

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

すげー疲れた。
0487turbo type D@モナヂラドットオルグ(ワラNGNG
かちゅのように差分ダウソはしていないから遅いのは遅いですね。
欝だ............
0488かちゅ〜しゃ作者NGNG
はじめまして。
やっぱりプログラム板はいいなあ。
全部読めてないので、とりあえず今は足跡だけでお許しを。
0489turbo type D@モナヂラドットオルグ(ワラNGNG
こんにちは、プログラム板には久しぶりですかね。
よろしく、教えてくださいな。
0490ふみもたたけしNGNG
連番移動機能(index01.htm->index02.htm)というのを思いついた。
むちゃくちゃ便利であるような気もしたけど、エロサイトくらいにしか使えないか。

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

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

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

>マルチスレッドでどうしたらいいのかとか頭痛くなってきたよ。
よく考えたらマルチスレッドなんていらない気がしてきた。
サーバに負荷かけすぎるからね。
一括更新チェックができればそれで十分。
0491デフォルトの名無しさんNGNG
かちゅしゃ、作者ひきこみage?
0492ヒロユキ@ギコナビNGNG
DelphiのTWebBrowserって初期化してくれなくて、コピペがうまく
いかないので、一番下(end.の前)にでも以下の行を追加しよう。
usesにActiveXを忘れずに。

initialization
&nbsp;&nbsp;OleInitialize(nil);
finalization
&nbsp;&nbsp;OleUninitialize;
0493ヒロユキ@ギコナビNGNG
>>490
VS.NETのBata版入れたけど、16色の画像しかなかった。
やっぱ、リソースから抜き出すのが手軽なのかな(怒られる?)
0494デフォルトの名無しさんNGNG
Glyph画像集〜。DelphiTechより
http://community.borland.com/article/0,1410,25911,00.html
死ぬほどあります。ありすぎます。
0495ヒロユキ@ギコナビNGNG
>>449
>なぜかTAnimeでは開けないの
解決済みかもしれないけど。
アニメコントロールは、非圧縮のAVIじゃないとダメだったとおもう。
0496turbo type D@モナヂラドットオルグ(ワラNGNG
どもども。
>>492 ヒロユキ氏

それは何処に書けばいいのですか?
0497turbo type D@モナヂラドットオルグ(ワラNGNG
>>495 解決してないよ。
非圧縮のAVIに変換する方法がわからないもの。
0498ヒロユキ@ギコナビNGNG
>>496
ギコナビでは、メインフォームのユニットの一番下に書いています。

>>497
無圧縮のほかに、音声も入っているとダメだったと思う。
僕はコレ使ってます。(複数BMP -> AVI)
http://www.vector.co.jp/soft/win95/art/se056311.html
0499ヒロユキ@ギコナビNGNG
>>496
あっ、どっかのメソッドに書くのではないです。
メインフォームのユニットの一番下の「end.」の直前に書けばいいと思います。
0500フッサール少佐NGNG
最近は仕事が忙しくて更新もままならないんですけど、更新してみました。
インデックスはまだまだ構想中。意外と難しい。
http://www.geocities.co.jp/SiliconValley-Cupertino/1026/lzh/giko0303.lzh
0501デフォルトの名無しさんNGNG
皆さんコード補完にどんなものを登録していますか?
便利そうなのがあったら教えてください。

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

[unit | unitの新規作成]
unit |;
interface
uses
Windows, Classes, SysUtils;
implementation
end.
0502デフォルトの名無しさんNGNG
スレ違い。ごめんなさい。
お詫びAAのコメントをまとめてみました

[aa_unit_header | ユニットヘッダ の書き方]
(*
//  ∧  ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
// (´∀`)< |のソースだモナー
// (    ) \________________________
//  | | |
// (__)_)
履歴
//*)
[aa_func_header | 関数ヘッダの書き方/アロエリーナ風]
////////////////////////////////////////////////////////////
{// 名前:|
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ
ココカラノコードハ:
クワシイセツメイハ:
インスウハ:
コウシン日ワ:  2001/00/00
ホカニ逝ットクコトハ ナシ
聞いてくれてありがと アロエリーナ♪
\________________/
          /
         ∧_∧
   Ψ    (∀・ )
   □    (∩∩ノ)
// ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ }
[aa_func_header_mona|関数ヘッダの書き方/モナー風]
//
//  ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
// (´∀`)< |
// (    ) \________________________
//  | | |
// (__)_)
//
0503デフォルトの名無しさんNGNG
>>502
最高にお節介だが、引数はインスウではなくヒキスウと呼ぶんでは。
0504デフォルトの名無しさんNGNG
>>503
わざとでは?(藁
0505デフォルトの名無しさんNGNG
なんでも隠語の2ちゃんは♪いつでもいいネタさがしてる♪
0506turbo type D@モナヂラドットオルグ(ワラNGNG
眠い。
0507デフォルトの名無しさんNGNG
バイナリも置いてくれよん。
Delphi持ってないよん。
0508turbo type D@モナヂラドットオルグ(ワラNGNG
どなたかEZIPやUPXのexe圧縮(と呼ぶのか?)
かけておいてくださらないでしょうか。
0509turbo type D@モナヂラドットオルグ(ワラNGNG
>>498
だって、圧縮AVIをBMPに展開する方法がそもそもわからない。
....手作業でキャプチャするのはいやだよ。つらいよ。なくよ。
0510デフォルトの名無しさんNGNG
>>509
AviUtlあたりで、AVIを読み込んで、書き出すときに無圧縮にすれば
良いと思うけど。
0511SAGENGNG
AVI って IrfanView でバラせませんでしたっけか。>509
0512turbo type D@モナヂラドットオルグ(ワラNGNG
>>511
ありがとう。
0513デフォルトの名無しさんNGNG
見圧縮のAVIアップしました。
さすがにサイズ大きいです。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monagiko_avi.lzh
0514書記さんNGNG
Delphi持ってない人の為にバイナリアップしました。

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

Monaplorer
http://www.geocities.co.jp/SiliconValley-Oakland/9028/bin/monaplorer.lzh
0515フッサール少佐NGNG
>>508
圧縮実行ファイルを作るならここらへんかな
http://jonathanclark.com/ezip/
http://www.entechtaiwan.com/aspack.htm

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

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

0517DaxNGNG
Hotzonuあぷしました。
まだHTTPかキャッシュからファイルを取ってくるキノーしかないです。
スレッド対応にはしてみたんですがメモリリーキーです。
モナプロラの共通関数ぱくりまくってます。
http://www.geocities.co.jp/SiliconVallery-Oakland/9028/hotzonu0306.lzh
0518turbo type D@モナヂラドットオルグ(ワラNGNG
バンバンパクってくらさい

ところで別スレのDelphiLifeゲムを
アプしたいのですが
よい2ch利用可能アプ板しりませんか?
monazilla.orgにアプするのも筋違いだし
アヤシそうな所にアプしても悪いし。
0519DaxNGNG
URL、うそっぱちでした。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/hotzonu0306.lzh
0520デフォルトの名無しさんNGNG
>>518
> よい2ch利用可能アプ板しりませんか?
http://doripoke2.port5.com/cgi-bin/source.cgi
ここでどお?
あとはドル猫さんの
http://green.nttec.com/tech/
とか。
0521turbo type D@モナヂラドットオルグ(ワラNGNG
>>520サンクス。

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

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

オレにそんなスキルがあるのかどうかドキドキしてますが
力゙ ソ 八゙ ッ 〒 ミ マ フ、
0522デフォルトの名無しさんNGNG
turbo type D さんって何歳?
0523デフォルトの名無しさんNGNG
知ってどうする?
0524ふみもたたけしNGNG
>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;
の方がシンプル。継承使うとまずいのかな?
0525デフォルトの名無しさんNGNG
とりあえず2ちゃんねるの総通信時間、総ダウンロード文字数、
総書き込み回数・文字数をバージョン情報orスプラッシュで
ユーザーに見せつける機能は必須でしょう(藁
0526デフォルトの名無しさんNGNG
>>525
いいねそれ(藁
0527turbo type D@モナヂラドットオルグ(ワラNGNG
いくつか聞かれるとは...何の意図があるのだろう。
なんか怖いよ。
もしかして
「精神年齢低そー」とか思われてる?(TДT)
0528デフォルトの名無しさんNGNG
>>527
太った男性は、好きですか?
とか聞かれるよりマシ(;´Д`)
0529turbo type D@モナヂラドットオルグ(ワラNGNG
>>528
嫌すぎ!(;´Д`)
チンコ萎える
0530デフォルトの名無しさんNGNG
で、実際のところ何歳?
0531デフォルトの名無しさんNGNG
わーい、バイナリアップされてるー。
これで参加できるぞー。
使うだけだけどー。
0532turbo type D@モナヂラドットオルグ(ワラNGNG
>>530
何歳がいいですか?

この際75歳って事にでもしましょうか。(藁
0533turbo type D@モナヂラドットオルグ(ワラNGNG
75歳じゃチンコ萎える感覚もわからんだろうな。
いや、そんな話どうでもいいよ。全く!

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

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

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


あと、

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

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

0535turbo type D@モナヂラドットオルグ(ワラNGNG
>当然だが、GUIのメッセージ処理スレッドとダウンロードスレッドは別。

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

でも何とかなるかも。
0536デフォルトの名無しさんNGNG
スレッドは面倒だぞ。
データの整合性が乱れないように気をつけないと。
0537DaxNGNG
>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継承がスマートですね。
それから処理中断をどうやって実装しようか悩んでます。
0538turbo type D@モナヂラドットオルグ(ワラNGNG
>>536
うーん、そうだよね。
データの整合性という点では
スレ一覧でTNichBoardという1データに
リスト形式でTNichThreadデータを複数所有させていて

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

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

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

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

Dax氏の言うように中断処理も難しいぜ。
0539デフォルトの名無しさんNGNG
>>538
スレデータも板データもリファレンスカウンタで管理すれば?
0540turbo type D@モナヂラドットオルグ(ワラNGNG
>>539
それ知らない。どうやるの?

Max関数って使ってよい?
0541デフォルトの名無しさんNGNG
>>540
Mathに含まれてるやつやね。
MonaUtilsに含ませとけばどうでせう。
http://green.jbbs.net/computer/bbs/read.cgi?BBS=479&KEY=983891233&END=100
0542turbo type D@モナヂラドットオルグ(ワラNGNG
書記さん、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;
0543turbo type D@モナヂラドットオルグ(ワラNGNG
テスト
0544turbo type D@モナヂラドットオルグ(ワラNGNG
スマソ差分ダウソテスト
0545turbo type D@モナヂラドットオルグ(ワラNGNG
>>540-541
Integerだけでいいので
よろしくたのみま

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

Pascalにもポインタはあったと思うのでたぶんできると思う。
0547turbo type D@モナヂラドットオルグ(ワラNGNG
>>542 サンクスコ

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

俺が知らんだけ?常識?

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

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

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

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

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

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

メモリ効率化よりも
きちんと動作するものを作らないといかんかなと。
0553turbo type DNGNG
スンマソン頼みがありまする。

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

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


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

>>555
d(・∀・)イィ
0557turbotypeD@モナぢらNGNG
キコナビα010コンパイル成功。

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

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

IEなどはプロキシ使用しないになってるんだけど。
ギコナビでも当然同様に設定している。
0560ななしくんNGNG
本家すごい勢いだネ。
忙しくってついていけないよ。(゚ε゚ )トホホ・・
0561デフォルトの名無しさんNGNG
Monaplorer,
bbstable.htmlも配布してぇ〜
0562デフォルトの名無しさんNGNG
>>560プロラRさんですか?
なにせ、仕事してないからね。

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

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

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

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

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

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

時間オッパイいや、イッパイある
Del厨学生なんかは参加してないの?
仕事人ばかりなのかな。
0563turbo type DNGNG
>>562
名前忘れてた。
0564>562NGNG
>誰か、就職先斡旋してくんない?(藁
履歴書にこのスレとmonazilla.org(藁のURLを
書いとけば一発で (以下略
0565デフォルトの名無しさんNGNG
確かに一発(略
0566turbo type DNGNG
>>564
一発で落ちるんだろ。。それやだ。(TДT)ゴルァ
0567デフォルトの名無しさんNGNG
>一発で落ちるんだろ
そんなことないんじゃない?

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

ちゃんとしたものを仕上げれば、
履歴書に書くことがプラスに働くと思うんだけど...
0568turbo type DNGNG
ほんとかな。まあいいや。

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

普通の
ListViewやListBoxのスクロルバ-
なのかな?
0569デフォルトの名無しさんNGNG
>>568
最近のWindowsについたコントロールの機能と思われ。
自力でスクロールバー実装してない限りは、つくと思われ。
0570569NGNG
あ、どうでもいいが、Delphiのエディタのスクロールバーだとでないね・・・。なぜ。
0571turbo type DNGNG
さんクスコ>>569
独自実装じゃない?

エディタとかでも出ないよ。
0572デフォルトの名無しさんNGNG
どこのスクロールバー?
0573かちゅ〜しゃ作者NGNG
どこのことでしょ?
少なくとも、独自実装とか難しいことはしてません。
0574かちゅ〜しゃ作者NGNG
ちなみにブラウザコンポはTEmbeddedWb、
リストコンポはTExtListViewを使ってます。
海外フリーコンポですが使い慣れているので。
0575フッサール少佐NGNG
ちょっとダケ更新。
なんか段々コードがダサダサになってきたような…。鬱だ。
0576turbo type DNGNG
>>573
ありゃま、>>568は私の誤解でした
Win2000で標準コントロールなら自動で付属するようです。
独自実装はDelphiIDEの話.

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

かちゅしゃはすごいね。がんがん目指してもらいやすわ。
0577turbo type DNGNG
>>576
目指さしてもらいやすの意味
最近書き込みすらまともに出来ないほど壊れてるのか?俺は。
0578turbo type DNGNG
マルチスレッドのコーディングについて質問です。
現在2つのやり方について悩んでいます。

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

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

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

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

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

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

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

デスマーチの苦行とかなら嫌だけどね。
0588turbo type DNGNG
やっとスレッドを理解できた。
オレTerminatedとSuspendedの意味が混じって混乱してた。

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

さあ、589さん挑戦だ!
0595DaxNGNG
Hotzonuアプしました。
Indy用クラスを追加しました。Indy使いやすいですねー。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/hotzonu0315.lzh
0596turbo type DNGNG
聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ

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

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

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

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

0601turbotypeD@モナぢらNGNG
>>書記さん
お世話になっておりまする。

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

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

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

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

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

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

次はダウンロード部分をHotzonuに替えるつもり。
0610turbo type DNGNG
モナプロラもexeアプしたいですが、
してもいいっすか?
0611デフォルトの名無しさんNGNG
つーか、exeないと評価でけへん
0612turbo type DNGNG
まだ、βというにも早いかもしれませんが、
モナプローラexeアプしました。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaplorer010321exe.lzh
バイト数がデカすぎ!書記さんごめんよ。
0613デフォルトの名無しさんNGNG
>>612 どーでもよいが、
cathe→cacheだと思う
0614turbo type DNGNG
オレも前々からおかしいと思っていたんだよ。(藁
0615デフォルトの名無しさんNGNG
わざとかと思ってた
0616turbotypeD@モナぢらNGNG
直しましたよ。ごめんなさい。
リリースはまた今度。
0617turbo type DNGNG
monaplorerのexe,
すばらしい技術革新によりExeのファイルサイズが
なんと!1/7の大きさになりました(USO800にモトズク当社比

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

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

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

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

名づけて「インテリフォーム」(藁
0621turbo type DNGNG
>>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を含めたパッケージ付属キボーン。
ツールバー&ショートカットカスタマイズまで実装とは驚いた。
0622デフォルトの名無しさんNGNG
面白い。Form内にForm入れてるんすね。
Delphi5のFrameみたいな感覚なんすかね。
0623デフォルトの名無しさんNGNG
こうすりゃスクロールボックスの中に出来て偽MDIが実現できるよ。
ドッキングはよーわからんけど。
 A := TForm1.Create(Self);
 A.Parent := ScrollBox1;
 A.Show;
0624turbo type DNGNG
そんなコードまでkylixって移植できるのだろうか。
0625DaxNGNG
ま、あと、数日すりゃベータが届くから分かるね。>>624
ホットゾヌ Indy 版が動くかどうかも心配、
Kylixが出ればLinux用2ちゃんブラウザも増えるだろうね。
0626DaxNGNG
Hotzonuアプ
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/hotzonu0324.lzh
Indyユニットはポストできるようにしました。
WinInetはまだ。よーわからんです。。。
0627DaxNGNG
ホットゾヌ・『ブラウザ』 あぷ

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

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

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

ということで、例外やメモリリークは出ない事を祈りつつ....
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;を<>にするようにした。

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

次はレスフィルタをつける予定。Hotzonu対応はもうちょっと先になりそう。
0637turbo type DNGNG
そろそろかちゅ〜しゃもVerupするみたいですね。

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

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

次回からソース梱包にしておきます。
0640turbo type DNGNG
えっと、下がりまくっているのでage

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

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

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

0642デフォルトの名無しさんNGNG
>641
かちゅの旧版はread.cgiを読んでたが、新版はdatを直読みしてる。

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

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

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

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

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

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

Kylixモナヂラ、ぜひつくりたいね、
0647turbo type DNGNG
usesの
SHDocVw_TLB
ってのはどこにあるのでしょうか?
0648デフォルトの名無しさんNGNG
TLBって付いてるからタイプライブラリ取り込みじゃないの?
Microsoft internet Controls (Vresion ?.?)だと思う。
0649turbo type DNGNG
ホットゾヌブラウザで
SHDocVw_TLB は必要ないようなのですが、ソースに書いているのは
余分かな?
0650DaxNGNG
>>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
0651デフォルトの名無しさんNGNG
>>645
ここにいらっしゃる方は情報通ですから、既にご存じであろうとは思いますが、
Windows VCL で使われている ICS/Internet Component Suite の Kylix 版があります。

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

0652DaxNGNG
>>651
おお!ICSって言ったらギコナビが使ってるコンポですね。
Kylix版、あったんだ。
とにかく Kylixはもっとコンポを充実させてほしいね。
0653turbo type DNGNG
オレはここ数日忙しくて慌てふためいていたのだけど。。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

面白いな、こういうのも。
0675ヒロユキ@ギコナビNGNG
>>672
>愚痴りな.愚痴りな.
こんなところで愚痴ってすみません。

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

こぱげん探してみるよ。

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

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

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

>面白いな、こういうのも。
凄いね。monazillaも頑張って、どっかに取り上げられるくらいになりたいね。
0676turbo type DNGNG
すでに、monaploreのソースの大半を忘却してしまた...ワラ

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

ですです。

雑談。
monaplorerはダウソ部分にはこだわったけど
ブラウザ部分のこだわりが弱すぎ、ファイルキャッシュを
呼んでからそれをブラウザで表示とはいただけないので
ブラウザ部分はメモリ直で読み込むようにしてみる予定。
0677デフォルトの名無しさんNGNG
http://www12.tok2.com/home/have/monazilla_banner2.bmp
monazilla88*3バナー
0678書記さんNGNG
>>677
イイ!!使わさせていただきます!
0679デフォルトの名無しさんNGNG
なんで2chのCGIスクリプトって板ごとにまちまちで、挙動が変なんだろ。
要望出して統一してもらうことはできないのかな。
まあIDやらなにやらで完全な統一はできないだろうけど、
少なくとも同じ機能は同じ書式にして欲しいね。
0680デフォルトの名無しさんNGNG
だれか、Emacsで2ch読み書きできるやつもってませんか?
0681デフォルトの名無しさんNGNG
>>680
http://www.google.com/search?q=Emacs+2ch&hl=ja&lr=lang_ja
Googleさんがもってますよ。
0682>680NGNG
UNIX板にあったよ。emacs-lispで書いてあった筈。
0683デフォルトの名無しさんNGNG
>>679
確かに。しかも小さい変更がたまにあるので
そのつどアップデートしなきゃいけない・・・
でも一番やっかいなのはあぼーんかな。
統一に関しては過去の DAT もあるから無理でしょうね。
0684デフォルトの名無しさんNGNG
>>682
これかな?
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=976032951&ls=100
0685turbo type DNGNG
プライベートでつらいこと続きで
憤死しそうです。

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

(藁.....ってる余裕はまだあるけれど。
0686デフォルトの名無しさんNGNG
>>685
そんな時は、学歴板でも荒らして、憂さを晴らしましょう(藁
0687turbo type DNGNG
そうします。では逝ってまいります。
0688デフォルトの名無しさんNGNG
0689デフォルトの名無しさんNGNG
http://www.geocities.co.jp/SiliconValley-Oakland/9028/main.html

広告消すのは良くないですよ
0690デフォルトの名無しさんNGNG
>>689
チクラレているようです
http://mentai.2ch.net/test/read.cgi?bbs=hp&key=987749054&st=381
0691デフォルトの名無しさんNGNG
ん?こっちだと広告出るけど駄目なの?
http://www.geocities.co.jp/SiliconValley-Oakland/9028/
0692デフォルトの名無しさんNGNG
なんだ、フレームの中のページのURLが広まっちゃっただけじゃん。
0693デフォルトの名無しさんNGNG
>>691
それはページ下部に広告があるじゃないですか
ジオの規約ではページ最上部に表示されていないとダメなんです。
0694693NGNG
ソース書くの忘れた
http://help.yahoo.co.jp/help/jp/geo/geoguide/geoguide-09.html
0695書記さんNGNG
どもども、いやー正直、モナヂラサイト開設当初は
一時的なもののつもりだったんですけどね。
で、そろそろ新しいとこへ引越しする予定です。
決まり次第ここでお知らせします。では
0696デフォルトの名無しさんNGNG
ちょっとスレ違いかもしれませんのでsageで。

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

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

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

monazillaMLで会話するのもいいけど
こっちがsagaりすぎてるとまずいっすね。
0704turbo type DNGNG
あれ?カキコしっぱいかな。
0705DaxNGNG
そうですね。
つーわけで、2ちゃんねる以外の掲示板にも対応した
クラスをつくろー!ってのはどうでしょう。
一応、JBBS対応ホットゾヌブラウザをつくってんですが
できればもうちょっとかっこよくしたい・・・

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

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

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

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

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

勝手にこちらからリンク貼らせてもらってます...すいません
0715書記さんNGNG
>>712
夜勤さん、メールありがとうございます。
今後もよろしくおねがいします。

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

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

みなさん、OSや言語は違いますがモナヂラに参加しませんか?
#参加したからってなんか特典があるわけじゃないけど・・・
0716デフォルトの名無しさんNGNG
age
0717デフォルトの名無しさんNGNG
age
0718monazilla.orgNGNG
http://www.internic.net/cgi-bin/whois?whois_nic=monazilla.org&type=domain
0719ふみもたたけしNGNG
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を眺めててください。
0720DaxNGNG
なんかすご! >>719

#コンパイル通らないと思ったら exeフォルダと
#dcuフォルダつくってなかった(焦汗。
0721デフォルトの名無しさんNGNG
さがりすぎなので、あげます
0722デフォルトの名無しさんNGNG
さげるのくせになってる・・・(´д`;)
0723DaxNGNG
ホットゾヌ 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以上で動作します。
0724DaxNGNG
あ、スクリーンショットはこれです。
http://members.jcom.home.ne.jp/monazilla/hotzonu/hzb0527.png
0725ふみもたたけしNGNG
DUnitのチュートリアルを書いた。
http://members.jcom.home.ne.jp/monazilla/shortcuts/DUnit/index.htm
0726win板住人NGNG
ゾヌ、の書き込みテンプレートはおもしろいなー
0727かちゅ〜しゃから乗り換えたくなったNGNG
めっちゃ気に入りました!
いろいろと欲しい機能はありますが、
期待して待ってます。
お気に入りを収集中・・・。
0728DaxNGNG
ありがとうございます、>ダウンロードしてくれた方々
今のところβ版なので今後仕様が変わったりする可能性もありますので
他のツールと併用していただくことをお勧めします、
それから言い忘れた件。
・更新チェックはお気に入り内のフォルダを選択して実行してください。
 そのフォルダ直下のスレッドをチェックします。
・HotzonuのTempフォルダ内のファイルを削除するロジック入れるの忘れていました(おいおい
 ファイルがいっぱいたまるので定期的に削除してください。。
・お気に入りへの追加方法はスレッド一覧からお気に入りへドロップしてください。
・板やスレッドはダブルクリックでダウンロードを開始します。
 かちゅ〜しゃのようにクリックじゃないので注意。
・まちBBS、JBBS、megabbsでは書き込みができません。
・まちBBS、JBBS、megabbsのスレッドは更新チェックができません。
・JBBSなどのBBSを追加する場合は「ファイル」−「BBSの追加」を選んで下さい。
 ウィザードが起動します。
・BBSの切り替えはボード一覧の上にある「▼2ちゃんねる」って書いてあるボタンを
 クリックしてください。まちBBS、megabbs、その他のBBSが選択できます。
0729書記さんNGNG
リリースラッシュ!
http://members.jcom.home.ne.jp/monazilla/
ghanyanさん作の『モナ板deぎこはにゃ〜ん』 テクノロジー・プレビュー版リリースです。
IE 5.5を入れても、AAのずれが起こらない2chモナー板ブラウザです。
0730デフォルトの名無しさんNGNG
>>728
お疲れ様です。
バグ?報告
レスが1件しかないスレを表示しもう一度読み直すと1件目と同じ記事が
2件目に表示されました。再起動しても同じでした。たぶんログ削除すれば直るんでしょう。
やってないけど。。
要望:書き込みウィンドウが本体をアクティブ状態にしたときにイチイチ小さくなるのがうざいです。
0731ぞぬぞぬNGNG
98+IE4環境でホットゾヌ1.0β1を使用してますが実に快適です。
たまに書きこみの時に落ちますが、これは当方の環境が原因と思われ。
0732DaxNGNG
>>730
しまった、なおそうと思って忘れてました。
報告ありがとうございます!
それから書き込みウィンドウに関しては私も超うざいと思ってました。
んで強引な方法を思いついたので次回リリースはちょっとましになります。

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

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

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

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

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

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

ところでホットゾヌ用別スレ立てたほうがいいのかな?
0740デフォルトの名無しさんNGNG
>>739
>ところでホットゾヌ用別スレ立てたほうがいいのかな?
Yes! May be!
0741733NGNG
>>739
液晶ディスプレイを衝動買いしてしまったのです。
>縦3列表示は実装できそうです。
気長に待ちます。頑張って下さい。
0742DaxNGNG
ホットゾヌ 1.0 β 1.1 です。

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

ダウンロードはこちら。
http://www30.freeweb.ne.jp/computer/hotzonu/
※β1.0をお持ちの方は「β1.0からのアップグレード」をダウンロードしてください。

ホットゾヌスレッドはギコナビと同じ批判要望にたてました。
バグ報告などはそちらへお願いします。
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=991408877&ls=50
0743733NGNG
>>742
お疲れ様です。激烈に使いやすくなりました。
縦3列になって、板、スレの一覧が非常に見やすいです。
これから色々触ってみます。
0744デフォルトの名無しさんNGNG
     てすと
0745744NGNG
すみません。
まちがえてこんなところでtestしてしまった・・・
0746デフォルトの名無しさんNGNG
全然関係ないけど、monazilla.orgのページのhtmlソース異様に改行多いんだけど、
あれって、PageMillの機能?
0747書記さんNGNG
>>746
PageMillの機能(?)かなー。、
一応、GoLiveも買ったんだけど使いにくくて
今でも PageMill 使ってます。
そー言えば久々にGeoの方見たらバナーが上になってた、
0748デフォルトの名無しさんNGNG
あげ
0749DaxNGNG
ホットゾヌライブラリの Kylix版をアプしました。
2ちゃんねる、まちBBS、JBBS、megabbs用のクラスです。
ボード一覧、スレ一覧、レス取得サンプルつきです。
http://www30.freeweb.ne.jp/computer/hotzonu/download/hotzonu.tar.gz
0750turbo type DNGNG
うーーーん
PageMillやGoLive....
どこかで誰かが使っていたような(藁

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

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

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

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

ゴメン、オレ汚れちゃった....
0754委員長NGNG
>>753
早速のレスありがとうございます。

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

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

ちなみにHTTPは現在の所、NMHTTPを利用してますが、Indyに切り替え
ようかと思っています。
Wininetでも良かったのですが、とりあえずプロトタイプなんで手抜きです。
細かいコンポなどの構成は、後日ご紹介しますねん。
(いらんか?)
0755デフォルトの名無しさんNGNG
>>753
おっぱいていわせたいんだろ?
俺も一度騙された事あるよ
0756デフォルトの名無しさんNGNG
おっぱいいっぱい
0757デフォルトの名無しさんNGNG
おっぱおおっぱお
0758デフォルトの名無しさんNGNG
ちんこちんこ
0759デフォルトの名無しさんNGNG
useagentをMonazillaにしてみたよage
0760デフォルトの名無しさんNGNG
どっかの板のどっかのスレで見たけど、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/
両方あって、ファイル名も重複してたりする。
0761委員長NGNG
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;
0762委員長NGNG
Delphi の TWebBrowser では出来るけど、BCB の TCppWebBrowser
では出来ないなんて事はないよね?
0763ghNGNG
漏れは生っぽい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);
0764委員長NGNG
>>763
これはmshtml.h以外にincludeが必要な物があるんですかね。
CComPtrが未定義だとエラーが返ってきちゃいます。
TCppWebBrowserをどこに入れるのかも判らないし。
厨房で申し訳ないっすが、ペッとコピペでOKなヤツを恵んで
下さいな。 > どなたか
0765デフォルトの名無しさんNGNG
タイプライブラリを取りこめば、
IHTMLDocument2Ptr doc; doc = browser->Document;
IHTMLElement2Ptr body = doc->body;
doc->parentWindow->scroll(0, body->scrollTop + 100);
で出来るんじゃないかね。
MSHTML_TLB.hの中でutilcls.hやvclatl.hをincludeしてる
0766委員長NGNG
>>765
タイプライブラリを取り込むというのは
#import <mshtml.tlb>
を追加すればよいということですか?
#include <mshtml.h> ではIHTMLDocument2Ptr が未定義と出るので
Webで検索してみて、#import <mshtml.tlb> を見つけたのですが。
ただこれでコンパイルすると何故かBCBが落ちてしまいます(涙)。
0767デフォルトの名無しさんNGNG
マニュアル読めよ・・・
だいたい、スレ違いだ。
http://piza.2ch.net/test/read.cgi?bbs=tech&key=982930049
http://piza.2ch.net/test/read.cgi?bbs=tech&key=969458279
0768デフォルトの名無しさんNGNG
>>767
「マニュアル読め」
便利だよな、何の知識がなくても言えるから。
リンク張る前に教えてやれよ(藁
0769委員長NGNG
すません。
TCppWebBrowser はマニュアル・ヘルプ共に情報が少ないんで、レスが
付けば良い資料になると思ったんすけどね。
とりあえず、レス番号のブックマークへジャンプする方法で対応して
おきます。
気長に口開けて待ってますんで、いい情報があればよろぴく。
0770委員長NGNG
忘れてた、一応私の構成を。

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

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

リンク先のスレにオートメーションコントローラの触り方とかもあったはず。
Delphi風のプロパティを使ったアクセスをあきらめてATLにするなら、
山ほど資料は転がってるしな。
0772デフォルトの名無しさんNGNG
>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コントロールのコードをそのまま移植したいなら、
タイプライブラリから作られたヘッダを読まなければ
たぶん、何も出来ないよ。
0773デフォルトの名無しさんNGNG
>>767
「>>763や>>765に書いてある」
見えないか?
0774デフォルトの名無しさんNGNG
あげ
0775デフォルトの名無しさんNGNG
モナーフォント 2.0 リリース。よろしく。
http://members.tripod.co.jp/s42335/mona/
0776jtelazNGNG
最近フォーマットが微妙に変わった subject.txt なんですが、
現状は以下の4通りが混在する可能性があるという理解で良いでしょうか?
(実際に混在するのは1と2だけだと思いますが)

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

他にもあったりするんでしょうか?
0777DaxNGNG
>>776
その4種類だと思います。
>>276 の3種類に dat<>,,,(xxx) が追加です。
0778デフォルトの名無しさんNGNG
さがりすぎー。
0779デフォルトの名無しさんNGNG
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://teri.2ch.net/accuse/dat/972022159.dat
長いですが、211と213に'\0'があり、さらに文章が続いています。

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

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

変換されたログで余分な空白の入っているものがあるかも。
0782デフォルトの名無しさんNGNG
>>779
うう、すばらしい解説です〜
ぜひモナジラ資料室に保管して頂きたい内容です。
0783書記さんNGNG
うーん、すばらしい!どうもありがとうございます、>>779
資料室にいれておきました。
0784デフォルトの名無しさんNGNG
かちゅーしゃとホットゾヌがverupしてるよ。
ってここに書けばいいの?
0785名称未設定NGNG
誰か書込み機能が使えなくなったバグの原因を指摘して下さい
http://teri.2ch.net/test/read.cgi?bbs=mac&key=988273635&ls=50
「MacOSX」+「ObjectiveC」+「Mac板の住人」の積集合だけじゃ原因が分からない(鬱だ
0786デフォルトの名無しさんNGNG
とりあえず、どんなRequestを送って、どんなエラーがでたのかを、
示した方がいいよ。(つーか、そうでないと、何ともいえんよ‥‥)
0787デフォルトの名無しさんNGNG
>>785
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=993974693&st=23&to=34
の辺の事かな?
0788785NGNG
お騒がせしました
解決しました。refererを指定し忘れていたのが原因でした
0789デフォルトの名無しさんNGNG
あげ
0790デフォルトの名無しさんNGNG
「したらば」も読めるブラウザって誰か作ってない?
http://www.shitaraba.com/
0791デフォルトの名無しさんNGNG
「かちゅ〜しゃ Version2.101」でてます
0792デフォルトの名無しさんNGNG
かちゅーしゃが「ふぁいるがみつかんない」ってでてくるよぉ
0793デフォルトの名無しさんNGNG
>>792
それはかちゅーしゃスレで言いなさいな
0794デフォルトの名無しさんNGNG
「かちゅーしゃ Version2.102」でてます。報告まで
0795デフォルトの名無しさんNGNG
ホットゾヌ Verup!!
0796あげまんNGNG
あげ
0797( ´∀`)さんNGNG
あまり、オプソスは知らないが、GIFのボタンは造れる
それを、オプソス用に変えるのはそちらの仕事
0798デフォルトの名無しさんNGNG
?
0799デフォルトの名無しさんNGNG
>>790
ギコTK
0800デフォルトの名無しさんNGNG
>>797
ボタンやアイコンの職人さんかな?
デザインが苦手って人も多そうなので、歓迎されると思う
0801デフォルトの名無しさんNGNG
>>800
それならかなり歓迎されそうだな。
coolでわかりやすいアイコンってなかなかムズイからねー。
やっぱ桶屋は桶屋にまかせとけってか。
0802ライトNGNG
あるサイトで「似槍」っていうツールが書いてあったんですが、
デンコじゃないみたいなんです。
思い当たりますか?分かる方いらっしゃいましたら
教えてください。
0803デフォルトの名無しさんNGNG
誤爆ですか
0804ライトNGNG
『誤爆』というのはなんでしょうか?
0805ライトNGNG
すいません、書く場所間違えました
0806デフォルトの名無しさんNGNG
>804
802が意味不明なんで書き込むスレッド間違えてないか?ってこと
0807デフォルトの名無しさんNGNG
>>804
誤爆ですか -> 書き込むスレを間違えましたか?
0808デフォルトの名無しさんNGNG
ギコtkの紹介はしないんでしょうか?
http://corn.2ch.net/test/read.cgi?bbs=php&key=991966646&ls=100
0809デフォルトの名無しさんNGNG
自爆、誘爆、御用心
0810デフォルトの名無しさんNGNG
http://www.gooside.com/perltk/
0811デフォルトの名無しさんNGNG
>>808
perlか。よくやるなー
0812ヒロユキ@ギコナビNGNG
モナヂラBBSが見れないよ。
0813書記さんNGNG
>>812
JBBS がまだ復旧してないみたいですね、
以下のスレッドを参考にしてリンクを
IP直にしてみたらいけたのでトップページも変更しておきました。

■さて、JBBSが止まる季節がやってきました。
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=995743926&ls=100
0814書記さんNGNG
あれれ、モナヂラBBS、
よく見ると「雑談」の書き込みがちょっと減ってるよーー;;
0815デフォルトの名無しさんNGNG
age
0816デフォルトの名無しさんNGNG
age
0817デフォルトの名無しさんNGNG
っっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっp
0818デフォルトの名無しさんNGNG
ホットゾヌのソースをkylixで読み込んでみたけど「コンポーネントがたらねぇよ」
って出た
0819DaxNGNG
UI 部分(Main.pas等) は WebBrowser や CoolBar などの
VCL にしかないコンポーネントを使っているので Kylix では開けません。
ダウンロード/解析部分 (Hotzonu.pas) だけならいけるはずです。
0820デフォルトの名無しさんNGNG
2ch電光掲示板(仮)
http://yasai.2ch.net/test/read.cgi?bbs=win&key=997460979
0821BCB+Delphi+gccつかいNGNG
ほっとぞぬ for Linuxのおてつだいしたいのだが
Kylix OpenEditionでいけるか?
いけるならKylixダウソしてみるが。

まえどっかでLinux版ののScreenShotみたような気がしたが
どこだっけか・・・
0822デフォルトの名無しさんNGNG
Delphiをでるふぃーって読んでた俺ってなんでしょう?
0823デフォルトの名無しさんNGNG
>>822
大丈夫、オレもだ
http://www.google.com/search?hl=ja&safe=off&q=%83f%83%8B%83t%83B+%83f%83%8B%83t%83@%83C+Delphi&lr=
0824デフォルトの名無しさんNGNG
昔、デルフォイかと思ってたけど多少安心した。
http://www.google.com/search?hl=ja&safe=off&q=%83f%83%8B%83t%83H%83C+%83f%83%8B%83t%83@%83C+Delphi&lr=
0825DaxNGNG
>>821
うわ!うれしー。
Kylix Personal に Indyをインストールすれば
UI 以外はコンパイルできると思います。
hzbフォルダにあるのが UI 関係のファイルで、
その上の hotzonuフォルダにあるのがダウンロード系のファイルです。

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

>>841
Me too.
0849デフォルトの名無しさん01/08/28 09:07ID:FO4gzHSQ
>>848
monatella(モナーテラ)プロジェクトついに始動か!?(w
0850デフォルトの名無しさん01/08/30 00:26ID:WbBDfN0A
グヌテラ見たいに遅い2chなんて俺イヤだよぅ
0851Dax01/08/31 08:28ID: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
0852Dax01/08/31 08:30ID: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;
0853Dax01/08/31 08:32ID: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;
0854デフォルトの名無しさん01/08/31 08:51ID:Kp.31M12
注意してね。

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

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

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

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
予定はありありです。
実験してみたいのですが、、、、、
ツールの作者の方々に、組み込んでいただかないと、

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

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


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

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

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

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

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

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

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

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

自動リロードについての意図は了解しました。
自主規制という意味ですね。
んー難しい問題ですねぇ。
確かに実況や荒らしなどを考えると、何らかの対策(自主規制)は
必要な気がします。
ただ自動リロードをしないという仕様はいささか不便なように
感じます。
例えば書き込み後、1分間は書き込み出来ないとかの方がよいかな?
0872委員長NGNG
あ、↑は私です。(^-^;
0873ひろゆき@暫定管理人 ★NGNG
モナジラの皆さんにメール送りますー。
0874デフォルトの名無しさんNGNG
モナ板でぎこはにゃ〜んもgzipは対応してますよ
0875委員長 ◆EpJ0pYSs NGNG
2ちゃんねる用ブラウザ「A Bone」公開しました。
「A Bone」サイト
http://abone.pos.to/

「A Bone」スレッド
http://salad.2ch.net/test/read.cgi?bbs=software&key=999980425&ls=50

ただし、動くかどうかもあやしい、β版リリースです。
0876デフォルトの名無しさんNGNG
A Bone でカキコ
0877 Nanaモナジラ@ぃよぅNGNG
>>876
A Boneうまく動くことを祈る!
あ…逝ってくる♪
0878デフォルトの名無しさんNGNG
>>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
0879デフォルトの名無しさんNGNG
あ、そういえばサーバお亡くなりになって移転したらしいんで
そのときmod_gzipが外れたのかも…
0880デフォルトの名無しさんNGNG
なにげに重大ニュース

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

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

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

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

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

A Bone β2をリリースしました。
http://abone.pos.to/

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

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

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

A Bone β3をリリースしました。
http://abone.pos.to/

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

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

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

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

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

なお、当方の開発環境はWindowsでは無いため一般的な
概要を御教え頂ければありがたいです。
なにとぞ宜しくお願いします。m(_ _)m
0907デフォルトの名無しさんNGNG
>>906
http://members.jcom.home.ne.jp/monazilla/document/write.html
ここ見てわからないんならやめといた方がいい
0908906NGNG
>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

こんな感じで送っても駄目みたいなんですけど、
何処が逝けないのでしょうか?
0909デフォルトの名無しさんNGNG
>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

こんな感じで送っても駄目みたいなんですけど、
何処が逝けないのでしょうか?
0910デフォルトの名無しさんNGNG
スミマセン。
二重書き込みになってしまった。
0911デフォルトの名無しさんNGNG
TIMEが違う?
0912906NGNG
>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からの秒数にしてみましたが変わりませんでした。
0913デフォルトの名無しさんNGNG
とりあえず、どんなエラーメッセージがでたのか書いてもらわないと‥‥
たぶん、UserAgentとかAccept-*なんかをIEのまねして送るってみたり
すると、書き込めるかも。
ちゃんと書けるプログラムのソースみるとか
0914デフォルトの名無しさんNGNG
URLエンコードは?
あと、Content-Lengthってヘッダの長さは含まないでしょ?
0915デフォルトの名無しさんNGNG
ていうかそもそもPOSTってなんだかわかってる?
0916デフォルトの名無しさんNGNG
あんまり変なことして2chに悪影響与えないでよ>906
0917デフォルトの名無しさんNGNG
httpヘッダはそれだけじゃないからね。
ひととおり全部送りなはれ。
そこまでやっても、リモホのアドレスではじかれるかもしれないが。

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

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

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

本当に有り難う御座いました。m(_ _)m
0919お名前NGNG
書き込みたい内容。
>
0920906NGNG

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では正確なエンティティボディのサイズを送ってあげること。
0921906NGNG
お騒がせしました。
そして、有り難う御座いました。
0922デフォルトの名無しさんNGNG
あ、POSTなのにマジでURLの後ろにデータをくっつけていたのか。
あれは例えの話なんだと思って見ていた。
0923デフォルトの名無しさんNGNG
>>920
で、URL encodeは?
0924ヒロユキ@ギコナビNGNG
>>923
昔、俺がURLエンコードしなきゃだめ!って言ったような
気がするんだけど、しなくても、OKみたい。

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

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

Gzipをメモリ上で展開するのは簡単ですよ。
てか、教えてもらったんだけど(笑)
>>895-897辺りで
0929DaxNGNG
私も >>926 の復元クラスと >>924 の復元薬、探してます。
0930デフォルトの名無しさんNGNG
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対応して使ってる
0931デフォルトの名無しさんNGNG
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 );
0932931NGNG
monazilla.orgにuploadしてみようかと思ったんだけど
http://members.jcom.home.ne.jp/monazilla/document/upload.html
のMonazilla Studioってnot foundになる…
0933書記さんNGNG
あちゃ、ちょっと待ってください
ゴソゴソ

http://www.geocities.co.jp/SiliconValley-Oakland/9028/document/upload.html
こっちでどうでしょう?
0934デフォルトの名無しさんNGNG
>>931
(・∀・)イイ!
0935931NGNG
ありがとう >933
こんなんでいいかな?
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/gzip_delphi.zip
0936ヒロユキ@ギコナビNGNG
>>929
薬期待してます。
今日も一日ボケェー(´д`)っとしてたよ。トホホ。

>>935
スゴスゴー!
使わさせてもらって良いですか?
0937931NGNG
>>936
public domain状態でばんばん使ったりいじったりしてくださいー
0938デフォルトの名無しさんNGNG
>>931
usesしてる"crc"がみつからないですー
0939931NGNG
>>938
ぬおお。すまん
前のファイルは消して、crc.pas追加してみた。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/gzip_delphi2.zip
0940ヒロユキ@ギコナビNGNG
>>931
組み込んでみました。バッチリ動いてます。
しかし、gzip対応にするとダウンロード速いね。
サクサクダウンロード出来て快適。
931さんに感謝。
0941デフォルトの名無しさんNGNG
有志により、かちゅーしゃで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
0942デフォルトの名無しさんNGNG
test
0943デフォルトの名無しさんNGNG
test test
0944デフォルトの名無しさんNGNG
test test test
0945???NGNG
TESUTO
0946デフォルトの名無しさんNGNG
ここで、テストはやめれ。
↓こういうとこでやりましょ。
http://saki.2ch.net/test/read.cgi/qa/1000112036/l50
0947デフォルトの名無しさんNGNG
age
0948デフォルトの名無しさんNGNG
次スレはあるのかな?age
0949himajin2908 ◆hiMA.Vv6 NGNG
各ツールの作者様、ここは見れるでしょうか?
http://choco.2ch.net//
かちゅ〜しゃではOK、ホットゾヌでは落ちます。
0950デフォルトの名無しさんNGNG
インテリフォームが気になって、ショートカッツのソース見てみたいんですが、
アーカイブが無いようです。
再アプキボーンヌ。
0951書記さんNGNG
>>950
ほい!
http://members.jcom.home.ne.jp/monazilla/shortcuts/ShortCuts20010328.zip
0952デフォルトの名無しさんNGNG
>>951
サンクス!!対応ハヤスギ!
さて、早速参考にしよう。
0953デフォルトの名無しさんNGNG
2chのレス取得用のクラスライブラリ見たいのがあるんですか?
で、それ使うと簡単にブラウザ作れるんですか?
0954デフォルトの名無しさんNGNG
何の知識もない全くの素人が参加するのって無謀ですか^^;?
マカーでREALbasicで0から制作してみたいです。
(ダウンロードしたばかりでまだ使い方さえわかっていない状態;)
ネタじゃなく本当に「プログラムって何さ?」レベルなんですが…
0955デフォルトの名無しさんNGNG
昔ほどの活気がないですね。
turbo type Dさんとか帰ってこないのかなー。
0956厨房もじらーNGNG
>>955
漏れは最近モナヂラでヘボいものを開発しはじめた人なんだけど
このスレ初期の頃は楽しそうだったよね。。。
このスレROMっててワクワクしてたし(藁
今は、なんかモナヂラで何かしようって動きは無いみたいで
活気がないのは仕方ないかなって思ってる。

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

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

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

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

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

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

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

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

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

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

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

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

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

>963
Delphiだけでなく いろんな言語で実装できたら面白いかも。
0965書記さんNGNG
>964 名前忘れてた。
0966厨房もじらーNGNG
>>965
DelphiクラスやC++クラスにCOMインターフェイスくっつけてやれば
いろんな言語でまたーり開発できると思われ。
でも、面倒なので誰もやらない、かな。。。
0967デフォルトの名無しさんNGNG
次スレ立てました。
http://pc.2ch.net/test/read.cgi/tech/1005282763/
0968ageNGNG
age
09691000NGNG
まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )
0970デフォルトの名無しさんNGNG
廃棄スレをsageでも書き込むなよ…
0971埋め立て屋NGNG
monazilla Part 3
http://pc.2ch.net/test/read.cgi/tech/1012544484/
0972名無しNGNG
972ゲット!!
0973デフォルトの名無しさんNGNG
おれが1000getしてやる
0974デフォルトの名無しさんNGNG
何かトリップつけるか
とりあえず何かのトリップ検索中
0975デフォルトの名無しさんNGNG
◆KmmmmmxE
◆WWWWWDBI
どっしにすべきか・・・
0976 ◆WWWWWDBI NGNG
これにして1000目指すか
0977 ◆WWWWWDBI NGNG
さて続けるか
0978 ◆WWWWWDBI NGNG
なんか連続カキコですっていわれそうだな
0979 ◆WWWWWDBI NGNG
書くネタないな
0980 ◆WWWWWDBI NGNG
AAでも張るか
0981 ◆WWWWWDBI NGNG
とりあえずこのスレの提供は
                 提  供

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

0982 ◆WWWWWDBI NGNG
                提  供

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

    __∧_∧__/■\____
    |  ( ;´∀`) (´∀` )     .|     |  (    ) ⊂    )    |
   / ̄( (  (  ̄( (  (  ̄ ̄/|
   || ̄ (_(_) ̄(_(_) ̄ ̄||
        ∧
   / ̄ ̄   ̄ ̄ ̄ ̄\
   | (エッ!!)     |
   |  ど、どうぞ・・・・   |
0991 ◆WWWWWDBI NGNG
         おにぎりワッショイ!!
     \\  おにぎりワッショイ!! //
       \\ おにぎりワッショイ!!/
           +             +
             + /■\  +
    __∧_∧__ (´∀`∩)__ +
    |  (´∀`; )  (つ  丿 ))  |
    |  (    )(( ( ヽノ     .|
   / ̄( (  (  ̄ ̄し(_) ̄ ̄/|
   || ̄ (_(_)  ̄ ̄ ̄ ̄ ̄ ̄ ||
        ∧
   / ̄ ̄   ̄ ̄\
   |  ・・・・・・・・・  |
0992 ◆WWWWWDBI NGNG
あと少しだ
0993 ◆WWWWWDBI NGNG
改めて1000へ
0994 ◆WWWWWDBI NGNG
今になって2重書きこって言われた
0995 ◆WWWWWDBI NGNG
もしかして
0996 ◆WWWWWDBI NGNG
1000
0997 ◆WWWWWDBI NGNG
get
0998 ◆WWWWWDBI NGNG
ですか?
0999 ◆WWWWWDBI NGNG
(゚Д゚)ハァ?
1000 ◆WWWWWDBI NGNG
俺逝ってよし
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。