반응형

resin설정 하면서 애를 좀 먹었다.

첫번째로는 포트를 두개로 만드는 방법을 몰랐고

두번째는 포트를 두개로 만들어도 이것을 서비스에 등록하는 방법을 몰랐다.

세번째는 그과정에 잘못만들어진 서비스를 삭제하는 방법도 몰랐다.


1. 포트를 추가하는 방법

resin이 설치된 폴더에 conf하위 폴더를 찾아보면 resin.conf파일이 있다.

"port"를 바꿔주고 “root-directory”를 jsp가 설치된 폴더로 변경해서 저장하면 된다.

그리고 이파일을 복사하여 포트와 디렉토리를 변경하여 다른이름으로 저장한다.

2.서비스 등록방법

resin폴더에 httpd.exe파일을 찾아서 httpd "-install -conf conf/resin.conf"를 실행한다.  

그리고 다시 두번째 서비스를 등록해준다.  "-install -conf conf/mobile.conf"

마지막으로 "net start"를 실행해주도록 하자.

3.잘못등록한 서비스 삭제방법

윈도우 서비스에 실수로 8080과 겹치는 서비스를 올렸는데 삭제를 못했다. 

"sc delete servicename"을 실행해주면 된다.

반응형

실버라이트에 ArcGIS를 사용하여 지도서비스를 올리는 프로젝트를 진행중이다.

기존 테스트 서버에서 운용서버로 자료를 이관하던 중 ArcGIS의 맵데이터가 연동이 안돼는 사태가 발생하여 며칠을 허비했다.

원인은 웹서버에 ArcGIS관련 인증관련 설정을 누락했기 때문이었다.


clientaccesspolicy.xml


crossdomain.xml


위 파일들을 iis 루트에 복사해야한다. ("C:\inetpub\wwwroot")

크로스도메인접근 허용관련이라고 하니 ArcGIS & asp.net관련 프로젝트에서 빼먹지 않도록 해야한다.

반응형


urlscan_v31_x86.msi


응답헤더 설정때문에 돌아버리는줄 알았다.


windows server2003서버 iis6.0에 asp.net2.0을 올려서 서비스 중이다. 와중에 보안감사가 와서 사진의 Server 정보가

노출돼는걸 처리하란다. 레지스트리를 만지면 됀다는데 아무리 만져도 안됀다. 그래서 온갖 삽질끝에 방법을 찾았다.


일단 UrlScan이라는 보안도구를 설치해야한다.


http://support.microsoft.com/kb/326444


UrlScan구성방법 링크이다. 자세한 내용은 링크를 참조하고

해당파일은 첨부된 urlscan_v31_x86.msi를 다운받으면된다. 참고로 32비트버전이고 64비트버전도 있으니 링크를 참조해서

다운받을 것.


내쪽에서 필요한 조치내용은 다음과 같다.

urlscan설치 후 "C:\WINDOWS\system32\inetsrv\urlscan"폴더를 보면 UrlScan.ini파일이 있다.

RemoveServerHeader=0;으로 설정돼 있는데 RemoveServerHeader=1으로 변경해주면 된다.


그 외에 iis상에 asp.net버전이 노출돼기도 하는데 이런경우도 조치해주면 좋다.

web.config파일에 

<httpRuntime enableVersionHeader="false" />

이부분을 설정해주면된다. 


설치완료 후 iis를 재기동해주면 완료( cmd에서 iisreset)



- 한글 문제 처리

AllowHighBitCharacters 값을 0에서 1로 변경



- 특정 확장자 차단도 가능하다

 아래와 같이 jpg, gif 를 추가하면 이 파일들은 웹사이트 상에서는 화면에 나타나지 않고 필터링된다.

[DenyExtensions]

.jpg

.gif

반응형

asp.net2.0을 사용하고 있다면 부족한 기능에 좌절하는 경우가 종종있다.

특히 그래프 기능인데 2.0에서 사용할 수 있는 그래프가 많지 않다. OpenFlashChart를 사용했다가

일부 기능에 문제가 있어서 대체가능한 그래프를 찾느라 아주 애먹은 적이 있는데 우연히 Zed를 찾아서 

활용할 수 있었다.


ZedGraphTest.zip


첨부한 파일은 ZedGraph의 간단한 활용 소스이다. \bin폴더안에 ZedGraph.dll파일이 포함되어 있으니 이를 활용하면 된다.

셈플소스를 보면 간단하게나마 구조를 파악할 수 있으니 활용해보자.

반응형

MS Office Interop를 이용해서 개발한 Windows Service가 정상적으로 작동하지 않을 때..

환경 : Microsoft Office 2010, Visual Studio 2010, Windows 7, Windows 2008 Server
개요 : MS Office 2010 Interop (14version)을 이용해서 Powerpoint, Word, Excel 파일을
PDF로 변환하는 Windows Service Program을 개발하여 포팅하였으나 Program이 정상적으로 구동되지 않았다.
증상
1. 변환 프로그램을 개발하는 Visual Studio 2010에서 Test Program인 Console Application으로 작동을 시켜보면 정상적으로 Program이 기동되었다.
2. 1의 테스트를 확인하고 Windows Service로 배포하는 프로젝트를 생성하여 정상적으로 Windows Service에등록이 된 것을 확인하고, 구동을 시켜보니 정상적으로 작동하지 않았다.
3. Program에서 작동하는 로그을 확인해 보니, 
"개체 참조가 개체의 인스턴스로 설정되지 않았습니다."라는 메세지와
"'C:\temp\document\7.xlsx' 파일을 사용할 수 없습니다. 원인은 다음과 같습니다
해당 파일 이름이나 경로가 없습니다. 다른 프로그램에서 파일을 사용하고 있습니다.저장하려고 하는 통합 문서 이름이 현재 열려 있는 통합 문서의 이름과 같습니다."라는 메세지가 표시되었다.
4. Excel -> PDF, PPT -> PDF, Word -> PDF 모듈이 작동하지 않았다.
원인 분석
Windows 7, Vista, Windows Server 2008에서 Windows Service는 Session0라고 불리는 session (or something)에서 구동이 된다. Session0는 Desktop에서 구동되는 프로그램에 접근이 불가능한 영역(Desktop-less wasteland)인데 개발된 Windows Service는 Desktop Session에서 구동되는(Desktop-ed session) Office Program인 관계로 Windows Service가 정상적으로 작동되지 않았던 것이다.
(참고 URL : http://stackoverflow.com/questions/241190/vista-office-interop-not-working)
처리 방안
1. 첫 번째 처리 내용 : System Profile을 위한 desktop folder를 생성한다.
이 방법은 msdn에서 확인한 방법으로서 H.Ogawa가 제시한 방법이다
http://social.msdn.microsoft.com/Forums/en/innovateonoffice/thread/b81a3c4e-62db-488b-af06-44421818ef91

아래의 경로에서 볼 수 있듯이 systemprofile이라는 폴더에 Desktop이라는 폴더를 만들고 해당 폴더 권한에 Everyone을 추가하고 모든 권한을 주면 된다.

c:\Windows\SysWOW64\config\systemprofile\Desktop, or
c:\Windows\System32\config\systemprofile\Desktop

개발된 Windows Service 프로그램이 64bit로 빌드하였으면 SysWOW64에 Desktop을 등록하고 그렇지 않으면 System32에 등록하면 된다.

=> 처리 후 테스트 결과 : Excel, Word는 모두 정상적으로 작동을 하였으나 Powerpoint는 여전히 동작하지 않았다. 그래서 아래의 처리 방식을 추가로 처리하였다.

2. 두 번째 처리 내용 : 1의 방법에도 여전히 Powerpoint가 구동되지 않았다.
Powerpoint가 구동되기 위해서는 User Profile 정보가 필요한데 Windows Service로 구동을 하다 보니 충분한 User Profile 정보를 가져올 수 없어서 에러가 발생했던 것이다. (참고 URL : http://stackoverflow.com/questions/729609/powerpoint-interop-fails-in-a-windows-service-but-works-fine-in-a-windows-form-a)

이에 대한 처리를 위해서, Windows Service에 등록되어 있는 Program의 속성 창에서 "로그온(Logon)" Tab을 클릭하여 "서비스와 데스크톱 상호 작용 허용"을 선택하면 Powerpoint도 이상 없이 구동된다.


3. 추가 사항 : 1과 2의 방식을 통해서 Windows Service가 정상적으로 구동이 되었더니 다음과 같은 화면이 자꾸 표시되는 현상이 발생을 하였다.


Windows Service가 구동되는 Session0에서 Word, Powerpoint등의 프로그램이 메세지를 발생시켜서 위의 화면이 표시되는 것으로 추측이 되었다.

위의 메세지를 발생시키는 것은 다른 Windows Service에 의한 것으로서 Service 이름은 "Interactive Services Detection"이다. 해당 서비스는 "대화형 서비스에 대한 사용자 입력의 사용자 알림을 사용할 수 있도록 하는 서비스"로서 해당 서비스를 사용하지 않도록 Service 설정을 하면(사용안함으로 설정)된다.



출처 : http://kevinlovesu.blogspot.kr/2012/08/ms-office-interop-windows-service.html#comment-form








반응형


function IE_Ver()

{

    if(navigator.appName.match(/Explorer/i))

    {

        return navigator.appVersion.match(/MSIE \d+.\d+/)[0].split(" ")[1];

    }

    else return 0;

}


function getInternetExplorerVersion() {

var rv = -1;

if (navigator.appName == 'Microsoft Internet Explorer') {

var ua = navigator.userAgent;

var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");

if (re.exec(ua) != null)

rv = parseFloat(RegExp.$1);

}

return rv;


위 두가지가 있다. 비슷비슷한놈이다.

위의 놈은 익스버전을 6.0,7.0과같은 형태로 반환하고 익스가 아닌브라우저는 0로 반환한다.

아랫놈은 익스버전을 6,7,8과 같은 형태로 반환하고 익스가 아닌 브라우저는 -1로 반환한다.

반응형


        string _xml = "";

        _xml += "<response>";

        _xml += "    <data>false</data>";

        _xml += "</response>";


        MemoryStream ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(_xml));

        XmlDocument xmldoc = new XmlDocument();

        try

        {

            xmldoc.Load(ms);

        }

        catch

        {

            ms.Close();

        }

        XmlElement root = xmldoc.DocumentElement;

        if (root.Name == "response")

        {

            XmlNodeList nodes = root.ChildNodes;

            nodes[0].InnerText;

        }


        ms.Close();

        ms.Dispose();


출처,참조 : http://ldaehyeon.tistory.com/5

---------------------------------------------------------------

xml형태로 작성된 String을 Xml객체로 전환하는 방법이다.

asp.net에서 jsp쪽으로 Return을 요구하는 질의를 날렸는데 xml형태로 되돌아온다.

여기에서 필요한 값은 <data></data>이기 때문에 string형태로 데이터를 가공하려하면 답이 없다.

차라리 XmlDocument로 변환해서 필요한 값만 읽어오는게 더 빠르다.

반응형

진짜 간단한건데 이렇게 기억이 나지 않을때가 있다.


document.getElementById('RadioID').checked;

다른 예제를 찾아보면 class나 name으로 지정하는 방법은 많지만 id로 지정하는 방법은 유독나와있지 않은 데다가

jQuery로는 더 찾기 힘들다. 귀찮아서 그냥 자바스크립트로 처리한 경우다.

반응형

버전 3.4 다운로드

FileDownloader3.4.zip
1.24MB

버전 2.12 다운로드

FileDownloader.zip
다운로드

개선-버전3.4(2023.07.23)

티스토리 다운로드 불가 현상 해결 했습니다. 

향후 티스토리에서 추가 차단할 수 있습니다.

 

※ 오류 안내 (2023.07.20)

2023-07-20 현재 티스토리에서 프로그램을 사용시 "자동 리디렉션을 너무 많이 시도했습니다."라는 에러가 나옵니다.

2023-07-23~2023-07-24일간 원인 분석 예정입니다.

 

(과거내용 더읽기)

개선-버전3.3(2022.11.07)

1. 티스토리 파일 다운로드 방식 변경에 대응

※ 3.3버전만 변경된 방식에 대응, 2.12버전은 대응 없음

 

개선-버전3.2(2022.07.03)

 

1. 사이트 주소 더블클릭 시 클립보드의 주소 붙여넣기 기능 추가

2. 완료 후 폴더열기 옵션 추가

3. 화면상단의 블로그 주소, 언어설정기능을 화면 중간으로 이동

개선-버전3.1(2022.07.01)

1. 기본 저장경로를 "D:/Down"에서 사용자 Download폴더로 변경했습니다.

2. 티스토리에서 파일을 불러올때 일부 파일명의 첫번째 이름이 생략되는 버그를 수정했습니다.

3. 다운로드 에러서 메세지 창이 나오던 것을 없앴습니다.

     - 다운로드 에러는 결과에 나옵니다.

 

프로그램개선-버전3(2022.05.03)

기능을 추가한 버전3를 만들었습니다.

기능개선사항은 

1. 자잘한 버그를 수정했습니다.

    - 파일 저장 시 쓸데없는 공백문자가 생기는 버그

    - 불러오기 실행 시 불필요한 불명확 파일까지 가져오던 내용 수정

2. 디자인을 변경했습니다.

3. 선택기능 버튼을 하나로 통합했습니다.

     - 전체선택, 전체취소, 영역선택, 영역취소 => 전체선택

4. 일괄다운로드 속도 개선

     - 기존 파일을 순차적으로 하나씩 하나씩 다운 받음 => 동시에 여러파일을 다운받음

5. 광고를 넣었습니다.

6. 한/영 전환기능을 넣었습니다. (그냥 재미삼아 해봤습니다.)

속도 관련해서 비교 해보니 200개의 파일을 다운받았을때 속도를 비교해 보니 두배가까이 납니다.

기존프로그램은 4분24초 걸리던 것이 개선된 버전은 2분16초 정도로 속도가 확연히 빨라진 것을 알 수 있습니다.

다운로드 파일은 광고가 불편할 수도 있으니 버전2.12와 버전3을 둘다 남겨 놓았습니다. 

취향대로 사용하시면 되겠습니다.

 

 

개선-V2.12(2020.05.28)

 

 

첨부한 사진처럼 첨부파일이 특정 태그로 묶여 있으면 다운로드가 안될 수 있어서 해결했다.

추후 티스토리가 태그를 바꾸면 이프로그램도 추가 변경이 필요하다.

기존내용

기존내용

 

2020.05.28 v2.12로 변경

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

설명추가(2020.03.04)

 

중요한 설명이 누락돼있어서 추가(2020.03.04)

이프로그램은 티스토리나 일반홈페이지에 사용가능하지만 네이버블로그를 비롯한 다운로드를 자바스크립트로 처리하는 사이트/블로그는 지원하지 않습니다.

티스토리 블로그첨부파일도 일부지원하지 않는경우가 있는데 <a><a/>태그 중간에 다른 태그들이 포함되있으면 처리가 안됩니다.

네이버블로그 첨부파일 다운로드 프로그램은 유사한 프로그램을 제작하신 분이 계시므로 [https://k66google.tistory.com/571(링크)] 해당 프로그램을 

이용하시면 됩니다.

------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

버그개선-V2.11(2020.02.04)

 

몇가지 버그가 보여서 개선했다.

 

1. 다운로드 완료 후 일부 파일을 다시 다운받을때 나오는 에러메세지 수정

2. 다운로드 완료 후 일부 파일을 다시 다운받을때 퍼센트 표시 에러 수정

3. 텍스트 입력창에서 엔터키를 입력할 경우 다음텍스트 입력창으로 이동

    파일필터링 입력창에서 엔터키 입력 시 [불러오기]실행

4. 하단의 블로그 주소 클릭시 이게시글로 연결(향후 업데이트를 위해)

 

2020.02.04에 v2.11로 변경

------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

프로그램개선-V2.1(2020.01.15)

 

 

 

프로그램을 조금 개선했다.

부족한 프로그램이지만 어쨌거나 찾아주시는 분들도 있고...

프로그램의 불편함이 분명히 있었을 탠데 아무런 피드백없고해서 늘그랬듯이 내편한 대로 개선했다.

2.0에서 크게 변한 것은 없고 자잘한 버그와 몇가지 편리 기능을 추가했다.

바뀐점은 다음과 같다

 

1. 화면에 결과값이 나오도록 변경했다. 다운로드 받고 성공할 경우 결과항목에 표기가 되고  최종 다운로드후에 성공한 항목들은

   선택이 풀리고 실패한 항목만 선택이 그대로 남아서 실패한 항목만 다시 다운로드 받을 수 있도록했다.

2. 버튼 배치를 살짝 바꿧다. 화면캡쳐 스샷이 남아 있으니 비교하면 된다.

3. 다운받을폴더를 저장하도록했다. 내문서 폴더에 setting.conf파일을 생성해서 마지막 작업한 경로를 저장한다.

   프로그램을 다시실행하면 저장한 경로를 불러오도록했다. 만약 setting.conf파일이 없을경우 d:/Down폴더로 설정된다.

4. 프로그램상단에 버전이 표시되도록했다.

5. 프로그램 제작자의 블로그 주소를 프로그램에 추가했다. 클릭하면 이블로그로 연결된다.

 

2020.01.15에 v2.1로 변경

------------------------------------------------------------------------------------------------------------------------------------------------------------------
 

프로그램개선-V2.0(2014.03.12)

 

 

시간이 조금 생긴 김에 과거에 만들었던 분할 파일 다운로더를 크게 개선했다.

아예 새로만들었으니까...

과거버전은 블로그에서 받을 수 있는 파일형태(7zip,Rar,Alzip)를 지정하거나 받을 파일이 몇개인지 지정해야했었다.

이것을 그런것과는 상관없이 다운로드 받을 수 있도록 변경했다. 몇개인지 지정할 필요도 없다.

단지 블로그혹은 홈페이지 주소만 적어주면 된다.

 

물론 이프로그램은 <a></a>태그를 이용한 방식이라서 다운로드가 불명확할 수 있다.

그러니까 실제로는 다운로드 받을 파일이 아니라 다른사이트링크등을 싸그리 파일명으로 인식할 수 있다는 이야기이다.

그래서 파일필터링이라는 택스트박스를 만들어 뒀다. 분할압축된 파일들은 대부분 동일한 형태의 이름을 가지고있다.

첨부된 사진에는 프린세스 퀘스트 R이라는 게임이며 프린세스 퀘스트 R.7z.001~프린세스 퀘스트 R.7z.100

의형태로 분할되어 블로그에 업로드 돼있다. (사이트 경로는 혹시나 해서 모자이크 처리했다.)

 

그래서 반복되는 분할 파일명들의 일부를 적어주면 된다. 다시말해 위예저의 경우 프린세스 퀘스트 R.7z.까지는 모든분할

파일의 이름이 동일하므로 프린세스 퀘스트 R.7z.까지 적어주면 분할 파일을 블로그에서 인식하는데 도움이 된다는

이야기이다. (물론 프린세스 퀘스트 R.까지만 적어도 된다.)

 

그리고 받을 파일들의 목록을 하단에 표시하도록 했다. 사용자가 원하는 목록을 선택할 수 있으며

전체선택/취소를 클릭해서 선택 여부를 일괄로 변경할 수 있다.

참고로 다운로드 버튼을 클릭해야 파일을 다운로드 하는데 목록에 선택되 있는 파일만 다운로드 받는다.

전체를 선택/취소 하거나 몇가지만 선택하여 선택적으로 다운 받을 수도 있다. 영역선택/해제 버튼이

사용자가 선택한 목록을 반전 하게 하는 버튼이니 이용해주면 된다.

 

사용법을 다시 정리하면 다음과 같다.

 

1)사이트또는 블로그 주소를 사이트 경로에 적는다.

2)다운로드 받을 경로를 등록하거나 [폴더변경]버튼을 클릭하여 경로를 변경한다.(D:/Down폴더가 있다면 그냥둬도 돼지만)

3)다운로드 받을 파일명의 일부를 파일필터링에 적는다.(꼭 적을 필요는 없다. 그러나 안적으면 다운받기 쉽지 않을 것이다.)

4)다운받을 파일목록을 확인한다.

5)다운로드 버튼을 클릭해서 파일을 다운로드받는다.

 

 

 

 

 

 

 

몇년전에 심심해서 만든 프로그램이었는데 기능을 한번 개선해보자고 하던 것을 오늘에서야 하게됐다.

나혼자 쓸생각으로 만든거라서 크게 신경쓰지 않고 만들었는데 적은 수이기는 하지만 그래도 가끔씩 사용해주시는 분들이

있으니 이참에 버전업 해보았다.

 

2014.03.12에 v2.0으로 변경

------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

프로최초공개-V1.0(2012.12.09)

 

이하는 첫버전에 대한 내용이다.(과거에 첨부됐던 실행파일은 완성도가 너무 빈약하여 삭제함)

가끔 고전게임을 포스팅하는 블로그에 방문하는데 고용량게임파일을 분할 압추하여 업로드한 파일을 일일이 다운로드 받기가 

무척 귀찮아서 한번 만들어 봤다.

 

다운받을 폴더는 말그대로 파일을 다운받을 폴더를 지정하는 것이고

다운받을 사이트 주소는 다운받을 파일이 존재하는 블로그의 정확한 주소를 입력한다.http://blog.co.kr이런식으로 입력

하는게 아니고 http://blog.co.kr/001 이런식으로 해당 게시물을 확인할 수 있는 정확한 주소를 입력한다.

다운받을 파일 갯수는 블로그에 올라와있는 분할 파일의 갯수를 입력한다. 보통 분할파일이 순번으로 지정돼있으니

파일이 몇개나 존재하는지 파악하는지 어렵지 않을 것이다.

다운받을 파일명(분할명은빼고)는 분할파일은 동일한 이름으로 순번을 매기게 되는데 예를 들어 aaa.7zip.001, aaa.7zip.002

이런식으로 돼있다. 여기에서 반복되는 숫자를 제외한 앞부분의 이름을 넣어주면 된다. 다시말해서 aaa.7zip.까지만 입력

하면된다.

다운받을  파일 타입은 블로그에 올라와있는 파일의 종류를 선택하는 것으로 7zip파일과 Rar파일을 지원한다.

첫버전이라서 복잡한 기능을 지원하지는 않고 7zip의 경우는 99개의 파일까지만 지원한다. (내가 다운받을 파일이 100개가

넘는 경우가 없었기 때문이다.) Rar의 경우는 업로드 된 파일을 모두 다운받을 수 있다. 100개이던 200개이던 문제없다.

(Alzip도 되도록 반영해야하는데 귀찮아서...)

Alzip은 아직 안된다. Alzip은 분할압축 규칙이 조금 달라서 아직 안만들었다.(내가 다운받고 싶은 파일중에는 Alzip포맷이

없어서 ㅎㅎㅎ)

 

복잡하게 만든건 아니고 다운로드를 시작하면 아마 프로그램이 랙이 걸린게 아닐까 싶을지도 모른다. 그냥 다운로드를

걸어놓고 그냥 진행되니까... 그래도 걱정하지 마시라 계속 다운로드 진행하고있는 것이고 다운로드가 완료되면

완료됐다고 메세지가 나온다.

 

.Net FrameWork 4.0으로 만들었다.(그러니까 닷넷프레임 워크가 반드시 설치돼있어야 한다는 말이다.)

 

하룻밤만에 만든 첫버전이라 버그가 많을 수 있다. 나중에 덜귀찮으면 지속 업데이트 해야지~

 

 

반응형

예를 들어 string val =  "abc,def,hij"라는 문자열을 ","로 구분해서 배열로 변경하려한다면

string[] tmp = val.Split(','); 이렇게 하면 된다. 그런데 배열 구분자가 1바이트가 아니라면?


다시 예를 들어본다면 string val =  "abc<br/>def<br/>hij" 이런형태의 문자열에서 "<br/>"을 split하려고 하면

불가능하다. 이를 split해주는 방법은 아래와같다.

string[] _tmp = System.Text.RegularExpressions.Regex.Split(val, "<br/>");


그러나... ↑ 요고로 해결이 안될경우도 있다. ㅡ,.ㅡ;;;

그래서 확실한 방법은 아래와 같다.


public static string[] SplitByString(string inVal, string split)

    {

        int offset = 0;

        int index = 0;

        int[] offsets = new int[inVal.Length + 1];

        while (index < inVal.Length)

        {

            int indexOf = inVal.IndexOf(split, index);

            if (indexOf != -1)

            {

                offsets[offset++] = indexOf;

                index = (indexOf + split.Length);

            }

            else

            {

                index = inVal.Length;

            }

        }

        string[] final = new string[offset + 1];

        if (offset == 0)

        {

            final[0] = inVal;

        }

        else

        {

            offset--;

            final[0] = inVal.Substring(0, offsets[0]);

            for (int i = 0; i < offset; i++)

            {

                final[i + 1] = inVal.Substring(offsets[i] + split.Length, offsets[i + 1] - offsets[i] - split.Length);

            }

            final[offset + 1] = inVal.Substring(offsets[offset] + split.Length);

        }

        return final;

    }


어디서 퍼왔는데 출처까먹음 ㅠㅠ

+ Recent posts