Standardmäßig kannst du Controlbeschriftung mit GUICtrlSetColor() einfärben. Den Hintergrund mit GUICtrlSetBkColor().
Du wirst aber in einem Editor unterschiedliche Farben einsetzen wollen - such mal nach RichEditCtrl.
Beiträge von BugFix
-
-
Da gibt es doch super Seiten im Web:
http://www.neunmalklug.ch/archiv/wissen.htm
http://www.w-akten.de/ -
'V(E|V)_[A-Z]*\.TXT*(?!.)'
^^^^
ist das das Zeilenende???
Hier mal die Erklärung zum Pattern:V - ein V
(E|V) - gefolgt von einem E oder einem V
_ - ein Unterstrich
[A-Z]* - die Buchstaben A-Z beliebig oft
\. - ein Punkt
TXT - die Buchstaben TXT
(?!.) - es darf kein weiteres Zeichen folgen -
da das bei autoit mit controlclick noch sehr fehleranfällig ist
Das ist mir neu. ControlClick ist meiner Erfahrung nach zuverlässig. Optimal ist es, die Cotrols über CLASSNAME anzusprechen. -
Also wenn ich das richtig verstanden habe, brauchst du ein Pattern, das nur Zeilen ohne .SIC anzeigt.
[autoit]
Aber der String beginnt mit VV_ oder VE_ .If StringRegExp($string, 'V(E|V)_[A-Z]*\.TXT*(?!.)') Then
[/autoit]
; kein .SIC enthalten
EndIf -
Ohne Bugfixs UDF herabwürdigen zu wollen, aber in diesem Fall reichen auch die "Standard"-UDFs.

Wo er Recht hat, hat er Recht
- Man muß doch nicht gleich mit Kanonen auf Spatzen schießen 
-
Hi,
wenn das 'M' sowieso immer dasein muß, braucht es ja gar nicht ins Input. Dann kann man auch einfacher prüfen.
Nun kannst du wirklich nur noch 1-10 eintippen.
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <EditConstants.au3>
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("Test", 369, 420, 331, 130)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
GUICtrlCreateLabel('M', 90, 22, 12)
GUICtrlSetFont(-1, 11, 600)
$Input1 = GUICtrlCreateInput("", 104, 19, 28, 21, $ES_NUMBER)
$lbFalse = GUICtrlCreateLabel('Eingabe unzulässig', 180, 22, 100)
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetState(-1, $GUI_HIDE)
GUISetState(@SW_SHOW)
GUIRegisterMsg($WM_COMMAND, 'MY_WM_COMMAND')While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc Form1Close()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc MY_WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
[/autoit]
Local $nNotifyCode = BitShift($wParam, 16)
Local $hCtrl = $lParam
Local $hInput = GUICtrlGetHandle($Input1)
If $hCtrl = $hInput And $nNotifyCode = 1024 Then
Local $read = GUICtrlRead($Input1)
GUICtrlSetState($lbFalse, $GUI_HIDE)
If (StringLen($read) = 1 And $read = 0) Or (StringLen($read) > 1 And _
(Not StringRegExp($read , "((?<!.)[1-9]|10)(?!.)"))) Then
GUICtrlSetState($lbFalse, $GUI_SHOW)
GUICtrlSetData($Input1, '')
EndIf
EndIf
Return $GUI_RUNDEFMSG
EndFunc -
Ich empfehle dir SQLite zu verwenden. Schau mal im Unterforum Datenbanken, da wirst du schon fündig. Fang einfach an und wenn Probleme auftauchen: Hier werden Sie geholfen!

-
Hi,
[autoit]
ich hab dir mal 'ne schönere Variante gebastelt.
#include <GUIConstants.au3>
[/autoit][autoit][/autoit][autoit]
#include <WindowsConstants.au3>
#include <EditConstants.au3>
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("Test", 369, 420, 331, 130)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
$Input1 = GUICtrlCreateInput("", 104, 19, 65, 21)
$lbFalse = GUICtrlCreateLabel('Eingabe unzulässig', 180, 22, 100)
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetState(-1, $GUI_HIDE)
GUISetState(@SW_SHOW)
GUIRegisterMsg($WM_COMMAND, 'MY_WM_COMMAND')While 1
[/autoit][autoit][/autoit][autoit]
Sleep(100)
WEndFunc Form1Close()
[/autoit][autoit][/autoit][autoit]
Exit
EndFuncFunc MY_WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
[/autoit]
Local $nNotifyCode = BitShift($wParam, 16)
Local $hCtrl = $lParam
Local $hInput = GUICtrlGetHandle($Input1)
If $hCtrl = $hInput And $nNotifyCode = 1024 Then
GUICtrlSetState($lbFalse, $GUI_HIDE)
If StringLen(GUICtrlRead($Input1)) > 1 And (Not StringRegExp(GUICtrlRead($Input1) , "M(?i)(10|[1-9])(?!.)")) Then
GUICtrlSetState($lbFalse, $GUI_SHOW)
GUICtrlSetData($Input1, '')
Return
EndIf
EndIf
Return $GUI_RUNDEFMSG
EndFunc -
Oh man, ich bin echt betrübt. Allein die Reaktionen bisher zeigen, das mein Empfinden richtig ist.
Wozu soll ich jemanden mit Namen benennen? Mir geht es doch nicht darum irgendwen anzuschwärzen oder zu maßregeln. Ich bin doch keine Gouvernante.
Mein Ansinnen ist schlicht und einfach, dass wir alle darüber nachdenken wie wir uns hier begegnen. Naja, das war wohl zuviel an Erwartung.
-
[autoit]wäre super, wenn jetzt jemand noch auf meine frage aus post #3 eingehen kann.
Send("{CTRLDOWN}{ALTDOWN}1{ALTUP}{CTRLUP}")
[/autoit] -
Hi,
ich mache mir etwas Sorgen um den Umgangston, der zur Zeit im Forum herrscht.
Ich bin seit fast 3 Jahren hier dabei und habe es immer als sehr wohltuend empfunden, dass i.A. weder Besserwissermentalität noch Selbstverleugnung vorzufinden waren. Das Klima war geprägt von freundschaftlichem, wohlwollendem Miteinander. User, die anderer Natur waren, haben sich recht schnell wieder verzogen.
Im Moment liegt jedoch teilweise ein Ton in der Luft, den ich mal als 'gereizt' bezeichnen möchte. Ich hoffe, die User die gemeint sind, fühlen sich auch angesprochen. Da werden die Werke Anderer recht grob runtergemacht, in einem anderen Thread gibt es dann die Retourkutsche durch den Betroffenen. Das ist eine Art und Weise, die schnell wieder abgelegt werden sollte.
Ich hoffe mal, dass dies eine Nebenwirkung der unfreundlichen Jahreszeit ist - also reiner Vitamin-D Mangel.In diesem Sinne - habt Euch alle lieb und nehmt Euch in die Arme.

-
Na das ist ja eine gewaltige Aufgabe, die du dir vorgenommen hast. Wünsche dir viel Erfolg dabei.
( Deine Aufgabenstellung noch um Cybersex erweitern und alle sind glücklich
) -
Ist mir bisher noch nicht begegnet ( was nix heißen muß
), aber ich weiß auch nicht ob das generell möglich ist, da die Einstellung ja schon von PC zu PC nicht im selben Menü ist. Viele Grafiktreiber versorgen dich dort mit zusätzlichen Tabs, auf denen herstellerspezifische Einstellungen vorgenommen werden können. -
Nicht dass wir uns mißverstehen. Ich spreche nicht von den allgemeinen AutoItfehlermeldungen, sondern von den Auswertungen der Funktionsreturns:
[autoit]#include <FTP.au3>
[/autoit]
$server = "SERVER.de"
$username = "USER"
$pass = "PASSWORD"
$Open = _FTPOpen('Test')
If @error Then MsgBox(0, '', 'FTP-Sitzung konnte nicht erstellt werden.')
$Conn = _FTPConnect($Open,$server,$username,$pass)
If @error Then MsgBox(0, '', 'Verbindung zum Server fehlgeschlagen.')
$Ftpp = _FTPPutFile($Conn, @TempDir & '\DOA.log', '/test.txt')
If @error Then MsgBox(0, '', 'Upload fehlgeschlagen.')
$Ftpc = _FTPClose($Open)Edit: Das Flag für passiv noch
$Conn = _FTPConnect($Open,$server,$username,$pass, 0, 1, 0x08000000) -
aber ezz geht es iwi nicht mehr
Na das ist ja mal 'ne goldige Fehlerbeschreibung.
Was ergibt denn dein Debugging? Wo tritt der Fehler auf? Bei ..Open, ..Connect, ..Upload? Das kannst du doch alles prüfen. Wenn die Funktionen fehlschlagen geben sie einen Fehlerwert zurück. -
Ich handhabe das dynamisch, also definieren als $arTreeItem[1][2]. Bei Erstellen eines Item wird das Array mit ReDim vergrößert und die die ID in [n][0] eingetragen. In [n][1] hinterlege ich dann den Text des Item, das erleichert die Auswertung beim Zugriff.
-
Du hast nur den Text durch Leerstring ersetzt - die Zeile wird aber beendet mit einem @CRLF. Das mußt du auch entfernen, wenn die Zeile komplett verschwinden soll.
-
edit: Was genau nützt der Board manager?
Das kommt etwas unklar rüber mit dem Begriff. Soll ein Container für kopierte Elemente sein. Habs selbst noch nicht getestet.
Ich habe immer etwas Bauchschmerzen mit Programmen, die nicht portabel laufen. Eingriffe in mein System möchte ich weitgehend verhindern. -
Ich möchte aber das der Anwender entweder eine vorhandene Datei oder einen vorhandenen Ordner wählen kann.
Gibt es dafür eine Lösung ?
Füge doch einfach eine Abfrage ein, wo der User wählen muß: Datei od. Ordner - und dann öffnest du den entsprechenden Dialog.