nach letzte Zeichen sortieren

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

songoku
Posts: 73
Joined: 12 Apr 2018, 13:22

nach letzte Zeichen sortieren

13 Oct 2018, 17:40

Guten Abend,
habe eine Liste, beispiel:

Code: Select all

xxxxx xxx xx xx 1
xxx xx xx xx 0
xxxx xxx xxx 2
xxx xx xx	3
Nun, möchte die Liste nach letzte Zeichen sortieren, mit Option Pn kann man nach Zeichenposition sortieren, doch die Position des letzte Zeichens ist immer unterschiedlich.
Daher, wie kann ich mit AHK, nach letzte Zeichen sortieren ?

Danke und lieben Gruß
User avatar
divanebaba
Posts: 805
Joined: 20 Dec 2016, 03:53
Location: Diaspora

Re: nach letzte Zeichen sortieren

13 Oct 2018, 22:08

Hi.
Ich würde es, mangels besserem Wissen, folgendermaßen machen.
Die letzten Zeichen extrahieren, nach vorne kopieren, sortieren und dann die ersten Zeichen wieder löschen.
Dazu müsstest Du zunächst die gesamte Liste neu aufbauen, aber das macht ja nichts, weil der Computer das macht.

EDIT: Statt "letzte Zeichen", korrigiert nach "letzten Zeichen" lauten, es sei denn, es wird nur bis 9 sortiert. (Eventuell auch inclusive der Null.)
Last edited by divanebaba on 14 Oct 2018, 06:59, edited 1 time in total.
Einfach nur ein toller Typ. :mrgreen:
swagfag
Posts: 6222
Joined: 11 Jan 2017, 17:59

Re: nach letzte Zeichen sortieren

13 Oct 2018, 23:04

Code: Select all

Str =
(
Lorem ipsum dolor sit amet
consectetur adipisicing elit
Itaque placeat eaque esse
Aperiam tempora dignissimos explicabo Ipsum
necessitatibus doloremque amet fuga repellendus
aperiam recusandae harum reiciendis veniam magnam
suscipit Hic maxime
Necessitatibus earum maxime optio atque
Numquam accusantium sint ut
)

Sort Str, F MySortFunc
MsgBox % Str

MySortFunc(a, b) {
	a := SubStr(a, 0)
	b := SubStr(b, 0)

	if (a > b)
		return 1

	if (a < b)
		return -1
}
just me
Posts: 9453
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: nach letzte Zeichen sortieren

14 Oct 2018, 03:52

Moin,

diese selbstgebastelten Sortfunktionen sind mit einiger Vorsicht zu behandeln. Weil sich hinter den Aufrufen ein Bubblesort verbirgt, kann das Sortieren bei größeren Datenmengen sehr zeitaufwändig werden.
User avatar
nnnik
Posts: 4500
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: nach letzte Zeichen sortieren

14 Oct 2018, 05:37

Lol BubbleSort
Das ist die schlechtmöglichste Entscheidung.
Der einzig schlechtere Sortier Algorithmus wäre RandomSort.
Alles zufällig sortieren, bis dass es die richtige Sortierung erreicht.
Das witzige dabei ist, dass Random Sort manchmal schneller ist als BubbleSort
Recommends AHK Studio
songoku
Posts: 73
Joined: 12 Apr 2018, 13:22

Re: nach letzte Zeichen sortieren

14 Oct 2018, 16:34

Es Funktioniert auf jeden Fall, vielen Dank für den Code.
Versuche gerade nachzuvollziehen was es macht:
return 1
return -1

1 und -1 sind doch gar nicht definiert? Was machen die beiden Zeilen?

vielen Dank und lieben Gruß.

PS: Glückwunsch zum neuen Design
User avatar
nnnik
Posts: 4500
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: nach letzte Zeichen sortieren

15 Oct 2018, 02:42

Das ist eine Funktion die eine Sortierung definiert. Der Sort Befehl ruft diese Funktion auf um 2 Werte zu vergleichen.
Dabei erhält die aufgerufene Funktion die beiden Werte die verglichen werden sollen und gibt dann bestimmte Werte zurück um zu bestimmen welcher der beiden größer ist.
Es wird ein Wert kleiner 0 zurückgegeben wenn der erste Wert kleiner ist und ein Wert größer 0 falls der 2. Wert größer.
Recommends AHK Studio

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 110 guests