본문 바로가기

델파이505

안드로이드 트랜잭션 사용방법 안드로이드 트랜잭션 사용방법 package com.monosoft.myapplication import androidx.appcompat.app.AppCompatActivity import android.os.Bundle class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) setFragment() //함수 실행 } fun setFragment() { //1. 삽입할 프래그먼트 생성 val fragment = ListFragment() //2. 삽입 트랜잭션.. 2022. 8. 2.
어댑터(adapter)란? 어댑터(adapter)란? 어댑터(adapter)는 보여지는 뷰와 그 뷰에 올릴 데이터를 연결하는 일종의 다리 역할을 하는 객체를 말합니다. 어댑터가 데이터소스(배열, ArrayList, LinkedList, DB ...)와 어댑터 뷰(ListView, GridView) 사이에 있으면서 데이터 소스에 있는 데이터에 맞춰 어댑터 뷰를 변경합니다. 이번 글에서 다룰 ArrayAdapter는 ListView와 데이터(ArrayList)를 연결하는 역할을 담당합니다. ​ ​ 2022. 7. 29.
리스터 이해 리스터 이해 버튼을 내려놓는다.. package com.monosoft.myapplication import android.app.Activity import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.os.DeadObjectException import android.util.Log import android.view.View import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super... 2022. 7. 25.
null 값을 안정적으로 처리 방법 null 값을 안정적으로 처리 방법 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //null값을 안정적으로 처리 방법 //1.변수 선언시 nullable 해서 Null을 입력할수있는 변수를 선언 //2.nullable 선언되었다면 safe Call 강제해서 null pointer exception 안나게 한다. //3.null일 경우 대체값을 꼭 입력한다면 엘비스 익스프리스( ?: 값 )를 써서 디폴트값 지정 var myName : String = .. 2022. 7. 22.
클래스 클래스 1. 클래스 기본 개념 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //클래스 사용하는 방법 //1.초기화 //var cls = 클래스() //인스턴스 = 메모리에 로드되어 있는 클래스 //cls.variable //cls.function() //2. companion object 로 만들기 Log.d("태그","메시지") } } class Log { companion object { var variable = "난 누구" fun d(tag:.. 2022. 7. 21.
함수 함수 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //함수를 사용하는 용도는 코드를 분류하기 위해서 사용 //함수사용 functionName() functionparam("문자형값",111) var pi:Double = getPi() Log.d("getPi","getPi=${pi}") var functionparamreturn : String = functionparam_return("p1",222) Log.d("functionparam_return.. 2022. 7. 19.
반복문 (for, while , do..while, break) 반복문 (for, while , do..while, break) var intArray = intArrayOf(0,10,20,30,40,50,60,70,80) //for 문 //일반적으로 몇 번의 횟수를 반복하는 형태 //for ( 시작값..종료값) { //코드블럭 //} //for (index in 1..10) { //for (index in 1 until 10) { //마지막값은 제외 //for (index in 1 until 10 step 2 ) { //짝수만 제외 후 출력 //for (index in 10 downTo 1 step 2) { //반대로 반복문 , 짝수만 출력 for (value in intArray) { //배열 반복문 Log.d("반복문","index=${value}") } //w.. 2022. 7. 18.
배열 / 컬렉션 / 맵 배열 / 컬렉션 / 맵 //*****************************************배열 (정적배열) //Int -> IntArray var intArr:IntArray = IntArray(10) //index = 0 부터 시작 intArr[0] = 10 intArr[1] = 20 intArr[2] = 30 intArr[3] = 40 intArr[4] = 50 intArr[5] = 60 intArr[6] = 70 intArr[7] = 80 intArr[8] = 90 intArr[9] = 100 //intArr[10] = 110 Log.d("intArr","9번 인텍스의 값=${intArr[9]}") var weekArray = CharArray(7) weekArray[0] = '월' we.. 2022. 7. 13.
조건문 조건문 //****************************조건문**************************** //**************비교연산자 , >= , 2 var result = "홍길동" != "김숙자" Log.d("compare","결과는 = ${result}") var result2 = second < 500 Log.d("compare","두번째 결과=${result2}") //**************논리연산자 var logic1 = result && result2 //AND 연산자 Log.d("compare","논리연산 && 결과 = ${logic1}") var logic2 = result || result2 //OR 연산자 Log.d("compare","논리연산 |.. 2022. 7. 12.
변수와상수 변수와상수 package com.MonoSoft.SayHello import android.os.Bundle import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) var variable : String = "홍길동" //*********코틀린의 기본타입 //실수형 var doublevalue : Double = 35.6 //자주씀 var floatvalue : Float =.. 2022. 7. 11.
앱 개발을 위해서 꼭 알아야할 코틀린 문법 3가지 앱 개발을 위해서 꼭 알아야할 코틀린 문법 3가지 package com.MonoSoft.SayHello import android.os.Bundle import android.util.Log import androidx.appcompat.app.AppCompatActivity import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { val TAG = "MainActivity" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_.. 2022. 7. 5.
로그 활용하기 로그 활용하기 package com.MonoSoft.SayHello​ import android.os.Bundle import android.util.Log import androidx.appcompat.app.AppCompatActivity import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { val TAG = "MainActivity" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) buttonLog.set.. 2022. 6. 17.
코틀린 기본 문법 5 - 기타기능 코틀린 기본 문법 5 - 기타기능 //******************************* 확장 함수 //쉽게 기존 클래스에 함수를 추가할수 있다 //확장함수를 추가할 클래스에 점을 찍고 함수이름 작성 //확장 함수 내부에서는 이 객를 this로 접근할수 있다 //이러한 객체를 리시버 객체라고 함 fun Int.isEven() = this % 2 == 0 val aa = 5 val bb = 6 println(aa.isEven()) println(bb.isEven()) //******************************* 형변환 //숫자형 자료형끼리는 to자료형() 메서드를 사용하여 형변환 가능 val a = 10L val b = 20 val c = a.toInt() val d = b.toDou.. 2022. 6. 14.
코틀린 기본 문법 4 코틀린 기본 문법 4 //******************************* 람다식 //하나의 함수를 표현하는 방법으로 익명 클래스나 익명함수를 간결하게 표현함 //코드를 간결하게 해주는 장점,디버깅이 어렵고 남발할경우 오히려 단점됨 fun add(x : Int , y : Int) : Int { return x + y } println(add(1,2)) //또는 fun add1(x : Int, y : Int) = x + y println(add1(1,2)) //또는 val add2 = { x : Int, y : Int -> x + y} println(add2(1,2)) //******************************* Sam 변환 //자바로 작성된 메소드가 하나인 인터페이스를 구현할때 대.. 2022. 6. 2.
코틀린 기본 문법 3 코틀린 기본 문법 3 //******************************* 컬렉션 //컬렉션은 개발에 유용한 자료구조를 말함 //******************************* 리스트 //읽기 전용 리스트는 listOf()메서드로 작성할수있다 val foods : List = listOf("라면","갈비","밥") println(foods.get(1)) //바꿀수없는 리스트값 val foods1 = listOf("라면","갈비","밥") //바꿀수없는 리스트값 println(foods1.get(1)) //바꿀수 있는 리스트값 val foods2 = mutableListOf("라면","갈비","밥") foods2.add("초밥") //초밥을 맨 뒤에 추가 foods2.removeAt(0) .. 2022. 5. 26.
실행 종류 시 SetThreadContext failed 오류 해결법 실행 종류 시 SetThreadContext failed 오류 해결법 델파이 2009 버전 설치 후 기본 프로젝트 생성 후 실행한다음 종료 후 아래 같은 메세지 오류가 나오면 bds.exe - bordbk105N.dll Assertion failure:"(!"SetThreadContext failed")" in ..\win32src\thread32.cpp at line 403 Continue execution? 다음과 같은 해결법으로 해결해보쟈! 1. Close Delphi 2. Locate bordbk120N.dll (C:\Program Files (x86)\CodeGear\RAD Studio\6.0\bin) 3. Make a backup of the library (just in case). 4. O.. 2022. 5. 18.
IBconsols = attempted update during read-only transaction 에러해결방법 IBconsols = attempted update during read-only transaction 에러해결방법 IBConsole 창에서 Tools - Interactive SQL 창을 오픈한다. Interactive 창에서 Transactions-Option 클릭 해당 창에서 Access mode 를 Write 로 설정한다. 원인은 읽기 전용으로 설정해놔서 쿼리가 수정/저장이 안된것이다 관련 글 IBConsole in InterBase XE7 has changed the "default transaction mode"; it is set to "read only" transaction by default. If you are planning to execute UPDATE statements fro.. 2022. 5. 16.
delphi32.$$$ 파일 delphi32.dro 파일명으로 변경 에러 delphi32.$$$ 파일 delphi32.dro 파일명으로 변경 에러 관리자 권한으로 실행 2022. 5. 13.
vcl60.bpl 에러 vcl60.bpl 에러 볼란드사의 C++ builder로 컴파일 후 다른 컴퓨터에서 그 실행 파일을 그대로 실행하다 보면, vcl60.bpl이 없다는 메시지창을 보게 될 수 있다. 이때 해결 방법은 다음과 같다. 1. Project Option > Package tag > Build with runtime package의 체크 제거 2. Project Option > Link tag > Use dynamic RTL의 체크 제거 3. 재컴파일 여기서. *.bpl이란 Borland Package Library의 약자로 window의 dll과 같은 것이다. 옵션에서 위의 두가지를 풀어주면 동적이 아닌, 정적으로 컴파일을 행해 사용한 bpl이 실행파일에 같이 들어가게 된다. 그 대신 실행파일의 용량은 늘어난다는.. 2022. 5. 12.
TWebBrowser에서 script에러 메세지 제거 TWebBrowser에서 script에러 메세지 제거 javaScript에러가 난다면 해당 web페이지에 script 에러가 있어서 아닐까요? HTML이나 javaScript는 잘 몰라서 정확하게는 뭐라 말씀 못드리겠구요 대게 다음과 같이하면 뜨지 않더군요 TWebBrowser의 Property에 Silent 라는게 있는데 이놈을 true로 하면 뜨지 않습니다. EmbededWB에서도 비슷한게 있는데 잘 기억이 안나네요 2022. 5. 11.