Hi,
danke für die Antworten und Möglichkeiten, ich werde das morgen gleich testen und bescheid geben, bin grade nicht zuhause.
Wäre der Hammer, wenns endlich funktioniert
Danke euch!
Gruß,
x0r
Hi,
danke für die Antworten und Möglichkeiten, ich werde das morgen gleich testen und bescheid geben, bin grade nicht zuhause.
Wäre der Hammer, wenns endlich funktioniert
Danke euch!
Gruß,
x0r
Hi,
ich habe ein TreeView, in dem ich sämtliche Ordner und Dateien eines bestimmten Pfades aufgelistet habe, ist alles zugeklappt beim Start.
Jetzt möchte ich nach einem String suchen können und die gefundenen Ordner bzw Dateien (inklusive dem Ordner, in dem sie sich befinden) farbig markieren (Checkboxen sind auch möglich).
Irgendwie scheine ich für die Logik dahinter zu blöd zu sein
Aufgebaut ist das TreeView wie im Link:
https://www.autoitscript.com/forum/topic/12…createtreeview/
#Include <GUIConstantsEx.au3>
#Include <GUIImageList.au3>
#Include <GUITreeView.au3>
#Include <TreeViewConstants.au3>
#Include <WindowsConstants.au3>
#Include <WinAPIEx.au3>
Opt('MustDeclareVars', 1)
Global $hForm, $hTreeView, $hImageList, $hItem = 0, $hSelect = 0, $hInput, $Input, $Dummy1, $Dummy2
Global $X, $Y, $sPath, $sRoot = @HomeDrive
$hForm = GUICreate('MyGUI', 600, 600)
$Input = GUICtrlCreateInput('', 20, 20, 560, 19)
$hInput = GUICtrlGetHandle(-1)
GUICtrlSetState(-1, $GUI_DISABLE)
;$hTreeView = _GUICtrlTreeView_Create($hForm, 20, 50, 560, 530, BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE)
;_GUICtrlTreeView_SetHeight($hTreeView, 18)
GUICtrlCreateTreeView(20, 50, 560, 530, -1, $WS_EX_CLIENTEDGE)
$hTreeView = GUICtrlGetHandle(-1)
$Dummy1 = GUICtrlCreateDummy()
$Dummy2 = GUICtrlCreateDummy()
If _WinAPI_GetVersion() >= '6.0' Then
_WinAPI_SetWindowTheme($hTreeView, 'Explorer')
EndIf
$hImageList = _GUIImageList_Create(16, 16, 5, 1)
_GUIImageList_AddIcon($hImageList, @SystemDir & '\shell32.dll', 3)
_GUIImageList_AddIcon($hImageList, @SystemDir & '\shell32.dll', 4)
_GUIImageList_AddIcon($hImageList, @SystemDir & '\shell32.dll', 51)
_GUICtrlTreeView_SetNormalImageList($hTreeView, $hImageList)
$sRoot = StringRegExpReplace(FileGetLongName($sRoot), '\\+\Z', '')
$sPath = StringRegExpReplace($sRoot, '^.*\\', '')
If StringInStr($sPath, ':') Then
$sRoot &= '\'
$sPath &= '\'
EndIf
If _WinAPI_PathIsDirectory($sRoot) Then
$hItem = _GUICtrlTreeView_AddChild($hTreeView, 0, $sPath, 0, 0)
If FileClose(FileFindFirstFile($sRoot & '\*')) Then
_GUICtrlTreeView_AddChild($hTreeView, $hItem, '', 2, 2)
EndIf
EndIf
GUIRegisterMsg($WM_NOTIFY, 'WM_NOTIFY')
GUISetState()
If $hItem Then
_GUICtrlTreeView_Expand($hTreeView, $hItem)
EndIf
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $Dummy1 ; Update
GUISetCursor(1, 1)
_TVUpdate($hTreeView, GUICtrlRead($Dummy1))
GUISetCursor(2, 0)
Case $Dummy2 ; Menu
$hItem = GUICtrlRead($Dummy2)
$sPath = _TVGetPath($hTreeView, $hItem, $sRoot)
ConsoleWrite('-------------------------------' & @CR)
ConsoleWrite('Handle: ' & $hItem & @CR)
ConsoleWrite('Path: ' & $sPath & @CR)
If _WinAPI_PathIsDirectory($sPath) Then
ConsoleWrite('Type: ' & 'Directory' & @CR)
Else
ConsoleWrite('Type: ' & 'File' & @CR)
EndIf
ConsoleWrite('X: ' & MouseGetPos(0) & @CR)
ConsoleWrite('Y: ' & MouseGetPos(1) & @CR)
ConsoleWrite('-------------------------------' & @CR)
EndSwitch
WEnd
Func _TVGetPath($hTV, $hItem, $sRoot)
Local $Path = StringRegExpReplace(_GUICtrlTreeView_GetTree($hTV, $hItem), '([|]+)|(\\[|])', '\\')
If Not $Path Then
Return ''
EndIf
If Not StringInStr($Path, ':') Then
Return StringRegExpReplace($sRoot, '(\\[^\\]*(\\|)+)\Z', '\\') & $Path
EndIf
Return $Path
EndFunc ;==>_TVGetPath
Func _TVSetPath($hTV, $hItem, $sRoot)
GUICtrlSetData($Input, _WinAPI_PathCompactPath($hInput, _TVGetPath($hTV, $hItem, $sRoot), 554))
$hSelect = $hItem
EndFunc ;==>_TVSetPath
Func _TVUpdate($hTV, $hItem)
Local $hImageList = _SendMessage($hTV, $TVM_GETIMAGELIST)
Local $Path = StringRegExpReplace(_TVGetPath($hTV, $hItem, $sRoot), '\\+\Z', '')
Local $hIcon, $hSearch, $hSubitem
Local $Index, $File
_WinAPI_LockWindowUpdate($hTV)
_GUICtrlTreeView_Delete($hTV, _GUICtrlTreeView_GetFirstChild($hTV, $hItem))
$hSearch = FileFindFirstFile($Path & '\*')
If $hSearch = -1 Then
If Not @error Then
If FileExists($Path) Then
; If _WinAPI_PathIsDirectory($Path) Then
; ; Access denied
; EndIf
Else
_GUICtrlTreeView_Delete($hTV, $hItem)
_WinAPI_LockWindowUpdate(0)
Return 0
EndIf
EndIf
Else
While 1
$File = FileFindNextFile($hSearch)
If @error Then
ExitLoop
EndIf
If @extended Then
$hSubItem = _GUICtrlTreeView_AddChild($hTV, $hItem, $File, 0, 0)
If FileClose(FileFindFirstFile($Path & '\' & $File & '\*')) Then
_GUICtrlTreeView_AddChild($hTV, $hSubItem, '', 2, 2)
EndIf
EndIf
WEnd
FileClose($hSearch)
EndIf
$hSearch = FileFindFirstFile($Path & '\*')
If $hSearch = -1 Then
Else
While 1
$File = FileFindNextFile($hSearch)
If @error Then
ExitLoop
EndIf
If Not @extended Then
$hIcon = _WinAPI_ShellExtractAssociatedIcon($Path & '\' & $File, 1)
$Index = _GUIImageList_ReplaceIcon($hImageList, -1, $hIcon)
_GUICtrlTreeView_AddChild($hTV, $hItem, $File, $Index, $Index)
_WinAPI_DestroyIcon($hIcon)
EndIf
WEnd
FileClose($hSearch)
EndIf
_GUICtrlTreeView_SetItemParam($hTV, $hItem, 0x7FFFFFFF)
_WinAPI_LockWindowUpdate(0)
Return 1
EndFunc ;==>_TVUpdate
Func _WinAPI_LockWindowUpdate($hWnd)
Local $Ret = DllCall('user32.dll', 'int', 'LockWindowUpdate', 'hwnd', $hWnd)
If (@error) Or (Not $Ret[0]) Then
Return SetError(1, 0, 0)
EndIf
Return 1
EndFunc ;==>_WinAPI_LockWindowUpdate
Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
Local $tNMTREEVIEW = DllStructCreate($tagNMTREEVIEW, $lParam)
Local $hItem = DllStructGetData($tNMTREEVIEW, 'NewhItem')
Local $iState = DllStructGetData($tNMTREEVIEW, 'NewState')
Local $hTV = DllStructGetData($tNMTREEVIEW, 'hWndFrom')
Local $ID = DllStructGetData($tNMTREEVIEW, 'Code')
Local $tTVHTI, $tPoint
Switch $hTV
Case $hTreeView
Switch $ID
Case $TVN_ITEMEXPANDEDW
If Not FileExists(_TVGetPath($hTV, $hItem, $sRoot)) Then
_GUICtrlTreeView_Delete($hTV, $hItem)
If BitAND($iState, $TVIS_SELECTED) Then
_TVSetPath($hTV, _GUICtrlTreeView_GetSelection($hTV), $sRoot)
EndIf
Else
If Not BitAND($iState, $TVIS_EXPANDED) Then
_GUICtrlTreeView_SetSelectedImageIndex($hTV, $hItem, 0)
_GUICtrlTreeView_SetImageIndex($hTV, $hItem, 0)
Else
_GUICtrlTreeView_SetSelectedImageIndex($hTV, $hItem, 1)
_GUICtrlTreeView_SetImageIndex($hTV, $hItem, 1)
If Not _GUICtrlTreeView_GetItemParam($hTV, $hItem) Then
GUICtrlSendToDummy($Dummy1, $hItem)
EndIf
EndIf
EndIf
Case $TVN_SELCHANGEDW
If BitAND($iState, $TVIS_SELECTED) Then
If Not FileExists(_TVGetPath($hTV, $hItem, $sRoot)) Then
_GUICtrlTreeView_Delete($hTV, $hItem)
$hItem = _GUICtrlTreeView_GetSelection($hTV)
EndIf
If $hItem <> $hSelect Then
_TVSetPath($hTV, $hItem, $sRoot)
EndIf
EndIf
Case $NM_RCLICK
$tPoint = _WinAPI_GetMousePos(1, $hTV)
$tTVHTI = _GUICtrlTreeView_HitTestEx($hTV, DllStructGetData($tPoint, 1), DllStructGetData($tPoint, 2))
$hItem = DllStructGetData($tTVHTI, 'Item')
If BitAND(DllStructGetData($tTVHTI, 'Flags'), $TVHT_ONITEM) Then
_GUICtrlTreeView_SelectItem($hTreeView, $hItem)
If Not FileExists(_TVGetPath($hTV, $hItem, $sRoot)) Then
_GUICtrlTreeView_Delete($hTV, $hItem)
$hItem = _GUICtrlTreeView_GetSelection($hTV)
Else
GUICtrlSendToDummy($Dummy2, $hItem)
EndIf
If $hItem <> $hSelect Then
_TVSetPath($hTV, $hItem, $sRoot)
EndIf
EndIf
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY
Alles anzeigen
Danke & Gruß,
x0r
Hi,
evtl kannst du da mit einer "ini" (oder txt geht auch) arbeiten, die eine darin enthaltene Zahl immer weiter hochzählt, sobald jemand auf seinen Button klickt und diese Zahl genauso vor der Ausgabe ausliest.
Ich würds jedenfalls so versuchen
Gruß,
x0r
Tag,
selbstverständlich meinte ich "WordPad" (ich schiebs mal auf die Uhrzeit).
Kurz und knapp: Thx!
Hi,
kurz und knapp: Ist es möglich, z.b. eine Textdatei (*.txt) mit Editor ODER Notepad zu öffnen?
Eigentlich möchte ich aus einer GUI heraus eine PDF in verschiedenen Programmen öffnen können (PDF Reader, PDF Explorer, TerraExplorer,...)
Beispiel:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$GUI = GUICreate("GUI", 396, 116, 192, 114)
$in_file = GUICtrlCreateInput("", 8, 8, 377, 21)
$rb_note = GUICtrlCreateRadio("Öffnen mit Notepad", 8, 40, 113, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$rb_edit = GUICtrlCreateRadio("Öffnen mit Editor", 8, 56, 113, 17)
$open = GUICtrlCreateButton("Öffnen", 8, 80, 115, 25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $open
$file = GUICtrlRead($in_file)
If $file <> "" Then
If GUICtrlRead($rb_edit) = 1 Then
;$file -> Öffnen mit Editor
ElseIf GUICtrlRead($rb_note) = 1 Then
;$file -> Öffnen mit Notepad
EndIf
EndIf
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Alles anzeigen
Stelle mich da grade etwas an, ist ja quasi schon Schlafenszeit
Danke für die Hilfe.
Grüße,
x0r
So, n bissl was "zusammenkopiert" hab ich, nur zeigts mir keine PDF an, warum auch immer:
In Zeile 91 wird bzw sollte die PDF angezeigt werden, tut sich aber nix.
PDF raussuchen, rechtsklick drauf, läd kurz (Mauszeiger Sanduhr) und nix passiert. Ärgerlich
;~ #RequireAdmin
#Include <GUIConstantsEx.au3>
#Include <GUIImageList.au3>
#Include <GUITreeView.au3>
#Include <GUIToolBar.au3>
#Include <TreeViewConstants.au3>
#Include <WindowsConstants.au3>
#Include <WinAPIEx.au3>
;~ MsgBox(0,"", _WinAPI_GetVersion())
;~ Opt('MustDeclareVars', 1)
Global $sRoot = @ScriptDir ;sollte PDFs enthalten
Global $hForm, $hTreeView, $hImageList, $hItem, $hNext, $hSelect = 0, $hInput, $Input, $Dummy1, $Dummy2, $Edit1, $hToolBar
Global $X, $Y, $sPath
Global Enum $e_idNew = 1000, $e_idOpen, $e_idSave, $e_idHelp
$hForm = GUICreate("MyGUI", 1150, 630, 192, 125)
$Input = GUICtrlCreateInput("", 20, 44, 560, 21)
$hInput = GUICtrlGetHandle(-1)
GUICtrlSetState(-1, $GUI_DISABLE)
$hToolBar = _GUICtrlToolbar_Create($hForm, 0)
$aSize = _GUICtrlToolbar_GetMaxSize($hToolbar)
_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
; Add buttons
_GUICtrlToolbar_AddButton($hToolbar, $e_idNew, $STD_FILENEW)
_GUICtrlToolbar_AddButton($hToolbar, $e_idOpen, $STD_FILEOPEN)
_GUICtrlToolbar_AddButton($hToolbar, $e_idSave, $STD_FILESAVE)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar, $e_idHelp, $STD_HELP)
Global $oPDF = ObjCreate("AcroPDF.PDF")
Global $GUI_ActiveX = GUICtrlCreateObj($oPDF, 256, 72, 865, 529)
GUICtrlSetStyle($GUI_ActiveX, $WS_VISIBLE)
GUICtrlSetResizing($GUI_ActiveX, $GUI_DOCKAUTO)
GUICtrlCreateTreeView(20, 74, 216, 530, -1, $WS_EX_CLIENTEDGE)
$hTreeView = GUICtrlGetHandle(-1)
$Dummy1 = GUICtrlCreateDummy()
$Dummy2 = GUICtrlCreateDummy()
If _WinAPI_GetVersion() >= '6.0' Then
_WinAPI_SetWindowTheme($hTreeView, 'Explorer')
EndIf
$hImageList = _GUIImageList_Create(16, 16, 5, 1)
_GUIImageList_AddIcon($hImageList, @SystemDir & '\shell32.dll', 3)
_GUIImageList_AddIcon($hImageList, @SystemDir & '\shell32.dll', 4)
_GUICtrlTreeView_SetNormalImageList($hTreeView, $hImageList)
$sRoot = StringRegExpReplace($sRoot, '\\+\Z', '')
$sPath = StringRegExpReplace($sRoot, '^.*\\', '')
If StringInStr($sPath, ':') Then
$sRoot &= '\'
$sPath &= '\'
EndIf
_TVUpdate($hTreeView, _GUICtrlTreeView_AddChild($hTreeView, 0, $sPath, 0, 0))
GUIRegisterMsg($WM_NOTIFY, 'WM_NOTIFY')
GUISetState()
_GUICtrlTreeView_Expand($hTreeView, _GUICtrlTreeView_GetFirstItem($hTreeView))
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
$oPDF.close
Exit
Case $Dummy1 ; Update
GUISetCursor(1, 1)
$hItem = _GUICtrlTreeView_GetFirstChild($hTreeView, GUICtrlRead($Dummy1))
If $hItem Then
While $hItem
$hNext = _GUICtrlTreeView_GetNextSibling($hTreeView, $hItem)
If Not _TVUpdate($hTreeView, $hItem) Then
_GUICtrlTreeView_Delete($hTreeView, $hItem)
EndIf
$hItem = $hNext
WEnd
_WinAPI_RedrawWindow($hTreeView)
EndIf
GUISetCursor(2, 0)
Case $Dummy2 ; Show PDF
$hItem = GUICtrlRead($Dummy2)
$sPath = _TVGetPath($hTreeView, $hItem, $sRoot)
$oPDF.src = '"' & $sPath & '"'
EndSwitch
WEnd
Func _TVGetPath($hTV, $hItem, $sRoot)
Local $Path = StringRegExpReplace(_GUICtrlTreeView_GetTree($hTV, $hItem), '([|]+)|(\\[|])', '\\')
If Not $Path Then
Return ''
EndIf
If Not StringInStr($Path, ':') Then
Return StringRegExpReplace($sRoot, '(\\[^\\]*(\\|)+)\Z', '\\') & $Path
EndIf
Return $Path
EndFunc ;==>_TVGetPath
Func _TVSetPath($hTV, $hItem, $sRoot)
GUICtrlSetData($Input, _WinAPI_PathCompactPath($hInput, _TVGetPath($hTV, $hItem, $sRoot), 554))
$hSelect = $hItem
EndFunc ;==>_TVSetPath
Func _TVUpdate($hTV, $hItem)
Local $hImageList = _SendMessage($hTV, $TVM_GETIMAGELIST)
Local $Path = StringRegExpReplace(_TVGetPath($hTV, $hItem, $sRoot), '\\+\Z', '')
Local $hSearch, $hIcon, $Index, $File
$hSearch = FileFindFirstFile($Path & '\*')
If $hSearch = -1 Then
If Not @error Then
If not FileExists($Path) Then
Return 0
EndIf
EndIf
Else
While 1
$File = FileFindNextFile($hSearch)
If @error Then
ExitLoop
EndIf
If @extended Then
_GUICtrlTreeView_AddChild($hTV, $hItem, $File, 0, 0)
EndIf
WEnd
FileClose($hSearch)
EndIf
$hSearch = FileFindFirstFile($Path & '\*.pdf')
If $hSearch = -1 Then
Else
While 1
$File = FileFindNextFile($hSearch)
If @error Then
ExitLoop
EndIf
If Not @extended Then
$hIcon = _WinAPI_ShellExtractAssociatedIcon($Path & '\' & $File, 1)
$Index = _GUIImageList_ReplaceIcon($hImageList, -1, $hIcon)
_GUICtrlTreeView_AddChild($hTV, $hItem, $File, $Index, $Index)
_WinAPI_DestroyIcon($hIcon)
EndIf
WEnd
FileClose($hSearch)
EndIf
Return 1
EndFunc ;==>_TVUpdate
Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
Local $tNMTREEVIEW = DllStructCreate($tagNMTREEVIEW, $lParam)
Local $hItem = DllStructGetData($tNMTREEVIEW, 'NewhItem')
Local $iState = DllStructGetData($tNMTREEVIEW, 'NewState')
Local $hTV = DllStructGetData($tNMTREEVIEW, 'hWndFrom')
Local $ID = DllStructGetData($tNMTREEVIEW, 'Code')
Local $tTVHTI, $tPoint
Switch $hTV
Case $hTreeView
Switch $ID
Case $TVN_ITEMEXPANDEDW
If Not FileExists(_TVGetPath($hTV, $hItem, $sRoot)) Then
_GUICtrlTreeView_Delete($hTV, $hItem)
If BitAND($iState, $TVIS_SELECTED) Then
_TVSetPath($hTV, _GUICtrlTreeView_GetSelection($hTV), $sRoot)
EndIf
Else
If Not BitAND($iState, $TVIS_EXPANDED) Then
_GUICtrlTreeView_SetSelectedImageIndex($hTV, $hItem, 0)
_GUICtrlTreeView_SetImageIndex($hTV, $hItem, 0)
Else
_GUICtrlTreeView_SetSelectedImageIndex($hTV, $hItem, 1)
_GUICtrlTreeView_SetImageIndex($hTV, $hItem, 1)
If Not _GUICtrlTreeView_GetItemParam($hTV, $hItem) Then
_GUICtrlTreeView_SetItemParam($hTV, $hItem, 0x7FFFFFFF)
GUICtrlSendToDummy($Dummy1, $hItem)
EndIf
EndIf
EndIf
Case $TVN_SELCHANGEDW
If BitAND($iState, $TVIS_SELECTED) Then
If Not FileExists(_TVGetPath($hTV, $hItem, $sRoot)) Then
_GUICtrlTreeView_Delete($hTV, $hItem)
$hItem = _GUICtrlTreeView_GetSelection($hTV)
EndIf
If $hItem <> $hSelect Then
_TVSetPath($hTV, $hItem, $sRoot)
EndIf
EndIf
Case $NM_RCLICK
$tPoint = _WinAPI_GetMousePos(1, $hTV)
$tTVHTI = _GUICtrlTreeView_HitTestEx($hTV, DllStructGetData($tPoint, 1), DllStructGetData($tPoint, 2))
$hItem = DllStructGetData($tTVHTI, 'Item')
If BitAND(DllStructGetData($tTVHTI, 'Flags'), $TVHT_ONITEM) Then
_GUICtrlTreeView_SelectItem($hTreeView, $hItem)
If Not FileExists(_TVGetPath($hTV, $hItem, $sRoot)) Then
_GUICtrlTreeView_Delete($hTV, $hItem)
$hItem = _GUICtrlTreeView_GetSelection($hTV)
Else
GUICtrlSendToDummy($Dummy2, $hItem)
EndIf
If $hItem <> $hSelect Then
_TVSetPath($hTV, $hItem, $sRoot)
EndIf
EndIf
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY
Alles anzeigen
€dit: 500. Beitrag, wohooo!!!
Ok, das sind schonmal echt gute Ansätze, mal sehen, wie ich das alles realisiert bekomme (muss bald sein, sonst latscht mir mein (neuer) Chef auf die Klöten :D).
Kann ich das gezeichnete auf der "Zeichenfläche" auch irgendwie speicher, damit ich es beim nächsten Öffnen wieder sehe?
Danke für deine Antwort übrigens
Leider seh ich nicht, was "der Andere da" mit ISN meinte...
Hi,
gibts unter euch jemanden, der einen "Digitalen Planungsordner" bauen kann?
Ne Art Vorlage hätte man hier: http://www.akgsoftware.de/OKview.93.0.html
- einfache Übersicht, vollständiges Projekt in einer Datei, inkl. Inhaltsverzeichnis bzw. Treeview
- Dateien direkt im Programm öffnen (nicht zwingend) und Notizen hinzufügen oder "zeichnen"
- Teile des Ordners als PDF exportieren
[Blockierte Grafik: http://www.akgsoftware.de/uploads/pics/OK_View_800x600.jpg]
Hoffe ihr könnt was damit anfangen, ich hab leider gar keinen Plan, wo ich am besten anfange. Ein Treeview ist nicht das Problem
€dit: Man muss die geöffnete Datei (zu 100% PDF) auch Zoomen können und dann das jeweils gezeichnete natürlich auch an der gezeichneten Position speichern und quasi "mitzoomen".
Hat wirklich sonst niemand Plan von sowas?
Gruß,
x0r
google -> autoit access udf
https://www.autoitscript.com/forum/topic/140277-ms-access-udf/
Ich habe hier 3 oder 4 so Steckbretter rumfliegen, glaube 2 kleine und 2 große. Habe im Moment nur 1 kleines in Benutzung, daher lass ichs erstmal so.
Gelötet wird nix, das wäre ja sonst ein immer währender Aufwand an Kosten usw
Ddas mag schon sein, mit Widerständen hat es nicht funktioniert und in der Konstellation läufts schon über 1,5 Jahre.
So falsch kann es also gar nicht sein
Hi,
das mit dem LED-Strip war eigentlich ne relativ einfache Sache, was ich nur zusätzlich gebraucht habe, waren 3 Transistoren die ich mir in nem Elektronikladen besorgt hatte und ein altes PC-Netzteil (wegen den konstanten 12V).
Der Code ist auch nicht sehr anspruchsvoll, es sind einfach ein paar Schleifen, die die einzelnen Farben nach oben und wieder nach unten schrauben und das Ganze halt im Loop.
Code:
#define BL 11
#define GR 10
#define RE 9
#define FADE 10 // make this higher to slow down
int x = 0;
void setup() {
pinMode(RE, OUTPUT);
pinMode(GR, OUTPUT);
pinMode(BL, OUTPUT);
}
void loop() {
//////////////// Fading - Forward
//RED +
for (int a = 0; a < 256; a++) {
analogWrite(RE, a);
delay(FADE);
}
//BLUE -
if (x != 0) {
for (int c = 255; c > -1; c--) {
analogWrite(BL, c);
delay(FADE);
}
}
//GREEN +
for (int b = 0; b < 256; b++) {
analogWrite(GR, b);
delay(FADE);
}
//RED -
for (int a = 255; a > -1; a--) {
analogWrite(RE, a);
delay(FADE);
}
//BLUE +
for (int c = 0; c < 256; c++) {
analogWrite(BL, c);
delay(FADE);
}
//GREEN -
for (int b = 255; b > -1; b--) {
analogWrite(GR, b);
delay(FADE);
}
x = 1;
}
Alles anzeigen
Die Verdrahtung hatte ich irgendwo im Internet gefunden, sieht man im Bild glaub ich gar nicht mal so gut
€dit: Hier isses ganz gut dargestellt, allerdings hab ich die Widerstände weggelassen (mit hats glaube nicht funktioniert): http://www.jerome-bernard.com/blog/2013/01/1…-by-an-arduino/
Hi Oscar,
mit Arduino (hab 2) habe ich schon diverse kleinere, aber recht sinnlose Sachen gebastelt.
Habe z.b. einen Meter von einem LED-Strip mit Hilfe von einem PC-Netzteil und Arduino in Farbwechsel-Schleife laufen, ist auch heute noch im Betrieb
Eine Wetterstation wäre schon mal was cooles und sinnvolleres
Du könntest theoretisch auch dieses LCD-Panel als Ausgabe hernehmen.
Gruß,
x0r
€dit: Du kannst die Daten auch einfach in eine "ini" auslagern und später mit AutoIt auslesen: http://forum.arduino.cc/index.php?topic=320771.0
#include <GUIListView.au3>
#include <GUIConstants.au3>
#include <File.au3>
#NoTrayIcon
$GUI = GUICreate("Auflistung", 800, 600)
$List = GUICtrlCreateListView("", 20, 240, 760, 340)
_GUICtrlListView_AddColumn($List, "ID")
_GUICtrlListView_AddColumn($List, "Kategorie")
_GUICtrlListView_AddColumn($List, "Sound1")
_GUICtrlListView_AddColumn($List, "Titel")
_GUICtrlListView_AddColumn($List, "Sound2")
_GUICtrlListView_AddColumn($List, "Text")
_GUICtrlListView_AddColumn($List, "Schalter")
Global $file = @ScriptDir & "\daten2.txt"
filllist()
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func filllist()
Dim $ary
_FileReadToArray($file, $ary)
For $i = 1 To $ary[0]
$tmp = StringReplace($ary[$i], ";", "|")
GUICtrlCreateListViewItem($tmp, $List)
Next
EndFunc ;==>filllist
Alles anzeigen
Ich meinte, "wget" als externes Programm, damit kannst auch Zeug ausm Netz saugen.
Ist ein Kommandozeilen-Tool, denke Benutzername/Passwort sollte das auch unterstützen.
Damit hol ich mir immer gewisse Sachen von Webseiten
mal mit wget versucht?
ProcessWaitClose() usw...
...und du hast dich jetz neu angemeldet, um das mitzuteilen?
Dein "alter" Benutzer ist übrigens gesperrt, kommt löschen gleich, also was willste noch?