1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. BugFix

Beiträge von BugFix

  • Was steckt da hinter ?

    • BugFix
    • 12. Januar 2009 um 23:55
    Zitat von L3viathan2142

    Wo gibts denn nen String2QR-Converter?
    Der Javacode kann ja nur erkennen...


    Na das ist doch mal eine Aufgabe. :D Einzelheiten zum QR-Standard findest du hier.

    Der Reader von Kaywa liest übrigens nicht nur QR- sondern auch Data-Matrix-Code (kennt ihr sicher von von der Post).

    http://qrcode.kaywa.com/img.php?s=5&d=MsgBox%280%2C%27Aufgabe%21%27%2C%27Progge%20mit%20AutoIt%20einen%20QR-Generator%27%29

  • Auf fremdes Listview zugreifen??

    • BugFix
    • 12. Januar 2009 um 20:50

    Mit den UDF für AutoIt-Ctrl wirst du da nicht weiterkommen.
    Probier es mal mit ControlCommand.

  • ListView oder Input

    • BugFix
    • 12. Januar 2009 um 12:07

    Da war doch mal was... :D ListView - Editieren aller SubItems

  • Wo liegt der Fehler, bitte um Hilfe

    • BugFix
    • 11. Januar 2009 um 22:23

    Einfach mal Variablen verwenden....?
    Nicht umsonst heißen diese auch Container. ;)

  • Windows 7 Beta 1 - Erste Eindrücke

    • BugFix
    • 11. Januar 2009 um 18:16

    Ich spreche nicht von optischem Schnickschnack sondern von Basisdingen, wie Datenstruktur, Datensicherheit, Datenkonsistenz. Mit NTFS wurde schon ein riesiger Schritt getan, was man ja auch anerkennen muß. Aber mir ist auch klar, dass es wenig Sinn macht, einen Vergleich führen zu wollen. Warten wir die Zukunft ab, wie sich die Systeme weiterhin etablieren.

  • Frage zu Include

    • BugFix
    • 11. Januar 2009 um 17:41

    Klar geht das, macht aber wenig Sinn, weil du dann ALLE Funktionen einbindest und vllt. nur 20 brauchst. ;) Das erzeugt einen gewaltigen Overhead und deine Skripte werden statt 200 KB stolze 2MB oder mehr groß. :P

  • Windows 7 Beta 1 - Erste Eindrücke

    • BugFix
    • 11. Januar 2009 um 17:03

    Mein Kommentar:
    Wenn Windows gut werden soll, sollte versucht werden, dass damit wenigstens ansatzweise das möglich wird, was Linux perse kann. :D

  • Mehrer Variablen überprüfen und ein string in einer ini speichern

    • BugFix
    • 11. Januar 2009 um 10:50

    Du hast ja einmal einen INI-Eintrag allein für Slider und einmal fügst du den Slider Wert bei 'Command' an.
    Ich hab es jetzt mal so geändert, dass bei nicht markierter CB4 weder der Eintrag bei Slider noch bei Command erfolgt. Ist nur eine If-Abfrage, kannst du selber auch anpassen:

    Spoiler anzeigen
    [autoit]

    Func Speichern ()
    Local $read
    $string = ''
    $read = BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED)
    IniWrite($INI, "Box", "1", $read)
    If $read Then $string &= "/a on" & ';'
    $read = BitAND(GUICtrlRead($Checkbox2), $GUI_CHECKED)
    IniWrite($INI, "Box", "2", $read)
    If $read Then $string &= "/b on" & ';'
    $read = BitAND(GUICtrlRead($Checkbox3), $GUI_CHECKED)
    IniWrite($INI, "Box", "3", $read)
    If $read Then $string &= "/c on" & ';'
    $read = BitAND(GUICtrlRead($Checkbox4), $GUI_CHECKED)
    IniWrite($INI, "Box", "4", $read)
    If $read Then
    $string &= "/d on" & ' '
    $read = GUICtrlRead($Slider1)
    IniWrite($INI, "Slider", "1", $read)
    $string &= $read
    EndIf
    If StringRight($string, 1) = ';' Then $string = StringTrimRight($string, 1) & ' '
    IniWrite ($INI, "User", "Command", $string)
    $read = GUICtrlRead($Combo1)
    IniWrite($INI, "Combo", "1", $read)
    EndFunc

    [/autoit]
  • Mehrer Variablen überprüfen und ein string in einer ini speichern

    • BugFix
    • 11. Januar 2009 um 10:18

    Hi,
    ich habe es mal kpl. überarbeitet und den Code dadurch reduziert. Du hattest ja die Checkboxen doppelt ausgelesen und für jeden Wert eine Variable ausgegeben, das ist aber nicht nötig. Schau es dir mal an:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)

    [/autoit] [autoit][/autoit] [autoit]

    Global $1 , $2 = 1, $3 =50, $4 = 4, $5 = 50,$6 =1, $7 = 50, $string
    Global $INI = "c:\temp\Setup.ini"

    [/autoit] [autoit][/autoit] [autoit]

    $Form1 = GUICreate("Dies ist ein Beispiel", 281, 447, 193, 125)
    $Label1 = GUICtrlCreateLabel("Dies ist ein Beispiel", 80, 32, 141, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "Century Gothic")
    $Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 96, 64, 13, 13)
    $Label2 = GUICtrlCreateLabel("Test /a on", 128, 64, 54, 17)
    $Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 96, 96, 13, 13)
    $Label3 = GUICtrlCreateLabel("Test /b on", 128, 96, 54, 17)
    $Checkbox3 = GUICtrlCreateCheckbox("Checkbox3", 96, 128, 13, 13)
    $Label4 = GUICtrlCreateLabel("Test /c on", 128, 128, 54, 17)
    $Checkbox4 = GUICtrlCreateCheckbox("Checkbox4", 96, 160, 13, 13)
    $Label5 = GUICtrlCreateLabel("Test /d on", 128, 160, 54, 17)
    $Slider1 = GUICtrlCreateSlider(120, 184, 70, 37)
    $Combo1 = GUICtrlCreateCombo("Deaktiviert", 80, 232, 145, 25)
    GUICtrlSetData(-1, "Test e|Test f|Test g")
    $Button1 = GUICtrlCreateButton("Speichern", 104, 280, 75, 25, 0)
    GUICtrlSetOnEvent ($Button1 , "Speichern")
    GUISetOnEvent($GUI_EVENT_CLOSE, "_ende")

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func Speichern ()
    Local $read
    $string = ''
    $read = BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED)
    IniWrite($INI, "Box", "1", $read)
    If $read Then $string &= "/a on" & ';'
    $read = BitAND(GUICtrlRead($Checkbox2), $GUI_CHECKED)
    IniWrite($INI, "Box", "2", $read)
    If $read Then $string &= "/b on" & ';'
    $read = BitAND(GUICtrlRead($Checkbox3), $GUI_CHECKED)
    IniWrite($INI, "Box", "3", $read)
    If $read Then $string &= "/c on" & ';'
    $read = BitAND(GUICtrlRead($Checkbox4), $GUI_CHECKED)
    IniWrite($INI, "Box", "4", $read)
    If $read Then $string &= "/d on" & ' '
    If StringRight($string, 1) = ';' Then $string = StringTrimRight($string, 1) & ' '
    $read = GUICtrlRead($Slider1)
    IniWrite($INI, "Slider", "1", $read)
    $string &= $read
    IniWrite ($INI, "User", "Command", $string)
    $read = GUICtrlRead($Combo1)
    IniWrite($INI, "Combo", "1", $read)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _ende ()
    Exit
    EndFunc

    [/autoit]
  • Mehrer Variablen überprüfen und ein string in einer ini speichern

    • BugFix
    • 11. Januar 2009 um 09:57

    Na dann überspring doch die leeren Zellen:

    [autoit]

    For $i = 1 to UBound($alle) - 1
    If $alle[$i] = '' Then ContinueLoop
    $string = $string & $alle[$i] & ';'
    Next
    $string = StringTrimRight($string, 1)

    [/autoit]
  • µit - Dezember

    • BugFix
    • 11. Januar 2009 um 09:52

    Ich muß funkey zustimmen - ein Wettbewerb muß schon eine Herausforderung sein. Und das Umsetzen von Spielshows beinhaltet im Allgemeinen mehr Optik als Logik und ist somit wenig reizvoll (zumindest für mich).
    Also Alina, nicht traurig sein - aber das Thema war halt nicht der Brüller. Oder wie sagen die Briten so stilvoll: Shit happens! :D

  • Mehrer Variablen überprüfen und ein string in einer ini speichern

    • BugFix
    • 11. Januar 2009 um 09:39

    Hi,
    einfach in der Schleife, in der du das Array abarbeitest, das ';' anhängen und nach dem letzten Eintrag ein Zeichen abschneiden, da ja nun kein weiteres Element folgt:

    [autoit]

    For $i = 1 to UBound($alle) - 1
    $string = $string & $alle[$i] & ';'
    Next
    $string = StringTrimRight($string, 1)

    [/autoit]
  • Datei löschen funktioniert nicht

    • BugFix
    • 10. Januar 2009 um 20:56

    Richtig - FileOpen war das Problem.
    Hier mal als komprimierte Variante:

    Spoiler anzeigen
    [autoit]

    #include<GUIConstantsEx.au3>
    Opt("GUIOnEventMode", 1)
    $Form1 = GUICreate("Zahlenblock", 131, 171, 442, 396)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_ende')
    $Button1 = GUICtrlCreateButton("1", 8, 8, 33, 33, 0)
    GUICtrlSetOnEvent(-1, '_buttonClick')
    $Button2 = GUICtrlCreateButton("2", 48, 8, 33, 33, 0)
    GUICtrlSetOnEvent(-1, '_buttonClick')
    $Button3 = GUICtrlCreateButton("3", 88, 8, 33, 33, 0)
    GUICtrlSetOnEvent(-1, '_buttonClick')
    $Button4 = GUICtrlCreateButton("4", 8, 48, 33, 33, 0)
    GUICtrlSetOnEvent(-1, '_buttonClick')
    $Button5 = GUICtrlCreateButton("5", 48, 48, 33, 33, 0)
    GUICtrlSetOnEvent(-1, '_buttonClick')
    $Button6 = GUICtrlCreateButton("6", 88, 48, 33, 33, 0)
    GUICtrlSetOnEvent(-1, '_buttonClick')
    $Button7 = GUICtrlCreateButton("7", 8, 88, 33, 33, 0)
    GUICtrlSetOnEvent(-1, '_buttonClick')
    $Button8 = GUICtrlCreateButton("8", 48, 88, 33, 33, 0)
    GUICtrlSetOnEvent(-1, '_buttonClick')
    $Button9 = GUICtrlCreateButton("9", 88, 88, 33, 33, 0)
    GUICtrlSetOnEvent(-1, '_buttonClick')
    $Button10 = GUICtrlCreateButton("0", 48, 128, 33, 33, 0)
    GUICtrlSetOnEvent(-1, '_buttonClick')
    $Button11 = GUICtrlCreateButton("C", 8, 128, 33, 33, 0)
    GUICtrlSetOnEvent(-1, '_dateileeren')
    $Button12 = GUICtrlCreateButton("OK", 88, 128, 33, 33, 0)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ _dateiloeschen()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _ende()
    _dateiloeschen()
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _buttonClick()
    Local $button = @GUI_CtrlId
    Local $fh = FileOpen("test.txt", 1)
    FileWrite($fh, ControlGetText($Form1, '', $button))
    FileClose($fh)
    MsgBox(0, "Test", FileRead("test.txt"))
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ; löscht die Textdatei
    Func _dateiloeschen()
    If FileExists("test.txt") Then
    If FileDelete("test.txt") Then MsgBox(0, 'Löschen', 'Datei gelöscht!')
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _dateileeren()
    Local $fh = FileOpen("test.txt", 2)
    FileWrite($fh, "")
    FileClose($fh)
    EndFunc

    [/autoit]
  • eine frage bezüglich Random

    • BugFix
    • 10. Januar 2009 um 17:34

    Also wenn du aus einem Pool an Fragen zufällig welche auswählen möchtest, ohne Wiederholungen, dann gibt es eine viel einfachere Methode: Du hast Fragen und Antworten in einem Array ([$i][0]=Frage, [$i][1]=Antwort). Du erstellst ein zweites Array, das nur die Indexzahlen des Frage/Antwort-Arrays enthält, den gezogenen Wert löscht du dann einfach aus dem Array.
    Hier mal ein Bsp.:

    Edit: Hab das Bsp. nochmal verändert, mit Frage-Antwort. Läuft solange, bis alle Fragen richtig beantwortet sind oder 'ENDE' als Antwort gegeben wird.

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    Global $aFragen[10][2] = [ _
    ['Frage1','Antwort1'], _
    ['Frage2','Antwort2'], _
    ['Frage3','Antwort3'], _
    ['Frage4','Antwort4'], _
    ['Frage5','Antwort5'], _
    ['Frage6','Antwort6'], _
    ['Frage7','Antwort7'], _
    ['Frage8','Antwort8'], _
    ['Frage9','Antwort9'], _
    ['Frage10','Antwort10']]

    [/autoit] [autoit][/autoit] [autoit]

    Global $aIndex[10] = [0,1,2,3,4,5,6,7,8,9]

    [/autoit] [autoit][/autoit] [autoit]

    While IsArray($aIndex)
    Local $index = _GetRandom()
    Local $in = InputBox('Frage [Beenden mit: ENDE]', $aFragen[$aIndex[$index]][0])
    If $in = 'ENDE' Then ExitLoop
    If $in = $aFragen[$aIndex[$index]][1] Then
    If UBound($aIndex) = 1 Then
    MsgBox(0, 'Richtig', 'ENDE - Das wars')
    Else
    MsgBox(0, 'Richtig', 'Und weiter gehts')
    EndIf
    _ArrayDelete($aIndex, $index)
    Else
    MsgBox(0, 'Falsch', 'Und weiter gehts')
    EndIf
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _GetRandom()
    Return Random(0,UBound($aIndex)-1,1)
    EndFunc

    [/autoit]
  • Andere Sprache:D

    • BugFix
    • 8. Januar 2009 um 21:35

    Was für eine Ressource hast du denn eingebunden? Falls es ein Bitmap ist, dafür hatte ich schonmal ein Bsp. erstellt:

    Load Bitmap from DLL
    [autoit]

    #include <WinAPI.au3>
    #include <Constants.au3>
    #include <GUIConstantsEx.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $ressource = "shell32.dll"
    Global $resID = 131
    Global $hGUI, $hInstance, $hBMP

    [/autoit] [autoit][/autoit] [autoit]

    $hGUI = GUICreate('Test Bitmap from DLL', 500, 200)
    $hInstance = _WinAPI_LoadLibraryEx($ressource, $LOAD_LIBRARY_AS_DATAFILE)
    $hBMP = _WinAPI_LoadBitmap($hInstance, $resID)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    _ShowRessourceBMP($hGUI, $hBMP, 20, 20)
    _WinAPI_DeleteObject($hBMP)
    _WinAPI_FreeLibrary($hInstance)

    [/autoit] [autoit][/autoit] [autoit]

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    [/autoit] [autoit][/autoit] [autoit]

    Func _ShowRessourceBMP($hGUI, $hBMP, $X, $Y)
    _GDIPlus_Startup ()
    Local $hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBMP)
    Local $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, $X, $Y)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_ImageDispose($hBitmap)
    _GDIPlus_ShutDown()
    EndFunc

    [/autoit]
  • Kommunikation mit anderen Programmen

    • BugFix
    • 8. Januar 2009 um 21:15

    Hab mal kurz gegoogelt, um etwas über MapInfo zu erfahren. Wenn ich die Infos richtig verstanden habe, existiert in dem Programm eine Datenbank. Und ich habe auch zahlreiche Werbung einer Softwarefirma für ein Basicprogramm gefunden, dass zur Konzeption von Erweiterungen gedacht ist. Somit vermute ich mal, dass der Zugriff über COM nicht allzu schwierig sein sollte.
    Von Interesse wäre da natürlich die DB plus zugehörigem Treiber. Dann könnte man mal probieren, z.B. per Datenbankobjekt die gewünschten Daten abzufragen.
    Wobei das natürlich jetzt alles etwas frei interpretiert ist, da ich das Programm und seine Wirkungsweise überhaupt nicht kenne.

  • Arbeitzeit Erfassung

    • BugFix
    • 8. Januar 2009 um 20:57

    Sortierung mache ich i.A. per Spaltenklick:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    #include <GuiListView.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $gui = GUICreate('Test LV-Sort')
    $hListView = GUICtrlCreateListView('Spalte 1|Spalte 2', 10, 10, 300, 200)
    For $i = 1 To 15
    GUICtrlCreateListViewItem(Chr(Random(65,90)) & '|' & Chr(Random(65,90)), $hListView)
    Next
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    Global $B_DESCENDING[_GUICtrlListView_GetColumnCount($hListView)]

    [/autoit] [autoit][/autoit] [autoit]

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

    [/autoit] [autoit][/autoit] [autoit]

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
    $hWndListView = $hListView
    If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)

    [/autoit] [autoit][/autoit] [autoit]

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hWndListView
    Switch $iCode
    Case $LVN_COLUMNCLICK ; A column was clicked
    $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    _GUICtrlListView_SimpleSort($hWndListView, $B_DESCENDING, DllStructGetData($tInfo, "SubItem"))
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]
  • Button mag das bild nich :)

    • BugFix
    • 8. Januar 2009 um 20:27

    Ich denke mal, du solltest deinem Button den Style $BS_ICON verpassen.

  • frage zu Pixel Search

    • BugFix
    • 6. Januar 2009 um 17:32

    Diese Anwendung ist sowieso ein typischer Fall für eine fußgesteuerte Schleife. Denn es soll ja mindestens einmal durchlaufen werden:

    [autoit]

    Do
    Until PixelGetColor($x,$y) = "0xFF0000"

    [/autoit]
  • Code der nur "Progres" anzeigt

    • BugFix
    • 6. Januar 2009 um 17:03

    Versuche mal dich sauber zu artikulieren - ich versteh kein Wort :D

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™