user:skript:mtptoollib
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
user:skript:mtptoollib [2016/11/25 12:28] – [Seznam změn] gord | user:skript:mtptoollib [2021/05/02 19:06] (current) – mikrom | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== MtpToolLib ====== | ====== MtpToolLib ====== | ||
- | Knihovna zajišťuje podporu pro přístup k MTP zařízením z pluginů | + | Knihovna zajišťuje podporu pro přístup k MTP zařízením z pluginů |
===== Autor ===== | ===== Autor ===== | ||
**[[http:// | **[[http:// | ||
+ | |||
+ | ===== Diskuse ===== | ||
+ | Diskuse o pluginu najdete na [[http:// | ||
===== Automatická instalace ===== | ===== Automatická instalace ===== | ||
~~GEOGET_INSTALL~~ | ~~GEOGET_INSTALL~~ | ||
+ | |||
+ | <WRAP center round important 95%> | ||
+ | Pro správnou funkci knihovny může být potřeba doinstalovat, | ||
+ | |||
+ | * [[https:// | ||
+ | |||
+ | </ | ||
===== Popis ===== | ===== Popis ===== | ||
Line 23: | Line 33: | ||
* '' | * '' | ||
* testovací plugin [[# | * testovací plugin [[# | ||
+ | |||
==== Konstanty ==== | ==== Konstanty ==== | ||
Pro lepší přehlednost zdrojového kódu jsou v souboru '' | Pro lepší přehlednost zdrojového kódu jsou v souboru '' | ||
Line 34: | Line 45: | ||
a ještě konstanta pro definici maximální délky vráceného textu: | a ještě konstanta pro definici maximální délky vráceného textu: | ||
|MAX_STRING_RESULT_LENGTH|5000000| | |MAX_STRING_RESULT_LENGTH|5000000| | ||
- | |||
===== Funkce ===== | ===== Funkce ===== | ||
Line 44: | Line 54: | ||
* pokud některá funkce vrátí chybu -15 (např. výpis obsahu adresáře s velmi mnoha soubory), znamená to, že velikost bufferu není dostatečná. V textu chyby je zároveň uvedena minimální požadovaná velikost bufferu, kterou bude potřeba nastavit pro úspěšné provedení funkce | * pokud některá funkce vrátí chybu -15 (např. výpis obsahu adresáře s velmi mnoha soubory), znamená to, že velikost bufferu není dostatečná. V textu chyby je zároveň uvedena minimální požadovaná velikost bufferu, kterou bude potřeba nastavit pro úspěšné provedení funkce | ||
- | ==== Obsluha | + | <code delphi> |
+ | * povoluje (iShow=1) nebo potlačuje (iShow=0) zobrazování progress baru při kopírování souborů | ||
+ | * implicitně je nastaveno zobrazení | ||
+ | * pokud je DLL knihovna použitá v konzolové aplikaci, postup je zobrazován textově v okně aplikace | ||
+ | * pokud je DLL knihovna použitá ve windowsí aplikaci, progress bar je zobrazen v samostatném okně | ||
+ | |||
+ | ==== Verze knihovny a obsluha | ||
+ | <code delphi> | ||
+ | function ML_GetDllVersion: | ||
+ | * vrací verzi dll knihovny | ||
+ | * číslo verze je zapsané do '' | ||
<code delphi> | <code delphi> | ||
Line 57: | Line 77: | ||
==== Práce s MTP zařízením jako takovým ==== | ==== Práce s MTP zařízením jako takovým ==== | ||
- | |||
<code delphi> | <code delphi> | ||
function ML_Devices(sBuffer: | function ML_Devices(sBuffer: | ||
Line 102: | Line 121: | ||
* pokud najde více zařízení podle požadavku '' | * pokud najde více zařízení podle požadavku '' | ||
* '' | * '' | ||
- | * GARMIN - hledá jen GPS garmin | + | * GARMIN - hledá jen GPS Garmin |
* ADRAKE_INST - hledá zařízení (disk i MTP) s instalovaným a:Drake a vrací cestu k instalovaným souborům ('' | * ADRAKE_INST - hledá zařízení (disk i MTP) s instalovaným a:Drake a vrací cestu k instalovaným souborům ('' | ||
* ADRAKE_DB - hledá zařízení (disk i MTP) s instalovaným a:Drake a vrací cestu a jméno databázového souboru, který aplikace používá | * ADRAKE_DB - hledá zařízení (disk i MTP) s instalovaným a:Drake a vrací cestu a jméno databázového souboru, který aplikace používá | ||
Line 110: | Line 129: | ||
* vrácený string obsahuje na jméno zařízení, | * vrácený string obsahuje na jméno zařízení, | ||
- | * '' | + | * '' |
* '' | * '' | ||
* '' | * '' | ||
Line 118: | Line 137: | ||
==== Práce se soubory nebo adresáři ==== | ==== Práce se soubory nebo adresáři ==== | ||
- | |||
<code delphi> | <code delphi> | ||
* funkce vrací 1, pokud existuje objekt (adresář, soubor, karta, ...) zadaný cestou '' | * funkce vrací 1, pokud existuje objekt (adresář, soubor, karta, ...) zadaný cestou '' | ||
Line 132: | Line 150: | ||
==== Práce s adresáři ==== | ==== Práce s adresáři ==== | ||
- | |||
<code delphi> | <code delphi> | ||
function ML_Dir(sPath: | function ML_Dir(sPath: | ||
Line 171: | Line 188: | ||
* '' | * '' | ||
* vrácená hodnota 0 znamená bez chyby | * vrácená hodnota 0 znamená bez chyby | ||
- | |||
==== Práce se soubory ==== | ==== Práce se soubory ==== | ||
- | |||
<code delphi> | <code delphi> | ||
* funkce kopíruje soubor ze zařízení do PC | * funkce kopíruje soubor ze zařízení do PC | ||
Line 194: | Line 209: | ||
* protože jméno souboru je jedna z jeho vlastností, | * protože jméno souboru je jedna z jeho vlastností, | ||
- | ===== Ukázka ===== | + | ==== Vyhledání zařízení |
+ | <code delphi> | ||
+ | * funkce se pokusí najít požadované připojené zařízení a vrací jeho jméno (případně celou cestu) | ||
+ | * požadované zařízení specifikuje první parametr: | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * < | ||
+ | * '' | ||
+ | * druhý parametr umožňuje zobrazit uživateli nalezený seznam a nechat jej vybrat požadovanou volbu, která je pak funkcí vrácena | ||
+ | * při hodnotě '' | ||
+ | * při hodnotě '' | ||
+ | ===== Ukázka použití knihovny ===== | ||
<code delphi> | <code delphi> | ||
{$include MtpToolLib.lib.pas} | {$include MtpToolLib.lib.pas} | ||
Line 248: | Line 275: | ||
===== Známé potíže ===== | ===== Známé potíže ===== | ||
+ | * **Could not call proc** | ||
+ | * pokud při spuštění napíše GeoGet něco takovéhoto: | ||
+ | < | ||
+ | [Script Runtime Error]: GgDrake.ggp.pas | ||
+ | Could not call proc | ||
+ | Routine: BUTREFRESHONCLICK''</ | ||
+ | * může být problém v chybějících systémových knihovnách. Prosím zkuste doinstalovat | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * **zaseknutí** | ||
* občas se " | * občas se " | ||
- | * smazání souboru někdy trvá neúměrně dlouho, netuším proč, možná to souvisí s předchozím bodem | + | * smazání souboru někdy trvá neúměrně dlouho, netuším proč, možná to souvisí s předchozím bodem, možná je to proto, že se prověřuje, |
- | * zdá se, že žádný soubor v MTP nemá nastaven příznak umožnující | + | * **jméno souboru nebo adresáře** |
- | * proto se nepodaří nikdy soubor přejmenovat (ale smazat jej většinou možné je!) | + | * zdá se, že žádný soubor v MTP nemá nastaven příznak umožňující |
- | * proto při zápisu souboru do MTP zařízení, | + | * proto se <wrap hi>nepodaří</ |
+ | * proto při zápisu souboru do MTP zařízení, | ||
+ | * ačkoli telefon vrací vždy všechny texty v '' | ||
+ | * **datum, čas** | ||
* při kopírování souborů nebo adresářů do MTP zařízení sice nastavuji datum vytvoření a aktualizace souboru nebo adresáře, ale zdá se, že MTP driver v zařízeních některých výrobců má vlastní hlavu a vždy nastavují aktuální datum a čas bez ohledu na atributy nastavené při vytváření. Díky předcházejícímu bodu ani není možné později nastavit tato časová razítka správně a případné synchronizace souborů je přinejmenším sporná | * při kopírování souborů nebo adresářů do MTP zařízení sice nastavuji datum vytvoření a aktualizace souboru nebo adresáře, ale zdá se, že MTP driver v zařízeních některých výrobců má vlastní hlavu a vždy nastavují aktuální datum a čas bez ohledu na atributy nastavené při vytváření. Díky předcházejícímu bodu ani není možné později nastavit tato časová razítka správně a případné synchronizace souborů je přinejmenším sporná | ||
- | | + | * **aktualizace DLL knihovny** |
+ | | ||
===== Seznam skriptů, které používají tuto knihovnu ===== | ===== Seznam skriptů, které používají tuto knihovnu ===== | ||
Line 269: | Line 310: | ||
{{filelist> | {{filelist> | ||
- | Zde uvedená verze **Combine** je rozšířená o funkce pro MTP zařízení. Jde rovněž o betaverzi, proto není dostupná na stránce pluginu Combine, ale jen zde. Součástí instalace je ukázková dávka pro " | + | Zde uvedená verze **Combine** je rozšířená o funkce pro MTP zařízení. Jde rovněž o betaverzi, proto není dostupná na stránce pluginu Combine, ale jen zde. Součástí instalace je ukázková dávka pro " |
===== Seznam změn ===== | ===== Seznam změn ===== | ||
- | ** 0.8.8 (???) ** | + | ** 1.0.1 (6.4.2018) ** |
+ | * '' | ||
+ | * nový: soubor s popisem s funkcemi a příklady spouštění z příkazového řádku | ||
+ | * '' | ||
+ | * oprava: Refresh přidával k seznamu nalezených zařízení místo aby v seznamu byly jen nově/ | ||
+ | * oprava: nalezení ADRAKE_INST a ADRAKE_DB hledá i pro '' | ||
+ | |||
+ | ** 1.0.0 (1.2.2017) ** | ||
* '' | * '' | ||
- | * změna: všechy stringy jsou '' | + | * oprava: snad definitivní umravnění nemizejícího progress baru |
+ | <hidden onHidden=": | ||
+ | |||
+ | ** 0.9.9 (26.1.2017) ** | ||
+ | * '' | ||
+ | * nový: při kopírování je zobrazen postup kopírování s procenty a odhadovaným časem do konce | ||
+ | * změna: všechny stringy jsou '' | ||
+ | * změna: u funkčních objektů určených pro ukládání dat je doplněn výčet vlastností o jim specifické | ||
** 0.7.7 (17.11.2016) ** | ** 0.7.7 (17.11.2016) ** | ||
Line 281: | Line 337: | ||
* změna: trochu jsem učesal výpisy (i v '' | * změna: trochu jsem učesal výpisy (i v '' | ||
* změna: doplněna funkce pro výpis vlastností objektů pro ukládání dat (SD karty, ...) | * změna: doplněna funkce pro výpis vlastností objektů pro ukládání dat (SD karty, ...) | ||
- | |||
** 0.7.5 (11.11.2016) ** | ** 0.7.5 (11.11.2016) ** | ||
* úvodní **beta** verze | * úvodní **beta** verze | ||
- | |||
- | <hidden onHidden=": | ||
</ | </ | ||
{{tag> | {{tag> |
user/skript/mtptoollib.1480073280.txt.gz · Last modified: 2016/11/25 00:00 (external edit)