2011-02-18 2 views
1

이것은 전혀 익숙하지 않은 것입니다.'연결되어있는'문자열을 저장하고이를 읽고 '연결됨'

4 개의 편집 상자, 상단 2 개, 하단 2 개 및 버튼으로 간단한 양식을 만들려고합니다. 기본적으로 내가하고 싶은 것은 서로 관련된 두 개의 상자에 두 가지를 입력하는 것입니다.

버튼을 모두 입력하면이 정보가 데이터베이스에 저장됩니다. 외부 파일 (텍스트가 아니어도 좋을 것 같습니다)이 정보를 데이터베이스에 저장합니다. 그래서 몇 번 할 수 있습니다. 편집 필드에서 데이터베이스로 저장.

그런 다음 하단의 편집 필드 중 하나에 저장된 단어 중 하나를 입력하면 마지막 편집 필드에 다른 단어가 자동으로 입력됩니다. 양식을 열 때마다 데이터베이스에 연결하는 것을 기억해야하므로 다른 시간에 열 때 편집 필드를 계속 사용할 수 있습니다.

아무에게도 어떻게 할 수 있습니까?

+3

나는 현재의 형식으로 "어떻게 프로그램해야합니까?"와 같이 읽는 질문에 대한 범위를 좁힐 필요가 있다고 생각합니다. 그래서 나는 일반 교육을위한 최상의 매체라고 확신하지 못합니다. 지금 구체적으로 당신이이 프로젝트에서 곤란을 겪었습니까? 처음부터 하나의 질문으로 좁힐 수 있다면, 아마도 당신에게 뭔가를 줄 것입니다. –

+1

질문이 너무 광범위하므로 투표를 끝내기로했습니다.더 구체적인 질문을하십시오. 데이터베이스에 연결하는 방법과 데이터베이스에서 어떤 것을 찾는 방법 등을 알고 싶을 것 같습니다. 분명히, 당신은 이미 데이타베이스에 물건을 저장하는 방법을 이미 알고 있습니다. (비록 당신이 어떻게 그것을 아직 연결하는지 모르기 때문에 어떻게 확신 할 수 없지만). 개별적으로 각각에 대해 물어보십시오. 어떤 데이터베이스를 사용하고 있는지 언급하십시오. (모르는 경우 데이터베이스 선택에 대한 자문을 구하십시오.) 새로운 질문을하기 전에 먼저 질문을 검색하십시오. –

답변

2

정확하게 이해하면 찾고있는 것을 사전이라고합니다. 다른 언어에서는 연관 배열 또는 해시라고도합니다.

당신은 Delphi의 최신 버전을 원할 것입니다. 2010 또는 XE를 추측 할 수 있습니다. 액세스 할 수없는 경우 타사 라이브러리가 필요하거나 TStringList을 기반으로 재배 한 가정이 필요합니다. 사실 TStringList은 사전 모드와 비슷한 방식으로 작동 할 수 있지만 조금 어색합니다. 다음과 같이

당신은 사전을 선언

dict: TDictionary<string,string>; 

다음과 같이 그것을 추가 할 수 있습니다

dict.Add(box1.Text, box2.Text); 

첫 번째 매개 변수가 열쇠입니다. 두 번째 값입니다. 이것을 배열로 생각하되 정수가 아닌 문자열로 색인화하십시오. 당신은 다음의 값을 복구하려면

당신은 사용 : 귀하의 경우

dict[key]; 

당신이 작성합니다

box4.Text := dict[box3.Text]; 

당신은 당신이 반복 것 파일로 저장하려면 dict :

var 
    item: TPair<string,string>; 
... 
for item in dict do 
    AddToTextFile(item.Key, item.Value); 

오류 처리 문제를 모두 무시하고 이미 존재하는 키를 추가했습니다. , dict에없는 키를 묻습니다. 그러나 이것은 당신에게 맛을 주어야합니다.

연관 배열에 익숙하지 않은 경우 연관 배열을 읽는 것이 좋습니다. Wikipedia에 관한 한 페이지가있을 것이고, 파이썬에 관한 튜토리얼을 읽는 것보다 더 나쁠 것입니다. 파이썬에 관한 내용은 확실합니다. 문제는 여러분이 고려하는 언어와 상관없이 똑같습니다.

+0

호기심으로 나는 EN 대시가 아닌 영어로 EM 대쉬를 사용했다고 생각 했습니까? 영국 시민으로서이 문제에 대한 귀하의 경험은 무엇입니까? –

+0

@Andreas em-dash는 그 문맥에 비해 너무 길어서, 원하는 대문자, Alt + 0150입니다! –

+0

@ David : OK. 스웨덴에서는 EN 만 사용하므로 EM은 미국의 일입니다. –