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 [2017/02/01 06:59] – [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 ===== | ||
Line 10: | Line 10: | ||
===== 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 26: | 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 37: | 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 48: | Line 55: | ||
<code delphi> | <code delphi> | ||
- | * povoluje (iShow=1) nebo potlačuje (iShow=é) zobrazování progress baru při kopírování souborů | + | * povoluje (iShow=1) nebo potlačuje (iShow=0) zobrazování progress baru při kopírování souborů |
* implicitně je nastaveno zobrazení | * 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á 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ě | * pokud je DLL knihovna použitá ve windowsí aplikaci, progress bar je zobrazen v samostatném okně | ||
- | ==== Verze knihovny a obsluha chyb ==== | ||
+ | ==== Verze knihovny a obsluha chyb ==== | ||
<code delphi> | <code delphi> | ||
function ML_GetDllVersion: | function ML_GetDllVersion: | ||
Line 68: | Line 75: | ||
* text chyby je zapsaný do '' | * text chyby je zapsaný do '' | ||
* pokud je vrácený text prázdný, k chybě nedošlo | * pokud je vrácený text prázdný, k chybě nedošlo | ||
- | |||
==== 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 116: | 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 124: | Line 129: | ||
* vrácený string obsahuje na jméno zařízení, | * vrácený string obsahuje na jméno zařízení, | ||
- | * '' | + | * '' |
* '' | * '' | ||
* '' | * '' | ||
Line 132: | 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 146: | 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 185: | 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 208: | 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 262: | Line 275: | ||
===== Známé potíže ===== | ===== Známé potíže ===== | ||
- | | + | * **Could not call proc** |
- | * občas se " | + | * pokud při spuštění napíše GeoGet něco takovéhoto: |
- | * 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, | + | < |
- | * **jméno souboru nebo adresáře** | + | [Script Runtime Error]: GgDrake.ggp.pas |
- | * zdá se, že žádný soubor v MTP nemá nastaven příznak umožnující | + | Could not call proc |
- | * proto se <wrap hi> | + | Routine: BUTREFRESHONCLICK''</ |
- | * proto při zápisu souboru do MTP zařízení, | + | * může být problém v chybějících systémových knihovnách. Prosím zkuste doinstalovat |
- | * ačkoli telefon vrací vždy všechny texty v '' | + | |
- | * **datum, čas** | + | * [[https:// |
- | * 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á | + | * **zaseknutí** |
- | * **aktualizace DLL knihovny** | + | |
- | * při použití pluginu je do paměti zavedena DLL knihovna '' | + | * 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, |
+ | * **jméno souboru nebo adresáře** | ||
+ | * zdá se, že žádný soubor v MTP nemá nastaven příznak umožňující | ||
+ | * proto se <wrap hi> | ||
+ | * 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á | ||
+ | * **aktualizace DLL knihovny** | ||
+ | * při použití pluginu je do paměti zavedena DLL knihovna '' | ||
===== Seznam skriptů, které používají tuto knihovnu ===== | ===== Seznam skriptů, které používají tuto knihovnu ===== | ||
Line 288: | 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 ===== | ||
+ | ** 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) ** | ** 1.0.0 (1.2.2017) ** | ||
* '' | * '' | ||
* oprava: snad definitivní umravnění nemizejícího progress baru | * oprava: snad definitivní umravnění nemizejícího progress baru | ||
+ | |||
+ | <hidden onHidden=": | ||
** 0.9.9 (26.1.2017) ** | ** 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 | * nový: při kopírování je zobrazen postup kopírování s procenty a odhadovaným časem do konce | ||
- | * změna: všechy stringy jsou '' | + | * 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é | * změna: u funkčních objektů určených pro ukládání dat je doplněn výčet vlastností o jim specifické | ||
Line 305: | 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.1485928767.txt.gz · Last modified: 2017/02/01 07:59 (external edit)