Beiträge von BugFix
-
-
Tipp:
Verwende PDF-Creator.
Der hat auch ComandLine-Options und es wurde schon eine AutoIt-UDF dazu erstellt, einfach mal suchen. -
ich füg den code mit [ autoit] ein, und er machts in eine zeile
Dann sollte man vielleicht den Beitrag im Tab "Quellcode" erstellen?
-
Achso, du willst den Wert also nicht in den tatsächlichen Inhalt umsetzen, sondern nur paarweise Hexgruppen ausgeben.
Dazu die Funktion etwas umgebaut:Spoiler anzeigen
[autoit];===============================================================================
[/autoit]
; Function........._RegReadGrouped($KEY, $VALUE)
; Description......Liest einen Registryschlüssel (REG_BINARY) aus und gruppiert den Wert
; Parameter(s).....$KEY Registryschlüssel
; $VALUE Registrywert
; Return Value(s)..Erfolg: der Registrywert in der Form: "hex:01,00,D0,....."
; Fehler: 1 set @error:
; 1 Schlüssel kann nicht geöffnet werden
; 2 Hauptschlüssel kann nicht geöffnet werden
; 3 Fernzugriff auf die Registry nicht möglich
; 4 Key oder Value nicht übergeben
; -1 Wert kann nicht geöffnet werden
; -2 Typ des Wertes wird nicht unterstützt
; Author(s)........BugFix ([email='bugfix@autoit.de'][/email])
;===============================================================================
Func _RegReadGrouped($KEY, $VALUE)
If $KEY = '' Or $VALUE = '' Then Return SetError(4,0,1)
Local $reg = RegRead($KEY, $VALUE)
Local $err = @error
If $err Then Return SetError($err,0,1)
Local $sOut = 'hex:'
$reg = StringTrimLeft($reg, 2)
For $i = 1 To StringLen($reg) - 2 Step 2
$sOut &= StringMid($reg, $i, 2) & ','
Next
Return StringTrimRight($sOut, 1)
EndFunc ;==>_RegReadGroupedDen Umbruch kannst du dir selbst einbauen.
-
Du meinst das so:
[autoit]
[/autoit]
Global $value1[3][2] = [ _
['1a','2a','3a'], _
['1b','2b','3b'], _
['1c','2c','3c']] -
Was gibt den @error zurück?
-
und mir diese Zitate auf den Kopf wirfst find ich schon dreist.
Wäre nicht schlecht, wenn du lesen lernst! Was du dort als dir geltende Zitate interpretierst ist einfach nur die Signatur von Andy - das steht dort also IMMER!Vor Inbetriebnahme des Mundwerks (bzw. hier der Schreibgriffel) - Gehirn einschalten!
-
https://autoit.de/index.php?page…36642#post36642
Spoiler anzeigen
[autoit];===============================================================================
[/autoit]
; Function Name...._RegRead($KEY, $VALUE [, $Bin2Str=1])
; Description......Liest einen Registryschlüssel aus
; Schlüssel vom Typ REG_BINARY können wahlweise als
; ASCII-String zurückgegeben werden.
; Parameter(s).....$KEY Registryschlüssel
; $VALUE Registrywert
; $Bin2Str 0 = Value wird normal gelesen
; 1 = Binärwert wird in ASCII-String gewandelt (Standard)
; Return Value(s)..Erfolg: der Registrywert
; Fehler: 1 set @error:
; 1 Schlüssel kann nicht geöffnet werden
; 2 Hauptschlüssel kann nicht geöffnet werden
; 3 Fernzugriff auf die Registry nicht möglich
; 4 Key oder Value nicht übergeben
; -1 Wert kann nicht geöffnet werden
; -2 Typ des Wertes wird nicht unterstützt
; Author(s)........BugFix ([email='bugfix@autoit.de'][/email])
; AutoIt ver.......3.3.2.0
;===============================================================================
Func _RegReadBinary($KEY, $VALUE, $Bin2Str=1)
If $KEY = '' Or $VALUE = '' Then Return SetError(4,0,1)
If $Bin2Str <> 1 Then $Bin2Str = 0
Local $reg = RegRead($KEY, $VALUE)
Local $err = @error, $ext = @extended
If $err Then Return SetError($err,0,1)
If $ext <> 3 Or $Bin2Str = 0 Then Return $reg
Local $val = ''
$reg = StringTrimLeft($reg, 2)
For $i = 1 To StringLen($reg) - 2 Step 2
$tmp = BinaryToString('0x' & StringMid($reg, $i, 2))
If $tmp <> "" Then
$val = $val & $tmp
EndIf
Next
Return $val
EndFunc ;==>_RegReadBinary -
Und nebenbei ist sowohl AHK als auch AutoIt für GTA SA gelinde gesagt schwachsinnig. Mods dafür werden alle in LUA geschrieben, das Web bietet ausreichend Infos dazu.
-
Kann ich denn dann per filewrite $aresult dann in ne neue txt eintragen lassen?
Mal ein wenig die Hilfe lesen:Zitat von _FileReadToArrayRelated
_FileWriteFromArray -
Erfreulicherweise lassen sich auch animierte GIF als FavIcon nutzen.
Ich habe mal eine Kugeloberfläche erstellt, auf der nacheinander die Buchstaben A u t o I t erscheinen.
Und so schaut es live aus:
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. -
Das sieht mir alles nach OpenGL aus - solltest du dann auch dort suchen (http://www.opengl.org/). Ich habe testweise 2 deiner Angaben dort gesucht und bin auch sofort fündig geworden
-
Allen Usern, Power-Usern, Mods und Admins ein beschauliches, gesundes, ideenreiches Jahr 2013.
Möge uns auch weiterhin der Geist unseres Forums erhalten bleiben. [Blockierte Grafik: http://www.smilies-paradies.de/smileys/winkende/animierte-smilies-winkende-015.gif] -
Da Laufwerkbuchstabe C:\ immer Das System beinhaltet
Das mag in den meisten Fällen stimmen, aber es gibt inzwischen viele Menschen die mehrere Systeme auf einem PC parallel haben. In solch einer Umgebung kann dann das Systemlaufwerk durchaus auch D oder E sein.
-
Hier mal ein Bsp. mit den verschiedenen Sprachen als Sektionen einer INI:
Spoiler anzeigen
[autoit][/autoit] [autoit][/autoit] [autoit]#cs language.ini
[/autoit] [autoit][/autoit] [autoit]
[german]
$cLang=Sprache wählen
$cOpen=Öffnen
$cNext=Weiter
$cBack=Zurück
$cOpt=Optionen
$cSave=Speichern
$cLoad=Laden
$cQuit=Abbrechen[english]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$cLang=Select language
$cOpen=Open
$cNext=Next
$cBack=Back
$cOpt=Options
$cSave=Save
$cLoad=Load
$cQuit=Escape
#ce;~ Global $sINI = "Path_INI_Datei"
[/autoit] [autoit][/autoit] [autoit]
;~ Global $aLanguageNames = IniReadSectionNames($sINI) ; == liest die verfügbaren Sprachen aus; == zum TEST, Simulation IniReadSectionNames
[/autoit] [autoit][/autoit] [autoit]
Global $aLanguageNames[3] = [2,'german','english']
; ==Global $sCombo = '', $sDefault = $aLanguageNames[1]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $aLanguages[$aLanguageNames[0] +1] = [$aLanguageNames[0]]
For $i = 1 To $aLanguageNames[0]
;~ $aLanguages[$i] = IniReadSection($aLanguageNames[$i])
$sCombo &= $aLanguageNames[$i] & '|'
Next; == zum TEST, Simulation IniReadSection
[/autoit] [autoit][/autoit] [autoit]
Global $aTmp[9][2] = [[8],['$cLang','Sprache wählen'],['$cOpen','Öffnen'],['$cNext','Weiter'],['$cBack','Zurück'],['$cOpt','Optionen'],['$cSave','Speichern'],['$cLoad','Laden'],['$cQuit','Abbrechen']]
$aLanguages[1] = $aTmp
Global $aTmp[9][2] = [[8],['$cLang','Select language'],['$cOpen','Open'],['$cNext','Next'],['$cBack','Back'],['$cOpt','Options'],['$cSave','Save'],['$cLoad','Load'],['$cQuit','Escape']]
$aLanguages[2] = $aTmp
; ==; == Deklaration Ctrl-Variablen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $cLang, $cCombo, $cOpen, $cNext, $cBack, $cOpt, $cSave, $cLoad, $cQuitGUICreate('TEST')
[/autoit] [autoit][/autoit] [autoit]
$cLang = GUICtrlCreateLabel('Sprache wählen', 10, 13, 80, 17)
$cCombo = GUICtrlCreateCombo('', 95, 10, 80, 20)
GUICtrlSetData(-1, $sCombo, $sDefault)
$cOpen= GuiCtrlCreateButton('Öffnen', 10, 40, 80, 20)
$cNext= GuiCtrlCreateButton('Weiter', 100, 40, 80, 20)
$cBack= GuiCtrlCreateButton('Zurück', 190, 40, 80, 20)
$cOpt = GuiCtrlCreateButton('Optionen', 280, 40, 80, 20)
$cSave= GuiCtrlCreateButton('Speichern', 10, 70, 80, 20)
$cLoad= GuiCtrlCreateButton('Laden', 100, 70, 80, 20)
$cQuit= GuiCtrlCreateButton('Abbrechen', 190, 70, 80, 20)GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Switch GUIGetMsg()
Case -3
Exit
Case $cCombo
_setLanguage(GUICtrlRead($cCombo))
EndSwitch
WEndFunc _setLanguage($_sLang='german')
[/autoit]
Local $iLang = -1
For $i = 1 To $aLanguageNames[0]
If $aLanguageNames[$i] = $_sLang Then
$iLang = $i
ExitLoop
EndIf
Next
If $iLang = -1 Then $iLang = 1
Local $aLang = $aLanguages[$iLang]
For $i = 1 To $aLang[0][0]
GUICtrlSetData(Execute($aLang[$i][0]), $aLang[$i][1])
Next
EndFunc -
Mit dem Firefox AddOn Scriptish kann man sich Websiten umgestalten.
Hier mal ein kleines Skript, wie man einer Webseite (in diesem Fall AutoIt) ein anderes FavIcon (Icon das im Tab gezeigt wird) zuordnet. Wichtig: Das Icon muss sich online befinden, Verweise auf "file:///..." lassen sich nicht realisieren.Spoiler anzeigen
PHP
Alles anzeigen// ==UserScript== // @id autoitdechangefavicon@bugfix // @name AutoIt: Change Favicon // @version 1.0 // @namespace BugFix // @author BugFix // @description Replaces AutoIt's favicon with an user selected favicon. // @include http://autoit.de/* // @include http://www.autoit.de/* // @include http://translation.autoit.de/* // @run-at document-end // ==/UserScript== function chgFavIcon (iconREF) { var link = document.createElement("link"); link.type = "image/x-icon"; link.rel = "shortcut icon"; link.href = iconREF; var head = document.getElementsByTagName("head")[0]; head.appendChild(link); } // var iconpath = "http://www.bug-fix.info/FavAutoit.ico"; var iconpath = "http://www.bug-fix.info/favnew.ico"; chgFavIcon(iconpath);Edit:
Hier findet ihr noch ein paar schöne Icon: favnew2, favnew3, favnew4, favnew5, favnew6 -
[OT]
Manche hier bleiben auf AutoIT sitzen - und ich finde es persönlich super. das auch mal endlich wieder in andere Sprachen geportet wird -
Also mit solcher Bemerkung in einem AutoIt-Forum wirst du dir nicht gerade Freunde machen.
Dein Kommentar impliziert, dass jemand, der sich nur mit AutoIt beschäftigt in seiner Entwicklung stehenbleibt. Wenn du das tatsächlich glaubst, muss ich dir sagen, dass du in deiner Entwicklung stehen geblieben bist.
AutoIt ist inzwischen herangereift zu einer komplexen Sprache mit einer enormen Funktionsvielfalt, die sich nicht zu verstecken braucht. Ist es ein Zeichen von "Weiterentwicklung", wenn ich eine GUI mit ca. 15 Codezeilen oder in AutoIt mit einer erstelle?
Man sollte hier immer ein Augenmerk auf das Ziel seiner Projekte haben. Bietet AutoIt dafür ausreichend Performance dann spricht doch nichts dagegen, die angenehme Syntax von AutoIt zu nutzen.
Ich bin über Basic, Turbo-Pascal, Fortran, Cobol, VBA, VB zu AutoIt gelangt und hier geblieben (seit nunmehr fast 7 Jahren). Auch wenn ich hin und wieder "fremdgehe" mit LUA und Python gehört mein Herz doch AutoIt. Und bisher habe ich kein Projekt gefunden, dass ich nicht mit AutoIt umsetzen konnte. Für meine Firma habe ich etliche Tools erstellt, die seit Jahren problemlos laufen.
Soweit mein bescheidener Beitrag dazu.
[/OT] -
-
Imho ist es wohl mit nativen AutoIt-Mitteln nicht möglich diese Ecke darzustellen. Aber ein transparentes Child mit einem entsprechenden Picture ließe sich dafür mißbrauchen.

-
So wie ich es verstanden habe, definiert man die Funktion also nur, FALLS die Bedingung wahr ist?! Geilo *_* Das kann mal echt zur Laufzeit beitragen
[autoit]
Definiert wird die Funktion immer. Der Bool-Parameter switcht nur, welche Teile der Funktion zur Anwendung kommen. Und das ermöglicht es halt, die Funktion in sich selbst mehrfach aufzurufen um einen separaten Codeteil abzuarbeiten.
Man kann das auch erweitern und mehrere SubCodeteile integrieren. Wichtig ist, dass man die Parameterzahl darauf zuschneidet. Hier mal ein mgl. Szenario:MsgBox(0, 'Func-In-Func', _FuncInFunc(2, 3))
[/autoit][autoit][/autoit][autoit]Func _FuncInFunc($_p1, $_p2, $_fSub=False, $_p4=0, $_p5=0) ; == die Standard-Func benötigt nur 2 Param + Bool für Sub, die anderen Parameter werden für Sub-Aufrufe vorgehalten
[/autoit]
Local $iReturn
If $_fSub Then
; == hier die Funktion innerhalb der Funktion definieren, nur wirksam, wenn mit Parameter $_fSub=True aufgerufen
; == $_p4 wird jetzt genutzt um unterschiedliche Sub-Routinen auszuführen, $_p5 als zus. Parameter
Switch $_p4
Case 0
$iReturn = $_p1^$_p2
Case 1
$iReturn = ($_p1^$_p2) * $_p5
Case 2
$iReturn = ($_p1^$_p2) / $_p5
EndSwitch
Else
; == hier die Standard-Funktion, die die Sub-Funktion-0 aufruft
$iReturn = ($_p1 + $_p2) * _FuncInFunc($_p1, $_p2, True) ; == (2+3) * 2^3 = 40
;..
; == Aufruf der Sub-Funktion-1
$iReturn += _FuncInFunc(9, 2, True, 1, 10) ; == 40 + ( 9^2 *10 ) = 850
;..
; == Aufruf der Sub-Funktion-2
$iReturn += _FuncInFunc(5, 2, True, 2, 5) ; == 850 + ( 5^2 /5 ) = 855
;..
; == und nun nochmal die Sub-Funktion-0
$iReturn += _FuncInFunc(5, 2, True) ; == 855 + 5^2 = 880
EndIf
Return $iReturn
EndFunc -