Sry, aber du weißt nicht was du willst.
Eben gerade bestätigst du auf Nachfrage, dass es Dateien sind - und jetzt doch wieder GUI ? ![]()
Beiträge von BugFix
-
-
Guckst du
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]$gui1 = GUICreate('GUI 1')
[/autoit] [autoit][/autoit] [autoit]
$btn1 = GUICtrlCreateButton('Zeige GUI 2', 10, 20, 100, 20)$gui2 = GUICreate('GUI 2')
[/autoit] [autoit][/autoit] [autoit]
$btn2 = GUICtrlCreateButton('Button 2', 10, 20, 100, 20)GUISetState(@SW_SHOW, $gui1)
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit]
$msg = GUIGetMsg(1)
Switch $msg[1] ; Window Handle
Case $gui1
Switch $msg[0] ; Event
Case $GUI_EVENT_CLOSE
Exit
Case $btn1
GUISetState(@SW_HIDE, $gui1)
GUISetState(@SW_SHOW, $gui2)
EndSwitch
Case $gui2
Switch $msg[0]
Case $GUI_EVENT_CLOSE
GUISetState(@SW_SHOW, $gui1)
GUISetState(@SW_HIDE, $gui2)
Case $btn2
MsgBox(0, '', 'Button 2 geklickt')
EndSwitch
EndSwitch
WEnd -
Dann such erst mal nach einer Methode, die Farbwerte für jedes Pixel der beiden Bilder zu ermitteln.
Nun die beiden Werte (von jedem Pixel) subtrahieren und zurückschreiben /-zeichnen, wie auch immer.
Viel Spaß!
-
gibt es ein entweder-oder in regexp?! das könnte vllt die lösung sein
Ja freilich
[autoit]
#include <Array.au3>
[/autoit][autoit][/autoit][autoit]
$pattern = '(?:\s+)(\w+)(?:(?:\s+wert:)|\s+)(\d+|n/a)(?:\s*)(\d+m)(?:\s*)(\d+s)'
$var1 = " gustav n/a 34765m 56s" ; fall1
$var2 = " gustav wert:1234 15m 7s" ; fall2$data = StringRegExp($var1, $pattern, 1)
[/autoit]
_ArrayDisplay($data, 'Fall 1')
$data = StringRegExp($var2, $pattern, 1)
_ArrayDisplay($data, 'Fall 2') -
Du startest die Funktion 'Loop'. Solange diese nicht beendet ist, kannst du auch nicht die Funktion 'Stop' aufrufen.
Befehle werden nacheinander abgearbeitet. -
welche listview er laden soll
$hWnd <== Da übergibst du das Handle oder die ID deines ListViewmit einem FileOpenDialog
[autoit]
Wozu willst du eine FileOpenDialog? - Du willst doch in eine Datei speichern. Also wohl eher FileSave Dialog:$path = FileSaveDialog('ListView-Export speichern', @MyDocumentsDir, '*.csv')
[/autoit]
If @error Then Exit MsgBox(0, 'Fehler', 'Keine Zieldatei gewählt.')
FileWrite($path, _GUICtrlListView_Export($hWnd, 1, ',')) -
Ich hab mal schnell eine Funktion erstellt zum wahlweisen Export als Array oder String mit Trennzeichen (Default ist gemäß Opt('GUIDataSeparatorChar'), im Allg. '|').
[autoit]
Kannst ja die Stringausgabe direkt in eine Datei schreiben.FileWrite('Pfad_Datei.csv', _GUICtrlListView_Export($hWnd, 1, ',')
[/autoit][autoit]#include <GUIListView.au3>
[/autoit]
Func _GUICtrlListView_Export($hWnd, $exType=0, $Delim=Default) ; $exType=0 Array / $exType=1 String
If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
Local $row = _GUICtrlListView_GetItemCount($hWnd)
If $exType Then
If $Delim <> Default Then Local $oldDelim = Opt('GUIDataSeparatorChar', $Delim)
Local $sOut = ''
For $i = 0 To $row -1
$sOut &= _GUICtrlListView_GetItemTextString($hWnd, $i) & @CRLF
Next
If $Delim <> Default Then Opt('GUIDataSeparatorChar', $oldDelim)
Return $sOut
EndIf
Local $col = _GUICtrlListView_GetColumnCount($hWnd)
Local $aOut[$row][$col]
If $col = 1 Then
ReDim $aOut[$row]
For $i = 0 To UBound($aOut) -1
$aOut[$i] = _GUICtrlListView_GetItemText($hWnd, $i)
Next
Return $aOut
EndIf
For $i = 0 To UBound($aOut) -1
For $j = 0 To UBound($aOut, 2) -1
$aOut[$i][$j] = _GUICtrlListView_GetItemText($hWnd, $i, $j)
Next
Next
Return $aOut
EndFunc -
Hi,
ich hab mal auf die Commandlinevariante gewechselt. Ist etwas einfacher zu händeln.
Die Registryschlüssel beziehen sich auf die Standardinstallation. Bei Serverinstallation entsprechend anpassen - s. PDFCreator-Hilfe.Edit: Noch einen Bug gefixt.

Spoiler anzeigen
[autoit]#include <File.au3>
[/autoit] [autoit][/autoit] [autoit]
Local $SourceFolder = 'C:\TEST_ONLY\' ; Quellordner, abschließender Backslash - sonst Fehler bei RunWait!
Local $TargetFolder = $SourceFolder & 'PDF_OUT' ; Ausgabeordner
If Not FileExists($TargetFolder) Then DirCreate($TargetFolder)Local $TargetFormat = 0 ; values: ' 0 = PDF, 1 = PNG, 2 = JPEG, 3 = BMP, 4 = PCX, 5 = TIFF, 6 = PS, 7 = EPS, 8 = TXT,
[/autoit] [autoit][/autoit] [autoit]
;~ 9 = PDF/A-1b, 10 = PDF/X, 11 = PSD, 12 = PCL, 13 = RAW
Local $FileType = '*.doc' ; Quelldateityp
Local $FileSaveName = '<Title>' ; oder folgende Attribute (auch kombinierbar '<Title><DateTime>' )
;~ <Author> - Der Ersteller/Autor eines Dokumentes. Dies muss nicht immer der angemeldete Benutzer sein.
;~ <Computername> - Der Name des Rechners, auf dem PDFCreator installiert wurde.
;~ <ClientComputer> - Der Name oder die IP-Adresse des Rechners, der den Druckauftrag erstellt hat.
;~ Liegt eine Standardinstallation vor, entspricht der Clientcomputer dem Computernamen.
;~ Wurde die Serverinstallation gewählt, ist der Clientcomputer der Rechner, der über die Freigabe
;~ des Druckers einen Druckauftrag erstellt hat. Der Token kann auch für das "Automatische Speichern"-
;~ Verzeichnis gewählt werden, um so direkt auf dem Rechner, der den Druckauftrag erstellt hat, ein Dokument
;~ zu speichern (Bsp.: "\\<ClientComputer>\c$\files").
;~ <DateTime> - Fügt das aktuelle Datum und die aktuelle Zeit ein.
;~ <Title> - Fügt den Dokumententitel ein.
;~ <Username> - Fügt den Benutzernamen des angemeldeten Benutzers ein.
;~ <Counter> - Ein Zähler der bis 922.337.203.685.477 zählt.
;~ <MyFiles> - Ist das Verzeichnis "Eigene Dateien" des Benutzers.
;~ <MyDesktop> - Steht für den Desktop des Benutzers.; Dateien einlesen
[/autoit] [autoit][/autoit] [autoit]
Local $aFiles = _FileListToArray($SourceFolder, $FileType, 1)
If @error Then Exit MsgBox(0, 'Fehler', 'Keine Datei des gesuchten Typs im Ordner.'); bestehende AutoSave-Option auslesen
[/autoit] [autoit][/autoit] [autoit]
Local $key = "HKEY_CURRENT_USER\Software\PDFCreator\Program"
Local $UseAutosave = RegRead($key, 'UseAutosave'); Optionen setzen
[/autoit] [autoit][/autoit] [autoit]
RegWrite($key, 'UseAutosave', 'REG_SZ', 1)
RegWrite($key, 'AutosaveDirectory', 'REG_SZ', $TargetFolder)
RegWrite($key, 'AutosaveFilename', 'REG_SZ', $FileSaveName)
RegWrite($key, 'AutosaveFormat', 'REG_SZ', $TargetFormat); Drucken
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 To UBound($aFiles)-1
RunWait(@ComSpec & " /c " & 'C:\Programme\PDFCreator\PDFCreator.exe /NOSTART /PF"' & $SourceFolder & $aFiles[$i] & '"', "", @SW_HIDE)
Next
Local $init = TimerInit()
Do
Sleep(50)
Until (Not ProcessExists('PDFSpool.exe')) Or TimerDiff($init) > 1000; ursprüngliche AutoSave-Option zurückschreiben
[/autoit] [autoit][/autoit] [autoit]
RegWrite($key, 'UseAutosave', 'REG_SZ', $UseAutosave)MsgBox(0, 'Convert2PDF', 'Abgeschlossen.')
[/autoit]Edit2:
Ich habe die Objektvariante nochmal verbessert. Probier einfach, was dir besser gefällt:Spoiler anzeigen
[autoit]#include <File.au3>
[/autoit] [autoit][/autoit] [autoit]
Local $SourceFolder = 'C:\TEST_ONLY\' ; Quellordner, abschließender Backslash
Local $TargetFolder = $SourceFolder & 'PDF_OUT' ; Ausgabeordner
If Not FileExists($TargetFolder) Then DirCreate($TargetFolder)Local $TargetFormat = 0 ; values: ' 0 = PDF, 1 = PNG, 2 = JPEG, 3 = BMP, 4 = PCX, 5 = TIFF, 6 = PS, 7 = EPS, 8 = TXT,
[/autoit] [autoit][/autoit] [autoit]
;~ 9 = PDF/A-1b, 10 = PDF/X, 11 = PSD, 12 = PCL, 13 = RAW
Local $FileType = '*.doc' ; Quelldateityp
Local $FileSaveName = '<Title>' ; oder folgende Attribute (auch kombinierbar '<Title><DateTime>' )
;~ <Author> - Der Ersteller/Autor eines Dokumentes. Dies muss nicht immer der angemeldete Benutzer sein.
;~ <Computername> - Der Name des Rechners, auf dem PDFCreator installiert wurde.
;~ <ClientComputer> - Der Name oder die IP-Adresse des Rechners, der den Druckauftrag erstellt hat.
;~ Liegt eine Standardinstallation vor, entspricht der Clientcomputer dem Computernamen.
;~ Wurde die Serverinstallation gewählt, ist der Clientcomputer der Rechner, der über die Freigabe
;~ des Druckers einen Druckauftrag erstellt hat. Der Token kann auch für das "Automatische Speichern"-
;~ Verzeichnis gewählt werden, um so direkt auf dem Rechner, der den Druckauftrag erstellt hat, ein Dokument
;~ zu speichern (Bsp.: "\\<ClientComputer>\c$\files").
;~ <DateTime> - Fügt das aktuelle Datum und die aktuelle Zeit ein.
;~ <Title> - Fügt den Dokumententitel ein.
;~ <Username> - Fügt den Benutzernamen des angemeldeten Benutzers ein.
;~ <Counter> - Ein Zähler der bis 922.337.203.685.477 zählt.
;~ <MyFiles> - Ist das Verzeichnis "Eigene Dateien" des Benutzers.
;~ <MyDesktop> - Steht für den Desktop des Benutzers.; Dateien einlesen
[/autoit] [autoit][/autoit] [autoit]
Local $aFiles = _FileListToArray($SourceFolder, $FileType, 1)
If @error Then Exit MsgBox(0, 'Fehler', 'Keine Datei des gesuchten Typs im Ordner.'); PDFCreator Objekt erstellen
[/autoit] [autoit][/autoit] [autoit]
Local $oPDFCreator = ObjCreate("PDFCreator.clsPDFCreator")
Local $EventObj = ObjEvent($oPDFCreator, 'PDFCreator_')$oPDFCreator.cStart("/NoProcessingAtStartup")
[/autoit] [autoit][/autoit] [autoit]With $oPDFCreator
[/autoit] [autoit][/autoit] [autoit]
$DefaultPrinter = .cDefaultprinter
.cDefaultprinter = "PDFCreator"
.cClearcache
.cPrinterStop = False
.cOption('UseAutosave') = 1
.cOption('AutosaveFormat') = $TargetFormat
.cOption('UseAutosaveDirectory') = 1
.cOption('AutosaveDirectory') = $TargetFolder
.cOption('AutosaveFilename') = $FileSaveName
EndWith; Dateien als PDF drucken
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 To UBound($aFiles) -1
With $oPDFCreator
If Not FileExists($SourceFolder & $aFiles[$i]) Then _end('Datei existiert nicht.')
If Not .cIsPrintable($SourceFolder & $aFiles[$i]) Then _end('Datei ist nicht druckbar.')
.cPrintfile($SourceFolder & $aFiles[$i])
Do
Sleep(20)
Until .cIsConverted()
.cIsConverted = False
EndWith
Next_end()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func PDFCreator_eError()
[/autoit] [autoit][/autoit] [autoit]
$oErr = $oPDFCreator.cError
_end($oErr.Number & ' : ' & $oErr.Description & @CRLF)
EndFuncFunc _end($msg = '')
[/autoit]
With $oPDFCreator
.cPrinterStop = True
.cDefaultprinter = $DefaultPrinter
.cClearcache
Sleep(200)
.cClose
EndWith
If $msg Then
Exit MsgBox(0, 'Fehler', $msg)
Else
Exit MsgBox(0, 'Convert2PDF', 'Abgeschlossen.')
EndIf
EndFunc -
Das Editfenster ist etwas zu weit oben, also nicht genau in der Zeile die editiert werden soll.
- mit Doppelklick öffnet sich genau überder angeklickten Spalte ein Editfenster
Genau so ist es gewollt.

-
Ich kenne diesen Converter nicht, ich verwende PDFCreator.
[autoit]
Damit läßt sich das gut so automatisieren:Local $FILE = "C:\Test_1.doc" ; kpl. Pfad der zu druckenden Datei
[/autoit]
Local $oPDFCreator = ObjCreate("PDFCreator.clsPDFCreator")
If Not IsObj($oPDFCreator) Then Exit MsgBox(0, 'Fehler', 'Objekterstellung fehlgeschlagen.')
$oPDFCreator.cStart("/NoProcessingAtStartup")
With $oPDFCreator
.cOption("AutosaveFormat") = 0 ; 0 = PDF
$DefaultPrinter = .cDefaultprinter
.cDefaultprinter = "PDFCreator"
.cClearcache
.cPrinterStop = False
If Not FileExists($FILE) Then Exit MsgBox(0, 'Fehler', 'Datei existiert nicht.')
If Not .cIsPrintable($FILE) Then Exit MsgBox(0, 'Fehler', 'Datei ist nicht druckbar.')
.cPrintfile($FILE)
.cDefaultprinter = $DefaultPrinter
.cClearcache
Sleep(200)
.cClose
EndWith -
Hi,
ich habe mal interessenhalber die Zugriffsstatistik auf die in meiner Domain gespeicherten Tuts angeschaut.
Ehrlich - mit soviel (konstanter) Resonanz hatte ich dann doch nicht gerechnet:Anzahl der Zugriffe
2009-04 9.429
2009-03 9.470
2009-02 9.075
2009-01 9.441Verweisende URL's
Code
Alles anzeigen103 www.google.de/search 86 wiki.autoit.de/wiki/index.php/Tutorial 72 www.autoit.de/index.php 20 autoit.de/index.php 12 www.google.com/search 11 www.google.ch/search 9 www.google.at/search 3 de.search.yahoo.com/search 1 www.google.fr/search 1 www.scroogle.org/cgi-bin/nbbw.cgi 233 sonstige (ni. verwertbar) 551 GesamtDomains der Besucher (01.01.09 - 16.05.09)
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Seitenzugriff
CodeDas Zugriffs-Verhältnis auf die Seiten ist über den gesamten Zeitraum annähernd konstant: Array - Tutorial : RegExp - Beispiel : Bit - Tutorial 6 : 2 : 1Freut mich, dass es genutzt wird.

-
Aber warum schreibst du nicht einfach mit StdinWrite in die Putty-Console?
-
und dann dort mit rechtsklick das was im zwischenspeicher liegt dort einfügen...
Hast du das schon mal von Hand versucht
- Es erscheint dann im Fenster statt des Speicherinhalts nur: ^V (bei Verwendung Strg+V zum Einfügen).
Und soweit ich bisher erlebt habe, interagieren Terminalfenster nicht mit der Maus. -
Ich kann das Verhalten nicht bestätigen.
Ich habe das Skript mal als Bsp. um ein Kontextmenü mit Anhängen, Einfügen, Löschen ergänzt. Das klappt tadellos.Spoiler anzeigen
[autoit]#include<StaticConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include<GUIConstantsEx.au3>
#include<ListViewConstants.au3>
#include<StructureConstants.au3>
#include<WindowsConstants.au3>
#include <GUIListView.au3>Global $hListView, $currentItem[2], $title, $currentOpt[2] = ["none"]
[/autoit] [autoit][/autoit] [autoit]$GUI = GUICreate('test')
[/autoit] [autoit][/autoit] [autoit]
$ListView = GUICtrlCreateListView('Spalte1|Spalte2|Spalte3', 10, 10, 300, 200, $LVS_REPORT)
$hListView = GUICtrlGetHandle(-1)
$LV_mnu = GUICtrlCreateContextMenu($ListView)
$mnuAdd = GUICtrlCreateMenuItem('Anhängen - Leeres Item', $LV_mnu)
$mnuIns = GUICtrlCreateMenuItem('Einfügen - Leeres Item', $LV_mnu)
GUICtrlCreateMenuItem('', $LV_mnu)
$mnuDel = GUICtrlCreateMenuItem('Löschen - Markiertes Item', $LV_mnu)
_GUICtrlListView_SetColumnWidth($hListView, 0, 70)
_GUICtrlListView_SetColumnWidth($hListView, 1, 60)
_GUICtrlListView_SetColumnWidth($hListView, 2, $LVSCW_AUTOSIZE_USEHEADER )
For $i = 1 To 9
GUICtrlCreateListViewItem('Z. ' & $i & ' - Sp. 1|Z. ' & $i & ' - Sp. 2|Z. ' & $i & ' - Sp. 3', $ListView)
Next$EditBox = GUICreate('', 200, 30, -1, -1, BitOR($WS_POPUP,$WS_BORDER), $WS_EX_TOPMOST)
[/autoit] [autoit][/autoit] [autoit]
$dummy = GUICtrlCreateDummy()
$hEdit = GUICtrlCreateInput('', 5, 5, 190, 20, $SS_CENTER)
HotKeySet('{ESC}', '_EscEdit')
Global $AccelKeys[1][2]=[["{ENTER}", $dummy]]
GUICtrlSetOnEvent($dummy, "_EditEnter")
GUISetAccelerators($AccelKeys)GUISetState(@SW_SHOW, $GUI)
[/autoit] [autoit][/autoit] [autoit]
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")While True
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
Case $mnuAdd
_mnuAdd()
Case $mnuIns
_mnuIns()
Case $mnuDel
_mnuDel()
EndSwitch
WEndFunc _mnuAdd()
[/autoit] [autoit][/autoit] [autoit]
Local $new = _GUICtrlListView_AddItem($hListView, '')
Local $col = _GUICtrlListView_GetColumnCount($hListView)
If $col = 1 Then Return
For $i = 1 To $col -1
_GUICtrlListView_AddSubItem($hListView, $new, '', $i)
Next
EndFuncFunc _mnuIns()
[/autoit] [autoit][/autoit] [autoit]
Local $marked = _GUICtrlListView_GetSelectedIndices($hListView)
If $marked = '' Then Return MsgBox(0, 'Fehler Einfügen', 'Kein Item markiert!')
_GUICtrlListView_InsertItem($hListView, '', $marked)
EndFuncFunc _mnuDel()
[/autoit] [autoit][/autoit] [autoit]
Local $marked = _GUICtrlListView_GetSelectedIndices($hListView)
If $marked = '' Then Return MsgBox(0, 'Fehler Löschen', 'Kein Item markiert!')
_GUICtrlListView_DeleteItem($hListView, $marked)
EndFuncFunc _LeftDblClick($Info)
[/autoit] [autoit][/autoit] [autoit]
If $Info[3] = -1 Then Return
If $currentOpt[0] = "none" Then
$currentOpt[0] = Opt('GUICoordMode', 1)
$currentOpt[1] = Opt("GUIOnEventMode", 1)
EndIf
GUICtrlSetOnEvent($hEdit, '_EditEnter')
_GUICtrlListView_SetSelectedColumn($Info[1], $Info[4])
$title = WinGetTitle($GUI)
Local $mouse = MouseGetPos(), $posEdit = WinGetPos($EditBox)
Local $posGUI = WinGetPos($GUI), $posLV = ControlGetPos($GUI, '', $hListView)
Local $colInfo = _GUICtrlListView_GetColumn($Info[1], $Info[4]), $sumWidth = 0, $tmp
WinSetTitle($GUI, '', 'Editiere: Zeile ' & $Info[3]+1 & ', ' & $colInfo[5])
For $i = 0 To $Info[4]
$tmp = _GUICtrlListView_GetColumn($Info[1], $i)
$sumWidth += $tmp[4]
Next
$sumWidth -= $colInfo[4]
Local $xPos = $posGUI[0]+$posLV[0]+$sumWidth
If $xPos+$colInfo[4]+10 > @DesktopWidth Then $xPos = @DesktopWidth - ($colInfo[4] + 10)
If $xPos < 0 Then $xPos = 0
WinMove($EditBox, '', $xPos, $mouse[1]-$posEdit[3], $colInfo[4]+10)
GUICtrlSetData($hEdit, _GUICtrlListView_GetItemText($Info[1], $Info[3], $Info[4]))
$currentItem[0] = $Info[3]
$currentItem[1] = $Info[4]
GUISetState(@SW_SHOW, $EditBox)
EndFuncFunc _EscEdit()
[/autoit] [autoit][/autoit] [autoit]
WinSetTitle($GUI, '', $title)
Opt('GUICoordMode', $currentOpt[0])
Opt("GUIOnEventMode", $currentOpt[1])
$currentOpt[0] = "none"
GUISetState(@SW_HIDE, $EditBox)
EndFuncFunc _EditEnter()
[/autoit] [autoit][/autoit] [autoit]
WinSetTitle($GUI, '', $title)
Opt('GUICoordMode', $currentOpt[0])
Opt("GUIOnEventMode", $currentOpt[1])
$currentOpt[0] = "none"
_GUICtrlListView_SetItemText($hListView, $currentItem[0], GUICtrlRead($hEdit), $currentItem[1])
GUISetState(@SW_HIDE, $EditBox)
EndFuncFunc WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit]
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView
$hWndListView = $hListView ; ID des LV
If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView) ; ID des LV
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hWndListView
Switch $iCode
Case $NM_DBLCLK
Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
Local $aInfo[5] = [$hWndFrom, $iIDFrom, $iCode, DllStructGetData($tInfo, "Index"), _
DllStructGetData($tInfo, "SubItem")]
_LeftDblClick($aInfo)
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY -
Mach ein Kontextmenü und dort einen Punkt: Item anfügen, oder Einfügen.

-
Aber eine andere Sache, was mache ich, wenn ich eine leere Zelle editieren will? Dann reagiert das Script leider nicht.
Selbstverständlich kannst du auch leere Zellen editieren.(erstelle doch mal ein paar leere, wirst sehen es geht). Aber du meinst wohl eher nicht existierende Zellen. Die kann man natürlich nicht editieren, die mußt du erst erstellen. -
Andy, ich verstehe dein Ansinnen und gebe dir inhaltlich grundsätzlich recht.
Aber, ich will den User nicht aus seiner Verantwortung entlassen und weitere Regulierungen festsetzen. Wenn du eine EXE lädst, mosert schon dein Downloadprogramm "Achtung, könnte böse sein!". Willst du die Datei auf dem PC starten meldet auch noch eines deiner Sicherheitsprogramme: "Achtung, eine EXE. Wilsst du das wirklich tun?". D.h. der User wird per se an seine eigene Pflicht und Schuldigkeit erinnert, da will ich nicht auch noch Händchen halten. Soviel Eigenverantwortung verlange ich einfach. -
Zum Einen kann ich durchaus verstehen, wenn jemand seinen Code aus einem Schutzbedürfnis heraus (kommerzielle Nutzung der Software angedacht) nicht offenlegen will. Allerdings hätte ich dann nicht das Bedürfnis die ausführbare Datei allgemein zu präsentieren.
Ich befürworte OpenSource, verdamme aber nicht jene, die da andere Wege gehen möchten. Das ist eine Sache, die wirklich jeder für sich privat entscheiden muß.
Wenn nun aber die Datei als EXE angehängt wird, dann ist es m.E. die Pflicht eines jeden Users, sich zu überlegen, ob er diese herunterlädt/ausführt. In unserem Forum gelten doch die gleichen Vorsichtsregeln, wie im übrigen Web. Man kann zwar hoffen, dass unsere Forummitglieder keine Bösewichter sind, aber deswegen blauäugig alles als sicher einzustufen, wäre dasselbe, als ob man sagt: He, meine Nachbarin kenne ich schon seit 10 Jahren. Mit der kann ich ungeschützten Sex haben. Wenn man sich so lange kennt wüßte man doch, falls sie AIDS hat.
Deutschland ist schon dermaßen überhäuft mit Verboten, Geboten und Regulierungen und trotzdem wird immer noch von einer demokratischen Selbstbestimmung gefaselt. Schlußendlich halte ich also nichts davon, dieser Regulierungswut noch ein weiteres Dekret hinzuzufügen. Meine Antwort lautet: Nein. -
ist es möglich, einen parameter byref zurück zugeben?
Zitatzb wenn ein array in einer function erstellt wird - ich erinner da mal an funktionen wie stringsplit....
[autoit]
Dann deklariere einfach vorab den Ergebnisspeicher und übergib die Variable dazu beim Aufruf der Funktion mit ByRef:#include <Array.au3>
[/autoit][autoit][/autoit][autoit]
Local $ergebnisSplit
If _mySplit('12345', '', $ergebnisSplit) Then _ArrayDisplay($ergebnisSplit)Func _mySplit($string, $trenner, ByRef $ergebnisSplit)
[/autoit]
$ergebnisSplit = StringSplit($string, $trenner, 2)
If @error Then
Return 0
Else
Return 1
EndIf
EndFunc -
Den Teil SelectCase habe ich herausgelöscht, weil ich nicht wusste wozu der Teil ist und keine Fehler verursacht hatte (nach dem Herausnehmen).
Also hatte ich für mich entschieden, dass ich ihn nicht brauch.
Also Xethria, eigentlich müßte ich mich beleidigt fühlen.
Ich programmiere gaaaanz sicher nix in meine Funktionen, das ohne Sinn ist.
Aber die Rache des Programms hat dich ja schon voll erwischt, und somit bin ich auch nicht sauer.