HI hab mich vor ewigkeiten auch mal daran gesetzt kleiner Tip was mir das Verständniss der Mysql-Datenbanken näher gebracht hat ausser der Hilfe der Autoit Komune waren videos auf yuoutube schau mal in den channel der Informatikzentrale rein (war für mich in vieler weise hilfreich.) was ich die noch nahelege ist die Datenbank nicht selbst mit Daten zu füllen sondern schon vorhandene Daten einpflegen geht sehr einfach über das auslesen bestimmter webseiten bei serien fand ich gut und einfach http://www.thetvdb.com die ist groß und habe bisher keine serie dort nicht gefunden. denn die infos zu schreiben geht zwar und bei 1 bis 10 serien kein problem aber irgendwann wird es anstrengend. ich schau mal ob ich meine alten Ansätze finde dann post ich sie dir gerne. hab es irgendwann nicht mehr weiter verfolgt. Aber dir viel erfolg damit.
Beiträge von DaveTDancer
-
-
AutoItler ja hast recht hab ich wohl übersehen werde ich mal ändern und dann schau ich mal was es an performens bringt, DANKE
-
Also das ist es halt nicht, ich weiß zwar wie groß meine csv ist aber durch die eventuellen dopplungen weiß ich nicht wie groß das Array sein wird da ja nicht alle zeilen aus der CSV verwendet werden.
Sonst wäre die Sache ja schnell gelöst gewesen, grundsätzlich hast du aber recht so wäre es schneller aber wie gesagt ich will halt auch dopplungen vermeiden. Vielleicht habe ich dich auch falsch verstanden.
-
xSunLighTx3 hast du recht aber genau das ist der knackpunkt wenn ich meine Kontodaten in meine eigen Datenbank einpflegen möchte geht das nur so, weil die Bank , warum auch immer mir keinen Zugang gibt zu meinen Kontodaten auf Ihrer Datenbank. aber genau das wollte ich das meine Kontodaten in meiner Datenbank zuhaus abrufbar sind. Sorry wegen dem Sarkasmus
Ja du hastrecht weil sich so eine sql Datenbank einfacher bearbeiten usw lässt, aber die Bank gibt mir halt nur die auswahl PDF oder CSV.
-
Sorry Autoiter hast recht oft nicht und meine Beiträge werden hoffe ich besser .
ja werde ich mal angehen, allerdings kann am anfang der CSV noch nicht gewusst werden ob wie lang das Array wird da ja wie beschrieben einige Dopplungen herrausgefiltert werden
und das kann ich mit Redim zwar ändern aber ist das dann nicht ebenfalls nicht optimal
-
Hi also ihr lieben also hier mein Script,
vielleicht hat jemand Verwendung oder kann etwas optimieren hinsichtlich der Performenz oder so.
Na schaut selbst.
Warum habe ich das geschrieben und was ist der Nutzen.
Also ich lade mir alle paar Monate im schnitt ca alle 3 Monate eine CSV Datei von meiner Bank herunter
die Dateien haben sich von der Struktur verändert und daher war es per listview schwierig sie übersichtlich anzuzeigen
1: Array ausgabe die immer die selbe Anzahl spalten hat und die Infos in den zeilen sollten an der richtigen position sein
2:Es sollten keine Doppelten einträge enthalten sein; denn in der CSV konnte es zu dopplungen kommen da ich nicht immer am selben stichtag die Csv von der Bank gespeichert habe.
resultat ist auf jeden Fall erst einmal ein Array was Alle Infos nur einmal enthält und was zur weiteren bearbeitung funktioniert.
Freue mich über Feedback und anregungen.
AutoIt
Alles anzeigen$SP = StringSplit ("Buchungstag;Wert;Umsatzart;Begünstigter / Auftraggeber;Verwendungszweck;IBAN;BIC;Kundenreferenz;Mandatsreferenz ;Gläubiger ID;Fremde Gebühren;Betrag;Abweichender Empfänger;Anzahl der Aufträge;Anzahl der Schecks;Soll;Haben;Währung", ";") Global $AR_KontoView[0][$SP[0]];Die CSV DB Global $AR_TMP[1];Als zwischen speicher um Schnell dopplungen zu verhindern Global $STRG_File_Konto = "Kontoumsaetze_000_123456789" ;So beginnt jeder DateiName der relevant ist. Func _Auflist_CSV ($Dir, $STRG); Alle Relevanten KontoDateien werden gesammelt Local $Len = StringLen ($STRG) Local $AR_Return[1][2] Local $AR = _FileListToArray ($Dir, "*.csv", Default, 2) _ArraySort ($AR, 0) For $1 = 1 To $AR[0] Local $PS = StringSplit ($AR[$1], "\") Local $FileName = $PS[$PS[0]] If StringLeft ($FileName, $Len) = $STRG Then _ArrayAdd ($AR_Return, $FileName & "|" & $AR[$1]) EndIf Next $AR_Return[0][0] = UBound($AR_Return)-1 Return $AR_Return EndFunc Func _Read_CSV($File) ;erstellt ein MultiArray mitallen infos $varStart = 4 ;Zeile In der begonnen wird zu lesen Local $AR = FileReadToArray ($File) Local $AR_Return[1][0] $Split = StringSplit ($AR[4], ";", 2);Splittet nach jedem Simikolon ReDim $AR_Return[0][UBound($Split)] _ArrayAdd ($AR_Return, _ArrayToString ($Split)) Local $DO = 1, $Nr = 5 Do $STRG_Zeile = $AR[$Nr] $Search = _ArraySearch ($AR_TMP, $STRG_Zeile, Default, Default, Default, 2) If $Search = -1 Then ;Kein Eintrag _ArrayAdd ($AR_TMP, $STRG_Zeile) $Split = StringSplit ($STRG_Zeile, ";", 2);Splittet nach jedem Simikolon _ArrayAdd ($AR_Return, _ArrayToString ($Split)) Else ;Gefunden EndIf If $Nr = UBound($AR)-2 Then $DO = 0 Else $Nr = $Nr +1 EndIf Until $DO = 0 $AR_TMP[0] = UBound($AR_TMP)-1 _AR_Sort ($AR_Return) EndFunc Func _AR_Sort ($AR);Sortiert die einzelnen spalten in das Gesmt Array $Start_View = UBound ($AR_KontoView)-1;Zeigt die Startzeile an in der die Zeilen hinzugefügt werden ReDim $AR_KontoView[$Start_View+UBound ($AR)-1][UBound ($AR_KontoView, 2)] For $1 = 0 To UBound ($AR_KontoView, 2)-1 For $2 = 0 To UBound ($AR, 2)-1 If $AR[0][$2] = $AR_KontoView[0][$1] Then For $3 = 1 To UBound ($AR)-2 Local $Wert = $AR[$3][$2] $AR_KontoView[$Start_View+$3][$1] = $Wert Next Else EndIf Next Next EndFunc
-
danke gmmg werde das tool testen und berichte dann hoffe ich bekomm das hin denn im eigenen netzwerk macht es schon spass das es sich mit dem thema zu befassen.
-
Danke dir erstmal für die info mit dem realquery ergibt sinn es so zu tun, werde ich dann mal anpassen.
Doch was kann ich machen damit autoit die verbindung überhaupt herstellt also fakt ist ich kann von aussen (nicht heimnetz) auf die tabelle zugreifen über eine Handyapp kann ich die tabellen anzeigen lassen und auch löschen.
Aber von aussen mit AUtoit bekomme ich die Verbindung nicht hin -
also es hat sich ein neues problem gestaltet zwar kann ich nun auf meine datenbank zugreifen habe auch von anderen standort versucht kann über mein Handy darauf zugreifen aber das tool das ich erstellt habe bekommt keine verbindung zum server der Datenbank hat jemand einen vorschlag woran das liegen könnte
-
danke das ist gut zu wissen.
soweit funzt ja das schreiben und das auslesen jetzt.
nur eine sache finde ich noch net wie ändere ich einen eintrag in einer zeile also BS: spieler 1 Name;Punkte [Max Mustermann][100] soll jetzt geändert werden in [Max Mustermann][110]
bisher schreibe ich mit meinem script immer nur eine zeile unten drann mit den selben werten also habe ich 20 zeilen und mehr max Mustermann mit den punkten
wäre für ein kleines bs dankbar ansonsten danke an alle die mir hier bisher ihre zeit geopfert haben wenn das spiel komplett ist lass ich euch sicher auch am endergebniss teilhaben -
Bin begeistert Danke, Danke, Danke.
Aber wie gefragt meine sorge ist das der andere Rechner ebenfals das Problem mit den Ports hat. kann ja nicht jedem erklären das er seine ports freigeben muss.
gebt es sonst noch die möglichkeit über das script den port freizugeben oder liegt es nur hier dran weil die mysql bei mir auf dem nas liegt.
weil ich hatte es auch mal mit einer freien online Mysql datenbank versucht (db4free) da hatte ich nähmlich das selbe problem. -
ich bin gerade am überlegen und meine gedanke ist wenn ich diese probleme habe hat dann nicht auch der diese schwierigkeiten der am anderen ende des Inet sitzt und mit mir spielt, oder ist das ein denkfehler.
ich kann ja nicht erwarten das jeder dann in seine porteinstellungen geht, oder?
gibt es denn sonst die möglichkeiten infos auszutauschen über das internet und diese über ein script ein und auszulesen. habe schon über txtDatei nchgedacht die auf ftp liegt und hin und her geschoben wird.
oder habt ihr sonst noch ne lösung.das spiel selbst braucht eigentlich nur immer die info welcher BTN vom gegner gerade gedrückt wurde. würde es natürlich noch soweit anpassen das ranking usw dann noch gespeichert werden.
habt ihr sonst ne idee wie das organisiert bekomme?
danke in jedem fall für die beteiligung.
-
PortTrigg.png
also so sieht es bei mir aus bei der letzten auswahl bin ich etwas überfragt aber ist vielleicht auch egal,aber zugriff habe ich immer noch net.
unter $adress muss doch die ip die ich vom meinem provider erhalte oder? -
ich danke schon mal für die Hilfe hoffe es klapt mit den settings am router hab da noch nie rumgefummelt, werd mich da wohl erstmal einarbeiten. hab schon bei mir geschaut aber das sieht halt immer anders aus dierekt portweiterleitung als solches hat mein router nicht bei dem gibts etwas das heißt port trigering und ist unter weiterleitung zu finden, ob es das richtige ist werden wohl erstmal lesen müssen. alles mit netztwerk hatte bisher nur geringe aufmerksamkeit erhalten.
-
Ja benutzer habe ich angelegt auch "JEDER" eingestellt portweiterleitung habe ich noch nicht am router vorgenommen aber das werd ich mal testen aber zu der Frage ob am nas oder am pc
ich kann im gesammten netzwerk darauf zugreifen, egal ob tablet pc oder notebook aber ich teste das mit der portweiterleitung am router wenn es daran liegt war es ja einfacher als gedacht aber der gedanke mit dem router kamm mir gar nicht nur die firewall vom pc an dem ich das script schreibe.Dank dir schon mal für den tip wenn es das war werde ich berichten.
-
das spiel ist zumindest vom grundaufbau fertig noch icht schön aber es funzt und nebenbei habe ich erstmal ein script was grundsätzlich nur eine testzeile ausliesst oder eine zeile schreibt das funtzt ebenfalls
so lange es eben lokal ausgeführt wird.das MYsql script ist auch nur erstmal um die verbindung zu tetsten und die funktioniert halt nur local mit der öffentlichen ip gibs halt den fehler code 10061 oder 10060
ich verwalte die DB mit myphpadmin und dort klappt ebenfals alles über den browser auch extern nur das script bockt.
AutoIt
Alles anzeigen#include <array.au3> #include "mysql.au3" $adress = "Externe IP" $user = "USER" $pass = "***" $dbname = "Game_DB" ; MYSQL starten, DLL im PATH (enthält auch @ScriptDir), sont Pfad zur DLL angeben. DLL muss libmysql.dll heißen. _MySQL_InitLibrary() If @error Then Exit MsgBox(0, '', "") ;MsgBox(0, "DLL Version:",_MySQL_Get_Client_Version() & @CRLF & _MySQL_Get_Client_Info()) $MysqlConn = _MySQL_Init() ; verbinden mit XAMPP cdcol $connected = _MySQL_Real_Connect($MysqlConn, $adress, $user, $pass, $dbname, 3306) If $connected = 0 Then Exit MsgBox(16, 'Connection Error', _MySQL_Error($MysqlConn)) $query = "SELECT * FROM Games_View" _MySQL_Real_Query($MysqlConn, $query) $res = _MySQL_Store_Result($MysqlConn) $fields = _MySQL_Num_Fields($res) $rows = _MySQL_Num_Rows($res) ;MsgBox(0, "", $rows & "-" & $fields) $row1 = _MySQL_Fetch_Row_StringArray($res) _ArrayDisplay($row1) ; Zugriff MsgBox(0, '', "Zugriff Methode 2 - Reihe für Reihe") _MySQL_Data_Seek($res, 0) ; nur zum Zurücksetzen an den Anfang der Abfrage Do $row1 = _MySQL_Fetch_Row_StringArray($res) If @error Then ExitLoop _ArrayDisplay($row1) Until @error ; Abfrage freigeben _MySQL_Free_Result($res) ; Verbindung beenden _MySQL_Close($MysqlConn) ; MYSQL beenden _MySQL_EndLibrary()
wie gesagt es geht nicht um das script und dessen formatierung sondern lediglich um die verbindung zu externen DBs oder wie ich sie herrstelle ohne fehler
also tips die mich voran bringen.
denn mysql habe ich bisher nie benötigt.
vielleicht habt ihr auch ahnung vom NAS und ich muss da etwas einstellen obwohl ich regulär auch voon aussen zugreifen kann aber halt nicht auf die DBs mit autoit
das Nas ist ein NAS-327L falls das relevant wäre.ich Danke schon mal im voraaus für jegliche hilfe
-
Hi Ihr lieben habe ein kleines Spiel im aufbau was ich ganz gerne mit freunden spielen möchte.
es funktioniert auch. nun wollte ich es so gestallten das ich mit jemand auch online spielen kann also über eine Mysql_DB
das script zeigt aber jedes mal wenn ich nicht über localhost auf die db zugreifen möchte can´t connect ... (10061) an wenn ich aber alle werte so lasse ausser das ich halt über die lokale ip gehe funktioniert
hab schon die googlekugel gefragt aber alle hilfen haben mich noch nicht zur lösung geführt.Ach Ja die DB liegt auf meinem NAS kann sie auslesen und auch in ihr schreiben aber eben nur lokal habe sie aber aus dem netz erreichbar gemacht über noip
Bitte helft mir möchte gerne weites wissen erlangen
-
Dank dir alpines warst sehr hilfreich bei meiner stundenlangen websuche hab ich das net gefunden msch ich dann am besten mit stringreplace und dann kalppt es auch, denk ich.
Dankeschön
-
Danke schon mal für die schnell antwort allerdings finde ich echt keinen eintrag mit dem ★
und es geht ja auch insbesondere darum das ich diese art der sonderzeichen auch in autoit anzeigen lassen kann
in einer Listview.
bisher werden bei allen versuchen immer am ende max. ein ? angezeigt -
Also Ihr Lieben bräuchte mal wieder einen kleinen Schub
Also ich lese server namen anhand der Ip aus
der ServerName wird gespeichert in einer ini um die Infos später wieder auszulesen
funktioniert auch aller soweitnun zu dem Problem manche haben ihre Server mit (LUSTIGEN) Sonderzeichen im namen versehen was auch ok ist
allerdings werden diese nicht so angeeigt wie sie auch auf den Websiten angezeigt werden sonder als code hierbei geht es nicht um die normalen htmlcode für Üöä oder so sonder sowas wie
★ = ★ usw. wenn jemand einen ansatz hat bin immer dankbar denn bisher werden sie leider nur mit dem Htmlcode gezeigt aber da finde ich keine hilfe die Hilft.Danke schon mal.