Таким образом, все, что вам нужно сделать, это удалить код, который перечисляет элементы в подпапке, EWS позволит вам перечислять элементы только в одной папке за раз, поэтому удаляйте этот код все вместе, поскольку это не имеет смысла для варианта использования спрашивая, например,
ItemView view = new ItemView(10);
Folder folder = Folder.bind(service, WellKnownFolderName.Inbox);
Folder subfolder = Folder.bind(service, new FolderId(uniqueId));
FindItemsResults<Item> findInbox = service.findItems(folder.getId(), view);
service.loadPropertiesForItems(findInbox, PropertySet.FirstClassProperties);
System.out.println("Total number of items found: " + findInbox.getTotalCount());
for (Item item : findInbox.getItems()) {
}
Также в зависимости от того, что вы делаете и какие свойства вам нужны для доступа к следующей строке, может или не может быть необходимым
service.loadPropertiesForItems(findInbox, PropertySet.FirstClassProperties);
Вы имели в виду ASCII?
ASCII назад совместим с UTF-8. http://en.wikipedia.org/wiki/UTF-8
Функция Utf8Encode принимает строку WideString в качестве параметра и возвращает строку Utf-8.
Пример:
procedure ConvertANSIFileToUTF8File(AInputFileName, AOutputFileName: TFileName);
var
Strings: TStrings;
begin
Strings := TStringList.Create;
try
Strings.LoadFromFile(AInputFileName);
Strings.Text := UTF8Encode(Strings.Text);
Strings.SaveToFile(AOutputFileName);
finally
Strings.Free;
end;
end;
var
Latin1Encoding: TEncoding;
begin
Latin1Encoding := TEncoding.GetEncoding(28591);
try
MyTStringList.SaveToFile('some file.txt', Latin1Encoding);
finally
Latin1Encoding.Free;
end;
end;
Take a look at GpTextStream which looks like it works with Delphi 7. It has the ability to read/write unicode files in older versions of Delphi (although does work with Delphi 2009) and should help with your conversion.