アカウントを自動生成する

アフィリエイトを行おうとするとき、
複数のアカウントを作成しないといけない場合が多々あります。

そんな時、自動でアカウントが作成できたら楽だなぁ~
なんて思うことありませんか?

ということで、自動でアカウントを作成できるスクリプトを解説します。
※もちろん、相手が望んでいないのに、同一サイトでスパム的にアカウントを作成するといった利用は行わないでください。

どんなスクリプトにする?

今回は、
ランダムな8ケタの英数字を1行2つ設定で、 指定回数分ログ表示用ウィンドウに書き出すスクリプトにしましょう。

必要なモノ

この辺を組合わせて作成します。

スクリプト

NUM = INPUT("何個作成しますか?")

FOR A = 1 TO NUM

	ID = ""
	PW = ""
	
    //文字数は8文字
    FOR B = 1 TO 8
       ID = ID + RETURNCHAR()
       PW = PW + RETURNCHAR()
    NEXT

    IDPW = ID + "<#TAB>" + PW
	PRINT IDPW
NEXT

FUNCTION RETURNCHAR()
    LETTER = CHR(97 + RANDOM(26))
    //アルファベットの小文字、数字を出す
    SELECT RANDOM(2)
       CASE 0
           //アルファベットはそのまま
           RESULT = LETTER
       CASE 1
           //数字の場合は0~9をランダムに出す
           RESULT = RANDOM(10)
       DEFAULT
           RESULT = LETTER
    SELEND
FEND

実行すると、ランダムな8ケタの英数字が一瞬で作成できます。

※EXCELにペタっと貼り付けられるように、
IDとPWの間はTABで区切ってます。

タグ

2012年8月14日 | コメントは受け付けていません。 |

カテゴリー:アフィリエイター

文字列の取得

文字列の取得
戻値 = GETSTR(ID,[番号,種別,マウス移動])

引数

ID
Windowを識別するID
(ID = 0 であれば クリップボードから)
番号
左上から数えたコントロールの順番 (1から指定、マイナスを付けた場合にはDisable状態のものもカウント)
(0:デフォルトはフォーカスを持ったコントロール)
(ステータスバー指定時はパーツ)
種別
STR_EDIT (0)    // エディトコントロール(デフォルト)
STR_STATIC (1)   // スタティクコントロール
STR_STATUS (2)   // ステータスバー
STR_ACC_EDIT (3)  // ACC用インターフェース経由でのエディト内文字
STR_ACC_STATIC (4) // ACC用インターフェース経由でのスタティク文字
マウス移動
FALSE: マウス移動なし(デフォルト)
TRUE: マウスをその場所に移動させる

戻値
取得した文字列

メモ帳を起動して、『TEST』という文字列を送り、メモ帳に書かれた文字列を取得する

GID = EXEC("notepad")
SENDSTR(GID,"TEST")
MSGBOX("メモ帳に表示された文字列を取得します")
STR = GETSTR(GID,1,STR_EDIT)
MSGBOX(STR)

なりマッチポンプなサンプルで恐縮ですが、
このように使えます。

私自身は、
クリップボード(0)の文字列
を取得する際に利用することが多いです。

タグ

2012年5月11日 | コメントは受け付けていません。 |

カテゴリー:逆引き関数

文字型を数値に変える

戻値 = VAL( 文字列, [エラー値] )

引数
文字列: 数値に変える文字列
エラー値: 数値に変換できない場合に返す値
戻値
数値
数値変換できない場合はエラー値を、デフォルトでは ERR_VALUE (-999999)を返す
PRINT VAL(INPUT("数値化したい文字列を入力してください","10,000"))

このサンプルの結果は、プリントウィンドウに『10000』が表示されます。

エラー値を設定して、条件分岐に利用するサンプル

DIM STR[2]
STR[0]	= "TEST"
STR[1]	= "10,000"
STR[2]	= "0.15mm"

cnt	= 0
WHILE cnt < 3
	HANBETU = VAL(STR[cnt],"ERROR")
	PRINT STR[cnt]
	
	IFB HANBETU <> "ERROR"
		DOUBLES = HANBETU * 2
		PRINT "DOUBLES:" + DOUBLES
	ENDIF
	cnt = cnt + 1
WEND

値に変換できるものだけを倍にするという条件になっています。
このサンプルの実用性はちょっと考えにくいですが、
例えば、計算機的なアプリを作る時には、
数値変換による条件分岐は役に立ちそうですね。

タグ

2012年5月9日 | コメントは受け付けていません。 |

カテゴリー:逆引き関数

文字列の送信

モ帳やInternet Explorerのフォーム入力はKBD関数などで、
いちいちスクリプトを組んでいてはキリがありません。
そこでUWSCでは、指定文字列を一発で入力できるSENDSTRを利用します。

文字列の送信
SENDSTR( ウィンドウID, 文字列, [番号, 送信モードフラグ, ACC指定] )

引数
ID:
Windowを識別するID
(ID = 0 であれば クリップボードへ)
文字列:
送りたい文字列
番号:
左上から数えたエディトコントロールの順番 (1から指定、マイナスを付けた場合にはDisable状態のものもカウント)
(0:デフォルトはフォーカスを持ったエディトコントロール)
送信モードフラグ:
FALSE: 追加 (デフォルト)
TRUE: 置き換え
ACC指定:
FALSE: APIによる (デフォルト)
TRUE: アクセシビリティ用インターフェースを利用

SENDSTRは関数名の通り、
STR(STRING:文字列)をSEND(送る)関数
です。
ACC(アクセシビリティ用インターフェース)は障害者向けの支援技術で
スクリーン・リーダー等に使われたりします。

メモ帳を操作するサンプル ※メモ帳を起動して試してみてください

// メモ帳の操作
memoid =GETID("メモ帳")
ifb memoid <0 then
  MsgBox("メモ帳を起動してご利用ください")
  Exit
endif

// 置換の実行

SendStr(memoid, "リターンの実行<#CR>", 1, True) // リターン =<#CR>
SLEEP(3)
SendStr(memoid, "タブの実行<#TAB>")        // タブ =<#TAB>
SLEEP(3)
SendStr(memoid, "あああ")
SLEEP(3)
ClkItem(memoid, "置換", CLK_MENU)
SLEEP(3)

repid =GETID("置換")
SendStr(repid, "あああ", 1, True)     // 検索
SLEEP(3)
SendStr(repid, "いいい", 2, True)     // 置換
SLEEP(3)
ClkItem(repid, "すべて置換")
SLEEP(3)
ClkItem(repid, "キャンセル")

解説

実はこのサンプルは、UWSCのHELPにあるスクリプトほぼそのままで、
動作を確認するためのSLEEPを組み込んだスクリプトです。
非常に示唆に富むスクリプトなので利用させてもらっています。

まず、置換の実行1行目に注目しましょう。
送信モードフラグをTRUEを指定しているので、
メモ帳は置き換えになります。
例えば、このスクリプトを起動する前にメモ帳に適当な単語を書いていても、
『リターンの実行』で上書きされることになります。
また、”<#CR>“によって改行されるのが見てとれます。

さらに、”あああ”が、タブの実行によって1回タブを押した分のスペース分後ろに追加されるのが分ります。
そして、ClkItemでメニューの置換を押下します。
SendStrから少し外れますが、
CLK_MENUを利用する分りやすい実例となっているので、
是非覚えておきたい1文です。

次の段階として、置換のコントロールを行っています。
先ほど、メニューの置換を立ち上げたので、
最初にウィンドウIDをGETIDで取得しています。
そして、エディトコントロールを1番に指定したうえで、
置き換えのTRUEを指定しています。
これにより、前回の置換で利用した文字列に追加しないで、
上書きでBOXに入力が可能になります。
同様に置換する文字列を入力して、置換の実行、置換ウィンドウを閉じる、といった動作になります。

このようにSENDSTRで文字列を送ることが可能になります。

タグ

2012年5月3日 | コメントは受け付けていません。 |

カテゴリー:逆引き関数

両端の空白や改行を削除する

戻値 = TRIM(文字列, [全角空白])
 
引数

文字列:
対象となる文字列

全角空白:
FALSE: 全角の空白は含めない (デフォルト)
TRUE: 全角の空白を含めて削除

戻値

両端の空白と制御文字が取り除かれた文字列

象となる文字列の両端にある空白や制御文字(改行など)を取り除きます。
ソフトによっては親切に改行を矢印などで表示する場合もありますが、
WEBサイトのデータをコピーしてきた場合、不要な空白が入ってしまうこともあります。 そんな時、このTRIM関数が役立ちます。

空白文字に関して詳しく説明すると、長くなってしまうので、
興味のある方は『空白文字・改行文字とは何か?』を参照してください。

サンプルテキスト

空白を実感するテキスト

上記のテキストをダブルクリックから単純にコピーして、
下記コードを試してください。

STR = INPUT("コピーしたテキストを貼り付けてください")
PRINT "[" + STR + "]" + ":TRIM処理前"
PRINT "[" + TRIM(STR,TRUE) + "]" + ":TRIM処理後"

下記画像のような結果になると思います。

※画像をクリックすると拡大します

少々関数の説明に寄ってしまいましたが、
制御文字は落とし穴になりがちなので、上手に利用してください。

タグ

2012年3月22日 | コメントは受け付けていません。 |

カテゴリー:逆引き関数

文字列を数える

文字列を数える関数です

LENGTH(文字列)

文字列
対象となる文字列
引数
文字列: 数える文字列 (もしくは配列変数)
戻値
文字数 (配列変数時は配列サイズを返す)
※ バイト処理の場合は LENGTHB

字列の文字数を取得できます。
COPY関数を利用する時に、
コピーする文字数を算出するために利用されることが多いです。

文字数取得するサンプル
//「22」が表示されます
mojiretu = "UWSCのサンプルを有効活用するアカサタナハ"
NUM = LENGTH(mojiretu)
PRINT NUM

また、配列サイズからFORの回数を取得するために利用することもあります。
これにより配列数分繰返しを行えます。

配列のサイズを取得する
//「6」が表示されます
HASHTBL A

A["ア"] = 1
A["カ"] = 3
A["サ"] = 5
A["タ"] = 4
A["ナ"] = 2
A["ハ"] = 9

PRINT LENGTH(A)

タグ

2012年3月20日 | コメントは受け付けていません。 |

カテゴリー:逆引き関数

文字列のコピー

文字列の一部をコピーする関数です

COPY(文字列,開始位置,コピーする文字数)

文字列
対象となる文字列
開始位置
コピーの開始位置を先頭からの文字数で指定
コピーする文字数
何文字目までコピーするかを指定

れによって、文字列の任意の部分を取得できます。
※ バイト処理の場合は COPYB です。
また、POS関数LENGTH関数と連動させて、利用されることが多いです。
EXCEL関数を多用される方には、利用シーンが沢山見つかるでしょう。

名前だけを取得するサンプル
//常に姓と名の間にスペースがある前提
mojiretu = "山田 まりお"
STR = COPY(mojiretu,POS(" ",mojiretu)+1,LENGTH(mojiretu))
PRINT STR

タグ

2012年3月18日 | コメントは受け付けていません。 |

カテゴリー:逆引き関数

ペーストする文章を管理したい

ペーストする文章を管理したい
いつも決まった文をペーストしたい場面はどんな業務でもありますね。

でも、そのためにテキストファイルに文章を保存するのは
作成するのも、管理するのも大変です。
Excelに保存する手もありますが、セル内に改行を施すと、
ダブルクォテーション(“)が入ったりと厄介です。
じゃあ、コピー&ペーストするためのソフトウェアでもインストールするかというと
そこまででもない、探すのが大変だ、等々悩みの種も尽きません。


そこでUWSCの基本機能だけを使って簡単な文章管理スクリプトを作ってみましょう。

SELECT SLCTBOX(SLCT_BTN,0,"どの言葉の挨拶を返しますか","日本語","英語","フランス語","スペイン語","ドイツ語")
CASE SLCT_1
 STRING = "こんにちは"
CASE SLCT_2
 STRING = "Hello"
CASE SLCT_3
 STRING = "Bonjour"
CASE SLCT_4
 STRING = "Buenos dias"
CASE SLCT_5
 STRING = "Guten Tag"
DEFAULT
 STRING = "無し"
SELEND
SENDSTR(0,STRING)
MSGBOX("「" + STRING + "」がクリップボードに送信されました。")

単文を返すだけの簡単なスクリプトです。
しかし、数パターンだけしかないのならばこれで十分です。
STRINGの文字列には改行(“< #CR>“)も含められるので長文にも使用できます。

では、次に応用バージョンとして、
その場で入力した文字を埋め込んでクリップボードに送るスクリプトを考えてみましょう。

先ほどの各国語の挨拶のあとに、自分の名前が出るようにしてみます。
ただし、日本語には日本語の名前、それ以外の言葉ではアルファベットで出るようにして下さい。

つまり、入力が2つあるということです。

こんな感じになります。

この投稿の続きを読む »

タグ

2012年3月3日 | コメントは受け付けていません。 |

カテゴリー:Q&A

このページの先頭へ