Jquery dialog , Confirm callBack 받기

 

<html>
<head>
<script src="./Script/jquery-3.3.1.js"></script>
<script src="./Script/jquery-ui.min.js"></script>

<link rel="stylesheet" type="text/css" href="./Content/diagram.css">
<link rel="stylesheet" type="text/css" href="./Content/jquery-ui.min.css"> 
<link rel="stylesheet" type="text/css" href="./Content/jquery-ui.theme.min.css"> 
<script>
var bot ={};
var messageDialog;
$(document).ready(function(){

    bot.windows ={
        alert : function(msg){
            alert(msg);
        },
        confirm : function(msgCallBack){
            //confirm("test");

            $("#msgInfo").dialog({
                            autoOpen: false,
                            height: 200,
                            width: 350,
                            modal: true,

                            buttons: {
                                Ok: function () {
                                    msgCallBack('OK');
                                    $(this).dialog("close");
                                },
                                Cancel: function () {
                                    msgCallBack('CANCEL');
                                    $(this).dialog("close");
                                }
                            }
                        });

                        $("#msgInfo").dialog("open");
        }
   }

   //요렇게 써도됨
   messageDialog  = function(msgCallBack){  
                        $("#msgInfo").dialog({
                            autoOpen: false,
                            height: 200,
                            width: 350,
                            modal: true,

                            buttons: {
                                Ok: function () {
                                    msgCallBack('OK');
                                    $(this).dialog("close");
                                },
                                Cancel: function () {
                                    msgCallBack('CANCEL');
                                    $(this).dialog("close");
                                }
                            }
                        });

                        $("#msgInfo").dialog("open");

                    }


    test();
});

function test(){

   // 정상실행
   // var result =   bot.windows.confirm("alert test");
   // console.log(result);

    //정상실행
    // messageDialog(  
    //     function msgCallBack( msg){
    //        console.log(msg);
    //     });

    var result =   bot.windows.confirm( 
        function msgCallBack( msg){
            console.log(msg); //여기서 결과값 반환
         });

   }

</script>
</head>

<body>

<input type="button" value="test" onclick="test()">

<div id="msgInfo" title="Confirm">
        <div id="messageText" class="elementText"></div>
</div>
</body>
</html>

 

TFS 에서 소스 다운시 참조 오류 ,DLL 참조오류 for (MVC 5)

1.Windows 탐색기에서 프로젝트 packages 폴더삭제.

2.Visual Studio를 열고 도구 > 라이브러리 패키지 관리자 > 패키지 관리자 설정 으로 이동하고 왼쪽의 패키지 관리자 항목 아래에 "패키지 캐시 지우기"버튼이 있습니다. 이 버튼을 클릭하고 "NuGet에서 빌드 중 누락 된 패키지 다운로드 허용"확인란을 선택했는지 확인

 

 

3.솔루션 정리

4.솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭하고 NuGet 패키지 복원을 활성화하십시오.

 

5.Visual Studio를 다시 시작.

@@IDENTITY 마지막으로 삽입된 ID 값 가져오기

https://docs.microsoft.com/ko-kr/sql/t-sql/functions/identity-transact-sql?view=sql-server-2017

 

@@IDENTITY(Transact-SQL) - SQL Server

@@IDENTITY (Transact-SQL)@@IDENTITY (Transact-SQL) 이 문서의 내용 --> 적용 대상: SQL Server Azure SQL Database Azure SQL Data Warehouse 병렬 데이터 웨어하우스 APPLIES TO: SQL Server Azure SQL Database Azure SQL Data Warehouse Parallel Data Warehouse 마지막으로 삽입된 ID 값을 반환하는 시스템 함

docs.microsoft.com

같은 키값으로 동시에 두개 넣기

--자동증감 키
INSERT INTO TB_TEST1(VAL) VALUES('INSERT'); -- KEY IDX

SET @idx = @@IDENTITY


SET IDENTITY_INSERT TB_TEST2 ON;
 
INSERT INTO TB_TEST2(IDX, VAL)
	 VALUES (@idx, 'INSERT');
 
SET IDENTITY_INSERT TB_TEST2 OFF;

https://docs.microsoft.com/ko-kr/nuget/tools/package-manager-ui

c#에서 Json 파싱하기

NuGet 패키지 를 통해서 설치하기

 

설치 하 고 Visual Studio에서 NuGet 패키지 관리

Visual Studio에서 NuGet 패키지 관리자 UI를 사용 하 여 NuGet 패키지 사용에 대 한 지침입니다.

docs.microsoft.com

비주얼 스튜디오에서  Nuget 패키지 관리자 실행

Json.NET

Serialize JSON

Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Sizes = new string[] { "Small" };

string json = JsonConvert.SerializeObject(product);
// {
//   "Name": "Apple",
//   "Expiry": "2008-12-28T00:00:00",
//   "Sizes": [
//     "Small"
//   ]
// }

Deserialize JSON

string json = @"{
  'Name': 'Bad Boys',
  'ReleaseDate': '1995-4-7T00:00:00',
  'Genres': [
    'Action',
    'Comedy'
  ]
}";

Movie m = JsonConvert.DeserializeObject<Movie>(json);

string name = m.Name;
// Bad Boys

LINQ to JSON

JArray array = new JArray();
array.Add("Manual text");
array.Add(new DateTime(2000, 5, 23));

JObject o = new JObject();
o["MyArray"] = array;

string json = o.ToString();
// {
//   "MyArray": [
//     "Manual text",
//     "2000-05-23T00:00:00"
//   ]
// }

파싱예제

아래와 같은 JSON 형태

"class": "go.GraphLinksModel",
  "linkKeyProperty": "stepId",
  "modelData": {"position":"-5 -5"},
  "nodeDataArray": [ 
{"key":11, "category":"start", "text":"Start", "loc":"288 109"},
{"key":101, "category":"message", "text":"Message", "items":[ {"name":"Name", "value":"Message"},{"name":"Type", "value":"Step"},{"name":"Category", "value":"대분류"},{"name":"Size", "value":"120"},{"name":"Max Length", "value":"20"} ], "loc":"292 181"}
 ],
  "linkDataArray": [ {"from":11, "to":101, "stepId":-1, "items":[ {"name":"link", "value":"value1"},{"name":"propery1", "value":"value1"} ], "points":[288,129.5,288,139.5,288,147.1257080078125,292,147.1257080078125,292,154.751416015625,292,164.751416015625]} 

        private void Form1_Load(object sender, EventArgs e)
        {
            string s = this.textBox1.Text;
            //var m = JsonConvert.DeserializeObject<Dictionary<string, object>>(s);
            //if (m.TryGetValue("nodeDataArray", out result))
            //{
            //    var ss = result;
            //}
            //object result = "";

            JObject jo = JObject.Parse(s);
            var a = jo.SelectToken("nodeDataArray");
            var cnt = a.Count();
            foreach (var item in a)
            {
                var key = item.SelectToken("key").ToString();
                var category = item.SelectToken("category").ToString();
                var text = item.SelectToken("text").ToString();
                var items = item.SelectToken("items");

                if(items != null)
                {
                    foreach (var token in items)
                    {
                        var name = String.Format("{0}", token.SelectToken("name"));
                        var value = String.Format("{0}", token.SelectToken("value"));
                    }
                }
            }

        }

 

프로시저에서 두개의 값을 저장하기 위해 

같은 키값을 넣기 위해 저장할수 있다.

	INSERT INTO TB_A (ProjectName) VALUES (@pProjectName)
	SET @oId = @@IDENTITY
    
	--key(Id)를 값 저장하기 위해 IDENTITY_INSERT ON
	SET IDENTITY_INSERT TB_B ON
	INSERT INTO TB_B (Id ,ProjectName) VALUES (@oId ,@pProjectName)
	SET IDENTITY_INSERT TB_B OFF 

 

Global.asax
순서를 변경해서 맨밑에다가 두니 인식 못했음 ㅡㅡ
protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

           //GlobalConfiguration.Configure(WebApiConfig.Register);  여기다 두니 인식 못함
        }

WebApiConfig.cs 추가

ValuesController.cs 컨트롤러 추가

public class ValuesController : ApiController 
    { 
        // GET api/ 
        public IEnumerable Get() 
        { 
            return new string[] { "value1", "value2" }; 
        } 

        // GET api//5 
        public string Get(int id) 
        { 
            return "value"; 
        } 

        // POST api/ 
        public void Post([FromBody]string value) 
        { 
        } 

        // PUT api//5 
        public void Put(int id, [FromBody]string value) 
        { 
        } 

        // DELETE api//5 
        public void Delete(int id) 
        { 
        } 
    }

 

호출하기

    <script type="text/javascript">
        $(document).ready(function () {
            // AJAX 요청을 전송한다.
            $.getJSON("/api/values",
                function (data) {
                    // 요청이 성공하면, 'data' 변수에 제품들의 목록이 담긴다.
                    $.each(data, function (key, val) {

                        // 텍스트 출력을 위해 형식을 바꾼다.
                        var str = val.Name + ': $' + val.Price;

                        // 각 제품에 대한 목록 항목을 추가한다.
                        //$('<li/>', { text: str })
                        //    .appendTo($('#products'));
                    });
                });
        });
    </script>

 

SELECT LEVEL
    , ROOT_ORG
    , ORG
    , LPAD (' ', 2 * (LEVEL-1) ) || ORG_NAME AS P_LINE
    , ORG_NAME
    , REG_DTM
    , SYS_CONNECT_BY_PATH (ORG_NAME, '/') 경로
FROM USER_ORG 
START WITH
    ROOT_ORG IS NULL
CONNECT BY
    PRIOR ORG = ROOT_ORG;

 

1 00000 main main 19/05/08 14:28:37 /main
2 00000 00001   부서1 부서1 19/05/08 14:28:01 /main/부서1
2 00000 00002   부서2 부서2 19/05/08 14:28:37 /main/부서2
3 00002 00003     부서3 부서3 19/05/08 14:29:25 /main/부서2/부서3
3 00002 00004     부서4 부서4 19/05/08 14:29:44 /main/부서2/부서4

 

오픈소스를 이용해서 RTF 문서를 HTML로 변경합니다.

 

소스경로

http://www.codeproject.com/Articles/27431/Writing-Your-Own-RTF-Converter

 

변경가능한 항목

image

 

소스 내 구성된 프로젝트

image 

 

샘플실행

image

 

여기서 좋은점은 RTF 파일에 붙여넣기 또는 삽입한 이미지를 추출 할 수 있다.

image

 

 private void ToHtmlButtonClick(object sender, EventArgs e)
        {
            try
            {
                IRtfDocument rtfDocument = RtfInterpreterTool.BuildDoc(ConversionText);
                RtfHtmlConverter htmlConverter = new RtfHtmlConverter(rtfDocument);
                textBox.Text = htmlConverter.Convert();
                var q = htmlConverter.DocumentImages;

                // logger
                RtfInterpreterListenerFileLogger logger =
                   new RtfInterpreterListenerFileLogger(@"c:\temp\RtfInterpreter.log");

                // image converter
                // convert all images to JPG
                RtfVisualImageAdapter imageAdapter = new RtfVisualImageAdapter(ImageFormat.Jpeg);
                RtfImageConvertSettings imageConvertSettings =
                        new RtfImageConvertSettings(imageAdapter);
                imageConvertSettings.ImagesPath = @"c:\temp\images\";
                imageConvertSettings.ScaleImage = true; // scale images
                RtfImageConverter imageConverter = new RtfImageConverter(imageConvertSettings);

                // interpreter
                RtfInterpreterTool.Interpret(ConversionText, logger, imageConverter);
                //RtfInterpreterTool.Interpret(rtfStream, logger, imageConverter);
            }
            catch (Exception exception)
            {
                MessageBox.Show(this, "Error " + exception.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        } // ToHtmlButtonClick

 

끝.

 RicherTextBox  편집양식 그대로 저장하기 위한 예제 입니다. 이미지도 같이 저장되게요...

RicherTextBox  의 RTF 구조를 데이터 베이스에 byte 형태로 저장해서 불러온다.

일단 http://www.codeproject.com/Articles/24443/RicherTextBox 가서

 

RicherTextBox   편집기 하나를 받았다.

 

여기에 RTF 저장 및 불러 오기만 구현했음

 

RicherTextBox_demo_jaedoo.zip


*데이터베이스 저장은 MDF (MS -SQL) 와 엔티티6으로 저장하였습니다.

목록조회

 private void button2_Click(object sender, EventArgs e)

{
    Database1Entities entities = new Database1Entities();
    list = entities.TestTable.ToList();
    this.dataGridView1.DataSource = list;
}



등록화면

붙여넣기도 됨

 

저장하기 소스

private void RicherTextBox1_dbSaveClick_click(object sender, string Rtf)
{
    Database1Entities entities = new Database1Entities();
    TestTable tt = new TestTable();
    RichTextBox rt = sender as RichTextBox;
    tt.Contents = rt.Text;
    ASCIIEncoding encoding = new ASCIIEncoding();
 
    byte[] array = encoding.GetBytes(Rtf);
    tt.ObjectContents = array;
    tt.CreateDate = DateTime.Now;
    entities.TestTable.Add(tt);
    entities.SaveChanges();
 
    MessageBox.Show("등록완료");
    this.DialogResult = DialogResult.OK;
    this.Close();
}

불러오기

더블클릭해서 불러온상태

private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
    TestTable tt = list[e.RowIndex] as TestTable;
 
    Form2 mf = new Form2(tt);
    if (mf.ShowDialog() == DialogResult.OK)
    {
        button2.PerformClick();
    }
}
 
private void Form2_Load(object sender, EventArgs e)
{
    richerTextBox1.dbSaveClick_click += RicherTextBox1_dbSaveClick_click;
 
    if (this.tt != null)
    {
     
        byte[] contentBytes = tt.ObjectContents;
        richerTextBox1.SetByteText(contentBytes);
    }
}




게임실행시 전체화면으로 안될때가 있다.


이때 버그인지는 몰라도 권장 해상도 일때는 설정이 나오지 않음

권장해상도 말고 다른것으로 변경하면 설정이 나온다.


권장설정시에 설정이 안나옴

디스플레이 배율 유지만 나온다;



해상도를 권장해상도 말고 다른 해상도로 변경 후 나온 설정 

아래와 같이 전체 화면 배율 을 해야 전체화면으로 스타크래프트1을 할수 있다 ㅡㅡ;






참고사이트 


인텔 드라이버 업데이트 유틸리티


http://www.intel.com/p/ko_KR/support/detect


+ Recent posts