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

Beiträge von Ghostleader

  • Sortier Funktion macht Probleme

    • Ghostleader
    • 18. Juli 2013 um 15:49

    Hallo zusammen,

    wie ja in der Überschrift erwähnt habe ich Probleme mit der Sortier Funktion der Listview.

    Und zwar wird in der Listview ein bestimmter teil aus einer .data Datei ausgelesen und angezeigt. Klickt man auf einen gewünschten Gegenstand so wird dieser ausführlich in einem Label angezeigt und diese Daten werden ebenfalls aus der .data Datei geholt.

    Dies funktioniert alles einwandfrei, auch die Listview sortiert schon beim start nach Alphabet. Nun ist darin aber die Funktion sortieren wenn mann auf den Listview Kopf drückt, was aber genau das Problem hier ist, denn drückt mann darauf zum sortieren dann werden die Daten die im Label wiedergegeben werden nicht bei jedem Gegenstand wiedergegeben sondern nur bei einigen und ich finde einfach nicht heraus warum das so ist.

    Nun habe ich schon mittels Befehl $LVS_NOSORTHEADER versucht den Spaltenkopf nicht mehr klickbar zu machen, jedoch egal wo ich ihn einfüge kommen Fehler, entweder schon beim start oder dann beim klicken auf das Menü was die Listview aufrufen soll.

    Schön wäre es wenn jemand den Fehler findet und die Funktion erhalten bleibt, ansonsten muss wie jetzt ja auch beim aufrufen der Listview automatisch alphabetisch geordnet werden aber der Listview Kopf un anklickbar sein.

    Wäre echt super wenn mir da einer behilflich sein kann.

    - Der Code wo die Funktionen drin sind: (so nicht separat ausführbar nur im ganzen Code!) im Datei Anhang!
    - Data Datei auszug (Schmuck.data) wo dieser ausließt im Datei Anhang!

    Bei mir funktioniert das mit dem Code einfügen nicht, egal welchen ich nehme immer alles zusammen geschoben, daher beides im Anhang enthalten.

    Ich bedanke mich schon mal für eure Hilfe und hoffe einer kann da was machen!

    Mfg Ghostleader


    PS: Problem gelöst Dank eines Mitgliedes!

    Dateien

    Schmuck.rar 387 Byte – 270 Downloads
  • $GUI_CHECKED und $GUI_UNCHECKED

    • Ghostleader
    • 22. April 2012 um 15:56

    Hallo nochmal,

    also mit deinem Code bzw. dem so abgewandeltem durch mich geht es nun! Hatte übersehen das sich in der xml noch was geändert hatte, sodas ich diese kommplett ersetzen musste nun gehts!

    Vielen Dank.

    Mfg Ghostleader

  • $GUI_CHECKED und $GUI_UNCHECKED

    • Ghostleader
    • 22. April 2012 um 15:05

    Hallo,

    also, so wie du es gerade gemacht hast geht es nicht, denn nun bleibt wenn ich das häkchen setze und speichere das häkchen nicht drin, sondern wird einfach wieder entfernt! Auch setzt sich ja bei deiner Art und weise nirgends im Code der Wert maxword 160 (was aber zwingend nötig ist), sodas es von haus aus wieder zu Problemen kommt!

    Ps: Nicht falsch verstehen, ob oder ob nicht das häkchen gesetzt wird entscheidest du selber in den einstellungen des kommpletten Programs. Damit entscheidest du nur darüber ob du im Chat dann 300 zeichen oder eben wenn nicht das häkchen gesetzt ist 160 Zeichen zum schreiben zur verfügung hast!

    Mfg Ghostleader

    PS: Habe dein rstelten Codeschnipsel mal abgeändert, sodass das Häkchen wenigstens wieder drin bleibt! Aber mit den maxword 160 bei nichtgesetztem häkchen arbeitet er immer noch nicht sondern der Chat geht dann net mehr!

    Spoiler anzeigen
    [autoit]

    $FILE = FileOpen($BBOPFAD & "voyage\RESOURCE\UI\main\dlg\DlgChat.xml", 0)
    For $I = 1 To 100
    If StringInStr(FileReadLine($FILE, $I), "maxword=") And StringInStr(FileReadLine($FILE, $I), "300") Then
    GUICtrlSetState($BBOEINSTELLUNG[4][0], $GUI_CHECKED)
    $BBOEINSTELLUNG[4][1] = 1
    ElseIf StringInStr(FileReadLine($FILE, $I), "maxword=") And StringInStr(FileReadLine($FILE, $I), "160") Then
    GUICtrlSetState($BBOEINSTELLUNG[4][0], $GUI_UNCHECKED)
    $BBOEINSTELLUNG[4][1] = 0
    EndIf
    Next

    [/autoit]
  • $GUI_CHECKED und $GUI_UNCHECKED

    • Ghostleader
    • 22. April 2012 um 13:58

    Hallo zusammen,

    ich brauche mal wieder eure Hilfe.

    Hier erstmal der Codeschnipsel um den es geht:

    Spoiler anzeigen
    [autoit]

    $FILE=FILEOPEN($BBOPFAD&"voyage\RESOURCE\UI\main\dlg\DlgChat.xml",0)
    FOR $I=1 TO 100
    IF STRINGINSTR(FILEREADLINE($FILE,$I),"maxword=")>0 AND STRINGINSTR(FILEREADLINE($FILE,$I),"300")>0 THEN
    GUICTRLSETSTATE($BBOEINSTELLUNG[4][0],$GUI_CHECKED)
    $BBOEINSTELLUNG[4][1]=1
    ENDIF
    NEXT

    [/autoit]


    Hier wird nun gesagt, wenn das Häkchen in der Checkbox drin ist, dann setze in der DlgChat.xml maxword auf 300, was auch einwandfrei funktioniert.

    Das Problem ist nun wenn das Häkchen wieder rausgenommen wird sich die DlgChat.xml auf original maxword 160 setzt, aber da das im Code ja weiterhin auf 300 Gesetzt ist es dann zu Problemen kommt und der Chat nicht mehr funktioniert.

    Nun stelle ich es mir so vor, das wenn das Häkchen gesetzt ist der Code mit den maxword 300 arbitet, wird es wieder entfernt es dann die Ausweichung gibt (die weiss ich net wie ich sie machen soll) das der Code dann mit maxword 160 arbeitet!
    Dieser Abschnitt fehlt eben hier noch da ich absolut net weiss wie ich das hier einbauen könnte!

    Ich hoffe nun das mir das wer machen kann bitte und sage schonmal vielen Dank!

    Mfg Ghostleader

  • MMORPG Fenster im Fenstermodus frei verschiebbar

    • Ghostleader
    • 16. April 2012 um 10:22

    Hallo Chip,

    danke dir. Ich werde es dann mal fix probieren und versuchen es auf mein fesnster umzubauen!

    Mfg Ghostleader

  • MMORPG Fenster im Fenstermodus frei verschiebbar

    • Ghostleader
    • 16. April 2012 um 10:02
    Zitat von chip

    Ließ dir mal den Hilfeeintrag zu WinMove durch. Dann weißt du, dass du mit Parameter 3 und 4 die X und Y Position setzen kannst.


    Hallo Chip,

    ja das ist mir aufgefallen, aber ist es denn dann nicht so das ich trotzdem fest gesetzte daten eintrage und das Fenster dann eben nur da ist aber net frei verschiebbar?

    Mfg Ghostleader

  • MMORPG Fenster im Fenstermodus frei verschiebbar

    • Ghostleader
    • 15. April 2012 um 22:43

    Hallo chesstiger,

    Danke erstmal für deine Antwort.

    Wenn ich das richtig verstehe dann kann man mit WinMove ja nur das Fenster nach links oben setzen oder? Es sollte aber eigentlich so sein, das man das fenster wenn man es wie gewohnt mit der maus anklickt frei bewegen kann!

    Mfg Ghostleader

    Ps. Blicke gerade irgendwie net ganz durch

  • MMORPG Fenster im Fenstermodus frei verschiebbar

    • Ghostleader
    • 15. April 2012 um 21:51

    Hallo zusammen,

    ich bräucht mal wieder eure Hilfe, da ich hierfür garkeinen Ansatz habe und auch nicht genau weiss ob es überhaupt geht!

    Volgendes soll das Programm machen/können:

    Und zwar geht es darum das ich ein MMORPG spiele was man auch im Fenstermodus spielen kann, es hierbei aber Betreiberseitig nicht möglich ist dieses Fenster frei zu verschieben.
    Da man bei diesem Spiel aber mehrere Accounts haben darf und diese gleichzeitig offen sein können wäre es von Vorteil, wenn mann diese dann auch quasi auf dem Bildschirm verteilen könnte und nicht immer hin und her schalten muss!
    Der Client nennt sich in der Startleiste dann Core Windows.

    Nun möchte ich es hier erstmal ganz simpel mit 2 Checkboxen machen, da es später in ein anderes Programm integriert werden soll!
    Ist die eine Checkbox angeklickt soll es frei verschiebbar sein, ist die andere angeklickt dann nicht!

    Hier die kleine Gui dafür zum testen:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 251, 151, 450, 181)
    $Checkbox1 = GUICtrlCreateCheckbox("Client Fenster frei bewegen", 24, 30, 200, 25)
    $Checkbox2 = GUICtrlCreateCheckbox("Client Fenster nicht frei bewegen", 24, 70, 200, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    So, ich hoffe das das wer von euch machen könnte. Wenn ihr dafür noch was braucht an Angaben dann bitte schreiben!
    Vielen Dank schonmal.

    Mfg Ghostleader

  • Programm zum automatischen einfügen einer fortlaufenden ID

    • Ghostleader
    • 10. Februar 2012 um 16:43

    Hallo TheLuBu,

    vielen Dank für das bearbeiten! Funktioniert jetzt super!

    Mfg Ghostleader

  • Programm zum automatischen einfügen einer fortlaufenden ID

    • Ghostleader
    • 9. Februar 2012 um 15:49

    Hallo TheLuBu,

    danke erstmal für deine Arbeit und ich konnte es jetzt erst testen!

    Also es funktioniert fast richtig, das einzige was nicht funkzioniert ist, in der data wo es eine zeile einfügen soll vo dem Stern denn da kommt statt beginnend mit 00001 auch wie in der Kopfzeile ID und das auch nicht als extra Zeile sondern direkt vor dem Stern also der Stern steht neben nicht unter ID (siehe Spoiler)!

    So müsste es aussehen!

    Spoiler anzeigen
    Code
    164
    Questname,Ort,Voraussetzung,Silber,Belohnung,Ansehen,Questbeschreibung,Lösung,leer,ID,*
    Entdeckungsreise
    Athen
    Manövrieren 1
    6000
    1.870 Exp Manövrieren
    70
    Brauntölpel entdecken
    Brauntölpel finden (-139,5 / -345,3) und begutachten lassen
    ?
    00001
    *
    Seeschnecken sammeln (Athen)
    Athen
    Manövrieren 1
    6000
    1.870 Exp Manövrieren
    70
    Schlüssellochschnecke entdecken
    Schlüssellochschnecke finden (Strand von Alexandria) und begutachten lassen
    ?
    00002
    *
    Entdeckung von Insekten: Termiten
    Athen
    Manövrieren 1
    6000
    1.870 Exp Manövrieren, Fernrohr Stufe 1
    70
    Termiten entdecken
    Termiten finden (-315,9 / -243,5) und begutachten lassen
    ?
    00003
    *
    Alles anzeigen


    Und so sieht es jetzt momentan aus!

    Spoiler anzeigen
    Code
    164
    Questname,Ort,Voraussetzung,Silber,Belohnung,Ansehen,Questbeschreibung,Lösung,leer,ID,*
    Entdeckungsreise
    Athen
    Manövrieren 1
    6000
    1.870 Exp Manövrieren
    70
    Brauntölpel entdecken
    Brauntölpel finden (-139,5 / -345,3) und begutachten lassen
    ?
    ID,*
    Seeschnecken sammeln (Athen)
    Athen
    Manövrieren 1
    6000
    1.870 Exp Manövrieren
    70
    Schlüssellochschnecke entdecken
    Schlüssellochschnecke finden (Strand von Alexandria) und begutachten lassen
    ?
    ID,*
    Entdeckung von Insekten: Termiten
    Athen
    Manövrieren 1
    6000
    1.870 Exp Manövrieren, Fernrohr Stufe 1
    70
    Termiten entdecken
    Termiten finden (-315,9 / -243,5) und begutachten lassen
    ?
    ID,*
    Alles anzeigen


    Auch muss das Komma (ID,*) hier weg, denn dies darf nur in der Kopfzeile stehen!

    Mfg Ghostleader

  • Programm zum automatischen einfügen einer fortlaufenden ID

    • Ghostleader
    • 7. Februar 2012 um 13:58

    Hallo zusammen,

    ich suche jemanden der mir mal bitte ein Programm schreiben kann!

    Das Programm soll in einer .data Datei (Aufbau siehe Code) immer nach der Zeile mit dem Eintrag * suchen und davor immer eine neue Zeile mit fortlaufender ID einfügen anfangend bei 000001. Die .data Datei enthällt mehrere abschnitte mit dem * wodurch er eben die gesamte .data Datei durchsuchen muss und anfangend beim ersten * mit 000001 und wenn es eben 10 Einträge sind bei dem letztem mit in dem Fall 000010 endet!
    Die .data Datein ohne ID liegen im Verzeichnis E:\Datas ohne ID , was heist das ich das Skript/die exe des Skriptes dann hier und nur hier in dem Ordner ausführe!
    Es liegen in dem Verzeichnis E:\Datas ohne ID unbestimmt viele .data Datein drin! Bei jeder .data Datei muss dieser Prozess sepperat durchlaufen werden, dh. erste bearbeiten beginnend mit ID 000001 fertig machen, dann zweite bearbeiten und wieder beginnend mit ID 000001 usw.
    Falls dazu die .data Datein geöffnet werden müssen, soll dies bitte mit notepad++ geschehen!

    Der Ablauf sollte ungefähr wie folgt aussehen:
    - in der Kopfzeile von jeder .data Datei vor ;* soll eingefügt werden ;ID
    - .data Datei durchsuchen nach den Zeilen mit *
    - vor die Zeilen mit dem * jeweils eine neue Zeile einfügen
    - darin dann die fortlaufenden ID´s beginnend bei 000001 eintragen bis es keinen * mehr gibt
    - Speichern der .data Datei mit dem selben Namen und Format (.data) die sie beim öffnen hat in folgendem Ordner Pfad: E:\Datas mit ID
    - schliessen der original Datei aber hier die Änderungen nicht speichern!

    Original:

    Spoiler anzeigen
    Code
    Name;Angriff;Verteidigung;HP;SP;*
    Schwert1
    512
    31
    213
    125
    *
    Schwert2
    645
    22
    359
    222
    *
    Alles anzeigen



    Danach sollte es ca. so aussehen:

    Spoiler anzeigen
    Code
    Name;Angriff;Verteidigung;HP;SP;ID;*
    Schwert1
    512
    31
    213
    125
    000001
    *
    Schwert2
    645
    22
    359
    222
    000002
    *
    Alles anzeigen

    Ich hoffe das jemand soviel Lust und Zeit hat und mir das bitte bitte erstellen kann!
    Sollten noch Fragen sein einfach stellen!

    Mfg Ghostleader

  • AutoIT .exe Datei debuggen

    • Ghostleader
    • 26. Januar 2012 um 16:57

    Hallo Albeck,

    wenn du es so nicht hin bekommst und das Script net streng Geheim ist ;) , solltest du dir überlegen es mal zu posten, denn es gibt hier viele Leute die mal eben fix drüber schauen könnten/würden und den Fehler so bestimmt schneller finden können!

    Mfg Ghostleader

  • TGA Bild in GUI reinbekommen ohne Konvertierung?

    • Ghostleader
    • 25. Januar 2012 um 20:01

    Hallo Julien,

    hast schon ganz normal mit:

    GUICtrlCreatePic("dein Pfad\deine Datei.tga",0)

    Probiert? Geht das net?

    Mfg Ghostleader

  • Notepad und gespeicherte txt öffnen und im notepad anzeigen

    • Ghostleader
    • 4. Januar 2012 um 19:32

    Hallo zusammen,

    vielen Dank an euch beide klappt super!

    Mfg Ghostleader

  • Notepad und gespeicherte txt öffnen und im notepad anzeigen

    • Ghostleader
    • 4. Januar 2012 um 19:03

    Hallo zusammen,

    ich habe eine Textdatei (txt) die ich gerne wenn ich den Hilfe Button drücke aufrufen kann und zwar so:

    1. Notepad öffnen
    2. Txt auslesen
    3. Txt Inhalt im Notepad anzeigen

    Ich hatte es so versucht:

    [autoit]

    Func _Hilfe()
    Run("notepad.exe")
    $File = FileOpen(@ScriptDir & "\Hilfe.txt",0)
    FileReadLine($File)
    EndFunc

    [/autoit]


    Aber naja irgendwie habe ich nen denkfehler denn Notepad geht zwar auf, aber es kommt kein text aus der txt!

    Mfg Ghostleader!

  • MsgBox statt abbruch bei Error in Function

    • Ghostleader
    • 2. Januar 2012 um 19:44

    Danke dir für deine nochmalige Antwort.

    Hatte gerade nochmal Post edditiert ;)

    Mfg Ghostleader

  • MsgBox statt abbruch bei Error in Function

    • Ghostleader
    • 2. Januar 2012 um 19:30

    Hallo zusammen,

    danke für eure schnellen Antworten.

    @Krabat

    Ich habe jetzt dein´s genommen und geht auch soweit das die msgBox erscheint, habe dein Exit nurnoch mit Retürn getauscht nun ist es super!
    Danke

    Mfg Ghostleader

  • ISN AutoIt Studio

    • Ghostleader
    • 2. Januar 2012 um 19:26

    Hallo ISI360,

    als erstes auch von mir ein riesen Lob an dieser Stelle für deine scheinbar super Arbeit.
    Warum scheinbar fragst du dich, nunja wollte es mir gerade downloaden aber musste mit Entsätzen 8o feststellen das weder der Download hier noch der von deiner Homepage funktioniert! ;(
    Ich hoffe du bekommst das schnell geregelt denn ich möchte es unbedingt testen!

    Mfg Ghostleader

  • MsgBox statt abbruch bei Error in Function

    • Ghostleader
    • 2. Januar 2012 um 18:52

    Hallo zusammen,

    Function:

    Spoiler anzeigen
    [autoit]

    Func _deleteSchliessfach()
    $sBesitzer = GUICtrlRead($ComboUser)
    $aSections = IniReadSection("inis\data.ini", $sBesitzer)
    For $i = 1 To $aSections[0][0]
    If StringRegExp($aSections[$i][0], "Schliessfach") Then
    IniDelete("inis\data.ini", $sBesitzer, $aSections[$i][0])
    EndIf
    Next
    For $i = 1 To $aSections[0][0]
    If StringRegExp($aSections[$i][0], "SchließfachSilber") Then
    IniDelete("inis\data.ini", $sBesitzer, $aSections[$i][0])
    EndIf
    _clearkommplettGUI()
    Next
    EndFunc

    [/autoit]


    Bei der sich im Spoiler befindlichen Function ist es so, das wenn ich in der ComboBox (Combouser) niemanden ausgewählt habe, aber dennoch auf Schliessfach löschen gehe das das Programm wegen einem Error abstürtzt (weil kein Account in Combouser ausgewält ist).

    Fehler:

    Spoiler anzeigen

    C:\Dokumente und Einstellungen\Alexander\Desktop\Test Import Export\testlager neuer.au3 (1078) : ==> Subscript used with non-Array variable.:
    For $i = 1 To $aSections[0][0]
    For $i = 1 To $aSections^ ERROR


    Ich hätte es nun gerne so das statt des Programmabsturzes eine Msgbox erscheint und den User darauf hinweist das er keinen Account ausgewählt hat, nur leider bin ich nach zahlreichen versuchen nun verzweifelt!

    Ich hoffe das mir dafür jemand eine Lösung sagen kann!

    Mfg Ghostleader

  • Jahreswechsel

    • Ghostleader
    • 31. Dezember 2011 um 19:21

    Auch von mir einen guten Rutsch ins neue Jahr 2012 und macht weiter so wie 2011 :!: :!: :!:

    Und nun macht alle :party: :party: :party: :party: :party: und bleibt Gesund :!:

    Mfg Ghostleader

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™