아주아주 예전에 제가 개발한 프로그램입니다.


플래시 게임을 좀 편리하고, 쉽게 사용하고, 해당 게임 사이트에 들어가지 않고도 사용할 수 있습니다.

기억을 하시는 분도 계시겠지만. 한동안 서버를 못구해서. 잠수타고 있다가 다시 시작합니다.



* 기본정보


프로그램명 : 플가 (FLGA)

운영체제 : 제힌없음

라이센스 : 프리웨어 - 절대로 해킹코드 없는 순수 프로그램임을 보증합니다.

다운로드 : 

Flga_1_3.zip





버젼업이 되게 되면 제 블로그에 오셔서 신규프로그램을 받으시면 됩니다. 

버전업 정보는 기존 프로그램 사용할 때 표시가 됩니다.


* 설치


첨부파일을 다운받아 압축을 푼 후 원하는 폴더에서 flag.exe을 실행하면 끝~~


* 이미지 및 설명


실행화면이며, 검색을 하거나, 메뉴를 클릭하면 해당 리스트가 나온다.



창크기가 고정이 된 것이 아니라서 원하는 크기로 프로그램 크기를 변경할 수 있습니다.



이미지 클릭 시 게임 상세설명을 볼 수 있다. (상세한 설명은 없습니다. ^^ 중요 게임 키 설명만 있어요..



[게임실행] 클릭 시 나온 게임화면입니다. 


이제 게임을 즐기시면 되겠죠~~~

게임키를 까먹었을 때 상단의 [게임설명] 울 클릭하면 설명화면으로 넘어갑니다.















폰갭을 사용할 때 필요한 설치가 여러가지가 있는데 nodejs 가 그중 하나입니다.


nodejs 는 핵심이 웹상에서 소켓통신 및 기타 유용한 라이브러리의 집합체 입니다.



* node.ks 설치


https://nodejs.org/en/ 에서 다운로드




설치는 다운로드 하여 인스톨을 하면 된다.



'프로그램 > Android' 카테고리의 다른 글

폰갭 설치하기 (phonegap)  (0) 2016.09.27








안드로이드에서의 대세는 폰갭(phone-gap) 이라 생각이 된다.


반응속도가 느린 단점이 있지만 사용자의 입장에서는 현란한 화면움직임, 예쁜 화면구성 도 중요하지만, 


나의 입장에서는 결국 필요한 것은 내가 원하는 데이터가 있느냐 없느냐가 중요한 것이다.


폰갭은 그 기본방식이 웹이고 그 웹+자바스크립트 을 기반으로 해서 폰 안에 내용을 저장하고 운영하는 것이 핵심이다.



설치는


1. java JDK 설치

2. Android SDK 설치

3. Apache Ant 설치

4. node.js 설치 

5. Phonegap 설치



순으로 하면 된다.

아래는 http://cppcomeon.tistory.com/486 에서 발췌한 내용이며 phone-gap 부분만 설명합니다.

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

5. phonegap 설치


http://phonegap.com/

위 사이트에서 폰갭을 다운받아 설치합니다.




Getting Started Guides를 클릭



Windows를 클릭


Windows Installer 클릭 후 설치


설치가 완료 되면 아래와 같은 이미지가 나옵니다. 자동으로 나오지 않으면 

실행 -> 프로그램 -> adobe -> phonegap에서 실행 하면됩니다.




이제 폰갭을 빌드하는 방법입니다.


폴더명은 꼭 영문으로 해야 합니다. 한글폴더명이 섞여 있으면 에러 납니다.


실행 -> 프로그램 -> node.js -> node.js command prompt 를 실행합니다. 


nodejs 프롬프트 실행 되면


1. npm install -g phonegap 을 입력합니다. 그럼 폰갭이 설치되게 됩니다.


1. mkdir phonegap

2. cd phonegap

3. phonegap create sample

4. cd sample

5. phonegap platform add android

6. phonegap build android


위와 같이 하면 폰갭 빌드까지 끝났습니다. 

이제는 본격적으로 폰갭을 이용하여 어플을 만들면 됩니다. 




'프로그램 > Android' 카테고리의 다른 글

phonegap 을 위한 nodejs 설치  (0) 2016.09.27








오늘은 선택된 radio 항목의 value 값을 찾을 때 사용하는 함수를 설명하고자 합니다.


많이 사용하는 방식이지만 막상 직접 짜려면 귀찮기 때문에 라이브러리 형태로 만든 뒤 사용하면 편할 것 같습니다.


* 함수


function GetCheckedValue(parm_obj)

{

var checked_val = "";

for(var js_i=0; js_i<parm_obj.length; js_i++){

if(parm_obj[js_i].checked){

checked_val = parm_obj[js_i].value; break;

}

}

return checked_val;

}



* 사용법

var read_val = GetCheckedValue(document.write_form.f_radio);



GetCheckedValue 을 라이브러리 js 에 넣어놓고 사용하면 편합니다.










오늘은 자바스크립트에서 통상적으로 많이 사용하는 방식 중에


입력칸 (text) 에 값이 없을 때 원하는 메세지를 띄우고 해당 칸에 커서를 가는 방법을 하나의 함수로 묶어서 사용하는 함수를 소개하고자 합니다.


이미 알고 있을 내용을 조합해서 쉽게쉽게 쓰고자 하는 라이브러리라 생각됩니다.


* 함수


// parm_obj :form object

// parm_msg : 미입력 시 띄울 메세지

// parm_focus_skip : 포커스를 갈지 안갈지 유무

function NullCheckMessage(parm_obj, parm_msg, parm_focus_skip)

{

var obj = parm_obj;

if(obj.value==""){

alert(parm_msg);

if(parm_focus_skip != "skip") obj.focus();

return 0;

}

return 1;

}


* 사용법

var f = document.write_form;

if( !NullCheckMessage(f.f_id, "아이디를 입력해 주세요.", "") ) return;    // if 앞에 ! 주의



자바스크립트 사용할 때 NullCheckMessage 함수 하나로 쉽게쉽게 처리가 됩니다.~^^


참고로 포커스(focus)가 갈수 없는 object 일 경우 "skip" 을 넣어서 .focus 을 하지 않도록 하면 됩니다.


if( !NullCheckMessage(f.f_id, "아이디를 입력해 주세요.", "skip") ) return;











오늘은 INI 파일을 사용하는 법에 대해 설명하고자 합니다.


일반적인 INI 함수는 WINNT\SYSTEM 에 저장되어 사용되는것이 대부분인데 이 방식은 INI파일 관리하는데 문제점이 있고.


레지스트리 함수 또한 레지스트리에서 찾기도 힘들고, 관리 또한 힘든 점이 있습니다.


아래의 함수는 특정 폴더 위치에 INI을 생성해서 관리하는 방법을 설명하고자 합니다.


일반적으로 실행되는 위치 또는 그 하위폴더에 잡게 됩니다.


* 특정폴더의 INI 읽기


// CString parm_command : command명

// CString parm_default : 없을경우 default값


CString Util::GetInformationINI(CString parm_command, CString parm_default)

{

// INI

char buffer[256] = {0, };

CString file_str, make_str;

file_str.Format("%s\\read.ini", 읽을위치);


GetPrivateProfileString("COMMON", parm_command, parm_default, buffer, 255, file_str);    

        // file_str의 ini에서 COMMON이란 section 의 parm_command 값 읽기

return buffer;

}


* 사용법

CString aaa = m_util.GetInformationINI("COM_STORE_CODE", "")



* 특정폴더의 INI 에 쓰기


// CString parm_data : 쓸 정보

void Util::SetInformation(CString parm_command, CString parm_data)

{

char buffer[256] = {0, };

CString file_str, make_str;

file_str.Format("%s\\read.ini", m_exe_str);

WritePrivateProfileString("COMMON", parm_command, parm_data, file_str);

}


* 사용법

m_util.SetInformation("COM_STORE_CODE", "1234");



참 쉽죠~~

마니마니  사용해주세요.~












오늘은 문자 또는 문자열을 split 하는 방법에 대해 설명합니다.


보통 자바스크립트나 자바 등에서는 쉽게 제공이 되지만 C++에서는 직접 구현을 해줘야 합니다.


여러군데에서 설명나온걸 마니 보았지만 실제 업무에서 적용되어서 운영되는 것인지 명확하지 않기 때문에 제가 현재 사용하고 있는 함수를 공개합니다.


* 문자단위의 split


int Util::Split(LPCTSTR lpszExpression, TCHAR chDelimiter, CStringArray &result)

{

int nCount = 0;

CString strSub;


while (AfxExtractSubString(strSub, lpszExpression, nCount++, chDelimiter)){

strSub.TrimLeft();

strSub.TrimRight();

result.Add(strSub);

}

return nCount;

}



위 함수는 하나의 문자에 대해 분할할 때 사용합니다. 걀과는 CStringArray 로 전달됩니다.
그리고 return 은 분할 된 개수입니다.

* 사용법
CStringArray protocol_array;
m_util.Split(card_confirm_protocol, '*', protocol_array);
    AfxMessageBox(protocol_array[0]);

아주 쉽죠..

* 문자열의 split

int Util::Splits(CString string, CString sep, CStringArray& array)
{

int nCount = 0;
while (string.GetLength() > 0){
int Pos = string.Find(sep);
if (Pos != -1){
array.Add(string.Left(Pos));
string = string.Mid(Pos + sep.GetLength());
nCount++;
if(string.IsEmpty()){
array.Add("");
nCount++;
}else{
array.Add(string);
string = "";
nCount++;
}
}
return nCount;

}

위 함수는 문자열을 분할할 때 사용합니다.
기존 인터넷에 설명이 나온것 중에 특정문자열에 대해 분할이 정상적으로 이루어 지지 않는 것들이 좀 있는데 
위 함수는 그것까지 정상처리되도록 작업이 된 함수입니다.


* 사용법

          CStringArray str_array; 

m_util.Splits(is_parm, "||||", str_array);
                AfxMessageBox(str_array[0]);


위 두 함수를 쌍으로 설정해 놓고 사용하시면 유연하게 사용하실 수 있습니다.

그럼~~






+ Recent posts