http://chart.apis.google.com/chart?
cht=p3
&chs=480x240
&chd=t:26.1,48.7,3.0,0.7,5.8,15.1,0.6
&chl=Cand. 1|Cand. 2|Cand. 3|Cand. 4|Cand. 6|Cand. 12|Cand. 7, 8, 9, 10
&chtt=Korea+Presidentia+Eleciton+2007|2007-12-19
Posted by 노을지기

통계 프로그램 의뢰를 받아서, 자료를 찾고 있었다.

전에 .net 에서는 cahrtFX을 이용하여 프로그램을 했었는데,

지금은 php 로 빨리 끝내기 위해서 챠트를 찾던 중 파나 챠트를 알게 되었다.

phpschool에서나 sir 사이트에서 설명이 되었는데, 그 대로 할 경우 한글 적용이 제대로 되지 않았다.

그래서 조금 수정하여 적용하였다.

우선 panachart는

http://sourceforge.net/projects/panachart/ 

에서 다운 받는다.

조건은 GD 라이브러리가 필요한데, gnu 보드나 제로 보드가 설치될 경우는 100% 적용될 것이다.

why? 로봇 방지 기능에 이미지 텍스트 기능(? 맞나?) 을 지원하기 때문에 다 지원된다고 생각하면 된다.

그리고 한글을 사용하기 위해서 imagettftext 함수를 사용한다.

이 함수는 http://php.mirror.camelnetwork.com/manual/kr/function.imagettftext.php 

이곳에 잘 설명되어 있다.

그래서 phpschool 과 sir.co.kr 사이트에서 설명대로 할 경우 에러가 발생한다.

http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=29645&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%C2%F7%C6%AE&sop=and

http://sir.co.kr/bbs/board.php?bo_table=pl_php&wr_id=330&page=7

------------------- 에러 메시지 -------------------------
<br /> <b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>C:\APM_Setup\htdocs\panachart\panachart.php</b> on line <b>289</b><br /> <br /> <b>Parse error</b>: syntax error, unexpected ']', expecting T_STRING or T_VARIABLE or T_NUM_STRING in <b>C:\APM_Setup\htdocs\panachart\panachart.php</b> on line <b>358</b><br />

--------------------- 해결 방법 ------------------------------------
$font = 'gulim.ttc';
 
  if($this->m_title){
   imagettftext (
     $this->m_image,
     $this->m_font,
     0,
     ($this->m_width-strlen($this->m_title)*$this->m_fontWidth)/2,
     $margin + 10,
     $this->m_textColor, $font, iconv("EUC-KR","UTF-8",$this->m_title) );

변경하면 된다.

이것을 찾기 위해서 1시간 투자했다.

펌은 자유이고, 출처 표시는 해주세요~~

Posted by 노을지기
ProcessStartInfo 클래스

프로세스를 시작할 때 사용하는 값 집합을 지정합니다.

네임스페이스: System.Diagnostics
어셈블리: System(system.dll)

Visual Basic(선언)
Public NotInheritable Class ProcessStartInfo
Visual Basic(사용법)
Dim instance As ProcessStartInfo
C#
public sealed class ProcessStartInfo
C++
public ref class ProcessStartInfo sealed
J#
public final class ProcessStartInfo
JScript
public final class ProcessStartInfo
Note참고

이 클래스에 적용되는 HostProtectionAttribute 특성의 Resources 속성 값은 SharedState | SelfAffectingProcessMgmt입니다. HostProtectionAttribute는 대개 아이콘을 두 번 클릭하거나, 명령을 입력하거나, 브라우저에서 URL을 입력하여 시작되는 데스크톱 응용 프로그램에 영향을 미치지 않습니다. 자세한 내용은 HostProtectionAttribute 클래스나 SQL Server 프로그래밍 및 호스트 보호 특성을 참조하십시오.

ProcessStartInfoProcess 구성 요소와 함께 사용됩니다. Process 클래스를 사용하여 프로세스를 시작하면 실행 프로세스에 연결할 때 사용할 수 있는 정보뿐 아니라 프로세스 정보에도 액세스할 수 있습니다.

시작한 프로세스를 자세히 제어하기 위해 ProcessStartInfo 클래스를 사용할 수 있습니다. 사용자는 적어도 생성자를 사용하거나 수동으로 FileName 속성을 설정해야 합니다. 파일 이름은 임의의 응용 프로그램 또는 문서입니다. 여기서 문서는 열기 동작 또는 기본 동작과 관련된 파일 형식으로 정의됩니다. 운영 체제에서 사용할 수 있는 폴더 옵션 대화 상자를 사용하여 컴퓨터의 등록 파일 형식과 관련 응용 프로그램을 볼 수 있습니다. 고급 단추를 누르면 특정 등록 파일 형식과 관련된 열린 작업이 있는지 여부를 보여 주는 대화 상자가 나타납니다.

또한 해당 파일을 사용하여 수행할 작업을 정의하는 다른 속성을 설정할 수 있습니다. Verb 속성에 대해 FileName 속성의 형식에 해당하는 값을 지정할 수 있습니다. 예를 들어, 문서 형식에 대해 "인쇄"를 지정할 수 있습니다. 뿐만 아니라 Arguments 속성 값이 파일의 열린 프로시저에 전달할 명령줄 인수가 되도록 지정할 수 있습니다. 예를 들어, FileName 속성에 텍스트 편집기 응용 프로그램을 지정하면 Arguments 속성을 사용하여 편집기가 열 텍스트 파일을 지정할 수 있습니다.

표준 입력은 대개 키보드이고, 표준 출력과 표준 오류는 대개 모니터 화면입니다. 그러나 RedirectStandardInput, RedirectStandardOutputRedirectStandardError 속성을 사용하여 프로세스가 파일이나 기타 장치에서 입력을 받거나 출력을 반환하도록 할 수 있습니다. Process 구성 요소에서 StandardInput, StandardOutput 또는 StandardError 속성을 사용할 경우 우선 ProcessStartInfo 속성에 해당 값을 설정해야 합니다. 그렇지 않으면 스트림을 읽거나 쓸 때 예외가 throw됩니다.

UseShellExecute를 설정하여 운영 체제 셸을 사용하여 프로세스를 시작할 것인지 여부를 지정합니다.

프로세스가 시작될 때까지는 ProcessStartInfo 속성의 값을 변경할 수 있습니다. 프로세스를 시작한 다음에는 이러한 값을 변경해도 효과가 없습니다.

Note참고

이 클래스에는 모든 멤버에 적용되는 클래스 수준의 링크 요청이 포함되어 있습니다. 직접 실행 호출자에게 완전 신뢰 권한이 없으면 SecurityException이 throw됩니다. 보안 요청에 대한 자세한 내용은 링크 요청을 참조하십시오.

Visual Basic
Imports System
Imports System.Diagnostics
Imports System.ComponentModel


Namespace MyProcessSample
    _
   '/ <summary>
   '/ Shell for the sample.
   '/ </summary>
   Class MyProcess 
      '/ <summary>
      '/ Opens the Internet Explorer application.
      '/ </summary>
      Public Sub OpenApplication(myFavoritesPath As String)
         ' Start Internet Explorer. Defaults to the home page.
         Process.Start("IExplore.exe")
         
         ' Display the contents of the favorites folder in the browser.
         Process.Start(myFavoritesPath)
      End Sub 'OpenApplication
       
      
      '/ <summary>
      '/ Opens urls and .html documents using Internet Explorer.
      '/ </summary>
      Sub OpenWithArguments()
         ' url's are not considered documents. They can only be opened
         ' by passing them as arguments.
         Process.Start("IExplore.exe", "www.northwindtraders.com")
         
         ' Start a Web page using a browser associated with .html and .asp files.
         Process.Start("IExplore.exe", "C:\myPath\myFile.htm")
         Process.Start("IExplore.exe", "C:\myPath\myFile.asp")
      End Sub 'OpenWithArguments
      
      
      '/ <summary>
      '/ Uses the ProcessStartInfo class to start new processes, both in a minimized 
      '/ mode.
      '/ </summary>
      Sub OpenWithStartInfo()
         
         Dim startInfo As New ProcessStartInfo("IExplore.exe")
         startInfo.WindowStyle = ProcessWindowStyle.Minimized
         
         Process.Start(startInfo)
         
         startInfo.Arguments = "www.northwindtraders.com"
         
         Process.Start(startInfo)
      End Sub 'OpenWithStartInfo
       
      
      Shared Sub Main()
         ' Get the path that stores favorite links.
         Dim myFavoritesPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Favorites)
         
         Dim myProcess As New MyProcess()
         
         myProcess.OpenApplication(myFavoritesPath)
         myProcess.OpenWithArguments()
         myProcess.OpenWithStartInfo()
      End Sub 'Main 
   End Class 'MyProcess
End Namespace 'MyProcessSample
using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
    /// <summary>
    /// Shell for the sample.
    /// </summary>
    class MyProcess
    {
       
        /// <summary>
        /// Opens the Internet Explorer application.
        /// </summary>
        void OpenApplication(string myFavoritesPath)
        {
            // Start Internet Explorer. Defaults to the home page.
            Process.Start("IExplore.exe");
                    
            // Display the contents of the favorites folder in the browser.
            Process.Start(myFavoritesPath);
 
        }
        
        /// <summary>
        /// Opens urls and .html documents using Internet Explorer.
        /// </summary>
        void OpenWithArguments()
        {
            // url's are not considered documents. They can only be opened
            // by passing them as arguments.
            Process.Start("IExplore.exe", "www.northwindtraders.com");
            
            // Start a Web page using a browser associated with .html and .asp files.
            Process.Start("IExplore.exe", "C:\\myPath\\myFile.htm");
            Process.Start("IExplore.exe", "C:\\myPath\\myFile.asp");
        }
        
        /// <summary>
        /// Uses the ProcessStartInfo class to start new processes, both in a minimized 
        /// mode.
        /// </summary>
        void OpenWithStartInfo()
        {
            
            ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
            startInfo.WindowStyle = ProcessWindowStyle.Minimized;
            
            Process.Start(startInfo);
            
            startInfo.Arguments = "www.northwindtraders.com";
            
            Process.Start(startInfo);
            
        }

        static void Main()
        {
                    // Get the path that stores favorite links.
                    string myFavoritesPath = 
                    Environment.GetFolderPath(Environment.SpecialFolder.Favorites);
                
                    MyProcess myProcess = new MyProcess();
         
            myProcess.OpenApplication(myFavoritesPath);
            myProcess.OpenWithArguments();
            myProcess.OpenWithStartInfo();

               }    
    }
}
#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::ComponentModel;

/// <summary>
/// Opens the Internet Explorer application.
/// </summary>
void OpenApplication( String^ myFavoritesPath )
{
   
   // Start Internet Explorer. Defaults to the home page.
   Process::Start( "IExplore.exe" );
   
   // Display the contents of the favorites folder in the browser.
   Process::Start( myFavoritesPath );
}


/// <summary>
/// Opens urls and .html documents using Internet Explorer.
/// </summary>
void OpenWithArguments()
{
   
   // url's are not considered documents. They can only be opened
   // by passing them as arguments.
   Process::Start( "IExplore.exe", "www.northwindtraders.com" );
   
   // Start a Web page using a browser associated with .html and .asp files.
   Process::Start( "IExplore.exe", "C:\\myPath\\myFile.htm" );
   Process::Start( "IExplore.exe", "C:\\myPath\\myFile.asp" );
}


/// <summary>
/// Uses the ProcessStartInfo class to start new processes, both in a minimized 
/// mode.
/// </summary>
void OpenWithStartInfo()
{
   ProcessStartInfo^ startInfo = gcnew ProcessStartInfo( "IExplore.exe" );
   startInfo->WindowStyle = ProcessWindowStyle::Minimized;
   Process::Start( startInfo );
   startInfo->Arguments = "www.northwindtraders.com";
   Process::Start( startInfo );
}

int main()
{
   
   // Get the path that stores favorite links.
   String^ myFavoritesPath = Environment::GetFolderPath( Environment::SpecialFolder::Favorites );
   OpenApplication( myFavoritesPath );
   OpenWithArguments();
   OpenWithStartInfo();
}

System.Object
  System.Diagnostics.ProcessStartInfo
이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0에서 지원
Posted by 노을지기
노트북이 와서 그것 설치하다가..

이것을 보게 되어 바로 읽게 되었다.

2시간동안 50편을 다 앍었는데,

공감가는 내용라.. 정신없이 읽었다.

일을 하면서 모르는 사람이면 딱 잘라서 할 수 있지만,

한명이라도 연관되어 있으면 매우 곤란한 적이 많았다.

아직 학생이지만, 개발자 품귀현상으로 인하여 경험하게 되었는데,

그 내용이 여기에도 남아 있었다.

특히, 프로는 일로써 해야한다는 말이 공감이 간다.

깔끔하게 해주고, 끝내야지.. 못하면서 질질끄는 것보다 낫다는 생각이 든다.

그후에 돈인듯.. 아직은 학생이라.ㅋㅋ

일을 할때 참고해야겠다..^^ 사람 대하는 법..^^

아무튼 감사합니다...
Posted by 노을지기
사용자 삽입 이미지
Posted by 노을지기