Hallo,
hat jemand eine gute Idee, wie man eine Zahl in einen Buchstabe verwandeln kann oder b) mit Buchstaben rechnen kann?
Zeil ist folgendes:
Eine Loop-Schleife soll der reihe nach testen, ob div. Dateien vorhanden sind.
in der ersten Runde blablablax.pdf.
wenn diese nicht vorhanden ist, soll blablablay.pdf probiert werden. Und so weiter.
Sobald eine Datei gefunden wird soll nur die mit dem höchsten Buchstabe in einen Ordner verschoben werden.
also entweder man fängt mit dem Wert 26 (für Z) oder so an, verringert den pro runde um 1 und macht daraus den entsprechenden Buchstabe oder man verwendet gleich den den Buchstabe Z und "verringert" den Pro Runde um eins, sodass dann eine y in der Variable liegt.
Vielen Dank.
Zahl in Buchstabe umwandeln
Moderator: jNizM
Re: Zahl in Buchstabe umwandeln
Moin,
dafür gibt es die Funktion Chr(). Die 'ANSI-Zeichencodes' für die Buchstaben A - Z sind 65 - 90.
dafür gibt es die Funktion Chr(). Die 'ANSI-Zeichencodes' für die Buchstaben A - Z sind 65 - 90.
Re: Zahl in Buchstabe umwandeln
Hallo,
genau!:
genau!:
Code: Select all
Loop, 26
{
Großbuchstabe := Chr(64+A_Index)
Kleinbuchstabe := Chr(96+A_Index)
MsgBox % A_Index . "`n"
. Großbuchstabe . "`n"
. Kleinbuchstabe
}
Return
Re: Zahl in Buchstabe umwandeln
Beim lesen dieser (hin)wegklickereisession bekomme ich sofort phantomschmerz in den mausfingerRohwedder wrote:Hallo,
genau!
Re: Zahl in Buchstabe umwandeln
Alternative für 'Fortgeschrittene' (mit einer Antiphantomschmerz-Erweiterung für BoBo):
Code: Select all
For Each, Zeichen In StrSplit("zyxwvutsrqponmlkjihgfedcba")
MsgBox, 0, Guckst Du schnell, %Zeichen%, 0.5
- divanebaba
- Posts: 805
- Joined: 20 Dec 2016, 03:53
- Location: Diaspora
Re: Zahl in Buchstabe umwandeln
Ahhh, habt ihr auch ein Mittel gegen Phantomschmerzen im Mittelfinger?
Wenn man die Liste zuvor mit Sort sortiert hat, könnte man sich, je nach Anwendungsfall und Bild...niveau , den ganzen Ärger mit dem Auswerten der Buchstaben auch sparen.
Btw: Niemand mag Komplexe. Ich hingegen, liebe meinen Hochwertigkeitskomplex.
Wenn man die Liste zuvor mit Sort sortiert hat, könnte man sich, je nach Anwendungsfall und Bild...niveau , den ganzen Ärger mit dem Auswerten der Buchstaben auch sparen.
Btw: Niemand mag Komplexe. Ich hingegen, liebe meinen Hochwertigkeitskomplex.
Einfach nur ein toller Typ.
Re: Zahl in Buchstabe umwandeln
Hallo,
das klappt super. so eine Idee schwebte mir auch vor, ich konnte sie nur nicht formulieren.
Vielen Dank.
Allerdings habe ich jetzt ein weiteres Problem: FileMove, C:\Users\c.kuschel\Documents\Lieferscheine\*.*, C:\Users\c.kuschel\Documents\Lieferscheine\2018\*.* Tut nichts. Im quellverzeichnis liegen eine Ganze menge Ordner und mehrere Dateien, die alle in den UNterordner "2018" verschoben werden sollen. Das klappt aber nicht. der Script tut garnix. was ist das Problem?
das klappt super. so eine Idee schwebte mir auch vor, ich konnte sie nur nicht formulieren.
Vielen Dank.
Allerdings habe ich jetzt ein weiteres Problem: FileMove, C:\Users\c.kuschel\Documents\Lieferscheine\*.*, C:\Users\c.kuschel\Documents\Lieferscheine\2018\*.* Tut nichts. Im quellverzeichnis liegen eine Ganze menge Ordner und mehrere Dateien, die alle in den UNterordner "2018" verschoben werden sollen. Das klappt aber nicht. der Script tut garnix. was ist das Problem?
Re: Zahl in Buchstabe umwandeln
Der Zielpfad muss ohne *.* angegeben werden.
Sort zu verwenden kann ich nicht empfehlen - es hat Allgemein keinerlei Relevanz.
Sort zu verwenden kann ich nicht empfehlen - es hat Allgemein keinerlei Relevanz.
Recommends AHK Studio
Re: Zahl in Buchstabe umwandeln
so habe ich es probiert. Es funktioniert nicht. Es wird eine Datei "2018" im zielverzeichnis erstellt (ohne Endung) aber keine Datei verschoben.nnnik wrote:Der Zielpfad muss ohne *.* angegeben werden.
Sort zu verwenden kann ich nicht empfehlen - es hat Allgemein keinerlei Relevanz.
FileMove, C:\Users\c.kuschel\Documents\Lieferscheine\*.*, C:\Users\c.kuschel\Documents\Lieferscheine\2018
FileMove, C:\Users\c.kuschel\Documents\Lieferscheine\*.*, C:\Users\c.kuschel\Documents\Lieferscheine\2018\
Es ist so, das eine Datei bla.pdf nicht in den Ordner 2018 verschoben wird, sondern eine Datei 2018 erstellt wird, mit dem Inhalt der .pdf.
Also ich habe dann im Verzeichnis "Lieferscheine" die Datei "2018" mit dem Inahlt der .pdf statt im Verzeichnis Lieferscheine\2018 die Datei Bla.pdf
Re: Zahl in Buchstabe umwandeln
Welche Liste? (Du solltest Deine 'Hochwertigkeit' nicht nur lieben, Du solltest sie auch einfach mal zeigen!)divanebaba wrote:Wenn man die Liste zuvor mit Sort sortiert hat, könnte man sich, je nach Anwendungsfall und Bild...niveau , den ganzen Ärger mit dem Auswerten der Buchstaben auch sparen.
Existiert der Unterordner '2018' schon?Folllast wrote:C:\Users\c.kuschel\Documents\Lieferscheine\2018
Re: Zahl in Buchstabe umwandeln
Existiert der Unterordner '2018' schon?[/quote]Folllast wrote:C:\Users\c.kuschel\Documents\Lieferscheine\2018
wenn ich den ordner vorher erstelle funktioniert es. Vielen Dank für den Hinweis
- divanebaba
- Posts: 805
- Joined: 20 Dec 2016, 03:53
- Location: Diaspora
Re: Zahl in Buchstabe umwandeln
Man kann natürlich, so wie ursprünglich gedacht, abfragen, welche Dateien vorhanden sind, oderjust me wrote:Welche Liste? (Du solltest Deine 'Hochwertigkeit' nicht nur lieben, Du solltest sie auch einfach mal zeigen!) ...divanebaba wrote:Wenn man die Liste zuvor mit Sort sortiert hat, könnte man sich, je nach Anwendungsfall und Bild...niveau , den ganzen Ärger mit dem Auswerten der Buchstaben auch sparen.
auch fragen, welche Dateien nicht vorhanden sind. Um im letzteren Fall, sollte man sich die vorhandenen Dateien auflisten lassen. Das ist mit "Liste" gemeint gewesen.divanebaba wrote:... je nach Anwendungsfall ...
Es ist ganz explizit nach dem Umwandeln von Zahlen in Buchstaben gefragt worden. Aber der Anwendungsfall wurde ebenso beschrieben und ich habe mich erdreistet einen anderen Lösungsweg aufzuzeigen, ohne ihn allerdings erschöpfend darzulegen.
Übrigens muss ich hier gar nichts zeigen. Wenn ich schreibe, ich bin ein toller Typ, muss ich nicht jedem auch gleich ein Bier ausgeben.
Einfach nur ein toller Typ.
Re: Zahl in Buchstabe umwandeln
es waren beides sehr Gute vorschläge, sowohl eine Ansi-Ziffer in ein Buchstabe zu verwandeln als auch eine Buchstabenkette zu verwenden und immer eine Position weiter zu springen. Die Tatsache, dass ich mich für die Möglichkeit mit dem Umwandeln der Ziffer entschieden habe, liegt nur darin begründet, dass diese meiner Ursprünglichen Idee am nächsten kommt bzw. ich am ehesten "verstehe".
Re: Zahl in Buchstabe umwandeln
Hi Folllast,
wenn Du Deine Lösung einstellst, haben vielleicht auch Andere etwas davon, die über diesen Beitrag stolpern.
wenn Du Deine Lösung einstellst, haben vielleicht auch Andere etwas davon, die über diesen Beitrag stolpern.
Re: Zahl in Buchstabe umwandeln
Hallo,just me wrote:Hi Folllast,
wenn Du Deine Lösung einstellst, haben vielleicht auch Andere etwas davon, die über diesen Beitrag stolpern.
normal versuch ich das immer zu machen. Hier ist es mir durch das rege treiben in dem Fred durch die Lappen gegangen.
Anbei die Funktion.
Code: Select all
zeichnungkopieren(auftragsnummer,artikelnummer)
{
ordner := SubStr(artikelnummer, 1 , 4)
pfad := anfangspfad . ordner . "`\" . artikelnummer
buchstabe := 90 ; fängt bei Nummer 90 an, das ist der ANSI-Wert für das große Z
loop, 27
{
If (buchstabe = 64) ; wenn der Buchstabe A nicht funktioniert hat wird als letztes noch der Bindestrich an Stelle vom Buchstabe versucht.
buchstabe := 45 ; den wert auf den ANSI-Code vom Bindestrich setzen
index := Chr(buchstabe) ; mit dem ANSI-Code einen Buchstabe generieren und in der Variable index speichern
pfad2 := pfad . "." . index . ".pdf" ; den Dateipfad zusammenbauen.
FileAppend, %pfad2%`n, log.txt ; den Dateipfad in eine log.txt schreiben (für Testzwecke)
if FileExist(pfad2) ; wenn der Pfad existiert...
{
FileCopy, %pfad2%, C:`\Users`\c.kuschel`\Documents`\Lieferscheine`\%auftragsnummer% ; in den Auftragsordner speichern
FileAppend, %artikelnummer%.%index%: kopiert`n, log2.txt ; das kopieren in einer log-Datei dokumentieren
return ; wenn das erfolgreich war soll die funktion beendet werden
}
buchstabe-- ; ansonsten buchstabe um eins reduzieren und dann geh eine neue Runde los.
}
}
Re: Zahl in Buchstabe umwandeln
Warum sind in diesem code die backslashes escaped??
Re: Zahl in Buchstabe umwandeln
Diese Frage kann dir nur Gott selbst beantworten. Ich glaube, die kommen daher, dass die Kopier-Funktion nicht gleich so funktioniert hat wie ich das gerne wollte, und ich als erstes die backslashes escaped habe. Dies hat zwar nicht zur Lösung geführt, wurde aber auch nicht rückgängig gemacht.BoBo wrote:Warum sind in diesem code die backslashes escaped??
Es ist in diesem Fall nicht notwenig, schadet IMHO aber auch nicht.(Abgesehen vom erhöhten Speicherbedarf)
Re: Zahl in Buchstabe umwandeln
Ich möchte den "schaden" mal relativieren, da du den code ja (dankenswerterweise) zur verfügung stellst, und dieser damit auch als gutes beispiel fungiert/fungieren soll(te). Wenn unötig/funktionslos, dann weg damit. Wie sagte schon einst Aristoteles:"Wehret den Anfänger(fehler)!"Es ist in diesem Fall nicht notwenig, schadet IMHO aber auch nicht.(Abgesehen vom erhöhten Speicherbedarf)
Who is online
Users browsing this forum: No registered users and 38 guests