김용유 닷컴



아직도 비베6을 쓰는 사람이 있겠냐고 하겠지만, 내가 일하는 장비업계에서는 과거에 만든 프로그램들이 비주얼스튜디오 6(C++,VB)로 된 것들이 꽤 있다.


비주얼 베이직 6.0 을 사용하다보면 다른 사람에게 주석을 제거하고 줘야 할 때가 있다.


그런데, 비주얼 베이직용 주석 제거 프로그램이 있나 찾아보니 없다..(내가 서치능력이 떨어지느듯..)

그래서 우선 내가 사용하기 위해 만들었다. 

파일을 불러와서 주석을 삭제한 후 저장하도록 만들었다.

기존 파일은 현재 불러온 파일의 경로 밑에 backup 폴더를 만든 후 백업을 하도록 했다.


이 프로그램이 필요한 사람은 누구나 무료로 사용해도 된다..


VB Comment Delete Project.exe



프로그램 개발툴 : C++ Builder 10.2



* 문제점 파악과 해결 결과를 표시 

 1. (2017.07.14, 16:00) 첫번째 버전을 사용하다보니 연속 라인으로 처리해 버리는 언더바(_) 문자가 있을 경우 처리하지 않는 경우가 있어 주석문자(`)가 나타난 후 언더바(_) 문자가 나올 경우에는 연속으로 주석을 지워버리도록 수정을 했다.

 2. (2017.07.14, 17:15) 또 다른 문제점 확인...

프로그램 상 문자열 처리 내의 ` 문자가 있을 경우 같이 지워버리는 문제가 발생됨.

우선은 문자열 처리 내의 주석 처리 부분은 지우지 않도록 수정..

주석을 지우는 것도 중요하지만, 프로그램이 정상 동작하는 것이 우선이기에..

이에 대한 예외 조건 처리는 시간 날 때 다시 해야겠다.. 우선은 다른 일부터 해야 되기에..

(2017.07.15:12:30) 처리 완료. 추가로 첫번째 문자에 주석 처리 문자가 있을 경우에는 문자열 처리라도 무조건 주석으로 처리하도록 변경.

 --------- 이상  -------------

 

COMMENT 0


이전에 만들었던 Code Generator의 일부 버그 수정

Ver 1.2.0.0
- 2차원 배열일때의 줄넘김 문제
- 일부 텍스트 변경
- 버튼을 아이콘 버튼으로 변경

더보기


Comment +2

Virtual Tree View 테스트 프로그램..

참고 문서를 보고 작성해 봄..

Ini 파일을 섹터별로 읽을수 있도록 함.
(우선은 Setup.ini 파일만 읽을수 있음.. 추후.. 파일을 불러서 읽을수 있도록 변경 예정)

Add-on으로 제공되는 VirtualIniTree를 사용하지 않음.. (몇가지 조건이 달라서... 추후 이 컴포넌트도 테스트 예정)

밑의 INI Generator 파일의 생성시 검사 해보기 위해 작성함...



사용자 삽입 이미지





'S/W 개발 > My Develope Program' 카테고리의 다른 글

CSV File to C++ Source & Ini File Generator  (2) 2009.05.22
Virtual Tree Test 프로그램..  (1) 2008.01.11
Code Generator 업데이트  (1) 2008.01.11
GUI TEST  (0) 2007.12.27

COMMENT 1

이전에 만들었던 프로그램 수정본..

프로그램에서 불러서 저장하기 전에 미리 ini 파일을 미리 만들어 볼수 있도록 추가..
ini파일 작성시 설명 부분과 변수 설정 부분을 추가로 만들수 있도록 함.



사용자 삽입 이미지


CODEGene.zip





'S/W 개발 > My Develope Program' 카테고리의 다른 글

Virtual Tree Test 프로그램..  (1) 2008.01.11
Code Generator 업데이트  (1) 2008.01.11
GUI TEST  (0) 2007.12.27
간단한 TCP/IP 테스트  (0) 2007.12.06

COMMENT 1

사용자 삽입 이미지

일반 폼에서 만들어본.. 화면.. 검정색 부분은 바탕화면임(즉 투명부분...)

영역 지정화면 테스트겸해서 만들어본것...

추후 알림 메시지 박스로 사용하면 될듯함...

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

#ifndef FormMainH
#define FormMainH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <Buttons.hpp>
#include <ImgList.hpp>
#include "XiPanel.hpp"
#include "LMDPNGImage.hpp"
//---------------------------------------------------------------------------
class TfrmMain : public TForm
{
__published: // IDE-managed Components
 TImageList *ImageListMain;
 TShape *shpTitle;
 TLabel *lblTitle;
 TShape *shpBG;
 TImage *imgExit;
 TShape *Shape1;
 TLabel *Label1;
 void __fastcall shpTitleMouseMove(TObject *Sender, TShiftState Shift, int X,
          int Y);
 void __fastcall shpTitleMouseDown(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y);
 void __fastcall shpTitleMouseUp(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y);
 void __fastcall imgExitClick(TObject *Sender);
private: // User declarations
public:  // User declarations
 __fastcall TfrmMain(TComponent* Owner);
 BOOL bDragState;
 int nMouseDownX, nMouseDownY;
};

#define TITLE_WIDTH  400
#define MAIN_WIDTH   640
#define TITLE_HEIGHT  20
#define MAIN_HEIGHT   440

#define SYSTEM_WIDTH    300
#define SYSTEM_HEIGHT   20
#define LEFT_MARGIN  5
//---------------------------------------------------------------------------
extern PACKAGE TfrmMain *frmMain;
//---------------------------------------------------------------------------
#endif

.cpp
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "FormMain.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "XiPanel"
#pragma link "LMDPNGImage"
#pragma resource "*.dfm"
TfrmMain *frmMain;
//---------------------------------------------------------------------------
__fastcall TfrmMain::TfrmMain(TComponent* Owner)
 : TForm(Owner)
{
 ////////////////////////////////////////////////////////////////////////////
 HWND hRegionMain, hRegionTitle, hRegionSystem ;

 hRegionTitle = CreateRectRgn(0, 0, TITLE_WIDTH, TITLE_HEIGHT);                   // 영역 지정

 hRegionMain = CreateRectRgn(0, TITLE_HEIGHT, MAIN_WIDTH, TITLE_HEIGHT + MAIN_HEIGHT);

 hRegionSystem = CreateRectRgn(MAIN_WIDTH - SYSTEM_WIDTH,
          TITLE_HEIGHT + MAIN_HEIGHT,
          MAIN_WIDTH,
          TITLE_HEIGHT + MAIN_HEIGHT + SYSTEM_HEIGHT);


 CombineRgn(hRegionMain, hRegionTitle, hRegionMain, RGN_OR);                 // 영역병합
 CombineRgn(hRegionSystem, hRegionMain, hRegionSystem, RGN_OR);                 // 영역병합

 SetWindowRgn(Handle, hRegionSystem, True);                                        // 영역 등록

 Brush->Style = bsClear;                                                       // 브러쉬 스타일 정의..
 //Pen->Style = psSolid;
 ////////////////////////////////////////////////////////////////////////////
 //btnTitle->Glyph = ImageListMain->
   // this->Color = clBlack;
   // ImageListMain->GetBitmap(0, imgExit->Picture->Bitmap);
 //  imgExit->Picture->LoadFromFile(".\\Shutdown.png");
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::shpTitleMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
 if(bDragState)
 {
  this->Left = this->Left + X - nMouseDownX;
  this->Top = this->Top + Y - nMouseDownY;
 }
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::shpTitleMouseDown(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
 nMouseDownX = X;
 nMouseDownY = Y;
 bDragState = true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::shpTitleMouseUp(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
 bDragState = false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::imgExitClick(TObject *Sender)
{
 PostQuitMessage(-1);
}
//---------------------------------------------------------------------------

'S/W 개발 > My Develope Program' 카테고리의 다른 글

Code Generator 업데이트  (1) 2008.01.11
GUI TEST  (0) 2007.12.27
간단한 TCP/IP 테스트  (0) 2007.12.06
수치 계산 프로그램  (0) 2007.12.06

COMMENT 0

SimpleTCP 프로그램을 이용한 간단한 테스트 프로그램..

많은것이 필요없으므로 간단한거 작성할때 유용함...

tcpip.zip

'S/W 개발 > My Develope Program' 카테고리의 다른 글

GUI TEST  (0) 2007.12.27
간단한 TCP/IP 테스트  (0) 2007.12.06
수치 계산 프로그램  (0) 2007.12.06
SUNX HL-C1 테스트 프로그램  (0) 2007.12.06

COMMENT 0

소장님이 부탁한 프로그램...
간단히 만든 프로그램이지만..

제작기간 : 0.5 day


test.zip

'S/W 개발 > My Develope Program' 카테고리의 다른 글

간단한 TCP/IP 테스트  (0) 2007.12.06
수치 계산 프로그램  (0) 2007.12.06
SUNX HL-C1 테스트 프로그램  (0) 2007.12.06
ini 파일 자동 생성기  (0) 2007.12.06

COMMENT 0

테스트 겸해서 만든 프로그램...

급하게.. 위치값만 불러오기 위해서 만든 테스트 프로그램..

만들기 위해 프로토콜 찾느라 고생한 프로그램.. (제작기간 1일)



lds_test.zip

'S/W 개발 > My Develope Program' 카테고리의 다른 글

수치 계산 프로그램  (0) 2007.12.06
SUNX HL-C1 테스트 프로그램  (0) 2007.12.06
ini 파일 자동 생성기  (0) 2007.12.06
간단 시리얼 테스트 프로그램  (0) 2007.12.06

COMMENT 0


예전에 만들어봤던 ini 파일 자동 생성기..

VCL, MFC 용 코드를 모두 자동으로 생성해준다.

아이디어는 전에 알던 사람한테 얻음..

아직 버그 있음

툴 : bds 2006, Suiskin

제작기간 : 2.5day
ini

COMMENT 0

심심해서 만들어본 시리얼 테스트 프로그램


툴 : bds2006
사용 컴포넌트 : CPort 3.1
제작기간 : 1day


cport test.zip

COMMENT 0

티스토리 툴바