IEの指定した文字を取得するには。
PD 2013/5/21(Tue) 18:13:35|NO.54190
IEを非表示で開き、その中から
特定した文字を取得し
その文字があればAの作業。
なければ、Bの作業。
と言う感じにしたいのですが
どうしたらいいでしょうか?
できれば、サンプル頂けたら
ありがたいです。
cats 2013/5/21(Tue) 20:11:04|NO.54192
文字というのはサイトのなかの文字のことですか?
ならIE コンポーネントよりhspinet等を使うと簡単ですよ。
パソコンからではないのでサンプル挙げられません、すいません。
hspinet でサイトのプログラム所得するだけです。
とおりすがり 2013/5/21(Tue) 23:53:35|NO.54201
HSPのsampleフォルダの中に、hspinetのサンプルもあります。
test6.hsp や test7.hsp あたりがサイト内容の取得の参考になると思いますがどうでしょうか。
取得した後の文字列の検索については、 note系や instr等の、文字列操作命令、文字列操作関数をヘルプで調べてみることをおすすめします。
PD 2013/5/22(Wed) 00:09:04|NO.54202
すみません・・
少しやってみたのですがちょっと難しそうで・・
http://www.geocities.jp/mkmotor1109/aaaaa.html
の中の ”更新” の文字を取りだしたいんですよね。
アップデート通知に応用したいんですよね・・
HTMLからだとわからなくなってw
”更新”の文字が書いてるときに
サイトからダウンロードできる形にしたくて><
とおりすがり 2013/5/22(Wed) 22:21:26|NO.54215
そのページは私の環境では正常に表示できませんでした。
状況をもうすこし正確に把握できれば、方法を教えてくださる方があらわれるかもしれません。
YSR 2013/5/22(Wed) 23:54:52|NO.54217
PDさんが挙げたサイトを見てみましたが、「ケケソキvar_2.0」としか書かれていない、ような……。
(ブラウザはOpera12.15、Win7環境)
コメントをググる限りでは、どうやらそこのURLにアクセス許可がないとかそれ系っぽいです。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1124831146
晩御飯 2013/5/23(Thu) 00:13:58|NO.54220
文字コードがEUC-JPになっているから変えるといいよ
PD 2013/5/23(Thu) 00:17:01|NO.54221
ああ、ホントですか!
それはただ、ヤフーのサイトのgeocitiesを借りて
そこに ”更新”ってだけの文字をいれてるだけなんですw
その”更新”という文字がかかれていれば
指定のURL開き
なければ動作は何もしないと言う形にしたいんですよね・・
晩御飯 2013/5/23(Thu) 00:23:08|NO.54222
htmlのmetaタグで文字コード変えるかクライアント側で変換かければいいよ
test 2013/5/23(Thu) 00:35:26|NO.54224
hspinetをちょっとやってみたなら、どんなソースを書いてみて、どこがどんなふうにうまくいかなかったのかを書くとアドバイスがもらえるかもしれません。
あと、HSPは文字列をShift_JISで扱うので、HSPから読むためのページならEUC-JPよりも最初からShift_JISで書いておいたほうが変換処理がいらないので、おすすめします。
cats 2013/5/23(Thu) 15:02:28|NO.54232
こんな感じですかね?
エンコードがなかなか面倒です。
文字コード変換参考:http://hspdev-wiki.net/?Module%2F%CA%B8%BB%FA%A5%B3%A1%BC%A5%C9%CA%D1%B4%B9%A5%E2%A5%B8%A5%E5%A1%BC%A5%EB
#ifndef __ENCODE_AS__
#define global __ENCODE_AS__
#module "mod_encode"
#const global CODEPAGE_S_JIS 932 ; Shift-JIS
#const global CODEPAGE_EUC_JP 51932 ; EUC-JP
#const global CODEPAGE_JIS 50220 ; iso-2022-jp(JIS)
#const global CODEPAGE_UTF_7 65000 ; utf-7
#const global CODEPAGE_UTF_8 65001 ; utf-8
#const global CODEPAGE_UNICODE 1200 ; Unicode
#const global CODEPAGE_UNICODE_BE 1201 ; Unicode(Big-Endian)
#const global CODEPAGE_AUTODET_ALL 50001 ; auto detect all
#const global CODEPAGE_AUTODET 50932 ; auto detect
#usecom IMultiLanguage@mod_encode "{275c23e1-3747-11d0-9fea-00aa003f8646}" \
"{275c23e2-3747-11d0-9fea-00aa003f8646}"
#comfunc MuLang_ConvertString 9 var, int, int, var, var, var, var
#deffunc _encode_init
newcom ml, IMultiLanguage
return
#deffunc _encode_term onexit
delcom ml
return
#deffunc __FromSJIS@mod_encode str _src, int srcCodepage, var dest, int destCodepage, local src, local srcSize, local destSize, local pdwMode
pdwMode = 0
srcSize = -1
destSize= 0
src = _src
sdim dest
MuLang_ConvertString ml, pdwMode, srcCodepage, destCodepage, src, srcSize, dest, destSize
sdim dest, destSize + 1
MuLang_ConvertString ml, pdwMode, srcCodepage, destCodepage, src, srcSize, dest, destSize
return destSize
#defcfunc _ToSJIS@mod_encode var src, int srcCodepage, int destCodepage, local dest
__FromSJIS src, srcCodepage, dest, destCodepage
return dest
#define _FromSJIS __FromSJIS@mod_encode
#global
_encode_init
#define sjis2eucjp(%1, %2) _FromSJIS@mod_encode %2, CODEPAGE_S_JIS, %1, CODEPAGE_EUC_JP
#define sjis2jis(%1, %2) _FromSJIS@mod_encode %2, CODEPAGE_S_JIS, %1, CODEPAGE_JIS
#define sjis2utf7n(%1, %2) _FromSJIS@mod_encode %2, CODEPAGE_S_JIS, %1, CODEPAGE_UTF_7
#define sjis2utf8n(%1, %2) _FromSJIS@mod_encode %2, CODEPAGE_S_JIS, %1, CODEPAGE_UTF_8
#define ctype eucjp2sjis(%1) _ToSJIS@mod_encode(%1, CODEPAGE_EUC_JP, CODEPAGE_S_JIS)
#define ctype jis2sjis(%1) _ToSJIS@mod_encode(%1, CODEPAGE_JIS, CODEPAGE_S_JIS)
#define ctype utf7n2sjis(%1) _ToSJIS@mod_encode(%1, CODEPAGE_UTF_7, CODEPAGE_S_JIS)
#define ctype utf8n2sjis(%1) _ToSJIS@mod_encode(%1, CODEPAGE_UTF_8, CODEPAGE_S_JIS)
//ここまでエンコード用
#include "hspinet.as"
netinit
neturl "http://www.geocities.jp/mkmotor1109/"
netrequest_get "aaaaa.html"
mes "HTML取得開始"
*main
netexec res
if res > 0 : goto *comp
if res < 0 : goto *bad
await 15
goto *main
*bad
neterror estr
mes "エラー "+estr
stop
*comp
mes "HTML取得完了\n"
netgetv buf
mes "取得した文字:\n"+buf
mes "\nエンコード後の文字:\n"+eucjp2sjis(buf)
buf=eucjp2sjis(buf)
if instr(buf,,"更新")=-1{
mes "\n「更新」はありません"
}else{
mes "\n「更新」があります"
}
stop
PD 2013/5/23(Thu) 19:05:13|NO.54244
catsさんありがとうございます!
かなり理想的な感じですw
わざわざめんどうなことすみませんでした><
これで、悩み解決ですw