2011/08/29

RAD Studio IDE Fix Pack 4.4 released

RAD Studio 의 IDE 를 개선해 주는 IDE Fix Pack 의 새 버전이 공개 되었다.



Changelog from 4.3 to 4.4

  • Fixed: Directory cache problem with packages

  • Added: Replaced LocalAlloc/ReAlloc/Free calls from the compiler with FastMM functions (2009 only)

  • Added: Compiler callback used inlined AnsiCompareFileName, that is now also replaced by a faster version

  • Added: Directory cache for $(WINDIR)\Globalization file search on IDE start (2007/2009)

  • Improved: LogView tweaks





http://andy.jgknet.de/blog/2011/08/ide-fix-pack-4-4-released

Original Post :
http://neodreamer-dev.tistory.com/569

2011/08/26

[C#] 텍스트 파일 인코딩 정보 알아내기


StreamReader reader = new StreamReader(FullPath, true);
Encoding enc = reader.CurrentEncoding;
reader.Close();

<

Original Post : http://neodreamer-dev.tistory.com/568

[C#] 간단하게 텍스트 파일 읽고 쓰기

//File 객체를 이용한 텍스트 파일 읽고 쓰기
string strContent = File.ReadAllText(path);
File.WriteAllText(path, strContent);

// Stream을 이용한 텍스트 파일 읽고 쓰기
StreamReader reader = new StreamReader(itemFile.FullPath, true);
string strContent = reader.ReadToEnd();
reader.Close();

StreamWriter writer = new StreamWriter(path);
writer.Write(strContent);
writer.Close();

<

Original Post : http://neodreamer-dev.tistory.com/567

2011/08/19

[C#] XML 다루는 간단한 소스

C#을 공부하면서 XML 다루게 되면서 알게된 내용으로 기록용으로 정리해 보았다.



아래 소스는 간단하게 XML 데이터를 저장하고 읽어들이는 소스이다.

// Writting
XmlDocument xmlDoc = new XmlDocument();

XmlNode nodeItems = xmlDoc.CreateNode("element", "Items", "");

foreach (ListViewItem item in ListView.Items)
{
XmlNode nodeItem = xmlDoc.CreateNode("element", "Item", "");

XmlNode nodeFind = xmlDoc.CreateNode("element", "Find", "");
nodeFind.InnerText = "...";

XmlNode nodeReplace = xmlDoc.CreateNode("element", "Replace", "");
nodeReplace.InnerText = "...";

nodeItem.AppendChild(nodeFind);
nodeItem.AppendChild(nodeReplace);
nodeItems.AppendChild(nodeItem);
}

xmlDoc.AppendChild(nodeItems);

xmlDoc.Save(saveFileDialog.FileName);



<Items>
<Item>
<Find>a1</Find>
<Replace>b1</Replace>
</Item>
<Item>
<Find>a2</Find>
<Replace>b2</Replace>
</Item>
</Items>



// Reading
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(openFileDialog.FileName);

XmlNode nodeItems = xmlDoc.FirstChild;

foreach (XmlNode nodeItem in nodeItems)
{
string strFind = nodeItem.FirstChild.InnerText;
string strReplace = nodeItem.LastChild.InnerText;
}





XmlDocument 나 XmlNode Class 에는 위의 코드에서 사용한 것 보다 더 많은 기능을 갖고 있다. 자세한 기능들에 대해서는 따로 공부를 해 봐야 겠다.









&

Original Post : http://neodreamer-dev.tistory.com/566

2011/08/11

Free MySQL GUI Tools - SQLyog Community Edition



개인용 무료로 공개되어 있는 MySQL 관리 프로그램인 SQLyog Community Edition 이 제작사 홈페이지인 http://www.webyog.com 에서 더이상 다운 받을 수 없다.

Community Edition 은  Google Code 에서 다운 받을 수 있다. 아래 주소는 Google Code에 있는 SQLyog Community Edition의 Project 주소 이다.


http://code.google.com/p/sqlyog/


다운 받은 설치 파일은 설치하지 않고 압축프로그램(7zip)으로 풀어서 그대로 사용할 수 있다.

&

Original Post : http://neodreamer-dev.tistory.com/565

2011/08/10

Windows 7 관리자 계정(Administrator) 폴더 이름 변경하기

Windows 7 설치 할 때 관리자 권한을 쉽게 바꾸는 방법이다. 이 방법은 처음 설치시 관리자 계정이 활성화 되지 않은 상태에서 적용가능한 방법이다. 


로컬보안정책(secpol.msc)을 실행 시키고 "Local Policies" 중 "Security"의 세부 항목 중에서 "Account: Rename Administrator account" 항목을 원하는 이름으로 바꾸고 관리자 계정을 활성화 하면 관리자 계정 폴더이름이 변경되게 된다.


 

출처: http://www.snoopybox.co.kr/1264&

Original Post : http://neodreamer-dev.tistory.com/564

2011/08/08

Windows 7 에서 EFI System Partition 지우기

Mac 에서 사용하던 HDD로 보이는 녀석을 Windows 7에서 사용하려 하는데 파티션을 정리하려니 HDD의 가장 앞부분에 200MB 크기의 EFI System Partition 이 설정이 되어 있었고 이를 Computer Management 에서 지우려고 해 봤지만 지울 수 없었다. Computer Management 에서는 EFI System Partition 에 대하여 모든 메뉴가 비활성화 되었다.



Windows 7 에서 EFI System Partition 을 지우는 방법에 대하여 인터넷을 찾아보니 DISKPART 명령을 이용하여 삭제를 할 수 있었다.



우선 관리자 권한으로  명령프롬프트 창을 열고 DISKPART 명령을 실행 한다.



DISKPART 프롬프트(DISKPART>) 상에서 list disk 명령을 이용하여 현재 연결된 디스크를 확인하고 문제의 파티션이 포함되어 있는 디스크를 select disk # (#은 디스크 번호) 명령으로 선택한다.

 

선택된 디스크에 존재하는 파티션 정보를 list part 명령으로 파티션 정보를 확인하고 select part # (#은 파티션 번호) 명령으로 EFI System Partition 을 선택한다.



마지막으로 delete part override 명령으로 파티션을 삭제하고 DISKPART 를 빠져 나오면 된다.





+ 추가로 다른 방법을 찾았다. 보다 쉬운 방법으로 DISKPART 에서 문제의 디스크를 선택하고 clean 명령을 이용하면 쉽게 삭제할 수 있다. 




DISKPART> list disk






  Disk ###  Status         Size     Free     Dyn  Gpt


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


  Disk 0    Online          ... GB     . MB


  Disk 1    Online          ... GB      . B


  Disk 2    Online          ... GB      . B


  Disk 3    Online          ... GB      . B        *


  Disk 4    No Media           . B      . B






DISKPART> select disk 3






Disk 3 is now the selected disk.






DISKPART> clean






DiskPart succeeded in cleaning the disk.






DISKPART> list disk






  Disk ###  Status         Size     Free     Dyn  Gpt


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


  Disk 0    Online          ... GB     . MB


  Disk 1    Online          ... GB      . B


  Disk 2    Online          ... GB      . B


* Disk 3    Online          ... GB   ... GB


  Disk 4    No Media           . B      . B






DISKPART>

&

Original Post : http://neodreamer-dev.tistory.com/563

괜찮은 압축프로그램 반디집(BandiZip)



그동안 사용해 오던 압축 프로그램은 7zip 과 압축시대 였다.

7zip은 굉장한 압축 능력과 무료라는 장점이 있고 압축시대는 Alz와 Egg 같은 골치덩이를 지원해 주고 유니코드를 지원해 주는 장점이 있어서 였다. 이 두 프로그램만 있으면 다른 압축 프로그램은 필요가 거의 없다.


압축시대의 새 버전이 얼마전 공개가 되었는데 반디집(BandiZip) 이라는 이름을 달고 나왔다. 압축시대의 장점을 받아 더욱 개선된 것 같다. 이제 7zip을 내장하고 있어 별도로 7zip을 설치할 필요가 없어졌다.


반디집 만의 기능으로 기존 압축시대에서 지원했던 Alz와 Egg 그리고 Unicode를 지원하고 그 외에 고속아카이빙과 임시폴더를 거치지 않는 압축 해제 기능을 지원한다. 기타 여러 편의 기능을 포함하고 있다.


BandiZip





&

Original Post : http://neodreamer-dev.tistory.com/562

2011/08/04

[C#] Thread 에서 간단하게 UI 제어하기

C#을 보고 있던 중 Thread 에서 UI를 제어하는 부분에서 막혀 정보를 찾다가 간단하게 제어하는 방법을 찾았다.



 
this.Invoke(new MethodInvoker(delegate() {
// UI 제어 코드
}));
<

Original Post : http://neodreamer-dev.tistory.com/560

2011/08/01

요긴한 Tag

요즘 C#에 대한 맛보기 공부를 하고 있는데 C#에도 Tag Property가 있었다. Tag Property 는 Delphi 나 C++ Builder를 다룰 때 요긴하게 사용하던 것으로 Delphi나 C++ Builder 에서는 32비트 int 형으로 선언되어 있어 정수형 자료와 포인터를 저장하고 관리할 수 있었다.

실제로 Tag Property 에 대해서  VCL 문서상에서도 아래와 같이 개발자를 위해 제공하는 것으로 명시되어 있다.



Stores an integer value as part of a component.

Tag has no predefined meaning. The Tag property is provided for the convenience of developers. It can be used for storing an additional integer value or it can be typecast to any 32-bit value such as a component reference or a pointer.

Classes.TComponent.Tag

http://docwiki.embarcadero.com/VCL/en/Classes.TComponent.Tag



C#을 보면서 Tag에 대한 존재를 확인하였다.

C#의 언어적 특성때문인지 C#에서는 Tag가 Object로 선언 되어 있었다. C#의 Object에서 파생되는 모든 것을 담을 수 있다. 그래서 문자열도 쉽게 저장할 수 있다. VCL 의 Tag 보다 확장된 것이다.




Any type derived from the Object class can be assigned to this property. If the Tag property is set through the Windows Forms designer, only text can be assigned.






A common use for the Tag property is to store data that is closely associated with the control. For example, if you have a control that displays information about a customer, you might store a DataSet that contains the customer's order history in that control's Tag property so the data can be accessed quickly.

private void buttonNewCustomer_Click(object sender, EventArgs e)
{
/* Create a new customer form and assign a new
* Customer object to the Tag property. */
CustomerForm customerForm = new CustomerForm();
customerForm.Tag = new Customer();
customerForm.Show();
}



Control.Tag Property 

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.tag.aspx



<

Original Post : http://neodreamer-dev.tistory.com/559