Форум: "Прочее";
Текущий архив: 2009.08.16;
Скачать: [xml.tar.bz2];
ВнизАвтоматизировать работу с КПК. (Копировать файлы) Найти похожие ветки
← →
12 © (2009-06-15 14:08) [0]Есть девайс, подключаю с помощью Microsoft ActiveSync
Мне нужно только копирование, поэтому ничего не настраиваю, жму на все вопросы нет. После этого в проводнике слева появляется Item Мобильное устройство.
Моя программа делает файл, который мне надо на это устройство перекинуть.
Я беру его и копирую методом copy|paste. В проводнике, стандартном.
А мне надо теперь, чтоб программа это делала сама.
Так понимаю, надо знать куда копировать.
Но, сколько я не писал
cmd
copy "Мобильное устройство\SomeFldr" c:\file.ext
в разных вариантах
не понимает..
Как можно скопировать программно файл на него?
← →
Медвежонок Пятачок © (2009-06-15 14:13) [1]Мне нужно только копирование, поэтому ничего не настраиваю
А ты наоборот, настрой копирование файлов.
← →
sniknik © (2009-06-15 14:19) [2]> настрой копирование файлов.
только там вроде оно называется синхронизацией, указываешь папку источник и при подключении все оттуда "само" копируется на кпк (а также удаляется, зависит от свойств синхронизации).
вроде так, давно уже ActiveSync-ом не пользовался, гораздо проще и быстрее (на порядки) на память кпк писать как на устройство, а не через кпк.
← →
ZeroDivide © (2009-06-15 14:44) [3]
procedure CopyFileToDevice(localFilename: String; remoteFilename: String; overwrite: Boolean);
var
localFile: TFileStream;
remoteFile: THandle;
mode, bytesRead,
bytesWritten: Cardinal;
buffer: array[0..4095] of Byte;
unicodeStr: array[0..511] of WideChar;
begin
// create remote file
if overwrite then mode := CREATE_ALWAYS else mode := CREATE_NEW;
StringToWideChar(remoteFilename, unicodeStr, 512);
remoteFile := CeCreateFile(unicodeStr, GENERIC_WRITE, 0, nil, mode, FILE_ATTRIBUTE_NORMAL, 0);
if remoteFile = INVALID_HANDLE_VALUE then
raise ERAPI2Exception.Create("Unable to create the remote file");
// open local file
try
localFile := TFileStream.Create(localFileName, fmOpenRead);
except
raise ERAPI2Exception.Create("Unable to open the local file");
end;
try
// read data from local file into buffer
bytesRead := localFile.Read(buffer, 4096);
while bytesRead > 0 do begin
// write buffer to remote file
if NOT CeWriteFile(remoteFile, @buffer[0], bytesRead, bytesWritten, nil) then
raise ERAPI2Exception.Create("Unable to write data");
// refill buffer
bytesRead := localFile.Read(buffer, 4096);
end;
finally
// close remote file
CeCloseHandle(remoteFile);
// close local file
localFile.Free();
end;
end;
RAPI.pas - найдешь на сайте CodeGear"a
← →
Andy BitOff © (2009-06-15 14:53) [4]Плагин для ТС есть с сырцами
http://wincmd.ru/plugring/wince.html ©Christian Ghisler
← →
tesseract © (2009-06-15 22:46) [5]
> Как можно скопировать программно файл на него?
Через RemoteAPI можно. Заголовочный файл где-то валяется с примером. Три года уже как в архиве.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2009.08.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c