Excel 을 사용하시다가


Excel Office Object 를 사용하시다가 다음구문에서 "해당 셀이 없습니다." 라는 류의 오류가 발생한다면

xlWorkSheet.Range[firstCell, lastLastCell].SpecialCells(MSExcel.XlCellType.xlCellTypeConstants)

해당 영역 내에 아무런 값이 없어서 발생하는 것입니다.


값이 들어가 있는 녀석들만 골라서 추려주거든요. ^^

행복한 고수되셔요. ^^


woojja ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\















저작자 표시 비영리 변경 금지
신고
Posted by woojja
2017.10.12 10:50


File Header 정보를 확인해 볼 수 있는 페이지 입니다.


참고삼아 올려봅니다.



http://www.garykessler.net/library/file_sigs.html



행복한 고수되셔요 ^^


woojja ))*

\\\\\\\\\\\\\\\\\\\\\\\













저작자 표시 비영리 변경 금지
신고
Posted by woojja

 

Diagram Database importer 를 이용하면 Database 의 전체 Hirearchy를 import 하는 것이 가능하며, Database Entity 관계 다이어그램을 쉽게 생성할 수 있다.

 

Nevron Diagram 은 Table 형태의 데이터 Source 로부터 트리형태와 그래프 데이터 구조로 자동으로 가져오기 기능을 제공한다. 

Data import 기능은 DataTable, DataView, OleDbDataAdapter, SqlDataAdapter, OdbcDataAdapter, OleDbCommand, SqlCommand, OdbcCommand 등, 각 data Source 별로 지원한다.

data 가져오기 기능은 저장된 데이터 정보를 제어할 수 있도록 도와준다.

 

다음 예제는 NGraphDatasourceImporter 를 사용하는 방법을 보여주는데, 단순 Access 데이터베이스에서 데이터를 import 하여 자동으로 Graph 데이터구조로 자동 배열한다.

 

pages 테이블의 컬럼내용

 

Link 테이블의 컬럼 내용

 

자동으로 생성된 Diagram

 

C#

using Nevron.GraphicsCore;
using Nevron.Diagram;
using Nevron.Diagram.Shapes;
using Nevron.Diagram.WinForm;
using Nevron.Diagram.Layout;
using Nevron.Diagram.DataImport;
private void Form1_Load(object sender, System.EventArgs e)
{
    // View 초기화 시작 
    DrawingView.BeginInit();
  
    // View 에서 document 표시
    DrawingView.Document = DrawingDocument;
  
    // view 설정 
    DrawingView.ViewLayout = ViewLayout.Fit;
    DrawingView.Grid.Visible = false;
    DrawingView.GlobalVisibility.ShowPorts = false;
    DrawingView.HorizontalRuler.Visible = false;
    DrawingView.VerticalRuler.Visible = false;
      
    // stylesheets 생성 - one for the vertices and one for the edges
    NStyleSheet vertexStyleSheet = new NStyleSheet();
    vertexStyleSheet.Name = "Vertices";
    DrawingDocument.StyleSheets.AddChild(vertexStyleSheet);
  
    NStyleSheet edgeStyleSheet = new NStyleSheet();
    edgeStyleSheet.Name = "Edges";
    edgeStyleSheet.Style.StartArrowheadStyle = new NArrowheadStyle(ArrowheadShape.Circle, "", new NSizeL(5, 5), new NColorFillStyle(Color.Gray), new NStrokeStyle(1, Color.Black));
    edgeStyleSheet.Style.EndArrowheadStyle = new NArrowheadStyle(ArrowheadShape.Arrow, "", new NSizeL(5, 5), new NColorFillStyle(Color.Gray), new NStrokeStyle(1, Color.Black));
    DrawingDocument.StyleSheets.AddChild(edgeStyleSheet);
  
    // graph data source importer 설정 
    NGraphDataSourceImporter GraphImporter = new NGraphDataSourceImporter();
  
    // set the document in the active layer of which the shapes will be imported
    GraphImporter.Document = DrawingDocument;
  
    // set the connection string, data sources and DataAdapters
    // in this example we have created two OleDbDataAdapters: 
    // the PagesDataAdapter selects all records and columns from the Pages table of the SiteMap.mdb
    // the LinksDataAdapter selects all records and columns from the Links table of the SiteMap.mdb
    string connString = @"Data Source=""" + Application.StartupPath +
@"\SiteMap.mdb"";Provider=""Microsoft.Jet.OLEDB.4.0"";";
    OleDbDataAdapter PagesDataAdapter = new OleDbDataAdapter("SELECT * FROM Pages", connString);
    OleDbDataAdapter LinksDataAdapter = new OleDbDataAdapter("SELECT * FROM Links", connString);
  
    GraphImporter.VertexDataSource = PagesDataAdapter;
    GraphImporter.EdgeDataSource = LinksDataAdapter;
  
    // vertex records are uniquely identified by their Id (in the Pages table)
    // edges link the vertices with the FromPageId and ToPageId (in the Links table)
    GraphImporter.VertexIdColumnName = "Id";
    GraphImporter.FromVertexIdColumnName = "FromPageId";
    GraphImporter.ToVertexIdColumnName = "ToPageId";
      
    // create vertices as rectangles shapes, with default size (60, 30)
    NBasicShapesFactory shapesFactory = new NBasicShapesFactory();
    shapesFactory.DefaultSize = new NSizeF(60, 30);
    GraphImporter.VertexShapesFactory = shapesFactory;
    GraphImporter.VertexShapesName = BasicShapes.Rectangle.ToString();
  
    // set stylesheets to be applied to imported vertices and edges
    GraphImporter.VertexStyleSheetName = "Vertices";
    GraphImporter.EdgeStyleSheetName = "Edges";
  
    // layered graph layout 사용
    NLayeredGraphLayout layout = new NLayeredGraphLayout();
    layout.Direction = LayoutDirection.TopToBottom;
    layout.LayerAlignment = RelativeAlignment.Near;
    GraphImporter.Layout = layout;
  
    // subscribe for the vertex imported event,
    // which is raised when a shape was created for a data source record
    GraphImporter.VertexImported += new ShapeImportedDelegate(OnVertexImported);
  
    // 가져오기
    GraphImporter.Import();
  
    // view 초기화 끝
    DrawingView.EndInit();
  
}
  
private void OnVertexImported(NDataSourceImporter dataSourceImporter, NShape shape, INDataRecord record)
{
    // display the page title in the shape
    object text = record.GetColumnValue("Title");
    if (text == null)
    {
        shape.Text = "Title not specified";
    }
    else
    {
        shape.Text = text.ToString();
    }
  
    shape.SizeToText(new NMarginsF(10));
      
}

 

VB.NET

 

Imports Nevron.GraphicsCore
Imports Nevron.Diagram
Imports Nevron.Diagram.Shapes
Imports Nevron.Diagram.WinForm
Imports Nevron.Diagram.Layout
Imports Nevron.Diagram.DataImport
...
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    ' begin view init 
    DrawingView.BeginInit()
  
    ' display the document in the view 
    DrawingView.Document = DrawingDocument
  
    ' configure the view 
    DrawingView.ViewLayout = ViewLayout.Fit
    DrawingView.Grid.Visible = False
    DrawingView.GlobalVisibility.ShowPorts = False
    DrawingView.HorizontalRuler.Visible = False
    DrawingView.VerticalRuler.Visible = False
  
    ' create two stylesheets - one for the vertices and one for the edges 
    Dim vertexStyleSheet As New NStyleSheet()
    vertexStyleSheet.Name = "Vertices"
    DrawingDocument.StyleSheets.AddChild(vertexStyleSheet)
  
    Dim edgeStyleSheet As New NStyleSheet()
    edgeStyleSheet.Name = "Edges"
    edgeStyleSheet.Style.StartArrowheadStyle = New NArrowheadStyle(ArrowheadShape.Circle, "", New NSizeL(5, 5), New NColorFillStyle(Color.Gray), New NStrokeStyle(1, Color.Black))
    edgeStyleSheet.Style.EndArrowheadStyle = New NArrowheadStyle(ArrowheadShape.Arrow, "", New NSizeL(5, 5), New NColorFillStyle(Color.Gray), New NStrokeStyle(1, Color.Black))
    DrawingDocument.StyleSheets.AddChild(edgeStyleSheet)
  
    ' configure the graph data source importer 
    Dim GraphImporter As New NGraphDataSourceImporter()
  
    ' set the document in the active layer of which the shapes will be imported 
    GraphImporter.Document = DrawingDocument
  
    ' set the connection string, data sources and DataAdapters 
    ' in this example we have created two OleDbDataAdapters:  
    ' the PagesDataAdapter selects all records and columns from the Pages table of the SiteMap.mdb 
    ' the LinksDataAdapter selects all records and columns from the Links table of the SiteMap.mdb 
    Dim connString As String = "Data Source=""" + Application.StartupPath + "\SiteMap.mdb"";Provider=""Microsoft.Jet.OLEDB.4.0"";"
    Dim PagesDataAdapter As New OleDbDataAdapter("SELECT * FROM Pages", connString)
    Dim LinksDataAdapter As New OleDbDataAdapter("SELECT * FROM Links", connString)
  
    GraphImporter.VertexDataSource = PagesDataAdapter
    GraphImporter.EdgeDataSource = LinksDataAdapter
  
    ' vertex records are uniquely identified by their Id (in the Pages table) 
    ' edges link the vertices with the FromPageId and ToPageId (in the Links table) 
    GraphImporter.VertexIdColumnName = "Id"
    GraphImporter.FromVertexIdColumnName = "FromPageId"
    GraphImporter.ToVertexIdColumnName = "ToPageId"
  
    ' create vertices as rectangles shapes, with default size (60, 30) 
    Dim shapesFactory As New NBasicShapesFactory()
    shapesFactory.DefaultSize = New NSizeF(60, 30)
    GraphImporter.VertexShapesFactory = shapesFactory
    GraphImporter.VertexShapesName = BasicShapes.Rectangle.ToString()
  
    ' set stylesheets to be applied to imported vertices and edges 
    GraphImporter.VertexStyleSheetName = "Vertices"
    GraphImporter.EdgeStyleSheetName = "Edges"
  
    ' use layered graph layout 
    Dim layout As New NLayeredGraphLayout()
    layout.Direction = LayoutDirection.TopToBottom
    layout.LayerAlignment = RelativeAlignment.Near
    GraphImporter.Layout = layout
  
    ' subscribe for the vertex imported event, 
    ' which is raised when a shape was created for a data source record 
    AddHandler GraphImporter.VertexImported, AddressOf OnVertexImported
  
    ' import 
    GraphImporter.Import()
  
    ' end view init 
    DrawingView.EndInit()
  
End Sub
  
Private Sub OnVertexImported(ByVal dataSourceImporter As NDataSourceImporter, ByVal shape As NShape, ByVal record As INDataRecord)
    ' display the page title in the shape 
    Dim text As Object = record.GetColumnValue("Title")
    If text Is Nothing Then
        shape.Text = "Title not specified"
    Else
        shape.Text = text.ToString()
    End If
  
    shape.SizeToText(New NMarginsF(10))
  
End Sub
  
Private Sub Form1_Load_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
  
End Sub

 

 

위 내용은 아래 페이지를 옮겼습니다.

How to automatically create a diagram from a database?

 

 

행복한 고수되십시요.

 

woojja ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\













저작자 표시 비영리 변경 금지
신고
Posted by woojja

 

다이어그램에서 Shape 을 삭제할 때 확인을 하도록 하는 방법은 다음과 같다.

 

C#

 

// NDrawingDocument 의 OnNodeRemoving 이벤트를 구독:
nDrawingDocument1.EventSinkService.NodeRemoving += new ChildNodeCancelEventHandler(EventSinkService_NodeRemoving);
  
// 이벤트 핸들러 작성:
void EventSinkService_NodeRemoving(NChildNodeCancelEventArgs args)
{
    if(MessageBox.Show("Remove ?", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Question) !=
        DialogResult.Yes)
    {
        args.Cancel = true;
    }
} 

 

VB.NET

' NDrawingDocument 의 OnNodeRemoving 이벤트를 구독:
AddHandler NDrawingDocument1.EventSinkService.NodeRemoving, AddressOf EventSinkService_NodeRemoving
   
' 이벤트 핸들러 작성:
Private Sub EventSinkService_NodeRemoving(args As NChildNodeCancelEventArgs)
    If MessageBox.Show("Remove ?", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Question) <> DialogResult.Yes Then
        args.Cancel = True
    End If
End Sub 

 

 

위 내용은 아래 페이지를 옮겼습니다.

How to ask a user for confirmation when he or she deletes a diagram shape?

 

 

행복한 고수되십시요.

 

woojja ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\













저작자 표시 비영리 변경 금지
신고
Posted by woojja
2016.04.06 15:37

YouTube의 image size 를 알고 싶어졌습니다.


                               
http://img.youtube.com/vi/<insert-youtube-video-id-here>/0.jpg (480x360 pixels)
http://img.youtube.com/vi/<insert-youtube-video-id-here>/1.jpg (120x90 pixels)
http://img.youtube.com/vi/<insert-youtube-video-id-here>/2.jpg (120x90 pixels)
http://img.youtube.com/vi/<insert-youtube-video-id-here>/3.jpg (120x90 pixels)
http://img.youtube.com/vi/<insert-youtube-video-id-here>/default.jpg (120x90 pixels)
http://img.youtube.com/vi/<insert-youtube-video-id-here>/hqdefault.jpg (480x360 pixels)
http://img.youtube.com/vi/<insert-youtube-video-id-here>/mqdefault.jpg (320x180 pixels)
http://img.youtube.com/vi/<insert-youtube-video-id-here>/sddefault.jpg (640x480 pixels)
http://img.youtube.com/vi/<insert-youtube-video-id-here>/maxresdefault.jpg (1920x1080 pixels)


이렇습니다.


http://i1.ytimg.com/vi/<insert-youtube-video-id-here>/2.jpg

링크는 이렇게도 되는군요.





행복한 고수되십시요.


woojja ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\













저작자 표시 비영리 변경 금지
신고
Posted by woojja

 

설정하다 에러가 날때마다 정리해 놓아야지 놓아야지 하다

이제야 정리한다.

 

서버 설정은 그리 어렵지 않다.

 

1. 일단 소스상에서 Uplus 결제에 대한 설정파일이 있는 폴더의 위치에 맞게 폴더 경로를 지정해 준다.

 

2. Config 에 결제 Log 가 쌓일 폴더경로를 지정하고, 경로에 맞게 폴더를 생성해준다.

 

3. 방화벽의 특정 포트를 열어준다. 특정 포트의 OutBound 규칙을 추가해준다.

 

 

프로토콜 종류는 TCP

Port 는 80, 443, 7080, 7443 (7080, 7443 포트는 테스트를 위한 포트다.)

 

 

모든 IP 에 대해 열어줘도 되긴하겠지만,

필요한 IP 에 대해서만 열어주자...

164.124.119.212

또는 xpayclient.lgdacom.net

 

 

4. Telnet 을 이용하여 서버에 접속이 되는지 확인한다.

 

 

telnet xpayclient.lgdacom.net 80

telnet xpayclient.lgdacom.net 443

telnet xpayclient.lgdacom.net 7080

telnet xpayclient.lgdacom.net 7443

 

5. 서버를 호스팅하는 업체에 따라 별도의 작업이 필요할 수 있으므로 관리자에게 확인한다.

 

6. 끝!!! ㅋㅋㅋ

 

이런 설정에 대한 내용을 찾기 힘들어 정리해 보았다.

 

도움이 되시는 분이 있으려나? ^^;

 

행복한 고수되셔요..

 

woojja ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\













저작자 표시 비영리 변경 금지
신고
Posted by woojja
요즘 WebMatrix 에서 Web Site 를 생성하여 Test 개발을 하고 있다.
WebMatirx 를 설치하고 WebSite 를 생성하게 되면
기본적으로 [System Directory]:\Users\[User 계정]\Documents\My Web Sites 폴더를 내에 Site 를 생성한다.
다른 작업을 하던 도중 사용자 폴더를 D Drive 로 이동할 일이 생기게 되었는데
D drive 로 이동을 하고 나니


위 그림과 같이 WebMatrix 를 실행시키고 Site 를 선택하면 현재 경로를 가리키는 것이 아니라 과거의 경로 정보를 가지고 있어서

더블클릭하여 실행할라치면 위와 같은 에러를 발생한다...
당연히 경로에 소스가 존재하지 않으니 에러가 나는 것이 당연할 것이다.
그렇다면 어디엔가 경로 정보가 존재할 것인데... 변경하기 위해서 정보가 저장되어 있는 파일이나 데이터베이스가 어디있는지 찾아 보았다.
단순히 WebMatrix 에서 사용하는 데이터니 WebMatrix.exe 가 있는 설치 폴더에 존재하겠지.. 아니면 관련 Registry 나 Database 중 한군데 아닐까 생각하고 찾아 보았으나... 왠걸... 없다!!! ㅡㅡ'

그러다 찾아낸 사실... WebMatirx 는 IISExpress 와 연계하여 실행되는 프로그램으로 위에서 보는 Site 들의 리스트에 대한 정보는 \Users\[User 계정]\Documents\IISExpress\config 폴더내의 applicationhost.config 에 담겨 있었다.
Site Name 으로 찾아 보니... physicalPath 라는 Attribute 에 정보를 담아둔 모습을 아래와 같이 보실 수 있습니다.

이걸 옮겨진 Drive 로 수정을 했습니다.
그리고 Refresh 해보니 아래와 같이 정보가 수정된 모습을 보실 수 있죠...

더블 클릭해봅니다.


실행이 잘 되네요... ㅡㅡ'
한시간은 잡아 먹은 것 같습니다.

WebMatrix 를 사용할 때 얻게된 Tip 이었습니다.


행복한 고수되십시요...

woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\













저작자 표시 비영리 변경 금지
신고
Posted by woojja

이번 Build 2011 행사의 성과아닌 성과중의 하나는 Samsung Slate PC 를 받았다는 것.
들고와서 처음 켜서 동작시키기 까지의 모습을 담아봤습니다. ㅋㅋㅋ
(사실은 어제 받아서 사진을 찍었는데요... 어제는 넘후? 피곤해서 오늘에서야 Posting 합니다.)
단순 이미지들의 나열임을 미리 밝혀둡니다. ㅋㅋㅋ


짜잔... 아름다운 자태하며...
 
상자부터 찍는 개봉기는 다른 분들도 올리실듯하여... ㅋㅋ
저는 곧바로 Power Button 을 누른 순간부터... ㅋㅋㅋ

PC 이름 부터 적어 넣으라는 군요...

Wireless 정보를 설정합니다.


암호도 입력해 줬습니다.


저는 걍 기본 설정으로 설정할랍니다. ㅋㅋ
 

기본적으로 Logon 에 필요한 Email 계정을 물어봅니다.

입력해주고요...(제 이멜계정, 이름을 아시는 분이 계실지 모르지만... 기본적으루다가 흰색으로 칠했습니다. 기분이 조금 안좋으시면 양해해주셔요... ㅋㅋ)




암호를 입력하구요...

기둘립니다. ㅋㅋㅋ

짜자~~안!!!
귀여운 녀석... 절 환영한다는 군요... ㅋㅋ

저를 위해 준비할 것이 필요한 게지요...ㅋㅋㅋ


짜잔... 부끄러운듯 모습을 제게 공개했습니다.
Metro Style 의 Tile icon 들이 저를 반기네요...
이제 잼나게 가지고 놀아보는 일만 남았네효~~

알흠다운 밤입니다.

행복한 고수되셔요~~


woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\












저작자 표시 비영리 변경 금지
신고
Posted by woojja
요즘 수학에 재미가 들렸는데요... 잘 못하지만요... ㅡㅡ'

그러다 알게된...

http://blog.naver.com/ama1088?Redirect=Log&logNo=90050980418&beginTime=145&jumpingVid=324AAE2DA5E1DC9A7A30338657EE98C82B52

막강!!! 강추


행복한 고수되셔요..

woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\












저작자 표시 비영리 변경 금지
신고
Posted by woojja
XP Mode 설치...

Download Windows XP Mode with Virtual PC


하지만 후에 알게된 사실 하나...
VSTO Addin Test 는 Virtual Mode 에서는 작동하지 않는다는 사실... ㅡㅡ'



행복한 고수되셔요...












저작자 표시 비영리 변경 금지
신고
Posted by woojja

티스토리 툴바