C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[1713] [답변] 꿈의구름/ 한글 파일을 열려고 할때/프포
infopro1 [ ] 3848 읽음    1999-08-04 11:59
제가 만든 Menu파일인데 질문에 대한 이해를 하는데 도움이 되셨으면 합니다.

PChar를 사용해보세요....사용예제가 소스에 있습니다.....
//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#pragma hdrstop

#include "Menu.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "ProDlgs"
#pragma resource "*.dfm"
//---------------------------------------------------------------
int  InputCount;
char PassWord[10];
String TYPE;
TMenuForm *MenuForm;
//---------------------------------------------------------------------------
__fastcall TMenuForm::TMenuForm(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TMenuForm::FormClose(TObject *Sender, TCloseAction &Action)
{
    AnsiString FILENAME = ExtractFilePath(ParamStr(0))+"rx.idx";

    DeleteFile(FILENAME);

    Action=caFree;
}
//---------------------------------------------------------------------------


void __fastcall TMenuForm::SpeedButton3Click(TObject *Sender)
{
  WinExec("InfoSetup.exe",SW_SHOW);
}
//---------------------------------------------------------------------------

void __fastcall TMenuForm::SpeedButton5Click(TObject *Sender)
{
  Close();
}
//---------------------------------------------------------------------------

void __fastcall TMenuForm::SpeedButton1Click(TObject *Sender)
{
    WinExec("InfoLIST.exe",SW_SHOW);

    MakeRx();
}
//---------------------------------------------------------------------------

void __fastcall TMenuForm::SpeedButton2Click(TObject *Sender)
{
    WinExec("InfoCompany.exe",SW_SHOW);

    MakeRx();
}
//---------------------------------------------------------------------------

void __fastcall TMenuForm::SpeedButton6Click(TObject *Sender)
{
  //통신연결
  TIniFile *ini;
  AnsiString p=ExtractFilePath(ParamStr(0))+"InfoSetup.INI";

  ini = new TIniFile(p);
  p = ini->ReadString("Setup","통신 프로그램명","C:\\CHOL98\\bin\\CHOL98.exe");
  delete ini;

//  Application->Minimize();
  WinExec(PChar(p.c_str()),SW_SHOW);
}
//---------------------------------------------------------------------------



void __fastcall TMenuForm::FormActivate(TObject *Sender)
{
    String p,temp;
    TIniFile *ini;
    AnsiString DR=ExtractFilePath(ParamStr(0))+"InfoSetup.INI";

    ProPasswordDialog1->Caption="사용자 암호확인";

    ini = new TIniFile(DR);
    temp = ini->ReadString("Setup","관리암호","");
    Label2->Caption = "프로그램 사용권 : " + ini->ReadString("Setup","업체명","");
    delete ini;

    if(ProPasswordDialog1->Execute()) {

        p  = ProPasswordDialog1->Password;

        String FILENAME = ExtractFilePath(ParamStr(0))+"rx.idx";

        if (p == temp) {
            //사용자 암호

            TYPE = "user";

            ini = new TIniFile(FILENAME);
            ini->WriteString("Setup","type","user");
            delete ini;

            StatusBar1->Panels->Items[2]->Text ="User Mode";

            InfoMix();

        }
        else if (p=="10520722") {
            //관리자 암호

            TYPE = "manager";

            ini = new TIniFile(FILENAME);
            ini->WriteString("Setup","type","manager");
            delete ini;

            StatusBar1->Panels->Items[2]->Text ="Manager Mode";

        }
        else if (p=="0909") {
            //Recovery
            TYPE = "recovery";

            ini = new TIniFile(FILENAME);
            ini->WriteString("Setup","type","recovery");
            delete ini;

            SpeedButton4Click(Sender);
            Close();

        }
        else {

            Close();
        }

    }
    else
        Close();



  //컴퓨터이름을 알아낸다.
  char name[30];
  unsigned long Length;

  Length = sizeof(name);
  GetComputerName(name,&Length);

  StatusBar1->Panels->Items[1]->Text = "ComputerName:"+AnsiString(name);

  ///////////////////////////////////////////////////////////////////////
}
//---------------------------------------------------------------------------
void __fastcall TMenuForm::warning()
{
    //TODO: Add your source code here


    Label1->Visible = true;
    ShowMessage("확인을 누르세요");
    Close();
}

void __fastcall TMenuForm::SpeedButton4Click(TObject *Sender)
{
    WinExec("InfoRead.exe",SW_SHOW);

    MakeRx();

}
//---------------------------------------------------------------------------

void __fastcall TMenuForm::SpeedButton7Click(TObject *Sender)
{
  //Word 연결
  TIniFile *ini;
  AnsiString p=ExtractFilePath(ParamStr(0))+"InfoSetup.INI";

  ini = new TIniFile(p);
  p = ini->ReadString("Setup","Word 프로그램명","C:\\hnc\\hwpw.exe");
  delete ini;

//  Application->Minimize();
  WinExec(PChar(p.c_str()),SW_SHOW);

}
//---------------------------------------------------------------------------


void TMenuForm::MakeRx()
{
    //TODO: Add your source code here
    TIniFile *ini;

    String FILENAME = ExtractFilePath(ParamStr(0))+"rx.idx";

    ini = new TIniFile(FILENAME);
    ini->WriteString("Setup","type",TYPE);
    delete ini;

}



+ -

관련 글 리스트
1710 [질문] 한글 파일을 열려고 할때/프포 꿈의구름 3553 1999/08/03
1713     [답변] 꿈의구름/ 한글 파일을 열려고 할때/프포 infopro1 3848 1999/08/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.