2010. 3. 16. 15:39

// Prompt.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다.
//

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <tchar.h>
#include <locale.h>
#include <windows.h>

#define STR_LEN 256
#define CMD_TOKEN_NUM 10

TCHAR ERROR_CMD[] = _T("'%s'은(는) 실행할 수 있는 프로그램이 아닙니다. \n");

int CmdProcessing(void);
TCHAR * StrLower(TCHAR *);

int _tmain(int argc, TCHAR* argv[]){
 _tsetlocale(LC_ALL, _T("Korean"));

 DWORD isExit;
 while(1){
  isExit = CmdProcessing();
  if(isExit == TRUE){
   _fputts(_T("명령어 처리를 종료합니다. \n"), stdout);
   break;
  }
 }
 
 return 0;
}

TCHAR cmdString[STR_LEN];
TCHAR cmdTokenList[CMD_TOKEN_NUM][STR_LEN];
TCHAR seps[] = _T(" ,\t\n");

int CmdProcessing(void){
 _fputts(_T("Best command prompt>>"), stdout);
 _getts(cmdString);
 TCHAR * token = _tcstok(cmdString, seps);
 int tokenNum =0;
 while(token != NULL){
  _tcscpy(cmdTokenList[tokenNum++], StrLower(token));
  token = _tcstok(NULL, seps);
 }

 if( !_tcscmp(cmdTokenList[0],_T("exit"))){
  return TRUE;
 }
 else if(!_tcscmp(cmdTokenList[0],_T("추가 명령어 1"))){
 }
 else if(!_tcscmp(cmdTokenList[0],_T("추가 명령어 2"))){
 }

 else{
  _tprintf(ERROR_CMD,cmdTokenList[0]);
 }
 return 0;
}

TCHAR * StrLower(TCHAR *pStr){
 TCHAR *ret = pStr;
 
 while(*pStr){
  if(_istupper(*pStr))
   *pStr = _totlower(*pStr);
  pStr++;
 }

 return ret;
}

Posted by TIMEC
2009. 11. 15. 20:07
Posted by TIMEC
2009. 11. 15. 20:03
Posted by TIMEC
2009. 11. 15. 20:00
Posted by TIMEC
2009. 11. 15. 19:58

BufferedWriter bw =new BufferedWriter(new FileWriter("c:\\log.txt"));
  
  for(int i=0;i<vc.size();i++){
   bw.write(vc.elementAt(i).getYear()+"/");
   bw.write(vc.elementAt(i).getMonth()+"/");
   bw.write(vc.elementAt(i).getDay()+"/");
   bw.write(vc.elementAt(i).getHour()+"/");
   bw.write(vc.elementAt(i).getMinute()+"/");
   bw.write(vc.elementAt(i).getTotalHour()+"/");
   bw.write(vc.elementAt(i).getTotalMinute()+"/");
  }
  bw.close();
 }

bw.close(); <-- 안해주면 파일이 들어가지 않음.

'JAVA 6.0 > Fundamentals' 카테고리의 다른 글

replaceAll로 공백 제거하기  (0) 2010.07.26
BufferedReader 파일 읽어오기  (0) 2009.11.15
Posted by TIMEC
2009. 11. 15. 19:56

BufferedReader in = new BufferedReader(new FileReader("c:\\log.txt"));
  String line=in.readLine();
  
  StringTokenizer st = new StringTokenizer(line,"/");
  
  while(st.hasMoreTokens()){
  di = new DateInfo();
  di.setYear(Integer.parseInt(st.nextToken()));
  di.setMonth(Integer.parseInt(st.nextToken()));
  di.setDay(Integer.parseInt(st.nextToken()));
  di.setHour(Integer.parseInt(st.nextToken()));
  di.setMinute(Integer.parseInt(st.nextToken()));
  di.setTotalHour(Integer.parseInt(st.nextToken()));
  di.setTotalMinute(Integer.parseInt(st.nextToken()));
  
  vc.add(di);
  }

'JAVA 6.0 > Fundamentals' 카테고리의 다른 글

replaceAll로 공백 제거하기  (0) 2010.07.26
BufferedWriter 파일에 데이터 삽입  (0) 2009.11.15
Posted by TIMEC
2009. 11. 15. 19:53

package layout;

import java.awt.*;
import java.util.*;

public class PositionLayout implements LayoutManager {
    Vector  positions = new Vector(10);
    Vector  components = new Vector(10);
    private  boolean   leftRatio;
    private  boolean   topRatio;
    private  boolean   rightRatio;
    private  boolean   bottomRatio;

    public void addLayoutComponent(String p, Component c) {
        positions.addElement(p);
        components.addElement(c);
    }


    public void removeLayoutComponent(Component c) {

        int i = components.indexOf(c);
        if(i != -1) {
            positions.removeElementAt(i);
            components.removeElementAt(i);
        }
    }


    public Dimension preferredLayoutSize(Container parent) {
        Dimension dim = new Dimension(0,0);
        int ncomponents = parent.getComponentCount();
        Insets  insets = parent.getInsets();
        dim.width += insets.left + insets.right;
        dim.height += insets.top + insets.bottom;

        int maxW = dim.width;
        int maxH = dim.height;
        for(int i = 0; i < ncomponents; i++) {
            Component  com = parent.getComponent(i);
            if(com.isVisible() == false)
                continue;
            int  w = com.getPreferredSize().width + dim.width;
            int  h = com.getPreferredSize().height + dim.height;
            if( w > maxW )
                maxW = w;
            if( h > maxH )
                maxH = h;
        }
        //System.out.println("prefer Size: width="+maxW+"\t\theight="+maxH);
        return  new Dimension(maxW, maxH);
    }


    public Dimension minimumLayoutSize(Container target) {
        return  target.getSize();
    }


    public void layoutContainer(Container target) {
        Insets insets = target.getInsets();
        int    ncomponents = target.getComponentCount();
        Dimension d = target.getSize();
        d.width  -= insets.left + insets.right;
        d.height  -= insets.top + insets.bottom;
        int  startX =0, startY =0, endX =0, endY =0;
        int  left = 0, top =0, right = 0, bottom =0;
        for(int i=0; i< ncomponents; i++) {
            Component comp = target.getComponent(i);
         StringTokenizer token = new StringTokenizer((String)positions.elementAt(i), ", \t");
            String  leftSt = token.nextToken();
            if(leftSt.endsWith("%")) {
                leftRatio = true;
                left  = Integer.parseInt(leftSt.substring(0, leftSt.length()-1));
            } else {
                left  = Integer.parseInt(leftSt);
            }

            String  topSt = token.nextToken();
            if(topSt.endsWith("%")) {
                topRatio = true;
                top  = Integer.parseInt(topSt.substring(0, topSt.length()-1));
            } else {
                top  = Integer.parseInt(topSt);
            }

            String  rightSt = token.nextToken();
            if(rightSt.endsWith("%")) {
                rightRatio = true;
                right  = Integer.parseInt(rightSt.substring(0, rightSt.length()-1));
            } else {
                right  = Integer.parseInt(rightSt);
            }

            String  bottomSt = token.nextToken();
            if(bottomSt.endsWith("%")) {
                bottomRatio = true;
                bottom  = Integer.parseInt(bottomSt.substring(0, bottomSt.length()-1));
            } else {
                bottom  = Integer.parseInt(bottomSt);
            }

            if(leftRatio)
                startX = (d.width * left)/100;
            else
                startX = left;

            if(topRatio)
                startY = (d.height * top)/100;
            else
                startY = top;

            if(rightRatio)
                endX = (d.width * right)/100;
            else
                endX = right;

            if(bottomRatio)
                endY = (d.height * bottom)/100;
            else
                endY = bottom;

            if(startX > endX) {
                int temp = startX;
                startX = endX;
                endX = temp;
            }
            if(startY > endY) {
                int temp = startY;
                startY = endY;
                endY = temp;
            }
            int  w = endX - startX;
            int  h = endY - startY;
            comp.setBounds(startX+insets.left, startY+insets.top, w, h);
            topRatio = false;
            leftRatio = false;
            rightRatio = false;
            bottomRatio = false;
        }
    }

    public String toString() {
        return getClass().getName();
    }
}

'JAVA 6.0 > GUI (AWT, SWING)' 카테고리의 다른 글

JFreeChart Package Documentation  (0) 2009.11.15
JFreeChart Package File  (0) 2009.11.15
JFreeChart 사용하기 (HistogramChart)  (0) 2009.11.15
JFreeChart 사용하기 (ScatterPlot)  (0) 2009.11.15
JFreeChart 사용하기 (LineChart)  (0) 2009.11.15
Posted by TIMEC
2009. 11. 15. 19:50


package JFreeChart;

import java.awt.*;
import org.jfree.chart.*;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.xy.IntervalXYDataset;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;

public class HistogramChart{
 private XYSeries series = null;
 private XYDataset dataset = null;
 private JFreeChart chart = null;
 private TextTitle subTitle = null;
 
 public HistogramChart(){
  series = new XYSeries("Users");
  series.add(2000, 100.0);
  series.add(2001, 111.0);
  series.add(2002, 120.0);
  series.add(2003, 140.0);
 }
 public ChartPanel getHistogramChart_HistogramChart(){
  ChartPanel chartPanel_HistogramChart = null;
  dataset = new XYSeriesCollection(series);
  chart = ChartFactory.createXYBarChart("Response Time  Monitoring", "Var", false, "Frequence", (IntervalXYDataset) dataset, org.jfree.chart.plot.PlotOrientation.VERTICAL, true, true, false);
  subTitle = new TextTitle("Thread Test");
  chart.setBackgroundPaint(Color.WHITE);
  chart.addSubtitle(subTitle);
  chartPanel_HistogramChart = new ChartPanel(chart);
  return chartPanel_HistogramChart;
 }
}

Posted by TIMEC
2009. 11. 15. 19:49

package JFreeChart;

import java.awt.*;
import org.jfree.chart.*;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;

public class ScatterPlot {
 private XYSeries series = null;
 private XYDataset dataset = null;
 private JFreeChart chart = null;
 private TextTitle subTitle = null;

 
 public ScatterPlot(){
  series = new XYSeries("Users");
  series.add(2000, 100.0);
  series.add(2001, 111.0);
  series.add(2002, 120.0);
  series.add(2002, 130.0);
  series.add(2001, 110.0);
  series.add(2002, 150.0);
  series.add(2001, 120.0);
  series.add(2003, 170.0);
  series.add(2001, 160.0);
  series.add(2002, 120.0);
  
    }
 public ChartPanel getchartPanel_scatterPlot(){
  ChartPanel chartPanel_scatterPlot = null;
  dataset = new XYSeriesCollection(series);
  chart = ChartFactory.createScatterPlot("JDBC & SQL Monitoring", "Var",  "Frequence", dataset, org.jfree.chart.plot.PlotOrientation.VERTICAL, true, true, false);
  subTitle = new TextTitle("ClientRequirement Test");
  chart.setBackgroundPaint(Color.WHITE);
  chart.addSubtitle(subTitle);
  chartPanel_scatterPlot = new ChartPanel(chart);
  return chartPanel_scatterPlot;
 }
}

 

Posted by TIMEC
2009. 11. 15. 19:48


package JFreeChart;

import java.awt.*;
import org.jfree.chart.*;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.general.DatasetUtilities;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;

public class LineChart {
 private XYSeries series = null;
 private XYDataset dataset = null;
 private JFreeChart chart = null;
 private TextTitle subTitle = null;
 
 public LineChart(){
  series = new XYSeries("Users");
  series.add(2000, 100.0);
  series.add(2001, 111.0);
  series.add(2002, 120.0);
  series.add(2003, 140.0);
 }
 public ChartPanel getchartPanel_lineChart(){
  ChartPanel chartPanel_lineChart = null;
  dataset = new XYSeriesCollection(series);
  chart = ChartFactory.createXYLineChart("WebServer Performance Monitoring", "Var",  "Frequence", dataset, org.jfree.chart.plot.PlotOrientation.VERTICAL, true, true, false);
  subTitle = new TextTitle("Heap Memory Usage Test");
  chart.setBackgroundPaint(Color.WHITE);
  chart.addSubtitle(subTitle);
  chartPanel_lineChart = new ChartPanel(chart);
  return chartPanel_lineChart;
 }
 
}

Posted by TIMEC