Q&A

  • 다시올립니다(ics)
안녕하세요...

델파이 왕초보입니다..

오늘도 여전처럼 헤메고 있습니다..

idhttp 에서 post 메소드를 사용하여 패스워드/아이디를 넘겨줘 유효하면 로그인 되게 아니면 메세지 박스를 띄울려구 합니다...



procedure Post(URL: string; const Source: TStrings; const Destination: TStream); overload;

procedure Post(URL: string; const Source: TStream; const Destination: TStream); overload;

여기서 source 부분은 데이타를 보낼 내용인가요?

초보라 도움말을 봐도 모르겠습니다...

제발 예제와 함께 자세한 설명 부탁드릴께요...

감사합니다..

3  COMMENTS
  • Profile
    권영길 2000.11.09 22:45
    source는 POST로 넘길 DATA입니다.

    기본예제는 TStrings로 넘기게 되어 있습니다.

    그래서 POSTDATA를 TSTrings로 변환시켜 넘겨야 합니다.



    왕초보 wrote:

    > 안녕하세요...

    > 델파이 왕초보입니다..

    > 오늘도 여전처럼 헤메고 있습니다..

    > idhttp 에서 post 메소드를 사용하여 패스워드/아이디를 넘겨줘 유효하면 로그인 되게 아니면 메세지 박스를 띄울려구 합니다...

    >

    > procedure Post(URL: string; const Source: TStrings; const Destination: TStream); overload;

    > procedure Post(URL: string; const Source: TStream; const Destination: TStream); overload;

    > 여기서 source 부분은 데이타를 보낼 내용인가요?

    > 초보라 도움말을 봐도 모르겠습니다...

    > 제발 예제와 함께 자세한 설명 부탁드릴께요...

    > 감사합니다..

  • Profile
    강인규 2000.11.08 02:04
    예전에두 올렸었는데......그대루 올립니다....참고로 ICS는 예제가 다있습니다.

    저의 허접한 코딩을 보시느니 예제를 보시는게.. ^^;



    var

    DataIn : TMemoryStream;

    DataOut : TMemoryStream;

    Buf : String;

    result : TStringList;

    begin

    result := TStringList.Create;

    DataIn := TMemoryStream.Create;

    DataOut := TMemoryStream.Create;



    try

    Button2.Enabled := False;

    Buf := 'receve='+edit1.text

    +'&send='+edit2.text

    +'&title='+edit3.text

    //스트링형의 변수 하나에 get방식으루 데이터를 날릴때처럼 쭉~ 값을 넣습니다.



    DataOut.Write(Buf[1], Length(Buf));

    DataOut.Seek(0, soFromBeginning);

    //메모리스트림에 값을 써넣습니다. 이부분은 잘모름... -_-



    httpcli1.SendStream := DataOut;

    httpcli1.RcvdStream := DataIn;

    ics 의 sendstream과 recvstream을 정해주시고....



    HttpCli1.URL := 'http://inno.sarang.net/save.asp';

    //url지정해 주시고......

    try

    httpcli1.Post;

    //그냥 post 합니다. 이건 정말 황당하더군요.

    finally

    DataIn.Seek(0, 0);

    result.LoadFromStream(DataIn);

    //TString형으에다가 받은 결과를 넣었습니다.



    Button2.Caption := trim(result.Text);

    if trim(result.Text) = 'ok' then

    ShowMessage('메세지를 전송했습니다.');

    end;

    finally

    DataOut.Free;

    DataIn.Free;

    result.Free;

    Button2.Enabled := True;

    end;

    end;



    그런데 프로시져 설명은 인디인듯......

    ICS질문이 맞으신가여?







    왕초보 wrote:

    > 안녕하세요...

    > 델파이 왕초보입니다..

    > 오늘도 여전처럼 헤메고 있습니다..

    > idhttp 에서 post 메소드를 사용하여 패스워드/아이디를 넘겨줘 유효하면 로그인 되게 아니면 메세지 박스를 띄울려구 합니다...

    >

    > procedure Post(URL: string; const Source: TStrings; const Destination: TStream); overload;

    > procedure Post(URL: string; const Source: TStream; const Destination: TStream); overload;

    > 여기서 source 부분은 데이타를 보낼 내용인가요?

    > 초보라 도움말을 봐도 모르겠습니다...

    > 제발 예제와 함께 자세한 설명 부탁드릴께요...

    > 감사합니다..

  • Profile
    왕초보 2000.11.08 02:31
    답변 감사드립니다..

    그런데 제가 잚못올려군요...

    ics 가 아니라 indy 입니다...

    다시 부탁드립니다



    강인규 wrote:

    > 예전에두 올렸었는데......그대루 올립니다....참고로 ICS는 예제가 다있습니다.

    > 저의 허접한 코딩을 보시느니 예제를 보시는게.. ^^;

    >

    > var

    > DataIn : TMemoryStream;

    > DataOut : TMemoryStream;

    > Buf : String;

    > result : TStringList;

    > begin

    > result := TStringList.Create;

    > DataIn := TMemoryStream.Create;

    > DataOut := TMemoryStream.Create;

    >

    > try

    > Button2.Enabled := False;

    > Buf := 'receve='+edit1.text

    > +'&send='+edit2.text

    > +'&title='+edit3.text

    > //스트링형의 변수 하나에 get방식으루 데이터를 날릴때처럼 쭉~ 값을 넣습니다.

    >

    > DataOut.Write(Buf[1], Length(Buf));

    > DataOut.Seek(0, soFromBeginning);

    > //메모리스트림에 값을 써넣습니다. 이부분은 잘모름... -_-

    >

    > httpcli1.SendStream := DataOut;

    > httpcli1.RcvdStream := DataIn;

    > ics 의 sendstream과 recvstream을 정해주시고....

    >

    > HttpCli1.URL := 'http://inno.sarang.net/save.asp';

    > //url지정해 주시고......

    > try

    > httpcli1.Post;

    > //그냥 post 합니다. 이건 정말 황당하더군요.

    > finally

    > DataIn.Seek(0, 0);

    > result.LoadFromStream(DataIn);

    > //TString형으에다가 받은 결과를 넣었습니다.

    >

    > Button2.Caption := trim(result.Text);

    > if trim(result.Text) = 'ok' then

    > ShowMessage('메세지를 전송했습니다.');

    > end;

    > finally

    > DataOut.Free;

    > DataIn.Free;

    > result.Free;

    > Button2.Enabled := True;

    > end;

    > end;

    >

    > 그런데 프로시져 설명은 인디인듯......

    > ICS질문이 맞으신가여?

    >

    >

    >

    > 왕초보 wrote:

    > > 안녕하세요...

    > > 델파이 왕초보입니다..

    > > 오늘도 여전처럼 헤메고 있습니다..

    > > idhttp 에서 post 메소드를 사용하여 패스워드/아이디를 넘겨줘 유효하면 로그인 되게 아니면 메세지 박스를 띄울려구 합니다...

    > >

    > > procedure Post(URL: string; const Source: TStrings; const Destination: TStream); overload;

    > > procedure Post(URL: string; const Source: TStream; const Destination: TStream); overload;

    > > 여기서 source 부분은 데이타를 보낼 내용인가요?

    > > 초보라 도움말을 봐도 모르겠습니다...

    > > 제발 예제와 함께 자세한 설명 부탁드릴께요...

    > > 감사합니다..