Beiträge von BugFix
-
-
Das ist nicht schwierig:
[autoit]$path = 'bom.txt' ; deine BOM-Datei
[/autoit][autoit][/autoit][autoit]
; Datei binär einlesen
$fh = FileOpen($path, 16)
$read = FileRead($fh)
FileClose($fh); Datei als bak speichern (alternativ löschen)
[/autoit][autoit][/autoit][autoit]
FileMove($path, $path & '.BAK'); BOM abschneiden
[/autoit][autoit][/autoit][autoit]
$read = '0x' & StringTrimLeft($read,
; Datei neu schreiben unter Originaldateinamen
[/autoit]
$fh = FileOpen($path, 17)
FileWrite($fh, $read)
FileClose($fh) -
Wir werden es ganz einfach so halten:
Ich bin definitiv zu dieser Zeit online und werde dann sehen, wer sich noch so einfindet. Ich werde dann einen Trainingsraum eröffnen und Einladungen verschicken. Ihr müßt mir dann nur eure in Carom registrierten Nicks mitteilen.
Ich habe verschiedene Identitäten mit unterschiedlichen Spielstärken. Ich werde sicher nicht mit meiner höchsten Spielstufe (Silberpokal Stufe 2) anrücken. Ich such mir den niedrigsten, ich glaube sogar noch mit Ring-Status, aus. Dann habt ihr wenigstens auch 'ne Chance.
-
Ein direkter Zugang ist mir nicht bekannt. Aber zumindest in die Netzwerkverbindungen kommst du direkt mit: Run('control.exe NCPA.CPL')
-
@retrokid: Na, der Einstand ging wohl gründlich in die Hose. :wacko:
Es gibt in einem Forum gewisse Gepflogenheiten, die nicht unbedingt dokumentiert sind, die aber eigentlich jeder weiß. Dazu gehört neben dem absoluten NoGo mit CapsLock zu schreiben auch die von dir verwendete, übergroße UND knallrote Schrift.
Zum Inhalt (oder besser: nicht gezeigten Inhalt) deines Skripts wurde durch meine Vorredner denke ich alles Wesentliche gesagt.
Also lerne daraus für die Zukunft, dies ist ein Skript-Forum und hier wollen wir auch Skripte sehen! -
Wie schon in diesem Thread (Zwei entfernte Computer vernetzen) angesprochen, könnten wir ja mal 'ne Runde Billard zocken. Wer es noch nicht kennt: Carom3D ist ein Freeware Online Game von NEOACT.
Spielarten sind u.a.:
8-Ball (die wohl bekannteste Poolvariante)
9-Ball (1 bis 9 liegen auf dem Tisch und müssen nacheinander gespielt werden. Wer als erstes die 9 versenkt gewinnt)
Rotation (1 bis 15 müssen nacheinander gespielt werden. Jeder Spieler bekommt den Wert einer versenkten Kugel gutgeschrieben)
Snooker u.v.m.Ich werfe mal als Termin den Samstagnachmittag /-abend in den Raum. Vielleicht so 16...17 Uhr? Wir könnten uns ja vor Beginn hier in der ShoutBox 'treffen'
und dann genau festlegen auf welchem Server wir uns treffen. Am Besten wird wohl erstmal der Trainingsserver sein.
Ihr könnt ja mal Eure Meinungen kundtun. -
Kannst mich ruhig kontaktieren
- ich bin ein recht produktiver Mensch. Und wenn nicht gerade zuviel los ist, versuche ich auch alle PN's zu beantworten.Du suchst sicher dieses: Eigene Console.
Ich bin z.Zt. gerade dabei eine komplexe Console.au3 zu erstellen. Bisher habe ich aber erst 10 der 65 Funktionen umgesetzt. Wenn das mal alles geschafft ist, wird man gar keine GUI mehr verwenden wollen.
(Zumindest all jene, die einen Hang zum Retro-Look haben.) -
Ihr habt sicher schon bemerkt:
Nach jeder neuen Installation von SciTE sind die deutschen Sprachdateien futsch und auch AutoCloseBrackets war einmal.
Ich habe diese Dateien in einem extra Ordner gesichert und führe nach einem SciTE-Update nur noch die nachfolgende Reinstallation aus:Spoiler anzeigen
[autoit]; hier den Ordner mit den Sicherungsdateien anpassen
[/autoit]
; Inhalt:
; locale.properties
; SciTEStartup.lua
; AutoCloseBraces.lua
Local $SourcePath = @MyDocumentsDir & '\4AutoIt_saved\' ; Ordner mit Sicherungsdaten
Local $SciTEPath = StringReplace(@AutoItExe, 'autoit3.exe', 'SciTE\')
Local $sOut = ''
If FileCopy($SourcePath & 'locale.properties', $SciTEPath & 'locale.properties', 1) Then
$sOut &= 'OK locale.properties' & @LF
Else
$sOut &= 'FEHLER locale.properties' & @LF
EndIf
If FileCopy($SourcePath & 'SciTEStartup.lua', $SciTEPath & '\LUA\SciTEStartup.lua', 1) Then
$sOut &= 'OK SciTEStartup.lua' & @LF
Else
$sOut &= 'FEHLER SciTEStartup.lua' & @LF
EndIf
If FileCopy($SourcePath & 'AutoCloseBraces.lua', $SciTEPath & 'AutoCloseBraces.lua', 1) Then
$sOut &= 'OK AutoCloseBraces.lua' & @LF
Else
$sOut &= 'FEHLER AutoCloseBraces.lua' & @LF
EndIf
MsgBox(0, 'Fertig', $sOut)
Vielleicht habt ihr ja Verwendung dafür.Zitat von MagnusWenn man dann am Ende weiter schreiben will, muss man extra noch Ende drücken!
Kann man das irgendwie ändern?Gerade bei den eckigen Klammern ist es sinnvoll den Cursor dazwischen zu haben. Die kannst du nämlich in keinem Fall ohne Inhalt lassen. Anders bei den runden Klammern, z.B. beim Erstellen einer Funktion. Aber das ist im Vergleich zu der Ersparnis in den übrigen Fällen akzeptabel. Man kann eben nie alles haben.
(Woher auch soll die Funktion wissen, ob du jetzt grad in der Klammer weiterschreiben möchtest oder nicht...) 
-
Ich benötige allerdings die Codierung UTF8 ohne BOM
Na dann lösch doch die Sequenz raus (EF BB BF). Oder weißt du jetzt nicht, wie du das in AutoIt machen kannst? -
Ich meine folgendes ich habe >=1 Elemente markiert und rücke nun den Löschen oder Import Button
dann verliert die die Markierung.
Wenn du mit meiner ListviewFormat UDF arbeitest, mußt du auch zum Löschen von Items die von mir bereitgestellten Funktionen nutzen. Nicht umsonst habe ich diese Funktionen erstellt
Nutzt du die normalen ListView-UDF Funktionen, erfolgt keine Änderung der Format-Daten im zugehörigen Array (ist im Include). -
So kann man das schwer beurteilen, da die Steuerzeichen nicht sichtbar sind.
Schau dir alles in einem Hex-Editor an, da findest du evtl. eher Zusammenhänge (z.B. Headermarkierung 0x01, Gruppierung mit 0x02 - 0x03 usw.). -
Wie erreiche ich das beim Buttonklick die Markierung erhalten bleibt, neu setzen?
Verstehe ich grad nicht. Meinst du die Farbmarkierung? Die ändert sich doch nicht. Oder meinst du die Selektionsmarkierung - die muß ja verschwinden, falls du in das Listview klickst ohne STRG oder SHIFT zu drücken.
Wäre vielleicht ganz sinnvoll, wenn du sagst, was du im weiteren vorhast (mit der farblich markierten und/oder Maus-selektierten Auswahl. -
Das könntest du so lösen: (Bitte zum Erstellen, Löschen, Einfügen von Item unbedingt meine Funktionen nutzen.)
Spoiler anzeigen
[autoit]#include <GuiListView.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <LV_Format_include.au3>$GUI = GUICreate('')
[/autoit] [autoit][/autoit] [autoit]
$lv = GUICtrlCreateListView('DSN|DB Server|DB|Collation', 10, 10, 300, 150)
$hLV = GUICtrlGetHandle($lv)
For $i = 0 To 3
_GUICtrlListView_SetColumnWidth($hLV, $i, 73)
Next; initialize Global vars
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_Formatting_Startup($GUI, $hLV); add new Items
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_AddOrIns_Item($hLV, '1aa|AAAAAAAA|AA|LATIN')
_GUICtrlListView_AddOrIns_Item($hLV, '2aa|AAAAAAAA|AA|LATIN')
_GUICtrlListView_AddOrIns_Item($hLV, '3aa|AAAAAAAA|AA|GERMAN')
_GUICtrlListView_AddOrIns_Item($hLV, '4aa|AAAAAAAA|AA|LATIN')
_GUICtrlListView_AddOrIns_Item($hLV, '5aa|AAAAAAAA|AA|DUTCH')
_GUICtrlListView_AddOrIns_Item($hLV, '6aa|AAAAAAAA|AA|LATIN'); set format
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To _GUICtrlListView_GetItemCount($hLV) -1
If _GUICtrlListView_GetItemText($hLV, $i, 3) <> 'LATIN' Then _
_GUICtrlListView_FormattingCell($hLV, $i, 3, 0xff0000, -1, -1, 600, 'Times New Roman')
NextGUISetState()
[/autoit] [autoit][/autoit] [autoit]Do
[/autoit]
Until GUIGetMsg() = -3
; clear ressources
_GUICtrlListView_Formatting_Shutdown()Edit:
Da du, wenn ich das richtig verstehe, nur eine Farbe benötigst und nicht speziell eine einzelne Zelle formatieren mußt, kannst du auch die einfache Methode zum Einfärben von Zeilen nutzen:Spoiler anzeigen
[autoit]#include <GuiListView.au3>
[/autoit] [autoit][/autoit] [autoit]
Global $aItemID[6]$GUI = GUICreate('')
[/autoit] [autoit][/autoit] [autoit]
$lv = GUICtrlCreateListView('DSN|DB Server|DB|Collation', 10, 10, 300, 150)
$hLV = GUICtrlGetHandle($lv)
For $i = 0 To 3
_GUICtrlListView_SetColumnWidth($hLV, $i, 73)
Next; add new Items
[/autoit] [autoit][/autoit] [autoit]
$aItemID[0] = GuiCtrlCreateListviewItem("1aa|AAAAAAAA|AA|LATIN", $lv)
$aItemID[1] = GuiCtrlCreateListviewItem("2aa|AAAAAAAA|AA|LATIN", $lv)
$aItemID[2] = GuiCtrlCreateListviewItem("3aa|AAAAAAAA|AA|GERMAN", $lv)
$aItemID[3] = GuiCtrlCreateListviewItem("4aa|AAAAAAAA|AA|LATIN", $lv)
$aItemID[4] = GuiCtrlCreateListviewItem("5aa|AAAAAAAA|AA|DUTCH", $lv)
$aItemID[5] = GuiCtrlCreateListviewItem("6aa|AAAAAAAA|AA|LATIN", $lv); set format
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To _GUICtrlListView_GetItemCount($hLV) -1
If _GUICtrlListView_GetItemText($hLV, $i, 3) <> 'LATIN' Then _
GUICtrlSetBkColor($aItemID[$i], 0xff0000)
NextGUISetState()
[/autoit] [autoit][/autoit] [autoit]Do
[/autoit]
Until GUIGetMsg() = -3 -
Poooh, da kriegt man ja Augenkrebs - also ich kann kein Wort lesen. Ändere das mal auf lesbare Farben, oder besser: schwarz.
-
Das Problem für fehlerhaften Virenalarm ist (und wird immer bleiben) UPX.
Da es ein häufig verwendeter Packer für Viren ist, schlagen einige Scanner schonmal rein vorbeugend Alarm, wenn UPX erkannt wird. -
Hallo.
Gibt es nicht viele Fehler wenn man einfach System Patition C: in X: ändert?
mfg
Wenn du es über die Registry machst, könntest du es vermutlich sogar schaffen, das Systemlaufwerk umzubenennen (nie getestet). Danach wäre aber dein System breit

Bei allen anderen Varianten ist es unmöglich die Systempartition umzubenennen, bricht mit Fehler ab. -
Das hat doch A. Percy (EN-Forum) bereits AutoIt-fähig gestaltet: http://www.autoitscript.com/forum/index.php?showtopic=70506&view=findpost&p=516602
-
wie kann man mit AutoIt transparente Icons erstellen?
Keine Ahnung, ob das mit AutoIt realisierbar ist.
Wenn du ein Icon hast, das nicht transparent ist, mußt du ja erst mal feststellen, welche Farbe du jetzt transparent setzen möchtest. Dann muß diese Farbe aus dem gesamten Icon rausgerechnet werden.
Ich verwende dafür immer GIMP. Da ist das 'ne Sache von einer Minute.
-
Hatte ich gar nicht drauf geachtet - du verwendest ',' als Dezimaltrenner. Das muß man beim Rechnen dann natürlich ändern. Ich korrigiere das gleich mal und editiere dann diesen Post hier.
Edit:
Ersetze bitte die Funktion _Rechnen() mit der nachfolgenden und ergänze um die Funktion _Switch().Spoiler anzeigen
[autoit]Func _Rechnen()
[/autoit] [autoit][/autoit] [autoit]
Switch GUICtrlRead($Combo1)
Case 4
$oTol = (_Switch(GUICtrlRead($aInput2[0]))*10 + _Switch(GUICtrlRead($aInput2[1])))*_Switch(GUICtrlRead($aInput2[3]))
Case Else
$oTol = (_Switch(GUICtrlRead($aInput2[0]))*100 + _Switch(GUICtrlRead($aInput2[1]))*10 + _Switch(GUICtrlRead($aInput2[2])))*_Switch(GUICtrlRead($aInput2[3]))
EndSwitch
$mTol = ($oTol +100)/GUICtrlRead($aInput2[4])
GUICtrlSetData($Input11, _Switch($oTol, 0))
GUICtrlSetData($Input12, _Switch($mTol, 0))
EndFuncFunc _Switch($str, $pt=1)
[/autoit]
If $pt Then
Return Number(StringReplace(String($str), ',', '.'))
Else
Return String(StringReplace(String($str), '.', ','))
EndIf
EndFunc -
Ich habe mal noch gekürzt, um zu zeigen, was du mit Arrays einsparen kannst.

In deine 'Rechnen'-Funktion mußt du noch eine Fehlerbehandlung einbauen bzw. die Ausgabe je nach Ergebnis in kOhm oder MOhm machen. Du bekommst sonst nicht anzeigbare Ergebnisse.Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
#include <GDIPlus.au3>
#include <EditConstants.au3>
#include <ComboConstants.au3>
#Include <Constants.au3>
Opt("TrayMenuMode",1)Global $arLabel[12][5] = [ _
[/autoit] [autoit][/autoit] [autoit]
['Braun','Schwarz','Schwarz','Silber','Keine'], _
['Rot','Braun','Braun','Gold','Silber'], _
['Orange','Rot','Rot','Schwarz','Gold'], _
['Gelb','Orange','Orange','Braun','Braun'], _
['Grün','Gelb','Gelb','Rot','Rot'], _
['Blau','Grün','Grün','Orange','Grün'], _
['Violett','Blau','Blau','Gelb','Blau'], _
['Grau','Violett','Violett','Grün','Violett'], _
['Weiß','Grau','Grau','Blau',''], _
['','Weiß','Weiß','Violett',''], _
['','','','Grau',''], _
['','','','Weiß','']]Global $arValue[12][5] = [ _
[/autoit] [autoit][/autoit] [autoit]
['1','0','0','0,01','20'], _
['2','1','1','0,1','10'], _
['3','2','2','1','5'], _
['4','3','3','10','1'], _
['5','4','4','100','2'], _
['6','5','5','1000','0,5'], _
['7','6','6','10000','0,25'], _
['8','7','7','100000','0,1'], _
['9','8','8','1000000',''], _
['','9','9','10000000',''], _
['','','','100000000',''], _
['','','','1000000000','']]Global $Button1, $Button2, $Combo1, $oTol, $mTol
[/autoit] [autoit][/autoit] [autoit]
Global $aInput[5][3], $aInput2[5];------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
TraySetIcon(@Scriptdir & "\Images\icon.ico")
TrayTip("Copyright (c) 2009","xxx",2,1)
;~ _intro()
;------------------------------------------------------------------------------------------------------------
$Form1 = GUICreate("Widerstandberechner", 700, 304, -1, -1,-1)
GUISetBkColor(0xAAE3FF)
$Ringanzahl = GUICtrlCreateLabel("Ringanzahl:", 446, 48, 89, 23)
GUICtrlSetFont(-1, 13, 400, 0, "Arial")
$Combo1 = GUICtrlCreateCombo("", 544, 45, 49, 5, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL,$WS_VSCROLL))
GUICtrlSetFont(-1, 10, 400, 0, "arial")
GUICtrlSetData(-1, " 4| 5", " 4")Local $x1 = 40, $x2 = 153, $limit = StringSplit('8;9;9;11;7', ';', 2)
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To 4
$aInput[$i][0] = GUICtrlCreateInput("", $x1, 120, 97, 21, $ES_READONLY) ; Input
$aInput[$i][1] = GUICtrlCreateInput("", $x2, 120, 1, 21) ; Blind-Input
$aInput[$i][2] = GUICtrlCreateUpdown($aInput[$i][1]) ; UpDown
GUICtrlSetLimit($aInput[$i][2], $limit[$i], 0)
GUICtrlSetData($aInput[$i][0], $arLabel[0][$i])
$x1 += 130
$x2 += 130
Next$Ziffer = GUICtrlCreateLabel("1. Ziffer", 53, 96, 61, 23)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetFont(-1, 13, 400, 0, "Arial")
$Label2 = GUICtrlCreateLabel("2. Ziffer", 183, 96, 61, 23)
GUICtrlSetFont(-1, 13, 400, 0, "Arial")
$Label3 = GUICtrlCreateLabel("3. Ziffer", 313, 96, 61, 23)
GUICtrlSetFont(-1, 13, 400, 0, "Arial")
$Label1 = GUICtrlCreateLabel("Toleranz", 573, 96, 66, 23)
GUICtrlSetFont(-1, 13, 400, 0, "Arial")
$Label4 = GUICtrlCreateLabel("Multiplikator", 443, 96, 89, 23)
GUICtrlSetFont(-1, 13, 400, 0, "Arial")
$Label5 = GUICtrlCreateLabel("Widerstandsberechner", 80, 24, 280, 36)
GUICtrlSetFont(-1, 20, 400, 0, "Arial")$x = 53
[/autoit] [autoit][/autoit] [autoit]
$sText = StringSplit('1;0;0;0,01;20', ';', 2)
$limit = StringSplit('12;9;9;11;7', ';', 2)
For $i = 0 To 4
$aInput2[$i] = GUICtrlCreateInput($sText[$i], $x, 168, 81, 21, BitOR($ES_READONLY,$ES_RIGHT))
GUICtrlSetLimit($aInput2[$i], $limit[$i], 0)
$x += 130
Next$Button1 = GUICtrlCreateButton("Schließen", 570, 265, 121, 30, 0)
[/autoit] [autoit][/autoit] [autoit]
$Button2 = GUICtrlCreateButton("Copyright", 8, 272, 89, 25, 0)
$Label6 = GUICtrlCreateLabel("Lösung ohne Toleranz:", 175, 217, 300, 25)
GUICtrlSetFont(-1, 13, 400, 0, "Arial")
$Input11 = GUICtrlCreateInput("", 350, 215, 150, 25, $ES_READONLY)
$Label7 = GUICtrlCreateLabel("Lösung mit Toleranz:", 175, 257, 300, 25)
GUICtrlSetFont(-1, 13, 400, 0, "Arial")
$Input12 = GUICtrlCreateInput("", 350, 255, 150, 25, $ES_READONLY)GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]
$aboutitem = TrayCreateItem("Credits")
TrayCreateItem("")
$exititem = TrayCreateItem("Exit")
TraySetState()While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $Button1, $GUI_EVENT_CLOSE
Exit
Case $Combo1
_Rechnen()
Case $Button2
;~ _credits()
EndSwitch
For $i = 0 To 4 ; UpDowns checken
If $nMsg = $aInput[$i][2] Then
GUICtrlSetData($aInput[$i][0], $arLabel[GUICtrlRead($aInput[$i][1])][$i])
GUICtrlSetData($aInput2[$i], $arValue[GUICtrlRead($aInput[$i][1])][$i])
_Rechnen()
EndIf
Next
$msg = TrayGetMsg()
Select
Case $msg = 0
ContinueLoop
Case $msg = $aboutitem
Msgbox(64, "Credits", "xxx")
Case $msg = $exititem
ExitLoop
EndSelect
WEnd;------------------------------------------------------------------------------------------------------------
[/autoit]
Func _intro ()
$intro = GUICreate("Spotlight", 465, 303, -1, -1)
GUICtrlCreatePic(@Scriptdir & "\Images\logo.jpg",-1,-1,465,303)
GUISetState(@SW_SHOW)
Sleep(2500)
GUIDelete()
EndFunc
;------------------------------------------------------------------------------------------------------------
Func _Rechnen()
Switch GUICtrlRead($Combo1)
Case 4
$oTol = (GUICtrlRead($aInput2[0])*10 + GUICtrlRead($aInput2[1]))*GUICtrlRead($aInput2[3])
Case Else
$oTol = (GUICtrlRead($aInput2[0])*100 + GUICtrlRead($aInput2[1])*10 + GUICtrlRead($aInput2[2]))*GUICtrlRead($aInput2[3])
EndSwitch
$mTol = ($oTol +100)/GUICtrlRead($aInput2[4])
GUICtrlSetData($Input11, $oTol)
GUICtrlSetData($Input12, $mTol)
EndFuncEvtl. sind noch paar Fehlerchen drin, hab jetzt nicht alles getestet, eher als Anregung gedacht.