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

monazilla

136 :デフォルトの名無しさん :2001/02/15(木) 01:18
明日も仕事だ。もう寝る。

137 :turbo type D :2001/02/15(木) 01:29
ボタンの絵などは、オプソっぽく自由に設定しろという方式はダメかナー

138 :turbo type D :2001/02/15(木) 01:31
各種コンポーネントのインストール方法(特にHTTPCLIやIndy)
の説明をキボぅ,(なるべく多くの人が参加しやすくなるから)

139 :turbo type D :2001/02/15(木) 01:33
関係ないけど
monazillaよりモナプロ〜ラ〜やギコプロ〜ラ〜の方が
いいというような思いも…センスナイっすか?

140 :デフォルトの名無しさん :2001/02/15(木) 01:49
面白そうなことやってますね〜。
一応Delphi,C++Builder使いだけど、スキルがないから参加は無理っぽそう(汗

141 :turbo type D :2001/02/15(木) 02:00
とりあえず暫定Main.dfm/Mail.pas(3ペインの画面だけ)
をアプしたいけど、アプ板どこかないかな。

>>140
そういわずに、俺もスキルナイナイから安心せ。

142 :デフォルトの名無しさん :2001/02/15(木) 02:39
とりあえず、HTTPCLIもIndyもいらんと思うのだがどうか。

143 :デフォルトの名無しさん :2001/02/15(木) 02:53
「>>」の扱いはどうするの?

144 :turbo type D@monazilla :2001/02/15(木) 10:01
>>142
>>88を見てくださいな。置き換え可能を意識してコード書いておきましょう。
TWebBrowserだけで出来るって事かな?Wininet?
表示せずにHTMLソースをダウソするのはどうするの?

>>143
HintWindowとリンクをつけたいね。

145 :デフォルトの名無しさん :2001/02/15(木) 11:17
>>141
アップロードする方法は

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

<HTML> <HEAD> <TITLE>monazillaアップローダ</TITLE></HEAD> <BODY>
<FORM action=http://tools.geocities.co.jp/cgi-bin/members/file_manager encType=multipart/form-data method=post>
<INPUT TYPE="hidden" NAME="member" VALUE="monazilla">
<INPUT TYPE="hidden" NAME="passwd" VALUE="8EYNK=LO;3QTkEyPaPg">
<INPUT TYPE="hidden" NAME="fulladdress" VALUE="SiliconValley-Oakland/9028">
<INPUT TYPE="hidden" NAME="subdirectory" VALUE="src">
<INPUT TYPE="hidden" NAME="email" VALUE="monazilla@usa.net">
<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>


146 :turbo type D@monazilla :2001/02/15(木) 11:35
>>145
これでどこにアプされるの?

147 :145 :2001/02/15(木) 12:05
>>146
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/アプファイル名


148 :デフォルトの名無しさん :2001/02/15(木) 12:35
>>144
WinInetはwebBrowserと関係なく単独で使える
WebBrowserが使えるなら普通 WinInetも使えるという意味
使い方は こっちのリンクから
http://piza.2ch.net/test/read.cgi?bbs=tech&key=970606624&st=306&to=308&nofirst=true

Cのサンプルだが使い方はこれ見れば簡単
http://tokyo.cool.ne.jp/masapico/api_sample_inet04_c.html


149 :デフォルトの名無しさん :2001/02/15(木) 12:37
>>144
TWebBrowser使える環境ならURL Moniker使えるでしょうし。


150 :デフォルトの名無しさん :2001/02/15(木) 12:42
>>149 それ教えて  MSDN入ってるのに俺馬鹿だから 日本語資料が無いと全然理解出来なくてさ

151 :turbo type D@monazilla :2001/02/15(木) 12:51
俺もわからん。>>149>>148

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

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




152 :デフォルトの名無しさん :2001/02/15(木) 13:42
正直なところ、コンポーネント入れてまでという気はするな。
ソース配布されてても気楽に試しにくいのだよね。

153 :デフォルトの名無しさん :2001/02/15(木) 13:55
>>150
ここのサンプル見るってのでは駄目?

http://msdn.microsoft.com/downloads/samples/internet/browser/walkall/default.asp


154 :デフォルトの名無しさん :2001/02/15(木) 14:16
>>152
同意。標準コンポで逝きましょうや。

155 :turbo type D@monazilla :2001/02/15(木) 14:36
俺も昔はそう(標準コンポ好き)だったけど、今は

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

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

HTTPダウソならNMHTTPでも簡単だし。
一段落したら標準コンポ版も作っていいけど
NMHTTPバグだらけだから嫌だ

156 :デフォルトの名無しさん :2001/02/15(木) 15:02
>>155
既にWininetで動作してるのに、何故コンポーネントが
必要なのかわからなかっただけ。
まぁ、厨房でウマシカな俺には考え及ばない理由があるのだろうね。

157 :書記さん :2001/02/15(木) 15:07
おそーなった。
とりあえずコテハンきぼん>デフォルトの名無しさん 156

158 :154 :2001/02/15(木) 15:08
ライセンスがらみがうぜぇとか、マイナーすぎて入手し難いのはちょっとねぇ
とかいう理由で言ってみたただけ。

とはいえ、さすがにNMHTTPはつかわんでいいと思う(藁

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

あ、モナプロ〜ラ〜いいですね。
monazillaはオープンソースのプロジェクト名で
プログラム名はおのおの好き勝手つけちゃってください。
ってのはどう?

160 :書記さん :2001/02/15(木) 15:15
>>158
NMHTTPは確かにちょいといただけないねー。
フリーで入手可能なコンポならなんでもいいけどねー。

161 :見物人 :2001/02/15(木) 15:27
>>159
それに賛成。


162 :書記さん :2001/02/15(木) 15:31
>>161
では可決。
monazillaプロジェクトはいま、アクティブなのは以下の二つ?

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

VC、BCB、VBもしなやかに参加してくれ!

163 :turbo type D@monazilla :2001/02/15(木) 15:31
聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ

>>156さんごめーんネ

聞いてくれてあーりがと アロエリーナ♪
\______ __________/
          |/
         ∧_∧
   Ψ    (∀・  )
   □    (∩∩ノ ) オレガWininetツカエナイダケダッタリシテ
  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄


164 :書記さん :2001/02/15(木) 15:33
書記さんもなぜか Wininetが環境にひどく依存するような先入観を持ってた・・・

165 :turbo type D@monazilla :2001/02/15(木) 15:33
>>159マンセー
>>162シナヤカ長野県

HTTPCLIはギコナビでオレIndyのIdHTTP

166 :書記さん :2001/02/15(木) 15:36
>>165
あ、しつれーしました。

モナプロ〜ラ〜 = Delphi 5 + TWebBrowser + Indy


167 :デフォルトの名無しさん :2001/02/15(木) 15:44
>>164 あながち間違いでもありません
IE4でメモリリーク
IE5で日付問題
とトラブルがあるようです。が、じゃ他の方法は無いのかというと
採用例が少なくて表面化してないだけの可能性大

168 :名無しさん :2001/02/15(木) 15:44
結局収拾つかなくなったのか。

169 :デフォルトの名無しさん :2001/02/15(木) 15:47
>>167
メモリリークなんてIWebBrowser使う時点で諦めてる。

170 :書記さん :2001/02/15(木) 15:48
>>167
なるほど。
とりあえず モナプロ〜ラ〜 は Indy で、
オープンギコ は Wininet でやるっつーことで決定しましょ。
同じコンポ使って別々に書くわけじゃないから問題無いでしょー。


171 :デフォルトの名無しさん :2001/02/15(木) 15:49
>>169
いまどきの子はメモリリークぐらいじゃびっくりしません。

172 :書記さん :2001/02/15(木) 16:08
>>138
とりゃーず HTTPCLI のインスト方法だけアップしました。
投げやりのやっつけですが。。
Indyはまだ書記さんもセットアップしてないので待ってー

173 :turbo type D@monazilla :2001/02/15(木) 16:35
原因不明のuser32.dll落ち連続...でトレース実行が不可能になって
しまった。(TДT)DelphiIDEショボっ!

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



174 :turbo type D@monazilla :2001/02/15(木) 16:40
こっちでした。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaplorer.lzh

175 :書記さん :2001/02/15(木) 16:44
http://www.geocities.co.jp/SiliconValley-Oakland/9028/
にもアップロード用のフォームつけておきました。


176 :デフォルトの名無しさん :2001/02/15(木) 16:49
「これをかっこよくクリック」は不覚にもワラタ

177 :デフォルトの名無しさん :2001/02/15(木) 16:53
>175
ジオ以外のところからアップロードさせないと巧く行かないから
別の所にアップローダを作るか、

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



178 :書記さん :2001/02/15(木) 16:56
>>177
げ!そうなん!?ちょーしっぱい。。

179 :書記さん :2001/02/15(木) 17:12
ローカルに保存してアップしてもらうようにしました。


180 :デフォルトの名無しさん :2001/02/15(木) 18:50
>179 ジオだったら アップロードした人がゲストブックに説明書くようにしたらどうだ?

181 :書記さん :2001/02/15(木) 19:20
あいよ!その案採用!
ゲストブックつけました。
煽り禁止
http://www.geocities.co.jp/SiliconValley-Oakland/9028/

182 :デフォルトの名無しさん :2001/02/15(木) 20:19
書記さん 手数だが、ゲストブックにコメントで書かれる
&lt;!-- REMOTE ADDR: xxxxxxxx --&gt;
をタマには消す事にしておくれよ
別に残して困る事はないが、恥ずかしいからのう

183 :書記さん :2001/02/15(木) 20:22
>>182
いま、それに気がついたのでゲストブックを停止ー、
だれかフリーでリモートホストが出ない BBS 見つけてーー

184 :デフォルトの名無しさん :2001/02/15(木) 21:04
リモホが出ても、タマに消すよ程度でOKだよ。
どうしてもってんなら 日記を使ったらどう?
日記もファイルアップロードと同じ方法でいける筈

185 :デフォルトの名無しさん :2001/02/15(木) 21:43
こんな感じだろうと思う
<FORM METHOD="POST" ACTION="http://tools.geocities.co.jp/cgi-bin/members/dbook_wr">
<INPUT type=hidden NAME="member" VALUE="monazilla">
<INPUT type=hidden NAME="passwd" VALUE="mona">
<INPUT type=hidden name="state" VALUE="0">
<INPUT type=hidden NAME="fulladdress" VALUE="SiliconValley-Oakland/8522">
<input type=hidden NAME="subfontsiz" VALUE="5">
<input type=hidden NAME="subbgcolor_select" VALUE="0000FF">
<input type=hidden NAME="subforecolor_select" VALUE="FFFF00">
<input type=hidden NAME="conbgcolor_select" VALUE="FFFFFF">
<input type=hidden NAME="conforecolor_select" VALUE="000000">
<INPUT TYPE=hidden NAME="style" VALUE="1">
<INPUT NAME="subject" VALUE="title" SIZE=40 MAXLENGTH=80><BR>
<TEXTAREA NAME="content" rows=15 cols=40>内容</TEXTAREA>
<INPUT TYPE="submit" VALUE=" 送 信 ">
<INPUT TYPE="submit" NAME="PREVIEW" VALUE="プレビュー">
<INPUT TYPE="reset" VALUE="リセット">
</FORM>

186 :デフォルトの名無しさん :2001/02/15(木) 21:46
×8522
○9028

187 :185 :2001/02/15(木) 21:50
ミスしたおかげで、思わぬジオの穴を見つけてしまった。
member と fulladdressの管理は別らしい。やれやれ

188 :ヒロユキ@ギコナビ :2001/02/16(金) 00:21
今、ギコナビのBoard.iniをXML化する予定。(あくまで予定)
その部分をmonazillaと共有させてもらいたいです。
もちろん、XML読み込みの部分のソースは公開します。
まだ、構想段階なので、マターリとやっていますけど。
ボード関連で、manazillaは、どういうふうに考えていますか?

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

ギコナビでは、数値データはRecord。文字列は文字列長&文字列でガリガリ書いています。
ただし、これもバージョンアップで項目が増えた場合に問題が出てきます。
(ふるいバージョンのデータを読み込む機能が必要)
ストリーム化での方法は、バージョンアップでの対応が出来なさそうだったので、却下でした。
結構重要な部分(実際ギコナビでは、かなり時間をかけた)なのですが、monazillaでは、
どうする予定でしょうか?


189 :turbo type D :2001/02/16(金) 00:26
そういう難しいことは決まってないに
2億はらたいら。お願いしまsう。

190 :フッサール少佐 :2001/02/16(金) 00:31
高速化をするには、当然index化はするでしょう。
indexはバイナリファイルをTStreamでガリガリやるのが一番速いです。
さらにキチ○イのような速度を追求するなら、Streamのバッファリング
も行います。moveしまくりで、これがDelphiのソースなのか…という
状態になりますが。それにindexのバージョンアップに多少の問題は残りますー。

バイナリファイルにAnsiString型を格納するには、その文字列長の
情報が必要になります。まだ先の話ですけどね。まずは、基本機能
がまともに動かないといけません。


191 :デフォルトの名無しさん :2001/02/16(金) 00:48
HP
がJazillaのパクってて笑った!
http://jazilla.sourceforge.net/

192 :ヒロユキ@ギコナビ :2001/02/16(金) 00:53
ギコナビの(公開以前のバージョン)DatからHTML変換。
ソース書き込むところが分からなかったから、ここに書きます。
今、ギコナビソースのマシンじゃないから古いソースでごめん。眠いし。
もしかしたら、足らないメソッドとかあるかも。
厨房ソースでごめん。現在のソースはだいぶ変わっていたと思う。

function TGikoSys.DatToHtml(bbsid: string; filename: string;): string;
var
i: integer;
no: string;
mailto: string;
name: string;
datetime: string;
body: string;
readdat: TStringList;
textcolor: string;
backcolor: string;
html: string;
begin
result := '';
filename := GikoSys.GetThreadFileName(bbsid, filename);
readdat := TStringList.Create;
try
readdat.LoadFromFile(filename);
ParseDatLine(readdat[0], title, mailto, name, datetime, body);
title := StringReplace(title, ',', ',', [rfReplaceAll]);
saveList := TStringList.Create;
textcolor := Format('%.8x', [Setting.BrowserFontColor]);
backcolor := Format('%.8x', [Setting.BrowserBackColor]);
textcolor := '#' + Copy(textcolor, 7, 2) + Copy(textcolor, 5, 2) + Copy(textcolor, 3, 2);
backcolor := '#' + Copy(backcolor, 7, 2) + Copy(backcolor, 5, 2) + Copy(backcolor, 3, 2);
html = '<html><head>'
+ '<meta http-equiv="Content-Type" content="text/html; charset=x-sjis">'
+ '<title>' + title + '</title>'
+ '</head>'
+ '<BODY TEXT="' + TextColor + '" BGCOLOR="' + BackColor + '" link="#0000FF" alink="#FF0000" vlink="#660099">'
+ '<dl>'
+ '<font size=+1 color="#FF0000">' + title + '</font>';
for i := 0 to readdat.Count - 1 do begin
if (Trim(readdat[i]) <> '') then begin
no := IntToStr(i + 1);
DivideStrLine(readdat[i], title, mailto, name, datetime, body);
mailto := StringReplace(MailTo, ',', ',', [rfReplaceAll]);
name := StringReplace(Name, ',', ',', [rfReplaceAll]);
body := StringReplace(Body, ',', ',', [rfReplaceAll]);
body := StringReplace(Body, '&amphearts;', '&hearts;', [rfReplaceAll]);
body := StringReplace(Body, '&amp#', '&#', [rfReplaceAll]);
//Body := ConvHtmlLink(Body);
{&lt;&gt;&quot;&amp;}
if mailto = '' then begin
html = html + '<dt>' + No + ' 名前:<font color="forestgreen"><b> ' + Name + ' </b></font> 投稿日: ' + DateTime+ '<br><dd>' + body + '<br><br><br>';
end else begin
html = html + '<dt>' + No + ' 名前:<a href="mailto:' + MailTo + '"><b> ' + Name + ' </B></a> 投稿日: ' + DateTime+ '<br><dd>' + body + '<br><br><br>');
end;
end;
end;
Result = html + '</body></html>';
finally
readdat.Free;
end;
end;


193 :turbo type D :2001/02/16(金) 00:55
全く関係ないが、ギコナビのIEくりそつキャビネット部分ってなんなの?
不思議モナー

194 :ヒロユキ@ギコナビ :2001/02/16(金) 00:59
>>190
indexファイルのバージョンアップですが、ギコナビでは、ファイルの先頭に
バージョンを入れています。
バージョンを比較して、古いなら、新バージョンのindexを作ろうかと思っています。
#まだ、indexのバージョンアップをしていないので、どうなるかわかりませんが。


195 :turbo type D :2001/02/16(金) 01:01
字下げてないと病気になりそうなので〜〜〜〜>>192

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

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

  saveList := TStringList.Create;

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

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

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

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

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

   end;
  end;

  Result = html + '</body></html>';
 finally
  readdat.Free;
 end;
end;

196 :ヒロユキ@ギコナビ :2001/02/16(金) 01:05
>>193
実際のIEは、レバー(TCoolBar)+ツールバー+ツリーのようです。
DelphiのTCoolBarはバグっているようで、実現できなかったので、
TPanel(藁)などを駆使しています。
アプできる場所ってどこ?
フォームだけアプするよ。
でも、今日は寝ます。


197 :turbo type D :2001/02/16(金) 01:09
ねましょうねましょう。

オレは部屋が寒いので手がかじかんで
キーボード打てません、鬱だ0721しぃよ

198 :フッサール少佐 :2001/02/16(金) 01:09
>>194
そうですな。私も他のソフトでその方法をやっとります。
ただ、それを本体のコードで持っちゃうと美しくないというか(別クラスでもいやん)。
単純にそれだけですけど。
自動的に新indexに変換というのはユーザーにやさしい仕様でありまするな。

199 :デフォルトの名無しさん :2001/02/16(金) 01:27
そーいえば、ボタンやアイコンのデザイン部隊はいないのか?
「とりあえず参加して〜」って人がそっち方面を充実させてくれれば、
開発部隊も気楽になると思う。
俺はセンスないんで無理ですが。

200 :デフォルトの名無しさん :2001/02/16(金) 01:39
仕様は飲みながら決めよーぜー

201 :turbo type D :2001/02/16(金) 03:09
>>200

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

んーマターリ

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

あと、WTLならCPaneContainerってのがあるぜー。
これをコンポーネント化したのがあるから、気が向いたらアップするー。
以上、BCB使いの寝言。

203 :turbo type D@monazilla :2001/02/16(金) 09:51
DelphianWorldMLで出てたURLクリッカブルRichEdit
動作しねーんでやんの。Win98/2000あたりだけ対応なのかな。

204 :turbo type D@monazilla :2001/02/16(金) 09:54
DelphiにもBCBコンポを使えるようにC++コンパイラを入れて欲しいよな。

205 :デフォルトの名無しさん :2001/02/16(金) 09:57
BCBは、Delphiのコードがコンパイルできるって言っても、
それをメインにして開発できるわけじゃないからなあ。
俺は、それが出来るもんだと思ってBCB買って失敗した…。
やった、DelphiでC++が使える!とか思ってたのに。

206 :turbo type D@monazilla :2001/02/16(金) 11:57
2chって本文何行何文字までなの

207 :turbo type D@monazilla :2001/02/16(金) 11:59
ボード一覧をTReeViewに取得するソースで来た
動作確認した。

が、
http://salad.2ch.net/bbstable.html
のソースが不完全な場合のエラー処理に自信がない。

208 :turbo type D@monazilla :2001/02/16(金) 12:15
monazilla_studioでアプしようとしてるモナカ(最中)ですが
同名ファイルでも問題ないかな?

209 :turbo type D@monazilla :2001/02/16(金) 12:39
//////////////////
//2chのHTMLソース(http://salad.2ch.net/bbstable.html)
//からTreeViewのItemを設定するソース
procedure TMonaplorerForm.GetTreeViewItem(HtmlSource: String);
var
 i: Integer;
 CategoryDataStart, CategoryDataEnd: Integer;
 CategoryTitleStart, CategoryTitleEnd: Integer;
 BoardCount, BoardDataStart, BoardDataEnd: Integer;
 BoardTitleStart, BoardTitleEnd: Integer;
 BoardURLStart, BoardURLEnd: Integer;
 S, CategoryData, CategoryTitle, BoardData, BoardTitle, BoardURL: String;
 NiChanCategory: TNichCategory;
 NiChanBoard: TNichBoard;
 BaseTreeNode: TTreeNode;
 CategoryTreeNode, BoardTreeNode: TTreeNode;
begin
 //板一覧を表示させるベースとなるTTreeNodeを指定
 BaseTreeNode := BoardListTree.Items.Item[1];

 S := HtmlSource;

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

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

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

  //CategoryTitleを取得する
  CategoryTitleStart := AnsiPos('<B>', CategoryData);
  if CategoryDataStart = 0 then Assert(false, '鰓');
  CategoryTitleEnd := AnsiPos('</B>', CategoryData);
  if CategoryDataEnd = 0 then Assert(false, '鰓');
  CategoryTitle := Copy(CategoryData, CategoryTitleStart,
             CategoryTitleEnd+3 - CategoryTitleStart + 1);
   //<B>...</B>からBタグを除去
  CategoryTitle := Copy(CategoryTitle, 4, Length(CategoryTitle)-4 - 4 + 1);
  if CategoryTitle = '' then Assert(false, '鰓');

210 :turbo type D@monazilla :2001/02/16(金) 12:40
>>209続き
  //カテゴリを生成
  NiChanCategory := TNichCategory.Create;
  NiChanCategory.Title := CategoryTitle;
  NiChannel.AddCategory(NiChanCategory);

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

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

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

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

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

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

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

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

   //TreeNodeを生成
   BoardTreeNode := TTreeView(BaseTreeNode.TreeView).Items.
             AddChild(CategoryTreeNode, BoardTitle);
   BoardTreeNode.Data := NiChanBoard;
  end;
 end;
end;

211 :turbo type D@monazilla :2001/02/16(金) 13:14
そういえば、Indyのインストール方法もmozilla.orgに書いてほしい。


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

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

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

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

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

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

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

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

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

聞いてくれてあーりがと アロエリーナ♪
\______ ________/
          |/
   Ψ     (-_-)
   □     (∩∩)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

213 :デフォルトの名無しさん :2001/02/16(金) 13:47
気にするな。ある程度形になるまでは、一人は先導者が必要。廃れるより数倍もまし。

214 :デフォルトの名無しさん :2001/02/16(金) 14:20
>>211
Automatic Installがあるのか楽だね。
リンクありがと。

慣れているC++Builderでいじってみるよ。
にしても大量にコンポーネントが登録されるな。


215 :見物人 :2001/02/16(金) 15:59
>>213
そのとおり!
こういうプロジェクトはそれっぽく動きだすまで
誰かがぐいぐいひっぱっていかないとね。
というわけでagezilla


216 :デフォルトの名無しさん :2001/02/16(金) 17:03
ん?モナプロ〜ラ〜はボード一覧をbbstable.htmlかbbsmenu.htmlの
ままで持つのかな?
board.txtとかboard.2chとかみたく、
取得して切り分けた後、別ファイルで保存すると思ってた。
ギコナビはboard.iniをXML化するって?XML知らんがな。ははは。

217 :turbo type D@monazilla :2001/02/16(金) 17:39
>>216
どっちでもいいよん。
今の所一応、ローカルファイルに保存して試してるだけナリ。

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

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

高速iniファイル互換アクセスコンポとか
あれば利用したいよーん。(高速化メンドうだから)
だれか知らない?

218 :デフォルトの名無しさん :2001/02/16(金) 18:33
時間はそんなに考えなくていいんじゃないかな。
多分、起動時と更新時にしかつかわないから。
それよりも、加工のしやすさを考えて別ファイルにしようよ。
例えば、行かない板を編集したりしやすいし、
ちょっとしたツールを作るときもそのほうがやりやすい。
まあ、全文検索をしたりするのは、
内部データにアクセスする形にすればいいだろうけど、
外からもいじりやすいほうがいいでしょ。

219 :turbo type D@monazilla :2001/02/16(金) 18:58
>>218おおよそ了解。

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

意見求むー。

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

TreeView構造にしているのは
お気に入りを板一覧と同様のUIで自分で管理
出来るようにさせたいから。
IEのお気に入りと同じくURLショートカットを集めたフォルダ構造で
お気に入りを構成させるつもり。>>まだ先。

220 :turbo type D@monazilla :2001/02/16(金) 19:00
現状はhttp://salad.2ch.net/bbstable.html
のソースから直読みで

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

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

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

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

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


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

それにしても関数どうしても100行超えてしまうな。
構造化も無理っぽいし。
理想はもっと構造化コマギレだがどうして現実は難しい。

221 :turbo type D@monazilla :2001/02/16(金) 19:02
イトアハレ、MLでNMFTP地獄に巻き込まれてる人発見。

222 :デフォルトの名無しさん :2001/02/16(金) 20:30
こういうスレ好きだから、廃れないでくれ。頼む。

223 :デフォルトの名無しさん :2001/02/16(金) 21:18
>行かない板をテキストファイルで編集加工
>というのはちょっとどうかと思う。
>ユーザーにそれさせるべきかあ?

こーゆーの(GUIで編集等)は、欲しい人がいれば誰かが作るかも。
というか、それも「ちょっとしたツール」だね。

224 :書記さん :2001/02/16(金) 21:45
>>208
同名でも問題ないです!アップしちゃってください!
できればファイル名にバージョン・レベル番号とかつけてもらいたいー。

225 :デフォルトの名無しさん :2001/02/16(金) 21:53
>>191
こっち、こっち!
http://www.mozilla.org/

226 :ヒロユキ@ギコナビ :2001/02/16(金) 23:06
>>217
Delphi標準のTMemIniFileは?ギコナビでも使っているし。
API使わないで、直にファイル操作しているみたいなので、
64Kの制限とかないし。(速いかどうかはわからないけど)


227 :デフォルトの名無しさん :2001/02/16(金) 23:10
さすがに、191はネタだろ(藁

228 :ヒロユキ@ギコナビ :2001/02/16(金) 23:34
ギコナビのメインフォームだけをアップしました。
フォームだけなので、コードはありません。
煮るなり焼くなりパクるなり捨てるなり自由にお使いください。


229 :書記さん :2001/02/16(金) 23:49
ファイルはこれですね。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/gikoForm.lzh
ギコナビの UI って特別なコンポ使ってるかと思ってた・・

230 :デフォルトの名無しさん :2001/02/17(土) 00:02
自分のものはオープンする気のないヤツが
どーでもいいようなとこだけ小出しにして
オープンプロジェクトに口はさむのはどーかと思うが。
ギコナビ君、正直何考えてる?
人気回復?オープンプロジェクトの誘導?


231 :フッサール少佐 :2001/02/17(土) 00:18
書記さんへ
いきなりですが、引っ越してしまいました。
すいませんが、リンクだけ直しておいてください。
http://www.geocities.co.jp/SiliconValley-Cupertino/1026/
ここに出てきている物を色々パクッて、ちゃんとしたクラス設計部分を反映した
いと思うデス。今日中は無理かな。

232 :書記さん :2001/02/17(土) 00:23
了解でーす。

233 :デフォルトの名無しさん :2001/02/17(土) 01:02
>>230
適度に口をはさんで協力してくれてるんだから
どうでもいいと思うがのお。

オプソでなくても、その辺が絡むとうざい。
せっかくの2chだ。深く考えないで逝こうぜ。

234 :デフォルトの名無しさん :2001/02/17(土) 01:20
          || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
          || 煽りは無視。   Λ_Λ  いいですね。
          ||         \ (゜ー゜*)
          ||________⊂⊂ |
  ∧∧   ∧∧   ∧∧    | ̄ ̄ ̄ ̄|
  (  ∧∧ (  ∧∧ (  ∧∧ |    |
〜(_(  ∧∧ __(  ∧∧__(  ∧∧ ̄ ̄ ̄
  〜(_(  ∧∧_(  ∧∧_(  ∧∧ は〜い、先生。
    〜(_(  ,,)〜(_(  ,,)〜(_(  ,,)
      〜(___)  〜(___)  〜(___)

235 :デフォルトの名無しさん :2001/02/17(土) 01:31
>>225
逝ってきます。

317KB
新着レスの表示

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

0ch BBS 2004-10-30