HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0715
HDLの使者ローカルHTML11未解決


HDLの使者

リンク

2010/7/15(Thu) 08:01:34|NO.33687

一時フォルダに生成してからの読み込みはあきらめ、自分なりに作ってみようと思い、
IEコンポーネントサンプルをいじってみました。

早速、問題発生www

PACKFILEにローカルHTMLを格納して読み込もうとしたんですが、・・・なんか無理みたい



この記事に返信する


あまま

リンク

2010/7/15(Thu) 15:37:45|NO.33694

どんな事をしようとしたのかわかりませんし、
PACKFILE内のHTMLファイルを読み込みを試してみてもいませんが
PACKFILEに格納するファイルは拡張子を含め
ファイル名が15文字以内という制限があります。

またディレクトリを表現することもできません。

そのあたりの問題では?



木村

リンク

2010/7/15(Thu) 18:31:26|NO.33703

>>一時フォルダに生成してからの読み込みはあきらめ、自分なりに作ってみようと思い、
>>IEコンポーネントサンプルをいじってみました。
 『読み込みはあきらめ』と言う文言から、ひょっとして一度この掲示板で質問して回答を
得たものの、上手く行かなかった為に改めて質問し直したのかと思い過去ログを調べて
みました。
http://hsp.tv/play/pforum.php?mode=all&num=32163
 案の定、HDLの使者さん(旧:HDLの使いの者さん)の過去の質問に、一時フォルダ云々の件の
文面がありました。
 ……が、3か月前に提示した質問の延長だからと言って、ここまで内容を端折った質問を
されては、回答者側もHDLの使者さんの意図を掴み切れず、有効な回答が返せません。

 なので、以下の回答はHDL(これもHSP Document Libraryの事で良いのでしょうか?)の
使者さんの意図から外れているであろう事を承知で書かせていただきます。
 あらかじめ御無礼をば、と申し上げておきます。


 まず、一時フォルダまで削除する必要さえ無ければ、一時ファイルの生成から削除までの
工程自体は簡単です。以下は一例

#define BOX80(%1,%2,%3,%4,%5) color %3,%4,%5 : boxf %1, %2, %1+79, %2+79 adress = dir_cur buffer 3, 560, 80, 0 BOX80 0, 0, 255, 0, 0 BOX80 80, 0, 0, 255, 255 BOX80 160, 0, 0, 255, 0 BOX80 240, 0, 255, 0, 255 BOX80 320, 0, 255, 255, 0 BOX80 480, 0, 0, 0, 255 dirlist list, "一時フォルダ", 5 if stat = 0 { mkdir "一時フォルダ" dialog "[" + adress + "]に\n<一時フォルダ>を作成しました" } chdir adress + "\\一時フォルダ" bmpsave "一時ファイル.bmp" dialog "[" + adress + "\\一時フォルダ" + "]に\n<一時ファイル.bmp>を作成しました" delete "一時ファイル.bmp" dialog "[" + adress + "\\一時フォルダ" + "]から\n<一時ファイル.bmp>を削除しました" dialog "以上でテストは終わりです\n終了します" end
 実行ファイルのあるディレクトリに一時フォルダが常駐する点にさえ妥協できれば、
いくらでも一時ファイルを生成、一時保存できます。

 それと、PACKFILEに一時ファイルを格納する事は不可能なはずです。静的なデータの保管で
あればPACKFILEでも可能ですが、動的に生成消滅するデータを保管するのであれば、やはり
一時フォルダに生成するしか方法は無いと思われます。



HDLの使者

リンク

2010/7/15(Thu) 19:01:27|NO.33704

詳しい回答、心より感謝いたします。
そうなんですか・・・PACKFILEに格納したHTMLを読み込むのは不可能なんですね・・・

よーしっ!お二人の回答を参考にし、作ってみます!!!!!



木村

リンク

2010/7/15(Thu) 20:19:18|NO.33707

 空恐ろしい誤解をさせてしまったような気がするので補足します。
>>PACKFILEに格納したHTMLを読み込むのは不可能なんですね
 PACKFILEに格納したHTMLを読み込む事だけなら可能です。『PACKFILEに動的に変化する
ファイルを格納する事』が不可能なだけです。

 動的とは『変化する』と言う意味合いです。詳しい事は良く分かりませんが今までのHDLの
使者さんの言動から察するに、HDLの使者さんが読み込みたいデータは固定のデータではなく、
状況次第によって変化するデータだと思われます。

 RPGを例に取ります。
 静的、即ち固定されたデータとは、マップなり敵能力なりの『どんな時でも一定値の情報』
です。
 一方動的、即ち変化するデータとは、セーブデータやシステムファイルなりの『柔軟に
変化する情報』、言い換えれば『固定されていては意味を為さない情報』です。

 PACKFILEの中にファイルを入れるという事は、そのファイル全体を実行ファイルの中に
固定するという意味合いがあります。故に、新しく生成する事もできませんし、削除したり
変化させる事もできません。
 前述の例で言えばPACKFILEの中にセーブデータを無理矢理に組み込んでしまうと、情報が
固定されている為、削除もできなければ上書きもできず、セーブデータの用を為し得ません。

 以上のように、動的なデータをPACKFILEに組み込むと、システムが破綻してしまいます。
 それ故に『PACKFILEに一時ファイルを格納する事は不可能』と言ったわけで、決して
『PACKFILEに格納したHTMLを読み込むのは不可能』であるからPACKFILEに一時ファイルを
入れるなと言ったわけではないのです。この点、誤解されているようでしたら修正して
おいてください。


 最後に、多分いらぬお節介だったと思うのでお詫びを入れておきます。御無礼をば。



HDLの使者

リンク

2010/7/16(Fri) 18:13:14|NO.33725

ありがとうございます。試してみます。



HDLの使者

リンク

2010/7/16(Fri) 21:42:06|NO.33735

こんなんにしてみましたが、読み込めません。
<ファイル構成>
■HSP
┣■Sample
┃┣■Comobj
┃┃┣◇Comtest7.hsp
┣■Libraly
┃┣■Libraly
┃┃┣■Flame.html
=====================

; IEコンポーネントを使う
;
#define DIID_DWebBrowserEvents2 "{34A715A0-6587-11D0-924A-0020AFC7AC4D}"

#define DISPID_COMMANDSTATECHANGE 105
#define DISPID_BEFORENAVIGATE2 250
#define DISPID_NAVIGATECOMPLETE2 252
#define DISPID_ONQUIT 253
#define DISPID_ONMENUBAR 256
#define DISPID_ONSTATUSBAR 257
#define DISPID_ONFULLSCREEN 258
#define DISPID_WINDOWSETLEFT 264
#define DISPID_WINDOWSETTOP 265
#define DISPID_WINDOWSETWIDTH 266
#define DISPID_WINDOWSETHEIGHT 267
#define DISPID_ONTHEATERMODE 260

chdir "../../Libraly"
cls 1
sdim url,512
url="Libraly/Flame.html"
objsize 600,24
pos 0,2:mes "URL:"
pos 0,26:mes "WEB Browser Sample"
pos 40,0:input url
objsize 120,24
pos 520,24:button "移動",*wow
pos 400,24:button "進む",*go_f
pos 280,24:button "戻る",*go_b
pos 0,48
axobj ie, "Shell.Explorer.2",640,480-48
num=stat
comevent ie_event, ie, DIID_DWebBrowserEvents2,*event
ie->"Navigate" url

*main
stop

*event
; COMイベント処理
dispid = comevdisp(ie_event)
if dispid = DISPID_BEFORENAVIGATE2 : gosub *OnBeforeNavigate
if dispid = DISPID_NAVIGATECOMPLETE2 : gosub *OnNavigateComplete2
return

*OnBeforeNavigate
comevarg name,ie_event,1
objprm 0,name
return

*OnNavigateComplete2
pDoc = ie("Document")
name = pDoc("Title")
title name
delcom pDoc
return

*wow
ie->"Navigate" url
goto *main
*go_f
ie->"GoForward"
goto *main
*go_b
ie->"GoBack"
goto *main



木村

リンク

2010/7/17(Sat) 01:12:35|NO.33741

 多分『Error12』か『OSActが宣言されていません。』のどちらかだとは思いますが、
一応Error12に関してはディレクトリの位置をWindows形式で書いてやれば良いだけです。

 問題はOSAct云々なのですが、検索してみてもそれらしき単語が見つからず、私には
もうお手上げです。済みません。
 一応、No,33735のスクリプトを修正してみた代物を開発Wikiに置いておきます。
http://hspdev-wiki.net/?%B4%CB%CB%FD%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%B0%DC%C5%BE%C0%E8%2F%A5%ED%A1%BC%A5%AB%A5%EBHTML



 後HDLの使者さん、スクリプト部分は小文字の<PRE>と</PRE>で囲まれた方がよろしいかと
思いました。



HDLの使者

リンク

2010/7/18(Sun) 19:25:12|NO.33776

丁寧にありがとうございます。
今後スクリプトは<PRE></PRE>で囲むようにします。



HDLの使者

リンク

2010/8/14(Sat) 17:31:35|NO.34401

えっとつまり、hdl内で タグ打ちをさせるということでよろしいですか?



ワロスw

リンク

2010/8/20(Fri) 16:38:26|NO.34534

タグ打ちさせると膨大な文字量になりそうだが・・・



HDLの使者

リンク

2010/8/24(Tue) 12:46:09|NO.34604

えっ・・・と
ではPACKFILEから取り出すという形でしょうか?



ONION software Copyright 1997-2021(c) All rights reserved.