2014年12月14日 星期日

TortoiseSVN / TortoiseGit ICon消失解決方式


我的ICON不見了

因為Windows Explorer Shell 只有支持15個 icon overlay identifiers
預設Windows 已經會占用4個,如果你已經有安裝例如Dropbox、Groove 等等軟體,那可能就會將SVN/Git擠到順序後方,如何解決呢?

1.開啟登陸編輯程式

透過使用執行輸入regedit開啟登陸編輯程式,透過以下路徑找到

HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows >CurrentVersion >Explorer > ShellIconOverlayIdentifiers

可以看到畫面中跟TortoiseGit/SVN的相關圖示的排序都在比較後方,因為Windows內部也是透過名稱來進行排序,所以我們要做的就是更改命名將相關圖示往上移動排序。


3
登陸編輯程式修改前


2.重新命名

可以看到畫面中Dropbox相關圖示都是透過""來包住名稱,我們可以透過(空白)檔名或"檔名"來提升排序,下圖已經修改完畢。

2
登陸編輯程式修改後

3.關閉Explorer

開啟工作管理在詳細資料/任務中找到Exploroe.exe點擊右鍵將該任務結束工作。

4
工作管理員關閉Explorer

4.重新啟動Explorer

透過執行輸入Explorer確定執行,重新啟動Explorer

5
重新啟動Explorer

5.完成

再次到目錄查圖示是否已顯示出來,可以看到圖示已經成功顯示出來,以上是我碰到問題解決的過程,提供您參考,如還是無法完成請多包涵囉。

1
完成顯示


2013年7月4日 星期四

[MSSQL]複製資料庫發生錯誤

今天複製資料庫發生錯誤

SQL Server Scheduled Job 'XXXXXXXXXXXXXXXX' (0xF616BAAEEFCFC24EAADBBA69CD284D8E) - Status: Failed - Invoked on: 2013-07-05 14:20:42 - Message: The job failed.  The Job was invoked by User XX.  The last step to run was step 1 (XXXXXXXXXXXXXXXX).

處理的過程:

首先需要開啟SQL Server Agent服務

注意:

Log On as:
Built-in Account:選擇Local System


這樣就可以正確複製了!!

2013年6月14日 星期五

[Tools]LiveReload使用於Windows上

對一位前端工程師或是網頁設計師來說,一邊改HTML一邊按F5重整網頁是每天最常做的事情
推薦一個好用軟體幫大家節省按F5的時間,只要按下儲存他就會馬上自動更新
那就是LiveReload

一、安裝
首先到官網http://livereload.com/下載Windows的最新版本,

Try LiveReload 0.8.5.1 Alpha

接下來安裝就對了

二、如何使用

安裝完畢後,可從程式及裡面打開它,接下來選擇Add也就是選擇你的HTML放置的目錄位置,
比如說我放在C:\inetpub\wwwroot\LiveReloadTest


接下來安裝browser extensions或是照他上面給的script加入載
前面

這裡我使用的是Chrome
安裝完畢後瀏覽器會有一個新的按鈕

按鈕如果是實心狀態表示啟動,空心則為關閉

接下來我們可以開始進入操作

首先打開瀏覽器將我們的網頁開啟,並開啟編輯工具

注意一點是我是把網頁放在IIS裡面
所以我試過直接打開檔案的方式,按鈕是無法啟用的
我直接打localhost/LiveReloadTest/Index.html的方式按鈕才可以啟用

如果要使用開啟檔案的方式瀏覽網頁,請把2裡面的Script加到Body
前面,一樣可以使用

希望大家看得懂...

2013年6月6日 星期四

[IOS]使用WebView載入Google地圖

if (DEVICE_IS_IPHONE5)
{
 width = 320;
 height = 504
}
else {
  width = 320;
  height = 460
}

//不包含狀態列
CGRect fullScreenRect = [[UIScreen mainScreen] applicationFrame]; if(fullScreenRect.origin.y == 20)
{
 width = fullScreenRect.size.width;
 height = fullScreenRect.size.height;
}
else{
 height = fullScreenRect.size.width;
 width = fullScreenRect.size.height;
}

NSString *htmlString = [NSString stringWithFormat:@"<html>\ <head>\ <meta id=\"viewport\" name=\"viewport\" content=\"width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;\">\ <script src='http://maps.google.com/maps/api/js?sensor=false' type='text/javascript'></script>\ </head>\ <body onload=\"new google.maps.StreetViewPanorama(document.getElementById('p'),{position:new google.maps.LatLng(%f, %f),pov: {heading: 270,pitch:0,zoom:1}});\" style='padding:0px;margin:0px;'>\ <div id='p' style='height:%f;width:%f;'></div>\ </body>\ </html>",lat, lon , height , width];

[webView loadHTMLString:htmlString baseURL:nil];

[IOS]設定NavigationController的ButtonItem方式


方法一

UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];


[backBtn setTitle:@"返回" forState:UIControlStateNormal];


backBtn.frame = CGRectMake(0, 0, 40, 40);


[backBtn addTarget:self action:@selector(GoTop) forControlEvents:UIControlEventTouchUpInside];


UIBarButtonItem *layerBtnItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn];


self.navigationController.navigationBar.topItem.leftBarButtonItem = layerBtnItem;



方法二

UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];


[backBtn setTitle:@"返回" forState:UIControlStateNormal];


backBtn.frame = CGRectMake(0, 0, 40, 40);


[backBtn addTarget:self action:@selector(GoTop) forControlEvents:UIControlEventTouchUpInside];


UIBarButtonItem *layerBtnItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn];

self.navigationController.navigationItem.leftBarButtonItem=layerBtnItem;


2013年6月5日 星期三

[IOS][ArcGIS] 尋找AGSLayer

使用的SDK版本ArcGIS API fo IOS 2.3.2









目前找Layer的方法有幾種


1.透過名稱


UIView<AGSLayerView>* lyrPushCaseView = [self.mapView.mapLayerViews valueForKey:@"住宅推案 ];

AGSLayer* pushCaseLayer = lyrPushCaseView.agsLayer;

if ([pushCaseLayer isKindOfClass:[AGSDynamicMapServiceLayer class]]) {
    lyrPushCaseView.hidden = NO;
}



2.透過Index


NSArray *layerLists = [delegate.mapView mapLayers];
AGSDynamicMapServiceLayer *layerGroup = [layerLists objectAtIndex:2];

[IOS]UIImage+Resize


以下是筆記,這是蠻常用到的功能所以我把他加到Category裡面方便可以重複使用

建立一個新的項目選擇Category ,名稱輸入Resize類別選擇UIImage

UIImage+Resize.h

@interface UIImage (Resize)

+ (UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize;

@end

記得是宣告為靜態方法

UIImage+Resize.m

#import "UIImage+Resize.h"

@implementation UIImage (Resize)

+ (UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize {

UIGraphicsBeginImageContext( newSize );

[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];

UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext(); return newImage; }

@end

使用UIGraphicsBeginImageContext需加入

#import <QuartzCore/QuartzCore.h>

使用方法

UIImage *popimg = [UIImage imageWithImage:[UIImage imageNamed:@"xxx.png"] scaledToSize:CGSizeMake(50, 50)];