Jetzt wo die beiden Boxen (Übersetzen und Downloads) deaktiviert sind, geht es wunderbar mit den PNs.
Hoffe ihr findet da ne gute Lösung ![]()
Jetzt wo die beiden Boxen (Übersetzen und Downloads) deaktiviert sind, geht es wunderbar mit den PNs.
Hoffe ihr findet da ne gute Lösung ![]()
Hi,
ah ihr habt dieses Problem auch.
Dachte dass nur ich es habe.
Ich klicke ein paar mal auf das Ankreuzfeld und irgendwann sind alle PNs markiert.
Was wird denn da so lange geladen?
Schau dir mal AdlibEnable an ![]()
Hi,
bei mir sind die Grafikfehler auch.
Habe mal ein bisschen rumprobiert ![]()
Es liegt wohl an den Tabs.
Wenn man die Tabs mit den neueren _Guictrltab_ Funktionen erstellt ist der Grafikfehler weg.
Siehe
#include <GuiTab.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.0.0
Author: Burak Keskin
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$Einstellungen = GUICreate("Einstellungen", 402, 498, 352, 128)
$Tab1 = _GUICtrlTab_Create($Einstellungen, 8, 8, 385, 449)
;~ $Tab1 = GUICtrlCreateTab(8, 8, 385, 449)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
$TabSheet1 = _GUICtrlTab_InsertItem($Tab1, 0, "SAFISDFKDSF")
$Group1 = GUICtrlCreateGroup("SAFISDFKDSF", 16, 40, 369, 297)
$Checkbox2 = GUICtrlCreateCheckbox("SAFISDFAFISDFKDSF", 24, 64, 225, 17)
$Checkbox3 = GUICtrlCreateCheckbox("SAFISDFKDSF", 24, 88, 209, 17)
$Checkbox11 = GUICtrlCreateCheckbox("SAFISDFKDSF", 24, 112, 137, 17)
$Label17 = GUICtrlCreateLabel("SAFISDFKDSF:", 24, 136, 142, 17)
$Radio11 = GUICtrlCreateRadio("SAFISDFKDSF", 40, 160, 113, 17)
$Radio12 = GUICtrlCreateRadio("SAFISDFKDSF", 40, 184, 113, 17)
$Radio13 = GUICtrlCreateRadio("SAFISDFKDSF", 40, 208, 113, 17)
$Radio14 = GUICtrlCreateRadio("SAFISDFKDSF", 40, 232, 113, 17)
$Checkbox12 = GUICtrlCreateCheckbox("SAFISDFKDSF", 24, 264, 145, 17)
$Checkbox13 = GUICtrlCreateCheckbox("FSAFISDFKDSF", 24, 288, 121, 17)
$Checkbox14 = GUICtrlCreateCheckbox("FSAFISDFKDSF", 24, 312, 217, 17)
$Icon2 = GUICtrlCreateIcon("C:\WINDOWS\system32\shell32.dll", -169, 344, 56, 32, 32, BitOR($SS_NOTIFY, $WS_GROUP))
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button8 = GUICtrlCreateButton("SAFISDFKDSF", 224, 424, 163, 25, 0)
$Group9 = GUICtrlCreateGroup("Info", 16, 344, 369, 73)
$Label18 = GUICtrlCreateLabel("SAFISDFKDSF", 24, 368, 116, 17)
$Label19 = GUICtrlCreateLabel("563", 152, 368, 19, 17)
$Label20 = GUICtrlCreateLabel("SAFISDFKDSF:", 24, 392, 87, 17)
$Label21 = GUICtrlCreateLabel("53", 152, 392, 64, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
;~ $TabSheet2 = _GUICtrlTab_InsertItem($Tab1, 1, "SAFISDFKDSF")
;~ $Group2 = GUICtrlCreateGroup("SAFISDFKDSF", 16, 40, 369, 313)
;~ $Checkbox1 = GUICtrlCreateCheckbox("SAFISDFKDSF", 24, 64, 233, 17)
;~ $Label1 = GUICtrlCreateLabel("SAFISDFKDSF:", 40, 88, 45, 17)
;~ $Input1 = GUICtrlCreateInput("999", 88, 88, 41, 21)
;~ $Label2 = GUICtrlCreateLabel("SAFISDFKDSF", 136, 88, 53, 17)
;~ $Checkbox4 = GUICtrlCreateCheckbox("SAFISDFKDSF", 40, 112, 289, 17)
;~ $Label3 = GUICtrlCreateLabel("WSAFISDFKDSFSAFISDFKDSFSAFISDFKDSF", 24, 136, 301, 17)
;~ $Radio1 = GUICtrlCreateRadio("SAFISDFKDSF", 40, 160, 113, 17)
;~ $Radio2 = GUICtrlCreateRadio("SAFISDFKDSF", 40, 184, 113, 17)
;~ $Radio3 = GUICtrlCreateRadio("SAFISDFKDSF", 40, 208, 193, 17)
;~ $Label4 = GUICtrlCreateLabel("SAFISDFKDSF SAFISDFKDSF:", 24, 232, 143, 17)
;~ $Radio4 = GUICtrlCreateRadio("SAFISDFKDSF", 40, 256, 113, 17)
;~ $Radio5 = GUICtrlCreateRadio("SAFISDFKDSF", 40, 280, 113, 17)
;~ $Label5 = GUICtrlCreateLabel("SAFISDFKDSF:", 40, 312, 45, 17)
;~ $Input2 = GUICtrlCreateInput("SAFISDFKDSF", 88, 312, 153, 21)
;~ $Button5 = GUICtrlCreateButton("Überprüfen", 248, 312, 75, 25, 0)
;~ $Icon3 = GUICtrlCreateIcon("C:\WINDOWS\system32\shell32.dll", -89, 344, 56, 32, 32, BitOR($SS_NOTIFY, $WS_GROUP))
;~ GUICtrlCreateGroup("", -99, -99, 1, 1)
;~ $Group3 = GUICtrlCreateGroup("SAFISDFKDSF", 16, 360, 369, 89)
;~ $Checkbox5 = GUICtrlCreateCheckbox("SAFISDFKDSF", 24, 376, 281, 17)
;~ $Label6 = GUICtrlCreateLabel("SAFISDFKDSFSAFISDFKDSFSAFISDFKDSF", 24, 400, 360, 17)
;~ $Label7 = GUICtrlCreateLabel("SAFISDFKDSFSAFISDFKDSF", 24, 416, 70, 17)
;~ GUICtrlCreateGroup("", -99, -99, 1, 1)
;~ $TabSheet3 = _GUICtrlTab_InsertItem($Tab1, 2, "SAFISDFKDSF")
;~ $Group6 = GUICtrlCreateGroup("SAFISDFKDSF", 16, 40, 369, 217)
;~ $Label14 = GUICtrlCreateLabel("SSAFISDFKDSFSAFISDFKDSFSAFISDFKDSF", 88, 64, 255, 17)
;~ $Label15 = GUICtrlCreateLabel("SAFISDFKDSF SAFISDFKDSF SAFISDFKDSF", 88, 80, 228, 17)
;~ $Radio9 = GUICtrlCreateRadio("SAFISDFKDSF SAFISDFKDSF", 24, 112, 193, 17)
;~ $Radio10 = GUICtrlCreateRadio("SAFISDFKDSF SAFISDFKDSF für:", 24, 136, 193, 17)
;~ $Checkbox6 = GUICtrlCreateCheckbox("SAFISDFKDSF", 40, 160, 97, 17)
;~ $Checkbox7 = GUICtrlCreateCheckbox("SAFISDFKDSF", 40, 184, 97, 17)
;~ $Checkbox8 = GUICtrlCreateCheckbox("SAFISDFKDSF", 40, 208, 97, 17)
;~ $Checkbox9 = GUICtrlCreateCheckbox("SAFISDFKDSF", 40, 232, 97, 17)
;~ $Icon1 = GUICtrlCreateIcon("C:\WINDOWS\system32\shell32.dll", -170, 32, 64, 32, 32, BitOR($SS_NOTIFY, $WS_GROUP))
;~ GUICtrlCreateGroup("", -99, -99, 1, 1)
;~ $Group7 = GUICtrlCreateGroup("SAFISDFKDSF", 16, 264, 369, 49)
;~ $Checkbox10 = GUICtrlCreateCheckbox("SAFISDFKDSFSAFISDFKDSF", 24, 288, 201, 17)
;~ GUICtrlCreateGroup("", -99, -99, 1, 1)
;~ $Group8 = GUICtrlCreateGroup("SAFISDFKDSF", 16, 320, 369, 129)
;~ $Combo1 = GUICtrlCreateCombo("SAFISDFKDSF", 24, 344, 145, 25)
;~ $Button7 = GUICtrlCreateButton("SAFISDFKDSF", 176, 344, 75, 25, 0)
;~ $Label16 = GUICtrlCreateLabel("SAFISDFKDSF", 24, 424, 131, 17)
;~ GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
;~ GUICtrlSetColor(-1, 0x0000FF)
;~ $Pic2 = GUICtrlCreatePic("", 296, 344, 76, 44, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
;~ GUICtrlCreateGroup("", -99, -99, 1, 1)
;~ $TabSheet4 = _GUICtrlTab_InsertItem($Tab1, 3, "SAFISDFKDSF")
;~ $Group4 = GUICtrlCreateGroup("SAFISDFKDSF", 16, 40, 369, 217)
;~ $ListView1 = GUICtrlCreateListView("", 24, 64, 194, 182)
;~ GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
;~ $Label8 = GUICtrlCreateLabel("SAFISDFKDSF:", 232, 64, 52, 17)
;~ $Pic1 = GUICtrlCreatePic("", 232, 88, 140, 156, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
;~ GUICtrlCreateGroup("", -99, -99, 1, 1)
;~ $Group5 = GUICtrlCreateGroup("SAFISDFKDSF", 16, 264, 369, 185)
;~ $Label9 = GUICtrlCreateLabel("", 232, 304, 140, 132)
;~ $Label10 = GUICtrlCreateLabel("SAFISDFKDSF:", 232, 280, 66, 17)
;~ $Button6 = GUICtrlCreateButton("SAFISDFKDSF", 152, 414, 75, 25, 0)
;~ $Radio6 = GUICtrlCreateRadio("SAFISDFKDSF", 24, 288, 113, 17)
;~ $Radio7 = GUICtrlCreateRadio("SAFISDFKDSF", 24, 312, 113, 17)
;~ $Radio8 = GUICtrlCreateRadio("SAFISDFKDSF", 24, 336, 113, 17)
;~ $Label11 = GUICtrlCreateLabel("", 152, 288, 12, 12)
;~ $Label12 = GUICtrlCreateLabel("", 152, 312, 12, 12)
;~ $Label13 = GUICtrlCreateLabel("", 152, 336, 12, 12)
;~ GUICtrlCreateGroup("", -99, -99, 1, 1)
;~ $Button1 = GUICtrlCreateButton("SAFISDFKDSF", 72, 464, 75, 25, 0)
;~ $Button2 = GUICtrlCreateButton("SAFISDFKDSF", 152, 464, 75, 25, 0)
;~ $Button3 = GUICtrlCreateButton("SAFISDFKDSF", 232, 464, 75, 25, 0)
;~ $Button4 = GUICtrlCreateButton("SAFISDFKDSF", 312, 464, 75, 25, 0)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Wenn ich jedoch den zweiten Tab aktiviere, werden alle Controls übereinander erstellt.
Wie schafft man es, dass die Controls auf dem richten Tab erstellt werden ![]()
Habe es in der Hilfe geändert.
Bitte bei solchen Verbesserungen dies hier posten.
Habe es nur durch Zufall entdeckt. ![]()
dies geht mit einem _
[autoit]If @DesktopHeight = _
100 Then
MsgBox(0, "", "")
Else
MsgBox(0, "", "")
EndIf
einfach in der Hilfe die _Sound... Funktionen anschauen ![]()
Hi,
laut der aktuellen deutschen Hilfe
Zitathwnd [optional] Handle des zu durchsuchenden Fensters
schau hier
danach hast du doch schonmal gefragt ![]()
Hi,
da hätte ich zwei Möglichkeiten für euch
1. entweder die englische Hilfe verwenden
oder
2. helfen die englische Hilfe zu übersetzen ![]()
Hi,
hab mich auch mal versucht.
Dies ist dabei rausgekommen
#include <GDIPlus.au3>
#include <Misc.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
HotKeySet("{ESC}", "_ende")
Global $pointsleft = 0, $pointsright = 0
Global $BewegungSenkrecht, $BewegungWaagerecht
Global $ballpos1, $ballpos2
Global $Strichpos1, $Strichpos2
Global $RStrichpos1, $RStrichpos2
Global $Titel = "Pong"
Global $Rahmenbreite = 10
Global $dll = DllOpen("user32.dll")
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]Global $hGUI = GUICreate($Titel, @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR($WS_EX_TOPMOST, 0x0))
Global $hwnd = WinGetHandle($Titel)
GUISetBkColor(0x0)
$Willkommen = GUICtrlCreateLabel("Willkommen bei Pong made by Greek", @DesktopWidth / 4, @DesktopHeight / 2 - 150, 1000, 200)
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 40)
GUISetState(@SW_SHOW)
Do
Sleep(10)
Until _IsPressed("0D", $dll) Or _IsPressed("20", $dll)
GUICtrlSetState($Willkommen, $GUI_HIDE)
[/autoit] [autoit][/autoit] [autoit]$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hwnd)
$hPenRahmen = _GDIPlus_PenCreate(0xFF0000FF, 15, 2)
$hPen = _GDIPlus_PenCreate(0xFFFFFFFF, 15, 2)
$hpen_Del = _GDIPlus_PenCreate(0xFF000000, 15, 2)
_GDIPlus_GraphicsDrawLine($hGraphic, 100, $Strichpos1, 100, $Strichpos2, $hPen)
_GDIPlus_GraphicsDrawLine($hGraphic, @DesktopWidth - 100, $Strichpos1, @DesktopWidth - 100, $Strichpos2, $hPen)
_DrawRahmen()
$Spielstand = GUICtrlCreateLabel("0:0", @DesktopWidth / 2, @DesktopHeight / 15, 100, 100)
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 40)
setzeausgang(0)
[/autoit] [autoit][/autoit] [autoit]AdlibEnable('_Zyklus', 10)
[/autoit] [autoit][/autoit] [autoit]Local $accel[4][2] = [["w"],["s"],["{UP}"],["{DOWN}"]]
GUISetAccelerators($accel)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _ende()
_GDIPlus_Shutdown()
Exit
EndFunc ;==>_ende
Func _DrawRahmen()
_GDIPlus_GraphicsDrawLine($hGraphic, $Rahmenbreite / 2, 0, $Rahmenbreite / 2, @DesktopHeight, $hPenRahmen)
_GDIPlus_GraphicsDrawLine($hGraphic, 0, $Rahmenbreite / 2, @DesktopWidth, $Rahmenbreite / 2, $hPenRahmen)
_GDIPlus_GraphicsDrawLine($hGraphic, @DesktopWidth - $Rahmenbreite / 2, 0, @DesktopWidth - $Rahmenbreite / 2, @DesktopHeight, $hPenRahmen)
_GDIPlus_GraphicsDrawLine($hGraphic, 0, @DesktopHeight - $Rahmenbreite / 2, @DesktopWidth, @DesktopHeight - $Rahmenbreite / 2, $hPenRahmen)
EndFunc ;==>_DrawRahmen
Func _Zyklus()
If _IsPressed('57') Then
_hoch()
EndIf
If _IsPressed('53') Then
_runter()
EndIf
If _IsPressed('26') Then
_hoch2()
EndIf
If _IsPressed('28') Then
_runter2()
EndIf
_ball()
_DetectCollision()
EndFunc ;==>_Zyklus
Func _hoch()
If $Strichpos1 >= 25 Then
_GDIPlus_GraphicsDrawLine($hGraphic, 100, $Strichpos2 - 10, 100, $Strichpos2, $hpen_Del)
$Strichpos1 -= 10
$Strichpos2 -= 10
_GDIPlus_GraphicsDrawLine($hGraphic, 100, $Strichpos1, 100, $Strichpos2, $hPen)
EndIf
EndFunc ;==>_hoch
Func _runter()
If $Strichpos2 <= @DesktopHeight - 25 Then
_GDIPlus_GraphicsDrawLine($hGraphic, 100, $Strichpos1, 100, $Strichpos1 + 10, $hpen_Del)
$Strichpos1 += 10
$Strichpos2 += 10
_GDIPlus_GraphicsDrawLine($hGraphic, 100, $Strichpos1, 100, $Strichpos2, $hPen)
EndIf
EndFunc ;==>_runter
Func _hoch2()
If $RStrichpos1 >= 25 Then
_GDIPlus_GraphicsDrawLine($hGraphic, @DesktopWidth - 100, $RStrichpos2 - 10, @DesktopWidth - 100, $RStrichpos2, $hpen_Del)
$RStrichpos1 -= 10
$RStrichpos2 -= 10
_GDIPlus_GraphicsDrawLine($hGraphic, @DesktopWidth - 100, $RStrichpos1, @DesktopWidth - 100, $RStrichpos2, $hPen)
EndIf
EndFunc ;==>_hoch2
Func _runter2()
If $RStrichpos2 <= @DesktopHeight - 25 Then
_GDIPlus_GraphicsDrawLine($hGraphic, @DesktopWidth - 100, $RStrichpos1, @DesktopWidth - 100, $RStrichpos1 + 10, $hpen_Del)
$RStrichpos1 += 10
$RStrichpos2 += 10
_GDIPlus_GraphicsDrawLine($hGraphic, @DesktopWidth - 100, $RStrichpos1, @DesktopWidth - 100, $RStrichpos2, $hPen)
EndIf
EndFunc ;==>_runter2
Func _ball()
$ball = _GDIPlus_GraphicsDrawArc($hGraphic, $ballpos1, $ballpos2, 15, 15, 180, 360, $hpen_Del)
$ballpos2 += $BewegungSenkrecht
$ballpos1 += $BewegungWaagerecht
$ball = _GDIPlus_GraphicsDrawArc($hGraphic, $ballpos1, $ballpos2, 15, 15, 180, 360, $hPen)
EndFunc ;==>_ball
Func _DetectCollision()
If $ballpos1 <= 120 Then
If ($ballpos2 >= $Strichpos1) And ($ballpos2 <= $Strichpos2) Then ; kollision
If $BewegungWaagerecht < 0 Then $BewegungWaagerecht = Random(5, 7, 1)
ElseIf $ballpos1 < 100 Then
setzeausgang(1)
Sleep(1500)
EndIf
EndIf
If $ballpos1 >= @DesktopWidth - 135 Then
If ($ballpos2 >= $RStrichpos1) And ($ballpos2 <= $RStrichpos2) Then ; kollision
If $BewegungWaagerecht > 0 Then $BewegungWaagerecht = Random(-7, -5, 1)
ElseIf $ballpos1 > @DesktopWidth - 100 Then
setzeausgang(0)
Sleep(1500)
EndIf
EndIf
If $ballpos1 >= @DesktopWidth - 40 And $BewegungWaagerecht > 0 Then $BewegungWaagerecht = Random(-7, -5, 1)
If $ballpos1 < 30 And $BewegungWaagerecht < 0 Then $BewegungWaagerecht = Random(5, 7, 1)
If $ballpos2 >= @DesktopHeight - 40 And $BewegungSenkrecht > 0 Then $BewegungSenkrecht = Random(-7, -5, 1)
If $ballpos2 < 30 And $BewegungSenkrecht < 0 Then $BewegungSenkrecht = Random(5, 7, 1)
EndFunc ;==>_DetectCollision
Func setzeausgang($points)
If ($points < 1) Or ($points > 0) Then SetError(1)
Switch $points
Case 0
$pointsleft += 1
GUICtrlSetData($Spielstand, $pointsleft & ':' & $pointsright)
Case 1
$pointsright += 1
GUICtrlSetData($Spielstand, $pointsleft & ':' & $pointsright)
EndSwitch
;Ball und Schläger übermalen
$ball = _GDIPlus_GraphicsDrawArc($hGraphic, $ballpos1, $ballpos2, 15, 15, 180, 360, $hpen_Del)
_GDIPlus_GraphicsDrawLine($hGraphic, @DesktopWidth - 100, 13, @DesktopWidth - 100, @DesktopHeight - 13, $hpen_Del)
_GDIPlus_GraphicsDrawLine($hGraphic, 100, 13, 100, @DesktopHeight - 13, $hpen_Del)
;Ball läuft zufallsweise in eine der 4 Richtungen
$richtung_senk = Random(1, 2, 1)
$richtung_waag = Random(1, 2, 1)
If $richtung_senk = 1 Then
$BewegungSenkrecht = Random(5, 7, 1)
Else
$BewegungSenkrecht = Random(-7, -5, 1)
EndIf
If $richtung_waag = 1 Then
$BewegungWaagerecht = Random(5, 7, 1)
Else
$BewegungWaagerecht = Random(-7, -5, 1)
EndIf
$ballpos1 = @DesktopWidth / 2
$ballpos2 = @DesktopHeight / 2 - 50
$Strichpos1 = @DesktopHeight / 2 - 70
$Strichpos2 = @DesktopHeight / 2 + 70
$RStrichpos1 = @DesktopHeight / 2 - 70
$RStrichpos2 = @DesktopHeight / 2 + 70
$ball = _GDIPlus_GraphicsDrawArc($hGraphic, $ballpos1, $ballpos2, 15, 15, 180, 360, $hPen)
_GDIPlus_GraphicsDrawLine($hGraphic, 100, $Strichpos1, 100, $Strichpos2, $hPen)
_GDIPlus_GraphicsDrawLine($hGraphic, @DesktopWidth - 100, $Strichpos1, @DesktopWidth - 100, $Strichpos2, $hPen)
EndFunc ;==>setzeausgang
- Der Ball läuft nun per Zufall in eine Richtung
- Die Schläger werden nach dem Punkt gelöscht, bzw. übermalt (dafür hab ich auch ne Weile gebraucht
)
Danke, werds später mal testen.
Meldest du es im engl. Forum.
Denke du kannst es denen besser erklären ![]()
Hi,
ich habe die Funktion ExcelReadSheetToArray getestet.
Dabei ist mir aufgefallen, dass diese nicht funktioniert.
Nutze Office 2003 deutsch.
Denke es liegt an der Sprache.
Ich habe mal ein Bsp mit der originalen und geänderten Funktion angehängt.
Das Problem ist, dass die Funktion mit "R" (Row, Zeile) und "C" (Column, Spalte) arbeitet.
Im deutschen heißt es jedoch "Z" und "S".
Ist das bei euch auch so?
Sollte man im engl. mal posten, oder?
#include <Excel.au3>
#include <Array.au3>
;*********************************************************************************************************************************************
[/autoit] [autoit][/autoit] [autoit];so gehts
[/autoit] [autoit][/autoit] [autoit]Local $oExcel = _ExcelBookNew() ;Create new book, make it visible
[/autoit] [autoit][/autoit] [autoit]; We can fill-up some cells using a simple loop and random Numbers
For $y = 1 To 10 ;Start on Column 1
For $x = 1 To 15
_ExcelWriteCell($oExcel, Round(Random(1000, 10000), 0), $x, $y) ;Some random numbers to file
Next
Next
$aArray = _ExcelReadSheetToArray_TEST($oExcel) ;Using Default Parameters
ConsoleWrite(@error & @CRLF & @extended & @CRLF)
_ArrayDisplay($aArray, "Array using Default Parameters")
_ExcelBookClose($oExcel, 0, 0)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];*********************************************************************************************************************************************
[/autoit] [autoit][/autoit] [autoit];so gehts nicht
[/autoit] [autoit][/autoit] [autoit]Local $oExcel = _ExcelBookNew() ;Create new book, make it visible
[/autoit] [autoit][/autoit] [autoit]; We can fill-up some cells using a simple loop and random Numbers
For $y = 1 To 10 ;Start on Column 1
For $x = 1 To 15
_ExcelWriteCell($oExcel, Round(Random(1000, 10000), 0), $x, $y) ;Some random numbers to file
Next
Next
$aArray = _ExcelReadSheetToArray($oExcel) ;Using Default Parameters
ConsoleWrite(@error & @CRLF & @extended & @CRLF)
_ArrayDisplay($aArray, "Array using Default Parameters")
_ExcelBookClose($oExcel, 0, 0)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];Es folgt die geänderte Funktion aus der Excel.au3
[/autoit] [autoit][/autoit] [autoit]; #FUNCTION# ====================================================================================================================
; Name...........: _ExcelReadSheetToArray
; Description ...: Create a 2D array from the rows/columns of the active worksheet.
; Syntax.........: _ExcelReadSheetToArray($oExcel, [$iStartRow , $iStartColumn [, $iRowCnt, $iColCnt], [$iColShift]])
; Parameters ....: $oExcel - Excel object opened by a preceding call to _ExcelBookOpen() or _ExcelBookNew()
; $iStartRow - Row number to start reading, defaults to 1 (first row)
; $iStartColumn - Column number to start reading, defaults to 1 (first column)
; $iRowCnt - Count of rows to read, defaults to 0 (all)
; $iColCnt - Count of columns to read, defaults to 0 (all)
; $iColShift - Determines if the Array returned, from Excel, will begin in the 0-index base or 1-index base Column. False by Default to match R1C1 values.
; Return values .: Success - Returns a 2D array with the specified cell contents by [$row][$col]
; Failure - Returns 0 and sets @error on errors:
; @error=1 - Specified object does not exist
; @error=2 - Start parameter out of range
; @extended=0 - Row out of range
; @extended=1 - Column out of range
; @error=3 - Count parameter out of range
; @extended=0 - Row count out of range
; @extended=1 - Column count out of range
; Author ........: SEO <locodarwin at yahoo dot com>
; Modified.......: litlmike (added Column shift parameter to Start Array Column on 0) and PsaltyDS 01/04/08 - 2D version _ExcelReadSheetToArray()
; Remarks .......: Returned array has row count in [0][0] and column count in [0][1].
; Except for the counts above, row 0 and col 0 of the returned array are empty, as actual
; cell data starts at [1][1] to match R1C1 numbers.
; By default the entire sheet is returned.
; If the sheet is empty [0][0] and [0][1] both = 0.
; Related .......:
; Link ..........;
; Example .......; Yes
; ===============================================================================================================================
Func _ExcelReadSheetToArray_TEST($oExcel, $iStartRow = 1, $iStartColumn = 1, $iRowCnt = 0, $iColCnt = 0, $iColShift = False)
Local $avRET[1][2] = [[0, 0]] ; 2D return array
; Test inputs
If Not IsObj($oExcel) Then Return SetError(1, 0, 0)
If $iStartRow < 1 Then Return SetError(2, 0, 0)
If $iStartColumn < 1 Then Return SetError(2, 1, 0)
If $iRowCnt < 0 Then Return SetError(3, 0, 0)
If $iColCnt < 0 Then Return SetError(3, 1, 0)
; Get size of current sheet as R1C1 string
; Note: $xlCellTypeLastCell and $x1R1C1 are constants declared in ExcelCOM_UDF.au3
Local $sLastCell = $oExcel.Application.Selection.SpecialCells($xlCellTypeLastCell).Address(True, True, $xlR1C1)
; Extract integer last row and col
Local $iLastRow = StringInStr($sLastCell, "Z")
;~ Local $iLastRow = StringInStr($sLastCell, "R")
Local $iLastColumn = StringInStr($sLastCell, "S")
;~ Local $iLastColumn = StringInStr($sLastCell, "C")
$iLastRow = Number(StringMid($sLastCell, $iLastRow + 1, $iLastColumn - $iLastRow - 1))
$iLastColumn = Number(StringMid($sLastCell, $iLastColumn + 1))
; Return 0's if the sheet is blank
If $sLastCell = "Z1S1" And $oExcel.Activesheet.Cells($iLastRow, $iLastColumn).Value = "" Then Return $avRET
;~ If $sLastCell = "R1C1" And $oExcel.Activesheet.Cells($iLastRow, $iLastColumn).Value = "" Then Return $avRET
; Check input range is in bounds
If $iStartRow > $iLastRow Then Return SetError(2, 0, 0)
If $iStartColumn > $iLastColumn Then Return SetError(2, 1, 0)
If $iStartRow + $iRowCnt - 1 > $iLastRow Then Return SetError(3, 0, 0)
If $iStartColumn + $iColCnt - 1 > $iLastColumn Then Return SetError(3, 1, 0)
; Check for defaulted counts
If $iRowCnt = 0 Then $iRowCnt = $iLastRow - $iStartRow + 1
If $iColCnt = 0 Then $iColCnt = $iLastColumn - $iStartColumn + 1
; Size the return array
ReDim $avRET[$iRowCnt + 1][$iColCnt + 1]
$avRET[0][0] = $iRowCnt
$avRET[0][1] = $iColCnt
If $iColShift Then ;Added by litlmike
; Read data to array
For $r = 1 To $iRowCnt
For $c = 1 To $iColCnt
$avRET[$r][$c - 1] = $oExcel.Activesheet.Cells($iStartRow + $r - 1, $iStartColumn + $c - 1).Value
Next
Next
Else ;Default for $iColShift
; Read data to array
For $r = 1 To $iRowCnt
For $c = 1 To $iColCnt
$avRET[$r][$c] = $oExcel.Activesheet.Cells($iStartRow + $r - 1, $iStartColumn + $c - 1).Value
Next
Next
EndIf
;Return data
Return $avRET
EndFunc ;==>_ExcelReadSheetToArray_TEST
Hi,
Padmak hat eigentlich schon alles gesagt.
Übersetzer und Reviewer suchen wird dringend.
Wäre super wenn du helfen würdest.
Die von die beschriebene Datei ist jedoch bereits übersetzt.
Du kannst jedoch beide mal vergleichen und noch Fehler ausmerzen.