Hi Dietmar ,
Die Seite ist nur intern verfügbar richtig? Also keine Chance deine richtige URL zu nutzen? Das wäre hilfreich.
Diese Frage steht noch aus.
Viele Grüße
Sven
Hi Dietmar ,
Die Seite ist nur intern verfügbar richtig? Also keine Chance deine richtige URL zu nutzen? Das wäre hilfreich.
Diese Frage steht noch aus.
Viele Grüße
Sven
Hi Lambdax ,
auch von mir ein herzliches Willkommen 👋 .
Viel Erfolg bei deinen ambitionierten Vorhaben 👍 .
Viele Grüße
Sven
Hi,
Soviel ist mit der URL von mir zu sehen.
Wir sprachen doch von InetRead, nicht InetGet!
;~ Global $sUrl = "http://badge.*****/666"
Global $sUrl = "http://www.badge.*****/666"
Global $sText = InetRead($url)
ConsoleWrite($sText & @CRLF)
Hast du beide Varianten (mit und ohne www.) versucht?
Viele Grüße
Sven
Hi Dietmar ,
ich würde dir gern die Nutzung von au3WebDriver empfehlen, bin mir aber unsicher (wenn der Status "Achtung Anfänger!" in deiner Signatur so stimmt), ob dies nicht zu komplex sein könnte.
Die Seite ist nur intern verfügbar richtig? Also keine Chance deine richtige URL zu nutzen? Das wäre hilfreich.
Viele Grüße
Sven
Hi,
bekommst du denn überhaupt erstmal deinen Quellcode für deine URL "http://www.badge.*****/666" zurück?
Wenn ja, dann holen wir den Text des HTML-tags <text> zur Not auch ohne die _HTML.au3 UDF.
Viele Grüße
Sven
Hi Dietmar ,
bitte https://www. noch dazuschreiben, bei deinem lego.de Beispiel und schon bekommst du den Quellcode zurück 😉 .
Viele Grüße
Sven
Hi nochmal,
#include-once
#include "_HTML.au3"
Global $sUrl = "http://badge.*****/666"
Global $sHtmlSource = _HTML_GetSource($sUrl)
ConsoleWrite($sHtmlSource & @CRLF)
Global $sText = _HTML_GetText($sHtmlSource, "text")
MsgBox(0, "", $sText)
Exit
Alles anzeigen
Setze doch mal bitte, wie im Quellcode hier, den HTML-Tag Parameter auf "text". Schließlich ist das dein Status wenn ich dich richtig verstehe 😀 .
Geht es damit?
Viele Grüße
Sven
Hi Dietmar ,
hast du es mal mit einer anderen Seite auf der ein SVG eingebunden ist versucht?
Ansonsten InetRead() und dann mit RegEx dein <text> ... </text> bzw. Status heraussuchen. Reicht das nicht schon?
Viele Grüße
Sven
Hi BugFix ,
Wenn wirklich mal ein bemerkenswertes Posting erscheint. kann man natürlich mit einem begeisterten Antwortpost reagieren.
Ja genauso habe ich es in #18 gemacht, aus Ermangelung einer Alternative 😁 .
Danke dir auch für die Info bzgl. euren Erfahrungen mit solchen Voting Geschichten. Ja die Gefahr besteht natürlich.
Dennoch mag ich persönlich die Option eine Markierung für eine korrekte Lösung setzen zu können (ähnlich wie bei stackoverflow), aber das ist jammern auf hohen Niveau 😅 .
Viele Grüße
Sven
Hi @Musashi ,
Wir waren wohl alle noch zu sehr vor Ehrfurcht erstarrt [...]
warum gibt's hier im Forum keine Vote-Icons oder ähnliches, denn dan bekämst du jetzt eines von mir 👍 🤣 .
Viele Grüße
Sven
Hi Leute,
BananaJoe und Lambdax auch eure Lösungsvorschläge liefern das korrekte Ergebnis 👍 . Danke für die weiteren Varianten und an sich für's Mitmachen.
Da die Aufgabenstellung war "von 1 bis 100" kann meine Version auch nur eine begrenzte Anzahl machen (nur bis 3-stellig, also max. 999)
Ich finde es gut, dass du die Problemstellung zunächst so angegangen bist, wie die Aufgabe es verlangte 😀 , auch wenn ein Umbau nötig ist um mit den anderen Versionen mitzuhalten - dennoch sehr "Agile", nice 👍 .
Nun zu dir Andy :
Die Idee mit dem "kleinen" Array habe ich mir bei einem eigenen Script, dem erweiterten Primzahlensieb (auch ein µ-It gewesen) abgeschaut, mit LUT geht vieles viel schneller und trotz meines biblischen Alters und fortschreitendem Gehirnschwund fallen mir doch noch so manche Tricks ein [...]
Was soll man dazu sagen? Einfach Danke, konnte herzhaft darüber lachen 😂 👍 .
Jedenfalls hats Spass gemacht! Danke auch dafür an SOLVE-SMART!
Ich habe das zum Anlass genommen, wieder mehr mit AutoIt zu machen [...]
Bitteschön, das freut mich ehrlich ganz besonders!
Viele Grüße
Sven
Hi Yjuq ,
Falls du daran denkst ggf. bereits gefundene Zahlen zwischenzuspeichern um den Rechenaufwand zu minimieren -> Das klappt nicht. [...]
Okay, spannend das du bereits einige Tests gemacht hast 👍 . In erster Linie geht es um die Aufgabenstellung nicht um Performanz oder ähnliches - dennoch gut zu wissen, Danke.
Viele Grüße
Sven
Hi Yjuq ,
auch dein Lösungsvorschlag liefert das korrekte Ergebnis 👍 .
Danke für's Mitmachen.
Viele Grüße
Sven
Hi zusammen,
Xorianator ja das ist eine ganze Weile her 😅 , bei mir länger als bei dir wenn deine Geburtsangabe stimmt. Jedoch wurde damals auf "agile" oder "clean code" nur wenig eingegangen.
Egal [...], ich denke du kommst sicherlich noch mit deinem Lösungsvorschlag "um die Ecke" oder 🤞 ?
UEZ Korrekt 👍 , kurz und äh, kurz 😂 .
chesstiger Korrekt 👍 , ebenfalls kurz und doch ein wenig anders.
Hier mal mein Lösungsansatz:
Den Preis für Code-Effizienz verdient dieser sicherlich nicht 😔 , aber vielleicht Punkte ich in Sachen Lesbarkeit/Verständlichkeit?
Func _isHappyNumbers($iNumber)
Local $iIterationsToCheck = 15
For $i = 1 To $iIterationsToCheck Step 1
Local $iResult = _getSumOfDigitsSquares($iNumber)
If $iResult == 1 Then
Return True
EndIf
$iNumber = $iResult
Next
Return False
EndFunc
Func _getSumOfDigitsSquares($iNumber)
Local $iDigitsCount = StringLen($iNumber)
Local $iSum
For $j = 1 To $iDigitsCount Step 1
$iSum += _getSquare($iNumber, $j)
Next
Return $iSum
EndFunc
Func _getSquare($iNumber, $iStart)
Return StringMid($iNumber, $iStart, 1) ^ 2
EndFunc
For $i = 1 To 100 Step 1
If _isHappyNumbers($i) Then
ConsoleWrite($i & ' -> 1 :)' & @CRLF)
EndIf
Next
Alles anzeigen
Viele Grüße
Sven
Hi Leute,
hier mal was für zwischendurch, die "Happy Numbers" Code Kata.
💡 Ziel: Ist es einen Algorithmus, bestehend aus einer oder mehreren Funktionen zu schreiben, womit erkannt wird ob eine gegebene Zahl "happy" ist oder nicht 😁 .
🥈 Teil 1: Entwickle die Funktion(en) und lass dir 19 -> 1 :) mit ConsoleWrite() bspw. ausgeben.
🥇 Teil 2: Lass dir alle "happy numbers" im Bereich von 1 bis 100 ausgeben (analog wie bei Teil 1).
⚡ Rahmenbedingungen:
Ich bin gespannt auf eure Lösungen und wünsche happy coding 👍 .
Viele Grüße
Sven
Hi MojoeB ,
freut mich, ich drück die Daumen das du gut mit deinem Projekt vorankommst.
Deine Skript sieht so schön Clean aus, ich werde es in mein Skript mit einbauen.
Made my day 👍 😊 , "Clean" => love it 😅 .
Auch wenn ich die "[...] eher 'klassische' Methode aus den 'guten alten Zeiten' [...]" ( Velted) und den "[...] 'rustikaler' Lösungsansatz [...]" (
@Musashi) zum Schießen witzig finde 😂 .
Ist positiv gemeint ihr beiden, kurz, old school und rustikal 👍 .
Viele Grüße
Sven
Hi MojoeB ,
für den Fall das deine XML-Datei konstant aufgebaut ist und du wirklich nur die XML-Knoten Werte von "aktenid" ersetzen willst und nicht die Kind-Knoten darunter ebenfalls neu sortieren willst/musst, ist die Sache recht einfach 😁 :
; includes ---------------------------------------------------------------------
#include-once
#include <Array.au3>
; opt --------------------------------------------------------------------------
Opt('MustDeclareVars', 1)
; declaration ------------------------------------------------------------------
Global $sXmlFilePath = 'neu.txt'
Global $sSearchPattern = '<aktenid Akte="\d+">'
; processing -------------------------------------------------------------------
Global $sFileContent = _getFileContent($sXmlFilePath)
Global $sDelimiter = @CRLF
Global $aFileContent = _fileContentToArray($sFileContent)
Global $aFileContentWithReplacedNumbers = _replaceNumberInArray($aFileContent)
Global $sNewFileContent = _reformatArrayToExpectedString($aFileContentWithReplacedNumbers)
_writeFile($sXmlFilePath, $sNewFileContent)
; functions --------------------------------------------------------------------
Func _getFileContent($sFile)
Local Const $iUtf8WithoutBomMode = 256
Local $hFile = FileOpen($sFile, $iUtf8WithoutBomMode)
Local $sFileContent = FileRead($hFile)
FileClose($hFile)
Return $sFileContent
EndFunc
Func _fileContentToArray($sContent)
Local Const $iEntireDelimiter = 1
Return StringSplit($sContent, $sDelimiter, $iEntireDelimiter)
EndFunc
Func _replaceNumberInArray($aList)
Local $iNumber = 0
Local $iCount = $aList[0]
For $i = 1 To $iCount Step 1
If StringRegExp($aList[$i], $sSearchPattern) Then
$aList[$i] = StringRegExpReplace($aList[$i], '(\d+)', $iNumber)
$iNumber += 1
EndIf
Next
Return $aList
EndFunc
Func _writeFile($sFile, $sText)
Local Const $iUtf8WithoutBomAndOverwriteCreationMode = 256 + 2 + 8
Local $hFile = FileOpen($sFile, $iUtf8WithoutBomAndOverwriteCreationMode)
FileWrite($hFile, $sText)
FileClose($hFile)
EndFunc
Func _reformatArrayToExpectedString($aList)
_ArrayDelete($aList, 0)
Return _ArrayToString($aList, $sDelimiter)
EndFunc
Alles anzeigen
Viele Grüße
Sven
Hi casi4712 ,
ach Chris, du wilst C:\C:\Program Files... löschen => 2x C:\, dass kann nicht funktionieren.
Kurze Variante:
Empfohlene Variante:
Global Const $DIR_REMOVE = 1
Global $sFolder = 'C:\Program Files\Test'
DirRemove($sFolder, $DIR_REMOVE)
By the way: Ich beziehe mich hier auf post #1 in dem steht "[...] Zum Löschen eines Verzeichnisses [...]"
Viele Grüße
Sven
Hi nochmal,
ist es nicht sinnvoll dieses Thema zu schließen 💡 , da die Ursprungsfrage zu "Buttons klickbar machen" bereits längst geklärt und gelöst ist?
Wenn casi4712 weitere/andere Fragen hat, dann ist das öffnen eines separaten Themas sicherlich besser.
Denn dann interessieren sich dort ggf. wieder mehr User für das separate Thema und müssen sich nicht den Diskussionsverlauf anschauen um festzustellen das der Kontext längst nicht mehr die Buttons betrifft.
Was halten die Moderatoren wie bspw. BugFix oder Oscar davon?
Viele Grüße
Sven
Hi BugFix ,
Danke für die klare und wichtige Erläuterung bzw. Empfehlung 👍 .
Meine präferierte Editorwahl kennst du ja 😁 , tut hier aber nichts zur Sache.
Viele Grüße
Sven