Beiträge von SEuBo

    Geht mir auch immer so... 2-3 Stunden arbeitet man ohne Lösungsansatz, dann braucht man nochmal 20 mins für sienen Forumpost, und 10 min nachdem man abgeschickt hat findet man irgendwie die Lösung...



    PS: wegen dem Passwort - ich würde das Passwort noch mit _stringencrypt oder zumindest mit _stringReverse ein bisschen unkenntlicher machen.

    Und einfacher gesagt: Es gibt Standard- und Nicht-Standard-Funktionen.
    Standardfunktionen sind immer in deinem Script. (zb. GUICreate() )
    Nichtstandardfunktionen müssen erst eingebunden werden. dies dient denke ich mal dazu, platz zu sparen (mehr standardfunktionn = größere scripte (?)), und eröffnet der Community die möglichkeit benutzerdefinierte Funtkionen zu erstellen.


    wenn du zb. einen Internet explorer fernsteuern willst, kannst du dafür funktinoen wie
    _IENavigate() benutzen. und damit eben diese Funktionen klappen, musst die Datei, die die funktion definiert (IE.au3) erst eingebunden werden. Ansonsten weiß das Script ja nicht was mit dem Befehl _IENavigate zu tun ist.

    Ein bisschen Code zur veranschaulichung wäre nicht schlecht.
    Was wird wann wo gespeichert und an welcher stelle soll er was überprüfen o.O
    Poste doch einfach mal dein script.

    Leg doch einfach eine .ini auf dem Server an mit


    [Version]
    Version = 1.0.0.1
    UpdateDir = http://www.deinserver.de/verzeichniss/Datei.exe


    die datei hat einen festen platz auf dem Server. Beim klick auf den Update Button kannst du die Datei mit InetGet() holen, und mit IniRead dann überprüfen, ob die aktuelle Version anders ist als die auf dem Server.
    $AktuelleVersion = "1.0.0.0"
    InetGet("http://www.deinserver.de/version.ini","version.ini",1)
    If IniRead("version.ini","Version","Version","") <> $AktuelleVersion Then
    InetGet(IniRead("version.ini","Version","UpdateDir",""),@ScriptName,1)
    EndIf


    Irgendwie sowas... nur ne Idee..

    Wegen der Tippfehler - Lass es doch einfach hiermit eintragen:


    Habs nur auf die schnelle gemacht ist also weder schick, noch kann ich für 100% funktionalität garantieren...


    -> Damit es auch funktioniert muss es vorher compiliert werden (!)

    Dateien

    • eintragen.au3

      (1,46 kB, 123 Mal heruntergeladen, zuletzt: )

    Hmm das macht das ganze ein bisschen komplizierter.
    Ich hab mir hier was überlegt - da ich selbst noch anfägner bin gibts es mit sicherheit bessere Lösungen


    Deine Abteilung.ini sieht dann so aus:


    Und dein Script so:


    Jetzt muss aber bei jedem eintrag der Name UND der wert eingetragen werden. Also 2 Werte.
    Gruß SEuBo

    Probier es mal in etwa so:


    #include <GUIConstantsEx.au3>
    #include <ComboConstants.au3>
    ;--
    GUICreate("")
    ;--> Hier gehts um die Wurst
    $DropDownListe = GUICtrlCreateCombo("", 100, 100, 100, 30, $CBS_DROPDOWNLIST)
    $Abteilungsnummer = 1
    While IniRead("Abteilung.ini","Abteilungen","Abteilung"&$Abteilungsnummer,"") <> ""
    GUICtrlSetData( $DropDownListe, "Abteilung "&$Abteilungsnummer,"" )
    $Abteilungsnummer = $Abteilungsnummer + 1
    WEnd


    GUISetState()
    ;--
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_ClOSE
    Exit
    EndSwitch
    WEnd


    Nicht perfekt aber sollte seinen Zweck erfüllen


    Erklärung:


    Am anfang erstellt er die Dropdownliste. Diese ist zunächst leer. Dann beginnt er eine Schleife
    Wenn das Auslesen von "Abteilung"&$Abteilungsnummer (Was beim ersten Durchlauf "Abteilung1" entspricht) KEINEN leeren String ausgibt, dann trägt er "Abteilung 1" in die Dropdownliste ein.
    Danach erhöht er die Variable $Abteilungsnummer um 1. Beim nächsten Schleifendurchlauf macht er also das gleiche wie grade, nur mit "Abteilung2". Wenn dies wieder keinen leeren String ergibt, geht das gleiche SPiel mit Abteilung3 von vorne los. Ansonsten hört er auf einzutragen.
    (While IniRead("Abteilung.ini","Abteilungen","Abteilung"&$Abteilungsnummer,"") <> "")

    Hallo liebes Forum,


    Zur verschönerung meines GUI's habe ich vor in einige der Buttons Bilder einzubauen. Soweit ja kein Problem, denn mit GUICtrlSetImage() geht das ja leicht von der Hand.
    Nun hab ich allerdings das Problem, dass ich bei bestimmten Buttons gerne das Icon HINTER und nicht VOR dem Text stehen sollen.


    Habe schon etliche Seiten im Netz durchsucht, und auch die Deutsche Hilfe zu Rate gezogen aber ich finde einfach nirgendwo eine solche Möglichkeit.


    Non-Plus-Ultra des ganzen wäre natürlich, wenn ich das Icon innerhalb des Buttons positionieren könnte. Also bei einem Buttons Ganz links an den Rand, bei dem anderen erst nach 5 pixeln. Das ist aber nicht zwingend erforderlich, aber wäre so zu sagen das Sahnehäubchen.



    Standartsituation ist ja diese hier:


    Wäre über einen Gedankenblitz der zur Lösung beiträgt sehr erfreut ^^
    Gruß, SEuBo

    Hey :)


    Habe mir vor kurzem ein neues Projekt überlegt, und stehe nun irgendwie auf dem schlauch.
    Mein eigentliches Problem ist das auslesen des ausgewählten ListViewItems.


    Ich habe eine Listview
    $GrosseListe = GUICtrlCreateListView("NR|Truppen-/Gebäudetyp|Kosten/Einheit|Anzahl|Gesamt", 240, 71, 430, 268)


    Die mithilfe einer Funktion gefüllt wird. Man wählt also in einer Combobox den einheitentyp und gibt in einer insertbox die Anzahl ein. Eingetragen wird dann alles später in einer Funktion.
    GUICtrlCreateListViewItem($Auftragsnummer & "|" & $Truppenname & "|" & $Gesamt & "|" & $Anzahl & "|" & $Gesamtkosten, $GrosseListe)
    $Auftragsnummer = $Auftragsnummer + 1


    So bekommt man also eine Liste mit den einzelnen Bauaufträgen. Über der Liste sieht man dann auch die insgesamt benötigten Rohstoffe ( Holz / Lehm / Eisen / Getreide / Total) für ALLE Aufträge. Ich hoffe das war soweit verständlich.


    Nun stehe ich vor dem Problem, dass ich einträge auch editieren oder löschen möchte.
    Löschen des Listviewitems ist ja mit _GUICtrlListView_DeleteItemsSelected($GrosseListe) leicht gemacht. Allerdings müssen dann natürlich auch die Kosten für den Auftrag, der gelöscht wurde, auch wieder vom Gesamtergebnis abgezogen werden. Wie lese ich also den Text aus dem ListViewItem aus, damit ich damit weiterarbeiten kann?


    Ich habe es schon _GUICtrlListView_GetItemTextString($GrosseListe, current_selection) probiert aber das mag auch ncocht so ganz klappen.


    Bitte helft mir ich bin eigentlich ein totaler Neuling was AutoIt angeht und kann daher jede Hilfe gebrauchen. Wenn ihr noch was wissen müsst oder ich zu umständlich erkläre sagt einfach bescheid ^^


    Übrigens - Ich benutze eine stinknormale Listview, also nicht die mit Checkbox style oder sonstigem.



    EDIT: Wow da schreibt man 15 mins an nem beitrag und berichtet über Probleme die man seit 3 stunden versucht zu lösen... 3 minuten später klappt es -.-


    habs via _GUICtrlListView_GetItemTextString($GrosseListe, _GUICtrlListView_GetHotItem($GrosseListe)) gelöst..


    Fragt mich nich wie ich drauf gekommen bin... ?(


    ....bei druck auf den buton einen eintrag in der regesty erstellen ..


    Stimmt, das wär eigentlich auch machbar mit einer einfachen .ini Datei wo ich dann mittels

    IniWrite("Config.ini","General","SwitchGUI", 1)


    und im 2ten script mit
    $Legitim = IniRead("Config.ini","General","SwitchGUI",0)
    If $Legitim = 0 Then
    Exit
    Else IniDelete("Config.ini","General","SwitchGUI")
    EndIf
    arbeiten könnte


    Übergangsweise werde ich das so machen aber ich würd doch schon gern wissen ob das auch anders geht.


    Gruß

    Würde für mich noch zu unübersichtlich und kompliziert werden das ganze in einem Script zu machen.
    Da würd ich als Anfänger schlicht und ergreifend die Übersicht verlieren. Außerdem habe ich schon ein vernünftiges Konzept für 2 GUI's ausgearbeitet. Ich müsste dann auch wieder alle Funktionen umschreiben und so weiter. Alles was ich brauche ist n kleiner Befehl. Wird ja wohl möglich sein ^^ In Html und php kann man ja auch einfach den Referrer, also die Seite von welcher weitergeleitet wurde checken.

    BugFix
    Schau dir mal den thread hier an geht iwie um die Formatierung .. Das scheint wohl der grund zu sein warum er keine txt oder ini benutzen möchte.


    In eine Ini kannst du den text ja immerhin noch mit IniWrite() schreiben...


    Gruß!

    Genau so ist es. Genau genommen handelt es sich um 2 GUIs.
    1. ConfigGUI.exe und 2. SEuBoGUI.exe


    In der ConfigGUI ist eine Button integriert, die SEuBoGUI.exe startet.


    SEuBoGUI.exe soll nun am anfang seines Skriptes checken ob es von "ConfigGUI.exe" gestartet wurde. Ansonsten soll es sich halt wieder schließen.

    Hallo,
    Habe mich vor ein paar Tagen das erste mal mit AutoIT beschäftigt und komme seitdem eigentlich gut zurecht.
    Habe mich schon in die GUI und ein bisschen pixelsearch eingearbeitet. Jetzt habe ich nur ein Problem für meine 2te GUI.
    Und zwar soll diese GUI nur von meiner Config-exe aufgerufen werden. Ansonsten soll sich das ganze skript sofort beenden.


    Gibt es also eine If WinOpenedBy() Funktion oder so etwas ähnliches? Andernfalls fällt mir gerade ein, dass ein, von meinem SKript gestarteter Prozess eigentlich ein Child-Prozess von eben diesem sein sollte. Deswegen die andere Frage: könnte ich nachschauen ob ein Prozess ein Child Prozess eines anderen ist?.


    Danke und Gruß SEuBo