| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
halweg
Anmeldedatum: 05.01.2006 Beiträge: 872 Wohnort: Dresden
|
Verfasst am: Mi März 08, 2006 8:22 am Titel: Minimum/Maximum ermittlen. |
|
|
Eh ich jetzt wieder mein Englisch bemühe und Chris belästige:
Eine MIN(...,...) oder MAX(...,...) Funktion gibt es in AHK nicht? Oder hab ich da was übersehen?
Ist etwas lästig, immer solche
maximum := x
IF (x < y)
maximum := y
3 Zeilen zu schreiben.
Und die Variante
IFGREATER x, y, SETENV, maximum, % x
ELSE SETENV, maximum, % y
spart zwar eine Zeile, ist aber weit von der Klarheit ein MAX-Funktion entfernt. Noch komplizierter wird es, wenn man mehr als zwei Werte vergleichen will.
Man könnte sowas leicht selbst bauen, aber irgend wie hab ich kein Lust mir mit solchem Banalcode die Skripte aufzublähen ...  |
|
| Nach oben |
|
 |
BoBo Gast
|
Verfasst am: Mi März 08, 2006 9:44 am Titel: |
|
|
| Na ja, an eine in AHK integrierte Funktion müsstest du die massgeblichen Kenngrößen ja auch noch übergeben, oder? Also die Funktion selbst bauen und ggf. #Include(n) ?? |
|
| Nach oben |
|
 |
Thalon
Anmeldedatum: 25.10.2005 Beiträge: 1896 Wohnort: Österreich
|
Verfasst am: Mi März 08, 2006 10:12 am Titel: |
|
|
Ich hab zwar gelesen was du geschrieben hast, aber verstanden habe ichs nicht...
Was macht eine MAX-Funktion? Und wofür benötigt man sie?
Thalon _________________ Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe |
|
| Nach oben |
|
 |
halweg
Anmeldedatum: 05.01.2006 Beiträge: 872 Wohnort: Dresden
|
Verfasst am: Mi März 08, 2006 10:14 am Titel: |
|
|
Danke BoBo für die schnelle Antwort.
Werd mich wohl noch mal in der Wunschliste bei Chris melden...
Für mich ist INCLUDE eben auch eine Komplexitätserhöhung, weil ich dann immer ganze Verzeichnisse mit Kleindateien zusammenhalten muss.
Zuletzt bearbeitet von halweg am Mi März 08, 2006 10:26 am, insgesamt einmal bearbeitet |
|
| Nach oben |
|
 |
halweg
Anmeldedatum: 05.01.2006 Beiträge: 872 Wohnort: Dresden
|
Verfasst am: Mi März 08, 2006 10:25 am Titel: |
|
|
| Thalon hat Folgendes geschrieben: | Ich hab zwar gelesen was du geschrieben hast, aber verstanden habe ichs nicht...
Was macht eine MAX-Funktion? Und wofür benötigt man sie?
Thalon |
Hier mal ein Beispiel:
meine_bildschirmhoehe := 800
wunsch_fensterhoehe := 20 * zeilen_im_fenster
WINMOVE, A, , 10, 10, breite, MIN(wunsch_fensterhoehe, meine_bildschirmhoehe)
Noch schöner wäre eine MAX/MIN-Funktion mit mehr als 2 Argumenten, um zum Beispiel den größten Wert in einem Array zu ermitteln. |
|
| Nach oben |
|
 |
Thalon
Anmeldedatum: 25.10.2005 Beiträge: 1896 Wohnort: Österreich
|
Verfasst am: Mi März 08, 2006 11:01 am Titel: |
|
|
Hmm .. ich weiß was du meinst.
Wäre vielleicht sogar nützlich, aber benötigst du es tatsächlich so oft?
Ich weiß ich bin nicht schreibfaul, daher schreibe ich generell vieles sehr speziell und weniger allgemein um möglichst schnell zu arbeiten.
Zum Beispiel konnte ich durchs Selbstschreiben eines XML-Readers mit weniger Funktionen etwa 400% Performance herausholen. Meine Weiterspezialisierung wird hoffentlich sogar noch schneller werden (3 Sekunden für 100 Dateien a 2KB lesen sind einfach unzumutbar ).
Aber ich denke es wäre keine große Sache es als neue Funktion zu adden
Also los: Englischkenntnisse abplagen!
Thalon _________________ Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe |
|
| Nach oben |
|
 |
toralf
Anmeldedatum: 25.10.2005 Beiträge: 110 Wohnort: Stuttgart
|
Verfasst am: Mi März 08, 2006 11:47 am Titel: |
|
|
| Code: | max(Array, Delimiter = ""){
Return, Search("Max", Array, Delimiter)
}
min(Array, Delimiter = ""){
Return, Search("Min", Array, Delimiter)
}
Search(Type, Array, Delimiter = ""){
If Delimiter is space
Delimiter = ,
StringSplit, Array, Array, %Delimiter%
Value = %Array1%
If (Type = "Max")
Loop, %Array0%
If (Array%A_Index% > Value)
Value := Array%A_Index%
Else If (Type = "Min")
Loop, %Array0%
If (Array%A_Index% < Value)
Value := Array%A_Index%
Return Value
}
| *not tested* _________________ Ciao
toralf
Auto-Syntax-Tidy Icon Viewer EasyCopy AHK |
|
| Nach oben |
|
 |
BoBo Gast
|
Verfasst am: Mi März 08, 2006 2:16 pm Titel: |
|
|
Thx toralf. Genau so dachte ich das. In der Datei sind 3 (selbstgestrickte) Funktionen: max, min und Search. Diese "Sammeldatei", welche sich beliebig um eigene Funktionen erweitern lässt, wird mit einem einfachen #Include Sammeldatei.ahk in beliebige andere Scripte eingebunden und eine beliebige der Funktionen beliebig daraus aufgerufen/eingebunden. Quasi Ultrabeliebig  |
|
| Nach oben |
|
 |
halweg
Anmeldedatum: 05.01.2006 Beiträge: 872 Wohnort: Dresden
|
Verfasst am: Mi März 08, 2006 2:37 pm Titel: |
|
|
Auch wenn mich Selfmademan toralf (danke für die Idee mit der variablen Argumentenzahl- kann ich woanders gerade gut gebrauchen) und auch BoBo jetzt steinigen - eine eingebaute Funktion fände ich trotzdem übersichtlicher:
1. Ich brauch kein zusätzliches Codeschnipsel.
2. Andere haben die Funktion sofort parat und finden sie in der Hilfe.
3. Man könnte evtl. (noch Wunschtraum) ein ganzes Array (X%*%) übergeben.
4. Sowas gehört einfach in eine Programmmiersprache, die sogar Arkus Sinus und Logarithmen als Funktionen anbietet. |
|
| Nach oben |
|
 |
BoBo Gast
|
Verfasst am: Mi März 08, 2006 3:03 pm Titel: |
|
|
| Zitat: | | Auch wenn mich Selfmademan toralf ... und auch BoBo jetzt steinigen | Deja vu??? Toralf hat ja erst noch gezögert aber dann hab ich gesagt: "Das bietet sich uns nie wieder - und heute ist, glaub ich halweg dran ---> [...]
   |
|
| Nach oben |
|
 |
halweg
Anmeldedatum: 05.01.2006 Beiträge: 872 Wohnort: Dresden
|
Verfasst am: Mi März 08, 2006 3:24 pm Titel: |
|
|
Das ihr auch immer alles so wörtlich nehmen müsst
Ich war schon froh, als Micha aufhörte, mit dem Ascher nach mir zu werfen.  |
|
| Nach oben |
|
 |
DieRegierung Gast
|
Verfasst am: Mi März 08, 2006 4:23 pm Titel: |
|
|
Amliche Verlautbarung:
Das Thema Min/Max() wurde von halweg noch parallel im UK/US Forum (in der Wish-Sektion) behandelt und abschließend (?) geklärt. |
|
| Nach oben |
|
 |
halweg
Anmeldedatum: 05.01.2006 Beiträge: 872 Wohnort: Dresden
|
Verfasst am: Mi März 08, 2006 4:31 pm Titel: |
|
|
| halweg hat Folgendes geschrieben: | | Werd mich wohl noch mal in der Wunschliste bei Chris melden... | ... hatte ich ja angekündigt.
Als wir dort Feierabend hatten lief hier schon smalltalk ...
In welchem Thread wird hier eigentlich das Thema "Missbrauch von Benutzernamen" diskutiert  |
|
| Nach oben |
|
 |
AGU Gast
|
|
| Nach oben |
|
 |
halweg
Anmeldedatum: 05.01.2006 Beiträge: 872 Wohnort: Dresden
|
Verfasst am: Mi März 08, 2006 4:39 pm Titel: |
|
|
Sorry, ganz vergessen. Danke AGU. |
|
| Nach oben |
|
 |
|