-
Gesamte Inhalte
5.007 -
Benutzer seit
Inhaltstyp
Profile
Forum
Kalender
Articles
Alle erstellten Inhalte von Egoist
-
Ich bin sehr dankbar für den massiven Tisch, der mich von meinen Kunden räumlich trennt. Das verhindert wirkungsvoll, dass ich mich mit Wunden aller Art persönlich auseinander setzen muss. Herumpopeln dürfen meinetwegen gern andere und müssen es wohl auch, aber ohne mich! Mich auch nicht, daher dauerte es auch bis zum 3. Staatsexamen, bis ich dem Prof seine spitzfindige Fangfrage unter Zeugen um die Ohren hauen konnte. Danach war der Giftzwerg sofort mundtot.
-
Ist nur Dein Problem mit unerklärlichem Umfeld umzugehen. Die Tatsache anzunehmen, dass es Dinge (Forensoftware etc) geben kann, die erratisch reagieren, ist schon ein erster Schritt in die richtige Richtung. Das ist natürlich ein schwerer Schlag gegen Dein eigenes Ich, welches gewohnt ist, alles zu wissen. Finde Dich damit ab, dass Du nicht alles wissen kannst... Das muss man ja auch gar nicht, solange man immer weiss, wo man es nachschlagen kann
-
Zitat wurde bearbeitet, um den Link zu löschen brauchte es mehr als ein Backspace (2 oder 3, hab nicht gezählt), dann klappte es aber. Ich habe nichts markiert, sondern den Text Zeichen für Zeichen von hinten mit Backspace weggefressen. Es erschüttert mich sehr, dass Dir die Vokabel Volatilität so lange verborgen blieb, haben wir doch damit im Glückspiel tagtäglich zu tun...
-
Python, die verpasste Chance?
topic antwortete auf Egoist's Egoist in: Excel Formeln und Makros, Programmier-Lehrgänge
Das liegt daran, dass mein Snippet noch gar kein Parser ist. In meinem Beispiel ging ich von einem DL-File aus Wiesbaden aus, in dem viele Tage hintereinander abgespeichert sind. Alle Tage fangen mit dem ersten (0ten) Element der Parserliste an. Immer wenn dieses Element im Text auftaucht, wird eine Sektion begonnen und die Zeilennummer festgehalten. Die Wiesbaden-Permanenzen holt man sich hier: https://www.spielbank-wiesbaden.de/index.php?id=105&view=archiv&table=&date=..# Ausgabetyp stellt man auf Download mit Statistiken. "von:" sucht man dann mit Klick auf Kalender aus "bis:" ebenfalls. Danach noch den Tisch aus der ComboBox... Ich empfehle nicht mehr als einen Monat auszuwählen, also von: 01.01.2018 bis: 01.02.2018 Tisch: xxx denn ich habe festgestellt, dass sonst das Dateiende korrumpiert ist, weil eine maximale Dateilänge nicht überschritten werden kann. Nach dem Klick auf Download darf man Nerven bewahren, denn das dauert extrem lange. Viel später kommt dann die Nachfrage des Browsers, ob geöffnet werden soll, oder gespeichert. Nun braucht man nochmal Sitzfleisch, weil das Herunterladen wieder ewig braucht. Mit ein paar mehr Fenstern, kann man das aber gleichzeitig auf mehrere Zeiträume anwenden. -
Python, die verpasste Chance?
topic antwortete auf Egoist's Egoist in: Excel Formeln und Makros, Programmier-Lehrgänge
Gute Nacht Albert! Du wirst es auch morgen nicht bereuen, Dich weiter hartnäckig mit Python beschäftigt zu haben. Du wirst genauso zufrieden auf die erzielten Erfolge zurückblicken, wie auf Deine geschnittene Hecke. Und Du wirst auch dann wissen, was Du sowieso schon immer wusstest: "Ohne Schweiss, kein Preis!" ---------- Sicherheitspause------------- -
Der "Zustand" der Forensoftware scheint volatil zu sein, denn wie weiter oben zu sehen ist, konnte @Paroli heute einen Beitrag von mir posten, der vor einigen Tagen von mir, selbst nach etlichen Modifikationen, einfach nicht abgenommen wurde. Solche "Manchmalfehler" sind bei elektronischen Kammerjägern besonders verhasst, weil sie schwer zu entwurzeln sind.
-
Hallo @Paroli, danke für Dein Engagement!!! Ich versuche mal, was passiert, wenn ich jetzt ein Youtubevideo hier verlinke: https://www.youtube.com/watch?v=SErla4nAT8g&list=PLAy9pyHEMnr0oBS3b4TeEAg49RhnvQQVK&index=11 Sehr gut, mich haben die Autostartvideos immer genervt, nun muss ich meine Links nicht extra umwandeln. Gruss vom Ego
-
Hallo @starwind mir ist das auch schon oft passiert, jetzt geht es gerade wieder reibungslos. Es kam noch nie vor, wenn ich erst ein paar leere Zeilen in meinen Beitrag geschrieben habe und dann oberhalb meinen Text. Dann hat man noch leere Zeilen unterhalb, in die man den Cursor durch Klicken hineinsetzen kann. Gibt es diese nicht, kann es tatsächlich sein, dass der Cursor an dem Profil-Link "festklebt". BTW, wenn ich per Android-Tablet versuche zu antworten, reagiert der Editor vollkommen unverständlich. Ich kann zwar leere Zeilen einfügen und der Cursor taucht dann auch einige Zeilen tiefer auf, aber wenn ich den ersten Buchstaben eingebe, klebt dieser sofort hinter der letzten Textzeile und alle Leerzeilen sind weg. So kommen meine Postings zustande, in denen es keinen einzigen Zeilenumbruch gibt. Dabei ist es regelmässig tötlich, einen Profil-Link auszulösen. Die Leerzeilenmethode bewährte sich auch, wenn ich weitere Zitate oder einen Codeblock einfügen wollte, weil ohne sie der Cursor oft nicht mehr dahinter platziert werden konnte, um anschliessend weiter zu schreiben.
-
Python, die verpasste Chance?
topic antwortete auf Egoist's Egoist in: Excel Formeln und Makros, Programmier-Lehrgänge
Kleines Codefragment: import re parsePermFile = ["Spielbank Wiesbaden", "Tisch:", "Datum:", "N Z R"] sizePF = len(parsePermFile) print(sizePF) file = open('d:\\Temp\\Permanenzen_SBWB_2018-01-01_Tisch 2.txt') lines = file.readlines() print(len(lines)) file.close() status = 0 x = 0 perm = [] for each in lines: if re.match(parsePermFile[status],lines[x]): temp = lines[x].split(" ") print(x, temp) perm.append(x) x += 1 sizePerm = len(perm) print("Gefunden",sizePerm,"\n",perm) Es setzt eine gültige Permanenzdatei vorraus und auch den angegebenen Pfad. Dann separiert Python aber die Datei mit vielen Tagen in Zeilen, wo die Tage starten... -
Python, die verpasste Chance?
topic antwortete auf Egoist's Egoist in: Excel Formeln und Makros, Programmier-Lehrgänge
Bitte verzeihe mir, wenn ich nicht weiss, was bei Dir ein Pool ist. So wie Deine Oberfläche strukturiert ist, bestünde ein Pool aus dem kompletten Inhalt eines Verzeichnisses. Es gäbe keine Möglichkeit aus dieser Grundgesamtheit zu selektieren. Die Anzeige einzelner Sätze würde ich weglassen, solange sie niemand ansehen will, denn graphische Ausgaben kosten Zeit. Vielleicht interessiert nur die Kapitalkurve und die ganzen Einzelcoups werden ohne Beachtung zu erhalten gerendert. Es genügt, Coups zu rendern, wenn man sie sehen will. Das geht sehr viel rascher (Faktor 100 oder mehr). Ich würde einen Filepicker für mehrfache Dateiauswahl bevorzugen, wo man mit STRG-Klick alle Permdateien einzeln auswählen kann, oder mit SHIFT-Klick ganze Serien etc. Von der Platte ja, je nach Performance Deiner Platte. Holst Du die Daten live vom bossmediaserver dauert es natürlich. Das Problem des Permanenzimportes reduziert sich auf das Finden des Anfangs und des Endes einer Permanenz, dazwischen macht das Python schon locker von selbst. Ich habe hier Permanenzen aus Wiesbaden, da kommt ein Kopf vor jedem Tag. Danach kommen noch Tisch und Datum und ein fester string "N Z R" oder so... das geht dann bis zu einer leeren Zeile. "-- -- --" kommen zwischdrin als Handwechsel und Bemerkungen über Boni. Nach der Leerzeile kommt evtl eine Auswertung und danach eine Tagwechsel-Markierung. Stehen mehrere Tage hintereinander kommt dann wieder eine Kopf-Markierung. Wir brauche also einen Parser... -
Python, die verpasste Chance?
topic antwortete auf Egoist's Egoist in: Excel Formeln und Makros, Programmier-Lehrgänge
Hallo Albert, schmeiss mal den ganzen "print"-Krempel raus, der ist nur zum lernen und visualisieren drin. Dann aktualisiert sich die Combo im Bruchteil einer Millisekunde. Selbst auf einem VanillaPC. Jupp, es genügt, der Combo eine neue Liste unterzuschieben. Der Parameter (entry) ist Vorschrift. Er wird aus dem aufrufenden Objekt und dem dort definierten Trigger (zB "<Return>") generiert. Da wird nix wiederholt, sondern einmal abgefeuert, wenn das Inputereignis erschienen ist. Manche Ereignisse feuern aber kontinuierlich, wie eine durchgedrückte Taste, das kennst Du aus einem Texteditor. Hier können aber auch Sachen wie die Shift-Taste Dauerfeuer liefern. Normal rufst Du zu jedem Bildschirmobjekt seine eigen Funktion auf, wenn RETURN oder was anderes gedrückt wurde. Die Funktion callback hatte ich nur als Dummy eingetragen. Das Gefühl wird sich bald legen, danach wirst Du die gewaltige Power erleben, die dahinter schlummert. Bye, bye VBA, das war letztes Jahrhundert, selbst wenn Python genau so alt ist. Aber Python war immer visionär und hat sich kontinuierlich weiter entwickelt. -
28 Prozent System
topic antwortete auf Egoist's Winnetou2256 in: Kommerzielle Roulette Systeme und sonstige gewerbliche Angebote
Und ich erst, denn ich habe schon einmal tausende zum Teil hochklassige Forschungsbeiträge, durch schlechte Forenpolitik für immer verloren.- 1.198 Antworten
-
28 Prozent System
topic antwortete auf Egoist's Winnetou2256 in: Kommerzielle Roulette Systeme und sonstige gewerbliche Angebote
Die "forbidden" erscheint erratisch, unabhängig von der Länge des Postings. Wenn sich serverseitig kein Schwein kümmert, kommt man nie hinter den Grund. Dazu bedarf es vermutlich nur eines scharfen Blickes in die Logfiles... aber bisher Fehlanzeige... Smilies benutze ich schon lange nicht mehr, Paroli hatte mir geschrieben, da würden Rechteprobleme entstehen... Alles Schutzbehauptungen von Minderbemittelten, würde ich mutmassen... Ego, der auch voll angefressen ist.- 1.198 Antworten
-
28 Prozent System
topic antwortete auf Egoist's Winnetou2256 in: Kommerzielle Roulette Systeme und sonstige gewerbliche Angebote
Bitte schreibe ihn direkt per PM an, denn ich habe schon sehr oft feststellen müssen, dass er auf die Erwähnung seines Avatars hier nicht reagiert. Bis auf meinen letzten Bugreport bekam ich sonst immer eine Rückmeldung nach PM...- 1.198 Antworten
-
28 Prozent System
topic antwortete auf Egoist's Winnetou2256 in: Kommerzielle Roulette Systeme und sonstige gewerbliche Angebote
das war ein deadlock... nach Nennung des Avatars war Ende für den Editor... Vor Wochen habe ich besagtem Betreiber einen toxischen Forenbeitrag herausdestilliert. Es gab keine Antwort...- 1.198 Antworten
-
28 Prozent System
topic antwortete auf Egoist's Winnetou2256 in: Kommerzielle Roulette Systeme und sonstige gewerbliche Angebote
Ich fürchte, das liegt nicht an Übungen, die durchgeführt werden, sondern an Untätigkeit. Vor Wochen habe ich @Paroli- 1.198 Antworten
-
Python, die verpasste Chance?
topic antwortete auf Egoist's Egoist in: Excel Formeln und Makros, Programmier-Lehrgänge
Dein Konzept mit der ComboBox ist für den Durchschnittanwender auch eher überraschend. Normal erwartet man links ein Dateimenü mit dem Eintrag "Lade Pool-Permanenz(en)..." gefolgt von einem normalen Dateidialog, das geht mit tk bzw ttk durchaus auch. Willst Du die Dateien länger im Blick behalten, böte sich ein "Treeview" an. Darf ich fragen, was danach passieren soll? Vermutlich wird die Datei erstmal eingelesen und weil Du sie quasi mit einem Mausklick austauschen kannst, vermute ich weiter, dass die ganze Auswertung danach sofort erfolgt. So könnte man mit der ComboBox die Auswertegrafiken fast wie im Daumenkino durchflippen. -
Python, die verpasste Chance?
topic antwortete auf Egoist's Egoist in: Excel Formeln und Makros, Programmier-Lehrgänge
Ohje, armer Albert, hätte ich das heute gemacht, bei voller Sonneneinstrahlung, müsste ich jetzt sicher in die "Eistonne". Es war nicht sonderlich ausgearbeitet, das ginge sicherlich eleganter. Ein wichtiger Punkt ist der Verzicht auf globale Variablen, das erleichtert alles sehr. Dann wurde die Funktion read_Directory() aus der Reihe der Click-Funktionen entfernt und selbständig gemacht. Man übergibt jetzt einfach einen Path als String und erhält eine Liste der Dateien und Unterverzeichnisse zurück. Die Clickfunktionen sind eher nur zum Eventhandling zu gebrauchen, weil sie immer bloss den Parameter (event) erhalten. Ich würde diese möglichst kurz halten und die eigentliche Arbeit in vollwertigen Funktionen mit Input und Output erledigen. Fasse mich wieder kurz, wegen Forenproblemen. Gruss vom Ego -
Hallo Hans,ja habs im Kopf überschlagen.Man setzt 143, um 1 evtl zu gewinnen. Langfristig kostet das 3 Stücke pro Kugel. Sorry für das kaputte Format , danke und Gruss vom Ego
-
Python: Links und Tipps
topic antwortete auf Egoist's wiensschlechtester in: Excel Formeln und Makros, Programmier-Lehrgänge
Hallo Leute, für die Neugierigen unter Euch, habe ich heute ein Video verlinkt, mit dessen Inhalt man Rüstzeug für eigene Erkundungen erhält. Englisch wird in Grundzügen benötigt. Viel Spass mit Python wünscht Euch Ego -
Hallo Albatros, das trifft nicht mindestens 1x pro Rotation, sondern auf lange Sicht maximal einmal pro Rotation/Zeile... Diese Spielweise entbindet Dich allerdings vom Buchführungsstress, den sich hier manche auferlegen, ohne schlechter zu sein. Du kannst Dir ja mal spasseshalber festhalten, wie lange eine Plein braucht, um wieder zu erscheinen. Millimeterpapier, y-Achse für die Treffer pro Slot, x-Achse für die Slots, bei 1 war der Trefferabstand 1, bei x=2 summieren sich die Doppler in 2 Coups, usw. Du bekommst recht rasch eine schöne Kurve, die besagt, dass Slot 1 (unmittelbarer Wiederholer) mehr Treffer hat, als Slot 2 (Treffer nach einer Zwischnniete). Das glättet sich in der langen Sicht ganz phantastisch... Nun guckst Du in Slot 37 nach, dort sind die Treffer Deines Systems. Guck mal links davon... Was fällt Dir auf? Mathematik am Abend, mit Gruss vom Ego
-
Python, die verpasste Chance?
topic antwortete auf Egoist's Egoist in: Excel Formeln und Makros, Programmier-Lehrgänge
Hallo nochmal, hier die Überarbeitung von Alberts Formular, es sollte alles jetzt laufen. # tkTest04.py # basiert auf dem Code von Dr. Manque # geändert am 23.07.2018 # Egoist www.roulette-forum.de # ======================== # imports # ======================== import tkinter as tk from tkinter import ttk import glob import os hinweis01 = ["(Bitte Pfad oben eingeben)"] fehler01 = ["Pfad ist üngültig!"] # Erzeuge eine Instanz win = tk.Tk() # Füge einen Titel hinzu win.title("Combobox Übung") # Enable resizing x-dimension, disable y-dimension win.resizable(True, True) win.geometry('800x300') # Die Liste [txtfiles] initialisieren ''' txtfiles = [] # kann weg txtfiles.append('file 1') # die Defaultwerte führen ins Nichts txtfiles.append('file 2') # also auch weg ''' # 2 Überschriftszeilen label2 = ttk.Label(win, text="* User Interface für Roulette-Tests *") label2.grid(column=1, row=0) label3 = ttk.Label(win, text="*************************************") label3.grid(column=1, row=1) # Button Click Event Function # Kopierstring für das Irectory-Eingabefeld: "D:\4All\Roulette\Edgar\Wien_F1_1992" def read_Directory(path): txtfiles = [] # leere Liste der Dateinamen, wird nur lokal erzeugt! try: for filename in os.listdir(path): txtfiles.append(filename) print(filename) except: print('Not found: Dir=' + path) txtfiles = fehler01 return txtfiles # Dateiliste zurückgeben (ist leer für ungültige und leere Pfade). def click_FillCombo(entry): fileliste = read_Directory(dirtext.get()) #ruft Dateiliste für aktuellen dirtext ab combo_1['values'] = fileliste # Die Combobox befüllen combo_1.current(0) def print_filename(): fn = "Folgende Datei wurde ausgesucht: \"" fn += dirtext.get() fn += combo_1.get() fn += "\"" print(fn) def callback(entry): # universelle Ausgabe, als temporäre Debugfunktion print(entry) # kann man überall einsetzen, wo Baustelle ist. # Einen Button hinzufügen, neue Funktion, wählt den eingestellten Pfad aus dirtext und combo_1 aus action1 = ttk.Button(win, text="Ok!", command=print_filename) action1.grid(column=2, row=2) # Label hinzufügen label5 = ttk.Label(win, text="Permpool-Pfad:") label5.grid(column=1, row=3) # Eingabefeld für dirname dirtext = ttk.Entry(win, width=40) dirtext.grid(column=2, row=3) dirtext.bind("<Return>", click_FillCombo) # optional die Pfadeingabe schon während der laufenden Eingabe prüfen: dirtext.bind("<Key>", click_FillCombo) # gibt eine Menge Müll auf der Console # Label hinzufügen label4 = ttk.Label(win, text="Click on an entry:") label4.grid(column=1, row=4) # Eine ComboBox hinzufügen combo_1 = ttk.Combobox(win, width=38, values=hinweis01) combo_1.grid(column=2, row=4) combo_1.current(0) combo_1.bind("<<ComboboxSelected>>", callback) # callback als Baustellenschild :) # ================== # GUI-Start # ================== win.mainloop() Viel Spass mit Python, wünscht Ego -
Python, die verpasste Chance?
topic antwortete auf Egoist's Egoist in: Excel Formeln und Makros, Programmier-Lehrgänge
Ich finde das sehr unschön, denn txtfiles[] wird ja sonst gar nicht gebraucht. Wenn Du daraus eine globale Variable machst und uU auch noch tausende Namen speicherst, obwohl sie schon in Deiner ComboBox stehen, ist das Platzverschwendung. Ausserdem sind globale Variable GIFT, die in komplexen Programmen später Probleme machen können. Du hast bisher ein Entryfeld in dem Dein Pfad eingegeben wurde. Sofort wenn Du dort RETURN drückst, sollte der Eintrag auf Gültigkeit geprüft werden. Ist er gültig, kann sofort mit der Konstruktion der Combobox begonnen werden. Das ist ein Abwasch, also nur eine Funktion. Das glaube ich nicht. Es wird Dir in ein paar Tagen alles sehr viel leichter fallen. Fortsetzung folgt... -
Python, die verpasste Chance?
topic antwortete auf Egoist's Egoist in: Excel Formeln und Makros, Programmier-Lehrgänge
Hallo Albert, ich vermute es nur, weil ich nicht an Deinem Rechner sitze und hatte die Erklärung gestern schon geschrieben: "Nunja, scheinbar hattest Du Dir noch einen ungültigen, nicht druckbaren Charakter eingefangen. Solche Fehler kann das menschliche Auge einfach nicht finden, da muss dann der Verstand ran." Wenn dem so ist, löschst Du einfach die kaputte Zeile komplett und schreibst sie neu hin. Um das genauer zu untersuchen kannst Du auch die Zeile mit Copy auslesen und in einen HEX-Editor einfügen. Ich fasse mich lieber kurz, wegen der "forbidden" Meldung... Ff -
Python, die verpasste Chance?
topic antwortete auf Egoist's Egoist in: Excel Formeln und Makros, Programmier-Lehrgänge
Nunja, scheinbar hattest Du Dir noch einen ungültigen, nicht druckbaren Charakter eingefangen. Solche Fehler kann das menschliche Auge einfach nicht finden, da muss dann der Verstand ran. Natürlich lande ich hier auch auf dem Bauch, weil es Probleme in der Logik gibt. Ich habe Dir mal den Code entwanzt, nun sollte es arbeiten, wie gewünscht. Return gibt den eingegebenen String aus, jeder neue Buchstabe wird angehängt und auch ausgegeben. Allerdings laggt hier mein Terminal, die Ausgaben werden zwischengepuffert und verspätet ausgegeben. Zum Löschen des Eingabefeldes drücke ESC, Dann sollte alles hinhauen, wie gewünscht. import tkinter as tk root = tk.Tk() def on_change(event): # Wichtig, alle Definitionen oben schreiben inp = entry.get() print (inp) def entry_del(event): # entry_delete fand ich, lag zu nah an entry.delete, umbenannt entry.delete(0, 'end') entry = tk.Entry(root) entry.pack(side='left') entry.bind("<Key>", on_change) # Sonst knallt es, wenn man sie später benutzen will. entry.bind("<Escape>", entry_del) # Man kann durchaus für alle Tasten individuelle Funktionen anbinden, toll... entry.grid(row=2, column=2) entry.focus() root.mainloop()