Beiträge von Greenhorn
-
-
Aber wie kann ich erkennen, ob eine Datein *.zip oder *.rar ist.
Einfach die ersten drei Bytes der Datei einlesen.
Bei einem RAR-Archiv sind die ersten drei Bytes 0x52 0x61 0x72 ("Rar"), bei einem 7-Zip-Archiv sind die ersten zwei Bytes 0x37 0x7A ("7z").Gruß
Greenhorn -
-
-
Mal 'ne blöde Frage, hast Du evtl. die Auslagerungsdatei deaktiviert ?
Wie ist der Zustand der Hardware ?
Auf einem Laptop würde ich keine Spiele spielen ...Gruß
Greenhorn -
Auch meiner einer möchte Dir alles Gute und die herzlichsten Glückwünsche zum Burzeltag senden !

Lieben Gruß
Greenhorn -
Hmm, sollte sich dort etwa der Schalk eingeschlichen haben ... ?


Gruß
Greenhorn -
Hi,
Zitat
Local $aRepl[37][1] = ['Chr(34)', " ", "| ", "| ", "|"...
;...
For $i = 0 To UBound($aRepl) - 1
$String = StringReplace($String, $aRepl[$i][0], $aRepl[$i][1])
Next
[autoit]
So ist's kürzer ...
[/autoit][autoit][/autoit][autoit]
Global $String = '["HKLM , SYSTEM / ControlSet001 | Control >>>> Class - {4D36E972-E325-11CE-BFC1-08002bE10318} ; 0001 >> Ndi > params -->>> FlowControl ," enum]'
Func CheckString($String)
$String = StringRegExpReplace ($String, "(\h+.*?\h+)", '\\')
$String = StringRegExpReplace ($String, '([\[\]"])', '')
$String = StringReplace($String, "HKCR", "HKEY_CLASSES_ROOT", 1)
$String = StringReplace($String, "HKLM", "HKEY_LOCAL_MACHINE", 1)
$String = StringReplace($String, "HKCU", "HKEY_CURRENT_USER", 1)
$String = StringReplace($String, "HKU", "HKEY_USERS", 1)
$String = StringReplace($String, "HKCC", "HKEY_CURRENT_CONFIG", 1)
Return $String
EndFunc ;=>CheckString
;~ MsgBox(0, "String ...", $String)
;~ MsgBox(0, "Umgeänderter String ...", CheckString($String))
ConsoleWrite (StringFormat ("%s\n", CheckString($String)))Exit (0)
[/autoit][autoit][/autoit][autoit];------
[/autoit]Gruß
Greenhorn -
Hi,
warum versuchst Du es nicht einmal mit StringFormat () ...
Dazu ermittelst Du den längsten Text der E-Artikelbezeichnung per StringLen () und setzt den höchsten ermittelten Wert in das "[width]"-Feld des Strings.
Beispiel
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $aText[3][5] = [["32332-1004", "12", "Massagestab (ohne Ex-Schutz)", "0,99", "ab Lager"], _
["32332-1005", "7", "VGA-Anschlusskabel , DDC-fähig, 15 pol. HD Stecker/Stecker 1m", "3,99", "ab Lager"], _
["32332-1006", "40", "Druckerkabel vergossen 2m", "0,99", "ca. 7 Tage"]]Global $nMaxLen = 0
[/autoit] [autoit][/autoit] [autoit]
Global $nLen = 0For $i = 0 To UBound ($aText) - 1
[/autoit] [autoit][/autoit] [autoit]; Angenommen $aText[$i][2] enthält die E-Artikelbeschreibung ...
[/autoit] [autoit][/autoit] [autoit]
$nLen = StringLen ($aText[$i][2])If ($nLen > $nMaxLen) Then _
[/autoit] [autoit][/autoit] [autoit]
$nMaxLen = $nLen
Next; ...
[/autoit] [autoit][/autoit] [autoit]Global $sFormat = StringFormat ("%%-12s %%-6s %%-%ds %%10s € %%s\n", $nMaxLen)
[/autoit] [autoit][/autoit] [autoit]
;~ ConsoleWrite ($sFormat)
Global $sTabellenkopf = StringFormat ($sFormat, "Art.Nr.", "Menge", "Beschreibung", "Stückpreis", "Lieferzeit")
ConsoleWrite ($sTabellenkopf)For $i = 0 To UBound ($aText) - 1
[/autoit] [autoit][/autoit] [autoit]ConsoleWrite (StringFormat ($sFormat, $aText[$i][0], $aText[$i][1], $aText[$i][2], $aText[$i][3], $aText[$i][4]))
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
NextExit (0)
[/autoit] [autoit][/autoit] [autoit];------
[/autoit]Gruß
Greenhorn -
Oder so ...
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Opt("MustDeclareVars", 1)Global $sTest = StringFormat ("%s\r\n\t%d\r\n\t%.1f\r\n\t%.1f\r\n\t%.1f\r\n\t%.1f\r\n\t%d\r\n\t%.2f\r\n", _
[/autoit] [autoit][/autoit] [autoit]
"Tabelle vom 12.02.2011 - 01 (Mark1989)", _
1, _
0.1, _
0.4, _
1.2, _
15.2, _
7, _
0.11 _
)ConsoleWrite ($sTest)
[/autoit] [autoit][/autoit] [autoit]; Testen auf Integer- oder Gleitkommazahlen bis sechsstelliger Genauigkeit
[/autoit] [autoit][/autoit] [autoit]
Global $aNumbers = StringRegExp ($sTest, "(?:\n\t)(\d+\.?\d{0,6})", 3, 1)If (IsArray ($aNumbers)) Then
[/autoit] [autoit][/autoit] [autoit]ConsoleWriteArray ($aNumbers, " * aNumbers * ")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
EndIfExit (0)
[/autoit] [autoit][/autoit] [autoit];««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
[/autoit] [autoit][/autoit] [autoit]Func ConsoleWriteArray (ByRef Const $array, $sArrayName = "")
[/autoit] [autoit][/autoit] [autoit]Local $cnColumns
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Local $cnDimension
Local $cnRows
Local $cnElementsIf (not IsArray ($array)) Then
[/autoit] [autoit][/autoit] [autoit]
ConsoleWrite (StringFormat ("!--- ConsoleWriteArray - Fehler: %s ist kein Array!\n", $sArrayName))
Return 0
EndIf$cnDimension = UBound ($array, 0)
[/autoit] [autoit][/autoit] [autoit]If ($cnDimension > 3) Then
[/autoit] [autoit][/autoit] [autoit]
ConsoleWrite (StringFormat ("!--- ConsoleWriteArray - Fehler: %d\n", $sArrayName, $cnDimension))
ConsoleWrite (StringFormat ("!--- Max. Anzahl Dimensionen: %d\n", 3))
ConsoleWrite (StringFormat ("!--- %s - Anzahl Dimensionen: %d\n", $sArrayName, $cnDimension))
Return 0
EndIfConsoleWrite (StringFormat ("--- Arrayvariable %s\n--- Anzahl Dimensionen: %d\n", $sArrayName, $cnDimension))
[/autoit] [autoit][/autoit] [autoit]$cnRows = UBound ($array, 1)
[/autoit] [autoit][/autoit] [autoit]
$cnColumns = UBound ($array, 2)
$cnElements = UBound ($array, 3)Switch ($cnDimension)
[/autoit] [autoit][/autoit] [autoit]Case 1
[/autoit] [autoit][/autoit] [autoit]
;...
For $i = 0 To $cnRows - 1ConsoleWrite (StringFormat ("; %s [%d] = %s\n", $sArrayName, $i, $array[$i]))
[/autoit] [autoit][/autoit] [autoit]
Next
Case 2
;...
For $i = 0 To $cnRows - 1For $j = 0 To $cnColumns - 1
[/autoit] [autoit][/autoit] [autoit]ConsoleWrite (StringFormat ("; %s [%d][%d] = %s\n", $sArrayName, $i, $j, $array[$i][$j]))
[/autoit] [autoit][/autoit] [autoit]
Next
Next
Case 3
;...
For $i = 0 To $cnRows - 1For $j = 0 To $cnColumns - 1
[/autoit] [autoit][/autoit] [autoit]For $k = 0 To $cnElements - 1
[/autoit] [autoit][/autoit] [autoit]ConsoleWrite (StringFormat ("; %s [%d][%d][%d] = %s\n", $sArrayName, $i, $j, $k, $array[$i][$j][$k]))
[/autoit] [autoit][/autoit] [autoit]
Next
Next
Next
Case Else
;...
EndSwitchConsoleWrite (StringFormat ("----------------------------\n\n", 0))
[/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit] [autoit][/autoit] [autoit];«««««««««««««««««««««««««««««««« End Of File «««««««««««««««««««««««««««««««««
[/autoit]Gruß
Greenhorn -
... oder so. GDI+ ist nicht meine Stärke ...

Gruß
Greenhorn -
Hi,
im Speicher. Du musst einen (zu deiner Bitmap) kompatiblen Gerätekontext im Speicher erzeugen via _WinAPI_CreateCompatibleDC oder _GDIPlus_GraphicsCreateFromHDC/HWND
Spoiler anzeigen
[autoit]#include <GuiConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GDIPlus.au3>
#include <WinAPI.au3>
#include <ScreenCapture.au3>Opt('MustDeclareVars', 1)
[/autoit] [autoit][/autoit] [autoit]Global Const $HWND_DESKTOP = 0
[/autoit] [autoit][/autoit] [autoit]_Main()
[/autoit] [autoit][/autoit] [autoit]Func _Main()
[/autoit] [autoit][/autoit] [autoit]
Local $hdc, $hdcMem, $hImage, $hGraphic; Capture top left corner of the screen
[/autoit] [autoit][/autoit] [autoit]
_ScreenCapture_Capture (@MyDocumentsDir & "\GDIPlus_Image.jpg", 0, 0, 400, 300); Initialize GDI+ library and load image
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_Startup ()
$hImage = _GDIPlus_ImageLoadFromFile (@MyDocumentsDir & "\GDIPlus_Image.jpg")$hdc = _WinAPI_GetDC ($HWND_DESKTOP)
[/autoit] [autoit][/autoit] [autoit]
$hdcMem = _WinAPI_CreateCompatibleDC ($hdc)
_WinAPI_ReleaseDC ($HWND_DESKTOP, $hdc)$hGraphic = _GDIPlus_GraphicsCreateFromHDC ($hdcMem)
[/autoit] [autoit][/autoit] [autoit]
; Draw 2x zoomed image
_GDIPlus_GraphicsDrawImageRectRect ($hGraphic, $hImage, 0, 0, 200, 200, 0, 0, 400, 300); Release resources
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDispose ($hGraphic)
_GDIPlus_ImageDispose ($hImage)
_WinAPI_DeleteDC ($hdcMem) ; Gerätekontext wieder freigeben
_GDIPlus_Shutdown (); Clean up screen shot file
[/autoit] [autoit][/autoit] [autoit]
FileDelete(@MyDocumentsDir & "\GDIPlus_Image.jpg"); Loop until user exits
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSEEndFunc ;==>_Main
[/autoit] [autoit][/autoit] [autoit][/autoit]
Gruß
Greenhorn -
Herzlichen Glückwunsch zum Burzeltag !

Gruß
Greenhorn -
Hi,
sieh Dir mal die File...() Funktionen an.
Vielleicht hilft Dir auch das hier weiter ...Gruß
Greenhorn -
Auch von mir die herzlichsten Glückwünsche zu Deinem Geburtstag, altes Leder !

Gruß
Greenhorn -
Hi,
vielleicht bringt Dich das hier auf Ideen ...
Windows 7 APIs (Teil 2 von 6) - Multi-Touch-EntwicklungGruß
Greenhorn -
-
Hi,
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
Opt("MustDeclareVars", 1)#include <WinAPI.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListBox.au3>Global $user32dll
[/autoit] [autoit][/autoit] [autoit]If (not $user32dll) Then _
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $user32dll = DllOpen ("user32.dll")Global Const $SC_CLOSE = 0xF060
[/autoit] [autoit][/autoit] [autoit]Global Const $GWLP_WNDPROC = (-4)
[/autoit] [autoit][/autoit] [autoit]
Global Const $GWLP_HINSTANCE = (-6)
Global Const $GWLP_HWNDPARENT = (-8)
Global Const $GWLP_USERDATA = (-21)
Global Const $GWLP_ID = (-12); ID des Listenfeldes
[/autoit] [autoit][/autoit] [autoit]
Global $IDC_LB_DOWNLOADS; Handlevariablen für die Adressen der Fensterprozeduren,
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
; die des Listenfeldes und unsere Ersatzfunktion.
Global $g_hListBoxProc = 0
Global $g_hOldListBoxProc = 0Func Main ( )
[/autoit] [autoit][/autoit] [autoit]Local $hGUI_Main
[/autoit] [autoit][/autoit] [autoit]
Local $hList_Downloads$hGUI_Main = GUICreate("TestGUI", 300, 400)
[/autoit] [autoit][/autoit] [autoit]
$IDC_LB_DOWNLOADS = GUICtrlCreateList("list1", 10, 20, 280, 360, _
BitOR($LBS_SORT, $WS_BORDER, $WS_CHILD, $WS_TABSTOP, $WS_VSCROLL, $LBS_NOTIFY))
GUICtrlSetData(-1, "list2|list3|list4")$hList_Downloads = GUICtrlGetHandle ($IDC_LB_DOWNLOADS)
[/autoit] [autoit][/autoit] [autoit];~ GUIRegisterMsg($WM_RBUTTONDOWN, "WM_RBUTTONDOWN")
[/autoit] [autoit][/autoit] [autoit]
GUIRegisterMsg ($WM_CLOSE, "OnClose")
GUIRegisterMsg ($WM_DESTROY, "OnDestroy")
GUIRegisterMsg ($WM_SYSCOMMAND, "OnSysCommand"); Unsere Rückruf-Funktion registrieren ...
[/autoit] [autoit][/autoit] [autoit]
$g_hListBoxProc = DllCallbackRegister ("ListBoxProc", "LONG", "HWND;UINT;WPARAM;LPARAM")If ($g_hListBoxProc) Then
[/autoit] [autoit][/autoit] [autoit]; Das Listenfeld "subclassen" ...
[/autoit] [autoit][/autoit] [autoit]
$g_hOldListBoxProc = SetWindowLongPtr ($hList_Downloads, $GWLP_WNDPROC, DllCallbackGetPtr ($g_hListBoxProc))
EndIfGUISetState()
[/autoit] [autoit][/autoit] [autoit]; Schleife ...
[/autoit] [autoit][/autoit] [autoit]While (WinExists ($hGUI_Main))
[/autoit] [autoit][/autoit] [autoit]
GUIGetMsg (FALSE)
WEndReturn 0
[/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit] [autoit][/autoit] [autoit];««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
[/autoit] [autoit][/autoit] [autoit]Func OnClose ($hwnd, $message, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]; Fenster löschen
[/autoit] [autoit][/autoit] [autoit]
GUIDelete ($hwnd)Return 0
[/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit] [autoit][/autoit] [autoit]Func OnDestroy ($hwnd, $message, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]; Die originale Fensterprozedur des Listenfeldes
[/autoit] [autoit][/autoit] [autoit]
; wiederherstellenIf ($g_hOldListBoxProc) Then _
[/autoit] [autoit][/autoit] [autoit]
SetWindowLongPtr ( _
GUICtrlGetHandle ($IDC_LB_DOWNLOADS), _
$GWLP_WNDPROC, _
$g_hOldListBoxProc _
)Return $GUI_RUNDEFMSG
[/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit] [autoit][/autoit] [autoit]Func OnSysCommand ($hwnd, $message, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]If ($wParam == $SC_CLOSE) Then
[/autoit] [autoit][/autoit] [autoit]
GUISetState (@sw_hide, $hwnd)
Return 0
EndIfReturn DefWindowProc ($hwnd, $message, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit] [autoit][/autoit] [autoit]Func WM_RBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]
#forceref $hWnd, $iMsg, $wParam
Local $cx = _WinAPI_LoWord($lParam), $cy = _WinAPI_HiWord($lParam);, $aiWinPos = WinGetPos($hGUI_Main)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $cx = ' & $cx & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
Local $iIndex = _GUICtrlListBox_ItemFromPoint($IDC_LB_DOWNLOADS, $cx, $cy);$cx - $aiWinPos[0], $cy - $aiWinPos[1])
If $iIndex <> -1 Then _GUICtrlListBox_SetCurSel($IDC_LB_DOWNLOADS, $iIndex)Return $GUI_RUNDEFMSG
[/autoit] [autoit][/autoit] [autoit]
EndFunc ;==>WM_RBUTTONDOWN;««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
[/autoit] [autoit][/autoit] [autoit]; Diese Funktion ersetzt die originale Fensterprozedur des Listenfeldes
[/autoit] [autoit][/autoit] [autoit]
Func ListBoxProc ($hwnd, $message, $wParam, $lParam)Local $cx, $cy
[/autoit] [autoit][/autoit] [autoit]
Local $iIndex
Local $hList_DownloadsSwitch ($message)
[/autoit] [autoit][/autoit] [autoit]Case $WM_RBUTTONDOWN
[/autoit] [autoit][/autoit] [autoit]$cx = _WinAPI_LoWord($lParam)
[/autoit] [autoit][/autoit] [autoit]
$cy = _WinAPI_HiWord($lParam)
$hList_Downloads = GUICtrlGetHandle ($IDC_LB_DOWNLOADS)
$iIndex = _GUICtrlListBox_ItemFromPoint($hList_Downloads, $cx, $cy);$cx - $aiWinPos[0], $cy - $aiWinPos[1])
ConsoleWrite(StringFormat ("--- cx: %d\n--- cy: %d\n--- iIndex: %d\n---------------\n", $cx, $cy, $iIndex)) ;### Debug Console
If $iIndex <> -1 Then _GUICtrlListBox_SetCurSel($hList_Downloads, $iIndex); Die Nachricht an die ursprüngliche Fensterprozedur
[/autoit] [autoit][/autoit] [autoit]
; des Listenfeldes weiterleitenReturn CallWindowProc ($g_hOldListBoxProc, _
[/autoit] [autoit][/autoit] [autoit]
$hwnd, $message, $wParam, $lParam)Case Else
[/autoit] [autoit][/autoit] [autoit]Return CallWindowProc ($g_hOldListBoxProc, _
[/autoit] [autoit][/autoit] [autoit]
$hwnd, $message, $wParam, $lParam)EndSwitch
[/autoit] [autoit][/autoit] [autoit]Return 0
[/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit] [autoit][/autoit] [autoit];««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
[/autoit] [autoit][/autoit] [autoit]; Win32 API Funktionen
[/autoit] [autoit][/autoit] [autoit]Func CallWindowProc ($lpPrevWndFunc, $hWnd, $Msg, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]Local $aRes = DllCall ($user32dll, 'ULONG', 'CallWindowProcW', _
[/autoit] [autoit][/autoit] [autoit]
'PTR', $lpPrevWndFunc, _
'HWND', $hWnd, _
'UINT', $Msg, _
'WPARAM', $wParam, _
'LPARAM', $lParam)
Return $aRes[0]EndFunc
[/autoit] [autoit][/autoit] [autoit]Func DefWindowProc ($hWnd, $Msg, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]Local $aRes = DllCall ($user32dll, "ULONG", "DefWindowProcW", _
[/autoit] [autoit][/autoit] [autoit]
"HWND", $hWnd, _
"UINT", $Msg, _
"WPARAM", $wParam, _
"LPARAM", $lParam)
Return $aRes[0]EndFunc
[/autoit] [autoit][/autoit] [autoit]Func GetWindowLongPtr ($hWnd, $nIndex)
[/autoit] [autoit][/autoit] [autoit]Local $aRes
[/autoit] [autoit][/autoit] [autoit]If (DllStructGetSize (DllStructCreate ("HWND", $hWnd)) ==
[/autoit] [autoit][/autoit] [autoit]
Then ; x64$aRes = DllCall ($user32dll, "LONG_PTR", "GetWindowLongPtrW", _
[/autoit] [autoit][/autoit] [autoit]
"HWND", $hWnd, _
"INT" , $nIndex)
Else ; x86
$aRes = DllCall ($user32dll, "LONG", "GetWindowLongW", _
"HWND", $hWnd, _
"INT" , $nIndex)
EndIfReturn $aRes[0]
[/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit] [autoit][/autoit] [autoit]Func SetWindowLongPtr ($hWnd, $nIndex, $dwNewLong)
[/autoit] [autoit][/autoit] [autoit]Local $aRes
[/autoit] [autoit][/autoit] [autoit]If (DllStructGetSize (DllStructCreate ("HWND", $hWnd)) ==
[/autoit] [autoit][/autoit] [autoit]
Then ; x64$aRes = DllCall ($user32dll, "LONG_PTR", "SetWindowLongPtrW", _
[/autoit] [autoit][/autoit] [autoit]
"HWND", $hWnd, _
"INT" , $nIndex, _
"LONG_PTR", $dwNewLong)
Else ; x86
$aRes = DllCall ($user32dll, "LONG", "SetWindowLongW", _
"HWND", $hWnd, _
"INT" , $nIndex, _
"LONG", $dwNewLong)
EndIfReturn $aRes[0]
[/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Exit (Main ( ))
[/autoit]Gruß
Greenhorn -
-
-
-
-
-