■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50
monazilla
- 362 :turbo type D@monazilla.org(藁 :2001/02/21(水) 09:48
- //ネット上のファイル情報を得る
//サーバーに依存する
//http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page5.html
//より移植
procedure TForm1.Button1Click(Sender: TObject);
var
hSession: HINTERNET;
hService: HINTERNET;
ReceiveBuffer: array[0..255] of Char;
dwSize, Reserved: DWORD;
begin
// hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0 );
hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0 );
if Assigned( hSession ) then
begin
hService := InternetOpenUrl( hSession, PChar(Edit1.Text), nil, 0, 0, 0);
if Assigned( hService ) then
begin
ReceiveBuffer := '';
dwSize := sizeof(ReceiveBuffer);
Reserved := 0;
HttpQueryInfo(hService, HTTP_QUERY_RAW_HEADERS_CRLF, @ReceiveBuffer, dwSize, Reserved);
Memo1.Lines.Add( String(ReceiveBuffer) );
end;
InternetCloseHandle( hService );
end;
InternetCloseHandle( hSession );
end;
- 363 :turbo type D@monazilla.org(藁 :2001/02/21(水) 09:48
- //ファイルの作成日、サイズを得る
//http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page6.html
//より移植
procedure TForm1.Button1Click(Sender: TObject);
var
hSession: HINTERNET;
hService: HINTERNET;
LastModified: SYSTEMTIME;
FileSize: Longint;
dwSize, Reserved: DWORD;
ft1, ft2: FILETIME;
t: SYSTEMTIME;
buf: String;
begin
// hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0 );
hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0 );
if Assigned( hSession ) then
begin
hService := InternetOpenUrl( hSession, PChar(Edit1.Text), nil, 0, 0, 0);
if Assigned( hService ) then
begin
dwSize := sizeof(LastModified);
Reserved := 0;
HttpQueryInfo(hService, HTTP_QUERY_LAST_MODIFIED or HTTP_QUERY_FLAG_SYSTEMTIME,
@LastModified, dwSize, Reserved);
dwSize := sizeof(FileSize);
Reserved := 0;
HttpQueryInfo(hService, HTTP_QUERY_CONTENT_LENGTH or HTTP_QUERY_FLAG_NUMBER,
@FileSize, dwSize, Reserved);
SystemTimeToFileTime( LastModified, ft2 );
FileTimeToLocalFileTime( ft2, ft1 ); //かなり適当
FileTimeToSystemTime( ft1, t );
buf := Format('作成日:%4d/%02d/%02d %2d:%02d:%02d サイズ:%dバイト',
[t.wYear, t.wMonth, t.wDay, t.wHour, t.wMinute, t.wSecond, FileSize]);
Memo1.Lines.Add( buf );
end;
InternetCloseHandle( hService );
end;
InternetCloseHandle( hSession );
end;
- 364 :turbo type D@monazilla.org(藁 :2001/02/21(水) 09:49
- //ヘッダ情報を追加する
//http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page7.html
//より移植したけど、何がどうなっているのか理解してません。
procedure TForm1.Button1Click(Sender: TObject);
var
hSession: HINTERNET;
hService: HINTERNET;
szHead: String;
begin
// hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0 );
hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0 );
if Assigned( hSession ) then
begin
szHead := 'Accept:*/*'+#13#10#13#10;
SetLength( szHead, Length(szHead) );
hService := InternetOpenUrl( hSession, PChar(Edit1.Text), PChar(szHead), 0, 0, 0);
if Assigned( hService ) then
begin
//....
end;
InternetCloseHandle( hService );
end;
InternetCloseHandle( hSession );
end;
- 365 :turbo type D@monazilla.org(藁 :2001/02/21(水) 09:49
- インデントミスったので、再掲
//ヘッダ情報を追加する
//http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page7.html
//より移植したけど、何がどうなっているのか理解してません。
procedure TForm1.Button1Click(Sender: TObject);
var
hSession: HINTERNET;
hService: HINTERNET;
szHead: String;
begin
// hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0 );
hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0 );
if Assigned( hSession ) then
begin
szHead := 'Accept:*/*'+#13#10#13#10;
SetLength( szHead, Length(szHead) );
hService := InternetOpenUrl( hSession, PChar(Edit1.Text), PChar(szHead), 0, 0, 0);
if Assigned( hService ) then
begin
//....
end;
InternetCloseHandle( hService );
end;
InternetCloseHandle( hSession );
end;
- 366 :turbo type D@monazilla.org(藁 :2001/02/21(水) 09:50
- //インターネット接続が出来るかどうか調べる
//http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/page8.html
//より移植
procedure TForm1.Button1Click(Sender: TObject);
begin
if InternetAttemptConnect(0)<>0 then
begin
ShowMessage('インターネットに接続できていません');
end;
end;
- 367 :turbo type D@monazilla.org(藁 :2001/02/21(水) 09:51
- ヲワリ。
では本日も四露氏苦
- 368 :turbo type D@monazilla.org(藁 :2001/02/21(水) 10:56
- >>350
>>351
これって同じ作者なのかな?
どちらも試したがメモリリーク起きてませんでした!
d( °w )
いー感じ♪
- 369 :turbo type D@monazilla.org(藁 :2001/02/21(水) 12:08
- 書記さん、monazilla.org(藁 のダウンロードの説明の所を
こんな風に修正してくれると、わかりやすいかな。
> アップロードしてあるファイルをダウンロードする方法
>
> Monazilla Studio をダウンロードする。
> 適当なフォルダで解凍する。
> index.html を開く。
> ダウンロードをクリック。
> 入ってよしボタンをクリック。
すると シリコンバレーオークランド通り/9028 monazilla が開く
アップされたソースは[src]フォルダに入っているので
[src]ボタンを押す
> するとアップされたソースの一覧が出てくるのでダウソしたいファイル名の横のほ
> うにある 表示 ってとこをクリックする。
>
> 以上
- 370 :turbo type D@monazilla.org(藁 :2001/02/21(水) 19:24
- 全然ヵキコがない。!
ウツダシノウ
- 371 :turbo type D@monazilla.org(藁 :2001/02/21(水) 19:35
- >/* 書記さんは会社から 2チャンへの書き込みがなぜかできないのでロムってます、すんませんー */
そうですか。
仕事していないのは俺くらいですか。(´∀`)
- 372 :デフォルトの名無しさん :2001/02/21(水) 19:47
- >少佐
TWebBrowserで遅い問題は解決したでしょうか?
もしかしたら文字列連結の時間が原因かもしれません。
・・・外してたらごめんなさい。
BCBの場合、単純にAnsiStringを数百回以上連結すると、
その部分で異常に時間を食います。
std::stringでreserve()すると、(その部分は)嘘みたいに高速になります。
でも、実はAnsiStringでcapacityを増やす方法を知らないんですが。
- 373 :turbo type D@monazilla.org(藁 :2001/02/21(水) 20:27
- モナーアイコンを作成してくれない?誰か。
- 374 :turbo type D@monazilla.org(藁 :2001/02/21(水) 20:33
- あと、32x32のaviもキボーン。
monazilla.org公式っていうのがいいなあ。
いま、かちゅしゃのaviで試しているから、
なんか悲しくて切なくて生産性が下がっています(藁
アイコンデザイン探しにモナー板逝ったら
藁ってしまうので仕事中にはとても探せないや。
- 375 :Dax :2001/02/21(水) 22:29
- またまた Delphiで申し訳ないんですが
板一覧をつくることに特化したクラス、
「ホットゾヌ」をアップしました。
インターネット接続は
「Wininet」「ICS(HttpCli)」「NMHTTP」「Indy(IdHTTP)」の
4種類に対応し別々のユニットで用意しました。
使い方などは HTMLを用意します。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/hotzonu_010.lzh
- 376 :書記さん :2001/02/21(水) 23:40
- >>369
修正しました!
ありがとうございます。確かにわかりにくかったですね。
ですのでさらに画像も入れてみました。
>>370
今日は一時アクセスできなかったです。>2ch
うちだけかな?
- 377 :turbotypeD@モナぢら :2001/02/22(木) 00:03
- >>375
おぉ。ぞくぞくと開発者が!
しかも別ユニットまで!
勢いでレス一覧までやってくださらぬか、(w
ってそれは贅沢かな。
別ユニット的アプローチはいずれ参考にさせていただきます。
モナプローラではすでにスレ一覧まではやってしまったしなあ。
次はWebBrowserを簡単に作れるクラス/ユニット実装予定(は未定)
かちゅ〜しゃの1タブごとに[戻る]ボタン機能がついた
イメージで作ってます。
- 378 :turbotypeD@モナぢら :2001/02/22(木) 00:09
- >>375
おぉ。ぞくぞくと開発者が!
しかもコンポ別ユニットまで!
勢いでレス一覧までやってくださらぬか、(w
ってそれは贅沢かな。
別ユニット的アプローチはいずれ参考にさせていただきます。
モナプローラではすでにスレ一覧まではやってしまったしなあ。
次はWebBrowserを簡単に作れるクラス/ユニット実装予定(は未定)
かちゅ〜しゃの1タブごとに[戻る]ボタン機能がついた
イメージで作ってます。
>>書記さんいつもありがとう
- 379 :turbotypeD@モナぢら :2001/02/22(木) 00:09
- 2重火器子スマソ
- 380 :デフォルトの名無しさん :2001/02/22(木) 00:12
- >>340
Content-Lengthを参照する以外に終端を知る方法は
なかったと思う。<Keep-Alive
- 381 :フッサール少佐 :2001/02/22(木) 00:35
- >>372
>TWebBrowserで遅い問題は解決したでしょうか?
全く解決するめどは立っていないが、別の方法を使うことにより
逃げることにした。
>もしかしたら文字列連結の時間が原因かもしれません。
JavaもStringの文字の連結は注意だな。ちなみにStringBufferを使う。
>でも、実はAnsiStringでcapacityを増やす方法を知らないんですが。
Delphiの場合は、SetLengthかな。
遅い原因はそれもあるのだが、innerHTMLを使っているということであろう。
Writeで追加書き込みしていけばそこそこ速いのだが、画面クリアの仕方が
分からんのだ。つーか、TWebBrowserとかCOMとかは素人だったり…。
- 382 :turbo type D@monazilla.org(藁 :2001/02/22(木) 10:22
- 下げるわけにもいかんのでage
- 383 :デフォルトの名無しさん :2001/02/22(木) 10:30
- 上げるわけにもいかんのでsage
- 384 :turbo type D@monazilla.org(藁 :2001/02/22(木) 11:48
- いわゆるタブブラウザやかちゅーしゃなどでは
WebBrowser部分はWebBrowserのインスタンスを沢山作って
いるのでしょうか?
- 385 :デフォルトの名無しさん :2001/02/22(木) 13:11
- http://yasai.2ch.net/test/read.cgi?bbs=win&key=982224259
なんだか、かちゅーしゃの作者様の心がゆらいでらっしゃる。
協力してくれるかもage
- 386 :デフォルトの名無しさん :2001/02/22(木) 13:12
- かちゅーしゃは複数のブラウザインスタンスをつくってるようです。
- 387 :turbo type D@monazilla.org(藁 :2001/02/22(木) 14:35
- を、一応レス閲覧コードが書けた。(アプしてないけど)
初めて動作させるけどどきどきするなあ。
- 388 :turbo type D@monazilla.org(藁 :2001/02/22(木) 14:39
- あ、まだメソッドを呼ぶActionが無かった。あせるな>ジブン
さて、今日もコード公開
誰でも作れるけど、誰かが作っていたら楽な関数
////////////////////////////////////////////////////////////
{ DataTimeToFmt2ch
Fmt2chToDateTime
// 名前:turbo type D@monazilla.org(藁
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ
ココカラノコードハ: 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;
////////////////////////////////////////////////////////////
- 389 :turbo type D@monazilla.org(藁 :2001/02/22(木) 15:31
- >>386ども。
よし。レス内容データ読み込みだけは確認出来た。
あとはどのようにしてWebBrowserに読ませようか
ファイルに落としてからNavigateするのはわかるが
直接Documentに落とす方法はさっぱりわからない。
(次からはTWebBrower組み込むからD5専用な。)
誰かオシエレ(態度デカ!)
現在はモナヂラスレの内容を読むために
単にhttp://piza.2ch.net/tech/dat/981726544.dat
を読んでいるのだがこれでいいのか?
read.cgiには迷惑かけずに最新情報を読むことになってる?
- 390 :turbo type D@monazilla.org(藁 :2001/02/22(木) 15:34
- AVIファイルの作り方おしえてくれい。
- 391 :gikozilla :2001/02/22(木) 16:53
- >>390
これはどう?使ったことないけど、、、
http://www.emurasoft.com/jp/emavi/index.htm
- 392 :turbo type D@monazilla.org(藁 :2001/02/22(木) 17:18
- ふらりと見に行ったWin板で
"新2ちゃんねる用ブラウザ"
ってのが出てて、しかもめちゃ荒らされている...
http://yasai.2ch.net/test/read.cgi?bbs=win&key=982224259
ああ、哀れ
- 393 :turbo type D@monazilla.org(藁 :2001/02/22(木) 17:20
- スレ先間違えた。
俺の方が憐れだ、宇津田ヒカル
http://yasai.2ch.net/test/read.cgi?bbs=win&key=982429839
>>391、どもアリガト
- 394 :turbo type D@monazilla.org(藁 :2001/02/22(木) 17:53
- ♪聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ
>>391
すごく使い勝手わるいよ。
聞いてくれてあーりがと アロエリーナ♪
\______ ___________/
. |/
(○) ∧_∧
ヾ|〃 (∀・ ,,,)∩゛
□. (∩∩ , ⌒つ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
- 395 :turbo type D@もなヂ :2001/02/22(木) 18:36
- これがいいかも。
http://www.vector.co.jp/soft/win95/art/se169298.html
- 396 :Dax :2001/02/22(木) 22:21
- >>388
ナイス!
汎用関数ライブラリつくりましょっか?
- 397 :119 :2001/02/22(木) 22:48
- type
TNichDownloadEvent = procedure(Sender: TObject; Index1, Index2: Integer)
of object; // Sender.Lines[Index1..Index2]をダウンロードした
TNichDownloadableObject = class
public
property Url: String;
proeprty Lines: TStrings; // TStringsで扱ってくれると楽チンなんだが...
proeprty OnStartDownload: TNotifyEvent;
property OnProgressDownload: TNotifyEvent;
property OnFinishDownload: TNotifyEvent;
end;
TNichDownloadType = (dtAll, dtDiff); // 全て取得・差分のみ取得
// 抽象ダウンローダ
TNichCustomDownloader = class
protected
FList: TObjectDeque; // TNichDownloadableObjectのインスタンスを保持
public
property UseProxy: Boolean;
property Proxy: String; // '0.0.0.0:8080'という形式が楽チン
procedure StartDownload(Nich: TNichDownloadableObject;
Whole: Boolean = False; // 全て取得(FALSEなら更新チェック&差分取得)
Deferred: Boolean = False // 順番を後回しにする
); virtual; abstract;
procedure CancelDownload(Url: String);
proeprty OnStartDownload: TNotifyEvent;
property OnProgressDownload: TNotifyEvent;
property OnFinishDownload: TNotifyEvent;
end;
// ローカルキャッシュダウンローダ
TNichCachedDownloader = class
public
property Size: Integer; // カレントキャッシュサイズ
property MaxSize: Integer; // 最大キャッシュサイズ
property Directory: String;
// キャッシュディレクトリ
// こればっかりはレジストリで設定すべき
procedure Clean(LeftSizeMB: Integer; option...); // キャッシュをクリア
procedure Write(nich: TNichDownloadableObject);
end;
// HTTPダウンローダ
TNichHttpDownloader = class
public
end;
// FTPダウンローダはいらないか...
// 2chダウンローダ
// やることはcache&httpからLines:TStringsへダウンロードするだけ。
// Linesの解析は委譲元(nich: TDownloadableObject)が行う。
// 開発初期段階はシングルスレッド版(StartDownloadを呼び、ダウンロード完了後に制御を戻す。
// 途中でApplication.ProcessMessagesを呼ぶかもしれない)
// 差分取得は全て取得してしまう。
// 完成したら、順次マルチスレッド・差分取得を実装していく
TNichDownloader = class
protected
cache: TNichCacheDownloader;
http: TNichHttpDownloader;
public
procedure StartDownload(Nich: TNichDownloadableObject;
Whole: Boolean; Deferred: Boolean);
begin
// cacheとhttpを組み合わせてダウンロード
cache.StartDownload(Lines, Url, Whole, Deferred); // こっちはその場で復帰するはず
http.StartDownload(Lines, Url, Whole, Deferred); // こっちはスレッドでダウンロードを開始するだけ
// nichのイベントの発生のさせ方は一考の余地あり
// ダウンロードが終わったらキャッシュする。
cache.Write(Nich);
end;
end;
- 398 :119 :2001/02/22(木) 22:53
- 例によって中身のないマルチスレッダブル(??)HTTP・キャッシュ
統合ダウンロードクラスを書いてみた。
HotZonuも良いがダウンロード・キャッシュ・プロクシ等の
コード・設定があちこちに散らばるのは面倒なので、
データをTStringsかstreamに統一して、
ダウンローダを板・スレリストクラスから分離すべきだと思う。
あとModel, Viewも意識的に切り分けないとね。
なんていってると遅くて使い物にならなくなるかもしれないが...
- 399 :フッサール少佐 :2001/02/22(木) 23:15
- ちょっとだけ更新しました。
http://www.geocities.co.jp/SiliconValley-Cupertino/1026/lzh/giko0222.lzh
- 400 :ヒロユキ@ギコナビ :2001/02/22(木) 23:29
- >>398
>あとModel, Viewも意識的に切り分けないとね。
>なんていってると遅くて使い物にならなくなるかもしれないが...
結構、重要ですよね。
でも、ウィンドウズのTreeViewだとどうしてもTreeView内にデータが入るので
ここをどうするかが問題になりそうです。
せっかくモデルを作成しても、タコTreeViewのお陰で複雑になります。
TreeViewとモデルの間に一つ挟めばいいのかな?
VirtualTreeViewなんてモードがあればいいんだけど。
- 401 :Dax :2001/02/22(木) 23:38
- >>398
なるほど。
HotZonuもその形式に変更していきたいと思います。
なんか難しそだな。。。
- 402 :Dax :2001/02/22(木) 23:43
- >>400
TreeViewのDataにオブジェクトを入れるのはまだいいと思います。
ノードと板スレオブジェクトを関連付けるクラスがあっても
いいかもしれませんがなんか複雑になりそう、、
逆に板やすれのオブジェクトがノードを持っているのはちょっと好きくないです。
- 403 :デフォルトの名無しさん :2001/02/22(木) 23:45
- あんまりこってないのでテスト用の自家製のモナ AVIをアップしたよ。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaavi.lzh
↓こんな感じ
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/mona.gif
- 404 :デフォルトの名無しさん :2001/02/23(金) 00:49
- まえにこんなの作ったら、コードがかなり単純になった。
コードなくなっちゃったけど。
function SearchTreeNode(TreeView: TTreeView; Path: String): TTreeNode;
// あれば'\foo\bar\baz'を検索して返す
// なければ無理やり階層作って返す。
tn := GetTreeNode(TreeView1, '\foo\bar\baz');
- 405 :デフォルトの名無しさん :2001/02/23(金) 09:54
- そろそろ書き込みについても考えませうage
- 406 :turbo type D@もなヂ :2001/02/23(金) 09:56
- >>400ヒロユキ
オレはTreeViewのTreeNode.Dataに
TNichBoardを入れてポインタでリンクしてるよ。
で、実際のTNichBoardの管理はTreeViewとは
独立している。
今の所は生成方法でTNichBoardを作るときに
TreeViewのItemも構成してしまってるから
ちょっと絡まってるけど分離は実に楽だよ。
TTreeViewをTListBoxに差し替えるたり
TNichSite
└TNichCategory
└TNichBoard
└TNichThread
└TNichRes
というデータ構造をしっかり保持しておいて
さらに
TTreeView
└TTreeNodes
└TTreeNode
└Dataプロパ=TNichBoard
こうしてるわけ。
- 407 :turbo type D@もなヂ :2001/02/23(金) 09:58
- >>402Dax
TNichSiteにはプロパとして
使用するTTreeNodeをポインタとして代入しておくと
TNichBoard側からもTTreeViewを参照できるよ
TNichBoard.OwnerCategory.OwnerSite.TreeView=
実際に画面に存在するTreeViewという事になる。
Daxには仏に説法か。(藁
TNichBoardがTNichNodeを保持するのはオレも好きでない。
if TTreeView.Items[i].Data=Self then
で検索してもいいかもね。
>>398=119
勉強させてもらいます。
ダウンロードの構造はまだ考えていなかった。
一般的なやり方ってのはどういうものなのだろうか....
マルチスレやサブンダウソも
ダウンロードクラス差し替えで
- 408 :turbo type D@もなヂ :2001/02/23(金) 10:02
- テイセ
マルチスレ→マルチスレッド対応
ダウンロードクラスだけ差し替えたら動作するような
機能分けが欲しい。
TDataModule上にダウンロード機能を構成しておくと
IndyやHTTPCLIに対応したときも
差し替えが実にらくだと思うよ。
- 409 :turbo type D@もなヂ :2001/02/23(金) 10:09
- >>405
>そろそろ書き込みについても考えませうage
ダネ。ギコナビスレ、2chブラウザスレ、かちゅしゃスレで
話にあがっていたかも。
参考レス教えてクレソ
オレもAVI作ったんだけど(ヘチョいけどもナー)
アニメGIF作る方法がわかんね(T∀T)
教えてクレクレ厨房ですのでオシエテクラサっィィィィィィィィィィィィィィィィィ
>>403
裏になると顔が変わったらインパクあっていいかモナー
- 410 :デフォルトの名無しさん :2001/02/23(金) 15:34
- >>409
AVI,私はMacromediaのExtreme3dってのを使いました。
あ、フリーのツールじゃないです。
- 411 :turbo type D@monazilla :2001/02/23(金) 15:56
- >>410
そうですか。フリーでアニメGIFはやはりないですかね。
>>402Dax,
ホットゾヌでレス一覧を取得できるようには出来ないでしょうか?
- 412 :デフォルトの名無しさん :2001/02/23(金) 17:18
- あ、アニGIFツールはかなり昔にゲットしたのがありました。
今はライセンスの問題で配布してないようです。
手元にあるのをジオにアップしました。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/anigif.lzh
- 413 :turbo type D@monazilla :2001/02/23(金) 18:32
- >>412
どもども、ゲットしました。
- 414 :デフォルトの名無しさん :2001/02/23(金) 18:32
- 元あるGIFを組み合わせて、アニメGIFをつくるのはライセンスの問題に引っかからないはずだから、
そういうソフトを見つけてくるか、もしくは作るか…。
- 415 :turbo type D@monazilla :2001/02/23(金) 19:34
- メールテスト
>>414,TGifImageで作れるのかな?
- 416 :turbo type D@monazilla :2001/02/23(金) 22:02
- よっしゃ。
TWebBrowserでレス一覧まで見れるようになった!(遅いけど)
今日中にアプします。
- 417 :ヒロユキ@ギコナビ :2001/02/23(金) 23:57
- >>406
ギコナビもDataに入れてます。
ちなみに、
TBBS2ch (extends TList)
└TCategory (extends TList)
└TBoard (extends TList)
└TThreadItem (extends TObject)
な感じなのですが、モナプロのほうが綺麗なクラス群ですなぁ。
あと、書込みの注意点。
書き込みするときには、クッキーを送ってやる。
書き込み文字列はURLEncodingする。(HTTPAppユニットのHTTPEncodeで可能)
具体的には、以下のようになると思います。
FROMとか大文字小文字を区別しているようなので注意。
s := 'submit=' + HttpEncode('書き込む') + '&
+ 'FROM=' + HttpEncode('ヒロユキ@ギコナビ') + '&'
+ 'mail=' + HttpEncode('sage') + '&'
+ 'MESSAGE=' + HttpEncode('書き込みたい文字列') + '&'
+ 'bbs=' + 'tech' + '&'
+ 'key=' + スレ番号(ex. 981726544) + '&'
+ 'time=' + 時刻(注);
な感じを送ります。
僕の場合、時刻は以下のメソッドで取得しています。
//2ch日付取得(1970年からの秒数-9時間)
//現在の時刻(now)を渡してください
function TGikoSys.Get2chDate(aDate: TDateTime): string;
var
d1: TDateTime;
d2: TDateTime;
begin
d1 := EncodeDate(1970, 1, 1);
d2 := aDate - EncodeTime(9, 0, 0, 0);
Result := FloatToStr(Trunc((d2 - d1) * 24 * 60 * 60));
end;
- 418 :turbo type D@はみ出しプログラマ酔っ払い :2001/02/24(土) 02:50
- > TBBS2ch (extends TList)
> └TCategory (extends TList)
> └TBoard (extends TList)
> └TThreadItem (extends TObject)
これもいいじゃないですか。というか
ギコナビの方が順当でわかりやすいかな思いますよ。
いろいろ迷ったんだけどまあ所有か継承なので
実現できればどっちでもいいか。
(いずれギコナビ方式にしようかモナー)
>>119の
T2chObject実装にしても迷いましたよ。いまだに。
オレもAVI作った
AVIファイル
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monarotation.lzh
GIF
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monarotation.gif
- 419 :turbo type D@はみ出しプログラマ酔っ払い :2001/02/24(土) 04:11
- モナプローラ、アプしたよ。
うごくかな。
TWebBrowser使ってるからD5限定ね。
あと、次からは多分パッケージもインストールするようにします。
コンポ使わないとコーディングが面倒なので。
- 420 :turbo type D@monazilla.org :2001/02/24(土) 04:15
- あ、レス一覧を参照できるようになりました。
実に使いにくい2chビューワーとしてなら使えるはずです。(w
- 421 :デフォルトの名無しさん :2001/02/24(土) 11:55
- >>419
Browser.pas と MemCheck(例のメモリリークチェッカ?)
ってのが無いってエラーが出るーーー
- 422 :デフォルトの名無しさん :2001/02/24(土) 12:00
- あ、違った。
単に MemCheckが無いってエラーでした。
- 423 :turbo type D@monazilla.org :2001/02/24(土) 15:10
- プロジェクトソースの該当個所をコメントアウトしてくれ
>>350>>351を参考にね.
>>書記さん、メモリリークの解決方法へのリンク張って
頂くとうれしいかも。
- 424 :turbo type D@monazilla.org :2001/02/24(土) 19:18
- ところで、モナヂラ ドット”オルグ”って読み方あってる?
- 425 :デフォルトの名無しさん :2001/02/24(土) 23:17
- AVIでアニメーションさせるんなら
0..100%で進捗状況を表すようにしない?
- 426 :デフォルトの名無しさん :2001/02/25(日) 00:01
- >>417
質問。
リクエストメソッドはGETでも大丈夫なの?
この2chはPOSTで送っているみたいだけど。。
- 427 :フッサール少佐 :2001/02/25(日) 00:19
- >>426
datファイルやsubject.txtならGETでOK。
CGIを動かすならPOST。
- 428 :フッサール少佐 :2001/02/25(日) 03:16
- >>427
ああ、スマソ。一体何を書いていたんだ。無かったことにしてくれ。
- 429 :デフォルトの名無しさん :2001/02/25(日) 08:13
- >>425
余り関係ないが、AdobePremireの待機カーソル(砂時計みたいなの)妙に腹立たないか?
- 430 :turbotypeD@モナぢら :2001/02/25(日) 15:38
- >>425
それはね。WinInetでは難しいのよ。
・・・そうでもないって話もあるな。
WinInetでの%実装…思い浮かんだぞっと。
差分ダウソと絡めて実装したいね。
- 431 :turbo type D :2001/02/26(月) 10:33
- なんか下がりまくってるし....
- 432 :turbo type D :2001/02/26(月) 16:03
- Delphiの弱点というか、
コンポーネントを継承して
そのコンポーネントの生成などを考えずに
IDE上でコーディングしようとすると
非常に面倒ですね。
面倒すぎるので、動的生成させることにしました。
だからパッケ−ジ化も特に必要なし。
- 433 :デフォルトの名無しさん :2001/02/26(月) 16:32
- >>432
同意。
独自のコンポーネント作ってアプリに組み込んでも、
他人にインストールを強要するのがイヤでいつも動的生成にしちまう。
そのかわり動的生成だと、配置やプロパティ設定がウザイ。
このへん、どうにかにかならんもんかねぇ。
- 434 :turbo type D :2001/02/26(月) 16:48
- >>433、を、やっぱりそう思いますか。
IDEの設定がコーディングレベルに落ちて
プロパ設定もソースで見えるように
VB.NET/JAVAでは改善していたと思う。
あまりしらないけど。
Delpヒもさっさと改善望む。
さて
動的生成タイミングなんですが
FormCreateでやればいいのでしょうか?
あと、CreateParentedってのはなんですか?
VCLじゃないWindowにコントロールを載せる為の
特殊なCreateと考えていい?
- 435 :turbo type D :2001/02/26(月) 17:37
- FormCreateで問題ないことがわかった。
あと、TWebBrowserの動的生成は特殊なんだね。
var Browser : TWebBrowser ;
begin
Browser := TWebBrowser.Create(Self);
Browser.Align := alClient ;
TOleControl(Browser).Parent := Self ;
Browser.HandleNeeded ;
http://www.users.gr.jp/ml/archive/delphi/25250.asp
ここをみた。
ギコナビもオプソになったし
おもしろいね。
- 436 :Dax :2001/02/26(月) 18:27
- >>397
119さん、こんな感じでしょうか?
雰囲気だけですが実行してHTMLを取ってくるとこまでは動きます。
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/hotzonu0226.lzh
- 437 :turbo type D :2001/02/26(月) 19:24
- ホットゾヌを組み込もうかと調べていたんだけど
アスキアトすごいね。
カテゴリとボードについてそれぞれ
TCollectionとTCollectionItemがあるんすね。
このままスレとレスについても
同じようなコードで実装するのでしょうか?
- 438 :Dax :2001/02/26(月) 21:09
- >>437
いや、スレ/レス取得はダウンローダと解析処理を分けようと思います。
ですので全然違うコードになると思います。
つーか板一覧も変わります。スマソ..
- 439 :Dax :2001/02/26(月) 21:31
- やっぱコレクションは不便ですかねー?
次回はギコナビみたいな TList 継承にしよー。
- 440 :デフォルトの名無しさん :2001/02/26(月) 22:18
- ホットゾヌのソース見て、飲んでたお茶ふきだしそうになった…。アブねぇ…。
- 441 :デフォルトの名無しさん :2001/02/26(月) 22:19
- 動画つくりました!
今度は裏に別の顔があります。
AVIとBMPはここ
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaavi2.lzh
サンプルGIFはここ
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/mona02.gif
- 442 :Dax :2001/02/26(月) 22:44
- >>440
やっぱ AA 張りきりすぎ?
それともロジックが変だったってこと!?
- 443 :フッサール少佐 :2001/02/27(火) 00:22
- writeの正しい使い方がようやく分かった。
document.open('text/html', 'replace');
これが必要だったらしい。待て、次号。
- 444 :119 :2001/02/27(火) 00:28
- Delphi以外の言語(特にスクリプト系)で参入しやすいように
一連のクラス郡をオートメーションサーバにしちゃうってのはどう?
用途としては、とりあえず以下のものが考えられる。
・コマンドライン巡回ツール
・WebBrowser表示用のdat->htmlフィルタ
#2ch標準より読みやすい表示はいくらでもありそうだね。
#これはオートメーションとは関係ないけど。
・キャッシュクリーンアップ
・CUI,GUIフロントエンド(DelphiとVBの夢の共演が実現か?:-)。
- 445 :デフォルトの名無しさん :2001/02/27(火) 02:19
- / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
聞いてアロエリーナ ちょっと言いにくいんだけど
聞いてアロエリーナ
>・GUIフロントエンド
特定のスレを定期的にチェックして新着の内容を
吹き出しで表示する常駐ツールなんてどうよ?
聞いてくれてありがと アロエリーナ♪
\________ _______/
|/
∧_∧
Ψ (∀・ )
□ (∩∩ノ)
// ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ }
- 446 :440 :2001/02/27(火) 07:04
- コメントのAAにびっくらこいただけだよ。その調子で頼むよ(藁
- 447 :Dax :2001/02/27(火) 08:27
- >>444
ActiveXコントロールを作ろうかと思ってたんですが
オートメーションサーバーの方が小回りききますね。
>>446
クラスとクラスの間に貼ってあるリアルゾヌ(勝手に命名)の AA がお気に入りです。
- 448 :turbo type D :2001/02/27(火) 10:03
- >>443少佐・まってます。('w')ゞ
>>Dax
コレクショとコレアイテムは1階層だけでの実装が自然だと思う。
だから2chのようなデータ構造を保持するには
少々不自然かな。
ソースは綺麗ですよ。
今日は気合入れていくぜ。
オフライン&WebBrowser動的生成は実装できた。
読み込み中に
Appli.ProcessMessageしてると
予想していないポインタのズレから
>>441
動画ないす!
モナプロラではUI上から動画を切り替えられるようにしておこうっと。
- 449 :turbo type D :2001/02/27(火) 11:53
- >>441さんの動画
なぜかTAnimeでは開けないの
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaavi.lzh
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/monaavi2.lzh
なぜだろう。
- 450 :名無しさん@お腹いっぱい。 :2001/02/27(火) 12:54
- ActiveXコントロール/コントロールコンテナから
WordやExcelのドキュメントの書き込み禁止/許可を
させるにはどうしたよいのでしょうか?
- 451 :名無しさん@お腹いっぱい。 :2001/02/27(火) 12:55
- スレまちがえました。すいません。
- 452 :turbo type D :2001/02/27(火) 18:51
- うまくいかん!、ぐう(x∀x)
- 453 :turbo type D :2001/02/27(火) 19:04
- Browserの進むと戻るって
どのように実装されてるのかな?
GoBackメソッドとかあるけど。
詳説キボーン
あとWebBrowserに関するテクニックを
知っている人は沢山教えてくださいな。
- 454 :turbotypeD@モナぢら :2001/02/27(火) 22:09
- かちゅーしゃのように
WebBroweserで開い後に自動的にスクロールする方法がわかんない。
- 455 :デフォルトの名無しさん :2001/02/27(火) 22:12
- 番号にブックマーク(#1とか)を指定してそこに移動すればいいんじゃない?
CHtmlView クラス メンバ
http://www.microsoft.com/japan/developer/library/devprods/vs6/visualc/vcmfc/vcrefchtmlviewclassmembers.htm
- 456 :Dax :2001/02/27(火) 22:12
- >>454
かちゅーしゃでHTMLソースを見るとレスごとに
アンカーが設定してあります。
Navigate時にアンカー指定で表示しているんだと思います。
- 457 :turbotypeD@モナぢら :2001/02/27(火) 22:36
- そうか!あったまいい!
- 458 :デフォルトの名無しさん :2001/02/27(火) 22:38
- かちゅーしゃの「以前読んでいた位置」はこれ。
Documentにアクセスしているので、Navigateは(最初以外)してないと思うよ。
http://piza.2ch.net/test/read.cgi?nofirst=true&st=142&to=142&bbs=tech&key=974446449
その他、Elementはanchorに限らないけど、scrollIntoViewあたりがよろし。
- 459 :Dax :2001/02/27(火) 22:51
- >>458
おお!なるほど、確かに Navigateだとぎゅい〜んって動いちゃうよね。
- 460 :turbo type D@monazilla.org(藁 :2001/02/28(水) 09:41
- なんかスレずいぶん落ちてるんだけど
みんな疲れてるの?
- 461 :デフォルトの名無しさん :2001/02/28(水) 09:48
- みんな会社でまじめに働いてるからです(藁
317KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30