Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
TIdIMAP4::RetrieveHeader speed
#9
(06-29-2022, 02:36 AM)Boba TC Wrote: Now I'd like to know how to get values of those flags returned by the server; the following compiles and executes:
Code:
s2 = IdIMAP4->SendCmd(IdIMAP4->NewCmdCounter, "FETCH 10:20 (FLAGS)", OPENARRAY(String, ("FETCH")));
after it returns, s2=="OK"; what is the TIdIMAP4 method() for that?

The downloaded data is in the IdIMAP4->LastCmdResult->Text property.

Internally, TIdIMAP4 uses a ParseLastCmdResult() method to parse out various fields from FETCH responses into the FLineStruct member, including FLAGS.

ParseLastCmdResult() parses 1 reply item at a time, so for commands that download a range of replies (ie, (UID)RetrieveAllEnvelopes(), (UID)RetrieveMailBoxSize(), etc), TIdIMAP4 loops through the LastCmdResult->Text parsing each string individually.

The ParseLastCmdResult() and FLineStruct members are protected, so either use an accessor class to reach them, or just parse the LastCmdResult->Text yourself as needed.

Reply


Messages In This Thread
TIdIMAP4::RetrieveHeader speed - by Boba TC - 06-24-2022, 09:10 PM
RE: TIdIMAP4::RetrieveHeader speed - by rlebeau - 06-25-2022, 06:46 PM
RE: TIdIMAP4::RetrieveHeader speed - by Boba TC - 06-25-2022, 07:13 PM
RE: TIdIMAP4::RetrieveHeader speed - by Boba TC - 06-25-2022, 10:58 PM
RE: TIdIMAP4::RetrieveHeader speed - by rlebeau - 06-27-2022, 01:18 AM
RE: TIdIMAP4::RetrieveHeader speed - by Boba TC - 06-26-2022, 12:19 AM
RE: TIdIMAP4::RetrieveHeader speed - by Boba TC - 06-26-2022, 04:15 AM
RE: TIdIMAP4::RetrieveHeader speed - by Boba TC - 06-29-2022, 02:36 AM
RE: TIdIMAP4::RetrieveHeader speed - by rlebeau - 06-29-2022, 03:26 PM
RE: TIdIMAP4::RetrieveHeader speed - by Boba TC - 06-30-2022, 02:14 AM

Forum Jump:


Users browsing this thread: 1 Guest(s)