Перейти к содержанию

Delpher-X

Пользователи
  • Активность

    49
  • Зарегистрирован

  • Посещение

Информация о Delpher-X

  • Звание
    Продвинутый пользователь
  1. Ну data - строковые значения, целочисленные. вещественные.
  2. Это не важно. У меня такая ситуация, что я не могу отсылать TStream'ы. Data могу, а Stream - не проходит.
  3. Тут вот какое дело: я хочу разрезать stream для передачи его по кусочку в формате data. А потом, в точке доставки, снова склеить и перегнать в stream.
  4. Нет, мне нужно именно из потока. А потом, чтобы снова загрузить в поток. Ну, любой файл, это ведь строки бинарного кода, не так ли?
  5. У меня есть следующий код, который передает данные из потока в объект типа TStrings: var F : TMemoryStream; S : TStrings; begin F := TMemoryStream.Create; S := TStringList.Create; F.LoadFromFile('C:/File.jpg'); S.LoadFromStream(F); Из TMemoryStream в TStrings все передается нормально. Однако - как обратно? Как снова преобразовать объект TString в поток данных, дабы снова можно было бы сохранить его в полноценный файл?
  6. Итак, у меня проблема следующего характера. Нужно программно узнать имя диска, на котором находится программа. Допустим, программа лежит по адресу D:/MyFolder/FolderName/Program.exe. Как получить вот эту букву диска - D? Поиск по Интернету, результатов не дал, там только лишь способ сосчитать список доступных дисков в системе, а мне нужно другое - узнать корневое имя диска, на котором собственно нахожусь.
  7. Итак, я пробовал использовать компоненты AppTethering для передачи данных между VCL-приложением работающим под Windows и мобильным FMX-приложением и потерпел неудачу, так как выяснилось что потоки данных данные компоненты на деле не передают. И у меня возник вопрос: а нет ли каких других компонентов в современной Embarcadero Studio, которые бы позволяли передавать как строковые данные, так и файлы между приложениями? Особенно меня интересуют все же файлы.
  8. С путями к файлу все в порядке. И тот код который вы процитировали - он в любом случае, работает уже с файлом переданным в потоке.
  9. Вряд ли. Тогда бы не работало в любом случае. А так, когда оба приложения на одном Windows-хосте, все работает прекрасно, когда дело доходит до передачи потока в приложение на гаджете - не пашет.
  10. Да, что самое интересное, данные строкового типа передаются нормально. То есть, когда я передаю данные типа 'string', они прекрасно доставляются и туда и обратно. А вот когда пытаюсь передать Stream - данные не приходят.
  11. Доброе время суток. У меня есть код, который отправляет данные, в частности файлы, из одного приложения в другое, используя технологию AppTethering. Вот код, который отправляет данные: var ImageToStream : TMemoryStream; begin ImageToStream := TMemoryStream.Create; ImageToStream.LoadFromFile('Здесь находится путь к файлу'); ImageToStream.Position := 0; TetheringAppProfile1.Resources.FindByName('ImageTransfer').Value := ImageToStream; ImageToStream.Free; end; А вот который принимает: procedure TForm1.TetheringAppProfile1Resources3ResourceReceived( const Sender: TObject; const AResource: TRemoteResource); var GetImage : TMemoryStream; begin GetImage := TMemoryStream.Create; GetImage.Position := 0; GetImage.LoadFromStream(AResource.Value.AsStream); ImageViewer1.Bitmap.LoadFromStream(GetImage); GetImage.Free; end; Пока передача данных идет между двумя Windows-приложениями, все работает прекрасно. Однако, когда я пытаюсь отправить данные от Windows-приложения в Android-приложение, которое исполняется на смартфоне, подключенном к компьютеру через USB-шнур, данные не проходят.
  12. У меня есть код, который должен скачивать файл с сайта: var LoadFile : TMemoryStream; begin LoadFile := TMemoryStream.Create; IdHTTP1.Get('https://sitename.pro/Folder/FileName.txt', LoadFile); LoadFile.SaveToFile('FileName.txt'); LoadFile.Free; end; Проблема однако в том, что вместо скачивания файла программа выдает: Could not load SSL library, хотя я никакой "SSL library" не просил)). При этом, когда я попробовал скачать файл с сайта работающего по старинке, на http (в отличие от https), все скачалось нормально, то есть проблема явно в данном протоколе. Поиск по Интернету ничего не дал.
  13. У меня используется такой код: procedure TForm1.FindFilePattern(root, pattern: String); var SR:TSearchRec; begin root:=IncludeTrailingPathDelimiter(root); if FindFirst(root+'*.*',faAnyFile,SR) = 0 then begin repeat Application.ProcessMessages; if ((SR.Attr and faDirectory) = SR.Attr ) and (pos('.',SR.Name)=0) then FindFilePattern(root+SR.Name,pattern) else begin if pos(pattern,SR.Name)>0 then Form1.ListBox1.Items.Add(Root+SR.Name); end; until FindNext(SR)<>0; end; end; FindFilePattern(DiskName, Exp); Однако, в любом случае, вопрос о заполнении ListBox не стоит. Вопрос стоит в том, почему программа копирует файлы два раза.
  14. Указано. Так мне нужен не только корень, но и вложенные каталоги. Нет.
×
×
  • Создать...