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 2 Antworten
und wurde 501 mal aufgerufen
 Skripte und Zusatzprogramme
Marius_ Offline



Beiträge: 1.273

20.10.2021 08:23
Buchstabier(alphabet)-Skript Zitat · Antworten

Bei Edgar auf Knowbrainer habe ich folgendes Skript "geklaut" und leicht modifiziert (eingedeutscht), mit dem man per Buchstabiertafel/-alphabet Abkürzungen oder sonstige Ausdrücke in Großbuchstaben buchstabieren kann. Welche Buchstabiertafel man verwendet (NATO, klassisches deutsches, postmodern wokes....), ist egal: Es wird immer der erste Buchstabe eines Wortes ausgegeben.

https://www.knowbrainer.com/forums/forum...3&enterthread=y

Leider muss ich irgend etwas falsch machen, was die Sonderregeln für Zahlwörter angeht, denn es werden keine Ziffern ausgegeben, sondern die Anfangsbuchstaben der Zahlwörter ("E" bei eins). Mein Drachen ist so konfiguriert, dass Zahlen bis 12 als Wörter ausgeschrieben werden. Hat jemand einen Tipp:

Das Skript heißt bei mir "Majuskeln <dictation>"

Hier der Code:

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
 

Sub Main
Dim words() As String' dimension a string array
Dim k As Integer
Dim result As String

result = ""
words = Split(ListVar1," ")
For k = 0 To UBound(words)
words(k) = UCase(words(k))
Next
For k = 0 To UBound(words)
If words(k) = "Leertaste" Or words(k) = "Leerzeichen" Or words(k) = "Leerschritt" Then words(k) = " "
If words(k) = "." Or words(k) = "Punkt" Then words(k) = "."
If words(k) = "Null" Then words(k) = "0"
If words(k) = "Eins" Or words(k) = "Ein" Then words(k) = "1"
If words(k) = "Zwei" Or words(k) = "Zwo" Then words(k) = "2"
If words(k) = "Drei" Then words(k) = "3"
If words(k) = "Vier" Then words(k) = "4"
If words(k) = "Fünf" Then words(k) = "5"
If words(k) = "Sechs" Or words(k) = "Sex" Then words(k) = "6"
If words(k) = "Sieben" Then words(k) = "7"
If words(k) = "Acht" Then words(k) = "8"
If words(k) = "Neun" Then words(k) = "9"
Next
For k = 0 To UBound(words)
result = result & UCase(Left(words(k), 1))
Next
SendKeys result
End Sub
 

 





Warum das alles? Die eingebauten "Schreib"-Befehle des Drachens sind anstrengend, weil sie in Version 15 standardmäßig Kleinbuchstaben ausgeben.

__________________________________________________
Dragon Legal 16, Win 11 Pro, Microsoft 365 64-bit, SpeechMike Premium Air, i7-11700, 2,5 GHz, 64 GB RAM, 1TB SSD;
+ DLG 15.71, Win 10, unter Parallels Pro auf iMac Retina 5K 4,0 GHz i7-6700K, 32 GB RAM, 1TB SSD; + DLG 15.6, Win 10, Bootcamp auf MBP 2017 i5

P.Roch Offline



Beiträge: 1.265

20.10.2021 14:12
#2 RE: Buchstabier(alphabet)-Skript Zitat · Antworten

Hallo Meinhard,
die Lösung ist einfach: UCase/words(k)) setzt das gesamte Wort in Großbuchstaben. Demzufolge muss auch abgefragt werden. z.B. VIER statt Vier
Viele Grüße
Pascal

Marius_ Offline



Beiträge: 1.273

20.10.2021 19:29
#3 RE: Buchstabier(alphabet)-Skript Zitat · Antworten

DANKE!
Da (1) ich die Semantik des Befehls nicht kannte und intuitiv von der Kapitalisierung nur des ersten Buchstabens ausgegangen war und (2) im englischen Original-Skript alles auf LCase gemünzt war, ist es mir nicht aufgefallen.

Wie zitierte mal ein amerikanischer Forist namens Chuck: "Assumption is the mother of all fuck-ups."

__________________________________________________
Dragon Legal 16, Win 11 Pro, Microsoft 365 64-bit, SpeechMike Premium Air, i7-11700, 2,5 GHz, 64 GB RAM, 1TB SSD;
+ DLG 15.71, Win 10, unter Parallels Pro auf iMac Retina 5K 4,0 GHz i7-6700K, 32 GB RAM, 1TB SSD; + DLG 15.6, Win 10, Bootcamp auf MBP 2017 i5

 Sprung  
Xobor Ein Kostenloses Forum | Einfach ein Forum erstellen
Datenschutz