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


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0521
PDIEの指定した文字を取得するには。11解決


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



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