2008年01月 / 01月≪ 12345678910111213141516171819202122232425262728293031≫02月

インフォメーション

FC2ブログで画像等を一括アップロードするソフトを地味に配布してます。
FC2ブログ用ファイルアップロードの最新版はこちら
(ベクター)FC2ブログ用ファイルアップロード

--.--.-- (--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


 |  --:--  |  スポンサー広告  |  Top↑

2008.01.31 (Thu)

相対位置を取得 - UWSC

UWSCでマクロを作るとき、
相対位置をいちいち実行し、動かしながら調整してたので非常にめんどくさい。

ということでマウスのカーソル位置を取得するスクリプト。
相対位置はマウスのすぐしたのウィンドウが対象になっています。

WHILE True
  // カーソル下のウィンドウが対象
  ID = GETID(GET_FROMPOINT_WIN)
  // 絶対座標
  x1 = G_MOUSE_X
  y1 = G_MOUSE_Y
  // 相対座標
  x2 = x1 - STATUS(ID, ST_X)
  y2 = y1 - STATUS(ID, ST_Y)
  s = "絶対座標 x:" + x1 + " y:" + y1 + "<#cr>"
  s = s + "相対座標 x:" + x2 + " y:" + y2
  // 戻す
  MOUSEORG(0)
  Fukidasi(s, 10, 10, 0)
  Sleep(0.1)
WEND

画面左上に噴出しで現在の位置が表示されます。
相対位置を取得したいときに便利だと思います。

↓DLして使用する場合は、拡張子を「.UWS」に変えて使用してください。
getposition.txt
スポンサーサイト


 |  18:03  |  UWSC  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.01.31 (Thu)

「ソースの表示」を押しても無反応

たまに、このサイトのソースはどうなってるのかな?と思い
ソースの表示をさせようとしてもソースの表示が出来ないwebサイトに出くわします。

右クリックすると「右クリック禁止」とか、ソースを暗号化している等の
特別な対策をとっているわけでもないのに、

「メニュー>表示>ソース」を押しても
「右クリック>ソースの表示」を押しても無反応でソースが表示できない状態です。

そんなときは1度そのページを「更新」するとなぜか表示できるようになることがあります。

理由はわかりませんが、この方法でかなり助かっています。

1回IE、Sleipnir共に「ソースの表示を押しても無反応」のサイトに出くわし、
何度画面を更新しても無反応のままでソースの表示が出来ない状態になりました。

試しにNetscapeでそのサイトを開き「ソースの表示」をしてみたらソースが表示されました。

作ってるほうにしたらあまりソースは見られたくないんだろうけど。


 |  13:43  |  パソコン  |  トラックバック(0)  |  コメント(2)  |  Top↑

2008.01.30 (Wed)

ウィンドウ取得 - UWSC

ID = GETID(タイトル)

特殊なウィンドウID取得
GETID(GET_ACTIVE_WIN) // アクティブウィンドウを返します
GETID(GET_FROMPOINT_WIN) // マウスカーソル下のウィンドウ
GETID(GET_FROMPOINT_OBJ) // マウスカーソル下のオブジェクト
GETID(GET_THISUWSC_WIN) // UWSC自身
GETID(GET_LOGPRINT_WIN) // ログ表示用ウィンドウ
GETID(GET_FUKIDASI_WIN) // ふきだし用ウィンドウ
GETID(GET_FORM_WIN) // フォーム画面ウィンドウ



 |  11:24  |  UWSC  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.01.30 (Wed)

テキストファイル読み書き - UWSC

// ファイルを開く
FOPEN(ファイル名,モード)
// 書き込み
FPUT(ID, str)
// 読み込み
FGET(ID, 行[1から])
// ファイルを閉じる
FCLOSE(ID)


// ファイルを開く
// オープンモード:F_WRITE(ファイルがなければ作成し、あればファイルの内容は消去
fid = FOPEN("TEST.TXT", F_WRITE)
// 1行出力
FPUT(fid, "aaa")
// 1行出力
FPUT(fid, "iii")
// ファイルを閉じる
FCLOSE(fid)

上記を実行すると[TEST.TXT]が作成され、
aaa
iii
が出力される。

オープンモード:F_READ or F_WRITE
ファイルが存在しない場合は作成し、
存在する場合は前の内容が消去されず、追加で出力できる。


 |  10:48  |  UWSC  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.01.29 (Tue)

特定のエレメント内でgetElement... - UWSC

IEの特定のエレメント内から絞り込みたい場合


【HTML】

<input type="text" value="フォーム外">
<form name="frm">
    <input type="text" value="フォーム内">
</form>



↑こんな感じのフォーム内のinputを一発で取得したいときは



【UWSC】

// [frm]内のinputタグを取得
IE.document.frm.getElementsByTagName("input")



value="フォーム内"のほうのinputが取得できる



 |  01:48  |  UWSC  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.01.28 (Mon)

プロパティ

プロパティ
/// <summary>
/// ここにプロパティの名前とか
/// 説明とかかくと使うとき表示されるから便利
/// </summary>
public string FileName{
  get{ return m_FileName; }
  set{ m_FileName = value; }
}

/// <summary>
/// プライベートだとか
/// </summary>
private string FileName{
  get{ return m_FileName; }
  set{ m_FileName = value; }
}

/// <summary>
///リードオンリーなプロパティ
/// </summary>
public string FileName{
  get{ return m_FileName; }
}

/// <summary>
/// カウントとか
/// </summary>
public int Count{
  get{ return Items.Count; }
}

/// <summary>
/// string[]の先頭が"A"の文字列の数を数えるとか
/// </summary>
public int ACount
{
  get
  {
    int count = 0;
    foreach(string str in this.Items)
    {
      // 文字列の先頭がA?
      if(StartsWith("A"))
      {
        count++;
      }
    }
    return count;
  }
}



 |  00:53  |  C#.NET  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.01.28 (Mon)

やまや(酒店)

さっき矢部駅近くのやまやの前を通ったらやまやが閉店してた。
あまり行かなかったけど便利だったのにな。
ちょっとショックだった。
あまり行かなかったけど。


 |  00:32  |  相模原  |  トラックバック(0)  |  コメント(3)  |  Top↑

2008.01.28 (Mon)

三国無双を売る

さっきPS3ソフトの三国無双を売ってきた。

最初ビ○コに持って行ったら何も調べもせず「1000円になりますがよろしいですか?」と
店員に言われた。

よろしくねえよ!!安すぎじゃねえか!?

「やっぱやめます」といって別の近くのゲーム屋へ移動する。

WonderG○Oで売ったら3600円で売れた。

ビス○はPS3ソフトを買い取る気がないみたい。


 |  00:25  |  未分類  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.01.27 (Sun)

UWSCでアラド戦記自動ログイン

2009/12/26 追記
最新版はこちら
UWSCでアラド戦記自動ログイン nexon対応




アラド戦記のログインがめんどくさいので、
UWSCで自動化して使ってます。

ログインスクリプト


USER_ID = "userID"
PASSWORD = "password"

IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("http://www.arad.jp/")
REPEAT
 SLEEP(0.1)
UNTIL !IE.busy AND IE.readystate=4
// ログインフォームを探す
for i = 0 to IE.document.forms.length - 1
 ifb IE.document.forms[i].name = "loginform"
 
  IE.document.loginform.strmemberid.value = USER_ID
  IE.document.loginform.strpassword.value = PASSWORD
  // ログイン画像検索
  for j = 0 to IE.document.body.all.tags("img").Length - 1
   // pos = 文字内に検索も文字が入っているか探す
   ifb Pos("arad_login_btn.gif", IE.document.body.all.tags("img").Item[j].src) > 0
    IE.document.body.all.tags("img").Item[j].click // 画像クリック
    exit // 終了
    break
   endif
  next
 endif
next
msgbox("ログインフォームが見つからない")  


 これを適当な名前をつけて保存して、
UWSC.exeと同じフォルダに置いてショートカットとか作成して使ってます。
[userID]と[password]は自分のユーザーIDとパスワードに変えて。


自分の環境)
↑のコードを「arad_login.UWS」ファイルに保存
UWSC.exeと同じフォルダに置く

image02.jpg

「UWSC.exe」の「ショートカット」を作成し、プロパティを開く
「リンク先」に「 arad_login.UWS」を追加して「OK」を押して閉じる
image03.jpg


ショートカットの名前をわかりやすい名前に変える
image04.jpg


このショートカットをデスクトップとか使いやすいところに置いて使用できます。

このショートカットをダブルクリックするとIEが立ち上がり、ログインまで行います。
ゲームの立ち上げまではしません。



 |  03:33  |  UWSC  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.01.27 (Sun)

てst

てすと1 ただの改行→ brタグ+改行→
brタグのみ→
あああ


 |  00:02  |  未分類  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.01.26 (Sat)

UWSC

UWSCがものすごい便利。
いろんな操作を自動化できる。
有料版と無料版があるけど、無料版で十分使える。

UWSC
http://www.uwsc.info/



 |  14:18  |  UWSC  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.01.25 (Fri)

TableAdapter.Update

のコピペ


メソッド 説明
TableAdapter.Update(DataTable)
DataTable のすべての変更をデータベースに保存します。これには、テーブルから削除された行の除去、テーブルに挿入された行の追加、テーブルで変更された行の更新が含まれます。

TableAdapter.Update(DataSet)
パラメータはデータセットを受け取りますが、TableAdapter は TableAdapter に関連付けられている DataTable のすべての変更をデータベースに保存します。これには、テーブルから削除された行の除去、テーブルに挿入された行の追加、テーブルで変更された行の更新が含まれます。

メモ
TableAdapter に関連付けられている DataTable は、TableAdapter が最初に構成された際に作成された DataTable です。


TableAdapter.Update(DataRow)
指定された DataRow における変更をデータベースに保存します。

TableAdapter.Update(DataRows())
DataRow の配列のすべての行の変更をデータベースに保存します。

TableAdapter.Update("new column values", "original column values")
元の列値によって識別される単一の列の変更を保存します。



 |  11:28  |  C#.NET  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.01.25 (Fri)

数値のフォーマット

以下コピペ

string name = "鈴木";
int month = 1;
int day = 30;

string str = String.Format("{0}さん、今日は{1}月{2}日です", name, month, day);


指定する書式 書式指定項目の記述例 出力例
幅指定で右詰め String.Format("{0, 4}", num) “ 1”
幅指定で左詰め String.Format("{0, -4}", num) “1 ”
0埋め String.Format("{0:D4}", num)
または
String.Format("{0:0000}", num) “0001”
幅指定かつ0埋め String.Format("{0, 8:D4}", num) “ 0001”



 |  11:27  |  C#.NET  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.01.23 (Wed)

.NETで集合型 の代わり

ビットで上げさげ

.NETは集合型がないようなので変わりにビット上げ下げで設定するらしい。

private enum Option{
none = 0,
aaa = 1,
bbb = 2,
ccc = 4,
ddd = 8
}

ビット演算
& = and。
| = or。ビット立てに使う
~ = not 反転。ビット下げに使う

ビット立て
options = options | Option.aaa; options |= Option.aaa
ビットさげ
options = options & ~Option.bbb; options &= ~Option.bbb;

ビットがたっているか
bool flag = (options & Option.ccc) != 0;

クラスのプロパティ等に。


 |  17:41  |  C#.NET  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.01.23 (Wed)

列挙型

列挙型の宣言


可視性 enum 型名
{
  めんば1=値,
  めんば2=値
}

列挙型は基本的にint型らしい。

曜日の列挙型

public enum Week
{
  Sunday,
  Monday,
  Tuesda,
  Wednesday,
  Thursday,
  Friday,
  Saturday
}


値を設定しない場合、0からの数値が入る。
(int)Week.Sunday == 0
(int)Week.Friday == 5


public enum Week
{
  Sunday=1,
  Monday=3,
  Tuesda=4,
  Wednesday=0,
  Thursday=2,
  Friday=6,
  Saturday=5
}

って感じで値を与えてもよし


 |  17:38  |  C#.NET  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.01.23 (Wed)

日付型

System.DateTime型


DateTime date = new DateTime();

DateTime date = DateTime.Now;// 現在日時を返す

date.Year; // 年の部分を返す
date.Month; // 月部分を返す
date.Day; // 日の部分を返す
date.DayOfWeek; // DayOfWeekっていう列挙型(曜日)を返す
date.Hour; // 時間の部分を返す
date.Minute; // 分を返す
date.Second; // 秒を返す
date.Millisecond; // ミリ秒を返す

date.Ticks; // 1年1月1日午前12時から経過した100ナノ秒の数


// どっちが若いかとかの比較ならこれ
if(date1.Ticks < date2.Ticks)
// CompareToの場合
date1.CompareTo(date2);
date1の方が大きい、またはdate2がnullなら1
同じなら0
date1の方が小さければ-1を返す


フォーマットを指定して取得
DateTime date = DateTime.ParseExact("2004/08/24 20:23:06", "yyyy/MM/dd HH:mm:ss", null);
DateTime date = DateTime.ParseExact("2004年8月2日20時23分06秒", "yyyy年M月d日HH時mm分ss秒", null);

フォーマットを指定して文字列を返す
string str = String.Format("{0:yyyy/MM/dd hh:mm:ss}", date);

yyyy 4けたの年
yy 0埋め2けたの年
MM 0埋め2けたの月
dd 0埋め2けたの日
HH 0埋め2けたの時間(24時間表記)
hh 0埋め2けたの時間(12時間表記)
mm 0埋め2けたの分 23
ss 0埋め2けたの秒 06


 |  17:31  |  C#.NET  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.01.23 (Wed)

Excel2003と2007共存環境下でOffice2003で開く

Excel2003と2007が共存している場合、
2003以前のExcelファイル(.xls)をダブルクリックして開くと、
後にインストールしたバージョンのExcel(Excel2007)で開かれます。

2003で開きたい場合は、Excel2003を起動してから.xlsファイルをダブルクリックすれば2003で開きますが、
めんどくさいのでコンテキストメニューに「2003で開く」処理を追加してます。


フォルダを開いて ツール>フォルダオプション を開く
u000000.jpg


「ファイルの種類」タブで「XLS」ファイルを選択

u000001.jpg



「詳細設定」ボタンをクリック
u000002.jpg


「新規」ボタンをクリック
u000003.jpg


「アクション」に任意の表示名、「アクションを実行するアプリケーション」にExcel2003のexeを指定
u000004.jpg


「OK」ボタンをクリックして閉じていく。
「.xls」ファイルを右クリックすると追加した項目が表示され、直接Excel2003で開けます
u000005.jpg



パソコン全体でexcelの旧バージョンを優先して使いたい場合はコマンドプロンプトで
エクセルのパス\excel.exe /regserver
とやれば対象のexcel.exeが優先される。

Excel11(Office2003)を優先にするなら
"C:\Program Files\Microsoft Office\OFFICE11\excel.exe" /regserver
Excel12(Office2007)を優先にするなら
"C:\Program Files\Microsoft Office\OFFICE12\excel.exe" /regserver


 |  17:25  |  パソコン  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.01.23 (Wed)

今日は雪が降りまくりでした。昼過ぎには雨になってたけど。


 |  16:45  |  相模原  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.01.23 (Wed)

開設

とりあえず開設しました。

プログラムのソースコードや、趣味のことなどを書こうと思っています。


 |  15:00  |  未分類  |  Top↑
 | BLOGTOP | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。