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


HSPTV!掲示板


未解決 解決 停止 削除要請

2021
1108
ねんねこ5787アップデートしてしまう13解決


ねんねこ5787

リンク

2021/11/8(Mon) 12:22:55|NO.94341

このスクリプトで、実行すると、アップデートしないのに、アップデートしてしまいます。

#packopt version "ver.txt" #packopt manifest "admin.manifest" #include "kernel32.as" title "58lala Setup" color 0,0,200 boxf font "MS UI Gothic",80 color 255,255,255 // 実行ファイルの二重起動防止 (by Kpan) // http://lhsp.s206.xrea.com/hsp_system.html#5 #define ERROR_ALREADY_EXISTS $B7 ; 第3パラに適当なユニーク文字列を指定する CreateMutex 0, 0, "58lala Setup" ; エラーコードを確認 GetLastError if stat = ERROR_ALREADY_EXISTS { dialog "すでに起動しています。起動していないときは、再起動してください。" end } #include "hspinets.as" //#include "hsp3utf.as" #include "zipfile.as" netinit version="https://nennneko5787.web.fc2.com/58lala/" neturl version netdlname "status.txt" netload "ver.html" notesel txt noteload "status.txt" a=instr(txt,0,"{Version:0.9}") if a!=0:goto *apudegaarudeyo onerror goto *error mes "58lala Setup" font "MS UI Gothic",20 mes {"ここでは、58lalaのセットアップが行えます。 次へ進むには、次へボタンを押してください。"} button "次へ",*setup2 stop *setup2 cls color 0,0,200 boxf color 255,255,255 chdir "C:\\Program Files (x86)\\" font "MS UI Gothic",40 mes "どのエディションをインストールしますか?" font "MS UI Gothic",20 mes "58lala HomeEdition",1:button "選択",*homee pos 0,60 mes "58lala Professonal",1:button "選択",*proe pos 0,80 mes "58lala Education",1:button "選択",*edue stop *error mes {"エラーが発生しました。 下のボタンを押してメールを送信してください。"} button "メール",*mail stop *mail exec "info_5787@tensi.org",16 end *homee et=1 goto *setup3 *proe et=2 goto *setup3 *edue et=3 goto *setup3 *setup3 cls color 0,0,200 boxf color 255,255,255 font "MS UI Gothic",30 mes "まだできてません!!次のアプデまでお持ちください!!" //txt="てすと" //notesel txt //notesave "test.txt" stop *apudegaarudeyo dialog "アプデがあるでよ\nダウンロードします。" goto *apude *apude neturl "https://github.com/Nennneko5787/58lala_SetupFiles/archive/refs/heads/" netdlname "58lala_setup.zip" netload "/main.zip" s1=dir_cur ZipExtract "58lala_setup.zip",s1 if stat : dialog "アプデに失敗しました":end dialog "アプデに成功しました。終了します。" delete "58lala_setup.zip" end



この記事に返信する


そら

リンク

2021/11/8(Mon) 13:32:47|NO.94342


a=instr(txt,0,"{Version:0.9}") if a!=0:goto *apudegaarudeyo
a!=0となっていますが、a!=-1では?



ねんねこ5787

リンク

2021/11/8(Mon) 13:46:06|NO.94343

>>94342
-1にしても「アプデがあるでよ」



Crystal

リンク

2021/11/8(Mon) 17:38:24|NO.94345

スクリプトにあるURLを確認しましたが、すべて404 NotFound(サイトが存在しない)となっています。
これを確認した上で再度実行してみてはどうでしょうか?



わたしです

リンク

2021/11/9(Tue) 00:22:14|NO.94346

instrのヘルプを読んでみましょう
>>p1で指定した文字列型変数の中に、"string"で指定した文字列があるかどうか調べて、インデックスを返します。
記載されている通り、instrは
文字列がある場合にインデックスが返ってくるもので、
文字列があれば0、なければ-1になるものではないです。

上記を踏まえた上でダウンロードした「ver.html」を見るか
instrの後に「dialog a」をいれるかなどしてみて
指定した文字列のインデックスを確認しましょう
おそらく「124」となるはず。

続いて「if a!=0:」ですが、
先ほど確認した通りインデックス(つまり変数aの数値)は
0でもなければ-1でも無い為「goto *apudegaarudeyo」が実行されている
ということですね。



わたしです

リンク

2021/11/9(Tue) 00:28:33|NO.94347

忘れてました、追記です
>>94345
についてですが、netloadのファイル名まで入れれば普通に表示されたので
URLの指定に問題はないと思います。
少なくともfc2側の方は。gitの方は見る必要無さげだったので確認してません。



Crystal

リンク

2021/11/9(Tue) 21:34:00|NO.94348

netloadの部分を見逃していました。全く異なる回答になってしまったことをお詫びいたします。



そら

リンク

2021/11/11(Thu) 02:01:35|NO.94354

わたしですさんのレスが全て。instrの使い方が間違ってる。

まずスレ主は日本語というか、自分の言葉遣いをデバッグしてみては?



ねんねこ5787

リンク

2021/11/11(Thu) 17:55:15|NO.94356

>>94354
意味深な発言になってしまいました。
修正版です。これでもアップデートしてしまいます。

#packopt version "ver.txt" #packopt manifest "admin.manifest" #include "kernel32.as" title "58lala Setup" color 0,0,200 boxf font "MS UI Gothic",80 color 255,255,255 // 実行ファイルの二重起動防止 (by Kpan) // http://lhsp.s206.xrea.com/hsp_system.html#5 #define ERROR_ALREADY_EXISTS $B7 ; 第3パラに適当なユニーク文字列を指定する CreateMutex 0, 0, "58lala Setup" ; エラーコードを確認 GetLastError if stat = ERROR_ALREADY_EXISTS { dialog "すでに起動しています。起動していないときは、再起動してください。" end } #include "hspinets.as" //#include "hsp3utf.as" #include "zipfile.as" netinit version="https://nennneko5787.web.fc2.com/58lala/" neturl version netdlname "status.txt" netload "ver.html" notesel txt noteload "status.txt" a=instr(txt,0,"{Version:0.9}") if a!=-1:goto *apudegaarudeyo onerror goto *error mes "58lala Setup" font "MS UI Gothic",20 mes {"ここでは、58lalaのセットアップが行えます。 次へ進むには、次へボタンを押してください。"} button "次へ",*setup2 stop *setup2 cls color 0,0,200 boxf color 255,255,255 chdir "C:\\Program Files (x86)\\" font "MS UI Gothic",40 mes "どのエディションをインストールしますか?" font "MS UI Gothic",20 mes "58lala HomeEdition",1:button "選択",*homee pos 0,60 mes "58lala Professonal",1:button "選択",*proe pos 0,80 mes "58lala Education",1:button "選択",*edue stop *error mes {"エラーが発生しました。 下のボタンを押してメールを送信してください。"} button "メール",*mail stop *mail exec "info_5787@tensi.org",16 end *homee et=1 goto *setup3 *proe et=2 goto *setup3 *edue et=3 goto *setup3 *setup3 cls color 0,0,200 boxf color 255,255,255 font "MS UI Gothic",30 mes "まだできてません!!次のアプデまでお持ちください!!" //txt="てすと" //notesel txt //notesave "test.txt" stop *apudegaarudeyo dialog "アプデがあるでよ\nダウンロードします。" goto *apude *apude neturl "https://github.com/Nennneko5787/58lala_SetupFiles/archive/refs/heads/" netdlname "58lala_setup.zip" netload "/main.zip" s1=dir_cur ZipExtract "58lala_setup.zip",s1 if stat : dialog "アプデに失敗しました":end dialog "アプデに成功しました。終了します。" delete "58lala_setup.zip" end



ねんねこ5787

リンク

2021/11/11(Thu) 18:01:07|NO.94357

よくみたら間違えてたよ!



ねんねこ5787

リンク

2021/11/11(Thu) 18:01:52|NO.94358

ご迷惑をおかけして申し訳ございません。



zrs90(5さい)

リンク

2021/11/12(Fri) 00:27:15|NO.94360

ねんねこさんへ
アップデートの問題は、解決しましたか?
まだなら、回答する意味があるかな?

if a!=-1 は、if a!-1 と同じ事を表しています。
HDL から if 命令の、マニュアルを見ると
C言語やJavaの書式が、(※ = を == 、! を =!)
として、hsp3.x上で使える事になってます。
(※紛らわしいけどね。)

...後は、上で、わたしです さんが指摘した通り
変数名 a に入る値が、文字列 {Version:0.9}が
全く存在しない時以外は、無条件でラベルの
*apudegaaudeyo の処理に、行ってしまいます。

とりあえず、if 命令の条件式を、見直せば良いかと。


ネットから、ダウンロードしないとダメな物や
txt 、htmlファイルとかは、私達は、内容等が
どうなっているか、分からないので、現時点では
何とも言えないです。


ー追記ー

#include の塊の最終行と、ラベルの前の行は
空白行1行入れると、スクリプトが、見やすくなります。
こういった物(インデントの入れ方、コメント等)は
この掲示板の、上級者の方々のスクリプトを
参考にすると良いですよ。



zrs90(5さい)

リンク

2021/11/12(Fri) 00:47:18|NO.94361

訂正

(※ = を == 、! を!= ) ですね。説明間違えました。
申し訳ないです。



ねんねこ5787

リンク

2021/11/13(Sat) 07:01:45|NO.94367

>>94360
参考にします、ありがとうございます!
<<マウスをなくした問題も解決しました!>>



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