Q&A

  • 문자 구별에 관해서....꼭 좀 갈켜 주세요!!!
Text파일의 내용 :

A 12034562 주수희 여 7402051674610 서울시 종로구 충신동60번지 0236759801 0163099579

B 245성실히합시다 20000924 8976 주수희 내가사랑하고픈사람들은... 20100924 참

C 245성실히합시다 24578963 내과 김주한

D 78390839 이상한걸을보고있다 내가왜이걸못풀고있을까 하루에약이나3번먹어야겠다



이파일을 읽고 DB에 넣는것까지는 성공을 했는데요....

한 라인 제일 앞에 영어대문자가 있잖아요???

그걸 구별을 해서 그니깐 'A'를 읽어면 어디에 어디에 저장하고 다시 두번째 라인을 읽을때 'B'을 읽으면 어디에 저장하고 'C'를 읽으면 어디에 저장하고 하는 로직을 모르겠습니다.....

일단 제가 파일 읽어서리 DB에 넣는건 소스 올릴께엽 .....

보시고요 어디부분에 어떻게 써야 하는지 좀 갈켜 주시면 고맙겠습니다....

한수만 갈켜 주세요..... 제발 부탁입니다...



소스 :



procedure TForm1.saveproc;

var

Reader:textfile;

s :string;

patnum,patname,patsex,patjumin1,patjumin2,patjuso,pattel1,pattel2:string;

begin

if FileExists('C:FtpTest.txt')= True then

begin

Assignfile(READER,'C:FtpTest.txt');

reset(Reader);

readln(reader,s);

While not EOF(Reader) do

begin

readln(reader,s);

RichEdit1.Lines.Add(S);



//내용나누기

patnum:=copy(s,1,8);

patname:=copy(s,9,8);

patsex:=copy(s,17,2);

patjumin1:=copy(s,19,6);

patjumin2:=copy(s,25,8);

patjuso:=copy(s,33,60);

pattel1:=copy(s,93,12);

pattel2:=copy(s,105,12);



with Query1 do

begin

Query1.close;

Query1.sql.Clear;

Query1.SQL.Add('insert into pation values('+

#39+patnum+#39+','+

#39+patname+#39+','+

#39+patsex+#39+','+

#39+patjumin1+#39+','+

#39+patjumin2+#39+','+

#39+patjuso+#39+','+

#39+pattel1+#39+','+

#39+pattel2+#39+')');

query1.sql.savetofile ('c:Atestsql.txt');



Query1.ExecSQL;

end;

end;

closefile(Reader);

1  COMMENTS
  • Profile
    서경철 2001.09.26 01:55


    질문하신게 뭘 구별하는건지는 잘 모르겠는데요. 항상 제일 처음에 알파벳이 있으면 이렇게 하면 되지 않을까요?

    S 가 한줄의 String 이니깐



    case S[1] of

    'A' : .....;

    'B' : ......;

    'C' : .....;

    else

    .....

    end;







    델초보쭈니~ wrote:

    > Text파일의 내용 :

    > A 12034562 주수희 여 7402051674610 서울시 종로구 충신동60번지 0236759801 0163099579

    > B 245성실히합시다 20000924 8976 주수희 내가사랑하고픈사람들은... 20100924 참

    > C 245성실히합시다 24578963 내과 김주한

    > D 78390839 이상한걸을보고있다 내가왜이걸못풀고있을까 하루에약이나3번먹어야겠다

    >

    > 이파일을 읽고 DB에 넣는것까지는 성공을 했는데요....

    > 한 라인 제일 앞에 영어대문자가 있잖아요???

    > 그걸 구별을 해서 그니깐 'A'를 읽어면 어디에 어디에 저장하고 다시 두번째 라인을 읽을때 'B'을 읽으면 어디에 저장하고 'C'를 읽으면 어디에 저장하고 하는 로직을 모르겠습니다.....

    > 일단 제가 파일 읽어서리 DB에 넣는건 소스 올릴께엽 .....

    > 보시고요 어디부분에 어떻게 써야 하는지 좀 갈켜 주시면 고맙겠습니다....

    > 한수만 갈켜 주세요..... 제발 부탁입니다...

    >

    > 소스 :

    >

    > procedure TForm1.saveproc;

    > var

    > Reader:textfile;

    > s :string;

    > patnum,patname,patsex,patjumin1,patjumin2,patjuso,pattel1,pattel2:string;

    > begin

    > if FileExists('C:FtpTest.txt')= True then

    > begin

    > Assignfile(READER,'C:FtpTest.txt');

    > reset(Reader);

    > readln(reader,s);

    > While not EOF(Reader) do

    > begin

    > readln(reader,s);

    > RichEdit1.Lines.Add(S);

    >

    > //내용나누기

    > patnum:=copy(s,1,8);

    > patname:=copy(s,9,8);

    > patsex:=copy(s,17,2);

    > patjumin1:=copy(s,19,6);

    > patjumin2:=copy(s,25,8);

    > patjuso:=copy(s,33,60);

    > pattel1:=copy(s,93,12);

    > pattel2:=copy(s,105,12);

    >

    > with Query1 do

    > begin

    > Query1.close;

    > Query1.sql.Clear;

    > Query1.SQL.Add('insert into pation values('+

    > #39+patnum+#39+','+

    > #39+patname+#39+','+

    > #39+patsex+#39+','+

    > #39+patjumin1+#39+','+

    > #39+patjumin2+#39+','+

    > #39+patjuso+#39+','+

    > #39+pattel1+#39+','+

    > #39+pattel2+#39+')');

    > query1.sql.savetofile ('c:Atestsql.txt');

    >

    > Query1.ExecSQL;

    > end;

    > end;

    > closefile(Reader);