danke danke danke danke danke! Du hast mir damit echt sehr viel weiter geholfen! Ich wäre da alleine nie drauf gekommen und hätte es sonst nie lösen können! Vieeelen dank
Beiträge von Niccoo
-
-
Nein, ich kan die excel datei ohne weiterem bearbeiten, öffnen löschen alles. Ich kan sie einfach so aufrufen und alles super.
-
Sagt mir was ihr noch wissen braucht die datei ist nicht schreibgeschützt, man kan sie so normal bearbeiten. Es sind nicht die Filter die das Problem verursachen. Beim zum xls machen geht es wieder allerdings fehlen dan ganze zeilen. Ich wüsste jz nicht was ich da noch mal nachschauen sollte
Wenn du das willst kann ich dir die Datei ja mal schicken. Solange sie halt einfach nicht jeder hat es ja okee
-
Habe ich bereits getan, da gehen dan ein paar wichtige formatierungen weg, die auf gar keinen fall weg sein dürfen. Aber dannach ging es aber es geht doch sonst bei anderen xlsx datein. Warum den nun ausgerechnet nicht mehr bei dieser?
-
Vollen Pfad, der auch richtig als string erkannt wird, und auch stimmt. mehrfach ausgeben lassen etc.
C:\...\test.xlsx <- halt mit allem dazwischen
-
Mh du wirst es mir vll nicht glauben aber die Filter waren alle auf alles anzeigen. Und es klappt nicht. Dan habe ich in meiner Test tabelle auch einfach mal alle Filter gelöscht, die waren nur in dem sheet wo auch alles eingetragen werden muss. Sonst nirgendwo, aber dennoch klappt es nicht ich würde dir halt mal gerne die Tabelle schicken oder so, aber ich glaube da ist mein Vater dan nicht so der Fan von und ich darf es bestimmt nicht. Und eine vergleichbar ähnliche gibts a) nicht und b) meine alte die ich ja noch hatte klappt ja auch.
-
Wie mache ich das den? Was Excel angeht bin ich sogesagt ein voll Brot. Ich habe die 2010er Version. Und Wenn ich irgendwelche Filter ausschalten muss die die Tabellen werde verändern kann ich das leider auch nicht machen. Ich kann es vorab bei meiner Testfile testen aber wenn das etwas an der Darstellung etc. ändert muss ich es anders lösen hätte da zwar schon ideen (das in andere datei schreiben etc.) aber das ist unsauber! Also ich hoffe du kannst mir das für dumme erklären und ich melde mich dan wie es geklappt hat!
-
Hey,
Ich Arbeite gerade für mein Vater an ein Programm welches Wetter, Strom,Gas etc. Daten in einer Exceltabelle verwaltet. Er hat bereits eine riesige Tabelle die nun 4 Jahre alt ist und wo alle Erträge drinne stehen. Anfangs klappte es auch alles wunderbar, doch seid einigen Tagen kommt immer wieder eine Fehlermeldung:
Namenskonflikt
Name darf integriertem Namen nicht gleichen.
Alter Name: _FilterDatabase
Neuer Name:Wenn ich da etwas eingehe klappt nichts, wenn nicht schließt es sich sofort wieder. In AutoIt sagt er mir das hier:
D:\Program Files\AutoIt3\Include\Excel2.au3 (191) : ==> The requested action with this object has failed.:
If $sPassword = "" And $sWritePassword = "" Then .WorkBooks.Open($sFilePath, Default, $fReadOnly)
If $sPassword = "" And $sWritePassword = "" Then .WorkBooks.Open($sFilePath, Default, $fReadOnly)^ ERRORDer Fehler passiert in meinem Code in dieser Funktion:
Spoiler anzeigen
[autoit]Func _Excel_Check()
[/autoit]
_Read()
Local $Check = True
If ProcessExists('EXCEL.EXE') Then
$Msg = MsgBox(68,'Achtung!','Es gibt bereits eine geöffnetes Excel-Dokument' & @CRLF & 'Soll es geschlossen werden?')
If $Msg = 6 Then ProcessClose('EXCEL.EXE')
EndIf
While $Check = True
$name = _ExcelSheetNameGet($oExcel)
If @error = 1 Then
$oExcel = _ExcelBookOpen($AltPfad,0) ; Das hier ist der "error" Befehl, aber $AltPfad wird als String erkannt und ist der richtige zum Dateipfad.
If @error = 1 Then
_write_log($Log , "Konnte kein Excel Objekt erstellen!", $Main)
$Check = False
_Error()
ElseIf @error = 2 Then
_write_log($Log , "Datei existiert nicht", $Main)
$Check = False
_Error()
EndIf
_ExcelSheetActivate($oExcel,$Tabellenname)
If @error = 1 Then
_write_log($Log , "festgelegtes Objekt existiert nicht", $Main)
$Check = False
_Error()
ElseIf @error = 2 Then
_write_log($Log , "festgelegte Zahl des Tabellenblattes existiert nicht", $Main)
$Check = False
_Error()
ElseIf @error = 3 Then
_write_log($Log , "festgelegter Name des Tabellenblattes existiert nicht", $Main)
$Check = False
_Error()
EndIf
ElseIf @error = 0 Then
$Check = False
EndIf
WEnd
;~ $aArray = _Excel_Search('Datum' ,'2012/12/27' ,1)
$CheckDatum = (_DateDiff('d',"2010/01/01",GUICtrlRead($LDatum)))-1
$Cell = 4 + $CheckDatum
EndFuncDie datei ist eine *.xlsx und bis vor kurzem hatte es noch geklapp. Mit genau der selben Datei. In der Excel include sieht es so aus:
Spoiler anzeigen
[autoit]Func _ExcelBookOpen($sFilePath, $fVisible = 1, $fReadOnly = False, $sPassword = "", $sWritePassword = "")
[/autoit] [autoit][/autoit] [autoit]
Local $oExcel = ObjCreate("Excel.Application")
If Not IsObj($oExcel) Then Return SetError(1, 0, 0)
If Not FileExists($sFilePath) Then Return SetError(2, 0, 0)
If $fVisible > 1 Then $fVisible = 1
If $fVisible < 0 Then $fVisible = 0
If $fReadOnly > 1 Then $fReadOnly = 1
If $fReadOnly < 0 Then $fReadOnly = 0
With $oExcel
.Visible = $fVisible
If $sPassword <> "" And $sWritePassword <> "" Then .WorkBooks.Open($sFilePath, Default, $fReadOnly, Default, $sPassword, $sWritePassword)
If $sPassword = "" And $sWritePassword <> "" Then .WorkBooks.Open($sFilePath, Default, $fReadOnly, Default, Default, $sWritePassword)
If $sPassword <> "" And $sWritePassword = "" Then .WorkBooks.Open($sFilePath, Default, $fReadOnly, Default, $sPassword, Default)
If $sPassword = "" And $sWritePassword = "" Then .WorkBooks.Open($sFilePath, Default, $fReadOnly); Select the first *visible* worksheet.
[/autoit]
For $i = 1 To .ActiveWorkbook.Sheets.Count
If .ActiveWorkbook.Sheets($i).Visible = $xlSheetVisible Then
.ActiveWorkbook.Sheets($i).Select()
ExitLoop
EndIf
Next
EndWith
Return $oExcel
EndFunc ;==>_ExcelBookOpenIch nutze soweit ich glaube die AutoIt beta version hier aus dem Forum. Also 3.3.9.1 ist es glaube ich. Ich habe keine Ahnung wie ich das Problem lösen kann und suche schon seid stunden nach einer Lösung doch ohne erfolg
#edit: es ist deshalb Excel2 weil ich bereits versucht habe etwas in der include zu verändern. Einfach zu testen ob ich es so rausbekomme und ich wollte die Excel.au3 nicht überspeichern
-
Ansonsten richtig gut gelungen, ich dachte mir heute nähmlich: mein gott, sehen diese standert buttons behindert aus. Da kann man bestimmt mal was dran machen tjaoh dan kammst du ich brauche nur noch den soucre, sonst bringts reichlich wenig ;D
-
Endweder mache ich was voll falsch, oder er zeigt mir den source code nicht an ich hatte mir jz ein Button erstellt und habe dan auf "Sourece Code" geklickt, aber nix geschah ;O
-
Mhmm.. scheint nicht zu funktionieren...
Das sieht ja bisher ganz simple so aus:
Spoiler anzeigen
[autoit]$Tab = GUICtrlCreateTabItem(" ---Verwaltung--- ")
[/autoit]
$hWnd = GUICtrlGetHandle($Tab)
$hCombo = _GUICtrlComboBoxEx_Create($hWnd,"",296, 72, 145, 25)Nur leider zeigt er einfach keine ComboBox an. Wenn ich ihm das handel des Gui`s gebe, funktioniert es, allerdings ist die combobox dan auf allen tabs zu sehen (._.)
Ich hoffe das es dafür eine Lösung gibt, aber danke für deine Idee, das hatte ich noch gar nicht getestet
-
Hey,
Ich hatte vor so eine kleine Programm übersicht zu machen. Da ich dieses aber über ein Tab control steuere, bin ich auf das Problem gestoßen:
Ich wollte gerne die icons von dem Programmen mir in der combobox mit anzeigen lassen. D.h. ich brauche ja ComboboxEx, doch diese lässt sich nur auf dem GUI platzieren und nicht in den Tabitems...
Ich hatte sogar dran gedacht, ob man nicht eine normale combo box erstellt und diese dan mit states oder so, zu einer ComboboxEx macht (wenn soetwas überhaupt möglich ist o_O?)
Ich kann auch leider nicht auf das Tab menü verzichten, da sonst das GUI einfach zu groß wird & es dan nicht mehr gut aussieht
Ich Hoffe ihr versteht mein Problem und habt vll. ideen wie ich es lösen kann
-
Jz weiß man, warum ich mich immer bei dir bedanke ;D hänge ich natürlich noch dran, muss aber jz erst flott für ca. 30min-1h weg zur not findet man sie auch in dem yt video aber ich lade sie gleich hoch
edit:
habe die udf zum ersten thred mit hinzugefügt, sie ist ein wenig anders als die aus dem video -
Heyhooo
Ich arbeite schon ein wenig länger ein einem Defender Spiel. Es ist eine nachmache von dem Spiel "Defender I / II" für das Android Handy. Es ist mein erstes Spiel überhaupt welches ich in AutoIt geskrippt habe. Ich habe es nicht ganz von alleine gemacht, ein großes dank an Marsi an dieser stelle, der mir bei einigen (viele) stellen immer gute Ratschläge gegeben hat und teilweise auch sehr gute teile dazu beigetragen! DANKE!Nun zu dem Spiel allgemein:
- In dem rar archiv, findet ihr einmal das gesamte Skript, ich weiß selbst, das man viele stellen sehr viel besser und vorallem übersichtlicher hätte gestalten können. Wenn ihr lust habt, könnt ihr mir es ja posten, feedbacks (ob positiv oder negativ ist egal) ist immer erwünscht!
- Auch ist auch ein skript dabei, wo die gesamten bilder drinne liegen, damit diese nicht immer aus den Ordnern geladen werden müssen & so können weniger nutzerfehler entstehen!
- Ein ordner mit den gesamten grafiken, damit ihr die maße habt, wenn ihr selbst neue gegner erschafen wollt etc. bitte beachtet das die bilder nicht aus dem ordner geladen werden, sondern erst in die res.au3 mit eingetragen werden müssen!!!
- Zuzätzlich ist noch eine Debug exe dabei, dadurch könnt ihr das Spiel sofort staren. Der Debug modus (danke Marsi) ist ein Test modus, damit ihr upgrade kosten usw. alles testen könnt. Ich habe einfach mal so eine version mit dazu gepackt.
- Damit ich bei den bildern den überblick behalte, habe ich eine resdata exeltabelle angefertigt (ganz klein und eig. nur für mich) aber ich weiß ja nicht ob sie den ein oder anderen von euch nicht auch helfen könnte.Zu den Features:
- Eig. Läuft das spiel über einen FTP server, da ich aber meine daten nicht in skript packen wollte, müsst ihr dort eure eigenden eintragen (dies ermöglicht auch das spielen mit kumpels auf einer rangliste)
- Es ist ein updater drinne, den ich mir aus einen Youtube video geholt habe, wenn ihr nicht wisst wie es mit dem Updater funktioniert, könnt ihr euch einfach dieses Video anschauen. Dort wird das sehr schön erklärt! Er läuft auch über die FTP-Server
- Eine Rangliste ist auch mit eingebaut, sie wird allerdings nicht nur nach der Welle berechnet, sondern auch nach dem Upgrades die alle eine andere gewichtigkeit haben. (Je nach Preis)
- Bisher habe finde ich das die Preise bei den Upgrades recht ausgeglichen sind, da die Zauber erst später hinzugefügt wurden, konnte ich mich noch nicht so ausfürhlich mit ihnen befassen.Da ich noch nicht dazu kam, eine Hilfe mit reinzubringen, erkläre ich noch einmal flott die Steuerung
Das Gameplay:
- Auf der Rechtenseite findet ihr noch einen Grauen Kreis, er soll eure Kanone darstellen*. Von ihr gehen immer Schüsse aus, (ohne zu klicken!) zu eurer Mausposition, von Rechts kommen die gegner angerollt die es zu Vernichten gilt.
- Der Obere Rote Balken stellt euer Lebensbalken dar, der Blaue dadrunter ist der Manabalken. Ganz unten, der Gelbe ist die Fortschritsanzeige. Solltet ihr bei einem Boss sein, ist die anzeige über dem Fortschrit die Lebensbar des Bosses.
- Zu den auswirkungen der Upgrades: Schaden: erhöht euren Schuss schaden | Speed: erhöht Schusstempo und verkürzt den Cooldwon zwischen den schüssen | Leben: erhöht euer maximal Leben (wird nicht in der Anzeige angezeigt) | Krit: mit jedem Upgrade bekommt ihr eine 5% chance etwas mehr als den Doppelten schaden zu machen | Rückstoß: wirft mit jedem Treffer den Gegner ein wenig zurück | Mana: erhöht eure Maximale mana (wie Leben, aber nicht die regeneration) | Die Zauber: Mit jedem Upgrade steigt der Radius, die Länge und die Effektstärke.
- Mit F1 pausiert ihr das spiel, wenn ihr in einer Partie seid
- Sollte sich das Bild aufhängen, so drücket F2
- Zaubern tut man mit 1,2,3 [Kannonenfeuer(Schaden),Blitzeis(Betäubung),Toxinic(Verlangserung)]
- Jede 10. Welle ist eine Boss Welle, sollte der Boss einmal durchkommen so ist es nicht schlimm, da dieser solange durchläuft bis ihr Tod seid, allerdings steigert sich nach jedem durchkommen sein Lauftempo!!
- Die gegner sind unterschiedlich, sprich unterschiedliches leben, machen unterschiedlichen schaden, und geben unterschiedlich viel kill Gold.
- Sollte man eine Welle nicht schaffen, so ist es nicht schlimm, da das töten der gegner auch bereits gold einbringt!
- Das Bonus gold nach jeder runde errechnet sich aus dem Leben & welle: Volles Leben = 100% belohungsgold!Comming Soon:
- Kannone, die die Schüsse verschießt, sie soll sich auch immer mit der Maus mitbewegen (damit es besser wirkt)
- Grafiken zu den Zaubern
- Bessere Ranglisten Verwaltung, vll. sogar komplet ohne FTP & dan mit InetGet & php
- Zauber anpassungIch bin über jede art von Feedback erfreut, sei es zur Thred erstellung
oder zum Skrippen oder von der Idee des Spiels, ich bin für alles
offen!!!Ich suche allerdings noch ein paar grafiken, wenn ihr z.B. eine Idee zu
einer neuen Map habt, oder neue Gegner / Bosse. Oder ihr könnt die
Kannone zeichen, von wo die Schüsse rauskommen! Ihr könnt mir endweder
PN schreiben oder es hier im Thred sagen, ich bin immer bereit neue
Grafiken (falls sie auch "gut" sind) mit in das Spiel mit einzubinden!Ein GANZ großen dank geht nochmal an Marsi raus, der auch wenn ich ihn zugespamt habe mir immer gerne weiter geholfen hat!
-
ach du^^ ich finde es recht witzig soo ist mal was anderes
-
Für leute mit nem 2ten bildschrim ist das gar nicht mal so geil der hat jz die ganze zeit nen schwarzen hintergrund, aber ansonsten ist es echt top
-
besten dank, es funktioniert, dabei hatte ich schon Mod(&iWave stehen, dann hatte ich aber ne 2 eingetragen beim nächstenmal nachdenken
dankööö
-
Hey,
Ich bin immer noch dabei, mein eigendes Defender game zu schreiben, ich wollte gerne, das nach jeder 10 Welle ein Boss kommt. Dieses funktioniert auch alles wunderbar. Doch jz wollte ich gerne mehrere Boss grafiken haben, damit mehr abwechslung ins spiel kommt.
Ich wollte das gerne so haben, das ich in etwa 5 verschiedene Bosse mache & diese dan immer in 50iger wellen trips erscheinen lasse. Sodas bei welle 10,60,110... immer der selbst spawnt. Bei 20,70,120... soll gerne ein anderer Spawnen. Allerdings weiß ich jz nicht wie ich aus der aktuellen welle (die bereits einer der 10wellen entspricht, wen sie in der Bossfunktion ankommt) auslesen kann, welche sie ist, damit der und der boss spawnt. Ich könnte die zahlen natürlich vorher festlegen, allerdings wäre das dann nicht mehr ins unendliche spielbar.
Ich hoffe ihr versteht mein Problem & könnt mir helfen.
MfG Nico
-
Hey,
Mein vater ist so Strom bessesen, das er sich die daten immer aufschreibt & dan in eine Excel tabelle einfügt. Ich wollte ihm das ganze jz erleichtern indem ich ihn dafür ein Programm schreibe, es soll ein error log haben, wo wirklich jeder noch so kleine fehler angezeigt werden soll (ihm ist die datei echt wichtig^^) Aber er schreibt sie nicht immer am aktuellen tag in die Excel tabelle & möchte deswegen das Datum ändern können (datum deswegen, damit man weiß wo es reingeschrieben werden soll, aber da skommt noch^^) Er soll es einmal selbst eingeben können (wechs. button) & -1 & +1 machen können. Aber da nicht immer aktuell sein soll, weil er ja
nicht jeden tag aufschriebt & er selbst erkennen sollte (naja fast selbst^^) wo er stehen geblieben ist. Soll ein datum aus einer .ini datei gelesen werden. Default dabei ist _NowDate()Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Date.au3>
#include <string.au3>
#include <Array.au3>
#include <GuiEdit.au3>
#include <Excel.au3>Global $IGas,$ISolar,$IStrom,$IWasser,$Speichern,$AltPfad,$oExcel = "",$Array,$Schreiben = False,$Gas,$Strom,$Wasser,$Solar,$LDatum,$IDatum,$Date
[/autoit] [autoit][/autoit] [autoit]_Read()
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$Main = GUICreate("Erträge", 383, 324)
$Tab0 = GUICtrlCreateTab(0,0,388,208)
$Log = GUICtrlCreateEdit("Log", 0, 208, 383, 113 ,BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN,$ES_READONLY,$WS_HSCROLL,$WS_VSCROLL))
$hEdit = GUICtrlGetHandle($Log)
GUICtrlSetData(-1, "")
$Tab1= GUICtrlCreateTabItem("Speichern")
GUICtrlSetTip(-1,"Hier kannst du deine Erträge Speichern!")
$Label1 = GUICtrlCreateLabel("Strom:", 16, 48, 34, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$IStrom = GUICtrlCreateInput("", 64, 48, 89, 21)
GUICtrlSetTip(-1,"Stromdaten nach hier")
$Label2 = GUICtrlCreateLabel("Solar:", 176, 48, 31, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$ISolar = GUICtrlCreateInput("", 224, 48, 89, 21)
GUICtrlSetTip(-1,"Solar Ertrag nach hier")
$Label3 = GUICtrlCreateLabel("Gas:", 16, 88, 26, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$IGas = GUICtrlCreateInput("", 64, 88, 89, 21)
GUICtrlSetTip(-1,"Gasstand hier Eintragen")
$Label4 = GUICtrlCreateLabel("Wasser:", 176, 88, 48, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$IWasser = GUICtrlCreateInput("", 224, 88, 89, 21)
GUICtrlSetTip(-1,"Wasserstand hier Eintragen")
$Speichern = GUICtrlCreateButton("OK", 144, 160, 75, 25, 0)
GUICtrlSetTip(-1,"Damit Bestätigs du das Speichern")
$LDatum = GUICtrlCreateLabel("Datum: " & $Date, 140, 128, 100, 17)
$Minus1 = GUICtrlCreateButton("-1", 105, 128, 27, 15, 0)
$Plus1 = GUICtrlCreateButton("+1", 240, 128, 27, 15, 0)
$wechs = GUICtrlCreateButton("wechs.", 50, 128, 43, 15, 0)
$Tab2 = GUICtrlCreateTabItem("Anzeigen")
GUICtrlSetTip(-1,"Anzeige der Älteren Erträge")
$Tab3 = GUICtrlCreateTabItem("Daten ändern")
GUICtrlSetTip(-1,"Ändern der Alten Daten")
$Tab4 = GUICtrlCreateTabItem("Einstellungen")
GUICtrlSetTip(-1,"Einstellungen ändern")
$LPfad = GUICtrlCreateLabel("Dateipfad:", 24, 35, 53, 17)
$IPfad = GUICtrlCreateInput($AltPfad, 24, 59, 265, 21)
GUICtrlSetTip(-1,"Manuel den Pfad eintragen")
$Browse = GUICtrlCreateButton("Browse", 304, 59, 67, 21, 0)
GUICtrlSetTip(-1,"Ordnerverzeichnis öffnen")
$SpeichernEin = GUICtrlCreateButton("Speichern", 144, 160, 75, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_ExcelBookClose($oExcel)
Exit
Case $Speichern
_Save()
Case $Browse
_Browse()
Case $SpeichernEin
$Pfad = GUICtrlRead($IPfad)
If $Pfad = "" Then
_write_log($Log, "Ungültiger Dateipfad!", $Main)
Else
IniWrite(@ScriptDir & "\config.ini","Einstellungen","Pfad",$Pfad)
_write_log($Log, "Dateipfad Gespeichert!", $Main)
EndIf
Case $Plus1
$Date = _DateAdd('d',1, $Date)
GUICtrlSetData($LDatum,$Date)
EndSwitch
WEndFunc _Save()
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($IStrom,$GUI_DISABLE)
GUICtrlSetState($ISolar,$GUI_DISABLE)
GUICtrlSetState($IGas,$GUI_DISABLE)
GUICtrlSetState($IWasser,$GUI_DISABLE)
GUICtrlSetState($Speichern,$GUI_DISABLE)
$Strom = GUICtrlRead($iStrom)
$Solar = GUICtrlRead($ISolar)
$Gas = GUICtrlRead($IGas)
$Wasser = GUICtrlRead($IWasser)
If StringRegExp($Strom, '^\d+(?:\,\d)?$') and StringRegExp($Solar, '^\d+(?:\,\d)?$') and StringRegExp($Gas, '^\d+(?:\,\d\d\d)?$') and StringRegExp($Wasser, '^\d+$') Then
_write_log($Log , "Erfolgreich Ausgelesen!", $Main)
_Excel_Check()
If IsArray($Array) Then
If $Strom < $Array[0] or $Solar < $Array[1] or $Gas < $Array[2] or $Wasser < $Array[3] Then
_write_log($Log , "Angegebende Daten sind kleiner als alte Daten!", $Main)
_Error()
Else
_write_log($Log , "Daten werden hinzugefügt...", $Main)
_Excel_Schreiben()
_write_log($Log , "Daten erfolgreich hinzugefügt!", $Main)
$Schreiben = True
EndIf
EndIf
Else
_write_log($Log , "Keine oder Unrealistische Zahlen angegeben!", $Main)
_Error()
EndIf
EndFuncFunc _write_log($iLog, $sText, $hWND)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($iLog, GUICtrlRead($iLog)&@HOUR&":"&@MIN&":"&@SEC& @TAB &$sText&@CRLF)
ControlSend($hWND, "", $iLog, "{end}")
_GUICtrlEdit_LineScroll($hEdit, 0, _GUICtrlEdit_GetLineCount($hEdit))
EndFuncFunc _Error()
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($IStrom,$GUI_ENABLE)
GUICtrlSetState($ISolar,$GUI_ENABLE)
GUICtrlSetState($IGas,$GUI_ENABLE)
GUICtrlSetState($IWasser,$GUI_ENABLE)
GUICtrlSetState($Speichern,$GUI_ENABLE)
If $Schreiben = False Then
_write_log($Log , "Vorgang wurde Abgebrochen!", $Main)
ElseIf $Schreiben = True Then
_write_log($Log , "Vorgang erfolgreich abgeschlossen!", $Main)
EndIf
$Schreiben = False
EndFuncFunc _Browse()
[/autoit] [autoit][/autoit] [autoit]
Local $PfadFile = ""
$FilePfad = IniRead(@ScriptDir & "\config.ini","Einstellungen","Pfad","")
If $FilePfad = "" Then
$PfadFile = @DesktopDir
Else
$FilePfad = StringSplit($FilePfad,"\")
$LenghFile = Ubound($FilePfad)-2
For $i = 1 To $LenghFile
$PfadFile = $PfadFile & $FilePfad[$i] & "\"
Next
EndIf
$File = FileOpenDialog("Excel Pfad auswählen",$PfadFile,"Excel (*.xlsx;*.xls)")
If Not $File = "" Then GUICtrlSetData($IPfad,$File)
EndFuncFunc _Read()
[/autoit] [autoit][/autoit] [autoit]
$AltPfad = IniRead(@ScriptDir & "\config.ini","Einstellungen","Pfad","")
$Date = IniRead(@ScriptDir & "\config.ini","Einstellungen","Datum",_NowDate())
EndFuncFunc _Excel_Check()
[/autoit] [autoit][/autoit] [autoit]
_Read()
Local $Check = True
While $Check = True
$Array = _ExcelReadArray($oExcel,1,1,4)
If @error = 1 Then
$oExcel = _ExcelBookOpen($AltPfad,0)
If @error = 1 Then
_write_log($Log , "Konnte kein Excel Objekt erstellen!", $Main)
ElseIf @error = 2 Then
_write_log($Log , "Datei existiert nicht", $Main)
$Check = False
_Error()
EndIf
ElseIf @error = 2 Then
_write_log($Log , "Parameter außerhalb des Bereiches", $Main)
$Check = False
_Error()
ElseIf @error = 3 Then
_write_log($Log , "Ungültige Anzahl von Zellen", $Main)
$Check = False
_Error()
ElseIf @error = 4 Then
_write_log($Log , "Ungültige Richtungsparameter", $Main)
$Check = False
_Error()
ElseIf @error = 0 Then
$Check = False
EndIf
WEnd
EndFuncFunc _Excel_Schreiben()
[/autoit]
Local $Werte[4] = [$Strom,$Solar,$Gas,$Wasser]
_ExcelWriteArray($oExcel,2,1,$Werte)
EndFunc#edit: problem gefunden, er hatt immer das gesamte label mit "Datum: " ausgelesen
-
Ich würde die seite persönlich mit winHttp aufrufen & dan mit StingRegExp arbeiten. So kannst du genau sagen welche teile des codes du haben möchtest & sie werden in ein Array gespeichert.