Delpher-X
Пользователи-
Постов
94 -
Зарегистрирован
-
Посещение
Весь контент Delpher-X
-
Компоненты для передачи данный из Windows- в Android-приложение
Delpher-X опубликовал вопрос в Компоненты
Итак, я пробовал использовать компоненты AppTethering для передачи данных между VCL-приложением работающим под Windows и мобильным FMX-приложением и потерпел неудачу, так как выяснилось что потоки данных данные компоненты на деле не передают. И у меня возник вопрос: а нет ли каких других компонентов в современной Embarcadero Studio, которые бы позволяли передавать как строковые данные, так и файлы между приложениями? Особенно меня интересуют все же файлы. -
С путями к файлу все в порядке. И тот код который вы процитировали - он в любом случае, работает уже с файлом переданным в потоке.
- 5 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 3 )
C тегом:
-
Вряд ли. Тогда бы не работало в любом случае. А так, когда оба приложения на одном Windows-хосте, все работает прекрасно, когда дело доходит до передачи потока в приложение на гаджете - не пашет.
- 5 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 3 )
C тегом:
-
Да, что самое интересное, данные строкового типа передаются нормально. То есть, когда я передаю данные типа 'string', они прекрасно доставляются и туда и обратно. А вот когда пытаюсь передать Stream - данные не приходят.
- 5 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 3 )
C тегом:
-
Доброе время суток. У меня есть код, который отправляет данные, в частности файлы, из одного приложения в другое, используя технологию 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-шнур, данные не проходят.
- 5 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 3 )
C тегом:
-
Все в порядке, уже использую.
-
У меня есть код, который должен скачивать файл с сайта: 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), все скачалось нормально, то есть проблема явно в данном протоколе. Поиск по Интернету ничего не дал.
-
У меня используется такой код: 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 не стоит. Вопрос стоит в том, почему программа копирует файлы два раза.
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
Указано. Так мне нужен не только корень, но и вложенные каталоги. Нет.
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
Не, не работает. Когда я написал: ListBox1.Items.AddStrings(TDirectory.GetFiles('C:/', '*'+Exp)); ListBox просто остался девственно чист.
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
То есть, вот эта строка будет искать все файлы с указанным расширением? А вместо TDirectory.GetCurrentDirectory можно указать например, 'C:/'?
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
TDirectory.GetCurrentDirectory, это если я не ошибаюсь, получение текущей директории приложения, ведь так?
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
Спасибо. Вообще интересная эта ваша IOUtils.... А вот конкретно этот код: он что именно делает?
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
А Inc - это что?
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
Ну и где там ListBox? У меня же дело в том, что есть целый список файлов, а не один какой-то конкретный.
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
Потому что я не знаю, как из строк ListBox'а, где лежит весь путь, выделить собственно само имя файла.
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
Тогда таймер просто вырубится раньше, чем что-то успеет сделать. Да и проблемный код заключен в begin - end; так что до выключения таймера дело даже не доходит.
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
Речь не идет об антивирусе. Речь идет о том, что код почему-то копирует файлы два раза. Хотя совершенно не должен этого делать.
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
Однозначно нет. Тот код что я привел - конечный.
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
Да это все обычные .doc файлы, которые у меня валяются на жестком диске. С тем же успехом, это могла бы быть коллекция JPEG-картинок с горячими красотками в бикини, сохраненных из Интернета.
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
Вряд ли. Я лично их прекрасно изменяю В любом случае, мне и надо скопировать всего по одному разу. С какого перепугу, программа их копирует повторно?
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
Для Windows. Так оно меняется: FileIndex := IntToStr(StrToInt(FileIndex) + 1); FileName := FileIndex + Exp; TFile.Copy(ListBox1.Items[I], FileName); Вы все не о том спрашиваете. Главное - как убрать множественные сообщения об ошибках, которые вообще ни к селу ни к городу, так как файлы копируются.
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
Попробовал. Теперь выскакивает сообщение "Отказано в доступе". При этом, что самое смешное, файлы копируются!
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
Просто найти файлы нужного типа и скопировать их на другой диск.
- 40 ответов
-
- delphi
- delphi 10.3.3
-
(и ещё 6 )
C тегом:
-
А, ну да. В любом случае, спасибо вам за консультацию. Не хотел бы вас лишний раз напрягать, но быть может, вы могли бы что-то подсказать мне и по вот этому вопросу?