Nen Radio aus Brocken zusammenbauen, die man in der Hosentasche hat, bekomme ich aber auch heute noch hin
..und mit nem Apfel als Spannungsquelle. ![]()
Nen Radio aus Brocken zusammenbauen, die man in der Hosentasche hat, bekomme ich aber auch heute noch hin
..und mit nem Apfel als Spannungsquelle. ![]()
Ja, für diesen Einsatz wirds wohl auch ohne Strombegrenzung gehen. Aber zu meiner Zeit (boah, wie sich das anhört) waren Transistoren so saumäßig teuer, dass man Ströme immer begrenzt hat, damit das jute Zeuchs nicht abfackelt. ![]()
Das Lösungswort ist: Spannungsteilerschaltung. Die Gesamtspannung muss in den von dir gewollten Wert und dem Rest geteilt werden.
Soll die Ausgangsspannung variabel sein nimmt man ein Potentiometer, soll sie fix sein, wie bei dir, brauchst du dafür zwei Widerstände.
Da es sich um eine belastete Schaltung handelt, sollte der Strom aber im Steuerzweig des Transistors begrenzt werden.
Erklärungen und Formeln dazu dindest du hier.
$obj("func")("world 1")
Dies ist eine unzulässige Syntax, Dictionary(Key) muss erst ausgewertet werden, bevor der Parameter übergeben werden kann.
Man sollte sich überlegen, wie sinnvoll diese neuerdings ständig anzutreffenden Syntax Vergewaltigungen sind. Da geht dann leider sehr schnell der Überblick verloren.
Somit hast du dann den vollständigen Link.
Du brauchst das End-Tag-Zeichen nicht im Pattern. Über "<a" ist garantiert, dass ein Link-Tag abgefragt wird, Die class wird explizit genannt und das Ergebnis wird gecaptured. Somit ist alles, was nach dem Capture kommt nicht mehr erforderlich für den Match. ![]()
Das gibt die AutoIt-Syntax noch nicht her. Zum Verändern von Elementen eines Array-ImArray muss dieses leider zwangsläufig in ein Tmp-Array ausgelesen werden. Zumindest ist mir bis heute kein anderes Verfahren bekannt.
Ich würde folgendes Pattern nehmen:
[autoit]$pattern = '\<a\sclass="next_page".*href="([^"]+)'
[/autoit]und das RegEx mit Flag 3 ausführen.
Hier mal mein Beitrag als Fast-Mitglied der Grauen Panther ![]()
Ich beschäftige mich seit über 40 Jahren mit Computern/Programmierung. Das bedingt auch eine gewisse Technik Affinität ;). Allerdings kaufe ich mir niemals Technik, weil es "in" ist oder irgendein neues Modell herausgekommen ist. Für mich steht der Nutzen im Vordergrund.
Auch als es schon Smartphones gab, bin ich noch lange mit meinem Nokia 6330 unterwegs gewesen. Für mich ist wichtig (berufsbedingt): Telefonieren (logisch), Faxe empfangen, eMail-Verkehr, Office-System für die Datenverwaltung (Kunden/Gerätedaten).
Das ging im Wesentlichen schon mit dem Nokia, allerdings war gerade das Handling des Office doch recht frickelig. Auch die Darstellungsgröße war auf die Dauer etwas anstrengend. Das war letztlich auch für mich der Anlaß auf ein Smartphone umzusteigen (nebenbei war auch mein Bluetoothmodul im Nokia defekt).
Und es ist schon ein wesentlich angenehmeres Arbeiten damit.
Eines hat sich allerdings durchaus im Zusammenhang mit der Smartphone Nutzung verändert: Ich nutze viel intensiver als vorher die Möglichkeit Nachrichten aus dem Web zu beziehen über das Smartphone. Zeitung lese ich schon ewig nicht mehr. Seit Jahren habe ich auf allen PC entsprechende Newsreader laufen um mich gezielt mit den Nachrichten zu versorgen, die mich interessieren. Dasselbe läuft nun auch über das Smartphone. Und da ich ein "Nachrichtenjunkie" bin, ist das eine angenehme Lösung.
Nur eines mag ich nicht: Wenn man in Gesellschaft ist, dass dann alle nur ihr Smartphone in der Hand halten und irgendwo rumsurfen.
- Quellcode auslesen
- mit Regex matchen auf gesuchten Teil des Quellcodes und den Link dabei in ein Capture packen
Ist die Class nicht dabei, gibt es auch kein Ergebnis.
Ich habe ein Funktion die mir beim Aufruf drei Lokale Arrays mit Daten befüllt.
Da meinst du wohl eher Globale Arrays ![]()
Mit einem Übergabeparameter in die Funktion wähle ich aus welches dieser drei Arrays mit Return zurückgegeben wird.
Benötigen tue ich immer alle drei Array Inhalte, das heißt ich rufe aktuell die Funktion 3 mal hintereinander auf weil ich nicht weiß wie ich mit Return alle drei Arrays übergeben kann.
Wenn du sowieso alle 3 Array als Return brauchst, diese immer in der Funktion befüllt werden, würde ich diese, wie bereits vorgeschlagen auch nur als lokale statische Array in der Funktion führen. Mit einem Unterschied: Nicht 3 Array zurückgeben, sondern die Funktion so gestalten, dass sie einen Füllparameter bekommt und einen Returnparameter. Letztlich bleibt die Summe des Aufwandes aber gleich, da die zurückgegebenen Array wieder selektiert werden müssen oder halt 3 Aufrufe erfolgen um diese einzeln zu erhalten.
$arA = _MyArray(0, 1) ; füllt alle 3 Arrays und gibt das erste zurück
$arB = _MyArray(1) ; gibt das zweite Array zurück
$arC = _MyArray(2) ; gibt das dritte Array zurück
Func _MyArray($retNum, $fill=0)
Local Static $arData[3]
Local $arTmp
If $fill = 1 Then
For $i = 0 To 2
$arTmp = $arData[$i]
; Code zum Befüllen der Arrays
$arData[$i] = $arTmp
Next
EndIf
Return $arData[$retNum]
EndFunc
Aber wenn es hier um große Arrays geht, ist der Hinweis auf ByRef die optimale Lösung.
Hallo BugFix,
hat WSUS-Offline was gebracht?
Ich habe es bisher noch nicht getestet.
Ist der IE aktiviert
IE ist aktiv. Das Problem ist bekannt, dass MS-Updates mit anderen Browsern häifig nicht funktionieren. Somit umgeht M$ auf diese Weise doch die freie Browserwahl und man muss den Drecks-IE immer mitinstallieren und aktuell halten. ![]()
Inzwischen weiß ich wenigstens, in welchem Pfad Windows die heruntergeladenen Updatepakete speichert: "C:\Windows\SoftwareDistribution\Download"
Den kann man dann einfach umbenennen und Windows weiß dann nicht, dass Updatepakete vorliegen, somit wird dann auch nicht bei jedem Start versucht zu installieren. Der Ordner wird von Windows neu erstellt, wenn er nicht vorhanden ist.
Namensvorschlag: ovumX
Frei interpretierbar als: Das Ei des minx (ovum = Ei)
![]()
Oder einfach so: ![]()
(Die GroupEx.au3 gibt es hier)
#include <GroupEx.au3>
$hGui = GUICreate('Test')
$tCtrl = _GuiCtrlGroup_Create($hGui, 'System (19)', 10, 10, 200, 10, -1, 0x00008B)
_GuiCtrlGroup_Set($hGui, $tCtrl, 0x00008B, $_GROUPBORDER_TOPR)
GUISetState()
While 1
Switch GUIGetMsg()
Case -3
Exit
Case $tCtrl.Text, $tCtrl.TopR
ConsoleWrite('Klick' & @CRLF)
EndSwitch
WEnd
Das kann ich nicht nachvollziehen. Egal welche SciTE-Version ich auch verwende (SciTE, SciTE4AutoIt, SciTE4AutoItRU, SciTELua).
Hast du vielleicht HotKeys doppelt belegt?
Du solltest aber trotzdem die Updateliste im Auge behalten falls ein Sicherheitsupdate oder ähnliches rauskommt.
Nun ja - aber ganz sicher nicht per Windows Update - sonst fängt das wieder von vorne an.
WSUS-Offline
Werde ich mal testen.
So, neues von der Front:
Ich habe mir jetzt auf dem Laptop meines Chefs (Updateinstallation wird bei jedem Neustart und beim Herunterfahren wiederholt) mal den Updateverlauf angeschaut. Alle aktuellen Updates waren fehlgeschlagen (Fehler: 80071A91)
Das Web spuckt nicht allzuviel zu diesem Fehler aus. Am sinnvollsten erschien mir dieses hier.
Aber letztlich hatte auch ich das Problem, dass ich die Dateien nicht löschen konnte, da noch ein Prozeß darauf zugriff (trotz deaktiviertem Update-Prozeß und abgesichertem Modus).
Mein letzte Idee war dann: Windows im Systemreparatur-Modus starten, auf Konsole wechseln, in die Installation wechseln und dort die Schritte entsprechend wiederholen. Diesmal gabs keinen Fehler. Beim Booten versuchte der Rechner dann auch nicht Updates zu konfigurieren. Ich dachte: Heureka, ich habs! - Typischer Fall von "Denkste". Beim Herunterfahren fing das Drecksding schon wieder an mit Updatekonfiguration.
Nun habe ich als Notlösung die Dienste: "Windows Update" und "Windows Modules Installer" dauerhaft deaktiviert. Bis jetzt scheint das zu funzen. Der "Windows Modules Installer" ist augenscheinlich dafür verantwortlich die heruntergeladenen Updates zu installieren bzw. zu konfigurieren. Leider kann man nicht sagen: Nu is mal gut, auch nach dem 20.ten Konfgurieren schlägt das Update fehl. Und M$ hat solch eine Situation noch nie ins Auge gefasst. Es gibt keine Rollback-Möglichkeit für ein fehlgeschlagenes Update. Da es nicht installiert wurde, kann man es auch nicht deinstallieren. ![]()
Wir updaten über die Standard-Updatefunktion im Windows, also keinen extra Server zum Verteilen.
Aber ich bin nächste Woche wieder vor Ort, da kann ich bei meinem Chef mal schauen welche Updates zuletzt aufgespielt wurden und diese ggf. killen. Am Besten die Update-Funktion ganz deaktivieren und immer erst am Patchday des Folgemonats die Updates des letzten Monats aufspielen. In einem Monat wird dann sicher bekannt sein, ob und welche Probleme das letzt Update aufgeworfen hat. ![]()
Ich habe getestet:
- Aut2Exe_x64.exe umbenannt
- kompiliert mit: "Aut2Exe /in 'x.au3' /out 'x_64.exe' /x64"
-> funktioniert tadellos
Ich gehe einfach mal davon aus, dass die hinterlegten _x64-Dateien (Aut2Exe_x64.exe, AutoIt3_x64.exe, Au3Info_x64.exe) dann zum Einsatz kommen, wenn man festgelegt hat AutoIt als 64-Bit Anwendung zu nutzen. Dann ergibt das auch alles einen Sinn.
Dazu passt dann auch die Ergänzung in der Hilfe:
ZitatBy default, the 32-bit compiler produces a 32-bit binary and the 64-bit compiler produces a 64-bit binary. Use the /x86 and /x64 parameters to explicitly specify the output.
Also:
Aut2Exe ohne Architektur-Parameter => x86
Aut2Exe_x64 ohne Architektur-Parameter => x64
Kompiliert die Option wirklich als direkt als 64 bit?
Werde ich mal testen: Die Aut2Exe_x64.exe umbenennen und dann die Aut2Exe.exe mit dem /x64 - Parameter aufrufen. Wenn es fehlschlägt greift eine Exe auf die andere zu (was ich eigentlich für etwas unwahrscheinlich halte, da das ziemlich bekloppt wär - es müssten ja dann beide wechselseitig aufeinander zugreifen.)
Hmm, ich habe irgendwie in Erinnerung, dass in einem Post mal die Empfehlung kam mit der Aut2Exe_x64 zu kompilieren, damit die exe auch als 64Bit erkannt wird. Die genauen Zusammenhänge weiß ich nicht mehr.
Deshalb ja die Frage nach Unterschieden. Wozu gibt es die Aut2Exe_x64 wenn ich mit der Aut2Exe und Kompileroption /x64 zum selben Ergebnis komme? Das leuchtet mir nicht ein.