Sag doch mal im Detail, was das Skript genau tun soll.
Gewissermaßen als Pseudo-Code, das ist schon die halbe Miete.
Dann schrittweise umsetzen in Programmcode.
Wir greifen dir gern unter die Arme.
Beiträge von BugFix
-
-
Da hat peethebee (wie so oft :P) völlig recht.
Hier findest du übrigens ein gutes Manual: http://de2.php.net/manual/en/index.php
Ein Teil davon läßt sich auch in deutsch anzeigen. -
Ich schaus nachher nochmal an.
-
Zitat
Hallo! Leider gibt es noch Probleme hierbei:
ZitatKeiner eine Idee?
Nunja, bei der umfassenden Schilderung der noch bestehenden Probleme....

-
OK, dann mußt du mal etwas basteln, der meckert wegen dem Else. Am besten erst mal den Cod strukturiert einrücken - das war auch mein Hauptproblem, dadrin irgendwas zu lesen, alles in einer Ebene.

-
Wenn ich das richtig sehe, wird an dieser Position der Name in die Datei geschrieben:
Code{ $data = $this->FileName($file) . "," . filesize($dir.$file) . "*"; $dat = $data; fwrite($FHandle, $dat); $this->i++; }Ersetze das doch mal hiermit
Code
Alles anzeigen{ $data = $this->FileName($file) . "," . filesize($dir.$file) . "*"; if(substr($data, 0,1) == ".") { $dat = substr($data, 1); else $dat = $data; } fwrite($FHandle, $dat); $this->i++; }Bin kein php-Coder, aber die Syntax weicht ja nicht sooo sehr von AutoIt ab

Rein von der Logik sollte es passen. -
-
-
Hi,
das Problem war der Versuch den Style zu ändern, das hist hier fehl am Platz.
So geht es:Spoiler anzeigen
[autoit]#include <guiconstants.au3>
[/autoit] [autoit][/autoit] [autoit]
Opt('GUIOnEventMode', 1)
$gui = GUICreate('')
GUISetOnEvent($GUI_EVENT_CLOSE, 'end')
$CheckBox = GUICtrlCreateCheckbox('Check', 10, 10)
GUICtrlSetOnEvent(-1, 'Checkbox_Clicked')GUISetState()
[/autoit] [autoit][/autoit] [autoit]While True
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc end()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc Checkbox_Clicked()
[/autoit]
If BitAND(GUICtrlRead($CheckBox), $GUI_Checked) Then
WinSetOnTop($gui, '', 1)
Else
WinSetOnTop($gui, '', 0)
EndIf
EndFunc -
-
Du schreibst:
... Then GUISetStyle(-1, $WS_EX_TOPMOST)
Setz anstelle der -1 mal die Variable des Fenster-Handle ein.
Oscar, da bist du leider auf dem Holzweg
Syntax: GUISetStyle(STYLE, EX_STYLE [, WINHANDLE])Die Syntax stimmt also. Der wirkliche TopMost-Effekt, ist tatsächlich nicht ohne weiteres erreichbar. Denn wenn ein anderes Fenster geöffnet wird, das ebenfalls TopMost gesetzt ist, so kommt dieses in den Vordergrund.
Um dein Fenster, wie den Task-Manager, immer vorn zu halten, mußt du kontinuierlich überwachen (AdlibEnable), welche Fenster vorhanden sind (WinList), und deines immer wieder durch aktivieren nach vorn setzen.
Bei mehreren Fenstern mit TopMost ist immer das TOP, welches zuletzt gesetzt wurde.Achja, das hier:
[autoit]$pin = GUICtrlRead($checkBox)
[/autoit]
If $pin = 1 Then GUISetStyle(-1, $WS_EX_TOPMOST)'kannst du in einem Aufruf zusammenfassen:
[autoit]If BitAND(GUICtrlRead($checkBox), $GUI_Checked) Then GUISetStyle(-1, $WS_EX_TOPMOST)
[/autoit] -
Ist es so schwer, Fragen verständlich zu stellen?
Bestimmt an die hundert mal wurden Hinweise gegeben, wie man sinnvoll sein Problem darstellt.
Nun zum 101.
- welches ist die Ausgangssituation
- was möchtest du erreichen
- was ist bisher getan
- Codebeispiel !!!Meine Glaskugel sagt mir, dass du wahrscheinlich während eine Schleife läuft, eine andere Funktion gleichzeitig ausführen möchtest.
Schau dir mal AdlibEnable an.
Aus einer Schleife kommst du mit ExitLoop wieder raus (If Bedingung Then ExitLoop). -
GtaSpider
Ich hab mal deine Version getestet, aber dabei laäßt sich der Skriptblock gar nicht ausführen.
Eigentlich klar, das Skript wird in _StartHide() aufgerufen (Run..) - aber auch in jedem Fall gekillt (Exit).
-
Hmm,
du möchtest eine Art globale Fehlerabfrage (If @error Then Exit) ohne die Fehlerprüfung hinter jeden möglichen fehlerverursachenden Befehl zu schreiben?
Ich wüßte nicht, wie das zu lösen ist. Vielleicht findet sich was im EN-Forum. -
Hmm,
da hab ich zu schnell eine neue Funktion erstellt.
Es gibt doch eine entsprechende Funktion - aber wieso wird da nicht der bekannte Name beibehalten, also wie bei den anderen Funktionen statt _GUICtrlListClear ==> _GUICtrlListBox_Clear
Wie sagte Asterix bereits: Die spinnen, die Briten.
Die neue Funktion in der GUIListBox.au3 zum Inhalt löschen lautet: _GUICtrlListBox_ResetContent
-
Hi,
[autoit]
die aktuellen ListBox-Funktionen enthalten keine Funktion zum Leeren der ListBox.
Deshalb habe ich diese hier mal nachgebaut.
Als Rückgabewerte sind "0" für Fehler und "1" für Erfolg gesetzt, somit kann die Funktion mit
If _GUICtrlListBoxClear($ListBoxHandle) Then
ausgewertet werden.Func _GUICtrlListBoxClear($ListBoxHandle)
[/autoit]
If Not IsHWnd($ListBoxHandle) Then Return SetError(1, 0, 0)
Local $rest, $count = _GUICtrlListBox_GetCount($ListBoxHandle)
If $count > 0 Then
Do
$rest = _GUICtrlListBox_DeleteString($ListBoxHandle, 0)
Until $rest = 0
EndIf
Return 1
EndFunc -
Im ersten Post jetzt die auf 3.2.10.0 angepaßte Version.
-
Schau dir mal _FileReadToArray an.
-
Wenn du die Werte nur in die MsgBox ausliest, kannst du sie auch nicht auswerten.
[autoit]
Du mußt die Werte an eine Variable übergeben und dann diese auswerten, momentan fragst du nur die ID's ab.
So in etwa sollte es aussehen:$Value_Slider1 = GuiCtrlRead($Slider1)
[/autoit]
Switch $Value_Slider1
Case 1
; Code
Case 10
; Code
Case 50
; Code
EndSwitch -
Hab gerade zusätzlich mit Tcl/Tk begonnen.
Reizvoll daran, dass es plattformunabhängig ist. Und dazu noch eine genial einfache Syntaxstruktur.