Sie sind vermutlich noch nicht im Forum angemeldet - Klicken Sie hier um sich kostenlos anzumelden Impressum 
Sie können sich hier anmelden
Dieses Thema hat 4 Antworten
und wurde 226 mal aufgerufen
 Skripte und Zusatzprogramme
R.Wilke Offline



Beiträge: 6.333

22.12.2014 00:58
RE: Diktierquellen löschen - per Skript Thread geschlossen

A. Wagner hat neulich eine interessante und wichtige Frage aufgeworfen:

Zitat von "a.wagner"
In der neuen Version gibt es jetzt einen Extrapunkt „Diktierquellen verwalten“. Dort kann man aber nur vorhandene Diktierquellen auswählen und neue Diktierquellen hinzufügen.

Bei meiner Spielerei mit der Ablage des Benutzerprofils auf einem „OneDrive“ sind mehr oder weniger versehentlich viele Diktierquellen entstanden und ich möchte nun die eine oder andere löschen. Jetzt habe ich gesucht und keinen Menüpunkt gefunden. Hat jemand eine Idee oder einen Hinweis? Oder warte ich einfach bis 13.5?



http://dragon-spracherkennung.forumprofi...944.html#p13944

Damals habe ich u.a. geantwortet, dass ich vielleicht mal ein Programm dafür schreiben würde. Durch das Thema angeregt, ist mir aufgefallen, dass sich in einem meiner Profile im Laufe der Zeit zu der Hauptquelle noch vier weitere Quellen angesammelt hatten, durch Versuche mit unterschiedlichen Geräten, oder auch nach "Spielereien" verschiedener Art, wobei für jedes Gerät nun eigens Ordner mit umfangreichen Daten angelegt wird. Das Profil war dadurch immerhin auf ca. 2,5 GB angewachsen.

Also habe ich mir vorgenommen, mein Vorhaben umzusetzen, und habe in der Dragon SDK (die auch über Advanced Scripting ausgeführt werden kann) die dafür benötigten Methoden gefunden und ein Skript zum programmatischen Entfernen von Diktierquellen aus dem aktuell geladenen Profil entwickelt, welches ich den hier registrierten Mitgliedern zur Verfügung stellen möchte.

Das Skript führt einen Benutzer-Dialog aus, der für sich selbst sprechen sollte, weswegen ich auf die Funktionsweise nicht näher eingehen möchte. Hinweisen sollte ich nur darauf, dass das Entfernen von Quellen nicht mehr rückgängig gemacht werden kann, so dass man achtsam damit umgehen muss. Deshalb, oder auch generell, sollte man vorher sicherheitshalber ein Backup vom Profil anlegen. Ansonsten habe ich das Skript inzwischen so ca. 30 Mal getestet und keine Fehlfunktionen festgestellt.

Der Code ist - in aller Bescheidenheit - von mittlerem Schwierigkeitsgrad, aber durchgehend kommentiert, zum Nachvollzug, was darin geschieht. Vielleicht dient er auch als Anreiz zum Studium, und wer dazu Fragen hat, möge sich nicht scheuen, sie zu stellen.

Er geht so:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 

' ***************************************
'
' (C) R. Wilke 2014
' Diktierquellen programmatisch löschen
'
' ***************************************
 
' wird benötigt, um INI-Dateien auszulesen
Private Declare Function GetPrivateProfileString Lib "kernel32" _
Alias "GetPrivateProfileStringA" ( _
ByVal lpAppName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long
 
' global verwendete Deklarationen
Dim eng As New DgnEngineControl
Dim ListArray$() ' die Listeneinträge
Dim ListIndex() As Integer ' die Listenindices
Dim nListHeight As Integer ' die Höhe der Listbox
Dim strTitle As String ' Titel der Nachrichtenfenster
Dim strRetLoaded As String ' der Name der aktuellen Quelle
'
' stelle die Listeneinträge zusammen
' für jede zusätzliche (= nicht geladene) Quelle ein Listenlement
' der Name der Quelle wird in der Liste angezeigt, der Index gespeichert
 

...
 

 



... alles weitere im angehängten Skript. Viel Spaß damit!

_______________________________________

Dragon Professional 16 auf Windows 10 Pro und Windows 11
SpeechMike Premium (LFH3500); Office 2019 Pro + Office 365 (monatliches Abo)
HP ZBook Fury 17 G8 - i7-11800H - 24 MB SmartCache - 32 GB RAM - 1 TB SSD

P.Roch Offline



Beiträge: 1.259

22.12.2014 09:00
#2 RE: Diktierquellen löschen - per Skript Thread geschlossen

Gratuliere, Rüdiger, da ist Dir mal wieder ein großer Wurf gelungen!
Zu ergänzen wäre noch, dass das Skript nur in Version 13 funktioniert (vorherige Versionen kennen die UnpackDictationSourceConstant-Methode nicht), und selbstverständlich braucht es Editionen ab Professional aufwärts.
Gruß, Pascal

P.S. Kleine Frage am Rande: Nach der aoptions.ini wird gesucht. Wenn diese nicht gefunden wird, wird angezeigt, dass die options.ini nicht gefunden wurde. Fehlt da ein "a"?

a.wagner Offline



Beiträge: 432

22.12.2014 12:18
#3 RE: Diktierquellen löschen - per Skript Thread geschlossen

Hallo,

Der Import des Skripte funktionierte prima und es führt die gewünschte Funktion wohl auch aus. Eine Verringerung des Speicherplatzes habe ich noch nicht beobachten können, ich werde aber mal eine Genauigkeitsoptimierung durchführen und danach vielleicht eine Veränderung feststellen.

Gruß

A. Wagner

[Dragon Legal Anywhere mit SpeechMIke LFH 3510, Intel(R) Core(TM)I7-7500 CPU, 16 GB RAM, Windows 10 Pro. 64 Bit [/i]

Dioskur Offline



Beiträge: 516

22.12.2014 12:40
#4 RE: Diktierquellen löschen - per Skript Thread geschlossen

lieber Rüdiger,

ich schließe mich der Gratulation von Pascal an. Das Skript funktioniert bei mir tadellos. Hast der Community ein schönes Weihnachtsgeschenk gemacht!

Frohe Weihnachten und ein gutes neues Jahr für Dich und das Forum!

Hans

DPI 15 auf Windows 10 Professional (64-bit)
SpeechMike Premium. Intel i7 Core 4x2.67 GHz, 6 GB RAM

R.Wilke Offline



Beiträge: 6.333

22.12.2014 23:41
#5 RE: Diktierquellen löschen - per Skript Thread geschlossen

Vielen Dank für die freundlichen Rückmeldungen allerseits. Da sind noch ein paar Fragen zu beantworten.

Zitat von "Pascal"
Zu ergänzen wäre noch, dass das Skript nur in Version 13 funktioniert



Ja, deswegen wird als erstes (in Sub Main) die Version geprüft, und abgebrochen, wenn es nicht 13 ist.

Zitat
Nach der aoptions.ini wird gesucht. Wenn diese nicht gefunden wird, wird angezeigt, dass die options.ini nicht gefunden wurde. Fehlt da ein "a"?



Wahrscheinlich ein Schreibfehler. Danke für den Hinweis. In Deiner Mail hast Du noch weitere Fragen gestellt. Upgrade-Profile werden verworfen, weil deren Ordner-Struktur von der in einem "Vollversion"-Profil ganz verschieden ist. Und dann gelingt die Suche nach "aoptions.ini" nicht - und vielleicht ist auch die Codierung der Geräte ID verschieden, da sie sich in der Ordner-Struktur wieder findet.

Die Suche nach aoptions.ini hat nur den Zweck, den Klarnamen des Gerätes heraus zu finden, um ihn anzeigen zu können. Du hast mir berichtet, dass bei Dir nicht vollständig angelegte Quellen vorhanden waren, wo keine aoptions.ini enthalten war. Interessant, auch ich hatte halb angelegte Quellen im Profil, aber immer mit aoptions.ini. Es liegt wohl daran, wann die Anlage der Quelle abgebrochen wird. Wenn es sich aber so darstellt, wie Du berichtest, werde ich den Abbruch des Skripts an der Stelle einfach herausnehmen, so dass es dann auch ohne aoptions.ini weiter läuft. (Das bekommst Du bestimmt auch selbst hin.)

Zitat
Eine Verringerung des Speicherplatzes habe ich noch nicht beobachten können



Merkwürdig, bei mir macht das Entfernen von vier nicht benötigten Quellen einen Unterschied von ca. 500 MB im current Ordner aus. Wenn sich das dann noch bis in den backup Ordner durchsetzt, ist es das Doppelte.

Zitat
Hast der Community ein schönes Weihnachtsgeschenk gemacht!

Frohe Weihnachten und ein gutes neues Jahr für Dich und das Forum!

Hans



Das war das Ziel dabei. Danke dafür und alles Gute auch meinerseits!

Rüdiger

_______________________________________

Dragon Professional 16 auf Windows 10 Pro und Windows 11
SpeechMike Premium (LFH3500); Office 2019 Pro + Office 365 (monatliches Abo)
HP ZBook Fury 17 G8 - i7-11800H - 24 MB SmartCache - 32 GB RAM - 1 TB SSD

Ähnliche Themen Antworten/Neu Letzter Beitrag⁄Zugriffe
Wie unter Dragon 16 und MS 365 Skriptbefehle mit Word-VBA-Makros?
Erstellt im Forum Skripte und Zusatzprogramme von Marius_
4 14.03.2023 11:33
von Marius_ • Zugriffe: 342
automatischer Export in bestimmten Intervallen
Erstellt im Forum Fragen zur Anwendung von schwarzweiß92
3 12.06.2022 11:30
von P.Roch • Zugriffe: 163
Buchstabier(alphabet)-Skript
Erstellt im Forum Skripte und Zusatzprogramme von Marius_
2 20.10.2021 19:29
von Marius_ • Zugriffe: 469
 Sprung  
Xobor Ein Kostenloses Forum | Einfach ein Forum erstellen
Datenschutz