Deutsches AutoHotkey Homepage AutoHotkey Community
Wir helfen uns gegenseitig aus der Patsche
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Minimum/Maximum ermittlen.
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Ich brauche Hilfe!
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
halweg



Anmeldedatum: 05.01.2006
Beiträge: 872
Wohnort: Dresden

BeitragVerfasst am: Mi März 08, 2006 8:22 am    Titel: Minimum/Maximum ermittlen. Antworten mit Zitat

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 ... Confused
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
BoBo
Gast





BeitragVerfasst am: Mi März 08, 2006 9:44 am    Titel: Antworten mit Zitat

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

BeitragVerfasst am: Mi März 08, 2006 10:12 am    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
halweg



Anmeldedatum: 05.01.2006
Beiträge: 872
Wohnort: Dresden

BeitragVerfasst am: Mi März 08, 2006 10:14 am    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
halweg



Anmeldedatum: 05.01.2006
Beiträge: 872
Wohnort: Dresden

BeitragVerfasst am: Mi März 08, 2006 10:25 am    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Thalon



Anmeldedatum: 25.10.2005
Beiträge: 1896
Wohnort: Österreich

BeitragVerfasst am: Mi März 08, 2006 11:01 am    Titel: Antworten mit Zitat

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 Smile ).

Aber ich denke es wäre keine große Sache es als neue Funktion zu adden Smile
Also los: Englischkenntnisse abplagen!

Thalon
_________________
Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
toralf



Anmeldedatum: 25.10.2005
Beiträge: 110
Wohnort: Stuttgart

BeitragVerfasst am: Mi März 08, 2006 11:47 am    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
BoBo
Gast





BeitragVerfasst am: Mi März 08, 2006 2:16 pm    Titel: Antworten mit Zitat

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 Smile
Nach oben
halweg



Anmeldedatum: 05.01.2006
Beiträge: 872
Wohnort: Dresden

BeitragVerfasst am: Mi März 08, 2006 2:37 pm    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
BoBo
Gast





BeitragVerfasst am: Mi März 08, 2006 3:03 pm    Titel: Antworten mit Zitat

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 ---> [...]

SmileVery HappyLaughing
Nach oben
halweg



Anmeldedatum: 05.01.2006
Beiträge: 872
Wohnort: Dresden

BeitragVerfasst am: Mi März 08, 2006 3:24 pm    Titel: Antworten mit Zitat

Das ihr auch immer alles so wörtlich nehmen müsst Very Happy Smile Sad Crying or Very sad

Ich war schon froh, als Micha aufhörte, mit dem Ascher nach mir zu werfen. Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DieRegierung
Gast





BeitragVerfasst am: Mi März 08, 2006 4:23 pm    Titel: Antworten mit Zitat

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

BeitragVerfasst am: Mi März 08, 2006 4:31 pm    Titel: Antworten mit Zitat

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 ... Laughing

In welchem Thread wird hier eigentlich das Thema "Missbrauch von Benutzernamen" diskutiert Question Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AGU
Gast





BeitragVerfasst am: Mi März 08, 2006 4:32 pm    Titel: Antworten mit Zitat

Der Link dazu wäre (als Service) nicht schlecht gewesen. Also hol ich das eben nach:

Arrow http://www.autohotkey.com/forum/viewtopic.php?t=8520

Gruß
AGU
Nach oben
halweg



Anmeldedatum: 05.01.2006
Beiträge: 872
Wohnort: Dresden

BeitragVerfasst am: Mi März 08, 2006 4:39 pm    Titel: Antworten mit Zitat

Sorry, ganz vergessen. Embarassed Danke AGU.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Ich brauche Hilfe! Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de