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. AltairKD

Beiträge von AltairKD

  • Problem mit Ini und Combobox

    • AltairKD
    • 24. Februar 2015 um 15:14

    Danke für die ganzen Antworten, die Funktion an sich funktioniert. Muss jetzt nur noch schauen wo ich diese aufrufe da es in der Main-Schleife nicht funktioniert, hängt sich auf sobald ich die Kunden-Combobox öffne um einen Kunden zu wählen.

    Er soll es ja am besten im Hintergrund immer wieder prüfen wie der Inhalt der Kunden-Combo ist damit ich nicht vorher noch irgendwo den Kunden bestätigen muss.

    EDIT: Habe es selber gefunden, habe die funktion direkt im Main immer wieder aufgerufen bis ich dann mal darauf gekommen bin das sie ja nur aufgerufen werden muss sobald die Combobox genutzt wird :)

    Für die jenigen die es noch nicht wussten, einfach ein

    [autoit]

    Case $DEINECOMBOBOX

    [/autoit]

    in die mainschleife setzten und dahinter die funktion aufrufen. Fertig ist ;)

    Danke an alle die mir bis dahin geholfen haben.

  • Problem mit Ini und Combobox

    • AltairKD
    • 24. Februar 2015 um 14:09

    War zwar auch ein Fehler aber es klappt weiterhin nicht, er springt sobald ich die Kunden_Combobox öffnen will um einen Kunden zu wählen zum Fehler der aufgeht und hängt dann in der dauerschleife...irgendwo habe ich da einen denkfehler drinnen.

  • Problem mit Ini und Combobox

    • AltairKD
    • 24. Februar 2015 um 11:35

    Nun mein nächstes Problem, es wird nicht autoamtisch Kundenbezogen die zweiten Daten geladen und eingefügt.

    Die Funktion:

    Spoiler anzeigen
    [autoit]

    Func _SetServer()
    $kunde = GUICtrlRead($cCombo)
    if $kunde = "" Then
    GUICtrlSetData($cCombo2 , "Kein Kunde ausgewählt")
    Else
    $var2 = IniReadSection(@ScriptDir & "\server.ini", $kunde)
    If @error Then
    MsgBox(4096, "", "Fehler, Es besteht ein Problem mit der INI Datei.")
    Else
    For $i = 1 To $var2[0][0]
    GUICtrlSetData($cCombo2, $var2[$i][1])
    Next
    EndIf
    EndIf
    EndFunc

    [/autoit]

    Aufgerufen wird die Function in der Main-Schleife vom Script.

  • Problem mit Ini und Combobox

    • AltairKD
    • 24. Februar 2015 um 10:55
    Zitat von alpines

    Heißt die Section wirklich "kunden".


    ....das ist mir jetzt peinlich...habs nun xD Danke :)

  • Problem mit Ini und Combobox

    • AltairKD
    • 24. Februar 2015 um 10:51

    Irgendwie verstehe ich das gerade nicht, wieso läuft er direkt in einen Fehler nur beim auslesen?

    [autoit]

    $var = IniReadSection(@ScriptDir & "\kunden.ini", "kunden")
    If @error Then
    MsgBox(4096, "", "Fehler, Keine INI Datei vorhanden.")
    Else
    For $i = 1 To $var[0][0]
    MsgBox(4096, "", "Key: " & $var[$i][0] & @CRLF & "Value: " & $var[$i][1])
    Next
    EndIf

    [/autoit]
  • Problem mit Ini und Combobox

    • AltairKD
    • 24. Februar 2015 um 10:37

    Das ist shcon mal gut zu wissen, danke.

    Hast du oder jemand vllt. einen kleinen Denkanstoss wie ich das am besten umsetzen kann?

    Die Daten aus der Ini lesen und in ein Array schreiben? (wäre so mein erster gedanke)

  • Problem mit Ini und Combobox

    • AltairKD
    • 24. Februar 2015 um 10:26

    Hallo zusammen,

    nach langen gebe ich mal wieder ein wenig an das Scripten und stehe schon vor einem Problem.

    Ich habe zwei Comboboxen, ich will das der Inhalt aus zwei verschiedenen oder wenn möglich aus einer, Ini-Datei in die Boxen eingetrage wird.

    Dies soll wie folgt geschehen:

    Kundedaten werden aus einer Ini in die Combobox1 übertragen. Je nach dem welchen Kunden ich dann dort wähle ändern sich dem entsprechend die Daten in der Combobox2.

    Ist dies überhaupt so realisierbar?

  • AutoRadio

    • AltairKD
    • 13. April 2012 um 09:19

    Neues Update wurde veröffentlicht ;)

    - Bugs behoben
    - sender können ohne bearbeiten der .ini hinzugefügt werden

  • Menü Updaten(Menü wird aus Datei erstellt)

    • AltairKD
    • 13. April 2012 um 07:50

    Hi,

    ich will das mein Menü was aus einer .ini erzeugt wird sich wärend des scripts updaten(falls man neue einträge in die .ini schreibt)
    Hier der Code wie ich gedacht habe das es klappen kann.

    [autoit]


    ;Menü Updaten
    For $i = 1 To $var[0][0]
    _GUICtrlMenu_DeleteMenu($Menu, $var[$i][0])
    Next
    ;##############Ab Hier klappt alles super###
    $var = IniReadSection(@ScriptDir & "\Data\sender.ini", "sender")
    If @error Then
    MsgBox(4096, @ScriptDir & "Data\sender.ini", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
    Else
    Dim $idMenuItem[$var[0][0]+1]
    $idMenuItem[0] = $var[0][0]
    For $i = 1 To $var[0][0]
    $idMenuItem[$i]=GUICtrlCreateMenuItem($var[$i][0], $Menu)
    Next
    EndIf

    [/autoit]

    Wäre Super wenn mir jemand einen denkanstos geben könnte =)

    Grüße
    AltairKD

    Edit: Lösung gefunden!! =)

    [autoit]

    For $i = 0 To UBound($idMenuItem) - 1
    GUICtrlDelete($idMenuItem[$i])
    Next

    [/autoit]
  • AutoRadio

    • AltairKD
    • 11. April 2012 um 07:28

    Danke danke :) Freut mich das es doch noch jemanden ausser natürlich mir selbst gefällt ;)

  • AutoRadio

    • AltairKD
    • 30. März 2012 um 14:09

    Neues Update im Eigengspost!! ;)

  • MenüItem auslesen

    • AltairKD
    • 30. März 2012 um 07:56

    Oscar : Deins habe ich irgendwie nicht richtig verstanden bzw. kam ich damit nicht ganz soo gut zurecht. Aber danke für die Hilfe

    autoBert: Auch dir danke, funktioniert alles super :)

  • MenüItem auslesen

    • AltairKD
    • 29. März 2012 um 15:15

    Hi,

    ich stehe grade vor einen Problem, ich habe ein Menü was druch ein Array erzeugt wird. Wie kann ich jetzt prüfen ob ein MenüItem angeklickt wurde und welches dieses ist??

    [autoit]

    #include <IE.au3>
    #include <Array.au3>

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

    ;HautpGUI
    $GUI = GUICreate("AutoRadio", 570, 450)
    $Menu = GUICtrlCreateMenu("Sender")
    $IE = _IECreateEmbedded()
    $browser = GUICtrlCreateObj ($IE, 0, 0, 569, 449)
    GUISetState(@SW_SHOW, $GUI)

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

    $var = IniReadSection(@ScriptDir & "\sender.ini", "sender")
    If @error Then
    MsgBox(4096, @ScriptDir & "sender.ini", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
    Else
    For $i = 1 To $var[0][0]
    GUICtrlCreateMenuItem($var[$i][0], $Menu)
    MsgBox(4096, "", "Schlüssel: " & $var[$i][0])
    Next
    EndIf

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

    While 1
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[0]
    Case -3
    If $nMsg[1] = $GUI Then
    Exit
    Else
    GUISetState(@SW_HIDE, $nMsg[1])
    EndIf
    EndSwitch
    WEnd

    [/autoit]
  • AutoRadio

    • AltairKD
    • 29. März 2012 um 14:05

    Mit der ini ist eine gute idee :) werde ich mal tuhen.

    edit: Die URL's werden schonmal aus der ini ausgelesen. Stehe grade nur etwas auf den Schlauch was das auslesen der Sender angeht, will ja das die Key's aus der ini ausgelesen werden und diese dann für den User zur auswahl stehen, so dass das eigentliche Script garnicht mehr angepackt werden muss.

  • AutoRadio

    • AltairKD
    • 29. März 2012 um 12:43

    Hallo zusammen,

    kennt Ihr das problem auf der Arbeit zu sein und es läuft keine Musik aber ein Radio ist auch nicht in sicht?? Dann sucht Ihr im Internet und immer muss irgend ein Fenster auf sein und Ihr müsst vielleicht von Seite zu Seite wechseln um verschiedene Sender zu hören...dann freut euch auf AutoRadio!!!!

    So, genug angepriesen ;)

    Im Prinzip hat es mich auf der Arbeit immer genervt das nur für Radio ein extra Browser Fenster auf ist, also habe ich mal eben den AutoRadio geschrieben. Diesen kann ich in den Tray legen und trotzdem noch radio hören und sogar die Sender wechseln =)

    Da der User ganz leicht selbst sender hinzufügen kann wird nur der sender 1live mitgeliefert.

    Code vom Letzten Update:(UPDATE 1.4.1)

    Spoiler anzeigen
    [autoit]


    #include <IE.au3>
    #include <Array.au3>
    #include <Data\Daten.au3>

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

    _createLogo()
    OnAutoItExitRegister("_DelBinaryTempFiles")

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

    ;~ HautpGUI
    $GUI = GUICreate("AutoRadio", 570, 500)
    $Menu = GUICtrlCreateMenu("Sender")
    $MenuE = GUICtrlCreateMenu("Einstellungen")
    $AddSender = GUICtrlCreateMenuItem("Sender hinzufügen", $MenuE)
    $mLaut = GUICtrlCreateMenuItem("Lautstärke", $MenuE)
    $MenuH = GUICtrlCreateMenu("?")
    $Exit = GUICtrlCreateMenuItem("Exit" , $MenuH)
    GUICtrlCreatePic(@TempDir & "\a3.jpg",0,0, 570, 94)
    $IE = _IECreateEmbedded()
    $browser = GUICtrlCreateObj($IE, 0, 95, 569, 449)
    GUISetState(@SW_SHOW, $GUI)

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

    Local $iOld = -1, $iVolume

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

    ;~ Lautstärke GUI
    $GUIl = GUICreate("Lautstärke", 220, 40)
    $slider1 = GUICtrlCreateSlider(10, 10, 200, 20)
    SoundSetWaveVolume(50) ; change min/max value
    GUICtrlSetData($slider1, 45) ; set cursor
    GUISetState(@SW_HIDE, $GUIl)

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

    ;~ Neue Sender hinzufügen GUI
    $GUI2 = GUICreate("Sender hinzufügen", 250, 90)
    GUICtrlCreateLabel("URL:", 10, 10)
    $senderIn = GUICtrlCreateInput("", 80, 5, 160)
    GUICtrlCreateLabel("Sendername:", 10, 40)
    $senderNIn = GUICtrlCreateInput("", 80, 35, 160)
    $Add = GUICtrlCreateButton("hinzufügen", 115, 60)
    $HideAdd = GUICtrlCreateButton("abbrechen", 185, 60)
    GUISetState(@SW_HIDE, $GUI2)

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

    ;~ Lesen der ini
    $var = IniReadSection(@ScriptDir & "\Data\sender.ini", "sender")

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

    ;~ Erstellen des Menüs
    If @error Then
    MsgBox(4096, @ScriptDir & "Data\sender.ini", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
    Else
    Dim $idMenuItem[$var[0][0]+1]
    $idMenuItem[0] = $var[0][0]
    For $i = 1 To $var[0][0]
    $idMenuItem[$i]=GUICtrlCreateMenuItem($var[$i][0], $Menu)
    Next

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

    EndIf

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

    ;~ TrayMenü
    Opt("TrayMenuMode", 3)
    TraySetClick(16)
    $tMenu = TrayCreateMenu("Sender")
    Dim $idTrayMenuItem[$var[0][0]+1]
    $idTrayMenuItem[0] = $var[0][0]
    For $i = 1 To $var[0][0]
    $idTrayMenuItem[$i]=TrayCreateItem($var[$i][0], $tMenu)
    Next
    $tLaut = TrayCreateItem("Lautstärke")
    $tShow = TrayCreateItem("Zeigen")
    $tGhost = TrayCreateItem("Ausblenden")
    TrayCreateItem("")
    $hTray = TrayCreateItem("Exit")

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

    While 1
    ;~ ändert die lautstärke
    $iVolume = GUICtrlRead($slider1)
    If $iOld <> $iVolume Then
    SoundSetWaveVolume($iVolume)
    $iOld = $iVolume
    EndIf

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

    $nMsg = GUIGetMsg(1)
    Switch $nMsg[0]
    Case -3
    If $nMsg[1] = $GUI Then
    GUISetState(@SW_HIDE, $GUI)
    TrayTip("AutoRadio", "AutoRadio wird weiter ausgeführt", 5)
    Else
    If $nMsg[1] = $GUI2 Then
    GUICtrlSetData($senderIn, "")
    GUICtrlSetData($senderNIn, "")
    GUISetState(@SW_HIDE, $GUI2)
    Else
    GUISetState(@SW_HIDE, $nMsg[1])
    EndIf
    EndIf
    Case $idMenuItem[1] to $idMenuItem[$idMenuItem[0]]
    $sender = $var[$nMsg[0] - $idMenuItem[1]+1][1]
    _IENavigate($IE, $sender)
    case $mLaut
    GUISetState(@SW_SHOW, $GUIl)
    case $Exit
    Exit
    case $AddSender
    GUISetState(@SW_SHOW, $GUI2)
    case $HideAdd
    GUICtrlSetData($senderIn, "")
    GUICtrlSetData($senderNIn, "")
    GUISetState(@SW_HIDE, $GUI2)
    case $Add
    $SenderURL = GUICtrlRead($senderIn)
    $SenderName = GUICtrlRead($senderNIn)
    GUICtrlSetData($senderIn, "")
    GUICtrlSetData($senderNIn, "")
    IniWrite(@ScriptDir & "\Data\sender.ini", "sender", $SenderName, $SenderURL)

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

    ;Menü Updaten
    For $i = 0 To UBound($idMenuItem) - 1
    GUICtrlDelete($idMenuItem[$i])
    Next
    $var = IniReadSection(@ScriptDir & "\Data\sender.ini", "sender")
    If @error Then
    MsgBox(4096, @ScriptDir & "Data\sender.ini", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
    Else
    Dim $idMenuItem[$var[0][0]+1]
    $idMenuItem[0] = $var[0][0]
    For $i = 1 To $var[0][0]
    $idMenuItem[$i]=GUICtrlCreateMenuItem($var[$i][0], $Menu)
    Next
    EndIf
    GUISetState(@SW_HIDE, $GUI2)
    EndSwitch
    $tMsg = TrayGetMsg()
    Switch $tMsg
    Case $hTray
    Exit
    Case $tGhost
    GUISetState(@SW_HIDE, $GUI)
    GUISetState(@SW_HIDE, $GUIl)
    Case $tShow
    GUISetState(@SW_SHOW, $GUI)
    Case $idTrayMenuItem[1] to $idTrayMenuItem[$idTrayMenuItem[0]]
    $sender = $var[$tMsg - $idTrayMenuItem[1]+1][1]
    _IENavigate($IE, $sender)
    case $tLaut
    GUISetState(@SW_SHOW, $GUIl)
    EndSwitch
    WEnd

    [/autoit]


    UPDATE 1.1

    Die Sender stehen nun in einer ini-Datei die jeder für sich bearbeiten kann um sender hinzuzufügen oder zu entfernen. Großer vorteil an der sache ist es das der Code ansich nie angefasst und geändert werden muss.


    UPDATE 1.2

    Bei diesen Update hat sich nur das Design etwas geändert.

    UPDATE 1.3

    Lautstärkereglung direkt aus AutoRadio wurde eingebaut!

    UPDATE 1.4
    AutoRadio ist nun benutzerfreundlicher. D.h. man kann die Sender nun über "Einstellungen" hunzufügen und muss die .ini nur zum löschen von sendern bearbeiten.

    UPDATE 1.4.1

    - Bugs behoben

    Update 1.4.1 downloaden

    Dateien

    AutoRadio.zip 23,77 kB – 534 Downloads
  • Kopieren von Ordnern und Dateien

    • AltairKD
    • 20. März 2012 um 14:34

    Also mit hilfe von der Funktion: FileSystem.CopyDirectory(path, newPath); Welche mit using Microsoft.VisualBasic.FileIO; bereit gestellt wird kann ich schonmal die Ordner und Dateien in den Favoriten kopieren.

    Jetzt ist nur noch das Problem vorhanden das auf dem Desktop nicht alle Dateien kopiert werden.

    Und leider hat sich mit FileSystem.CopyDirectory(path, newPath); auch ein neues Problem gezeigt, die Funktion scheint automatisch den Ordner Eigene Bilder kopieren zu wollen, dieser Ordner excistiert jedoch nicht bei Windows 7 unter C:\Users\BENUTZERNAME\Documents. Dadurch läuft das Program ständig in einen Fehler....Wenn jemand eine Idee hat wie ich die Probleme vllt lösen könnte(ohne wieder nach einer Funktion zu suchen oder selbst eine zu schreiben) kann mir die Antwort bzw. einen Schupps gerne geben ;)

    Edit: Problem mit Desktop hat sich erledigt. War ein dummer fehler, die dateien wo ich dachte das sie nicht kopiert werden lagen im Desktop Ordner ALLUsers und nicht in den von meinen Benutzer.

  • Kopieren von Ordnern und Dateien

    • AltairKD
    • 20. März 2012 um 10:54

    Danke für deinen Vorschlag, ändert jedoch nichts. :(

  • Kopieren von Ordnern und Dateien

    • AltairKD
    • 20. März 2012 um 08:56

    Hallo zusammen,

    ich bin grade dabei ein kleines Programm zu schreiben was die Dateien vom, Desktop, Eigene Dateien und die Favoriten wegsichern soll.
    Zum kopieren nutze ich File.Copy, jetzt zeigt sich jedoch das Problem das
    1. Ordner oder bestimmte dateien einfach nicht kopiert werden.
    Z.B. werden Ordner garnicht kopiert (ausser es ist eine Verknüpfung)
    2. Und vom Desktop werden z.B nicht alles kopiert nur ca. 90%.(Verknüpfung von Office wird nicht kopiert sowie von anderen Programmen).

    Für das erste Problem könnte ich sicherlich eine Dir.Copy funktion nutzen, jedoch habe ich bis jetzt noch keine funktionierende Funktion gefunden. Für das zweiten problem weiß ich zur seit keine lösung.

    Hier ein ausschnitt aus dem Code:

    Code
    if (DESK == true)
                    {
                        string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
                        string path2 = textBox1.Text;
    
    
                        string[] sources = Directory.GetFiles(path);
    
    
                        string newPath = System.IO.Path.Combine(path2, "Desktop");
    
    
                        System.IO.Directory.CreateDirectory(newPath);
    
    
    
                        for (int i = 0; i < sources.Length; i++)
                        {
                            string source = Path.Combine(path, Path.GetFileName(sources[i]));
                            string dest = Path.Combine(newPath, Path.GetFileName(sources[i]));
                            try
                            {
                                //Kopieren der Datei.
                                File.Copy(source, dest, true);
                            }
                            catch
                            {
                                Form2.Hide();
                                MessageBox.Show("Kopieren fehlgeschlagen!", path);
                            }
                        }
                        DESK_check = true;
                    }
    Alles anzeigen
  • Vorhandene Laufwerke nicht anzeigen

    • AltairKD
    • 8. Dezember 2011 um 11:48

    Wunderbar!! Genau sowas habe ich gebraucht =)
    Vielen Dank!!!

  • Vorhandene Laufwerke nicht anzeigen

    • AltairKD
    • 8. Dezember 2011 um 09:58

    Hi zusammen,

    ich habe seit knapp einen Jahr mal wieder angefangen was zu schreiben und stehe direkt vor einem Problem, ich will als einstieg ein Script schrieben in dem ich mich mit Netzlaufwerken verbinden kann.
    Hier mal der Code:

    [autoit]

    #include <EditConstants.au3>
    $GUI = GUICreate("NetCon", 400, 130)
    GUICtrlCreateGroup("Connect-User", 10, 10, 180, 80)
    GUICtrlCreateLabel("User:", 14, 27)
    $User = GUICtrlCreateInput("", 65, 25, 120, 20)
    GUICtrlCreateLabel("Password:", 14, 57)
    $PW = GUICtrlCreateInput("", 65, 55, 120, 20, $ES_PASSWORD)
    GUICtrlCreateGroup("Network", 200, 10, 180, 80)
    GUICtrlCreateLabel("Drive:", 205, 27)
    $Drive = GUICtrlCreateInput("", 240, 25, 135, 20)
    GUICtrlCreateLabel("Letter:", 205, 55)
    $Letter = GUICtrlCreateCombo("A:", 240, 55, 135, 20)
    GUICtrlSetData($Letter, "B:|C:|D:|F:|G:|H:|I:|J:|K:|L:|M:|N:|O:|P:|Q:|R:|S:|T:|U:|V:|W:|X:|Y:|Z:")
    $Start = GUICtrlCreateButton("Connect", 10, 100, 55, 25)
    GUISetState(@SW_SHOW, $GUI)

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

    While 1
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[0]
    Case -3
    If $nMsg[1] = $GUI Then
    Exit
    Else
    GUISetState(@SW_HIDE, $nMsg[1])
    EndIf
    case $Start
    $USER = GUICtrlRead($User)
    $PASSWORD = GUICtrlRead($PW)
    $DRIVE = GUICtrlRead($Drive)
    $LETTER = GUICtrlRead($Letter)
    Connect()
    EndSwitch
    WEnd

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

    Func Connect()
    Run("NET USE " & $LETTER & " " & $DRIVE & " " & $PASSWORD & " /USER:" & $USER)
    ;;MsgBox(64, "Mount", "Network drive is mounted", 20)
    EndFunc

    [/autoit]

    Nun will ich zwei sachen regeln,
    1. Das die Laufwerksbuchstaben die bereits mit einen Laufwerk verbunden sind nicht angezeigt werden
    2. Das geprüft wird ob das Laufwerk verbunden ist

    ich weiß bzw. denke das ich das ganze mit DriveGetDrive lösen kann, nur komme ich nicht dadrauf wie.

    Schonmal danke für eure Hilfe ;)

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™