 |
AutoHotkey Community Wir helfen uns gegenseitig aus der Patsche
|
| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Joska Gast
|
Verfasst am: Fr Dez 01, 2006 7:55 pm Titel: String in Zahl umwandeln, wie? |
|
|
Hallo
ich kann inzwischen aus einem Datum Tage, Monate, Jahre extrahieren, aber das Ergebnis liegt dann in Stringform vor, also 08 für den achten Tag, 03 für den 3. Monat etc. Wie kann ich aus diesen Strings Zahlen machen, also 8 und 3, damit ich damit rechnen kann?
Wie verstehe ich den Unterschied zwischen
Ergebnis = %Tag%*%Monat%
Ergebnis := %Tag%*%Monat%
Danke,Joska |
|
| Nach oben |
|
 |
AGU Gast
|
Verfasst am: Fr Dez 01, 2006 8:05 pm Titel: |
|
|
| Zitat: | Wie verstehe ich den Unterschied zwischen
Ergebnis = %Tag%*%Monat%
Ergebnis := %Tag%*%Monat% |
Vielelicht hilft das: dt. Wiki Ausdrücke (expressions)
Auf die schnelle kann ich nur sagen, das deine zweite Zeile falsch ist. Wenn du den := Operator verwendest, darfst du die Variablen nicht mit Prozentzeichen umschließen, da der Operator schon einen Ausdruck erwartet.
Richtig wäre also:
| Code: | | Ergebnis := Tag*Monat |
Zu deiner zweiten Frage, fällt mir im Moment nichts ein. Eventuell hilft du Zuweisung an eine Variable. Evtl. konvertiert Autohotkey dabei automatisch zu einer Zahl.
Var = %StringVariable% ; In dieser Variablen ist dein "08" String gespeichert.
________________________
Gruß
AGU |
|
| Nach oben |
|
 |
BoBo Gast
|
Verfasst am: Fr Dez 01, 2006 8:43 pm Titel: |
|
|
| Code: | FormatTime, Monat,, M
FormatTime, Tag,, d
Ergebnis := Monat*Tag
|
|
|
| Nach oben |
|
 |
BoBo Gast
|
Verfasst am: Fr Dez 01, 2006 8:48 pm Titel: |
|
|
| Zitat: | | Wie kann ich aus diesen Strings Zahlen machen, also 8 und 3, damit ich damit rechnen kann? | Vorangestellte Nullen sollten beim Berechnen eigentlich untern Tisch fallen (?). |
|
| Nach oben |
|
 |
denick
Anmeldedatum: 15.09.2006 Beiträge: 1240 Wohnort: Berlin
|
Verfasst am: Sa Dez 02, 2006 9:13 am Titel: |
|
|
| BoBo hat Folgendes geschrieben: | | Vorangestellte Nullen sollten beim Berechnen eigentlich untern Tisch fallen (?). |
So sollte es sein. Wenn ich das auch nicht so richtig mag, so sind doch alle Variablen in AHK "typfrei" und werden intern als "Strings" abgelegt. Wenn man dann damit rechnen will/muss, konvertiert AHK den String in eine Zahl, wenn der Inhalt es zulässt. Wenn eine der beteiligten Variablen sich nicht konvertieren lässt, wird als Ergebnis kommentarlos der Leerstring "" geliefert. Wie gesagt, kann man mögen, muss man aber nicht.
| Code: | _2A := "0000000000002"
_2B := " 2"
_2C := "000000000002C"
_Ergebnis := SubStr(A_Now, 5, 2) * SubStr(A_Now, 7,2)
MsgBox, %_Ergebnis%
_Ergebnis := SubStr(A_Now, 5, 2) * SubStr(A_Now, 7,2) * _2A
MsgBox, %_Ergebnis%
_Ergebnis := SubStr(A_Now, 5, 2) * SubStr(A_Now, 7,2) * _2B
MsgBox, %_Ergebnis%
_Ergebnis := SubStr(A_Now, 5, 2) * SubStr(A_Now, 7,2) * _2C
MsgBox, %_Ergebnis%
|
_________________ Hilfe zur Hilfe
(de)nick |
|
| Nach oben |
|
 |
BoBo Gast
|
Verfasst am: Sa Dez 02, 2006 9:26 am Titel: |
|
|
Danke für das Beispiel. Gerade die Verwendung von SubStr() war mir nicht geläufig (gibts auch glaube ich erst ab der aktuellen AHK Version).  |
|
| Nach oben |
|
 |
Gast
|
Verfasst am: Sa Dez 02, 2006 6:21 pm Titel: |
|
|
| AGU hat Folgendes geschrieben: |
Auf die schnelle kann ich nur sagen, das deine zweite Zeile falsch ist. Wenn du den := Operator verwendest, darfst du die Variablen nicht mit Prozentzeichen umschließen, da der Operator schon einen Ausdruck erwartet.
Richtig wäre also:
| Code: | | Ergebnis := Tag*Monat |
________________________
Gruß
AGU |
Danke, das war der entscheidende Hinweis,auch wenn ich es noch nicht verstanden habe. Trotzdem bin ich erstmal dankbar.
Gruß, Joska |
|
| Nach oben |
|
 |
Joska Gast
|
Verfasst am: Sa Dez 02, 2006 6:26 pm Titel: String in Zahl umwandeln, wie? |
|
|
| BoBo hat Folgendes geschrieben: | | Vorangestellte Nullen sollten beim Berechnen eigentlich untern Tisch fallen (?). |
Hallo
tja, mein Denkfehler; ich hatte die Zuweisung nicht verstanden,deshalb wurde aus der Berechnung Var = %String1%*%String2" nur ein "".Mit AGUs Tipp läufts jetzt.
Gruß, Joska |
|
| Nach oben |
|
 |
|
|
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
|