CLUBMOBILE HTC One (M8) CLUBSYSTEM Fuballdatenbank CLUBDEV Datamining Regex PowerShell DA S MA G A Z I N P . b . b .
G Z
0 2 Z 0 3 1 3 2 4
S i c c a r d s b u r g g a s s e
4 / 1 / 2 2
1 1 0 0
W i e n
PCNEWS139 Juni 2014 2 C L U B C O M P U T E R . A T
Liebe Leserinnen und Leser! Franz Fiala Selbsthilfegruppe Inhalt LIESMICH 1,2 Cover, Liebe Leser, Inhalt Franz Fiala 4 Impressum, Autoren, Inserenten
CLUBCOMPUTER 2 Clubtermine 2014
4 ADIM Skripten Marn Weissenbck 29 CC|Camp 2014Vortragende Werner Illsinger, Georg Tsamis 30 CC|Camp 2014Themen Werner Illsinger, Georg Tsamis 31 CC|Camp 2014Akonen Werner Illsinger, Georg Tsamis 32 CC|Camp 2014 Werner Illsinger, Georg Tsamis
CLUBMOBILE 27 Das neue HTC One (M8) Andreas Prohaska
CLUBSYSTEM 6 Vermessung des Runden Leders Franz Fiala
CLUBDEV 20 Datamining Franz Fiala 25 Regex Franz Fiala 26 PowerShell KurzReferenz Franz Fiala 33 PowerShellProgramme Franz Fiala (Anhang, nur in PDFVersion, online)
LUSTIGES 2 Selbsthilfegruppe Chrisan Berger http://bergercartoons.com/ CC|Camp Biue vormerken: unser nchstes CC|Camp (=Ganztagsveranstaltung im BarCampSul) n det am Samstag, 14. Juni 2014 in der HTL Rennweg stau. Details siehe Seite 2932. FuballPCNEWS139 Es gibt sie, die Autoren, die eigens fr unsere Zeitschri einen Arukel verfassen. Aber ein groer Teil unserer Arukel stammt aus praku schen Arbeiten an Projekten und wird fr die PCNEWS nur in lesbare Form gebracht. Das ist in dieser FuballAusgabe der Fall. Die Aufgabenstellung, Beantwortung von Fragen ber die sterreichische FuballNauonalmann scha, fhrte zu einem umfangreichen Pro jekt, das mit den Miueln von Datamining, also dem Extrahieren von Erkenntnissen aus gegebenen und eher chaouschen Daten, ge wonnen wurde. In diesem konkreten Fall waren die Daten noch nicht als Datenbank verfgbar und daher muss ten berhaupt erst einmal die Datenbanken aus einfachen Textdokumenten hergestellt werden, ein echter DatenBergbau. Dieser erste Arbeits schriu wird als das eigentliche Datamining bezeichnet. Die Auswertung der so entstandenen Daten bank wird im Beitrag Vermessung des Runden Leders beschrieben.
ClubComputer Clubtermine 2014 Di 20140107 Clubabend F&A Mo 20140113 Stammusch ELGA Do 20140123 Clubabend Clubdienste Di 20140204 Clubabend Windows Phone 8 Mo 20140210 Stammusch Kontaktose Bezahlung Do 20140220 Clubabend Windows Phone 8 Apps Di 20140304 Clubabend China DirektImport Mo 20140310 Stammusch Festplattenabgabe Do 20140320 Clubabend SmartPhone&Tablet Di 20140401 Clubabend Windows 8.1Tablets Mo 20140407 Stammusch Netzneutralitt Do 20140424 Clubabend Social Media Di 20140506 Clubabend F&A Mo 20140512 Stammusch ELGA Do 20140522 Clubabend Audacity Sa 20140614 CC|Camp Di 20140701 Sommerheuriger Di 20140805 Sommerheuriger Di 20140902 Clubabend Mo 20140908 Stammusch Do 20140918 Clubabend Di 20141007 Clubabend Mo 20141013 Stammusch Do 20141023 Clubabend Di 20141104 Clubabend Mo 20141110 Stammusch Do 20141120 Clubabend Di 20141202 Weihnachtsfeier 14.6.2014 Beim Fuball verkompliziert sich alles durch die Anwesenheit des Gegners. (JeanPaul Sartre) Man hetzt die Leute auf mit Tatsachen, die nicht der Wahrheit entsprechen. (Toni Polster) Kleines Geld, kleiner Fuball, groes Geld, groer Fuball. (Ferenc Pusks) Der schnellste Spieler ist der Ball. (Sepp Herberger) Es gibt nur einen Ball. Wenn der Gegner ihn hat, muss man fragen: Warum!? Ja, warum? Und was muss man tun? Ihn sich wiederholen. (Giovanni Trappatoni) Minimodule und Industriecomputer Seit 10 Jahren bietet TQ-Components Embedded Sy- steme fr den industriellen Einsatz an. In diesem Zeit- raum entwickelte sich das Unternehmen zu einem der fhrenden Embedded Hersteller in Europa. 16Bit- und 32-Bit-Infineon-Module Freescale MPC5200, 8xx, 82xx, 83xx und 85xx, ColdFire ARM11 Xilinx- FPGA Module Intelbasierten UTX Prozessor-Boards Die Module punkten durch geringe Abmessun- gen und lange Verfgbarkeit und erfllen hohe Qualittsansprche. Industrie- tauglichkeit und Langlebigkeit stehen bei TQC an oberster Stelle. Eine weitere wichtige Sule des Unterneh- mens sind Industrie-PCs. Sie zeichnen sich durch groe Robustheit und lange Verfgbarkeit aus. Die Platz sparenden Mini-Industrie-PCs heben sich durch hohe Modularitt hervor. USV-Anlagen und Stromversorgungen Computer- und Netzwerksicherheitsicherheit Die Bedrohung durch gefhrliche Software ist bekannt. Mindestens ge- nauso gefhrlich ist die Bedrohung durch Netzspannungsunterbrechungen und Ausfllen. Dadurch kann Ihre Hardware und in Folge auch Ihre Daten, Schaden nehmen. Durch ausschlielicher Verwendung von Unterbrechungsfreien StromVersorgungen mit ON-Line Technologie, bieten wir einen Rundumschutz fr Ihre Anlagen. Selbstverstndlich bieten wir Installation und Service sterreich weit an. MTM-Mess & Strom- +43 1 2032814-0 versogungstechnik e.U. +43 1 2032814-15 Hadrawagasse 36 e-office@mtm.at A-1220 Wien www.mtm.at USV-Anlagen von 1kVA bis 800kVA
PCNEWS139 Juni 2014 4 C L U B C O M P U T E R . A T
Weissenbck Marn Dir.Dr. 1950 4
Direktor der HTL Wien 3 Rennweg, Leiter der ADIM, Leiter der ARGE Telekommunikauon martin@weissenboeck.at http://www.weissenboeck.at/ A, Arbeitsgemeinschaft fr Didaktik, Informatik und Mikroelektronik 1190 Wien, Gregor Mendel Strae 37 Tel.: 01-314 00 288 FAX: 01-314 00 788 Nr Titel 38 Turbo Pascal (Borland) 39 RUN/C Classic 40 TurboC (Borland) 413 Turbo/PowerBasic 432 DOS 433 DOS und Windows 47 TurboPascal (Borland) 49 QuickBasic (Microso) 50 C++ (Borland) 533 AutoCAD I (2DGrak) 535 AutoCAD I (2DGrak) 54 AutoCAD II (AutoLisp+Tuning) 55 AutoCAD III (3DGrak) 56 Grundlagen der Informauk 61 Visual Basic (Microso) 63 Windows und Oce 81 Linux 110 Best Of VoIP (CD) 111 All About VoIP (DVD) 191,192 Angewandte Informauk I + II 201,202 Word I+II 203 Excel 205,206 Access I+II 221 HTML 222 HTML und CSS 223 JavaScript, 227 VB.NET 231,232 Photoshop I+II 237, 238 Dreamweaver, Interakuve und ani mierte Webseiten Marn Weissenbck Bestellhinweise, Download http://www.adim.at/ http://adim.at/download/ http://www.adim.at/dateien/BESTELL.pdf Impressum Impressum, Oenlegung Richtung Auf Anwendungen im Unterricht bezogene Informa uonen ber Personal Computer Systeme. Berichte ber Veranstaltungen des Herausgebers. Erscheint 5 mal pro Jahr, Feb, Apr, Jun, Sep, Nov Verleger PCNEWSEigenverlag Siccardsburggasse 4/1/22 1100 Wien 06641015070 FAX: 0160099339210 pcnews@pcnews.at http://www.pcnews.at/ Herausgeber ClubComputer Siccardsburggasse 4/1/22 1100 Wien 01600993311 FAX: 12 office@clubcomputer.at http://www.clubcomputer.at/ Druck Ultra Print Pluhov 49, SK82103 Brauslava http://www.ultraprint.eu/ Versand GZ 02Z031324 ClubComputer Leitung, CCC Werner Illsinger 016009933220 FAX: 9220 werner.illsinger@clubcomputer.at http://illsinger.at/ http://illsinger.at/blog/ PCNEWS, PCC Franz Fiala 016009933210 FAX: 9210 franz.fiala@clubcomputer.at http://franz.fiala.cc/ http://franz.fiala.cc/blogpcnews/ Markeng Ferdinand De Cassan 016009933230 FAX: 9230 ferdinand.de.cassan@clubcomputer.at http://spielefest.at/ CC|Akademie Georg Tsamis 016009933250 FAX: 9250 georg.tsamis@clubcomputer.at ClubPocketPC Paul Belcl 016009933288 FAX: 9288 paul.belcl@clubcomputer.at http://www.belcl.at/ http://blog.belcl.at/ ClubDigitalHome Chrisan Haberl 016009933240 FAX: 9240 christian.haberl@clubcomputer.at http://blog.this.at/ WebDesign Herbert Dobsak 012637275 FAX: 012691341 dobsak@ccc.or.at http://www.dobsak.at/ Digitalfotograe Andreas Kunar andreas.kunar@clubcomputer.at http://www.fotocommunity.de/pc/account/ myprofile/16403 Linux Gnter Hartl ClubComputerPortal: Guenter.Hartl Konto BAWAGPSK Konto: 17710812896 BLZ 14.000 lautend auf: ClubComputer BIC: BAWAATWW IBAN: AT741400017710812896 Zugang Einwahl: 0804002222 DNS1/DNS2: 194.50.115.132 194.50.115.170 Alternauv: 213.129.226.2 213.129.226.2 Clublokal HTL, 1030 Wien, Rennweg 89b oder Gasthaus Kulturschmankerl, Simmeringer Hauptstrae 152, 1110 PCNEWS139 Kennzeichnung ISSN 10221611, GZ 02Z031324 M Layout Microso Publisher 2013, GIMP, Inkscape Herstellung Bogenoset, 80g Erscheint Wien, Juni 2014 Texte http://pcnews.at/?id=PCN139 Kopien Fr den Unterricht oder andere nichtkommerzielle Nutzung frei kopierbar. Fr gewerbliche Weiterver wendung liegen die Nutzungsrechte beim jeweiligen Autor. (Gilt auch fr alle am PCNEWSServer zugng lichen Daten.) Werbung A4: 1 Seite 522, EURO U2,3,4 782, EUR0 Beilage: bis 50g 138, EUR pro 1000 Stck Bezug 1 He: 5, EURO (zuzglich Versand) 5 Hee: 20, EURO (1 Jahr, inklusive Versand) kostenlos fr Mitglieder von ClubComputer Hinweise Druckfehler und Irrtmer vorbehalten. Alle erwhnten Produktnamen sind eingetragene Warenzeichen der entsprechenden Erzeuger. Autoren CC|Skripten Berger Chrisan 2
Karikaturist und Comiczeichner fr Krntner Zeitungen Firma Karicartoons karicartoons@aon.at http://www.bergercartoons.com/ Fiala Franz Dipl.Ing. 1948 1,20,25,26,33A
Leitung der Redakuon und des Verlags der PCNEWS, Lehrer fr Nachrichtentechnik und Elektronik .i.R. Werdegang BFPZArsenal, TGM Elektronik Absolvent TUWien, Nachrichtentechnik Privates verheiratet, 1 Kind franz.fiala@clubcomputer.at http://fiala.cc/ MTMSysteme 3
Ing. Gerhard Muenthaler Hadrawagasse 36 1220 Wien 012032814 FAX: 2021313 Handy. 06644305636 g.muttenthaler@mtm.at http://www.mtm.at/ Produkte uC/uPEntwicklungswerkzeuge, Starterkits, Indust riecomputer, Netzqualittsanalyzer, USVAnlagen Vertretung Tasking, PLS, Inneon, TQComponents, Kontron, DranetzBMI, Panasonic, Dr. Haag, HTItalia, Dr. Kane Erreichbar U1Kagran, 26A bis EnglischFeldGasse Inserenten Illsinger Werner Ing. 1968 29,30,31,32
Key Account Manager Financial Services bei Microsoft sterreich, Prsident von ClubComputer werner.illsinger@clubcomputer.at http://www.illsinger.at/ Prochazka Andreas Ing. 1967 27
IT & SAP Development Firma Wertheim GmbH Club ClubComputer Absolvent TGM, MB86 Hobbies Sport office@propro.at http://www.propro.at/ Tsamis Georg Dipl.Ing. 1950 29,30,31,32
Technische Dokumentation, bersetzung, Terminolo gie, Technologie, Innovation. Direktor ClubComputer Akademie Firma VA TECH HYDRO Absolvent TUWien Hobbies Programmierung, Seminare, Doku, CC Georg.tsamis@clubcomputer.at
5 Juni 2014 PCNEWS139 C L U B S Y S T E M . N E T
Vermessung des Runden Leders Franz Fiala steht die vorliegende Ausgabe der PCNEWS und ebenso der ganze nchste Fernsehmonat. Vom 12. Juni bis 13. Juli wird jenes Land er miuelt, das sich vier Jahre lang FuballWelt meister nennen darf. Der Haken an der Sache: wir sind nicht dabei. Das ist aber kein Grund, Trbsal zu blasen. Es gibt ja immerhin noch die Erinnerungen an eine glorreiche Vergangenheit und die Honung, dass es wieder besser wird. Am 23. April ernete das Rapideum (das Mu seum des SK Rapid) eine Sonderausstellung fr Alfred Krner, einem Giganten des sterreichi schen Fuballs. 7facher Meister, Cupsieger, WMDriuer 1954. Der Autor dure ihm eine Datensammlung ber alle seine 384 Spiele, 180 Tore und verschiedene Zusammenfassungen und Bilder berreichen. Nicht, dass sich der Autor als Spezialist fr Fuball bezeichnen dre aber die EDV ist eine universelle Disziplin, die sich in allen anderen Fachgebieten ntzlich machen kann. Nehmen wir einmal das Titelbild, die wohl be kannteste Version eines Fuballs, den so ge nannten Fernsehball, den es seit den 60er Jahren gibt, weil man die frheren braunen Lederblle nur schwer im Fernsehen erkennen konnte. Der Ball besteht aus 12 Fnfecken und 20 Sechsecken mit jeweils derselben Kantenln ge. Er ist also eigentlich keine Kugel sondern ein Polyeder., genauer ein Ikosaeder. Whrend man frher Zeichenbreuer und Re chenschieber bemhte, entwir man heute sol che Zeichnungen am einfachsten mit einem VektorZeichenprogramm, zum Beispiel mit Inkscape. Inkscape hat eine hbsche Funkuon zum Zeichnen von Vielecken. Zunchst werden ein Fnfeck und ein Sechseck gezeichnet, dann vom Fnfeck fnf und vom Sechseck neun Klone hergestellt. Klone deshalb, weil es bei Form und Farbnderungen gengt, die ursprngliche Figur zu verndern und alle Klone sich gleicher maen mitndern. Diese Figur ist aber erst eine Ballhle. Fr einen ganzen Ball gruppiert man die Figur und klont sie so o als man Ballhlen benugt. Das Titelbild (und der Hintergrund dieser Seite) besteht aus mehreren zusammen gehngten Ballhlen. Dieser Fernsehball ist aber nur mehr ein Symbol fr Fuball. Bei jeder WM wird ein neuer Ball mit immer besseren Eigenschaen produziert. Der Ball zur WM 2014 heit brazuca und be steht aus sechs idenuschen Segmenten. (siehe Bild rechts oben). Zurck zur WM, bei der wir ja leider nicht dabei sind. Was wissen wir ber unser Team? Hier ein paar Fragen (und es gibt beliebige andere, interes sante). Wie man zu den Antworten kommt, wird im Anschluss erklrt. Einige dieser Fragen kann man beantworten, indem man die Seite des FB besucht, andere wieder wrden eine aufwndi ge Recherche in den Daten zu den bisher 727 Lnderspielen erfordern. Um Fragen nach Hugkeiten, wie sie im Fu ball immer wieder gestellt werden, beantwor ten zu knnen, benugt man eine Datenbank. Ein ExcelSheet kann zwar auch Relauonen zwi schen Tabellen herstellen aber das eigentliche Instrument zur Darstellung solcher Daten sind Datenbanken. Fuball ist ein sehr populres Thema, prakusch jeder Zuseher fhlt sich kom petent genug, es besser als der jeweilige Trainer zu machen. Daher ist eine Fuballdatenbank auch ohne groes Fachwissen fr alle verstnd lich. Fragen zum Thema sterreichische Naonalmannscha Hat unser Naonalmannscha eine posive oder eine negave Bilanz? Gibt es eigentlich mehr Heimspiele oder mehr Auswrtsspiele? Wie glorreich war eigentlich die ra der beiden Wunderteams? Wie o hat sterreich an einer WM teil genommen? Wie viele Spieler und von welchem Verein nahmen an der WM1954 teil? Wie viele Teamchefs hae die sterreichische Naonalmannscha seit ihren Anfngen 1902? Wer war der am lngsten amerende dieser Teamchefs? Wer war der erfolgreichste Teamchef? Welche Leistung erbringt das Team unter der Leitung von Marcel Koller? Wer war der erfolgreichste Torschtze, wel cher Spieler hae die meisten Einstze? Welcher Verein stellte in der Geschichte der sterreichischen Naonalmannscha die meisten Spieler? Wie gro ist heute der Anteil der Legionre bei Spielen der Naonalmannscha? wie war das frher? Wie ist die Relaon der Spieler aus den Bun deslndern zu den Spielern aus Wien? Seit wann bertri der Anteil der Spieler aus den BundeslnderVereinen den Anteil der Spieler aus Wiener Vereinen? Seit wann bertri der Anteil der Spieler fremder Ligen den Anteil der Spieler aus der sterreichischen Bundesliga? Alle diese Fragen knnte man nach Durchsu chen von Zeitungen oder Archiven nach einigem Zeitaufwand beantworten. Aber mit Hilfe der EDV geht das einfacher, vorausgesetzt, wir huen die Daten, bestehend aus allen Spielen, allen Spielern, allen Trainern und allen Toren gespeichert. Diese Ausgabe der PCNEWS zeigt, wie man es machen kann. Kein Lehrgang, nur ein Rundgang. Die Beispieldatenbank, mit der diese Fragen beantwortet werden, kann bei der Webversion dieses Arukels downgeloadet wer den. Das Projekt benutzt Microso Access zur Auswertung von Daten. Datenbankstruktur der Spiele der sterreichischen Naonalmannscha Grundlegendes Wenn die Anwendung einmal mit Microso Access ausreichend enuehlert ist, kann man sie problemlos auf einen SQLServer porueren und danach weiterhin mit dem vorhandenen AccessFrontend bearbeiten. In einer weiteren Ausbaustufe wird die Datenbank ber das Inter net abgefragt werden knnen. Wir werden dazu in einer spteren Ausgabe der PCNEWS berich ten. Im ersten Schriu nehmen wir einmal an, dass wir uns diese Datenbankstruktur berlegt und die einzelnen Tabellen mit Daten gefllt huen. Vorweg, es wre eine ziemlich aufwndige Sa che, diese Arbeiten hndisch durchzufhren. Zur Illustrauon des Aufwandes sind in dem Da tenbankdiagramm die Grenordnungen der Tabellen angegeben. Im zweiten Teil dieses Projekts Datamining wird daher beschrieben, von wo die Daten geholt werden und wie diese 13.560 Datenstze in die jeweiligen Tabellen kommen. Schon allein diese TabellenDaten beantworten einige staususche Fragen. Es gab seit 1902 727 Spiele bei denen 814 Spieler in 9180 Einstzen eingesetzt worden sind. Ein Spieler kam daher im Schniu auf etwa 11 Einstze. Ein Spieler Datenstze Tabelle 727 Spiel 9180 Spieler-Spiel 1249 Spieler-Verein 1406 Tore 814 Spieler 184 Verein 13560 Datenbankstruktur fr Spiele der ster reichischen Fuball Naonalmannscha
6 PCNEWS139 Juni 2014 C L U B S Y S T E M . N E T
spielte bei 1,5 Vereinen (frher weniger, heute mehr). Jede Tabelle verfgt ber eine eindeuuge ID (die Tabelle Spiel sogar ber zwei: ID und Spiel), einen so genannten Primrschlssel, der im Diagramm mit einem Schlssel gekenn zeichnet ist. In den meisten Fllen hat dieser Primrschlssel den Typ Autowert, eine ganze Zahl, beginnend bei 1. Dieser Schlssel wird von der Datenbank selbstndig eingetragen und ist immer eindeuug. Wird ein Datensatz gelscht, verschwindet dieser Wert und wird nicht mehr vergeben. Der Schlssel hat genau zwei Aufga ben: er kennzeichnet einen Datensatz eindeuug und er stellt eine Verbindung zu anderen Tabel len her. Die Werte dieses eindeuugen Primrschlssels kommen auch in anderen Tabellen vor und werden dort Fremdschlssel genannt. Das Spiel 727 gegen Uruguay enthlt im eindeu ugen Feld Spiel die Zahl 727. In der verbunde nen Tabelle Spieler-Spiel steht im dorugen Fremdschlssel Spiel die Zahl 727 so o als Spieler bei diesem Spiel beteiligt waren. Das folgende Bild zeigt in der blauen Zeile den Da tensatz 727 der Tabelle Spiel und darunter in einem Unterdatenblau alle Spieler der Tabelle Spieler-Spiel, die in diesem Spiel zum Einsatz kamen. Man sieht, dass dort Spieler und ihr Verein ein getragen sind. Das Feld Spiel ist in der Tabelle Spiel einmal enthalten (eindeuug, daher als Primrschlssel verwendbar) und in der Tabelle Spieler-Spiel so o enthalten als Spieler mitgespielt haben (Fremdschlssel). Dieses eines zu viele wird in der Grak mit 1 und dargestellt. In Access gibt es neben 1:1 nur 1:n Beziehungen, das heit, dass ein Element aus der Tabelle mit dem Primrschlssel mehrfach in der Tabelle mit dem Fremdschlssel enthal ten sein kann. Das entspricht dem Fall, dass zu einem Spiel mehrere Spieler angehren. Da aber ein Spieler auch in mehreren Spielen teil nehmen kann, muss die Beziehung eigentlich n:m heien. Diese Beziehung kann man aber nicht direkt realisieren. Man benugt dazu eine Hilfstabelle. Im Beispiel ist es die Tabelle Spie- ler-Spiel, in der es zwei Fremdschlsselfelder gibt: einerseits zum Primrschlssel Spiel in der Tabelle Spiel und anderseits zum Primr schlssel ID_Spieler_Verein der Tabelle Spieler_Verein. Ein Spieler, der einem Verein angehrt (zum Beispiel Franz Almer/Energie Cottbus) ist so o in der Tabelle Spieler-Spiel vertreten als er in ei nem Spiel beteiligt war und bei jedem dieser Datenstze ist er einer anderen Spielnummer Spiel zugeordnet; eine n:mBeziehung. Unser Werkzeug, Microso Access 2013 Die Version ist nicht in erster Linie wichug. Auch die OceVersionen 2010 oder 2007 erfllen denselben Zweck. Wer aberso wie der Au torein Oce 365Abo gekau hat, arbeitet gemeinsam mit der ganzen Familie immer mit der jeweils aktuellen Version. Die Oberche von Access mit geladener ster reichDatenbank prsenuert sich wie im Bild oben. Im linken Frame sieht man in Feuschri die Tabellen und bei der Tabelle Spiel, die dazuge hrigen Abfragen (Queries). Weiter unten sieht man die anderen Tabellen (Spieler-Spiel, Verein), jeweils ohne die Abfragen. Das ist ein sehr bersichtliches Inhaltsverzeichnis. Wenn sich eine konkrete Abfrage auf mehr als eine Tabelle bezieht, scheint sie auch bei jeder Tabel le auf. Im Haupurame sehen wir die Spiele, beginnend beim letzten Lnderspiel mit der Nummer 727 gegen Uruguay. Bei Spiel 710 gegen die Ukraine wurde die verbundene Tabelle Tore aufge klappt und wir sehen, wann die Tore gefallen sind und wer die geschossen hat. Man erkennt, dass nur die sterreicher in der Spielerdaten bank erfasst sind, denn das Feld ID_Spieler ist bei den Gegentoren leer. Tabelle Spiel Diese Tabelle enthlt alle Daten eines Spiels, wie zum Beispiel die Saison, das Ergebnis, den Trainer, den Spielort, das Stadion, die Zuschau erzahl, den Schiedsrichter, die Anzahl der ge schossenen und der kassierten Tore, den Geg ner usw. Die folgenden Tabellenausschniue zei gen das Ende (Spiel 716 bis 727) und den An Access zeigt die Tabelle Spiel
7 Juni 2014 PCNEWS139 C L U B S Y S T E M . N E T
fang (Spiel 1 bis 10) der Tabelle Spiel. Auer dem werden nur die Spalten bis Art dargestellt; es gibt noch viele weitere Spalten. Man sieht, dass der Standardgegner der ersten Jahre des sterreichischen Fuballs die andere Reichshle Ungarn war. Und gegen dieses Ungarn haben wir nach wie vor eine ziemlich negauve Gesamtbilanz und an der wird sich so bald nichts ndern, weil diese groe Zahl der Spiele mit den Nachbarlndern der Vergangen heit angehrt. Diese Tabelle kann man aus der Sicht der Da tenmodellierung gleich heig kriusieren, denn viele Angaben sind redundant. Eigentlich wrde es gengen, die geschossenen und erhaltenen Tore anzugeben. Daraus sieht man gleich, wer gewonnen hat, daraus kann man das Spieler gebnis 3:2 ableiten. Es gibt aber zum Beispiel eine Spalte Sieg mit den mglichen Werten S, U, N fr Sieg, Unentschieden und Niederlage, da nach gibt es auch noch die Spalten Sieg, Un- entschieden und Niederlage wobei jeweils eine auf 1 gesetzt ist. Warum das? Der Grund ist, damit man die Tabelle mglichst einfach auswerten kann. Addiert man zum Beispiel die Spalte Sieg, erhlt man automausch die Anzahl der Siege, will man in einer Auswertung das Ergebnis verwenden, gengt die Verwendung des Feldes Ergebnis. Diese Redundanz der Eintragungen ist fr die sptere Auswertung prakusch, kann aber zu Fehlern fhren, wenn die Eintragungen falsch vorgenommen worden sind. Als Schutz gegen Eingabefehler verwendet man ein Formular und gibt daher die Werte nicht direkt in die Tabelle ein. Dieses Formular enthlt nur das notwendi ge Minimum der Daten, die redundanten Felder werden durch ein Programm eingetragen, das dem Formular zugeordnet ist und das beim Speichern der Formulardaten automausch auf gerufen wird. Zustzlich gibt es ein Prfpro gramm, welches man bei nderungen aufru, das alle diese Redundanzen auf Plausibilitt berpr. In dieser Tabelle Spiel knnen Angaben wie Aufstellung, Spielerwechsel, Tore, Stammverei ne der Spieler nicht dargestellt werden. Diese zustzlichen Angaben stehen in weiteren Tabel len, die mit Spiel ber Schlsselfeldern zu sammenhngen. Die Spiele der sterreichischen Nauonalmann scha wurden vom FB seit 1902, dem Beginn der Aufzeichnungen, fortlaufend, lckenlos und eindeuug nummeriert. Daher eignet sich dieses Feld Spiel zur Herstellung eines Zusammen hangs zu den Toren eines Spiels und zu der Mannschasaufstellung eines Spiels. Tabelle Tore Bei einem Tor wird erfasst: Minute, Spiel- stand, Elfer, Freistotor, Eigentor. Die Reihung ist eventuell von Nutzen, wenn bei einem Spiel die Minutenangabe fehlt, damit dann aufgrund dieses Feldes Reihung eine Rei henfolge der Tore festgelegt werden kann. Das Ja/NeinFeld TorA gibt an, ob es ein Tor ist, das sterreich geschossen hat TorA=true oder erhalten hat TorA=false. Eigentlich ist damit das Tabellensystem bereits berbesummt, denn die Anzahl der Tore steht ja schon in der Tabelle Spiel. Es muss daher diese Angabe ToreA und ToreG in Spiel mit der Anzahl der Zeilen in der Tabelle Tore ber einsummen. Damit Fehler ausgeschlossen wer den, gibt es ein Programm, dass eventuelle Ungereimtheiten zwischen den redundanten Angaben aufzeigt. Der Zusammenhang zwischen den Tabellen Spiel einerseits und Spieler-Verein und Tore anderseits wird am Spiel 710 sterreich Ukraine in den beiden Bildern oben verdeut licht. Man sieht in der blau hervorgehobenen Zeile die Daten zum Spiel aus der Tabelle Spiel und in einem Unterdatenblau einerseits die Aufstellung und in einem anderen Unterdaten blau die Tore, die in diesem Spiel geschossen wurden. Tabelle SpielerSpiel Diese Tabelle Spieler-Spiel gibt an, welcher Spieler, wie lange am Spiel beteiligt war. Es wird aber nicht einfach der Spieler eingetragen, son dern eine SpielerVereinKombinauon aus der Tabelle Spieler-Verein. Diese Dierenzierung erlaubt uns spter die Beurteilung der Herkun der Spieler. Wesentlich sind die Angaben vonMinute und bisMinute. Dort steht normalerweise 0 und 90, es kann aber bei Auswechslungen auch eine andere Angabe dort stehen. Aufgrund dieser Angaben kann man Spieler nden, die hug als Joker verwendet werden und gemeinsam mit der Tortabelle kann man herausnden, ob sie dabei zu einem Torerfolg gekommen sind. Beispiel: Wer waren die hugsten Joker der Nauonalmannscha? Hier interessiert uns nicht, bei welchem Verein dieser Spieler gerade spielt. Joker sind Spieler, die whrend des Spieles einen anderen Spieler am Feld ersetzen. Fr diese Spieler gilt also vonMinute>0. Wir gene rieren eine Abfrage Spieler Joker Keine Angst, man muss das nicht lernen (zumindest nicht am Beginn, denn diese Formel ist die schriliche Version folgender grascher Abfrage. Man zieht aus dem Tabel lenverzeichnis die benugten Tabellen auf das Entwurfsfeld und zieht die gewnschten Felder 715...11 ausgeblendet Anfang und Ende der Tabelle Spiel (oben) Spiel sterreichUruguay und dazu die aufgeklappte Detailtabelle SpielerSpiel, die die Aufstellung fr dieses Spiel zeigt. Man sieht, auch die Einwechslungszeitpunkte und kann dadurch die exakte Einsatzzeit besm men.
Die Detailtabelle kann in den Eigen schaen von SpielerSpiel zu Tore getauscht werden. (siehe Bild auf der vorigen Seite und nchstes Bild) SQLAbfrage SELECT Count(Spieler_Spiel.ID_Spieler_Spiel) AS Joker, Spieler.SpielerName AS Spieler FROM Spieler INNER JOIN ([Spieler-Verein] INNER JOIN Spieler_Spiel ON [Spieler- Verein].ID_Spieler_Verein = Spieler_Spiel.[ID_Spieler-Verein]) ON Spieler.ID_Spieler = [Spieler-Verein].ID_Spieler WHERE (((Spieler_Spiel.VonMinute)>0)) GROUP BY Spieler.SpielerName ORDER BY Count(Spieler_Spiel.ID_Spieler_Spiel) DESC;
8 PCNEWS139 Juni 2014 C L U B S Y S T E M . N E T
in das Tabellenraster unten. Die SQLAbfrage wird daraus von Access ermiuelt. Die SQLAbfrage kann zur eindeuugen Doku mentauon verwendet werden, auerdem ist sie wertvoll, wenn man diese Auswertungen einem Programm bertragen will. Wir erhalten folgendes Ergebnis: Das zeigt uns, dass diese Auswechslungen ein Phnomen der jngeren Fuballgeschichte sind. Was uns jetzt noch interessieren knnte, ist die Anzahl der Treer, die diese Spiele erzielt ha ben. Das Ergebnis ist nicht besonders aullig, jedenfalls waren die Joker nicht in besonderer Torlaune. Tabelle SpielerVerein Ein Spieler ist aber nicht einfach ein Name, also zum Beispiel Polster Anton, sondern dieser Spieler spielt im Laufe seiner Karriere bei vielen ver schiedenen Vereinen. Bleiben wir bei dem Bei spiel Polster, bei dem es besonders viele Stauo nen waren: 1. Austria, 2. Turin, 3. Sevilla, 4. Logrones, 5. Rayo Vallecano, 6. Kln und am Ende 7. vereinslos. Diese Angabe ist wichug, um zu wissen, wie sich unsere Nauonalmannscha zusammensetzt, von wo der Teamchef vorzugsweise die Spieler einberu. Siehe dazu dann eine sptere Aus wertung. Es gibt also nicht einen Polster sondern deren sieben. Und um diesen Umstand darzu stellen, wird in der Tabelle Spiel-Spieler nicht der Spieler eingetragen sondern der Spie ler, der in einem besummten Verein spielt. Und dieser Zusammenhang steht in der Tabelle Spieler-Verein. Diese Tabelle Spieler- Verein verbindet einen konkreten Spieler mit einem konkreten Verein. Beispiel Anton Polster Wenn man daher die Frage stellt, wann Anton Poster wie o gespielt und dabei eben Einstze bei der sterreichischen Nauonalmannscha absolviert, muss man etwa so vorgehen. Die einfache Frage nach den Vereinen eines Spielers beantwortet die Datenbank. Man er stellt eine Abfrage und fgt die Tabellen Spie- ler-Verein, Spieler und Verein ein. Auf grund der bereits eingetragenen Beziehungen werden die Tabellen automausch mit den Be ziehungsbndern 1 verbunden. Man zieht die gewnschten Felder Spielername, Land, Verein, Bundesland in die Spaltenan sicht. Nach einem Klick auf Ausfhren erhlt man die Liste der Vereine. Diese Abfrage wird unter dem Namen Spieler Vereine gespeichert. Das ist schon sehr gut. Was man aber nicht wei, ist die Reihenfolge der Stauonen und auch nicht wie viele Spiele jeweils absolviert worden sind. Um auch diese Informauonen zu erhalten, ms sen wir diese Abfrage um die Tabellen Spieler -Spiel und Spiel ergnzen, weil dort dann diese Informauonen enthalten sind. Auch inte ressieren uns nicht primr die einzelnen Spiele sondern nur die jeweiligen Zeitrume. In der Abfrage werden die Funktionen akuviert, die es erlauben, die Spalten einer Tabelle ein fach nur zu gruppieren (Standardeinstellung) SQLAbfrage SELECT Spieler.SpielerName, Verein.Land, Verein.Verein, Verein.Bundesland FROM Verein INNER JOIN (Spieler INNER JOIN [Spieler-Verein] ON Spieler.ID_Spieler = [Spieler-Verein].ID_Spieler) ON Verein.ID_Verein = [Spieler-Verein].ID_Verein WHERE (((Spieler.SpielerName) Like "Polster*"));
9 Juni 2014 PCNEWS139 C L U B S Y S T E M . N E T
oder aber auch gewisse Kennwerte der Spalte, wie in diesem Fall Maximum und Minimum des Da tums oder die Anzahl der Spiele zu berechnen. Jetzt sehen wir also in der Tabelle rechts die genauen Daten zur Karriere von Toni Polster bei der sterreichischen Nauonalmannscha. Das letzte Spiel, das er als Spieler ohne Verein absolviert hat, war sein Abschiedsspiel gegen den Iran, eines der ersten Lnderspiele, die ich mit meinem Sohn besucht habe und das 5:1 gewonnen wurde. Es wurden jetzt alle Tabellen vorgestellt und wir knnen daran gehen, die eingangs gestellten Fragen mit Hilfe dieser Tabellen zu beantwor ten. Hat unsere Naonalmannscha eine posive oder eine negave Bilanz? Diese Frage beantwortet uns auch die Seite des FB, nebenstehend unsere eigene Auswertung: sterreich hat also eine durchaus posiuve Bi lanz. Bleibt die Frage, ob das nur durch die guten Ergebnisse der Vergangenheit gegeben ist oder auch noch heute der Fall ist. Mit den Toren kann aber etwas nicht summen, denn sterreich 1305 Tore geschossen und 1175 Tore kassiert und das wren dann insge samt 2470 Tore und nicht wie in der Tabelle Tore angegeben nur 1406 Tore(=1406 Datens tze). Die Antwort auf diese Ungereimtheit ist die die Art des Datamining, auf das spter noch eingegangen wird. Die Daten stammen von PDF Dokumenten des FB und in den ersten Jahren wurden zu den Spielen nur die sterreichischen Torschtzen vermerkt, spter dann auch die Torminute und erst in den letzten Jahren wer den auch die gegnerischen Tore in diese Tabelle aufgenommen. Was daher summt, sind die Tore von sterreich, die des Gegners sind in dieser Tabelle Tore unvollstndig. Man knnte sie aber leicht ergnzen, damit die rechnerische Summe summt. Aktuelle Ergebnisse werden gerne an der Ge schichte gemessen. Im historischen Miuel schauen die Ergebnisse so aus: 41% Siege 22% Unentschieden 38% Niederlagen Wenn wir einen Sieg mit zwei Punkten und ein Unentschieden mit einem Punkt bewerten, liegt der Erfolg der Mannscha bei 52%. (295*2+158*1)/(727*2) = 0,52 Es wurden im Schniu 1,8 Tore geschossen und 1,6 Tore kassiert. Wenn also die Ergebnisse eines Trainers ber diesem Schniu liegen, ist das schon ein beacht liches Ergebnis; und Marcel Kollers Spiele liegen deutlich ber diesem Wert! Es wird gerne von glorreichen Zeiten ge schwrmt und dabei werden o die Leistungen der aktuellen Mannscha ungerechterweise geschmlert, wie mir scheint. Die folgende Rechnung versucht, die Leistung der gesamten Geschichte des Nauonalmannscha darzustel len. Um diese Auswertung nicht unnug zu verkom plizieren, teilen wir die gesamte FB Geschichte des Nauonalteams einfach in Deka den ein und untersuchen die Erfolge dieser einzelnen Dekaden. Die Tabelle ist zwar bereits ein Ergebnis aber besonders lesbar ist es noch nicht. Wir verwen den daher eine ExcelTabelle und werten die Leistung innerhalb einer Dekade aus, indem wir einen Sieg mit der Punktezahl 2 und ein Unent schieden mit 1 bewerten und auf die Anzahl der Spiele Siege Remis Niederlagen Tore A Tore Gegner 727 295 158 274 1305 1175 Spiel Bilanz Gesamt SQLAbfrage Gesamtbilanz SELECT Count(Spiel.ID) AS Spiele, Sum(Spiel.S) AS Siege, Sum(Spiel.U) AS Unentschieden, Sum(Spiel.N) AS Niederlagen, Sum(Spiel.ToreA) AS [Tore sterreich], Sum(Spiel.ToreG) AS [Tore Gegner] FROM Spiel; Dekade Spiele Siege Remis Niederlagen Tore A Gegentore 19001909 6 3 1 2 16 12 19101919 32 12 6 14 58 71 19201929 63 28 13 22 136 113 19301939 69 41 14 14 197 98 19401949 25 10 6 9 55 56 19501959 62 27 10 25 150 123 19601969 78 31 13 34 130 144 19701979 60 19 17 24 77 83 19801989 86 41 18 27 130 95 19901999 78 22 20 36 100 125 20002009 89 38 22 29 152 125 20102019 79 23 19 37 104 120 Spiel Bilanz Dekade SQLAbfrage Bilanz pro Dekade SELECT CStr(Round(Year([Datum])/10)*10)+"-"+CStr(Round(Year([Datum])/10)*10+9) AS Deka- de, Count(Spiel.ID) AS Spiele, Sum(Spiel.S) AS Siege, Sum(Spiel.U) AS Unentschieden, Sum(Spiel.N) AS Niederlagen, Sum(Spiel.ToreA) AS [Tore sterreich], Sum(Spiel.ToreG) AS [Tore Gegner] FROM Spiel GROUP BY CStr(Round(Year([Datum])/10)*10)+"-"+CStr(Round(Year([Datum])/10)*10+9) ORDER BY CStr(Round(Year([Datum])/10)*10)+"-"+CStr(Round(Year([Datum])/10)*10+9);
10 PCNEWS139 Juni 2014 C L U B S Y S T E M . N E T
Spiele beziehen. Wir erhalten ein gut vergleich bares Leistungsma. 100% bedeutet, dass alle Spiele gewonnen wurden. Um Platz zu sparen, wird die ExcelTabelle s- terreich.xlsx gleich als Grak dargestellt. In der Beilage zum He ist die ExcelDatei mit zahlreichen weiteren Auswertungen verfgbar. Das Wunderteam der 30er Jahre war auch ei nes. Eine Siegquote von 70% und das gegen alle groen Nauonen, das kann sich sehen lassen. Hut ab vor Hugo Meisl! Aber die groen Erfolge rund um die WM 1954 kann man in dieser Aus wertung nicht sehen, weil eben 10 Jahre ein langer Zeitraum sind. Die markanten Ergebnisse, etwa ein 6:1 gegen Portugal bleiben im Ge dchtnis aber es gab eben auch viele Niederla gen, die den Leistungsmiuelwert in die 50% Zone drcken. Interessant ist das Leistungsmaximum der 80er und 2000er Jahre. Es wre informauv, wenn man diese mehr als 100jhrigen Geschichte etwas detaillierter betrachten knnte. Es gibt daher auch eine Auswertung pro Kalenderjahr, die einerseits mehr Schwankungen enthlt aber einzelne be sonders erfreuliche Jahre deutlicher heraus streicht. Das Ergebnis dieser Auswertung ist wieder ein in Excel eingespeistes Abfrageergeb nis. (Die grasche Auswertung sieht man auf dieser Seite unten.) Die dnne blaue und ganz leicht abfallende Gerade ist eine Trendlinie ber den gesamten Zeitraum. Sie sagt, dass die Leistungsunterschie de nicht ganz so gro sind, wie es einzelne posi uve (oder negauve) Ergebnisse vermuten las sen. Ein gleitender Miuelwert ber fnf Jahre (punkuerte rote Linie) hil, die erfreulichen Zeiten besser zu erkennen. 1920 und 1936, die ra des Wunderteams und Hugo Meisl, WM 1934 1948 und 1955, die Zeit der WM1954 1970 bis 1983, die Zeit der WM 1978, 1982 1995 bis 2002, die Zeit der WM1998 Die WMTeilnahmen korrelieren daher mit Zei ten grerer Leistungsfhigkeit. Es wre noch interessant zu wissen, welche Spieler zu diesem punktuellen Hoch 1996 beige tragen haben, einem Jahr, in dem 92% aller Spiele gewonnen wurden, mehr als es das Wun derteam der 30er Jahre je zustande gebracht hat. Teamchef war Herbert Prohaska, die Spiele sind die Nummern von 562 bis einschlielich 567 und die Spieler ermiuelt man mit einer Abfrage wie im Rahmen auf der Seite oben: CernyTirol (2), FeiersingerSalzburg (3), Frstal lerSalzburg (1), HerzogBayern Mnchen (3), KoglerAdmira (1), KoglerAustria (2), Konrad (Salzburg (1), KonselRapid (3), KhbauerRapid (3), MarasekRapid (4), OgrisAustria (1), Pfeer Austria (4), PfeifenbergerSalzburg (4), Polster Kln (4), ProsenikSalzburg (1), RamuschGAK (1), SchoppSturm (4), SchelRapid (3), Stger Rapid (4), StumpfRapid (1), WetlSturm (1). Aktuelle Lage Derzeit ist Leistung steigend und knapp ber der 50%Marke und daher durchaus im langjh rigen Schniu. Wenn sich der aktuell steigende Trend in den nchsten Jahren fortsetzt und wir die 50%Leistungsmarken berschreiten, knn te es wieder einmal fr die Qualikauon bei einer WM oder EM reichen. Randbedingungen Man muss aber bei allen diesen Bewertungen sehr aufpassen und die Zahl der Spiele, die zu einem Saisonergebnis fhren, bercksichugen. Mit geringerer Anzahl von Spielen, die einem Miuelwert zugrunde liegen ist dieser auch we niger aussagekrig. Denn im aulligen Jahr 1996 wurden nur sechs Lnderspiele gespielt. Je geringer die Zahl der Spiele, desto weniger unwahrscheinlich ist es, diese auch derart posi uv zu absolvieren. Ganz deutlich zeigt das auch das Jahr 1902 mit 100% Leistung. Toll, nicht? Aber es gab auch nur ein Spiel! Wir werden bei der Auswertung der Teamchefs aber sehen, dass sich sterreich mit Marcel Koller auf einem durchaus guten Weg bendet. Gibt es eigentlich mehr Heimspiele oder mehr Auswrtsspiele? Diese Frage ist mit unserer Tabelle Spiel ganz leicht zu beantworten, wir mssen nur die Ab frage Spiel Bilanz Gesamt nach dem Feld Heim gruppieren (Tabelle oben N: Neutral, Gro ereignis wie WM, EM oder Olympische Spiele.) Das Ergebnis zeigt zwei Dinge: sterreich spielt deutlich mehr Spiele zu Hause als auswrts; wir laden gern uns Gste ein. Und das Wichuge: auswrts ist es wie auch bei Klubmannschaen deutlich schwerer. Die Auswrtsbilanz ist negauv und nur die deutlich bessere Heimbilanz gibt dem Nauonalteam insgesamt eine posiuve Gesamtbilanz. (Grasche Auswertung in Balken und Torten diagramm siehe Seite 16.) Wie o hat sterreich an einer WM teilge nommen? 1934, 1954, 1958, 1978, 1982, 1990, 1998 Diese Antwort bekommt man, indem man im Feld Art in Spiele nach Weltmeisterschaft ltert. Dann sieht man die Spiele, die bei einer Welt meisterscha absolviert wurden. (Eine genaue re Antwort fr alle Groveranstaltungen siehe Kasten auf Seite 15.) Wie viele Spieler und von welchem Verein nahmen an der WM1954 teil? Zur WM 1954 gehren die Spiele 250 bis 254. Das erfhrt man aus der Auswertung der vori gen Frage. Die Spieler erfhrt man durch leichte nderung der Frage nach den Spielern 1996 (siehe Abfrage auf diese Seite oben): BarschandtSportklub (2), HanappiRapid (3), HappelRapid (3), KollerVienna (3), KrnerA. Rapid (3), KrnerR.Rapid (3), OcwirkAustria (3), ProbstRapid (3), SchlegerAustria (1), SchmiedVienna (2), StojaspalAustria (3), ZemanRapid (1), Wagner3Wacker (3). Wie viele Teamchefs hae die sterreichische Naonalmannscha seit ihren Anfngen 1902?
Und erhalten 37 Namen. Die erste leere Zeile betrim jene Spiele, fr die der damalige Team chef unbekannt ist, das Feld Teamchef also leer ist. Teamchefs in alphabeuscher Reihenfolge (manchmal auch mehrere gleichzeiug im Team): , Alfred Frey, Franz Putzendoppler, Josef Mol zer, Egon Selzer; Alfred Riedl; Branko Elsner; Dietmar Constanni; Dionys Schnecker; Edi Bauer; Edi Frhwirth; Erich Hof; Ernst Happel; Erwin Alge, Johann Pesser; Felix Latzke, Georg Schmidt; Franz Putzendoppler, Edi Frhwirt, Arthur Kolisch; Hans Kaulich; Hans Krankl; Hein rich Retschury; Helmut Senekowitsch; Herbert Prochaska; Hugo Meisl; Jimmy Hogan; Josef Argauer, Josef Molzer; Josef Hickersberger; Josef Molzer; Josef Walter, Bela Gutmann; Karel Br ckner; Karl Decker; Karl Geyer; Karl Stotz; Karl Zankl; Leopold Stastny; Marcel Koller; Oo Ba ric; Robert Lang; Walter Nausch; Wilhelm Schmieger; Willi Ruensteiner; Willi Ruenstei ner, Andreas Herzog, Zlatko Kovacic. SELECT Spiel.Teamchef FROM Spiel GROUP BY Spiel.Teamchef ORDER BY Spiel.Teamchef; Ermilung der Spieler und deren Verein fr ein Spiel oder eine Folge von Spielen SELECT [FName]+"("+[Verein]+")" AS [Spieler/Verein], Count(Spieler_Spiel.ID_Spieler_Spiel) AS Einstze FROM Spieler INNER JOIN (Verein INNER JOIN ([Spieler-Verein] INNER JOIN Spieler_Spiel ON [Spieler- Verein].ID_Spieler_Verein = Spieler_Spiel.[ID_Spieler-Verein]) ON Verein.ID_Verein = [Spieler-Verein].ID_Verein) ON Spieler.ID_Spieler = [Spieler-Verein].ID_Spieler WHERE (((Spieler_Spiel.Spiel)>562 And (Spieler_Spiel.Spiel)<567)) // 1996 oder WHERE (((Spieler_Spiel.Spiel)>250 And (Spieler_Spiel.Spiel)<254)) // WM-1954 GROUP BY [FName]+" ("+[Verein]+")" ORDER BY [FName]+" ("+[Verein]+")"; Heim und Auswrtsbilanz SELECT Spiel.Heim, Count(Spiel.ID) AS Spiele, Sum(Spiel.S) AS Siege, Sum(Spiel.U) AS Unentschieden, Sum(Spiel.N) AS Niederlagen, Sum(Spiel.ToreA) AS [Tore sterreich], Sum(Spiel.ToreG) AS [Tore Gegner] FROM Spiel GROUP BY Spiel.Heim ORDER BY Spiel.Heim; A: Auswrts, H:Heim, N: Neutral (Groveranstaltungen) Auswrts Heim Neutral
11 Juni 2014 PCNEWS139 C L U B S Y S T E M . N E T
Was knnen wir ber die Amtszeit und ber die Leistung der Naonalmannscha unter diesen Teamchefs sagen? Wenn es darum geht, die Leistung dieser Epochen zu bewerten, benugen wir weitere Angaben: die Anzahl der Spiele (damit erfahren wir, welcher Teamchef die meisten Spiele be treut hat), den Zeitraum (damit wrden wir den am lngsten amuerenden Teamchef nden), die Leistungsdaten (Siege, Unentschieden, Nie derlagen, Tore). Als Erstes erstellen wir diese Leistungstabelle und schrnken gleich insofern ein, als wir nur jene Teamchefs in die Bewer tung einbeziehen wollen, die mindestens 10 Spiele bestriuen haben, weil krzere Beobach tungszeitrume o zu berraschenden Ausrei ern fhren. Beispiel (war tatschlich einmal der Fall): Ein Teamchef, der das Team einmal anfhrt und dabei gewinnt, wrde in einem Ranking die unangefochtene Nummer eins sein, da er eben 100% seine Spiele gewonnen hat. Daher benutzt die folgende Abfrage die Ein schrnkung auf mindestens 10 Spiele. Das Er gebnis sieht man in der nebenstehenden Tabel le. SELECT Spiel.Teamchef, Min(Spiel.Datum) AS Von, Max(Spiel.Datum) AS Bis, Count (Spiel.ID) AS Spiele, Sum(Spiel.S) AS Siege, Sum(Spiel.U) AS Unentschieden, Sum(Spiel.N) AS Niederlagen, Sum (Spiel.ToreA) AS [Tore sterreich], Sum (Spiel.ToreG) AS [Tore Gegner] FROM Spiel GROUP BY Spiel.Teamchef HAVING (((Count(Spiel.ID))>=10)) ORDER BY Count(Spiel.ID) DESC; Wir wissen jetzt, dass Hugo Meisl in einem Zeitraum von 24 Jahren die meisten Spiele be striuen hat, gefolgt von Josef Hickersberger und Herbert Prohaska. Durch die Verlngerung der Amtszeit von Marcel Koller wird auch dieser in die Region der LangzeitTeamchefs vorrcken. Fr einen Leistungsvergleich braucht man aber ein eindeuuges Leistungsma. Dazu speisen wir die Daten wieder in eine ExcelTabelle ein und berechnen die prozentuale (also auf die Anzahl der mglichen Punkte bezogene) Leistung (=erreichte Punktezahl, Sieg=2 Punkte) fr die zusammengefassten (gruppierten) Spiele. Das ergibt immerhin ein berraschendes Ergeb nis. Karl Stotz rangiert in dieser Balkengrak am ersten Platz, noch vor der ra des Hugo Meisl. Marcel Koller liegt im guten Miuelfeld und hat bereits prominente Vorgnger hinter sich gelas sen. Er liegt auf gleicher Hhe wie Walter Nausch, dem Trainer der WM1954. Der unbeschriete Balken fasst alle Spiele mit unbekannter Betreuung zusammen. Dass Hugo Meisl dieses Ranking trotz der ra des Wunderteams nicht deutlicher anfhrt, liegt an dem beraus langen Zeitraum seiner Karriere als Teamchef. In diese lange Periode fallen natrlich nicht nur glnzende Erfolge sondern auch viele Niederlagen, die vor dieser Wunderteamra der 30er Jahre liegen. Miuel werte tun das, was im Wort steckt: sie miueln extreme Werte aus, sowohl extrem posiuve als auch extrem negauve. Spiel Bilanz Teamchef Teamchef Von Bis Spiele S U N Tore A Tore Gegner Hugo Meisl 15.06.1913 24.01.1937 132 70 30 32 338 209 Josef Hickersberger 05.02.1988 16.06.2008 56 15 16 25 65 78 Herbert Prohaska 10.03.1993 27.03.1999 51 25 9 17 96 73 Leopold Stastny 16.06.1968 24.09.1975 49 15 16 18 58 62 Walter Nausch 03.10.1948 14.11.1954 47 21 10 16 119 87 Karl Decker 19.11.1958 14.12.1963 36 16 3 17 60 67 Hans Krankl 27.03.2002 07.09.2005 31 10 10 11 47 46 Helmut Senekowitsch 28.04.1976 21.06.1978 26 14 4 8 40 26 Dietmar Constanuni 16.10.1991 06.09.2011 26 7 4 15 31 46 Karl Stotz 30.08.1978 11.11.1981 24 13 6 5 43 25 Ouo Baric 28.04.1999 14.11.2001 22 7 6 9 31 35 Marcel Koller 15.11.2011 05.03.2014 20 9 4 7 32 23 Branko Elsner 15.10.1975 18.11.1987 20 6 5 9 26 31 Josef Argauer, Josef Molzer 02.05.1956 15.06.1958 18 7 6 5 37 28 Heinrich Retschury 01.10.1916 24.10.1937 17 5 3 9 30 38 Erich Hof 22.09.1982 14.11.1984 15 6 3 6 22 20 Edi Frhwirth 24.03.1965 30.10.1966 15 4 3 8 12 23 Edi Bauer 06.12.1945 09.11.1947 11 4 0 7 26 28 Fuball beherrscht den Teil im Hirn des Mannes, der sich weigert, erwachsen zu werden. (Sir Peter Usnov) sterreich wird bis sptestens 2006 FuballWeltmeister. (Frank Stronach 1998 in einem SpiegelInterview) Das meiste, was ich vom Leben wei, verdanke ich dem Fuball. (Albert Camus) Fuball ist Ding, Dang, Dong. Es gibt nicht nur Ding. (Giovanni Trapaoni)
12 PCNEWS139 Juni 2014 C L U B S Y S T E M . N E T
Bilanz gegenber den beliebtesten Gegnern Da der Gegner bei jedem Datensatz der Tabelle Spiel eingetragen ist, gengt eine einfache Abfrage der Tabelle Spiel mit der Einschrn kung, dass wir nur Gegner bercksichugen, gegen die mindestens 10 Mal gespielt wurde. Die absteigende Soruerung nach der Anzahl der Spiele zeigt uns den Lieblingsgegner. Der grasche AbfrageEntwurf zeigt nicht alle Felder der Abfrage, rechts sind einige der betei ligten Felder nicht angezeigt. Die SQLVersion dieser Abfrage (mit allen Fel dern) sieht man unter der Tabelle der Ergebnis se. Die groe Zahl der Lnderspiele gegen Ungarn (Tabelle rechts) wird wohl nicht mehr ber troen werden auch werden wir diese negauve Bilanz auch nicht mehr ausgleichen knnen. Dazu hat sich die FuballWelt zu sehr vern dert; es gibt zu wenige Spiele gegen Ungarn. Die Auswertung mit Excel wurde so getroen, dass zwischen posiuven und negauven Leis tungsbilanzen leicht unterschieden werden kann (Grak unten). Gegner Von Bis Spiele S U N Tore Aus. Tore Geg. Ungarn 12.10.1902 16.08.2006 136 40 30 66 252 297 Schweiz 23.12.1917 11.08.2010 41 25 5 11 104 59 Deutschland 07.06.1908 06.09.2013 39 8 6 25 55 89 Italien 03.07.1912 20.08.2008 37 13 8 16 57 47 CSSR 24.05.1925 19.08.1992 36 8 11 17 53 69 Schweden 27.03.1921 11.10.2013 33 16 5 12 49 50 Frankreich 19.04.1925 14.10.2009 23 9 2 12 40 39 Schouland 16.05.1931 30.05.2007 20 8 6 6 33 25 England 06.06.1908 16.11.2007 18 4 5 9 27 48 Niederlande 30.06.1912 09.02.2011 18 6 4 8 24 34 Jugoslawien 10.02.1924 13.11.1991 18 6 4 8 38 39 Spanien 21.12.1924 18.11.2009 16 4 3 9 22 43 Trkei 30.05.1948 15.08.2012 15 8 1 6 17 20 UDSSR 11.06.1958 06.09.1989 15 4 4 7 14 20 Belgien 13.12.1925 25.03.2011 14 9 3 2 41 18 Irland 07.05.1952 10.09.2013 14 9 3 2 36 17 Griechenland 04.10.1967 14.08.2013 12 3 5 4 16 19 Norwegen 01.07.1912 20.11.2002 10 7 1 2 21 8 Portugal 26.01.1936 11.10.1995 10 3 5 2 19 11 Finnland 31.07.1921 29.02.2012 10 8 1 1 23 10 SELECT Count(Spiel.ID) AS Spiele, Spiel.Gegner, Min(Spiel.Datum) AS Von, Max (Spiel.Datum) AS Bis, Sum(Spiel.S) AS Siege, Sum(Spiel.U) AS Unentschieden, Sum (Spiel.N) AS Niederlagen, Sum(Spiel.ToreA) AS [Tore sterreich], Sum(Spiel.ToreG) AS [Tore Gegner] FROM Spiel GROUP BY Spiel.Gegner HAVING (((Count(Spiel.ID))>=10)) ORDER BY Count(Spiel.ID) DESC;
13 Juni 2014 PCNEWS139 C L U B S Y S T E M . N E T
Wer war der erfolgreichste Torschtze, welcher Spieler hae die meisten Einstze? Diese Frage beantworten wir mit einem Ranking aller Torschtzen. Der folgende grasche AbfrageEntwurf zeigt oben die beiden beteiligten Tabellen, darunter das benutze Feld Spie- lerName sowie die Anzahl der Tore, die dieser Spieler erzielt hat als Anzahl der Datenstze. Dieser grasche Entwurf liefert die folgende SQLAbfrage Tore pro Spieler mit dem Ergebnis der Tabelle rechts oben. SELECT Spieler.SpielerName AS Spieler, Count(Tore.ID) AS Tore FROM Spieler INNER JOIN Tore ON Spieler.ID_Spieler = Tore.ID_Spieler GROUP BY Spieler.SpielerName ORDER BY Count(Tore.ID) DESC; In dieser Tabelle wurden nur die Spieler mit mehr als 10 Toren angefhrt. Unangefochtener Spitzenreiter ist Anton Polster. Diese AccessTabelle wurde in eine ExcelTabelle kopiert und als Balkengrak (nchste Seite, oben links) dargestellt. Man fragt sich, warum so berhmte Strmer wie Franz Binder in dieser Liste nur im Miuelfeld rangieren. Der Grund ist, dass es in den sieben Saiso nen zwischen 1938 und 1945 keine Einstze in der sterreichischen Nauonalmannscha gab und er in dieser Disziplin auch nicht punkten konnte. Diese Tabelle der besten Torschtzen enthlt eine sehr verbreitet aber unschne Eigenscha publizierter Stausuken. Diese Grak der Anzahl der Tore verschweigt, in welchem Zeitraum diese Tore gefallen sind. Daher mssen wir genau genommen diese geschossenen Tore auf die Anzahl der Spiele normieren und erhalten dann die Tore, die ein Spieler pro Spiel erzielt hat. Dazu speisen wir die Abfrage Tore pro Spieler in eine weitere Abfrage ein, die uns dann diese Auskun gibt: SELECT [Tore pro Spieler].Spieler, [Tore pro Spieler].Tore, Count(Spieler_Spiel.ID_Spieler_Spiel) AS Anzahl- vonID_Spieler_Spiel FROM [Tore pro Spieler] INNER JOIN ([Spieler-Verein] INNER JOIN Spieler_Spiel ON [Spieler-Verein].ID_Spieler_Verein = Spie- ler_Spiel.[ID_Spieler-Verein]) ON [Tore pro Spieler].ID_Spieler = [Spieler-Verein].ID_Spieler GROUP BY [Tore pro Spieler].Spieler, [Tore pro Spieler].Tore ORDER BY [Tore pro Spieler].Tore DESC; Mit dieser Abfrage erhalten wir gleichzeiug mit den Toren auch die Gesamtzahl der Einstze und knnen damit wieder eine ExcelTabelle fllen und auswerten. Das ergibt nun eine ganz andere Reihung und zeigt uns, wie ezient die Torschtzen waren (siehe Balkengrak nchste Seite oben rechts). Spitzenreiter in der Disziplin der Ezienz war WeselikRapid, der in jedem seiner 11 Einstze zwischen 1927 und 1933 ein Tor geschossen hat, im ersten Spiel sogar 3. Daher ist seine Torquote grer als 1. Hier liegt Toni Polster im Miuelfeld etwa wie Marc Janko. Franz Binder rckt in dieser Darstellung sehr weit nach vorne.
Anmerkung: Auch die FBSeite gibt eine Torschtzenliste an, die von der obigen geringfgig abweicht. Kein Zweifel, irgendwo ist beim Import der Daten ein Tor von Anton Polster (wahrscheinlich durch einen Tippfehler) verloren gegangen und wurden auch Erich Hof einige Tore aberkannt. Diese Fehler werden bei Gelegenheit in der Datenbank der Webversion beseiugt, natr lich nur, wenn der Fehler gefunden werden kann. Polster 43 Krankl 34 Horvath 29 Schall 27 Herzog 26 Sindelar 26 Zischek 24 Hof 24 Schachner 23 Wagner3 22 Decker 19 Probst 18 Studnicka 18 Swatosch 18 Wessely 17 JankoMarc 17 Melchior 16 Binder 16 Nemec 16 Tore pro Spieler Stger 15 Jara 15 Stojaspal 14 Bican 14 Vasuc 14 Kuthan 14 Weselik 13 Bauer 13 Huber 12 Ivanschitz 12 Wieser 12 OgrisA. 12 Hanappi 12 Dienst 12 Gschweidl 12 Aumauser 12 Harnik 10 Prohaska 10 Krner 10 Kreuz 10
14 PCNEWS139 Juni 2014 C L U B S Y S T E M . N E T
Wie gro ist heute der Anteil der Legionre bei Spielen der Naonalmannscha, wie war das frher? Legionre gibt es seit den Anfngen des Fuballs. Allerdings kamen sie damals, in der Monarchie, aus dem heuugen Tschechien, das zur sterrei chischen Reichshle gezhlt wurde. Diese Spieler waren damals Inlnder. Ihre damaligen Vereine (vorwiegend DFC Prag) werden in den Vereinsta bellen als Ausland gefhrt, daher scheinen diese Spieler in der Auswertung als Legionre auf. Der Legionrsanteil steigt seit 1968 konunuierlich an und erreichte 1980 erstmals die 50%Marke. Heute liegt der Anteil der Legionre zwischen 70 und 80 Prozent. Wie ist die Relaon der Spieler aus den Bundelndern zu den Spielern aus Wien? Bis in die Miue der 50er Jahre waren prakusch alle Spieler der Nauonalmannscha Wiener. Dann aber, in der 60er und 70er Jahren nahm der Anteil der Spieler von Bundeslndervereinen stark zu und erreichte 1970 erstmals 50%. Dieser Anteil ging in den 80er Jahren wieder zurck, sueg in den 90er Jahren wieder an. Heute ist der Anteil der Spieler aus sterreich generell gering. Diese Fragen knnen durch eine einzige Grak zusammengefasst werden: Um diese Grak erstellen zu knnen, sind zwei Abfragen und auch ein VisualBasicProgramm nug. Eine Abfrage ermiuelt die Spiele pro Saison, eine weitere ermiuelt Spielerherkunft pro Saison und gruppiert die Spieler nach ihrer Herkun (Wien, Bundeslnder, Land). Die Prozedur SpielerHerkunft verbindet diese beiden Abfragen zu einer Tabelle. Diese Tabelle wird in Excel impor uert, die prozentualen Werte berechnet und in der Grak dargestellt. Spiele Bilanz Saison SELECT Spiel.Saison, Count(Spiel.ID) AS Spiele, Sum(Spiel.S) AS Siege, Sum(Spiel.U) AS Unentschieden, Sum(Spiel.N) AS Nieder- lagen, Sum(Spiel.ToreA) AS [Tore sterreich], Sum(Spiel.ToreG) AS [Tore Gegner] FROM Spiel GROUP BY Spiel.Saison ORDER BY Spiel.Saison; Spielerherkun pro Saison SELECT Spiel.Saison, Count([Spieler-Verein].ID_Spieler_Verein) AS Spielerzahl, Verein.Land, Verein.Bundesland FROM Verein INNER JOIN (Spiel INNER JOIN (Spieler INNER JOIN ([Spieler-Verein] INNER JOIN Spieler_Spiel ON [Spieler- Verein].ID_Spieler_Verein = Spieler_Spiel.[ID_Spieler-Verein]) ON Spieler.ID_Spieler = [Spieler-Verein].ID_Spieler) ON Spiel.Spiel = Spieler_Spiel.Spiel) ON Verein.ID_Verein = [Spieler-Verein].ID_Verein GROUP BY Spiel.Saison, Verein.Land, Verein.Bundesland ORDER BY Spiel.Saison, Verein.Land, Verein.Bundesland; Warum benugt man in diesem Fall ein Programm, um das gewnschte Ergebnis zu erzielen? Der Grund ist, dass die Abfrage Spielerherkunft pro Saison wegen der Gruppierung nach Saison, Land und Bundesland fr jede Saison mehrere Datenstze generiert, die durch das Programm in einer einzigen (Excelkompaublen) Tabelle mit je einer Spalte fr Spieler aus sterreich, Spieler aus Wien, aus den Bundelndern und aus dem Aus land herstellt. Diese Seite zeigt sowohl das Visual BasicProgramm als auch die Auswertung der entstandenen Tabelle in einer Grak. Man sieht in dem Programm, wie die in der Abfrage fehlenden Kriegsjahre 1915 und 19381945 in die Ergebnistabelle eingebaut werden. Die Variablen G, A, W, B, I stehen fr Gesamt, sterreich, Wien, Bundesland und Internaonal (Legionr).
15 Juni 2014 PCNEWS139 C L U B S Y S T E M . N E T
Public Sub SpielerHerkunft() Dim Rs_Herkunft, Rs_Spiele As Recordset Set Rs_Herkunft = CurrentDb.OpenRecordset("Spielerherkunft pro Saison") Set Rs_Spiele = CurrentDb.OpenRecordset("Spiel Bilanz Saison") Dim Season, SeasonOld As String SeasonOld = Rs_Herkunft("Saison") Dim G, A, B, I, W As Integer Dim Spiele As Integer G = 0 A = 0 B = 0 I = 0 W = 0 Do While Not Rs_Herkunft.EOF Season = Rs_Herkunft("Saison") Spiele = Rs_Spiele("Spiele") If Season <> SeasonOld Then Dim iSeason, iSeasonOld As Integer Debug.Print SeasonOld, Spiele, G, A, W, B, I G = 0 A = 0 B = 0 I = 0 W = 0 iSeason = CInt(Left(Season, 4)) iSeasonOld = CInt(Left(SeasonOld, 4)) If iSeason > iSeasonOld + 1 Then If iSeason = iSeasonOld + 2 Then '1905/06 kein Spiel Debug.Print "1905/06", 0, 0, 0, 0, 0, 0 Else 'Kriegsjahre Debug.Print "1938/39", 0, 0, 0, 0, 0, 0 Debug.Print "1939/40", 0, 0, 0, 0, 0, 0 Debug.Print "1940/41", 0, 0, 0, 0, 0, 0 Debug.Print "1941/42", 0, 0, 0, 0, 0, 0 Debug.Print "1942/43", 0, 0, 0, 0, 0, 0 Debug.Print "1943/44", 0, 0, 0, 0, 0, 0 Debug.Print "1944/45", 0, 0, 0, 0, 0, 0 End If End If SeasonOld = Season Rs_Spiele.MoveNext End If Dim Spielerzahl As Integer Spielerzahl = Rs_Herkunft("Spielerzahl") Select Case Rs_Herkunft("Land") Case "A" Select Case Rs_Herkunft("Bundesland") Case "W" W = W + Spielerzahl Case Else B = B + Spielerzahl End Select A = A + Spielerzahl Case Else I = I + Spielerzahl End Select G = G + Spielerzahl Rs_Herkunft.MoveNext Loop Debug.Print SeasonOld, Spiele, G, A, W, B, I Rs_Herkunft.Close Rs_Spiele.Close End Sub Teilnahmen an Groveranstaltungen 1912 Olympia 1934 WMQualikauon 1934 Weltmeisterscha 1936 Olympia (diese Spiele fehlen leider bei den FBSeiten) 1937 WMQualikauon 1948 Olympia 1953 WMQualikauon 1954 Weltmeisterscha 1956/57 WMQualikauon 1958/59 Weltmeisterscha 1960 EC der Nauonen 1963 EC der Nauonen 1965 WMQualikauon 1966/67 EMQualikauon 1968/69 WMQualikauon 1970/71 EMQualikauon 1972/73 WMQualikauon 1974/75 EMQualikauon 1976/77 WMQualikauon 1978 Weltmeisterscha 1978/79 EMQualikauon 1980/81 WMQualikauon 1982 Weltmeisterscha 1982/83 EMQualikauon 1984/85 WMQualikauon 1986/87 EMQualikauon 1988/89 WMQualikauon 1990 Weltmeisterscha 1990/91 EMQualikauon 1992/93 WMQualikauon 1994/95 EMQualikauon 1996/97 WMQualikauon 1998 Weltmeisterscha 1998/99 EMQualikauon 2000/01 WMQualikauon 2002/03 EMQualikauon 2004/05 WMQualikauon 2008 Europameisterscha 2008/09 WMQualikauon 2010/11 EMQualikauon 2012/13 WMQualikauon
16 PCNEWS139 Juni 2014 C L U B S Y S T E M . N E T
Welcher Verein stellte in der Geschichte der sterreichischen Nao nalmannscha die meisten Spieler? Der grasche AbfrageEntwurf: Liefert folgende SQLAbfrage SELECT Count([Spieler-Verein].ID_Spieler_Verein) AS Spieler- zahl, Verein.Land, Verein.Bundesland, Verein.Verein FROM Verein INNER JOIN (Spiel INNER JOIN (Spieler INNER JOIN ([Spieler-Verein] INNER JOIN Spieler_Spiel ON [Spieler- Verein].ID_Spieler_Verein = Spieler_Spiel.[ID_Spieler- Verein]) ON Spieler.ID_Spieler = [Spieler-Verein].ID_Spieler) ON Spiel.Spiel = Spieler_Spiel.Spiel) ON Verein.ID_Verein = [Spieler-Verein].ID_Verein GROUP BY Verein.Land, Verein.Bundesland, Verein.Verein ORDER BY Verein.Land, Verein.Bundesland; Diese Abfrage ergibt ausgefhrt die Tabelle rechts oben. Dargestellt sind nur jene Vereine, deren Spieler mehr als 100 Mal eingesetzt worden sind. Die Tabelle erfordert aber eine kleine Korrektur, denn blicher weise zhlt man die Amateure als VorluferVerein der Austria und daher wre die Austria mit 1782 knapp an erster Stelle der Einstze fr die Nauonalmannscha. Schmerzlich fr siegverwhnte Rapidler, aber die Zahlen sind unerbiulich, speziell die Miuelwerte. Beschrnken wir den Zeitraum auf die Saisonen ab 2000/01, muss die Zeile WHERE (((Spiel.Saison)>="2000/01")) Vor GROUP BY eingesetzt werden. Wir erhalten im Bild rechts mie ein mehr internauonales Bild aber noch immer fhren die Wiener Klubs die Liste an. In der jngsten Zeit mit Marcel Koller als Teamchef ab 2011/12 ergibt sich durch die Einschrnkung WHERE (((Spiel.Saison)>="2011/12")) das Bild rechts unten: Nur mehr Austria, Rapid und Salzburg nden sich in der Liste, sonst n det man nur Legionre. Stammvereine der Spieler der sterreichischen Naonalmannscha seit 1902 Stammvereine der Spieler der sterreichischen Naonalmannscha seit 2000 Stammvereine der Spieler der sterreichischen Naonalmannscha seit 2011/12 (ra Marcel Koller) Ergebnisse der sterreichischen Naonalmannscha seit 1902 ein knapp posives Ergebnis, dank einer guten Heimbilanz
17 Juni 2014 PCNEWS139 C L U B S Y S T E M . N E T
Serien Bei der Beurteilung einer Mannscha werden gerne Serien aufgezhlt, die dann bei einem konkreten Spiel prolongiert werden oder eben zu Ende gehen. Derzeit etwa ist unsere Nauonal mannscha seit drei Spielen unbesiegt (Frer 3:0, USA, 1:0, Uruguay 1:1). Die Frage ist, wie das historisch ausschaut, wann also besonders aullige Serien zu verzeichnen waren. Solche Fragestellungen knnen durch einfache Abfragen nicht beantwortet werden, man braucht Programme dazu. Die Prozedur, die solche lngsten Serien auswertet, wurde Zeit- reihen genannt. Die Prozedur ermiuelt die lngsten Serien bei Heimspielen, Auswrtsspie len und Heim und Auswrtsspielen. Es be summt die lngste Siegesserie, die lngste Serie ohne Niederlage, die lngste Unentschieden Serie, die lngste Serie ohne Sieg, die lngste Niederlagenserie, beantwortet also fnf solcher Fragen. Die nebenstehende Tabelle zeigt die lngsten Serien fr Heim und Auswrtsspiele. Das Programm auf der folgenden Seite bewertet darber hinaus auch reine HeimspielSerien und reine AuswrtsspielSerien. Die TextAusgabe dieses Programms ndet sich bei der Webversi on dieses Arukels. Interessant in dem Zusammenhang ist die Um wandlung der ProgrammAusgabe in eine Tabel lenstruktur. Eine Ausgabezeile lautet zum Bei spiel: 4:3 H 14.09.1947 203 Ungarn Edi Bauer Die Felder dieser Ausgabezeile sind durch Ab stnde abgegrenzt und damit diese Struktur in Word in eine Tabelle konveruert werden kann, muss man an der Stelle der Spaces Tabulatoren einfgen aber die Spaces in den Trainernamen beibehalten. Im Notepad++ ist der Suchbegri dazu: \s+(\d+)\:(\d+) (\w) (\d+)\.(\d+)\. (\d\d\d\d) (\d+)\s(\w+)\s(.+) Und der Ersetzungsbegri: \1:\2\t\3\t\4.\5.\6\t\7\t\8\t\9
\s+ ein oder mehrere Spaces (\d+) eine oder mehrere Ziern > \1 (\d+) eine oder mehrere Ziern > \2 (\w) ein Buchstabe (H oder A) > \3 (\d+)\.(\d+)\.(\d\d\d\d) Datum (\d+) Spielnummer > \7 \s Zwischenraum (\w+) Gegner > \8 (.+) Trainer > \9 \t Tabulator Erst nach dieser Ersetzung wird der Text in ein WordDokument eingefgt und dieser Text in eine Tabelle umgewandelt. Der letzte Teil dieser WordTabelle (der Ab schniu mit den gemischten Heim und Aus wrtsspielen) wurde in der nebenstehenden Tabelle bernommen. Wenig berraschend, dass die lngste Siegesse rie unter Hugo Meisl gescham wurde. Zur Ehrenreuung von Leopold Stastny (lngste Serie ohne Sieg) sollte man auch die durchaus beachtlichen Ergebnisse dieser an sich unerfreu lichen Serie mit jeweils Unentschieden gegen Brasilien(2x), Niederlande, Ungarn und Italien bercksichugen. Dass die Zeit unmiuelbar nach dem Krieg unter Edi Bauer keine einfache war, sieht man sogar an den Ergebnissen der Fuballspiele. Serien bei Heim und Auswrtsspielen Lngste Siegesserie: 7 Spiele beginnend bei Spiel 159 1:0 A 10.12.1933 159 Niederlande Hugo Meisl 4:2 A 11.02.1934 160 Italien Hugo Meisl 3:2 A 25.03.1934 161 Schweiz Hugo Meisl 5:2 H 15.04.1934 162 Ungarn Hugo Meisl 6:1 H 25.04.1934 163 Bulgarien Hugo Meisl 3:2 A 27.05.1934 164 Frankreich Hugo Meisl 2:1 A 31.05.1934 165 Ungarn Hugo Meisl Lngste Serie ohne Niederlage: 14 Spiele beginnend bei Spiel 136 2:1 H 12.04.1931 136 CSSR Hugo Meisl 0:0 H 03.05.1931 137 Ungarn Hugo Meisl 5:0 H 16.05.1931 138 Schouland Hugo Meisl 6:0 A 24.05.1931 139 Deutschland Hugo Meisl 2:0 H 17.06.1931 140 Schweiz Hugo Meisl 5:0 H 14.09.1931 141 Deutschland Hugo Meisl 2:2 A 04.10.1931 142 Ungarn Hugo Meisl 8:1 A 29.11.1931 143 Schweiz Hugo Meisl 2:1 H 20.03.1932 144 Italien Hugo Meisl 8:2 H 24.04.1932 145 Ungarn Hugo Meisl 1:1 A 22.05.1932 146 CSSR Hugo Meisl 4:3 A 17.07.1932 147 Schweden Hugo Meisl 3:2 A 02.10.1932 148 Ungarn Hugo Meisl 3:1 H 23.10.1932 149 Schweiz Hugo Meisl Lngste Unentschiedenserie: 3 Spiele beginnend bei Spiel 156 3:3 A 17.09.1933 156 CSSR Hugo Meisl 2:2 H 01.10.1933 157 Ungarn Hugo Meisl 2:2 A 29.11.1933 158 Schouland Hugo Meisl Lngste Serie ohne Sieg: 9 Spiele beginnend bei Spiel 384 2:2 A 29.04.1973 384 Ungarn Leopold Stastny 2:3 A 23.05.1973 385 Schweden Leopold Stastny 1:1 H 13.06.1973 386 Brasilien Leopold Stastny 0:7 A 26.09.1973 387 England Leopold Stastny 0:4 A 10.10.1973 388 Deutschland Leopold Stastny 1:2 A 27.11.1973 389 Schweden Leopold Stastny 1:1 A 27.03.1974 390 Niederlande Leopold Stastny 0:0 A 01.05.1974 391 Brasilien Leopold Stastny 0:0 H 08.06.1974 392 Italien Leopold Stastny Lngste Niederlagenserie: 6 Spiele beginnend bei Spiel 197 1:3 A 05.05.1946 197 Frankreich Edi Bauer 0:2 A 06.10.1946 198 Ungarn Edi Bauer 3:4 H 27.10.1946 199 CSSR Edi Bauer 0:1 A 10.11.1946 200 Schweiz Edi Bauer 2:3 A 01.12.1946 201 Italien Edi Bauer 2:5 A 04.05.1947 202 Ungarn Edi Bauer
18 PCNEWS139 Juni 2014 C L U B S Y S T E M . N E T
Public Sub Zeitreihen() Dim RS_Spiele As Recordset Dim Text(5) As String Dim HA(3) As String HA(0) = "Serien bei Heimspielen" HA(1) = "Serien bei Auswrtsspielen" HA(2) = "Serien bei Heim- und Auswrtsspielen" Dim SMax(5) As Integer Dim CMax(5) As Integer Dim S(5) As Integer Dim C(5) As Integer Dim i, j As Integer Text(0) = "Lngste Siegesserie" Text(1) = "Lngste Serie ohne Niederlage" Text(2) = "Lngste Unentschiedenserie" Text(3) = "Lngste Serie ohne Sieg" Text(4) = "Lngste Niederlagenserie" Dim Sql As String For j = 0 To 2 '0: Heim, 1: Auswrts, 2: Heim und Auswrts Debug.Print HA(j) For i = 0 To 4 SMax(i) = 0 CMax(i) = 0 S(i) = 0 C(i) = 0 Next i Select Case j Case 0 Sql = "SELECT Spiel, Sieg FROM Spiel WHERE Heim='H' ORDER BY Spiel" Case 1 Sql = "SELECT Spiel, Sieg FROM Spiel WHERE Heim='A' ORDER BY Spiel" Case 2 Sql = "SELECT Spiel, Sieg FROM Spiel ORDER BY Spiel" End Select Set RS_Spiele = CurrentDb.OpenRecordset(Sql) Do While Not RS_Spiele.EOF Dim Sieg, Spiel As String Sieg = RS_Spiele("Sieg") Spiel = RS_Spiele("Spiel")
Dim Serie As Integer For Serie = 0 To 4 If (Serie = 0 And Sieg = "S") _ Or (Serie = 1 And (Sieg = "S" Or Sieg = "U")) _ Or (Serie = 2 And (Sieg = "U")) _ Or (Serie = 3 And (Sieg = "N" Or Sieg = "U")) _ Or (Serie = 4 And (Sieg = "N")) Then If C(Serie) = 0 Then S(Serie) = Spiel End If C(Serie) = C(Serie) + 1 Else If C(Serie) > CMax(Serie) Then SMax(Serie) = S(Serie) CMax(Serie) = C(Serie) End If S(Serie) = Spiel C(Serie) = 0 End If Next Serie RS_Spiele.MoveNext Loop RS_Spiele.Close For Serie = 0 To 4 'Debug.Print "", SMax(Serie), CMax(Serie), Text(Serie) Debug.Print "", Text(Serie), CStr(CMax(Serie)) + _ " Spiele beginnend bei Spiel " + CStr(SMax(Serie)) Select Case j Case 0 Sql = " (Heim='H') AND " Case 1 Sql = " (Heim='A') AND " Case 2 Sql = "" End Select Sql = "SELECT Gegner, Heim, ErgebnisA, Datum, Teamchef, Spiel " & _ "FROM Spiel " & _ "WHERE " + Sql + " (Spiel>=" + CStr(SMax(Serie)) + ") " & _ "ORDER BY Spiel" Set RS_Spiele = CurrentDb.OpenRecordset(Sql) Dim Count As Integer Count = 0 Do While Not RS_Spiele.EOF Debug.Print "", "", RS_Spiele("ErgebnisA") + " " + _ RS_Spiele("Heim") + " " + CStr(RS_Spiele("Datum")) + _ " " + CStr(RS_Spiele("Spiel")) + " " + _ RS_Spiele("Gegner"), RS_Spiele("Teamchef") Count = Count + 1 If Count = CMax(Serie) Then Exit Do End If RS_Spiele.MoveNext Loop RS_Spiele.Close Next Serie Next j End Sub Zeitreihen Die Prozedur Zeitreihen ermiuelt lngste Serien gleichblei bend guter oder schlechter Ergebnisse. Es gibt drei Auswertungen HA(0), HA(1), HA(2), die in der Schleife For j = 0 To 2 durchlaufen werden. Je nach In dex j wird die Abfrage Sql der Spiele modiziert. J=0 nur Heimspiele, j=1 nur Auswrtsspiele, j=2 alle Spiele (siehe Tabelle auf der vorigen Seite). Innerhalb jeder dieser Auswertungen wird nach fnf Serien gesucht (Text(0..4)). Zur Ermiulung der Serien werden vier Variablen eingesetzt: SMax (speichert die Spielnummer der lngsten gefundene Serie), CMax (speichert die Anzahl der zu dieser Serie gehrigen Spiele), S (die Spielenummer der gera de untersuchten Serie), C (die Anzahl der zusammenhngen den Spiele dieser Serie). Wenn das C der gerade untersuchten grer ist als die gespeicherte Folge CMax, wird S zum neuen SMax und C zum neuen CMax. Die fnf Serien werden in der Schleife For Serie = 0 To 4 gesucht. Ausgewertet wird das Feld Sieg, das die drei Werte S, U oder N haben kann. Wenn eine Serie noch nicht beginnen hat C(Serie)=0, startet sie mit der ersten zutreenden bereinsummung. Ist eine Serie zu Ende Else, wird gepr, ob die aktuelle Serie lnger ist als die bereits gespeicherte. Wenn ja, triu sie an ihre Stelle und der Zhler fr die aktuelle Serie wird zurckgesetzt S (Serie)=Spiel und C(Serie)=0. Die Ausgabe der gespeicherten Ergebnisse erfolgt durch Kon strukuon der SqlAbfrage aus den ermiuelten Werten SMax und CMax kombiniert mit einer Einschrnkung fr den Spielort Sql = " (Heim='H') AND ". Die Ausgabe selbt erfolgt im Zuge von Debug.Print Anweisungen, die einen einfachen Text ausgeben. Damit dieser Text in eine WordTabelle umgeformt warden kann, wird er noch in Notepad++ mit der auf der vorigen Seite angegebenen Regular Expression umformauert. Dateneingabe Wie fuert man die Datenbank mit neuen Spielern, Vereinen und Spielen? Man knnte natrlich Daten direkt in die Tabel len eingeben. Das sollte man aber nicht, speziell, wenn es redundante Felder gibt, die erst aus den Eingaben errechnet werden. Man gibt daher neue Daten ber Formulare ein, die eine fehlerfreie Eingabe durch Plausibilittschecks auf dem Umweg kleiner Funkuonen berprfen knnen. Die Daten der FBSeite sind bis zum letzten Spiel im Jahr 2012, Spielnummer 716 gegen die Elfenbeinkste kompleu. Die Daten bis zum 727 Lnderspiel gegen Uruguay mssen hndisch nachgetragen werden. Als Quelle dient die Seite weltfussball.at. Auf der folgenden Seite sieht man die Formulare zur Eingabe von Spielern, Vereinen und Spielen. Noch bevor die Daten zu einem konkreten Spiel eingegeben werden, pr man, ob es neue Spieler oder neue Vereine gibt. Diese gibt man zuerst ein. Um ein Formular zu erstellen, gengt es, die Tabelle zu nen und auf Erstellen -> Formular zu klicken. Abgesehen von Fragen der Gestaltung werden alle erforderlichen Felder im Formular eingesetzt und man kann schon mit der Eingabe beginnen. Die beiden Eingabemasken (nchste Seite rechts oben) zeigen, wie Spieler und Verein zusammenhngen. Man kann zu einem Spieler mehrere Vereine zuordnen und umgekehrt einem Verein mehrere Spieler. Bei der Eingabe der Mannschasaufstellung gibt man daher immer eine SpielerVereinKombinauon aus der Tabelle Spie- ler-Verein ein. Das wichugste Eingabeformular ist aber Spiel: Es besteht aus dem Haupuormular mit den Angaben zum Spiel im oberen Teil und einem Unterformular fr die teilnehmen den Spieler und einem Unterformular fr die Tore des Spiels.
19 Juni 2014 PCNEWS139 C L U B S Y S T E M . N E T
Datenbank wurden mit den Angaben in weltfussball.at verglichen und als fehlerfrei befun den. Dennoch bleiben im Vergleich mit den FBAngaben Fehler. Diese kleinen Abweichungen kommen mglicherweise von verschieden interpreuerten Ergebnissen mit einem Elferschieen. Aber keine Angst, an den ermiuelten Stausuken ndert das kaum etwas, solche Miuelwerte ha ben auch etwas Gutes, weil sie sich an groen Zahlen orienueren und ein Sieg mehr oder weniger spielt dabei keine Rolle. Fehler Im Zusammenhang mit Datenbankstrukturen gibt es zahlreiche Fehlermglichkeiten. In die sem besonderen Fall kommen bereits sehr viele Fehler seitens der Originaldaten ins Spiel. Je nachdem, wer die jeweiligen Dokumente ver fasst hat und wie seine Vorgaben waren, ist die Schreibweise von Spieler und Trainernamen verschieden. Einmal heit es Didi, das andere Mal Dietmar. Einem Leser ist das egal, er wei, wer gemeint ist: Dietmar Konstanni. Aber ein Programm erstellt aus den beiden Namen zwei Personen, die man hndisch verei nigen muss. Bei den Toren wird ein Spieler mit Linz ange geben, bei der Aufstellung aber als Roland Linz. In allen diesen Fllen ist es aber fr ein Programm durchaus eine andere Person und man muss alle diese Mehrdeuugkeiten mh sam hndisch enuernen. Teuisch wird die Sache mit den vielen Hubers, Wagners und sonsugen hugen Namen. Bei berprfungen stellt sich dann rasch heraus, dass nicht etwa Anton Polster einer der am lngsten spielende Fuballer war, sondern ein Huber, der von 1902 bis 2006 gespielt haben soll. Ob schlielich die dargestellten Stausuken summen oder wenigstens einigermaen sum men, kann man durch Vergleich mit den Staus uken des FB kontrollieren. Der Spieler mit den meisten Toren, Anton Polster sollte wenigs tens auch in der PCNEWSStausuk seine 73 Tore geschossen haben. Lange war das aber nicht der Fall, denn in meiner Aufstellung ha ben dem Toni zuerst fnf Tore gefehlt, bis ein Spieler mit dem Namen Polser aufgefallen ist, der diese fnf fehlenden Tore geschossen hat. Einer dieser zahlreichen Schreibfehler mit gro en Wirkungen. Plausibilittsprfung der Daten Weil der Prozess der Erfassung der Daten durch die vielen Umformungsschriue sehr feh lerbehaet ist, muss man nach der Herstellung der Datenbanktabellen einen Plausiblittscheck ausfhren. Die Visual Basic Prozedur Plausi- bel berpr fr jedes Spiel redundante An gaben in den Feldern Ergebnis, Tore, Sieg, S, U und N; berpr, ob die Zahl im Feld ToreA mit der Anzahl der Tore in der Tabelle Tore bereinsummt und pr auch, ob die Anzahl der eingesetzen Spieler in der Tabelle Spieler-Spiel >=11 ist. Die Prozedur Plausibel ist hier nicht abgedruckt, man ndet sie aber in der Daten bank unter Datenbanktools-> Visual Basic -> Modul Auswertungen: Ist dieser Check erfolgreich, ist die Datenbank formal in Ordnung. Dass zum Beispiel Spieler oder Vereine eingetragen worden wren, die nicht exisueren (Tippfehler), kann man ausschlieen, weil die Tabellen durch das Prinzip der referenziellen Integritt vor solchen Fehlern geschtzt sind. Nach Abschluss dieses PlausibilittsChecks erfolgen Eingaben nur mehr ber die im nchsten Abschniu vorgestellten Eingabefor mulare. Trotz aller dieser Korrekturmanahmen bleibt ein gewisser Rest von Fehlern in der Daten bank, der erst durch das Arbeiten mit den Da ten und laufende Korrekturen beseiugt werden kann. Vergleichen wir die FBBilanz mit der von den FBSeiten abgeleiteten Bilanz, Stand April 2014: Alle 727 Spiele in der PCNEWS Spiele Siege Remis Niederlagen Tore A Tore Gegner 727 295 (+2) 158 (1) 274 (1) 1305 (+2) 1175 Spiel Bilanz Gesamt (Kopie von Seite 9) Stask des FB Stask von PCNEWS, abgeleitet von den FBDaten zwecks detaillierter Auswertung
PCNEWS139 Juni 2014 20 C L U B D E V . N E T
Datamining Franz Fiala Ja, wenn die Datenbank einmal ferug ist, dann hat man fast schon gewonnen, denn die ein gangs beschrieben Auswertung ist nur der End punkt eines mhsamen Weges. Aber wie kommt man zu diesen Daten ohne sie mhsam abuppen zu mssen? Der FB publiziert auf seiner StausukSeite http://www.oefb.at/statistik-pid623#el15406 in 12 PDFDateien alle Spiele der sterreichi schen Nauonalmannscha seit 1902: Liste der Lnderspiele der sterreichischen Naonalmannscha, in 12 PDFDokumenten Format 1. Lnderspiel, 1902 Format 716. Lnderspiel 2012 Alles.txt: reiner Text nach Konversion der Datei alles.pdf, mit typischen OCRFehlern. Die Spiele sind fortlaufend nummeriert. Das erste Spiel gegen Ungarn vom 12.10.1902 hat die Nummer 1 und das letzte gegen Uruguay vom 5.3.2014 hat die Nummer 727. Das letzte Spiel in der FBPublikauon ist das Spiel 716 gegen die Elfenbeinkste vom 14.11.2012. Der Originaltext in der PDFDatei ist so wie in den beiden Bildern rechts. Man sieht an der Darstellung dieser beiden Spiele, dass sich die Zahl der Angaben zum Spiel im Laufe der vielen Jahre sehr verndert hat. Zwischen dem Minimum des ersten Spiels und der ganzen Seite des letzten Spiels ist ein gro er formaler Unterschied. Fr Leser ist das unbedeutend aber fr ein Pro gramm, das diese Angaben in eine Tabellen struktur umwandeln soll, ist das eine Herausfor derung. Zuerst mssen die 12 PDFDateien zu einem einzigen Dokument verbunden werden. Dazu eignet sich Acrobat oder das preisgnsugere Foxit. Die so gewonnene PDFDatei alles- original.pdf wird mit dem OCRProgramm Omnipage in Text umgewandelt. Der Anfang dieser neuen Datei (alles-original.txt) schaut so aus wie im Bild rechts unten. Whrend die Datei alles-original.pdf noch ein Bild war, arbeiten wir jetzt mit reinem Text. Natrlich mit kleinen Tippfehlern, etwa sieht man, dass gleich in der ersten Zeile Osterreich O stau steht. Diese Fehler wiederholen sich im Dokument und werden wie viele andere Kleinigkeiten durch Suchen und Ersetzen beseiugt. Grob kann man in diesen Angaben zu den Spie len die Datenbankstruktur erkennen. Jedes Spiel besteht eigentlich aus drei tabellarischen Strukturen: aus den Angaben zum Spiel (Datum, Ergeb nis, Gegner), den Spielern, die an dem Spiel teilnehmen, den Vereinen denen sie angehren, ergnzt
Juni 2014 PCNEWS139 21 C L U B D E V . N E T
durch die Spielernummer und die Spielzeit (von Minute, bis Minute), die Aufstellung Die Auswechslungen, wobei jeweils angege ben ist, welcher Spieler gegen welchen ande res Spieler in welcher Minute getauscht wur de und schlielich den Toren der Begegnung, ergnzt durch die Minute, den Schtzen und wer das Tor ge schossen hat. In einem ersten Schriu werden die Angaben zum Spiel in alle diese Einzelteile zerlegt und die Aufstellung und Tore noch als eine Zeichen keue beisammen gelassen aber die Angaben zum Spiel bereits in die Felder Datum, Gegner, Ergebnis, Halbzeitergebnis, Schiedsrich- ter, Zuschauerzahl, Spielort usw. aufgeteilt. Die Aufstellung und die Tore bleiben zunchst als Text in einem gengend groen Texueld. 255 Zeichen (die Vorgabe Kurzer Text in Microso Access) gengt nicht, man muss Langer Text einstellen, sonst werden bei eini gen Spielen Texueile abgeschniuen. In diesem ersten Schriu entsteht also die einzige Tabelle Spiel. Dazu muss aber die Textdatei grndlich umfor mauert werden, damit ein lesendes Programm einfach erkennen kann, wann ein Spiel beginnt, wann es endet und welche Abschniue daraus in welches Feld kommen sollen. Das folgende Beispiel zeigt am Spiel 716 gegen die Elfenbeinkste, das auf der vorigen Seite auch im Original zu sehen ist, wie dieser maschi nenlesbare Text schlielich ausschaut. Zur Ver besserung der Lesbarkeit wurden die Feldna men feu gedruckt. #### #Begegnung#sterreich:Elfenbeinkste #Spiel#716 #Ergebnis#0:3 #Pause#0:1 #Art#Freundschasspiel, #Datum#14.November 2012 #Details#Linz, Linzer Stadion, 13.832 Zuschau er, #Schiedsrichter#Kralovec (CZE) #Aufstellung#(GK 24) Hein4 Lindner/FK Austria Wien (2) Gyrgy Garics/FC Bologna, (3) Alek sandar Dragovic/FC Basel, (4) Emanuel Poga tetz/VfL Wolfsburg, (13) Markus Suner/FK Austria Wien (7) Marko Arnautovic/SV Werder Bremen, (18) Christoph Leitgeb/FC RB Salzburg, (8) David Alaba/FC Bayern Mnchen, (16) Jakob Jantscher/Dynamo Moskau (6) Andreas Ivan schitz/1.FSV Mainz 05 (21) Marc Janko/ Trabzonspor #Austausch#(17) Florian Klein/FC RB Salzburg fr Garics (46.), (15) Sebasan Prdl/SV Werder Bremen fr Pogatetz (46.), (14) Julian Baum gartlinger/1.FSV Mainz 05 fr Leitgeb (46.), (19) Veli Kavlak/Besiktas JK fr Alaba (59.), (9) An dreas Weimann/Aston Villa FC fr Ivanschitz (64.), (11) Marn Harnik/VfB Stugart fr Jant scher (76.) #Teamchef#Marcel Koller #AufstellungG#Boubacar Barry/KSC Lokeren, Igor Lolo/Kuban Krasnodar, Kolo Tour/ Manchester City, Sol Bamba/Trabzonspor, Arthur Boka/VfB Stugart Romaric/Real Sara gossa, Arouna Kone/Wigan Athlec, Cheick Tiot/Newcastle United, Didier Ya Konan/ Hannover 96, Max Gradel/AS Saintenne Wilfried Bony/Vitesse Arnheim #Austausch#Ismael Traore/Stade Brestois fr Bamba (46.), Lacina Traor/Anzhi Makhachkala fr Bony (46.), Abdul Razak/Manchester City fr Tiote (53.), Didier Drogba/Shanghai Shenhua fr A. Kone (59.), Yaya Tour/Manchester City fr Romaric, Salomon Kalou/Lille OSC fr Ya Konan #Teamchef#Sabri Lamouchi #Tore#0:1 Ya Konan (44.) 0:2 Drogba (52.) 0:3 L. Traore (76.) Die gewhlte Strategie Jedes Feld in der spteren Tabelle Spiel ist eine Zeile in der Textdatei. Jede dieser Zeilen wird durch den spteren Feldnamen #Name# eingeleitet. Zwischen Spielen steht die Zeile ####. Die Felder Aufstellung, Tore und Aus- tausch sind vorlug noch unstrukturierte Texte, die spter, wenn aus diesem Text bereits die Tabelle Spiel geworden ist, per Programm in weitere Tabellen umgewandelt werden. Wie formt man nun die Angaben des FB zu den Spielen in die gezeigte Form mit den Raute zeichen um? Hndisch wre das ein mhsamer Weg. Man kann sich dafr aber hervorragende Hilfe in Form der Regular Expressions holen, die in Editoren fr ProgrammierAufgaben und sogar in Word enthalten sind. Fr diese Aufgabe verwende ich gerne den kostenlosen Editor Notepad++. Im Dialogfeld von Notepad++ kann man einstellen, ob der Suchbegri als ein Regu lrer Ausdruck interpreuert werden soll. Regular Expressions Ein einfaches Suchen und Ersetzen erlaubt nur die Suche nach einem konkreten Text, also zum Beispiel nach Lnderspiel oder sterreich aber nicht nach einem beliebigen Text, der im Zusammenhang mit Lnderspiel vorkommt, zum Beispiel 25. Lnderspiel oder sterreich Ungarn. Das 25. und Ungarn ist bei jedem Spiel anders und daher versagt die einfache Suche. Hier kommen die Regular Expressions ins Spiel. Grundstzlich wrde ein normaler Text in einer Regular Expression ebenso behandelt werden wie in einer normalen Suche. Besummte Sonderzeichen haben aber eine besondere Bedeutung. Diese Zeichen sind: .:()[]^+*?-\| Daher kann man nach diesen Zeichen nicht direkt suchen sondern nur, indem man ihnen einem Backslash voranstellt. Um also zum Bei spiel nach einem PlusZeichen zu suchen, ver wendet man \+. Einfache Umformungen Einfach sind Umformungen wie Tore: im Originaltext, denn es gengt nach Tore: zu suchen und durch #Tore# zu ersetzen. Dazu gehren auch Schreibfehler, wie das erwhnte Polser stau Polster. Alles, was man jetzt korrigieren kann, kann man einheitlich in der ganzen Datei ausfhren. Zum Beispiel die Enuernung mehrfacher Spaces, mehrfacher Zeilenumbrche. Meist muss man diese Kleinigkeiten auch am Ende der Umfor mungen noch einmal ausfhren, weil durch die Umformung wieder mehrfache Spaces oder Zeilenumbrche entstehen. Hier unterscheiden sich die Regular Expressions nicht von der normalen Suche. Wie nun diese Spezialzeichen zu interpreueren sind, zeigen die folgenden Beispiele und auch die Sonderseite ber Regular Expressions. Der gesamte Prozess dieser Umwandlung ist hier nicht exakt darstellbar. Es gibt sehr viele Ausnahmen, hervorgerufen durch Tippfehler (manchmal steht irgendwo ein Abstand, dann fehlt er) oder durch verschiedenarugen Aumau der Zeilen, wie man im Vergleich des ersten und des letzten Spiels sieht. Die Herstellung der strukturierten Datei ist daher eine Mischung aus systemauschen Umformungen und manuellen Korrekturen. Begegnung Die Begegnung steht meist an erster Stelle eines Spiels und wird von keinem Text begleitet, da her muss man sich an dem sterreich orien ueren. Aus Ungarnsterreich oder ster reichUngarn soll daher werden #Begegnung #Ungarnsterreich oder #Begegnung#ster reichUngarn, unabhngig davon, welchen Geg ner sterreich hat. Solche Ersetzungen sind nun mit den Miueln des einfachen Suchen und Ersetzen nicht mehr durchfhrbar und man benugt die Hilfe der Regular Expressions. In dem Beispiel suchen wir nach einem Wort, das wir unverndert auch nach dem Ersetzungs vorgang verwenden wollen. Dafr verwendet man in der RegexSprache als Suchbegri die Suche (\w+)\-(sterreich) und ersetzt durch #Begegnung#\1\2\r\n#Gegner#\2 \r\n#Heim#A\r\n Diese Formeln wollen erklrt werden: (\w+)\-(sterreich) () Eingeklammerte Begrie werden in der Rei henfolge ihres Auretens als Variable betrach tet, die als \1, \2 im Ersetzungsbegri ver wendet werden knnen. \w Steht fr irgendein alphanumerisches Zei chen, Pluszeichen + bedeutet, dass das Zeichen davon beliebig o, mindestens aber einmal vor kommt. Das \w+ ist eingeklammert, daher wer den alle dadurch gefundenen Zeichen in die Variable \1 gespeichert. Nach dem Bindestrich kann nicht direkt gesucht werden, daher muss ihm in der Suche ein Backslash vorangestellt werden. ####\r\n#Begegnung#\1\2\r\n#Gegner#\1 \r\n#Heim#A\r\n \1 steht fr den Gegner und \2 fr sterreich. ####, #Begegnung#, #Gegner# und #Heim#A werden unverndert ausgegeben. \r steht fr das Steuerzeichen CR und \n fr LF. Durch diese Ersetzung entstehen die vier Felder ####, Begegnung, Gegner und Heim. Der Zeilen rest nach den #...#Feldbezeichnungen ist der eigentliche Feldinhalt und wird in die Daten banktabelle Spiel imporuert. Die ExtraZeile #### ist die Trennung zwischen zwei Lnder spielen, an der sich das sptere Einlesepro gramm orienueren kann. Fassen wir also zusammen. Durch diese Erset zung werden aus der Zeile Ungarn-sterreich die Zeilen #### #Begegnung#Ungarn-sterreich #Gegner#Ungarn #Heim#A D.h. etwa die Hle der Spiele wird auf diese Weise umgeformt. Diese Suche muss noch einmal durchgefhrt werden und zwar fr den Fall von Heimspielen, weil dort die beiden Gegner ihren Platz tau schen. Die Such und Ersetzungkommandos lauten dann: Suchen (sterreich)\-(\w+) Ersetzen ####\r\n#Begegnung#\1\2\r\n#Gegner#\2 \r\n#Heim#H\r\n Grundstzlich knnte man mit den Miueln der Regular Expressions sogar beide Ersetzungen in einem einzigen Vorgang durchfhren, doch lohnt sich in diesem Projekt dieser zustzliche
PCNEWS139 Juni 2014 22 C L U B D E V . N E T
Aufwand nicht, weil alle diese Formeln nur einmal verwendet werden. Ergebnis Das Ergebnis eines Spiels wird meist in zwei Zeilen angegeben. Die erste Zeile ist das Ender gebnis, die zweite ist der eingeklammerte Halb zeitstand. Suchen (\d+)\:(\d+)\r\n\((\d+)\:(\d+)\)\r\n Ersetzen \r\n#Ergebnis#\1:\2\r\n#ErgebnisH#\3:\4 \r\n Aus 2:3(1:1) wird #Ergebnis#2:3 #ErgebnisH#1:1 Art Suchbegri (Freundschaftsspiel|Weltmeisterschaft|E uropameisterschaft|WM-Qualifikation|EM- Qualifikation|EC der Nationen|Olympia) Ersetzungsbegri \r\n#Art#\1\r\n Der senkrechte Strich ist die Trennung zwischen Textalternauven. Ganz egal, welcher der Texte gefunden wird, immer wird das Feld Art gene riert. Der vorangestellte Zeilenumbruch beim Erset zungsbegri garanuert, dass die Feldbezeich nung jedenfalls in einer neuen Zeile beginnt. Lnderspiel Jedes Spiel enthlt eine Zeile, die etwa so aus schaut: 633. Lnderspiel, Innsbruck (TivoliNEU), 28.04.2004 Schiedsrichter: Damir Skomina, SLO Aus diesen Zeilen werden die Felder Spiel, Datum, Schiedsrichter und Stadion extra hiert. Leider ist der Aumau des Dokuments nicht ganz gleich, daher muss man in Einzelschriuen vorge hen und kann sich nicht darauf verlassen, diese Zeile in einem einzigen Schriu umwandeln zu knnen. Suchen (\d+)\. Lnderspiel(.*) Ersetzen \r\n#Spiel#\1\r\n#Details#\2\r\n Das Wort Lnderspiel dient und lediglich zum Aunden der richugen Zeilen. Zuerst trennen wir die Spielnummer (\d+) vom Rest der Zeile (.*). \d steht fr eine Zier \d+ steht fr min destens eine Zier. Der Punkt . steht fr irgend ein Zeichen, der Stern * bedeutet, dass davor stehende Zeichen beliebig o und auch gar nicht vorkommen kann. Damit erkennen wir auch Zeilen, die berhaupt nur mit dem Wort Lnderspiel enden. Datum Suchen (\d+)\.(\d+)\.(\d\d\d\d) Ersetzen \r\n#Datum#\1. \2. \3\r\n Es gibt auch Datumsangaben mit ausgeschriebe nen Monatsangaben und die mssen in einem weiteren, etwas komplizierteren Schriu verar beitet werden. Schiedsrichter Suchen Schiedsrichter\:(\w+) Ersetzen \r\n#Schiedsrichter#\1\r\n Im Feld Detail bleiben nach diesen Umformun gen Angaben zum Stadion stehen. Abgeschlossen werden diese Umformungen durch Enuernen mehrfacher Zwischenrume: Suchen \s+ Ersetzen (ohne Anfhrungszeichen) Und mehrfacher Zeilenumbrche, die sich wh rend der Ersetzungen durch Voranstellen von \r\n\ angehu haben. Suchen (\r\n)+ Ersetzen \r\n Diese Ersetzungen sind eine grobe Skizze, wie man von dem Rohtext alles-original.txt zu einem strukturierten Text alles.txt mit Feld angaben kommen kann. In der Praxis ist die Zahl der erforderlichen Um wandlungsschriue deutlich hher und zwischen durch durch manuelle Textkorrekturen beglei tet, die dadurch erforderlich werden, dass die Originaldateien Tippfehler enthalten aber auch dadurch, dass die Umwandlungen versehentlich eine Ersetzung an einem Ort ausfhren, an dem das gar nicht gewnscht ist. Import in Datenbank Es gibt jetzt also eine strukturierte Textdatei alles.txt. Jede Zeile enthlt ein Datenfeld der Form #Feldname#Inhalt. Ein Datensatz ist vom nchsten durch eine Zeile #### getrennt. Die Reihenfolge der Datenfelder ist unerheblich. Fehlen Datenfelder, bleibt das entsprechende Datenbankfeld eben leer. Programmwahl Man knnte den Import der Texte mit dem in Access eingebauten Visual Basic ausfhren. Man kann aber auch die ungemein exible Power Shell verwenden, die alles, was das DotNet Framework anbietet, auch nutzen kann. Wenn man daher rouunemig mit C# arbeitet, ist die Verwendung der PowerShell naheliegend. Man kann die PowerShell entweder mit dem in Windows vorhandenen Power Shell ISE (Integrated Software Environment) oder auch mit dem kosten losen Tool Power Gui Script Editor verwenden. Mit gefllt Power Gui besser aber fr den An fang ist das egal. Eine kurze Darstellung der Skriptsprache Power Shell zeigt die folgende Seite, eine etwas lnge re Darstellung ist bei der Webversion dieses Beitrags verfgbar. Der Import der Daten erfolgt in mehreren Schriuen: Tabelle Spiel durch sequenuelles Auslesen der TextDatei alles.txt fllen. (TextDateiLesen.ps1) Das Feld Spiel (in der Textdatei alles.txt wur de es ID genannt) dient als eindeuuge Daten satzkennzeichnung und Verknpfungsfeld zu den Tabellen SpielerSpiel und Tore. Tabelle Spieler-Spiel aus dem Feld Aufstellung der Tabelle Spiel erstellen (SpielerTabelleErstellen.ps1) Die Tabelle Spieler-Spiel enthlt zunchst noch sowohl den Verein als auch den Spie- ler, beides in vielfacher Anzahl. Durch Grup pierung nach dem Spieler und nach dem Verein wird daraus die Tabellen Spieler Verein und aus dieser dann die Tabellen Spieler und Verein hergestellt. Lscht man danach die nicht mehr benugten Felder sind die genauen Schriue nicht mehr erkenn bar. Tabelle Tore aus dem Feld Tore ermiueln (ToreTabelleErstellen.ps1) Tabelle Spieler-Tausch aus dem Feld Austausch erstellen und dann die Spielminuten der bereits eingetragenen Feldspieler korrigieren (SpielerTauschTabelleErstellen.ps1). Die neuen Eintauschspieler an die Tabelle Spieler anfgen und die Spielminuten eintragen. Dieser relauv komplizierte Vorgang ist not wendig, weil die FBDaten zwischen der Aufstellung (die 11 Mann, die das Spiel begin nen) und den Wechselspielern unterscheidet. Fr die Zhlung der Zahl der Einstze ist diese Unterscheidung eher unprakusch wie man sieht. Daher mssen eben die Austauschspie ler zu der Spielertabelle hinzugefgt werden und dabei die Beginn und Endeminute der neuen Spieler als auch jener, die ausge tauscht werden, besummt werden. Datenquellen http://www.oefb.at (Spiel 1..716) http://www.weltfussball.at (Spiel 717727) Verwendete Programme Microso Access 2013 Microso Excel 2013 Notepad++ Power GUI Script Editor Windows Power Shell ISE Download Webversion Vermessung des Runden Leders http://d.pcnews.at/ins/pcn/139/000500/ sterreich.accdb Datenbank sterreich.xlsx Grasche Auswertungen Serien.docx Textversion aller Serien Webversion Datamining http://d.pcnews.at/ins/pcn/139/002000/ Alles-Original.pdf Alles-Original.txt Alles.txt TextDateiLesen.ps1 SpielerTabelleErstellen.ps1 SpielerTauschTabelleErstellen.ps1 ToreTabelleErstellen.ps1
Links Einfhrung in Access von Karel upek in PCNEWS103 http://d.pcnews.at/ins/pcn/103/002700/ main.htm Und alle anderen Arukel von Karel upek http://pcnews.at/? Show=AutorenArtikel&n=17484&id=13725&de tail=%C5%A0
TextDateiLesen Der Abschniu #Connection stellt die Verbindung zur AccessDatenbank her. Im Abschniu #Tabelle Games werden die beiden benugten Zugrismechanismen SELECT und INSERT fr ein so OleDbAdapterObjekt $Adapter formuliert und fr jedes Feld ein eigenes Para meterObjekt deniert. Der Einfachheit halber werden alle Felder als Text imporuert. Die Um wandlung in Zahlen (beim Feld Spiel) erfolgen spter in der Datenbank durch nderung des Feldtyps. An dieser Stelle sieht man auch den nicht ganz reibungsfreien Entwicklungsvorgang. Anfangs wurde nmlich die Tabelle der Spiele Games ge nannt, damit sie mit einer bereits bestehenden FuballDatenbank zusammenpasst. Dann aber, als dieser Arukel entstehen sollte, wurde die Tabelle auf das deutsche Spiele umgendert. Auch das sollte nicht bestehen bleiben und wurde nach Ferugstellung der Datenbank auf die Einzahl Spiel gendert. Aus Termingrnden war es dann aber nicht mehr mglich, die Ein zahlbildung auf die anderen Tabellen auszudeh nen und daher ist zum Beispiele die Tabelle Tore immer noch in der Mehrzahl geschrieben. Dieses AdapterObjekt $Adapter kommuniziert mit einer $DataTable, die die Spaltennamen und Spaltentypen vom Adapter in $Adapter.Fill ($DataTable) bernimmt. Anfangs ist diese Ta belle leer, lediglich die Anzahl und die Namen der Spalten ist deniert. Die Datei alles.txt wird in die Variable $Alles eingelesen, eine neue Datenzeile $DataRow ange legt. Die forSchleife for($i=0; $i -lt $Alles.length; $i++) liest alle Zeilen des Textes und berpr den Aumau der Zeilen. Beginnt eine Zeile mit ####, wir die Variable $Game hochgezhlt, der mit Daten gefllte Da tensatz $DataRow an die Tabelle $DataTable ange fgt und ein neuer, leerer Datensatz $DataRow erzeugt und alle Werte in diesem Datensatz mit der Funkuon ClearValues gelscht. Beginnt der Datensatz mit #Spiel# wird zur Kon trolle ein Text ausgegeben. Die Regular Expression $regex = [regex] '#(.+)# (.*)' ndet Zeilen, die den gewhlten Aumau #key#value hat und isoliert daraus die Variablen $key und $value. Bei den Keys aufstellung, austausch und teamchef muss noch der Umstand gelst werden, dass es bei den aktuellen Begegnungen immer zwei gibt: die der Heimmannscha und die der Aus wrtsmannscha. Bei der Gastmannscha wird ein G zum Feldnamen angehngt. Diese Schleife fllt daher 716 Datenstze in die Datentabelle. Die bertragung in die Datenbank erfolgt mit dem Kommando $Adapter.Update ($DataTable). Das gengt, denn wie die Tabelle in die Datenbank zu bertragen ist, wurde bereits in der Deniuon des Adapters genau festgelegt. Um diese konkreten Schreibvorgnge, die ein fach eine schleifenaruge Abarbeitung des INSERT Kommandos ist, muss man sich nicht kmmern, das kann der Adapter ganz von allein.
$DTSpieler.Rows.Add($DataRow) } } $AdapterSpieler.Update($DTSpieler) $Connection.Close() SpielerTabelleErstellen Der Abschniu #Datenbankstellt die Verbindung zur AccessDatenbank her. Im Abschniu #Tabelle Spiele werden die beiden Felder benugten Felder Spiel und Aufstellung in den DatenAdapter $AdapterSpiel eingelesen. In den zweiten DatenAdapter $AdapterSpieler wird die Tabellenstruktur der Tabelle Spieler aufgebaut. $Team aus der Tabelle Spiel enthlt die gesamte Aufstellung als Text. Diese Textzeile wird in die einzelnen Spieler in der ArrayVariablen $TeamA zerlegt. Jeder dieser Einzelteile enthlt ein besummtes Spielerformat. Bei neueren Aufstellungen wird der Verein nach dem Spielernamen durch einen Schrgstrich / angegeben. Die Rckennummer ist eingeklammert. Die zustzliche Kennzeich nungen bei der Rckennummer: G steht fr Goalie und C fr Captain. Bei der lteren Schreibweise ist der Verein ein geklammert und muss daher anders behandelt werden wie bei den neuere Spielen. Spielernamen knnen einteilig sein (nur Famili enname) oder zweiteilig (Vorname und Famili enname). Leider ist diese Systemauk nicht ganz durchgngig und manchmal stehen Vor und Nachname in der falschen Reihenfolge. Da bleibt dann o nichts anders brig, als diese punktuellen Fehler hndisch zu korrigieren. Jedenfalls wird versucht, den Spielernamen in die Felder FName und VName richug einzutragen und gleichzeiug auch die Rckennummer in das Feld Nummer. In der Tabelle Spieler stehen die wesentlichen Felder: Spiel, FName, Vname und Verein. Jeder Daten satz ist ein Einsatz eines Spielers. Es gibt bis zum Spiel 727 9180 Einstze. Diese jetzt imporuerte Tabelle Spiel wird spter Spieler-Spiel heien, weil daraus noch die Teiltabelle Spieler-Verein und dann daraus die Tabellen Spieler und Verein entstehen. SpielerTauschTabelleErstellen (Kode siehe nchste Seite) Leider ist der Spieler tausch in einem anderen Format angegeben als die Aufstellung. Das Feld Austausch in der Tabelle Spiele wird daher zuerst in einer Hilfstabelle Spieler_Spiel_Tausch impor uert. Da die Vorgnge dem Import der Spieler prinzipiell gleichen, wird dieser Vorgang nicht weiter beschrieben. Bei diesem Import werden die Bestandteile des Austausches (SpielerEin, SpielerAus, VereinEin, VereinAus, Minute) in einzelnen Felder abgelegt. Dann werden mit Miueln von Access diese Datenstze dieser Tabelle Spie- ler_Spiel_Tausch mit der AnfgeAbfrage SpielerTausch Neue Spieler an die Tabelle Spieler-Spiel angehngt und das Feld von Minute auf den richugen Zeitpunkt eingestellt. Die bisMinute ist 90. Danach wird bei jenen Spielern, die das Feld verlassen, die bisMinute auf denselben Wert eingestellt. Anhang Die beiden Programme SpielerTauschTabel- leErstellen und ToreTabelleErstellen sind in einem Anhang der PDFVersion dieser Ausga be auf den Seiten 33 und 34 enthalten.
Juni 2014 PCNEWS139 25 C L U B D E V . N E T
Regex Regular Expressions wie sie im Text Editor Notepad++ verwendet wer den. Andere Editoren oder Pro grammiersprachen verwenden eventuell eine geringfgig abwei chende Syntax. bereinstimmung einzelner Zeichen . \c Der Punkt summt bei der Suche mit jedem Zeichen einer Zeile berein. Akuviert man ndet \r\n kann man auch ber Zeilengrenzen hinweg suchen. \X Findet ein einzelnes Zeichen gefolgt von beliebig vielen kombinierbarer Zeichen. Das trim zu bei UnikodeZeichen, die aus einem diakriuschen Zeichen und dem eigentlichen Buchstaben zusammengesetzt sind. \ Der Backlash vor einem Zeichen erlaubt die Verwendung dieses Zeichens ohne dessen Bedeutung als RegexZeichen. Beispielsweise ist \[ eine nende eckige Klammer und nicht der Beginn einer Zeichenklasse. Nicht ASCII-Zeichen \xnn Einzelnes Zeichen mit dem Kode nn. Was das bedeutet, hngt von der Kodierung ab. Bei spielsweise ndet \xE9 ein oder ein je nachdem welche KodeSeite im Dokument verwendet wird. \x{nnnn} Findet ein 16BitUnicodeZeichen. In ANSI Dokumenten ist dieses Konstrukt nicht erlaubt. \Onnn Findet ein Zeichen im OktalKode [[.Sortierreihenfolge.]] Soruerreihenfolge festlegen. Beispielsweise wird die Zeichenkombinauon "ch" im Spanischen als einzelnes Zeichen betrachtet, obwohl sie aus zwei Zeichen besteht. Das Zeichen ist dann [[.ch.]]. Funkuoniert auch mit symbolischen Namen wie zum Beispiel [[.BEL.]] mit dem Zeichenkode 0x07. Steuerzeichen \a Steuerzeichen BEL 0x07 (alarm). \b Steuerzeichen BS 0x08 (backspace). Nur innerhalb einer Zeichenklassendeniuon erlaubt, ansons ten hat es die Bedeutung einer Wortgrenze. \e Steuerzeichen ESC 0x1B (escape) \f Steuerzeichen FF 0x0C (form feed). \n Steuerzeichen LF 0x0A (line feed). Zeilenende in UNIXSystemen. \r Steuerzeichen CR 0x0D (carriage return). Teil der ZeilenendeSequenz CRLF in DOS/Windows und auch in Mac 9 und frher. Sptere MacOS benutzen \n. \R Irgend ein Zeilenendezeichen. \t Steuerzeichen TAB 0x09 (tab, or hard tab, horizontal tab). \C<character> Das Steuerzeichen, das durch Isolierung der 6 niederwerugen Bit entsteht. Beispielsweise stehen \C1, \CA and \Ca fr das Steuerzeichen SOH 0x01. Zeichenklasse [...] Deniert eine Zeichenklasse. Beispielsweise bedeutet [abc] irgendeines der Zeichen a, b oder c. Man kann mit einem Bindestrich auch ganze Bereiche denieren, zum Beispiel [az] fr irgendeinen Kleinbuchstaben. Man kann auch die Soruerreihenfolge in diesem Rahmen ver wenden, wie [[.ch.][.ll.]] [^...] Komplemenuert die Zeichenklasse, meint daher alle Zeichen, die in der Zeichenklassendeniuon nicht enthalten sind. Beispielsweise bedeutet [^AZaz] jedes Zeichen auerhalb der Alpha Zeichen. Vorsicht diese diesen Komplementr Zeichenklassen, denn sie nden Zeichen immer auch ber Zeilengrenzen hinweg. Will man das verhindern, muss man die Zeilenendezeichen in die Zeichenklasse aufnahmen. Beispiel: [^ABC\r\n]. Vordefinierte Zeichenklassen [[:alnum:]] ASCIIZeichen und Zahlen [[:alpha:]] ASCIIZeichen [[:blank:]] Zwischenraum aber kein Zeilenende [[:cntrl:]] Steuerzeichen [[:d:]] [[:digit:]] Dezimalzahl [[:graph:]] Grakzeichen [[:l:]] [[:lower:]] Kleinbuchstabe [[:print:]] Druckbares Zeichen [[:punct:]] Sonderzeichen: , " ' ? ! ; : # $ % & ( ) * + / < > = @ [ ] \ ^ _ { } | ~ [[:s:]] [[:space:]] Zwischenraum [[:u:]] [[:upper:]] Grobuchstabe [[:unicode:]] Irgendein Zeichen mit einem Kodewert ber 255 [[:w:]] [[:word:]] Wortzeichen [[:xdigit:]] HexadezimalZeichen [[:\pshort name:]] [[\p{name}:]] Idenusch mit [[:name:]]. Beispielsweise stehen \pd und \p{digit} fr eine Zier \d. [[:Pshort name:]] [[:\P{name}:]] Idenusch mit [^[:name:]] (gehrt nicht zu der Zeichenklasse). \d Zier 09 range, entspricht [[:digit:]]. \D Keine Zier, entspricht [^[:digit]]. \l Kleinbuchstabe, entspricht [az] oder [[:lower:]]. Wenn die Opuon "Match case" ausgeschaltet ist, entspricht das einem Wortzeichen \w \L Kein Kleinbuchstabe \u Grobuchstabe, entspricht [[:upper:]]. \U Kein Grobuchstabe \w Wortzeichen. Entweder ein Buchstabe, eine Zahl oder ein Unterstrich. Entspricht [[:word:]]. \W Kein Wortzeichen. Entspricht [[:alnum:]] mit der Ergnzung des Unterstrichs. \s Abstandzeichen; enthlt SP, TAB und EOL. Entspricht [[:space:]]. \S Kein Abstandzeichen. \h Horizontales Abstandzeichen. Enthlt SP, TAB und LF. \H Kein Horizontales Abstandzeichen \v Verukales Abstandzeichen. Enthlt die Steuer zeichen VT, FF und CR = 0x0B (verucal tab), 0x0D (carriage return) und 0x0C (form feed). \V Kein Verukales Abstandzeichen. [[=primary key=]] Alle Zeichen, die sich von primary key durch die Schreibweise (gro/klein), den Akzent oder eine hnliche Variauon unterscheiden. Beispiel: [[=a=]] ndet irgendeines der Zeichen: a, , , , , , , A, , , , , and . Vervielfachende Operatoren + Findet eines oder mehrere des vorigen Zeichens, so viele wie mglich. Beispiel: Sa+m ndet Sam, Saam, Saaam. [aeiou]+ ndet aufeinander folgende Selbstlaute. * Findet kein oder mehrere des vorigen Zeichens, so viele wie mglich. Beispiel: Sa*m ndet Sm, Sam, Saam ? Findet keines oder eines des vorigen Zeichens. Beispiel: Sa?m ndet Sm and Sam, aber nicht Saam. +? Findet eines oder mehrere des vorigen Zeichens, aber so wenig wie mglich. Beispiel: Sa+?m ndet Sam, Saam, Saaam. [aeiou]+ ndet aufeinander folgende Selbstlaute. *? Findet kein oder mehrere des vorigen Zeichens, so wenig wie mglich. Beispiel: m.*?o ndet im Text marginbouom: 0; marginbo, whrend m.*o ndet margin bouo. {n} Findet n Elemente. {n,} Findet n oder mehr Elemente, so viele wie mglich. {n,}? Findet n oder mehr Elemente, so wenig wie mglich. {m,n} Findet m bis n Elemente, so viele wie mglich. {m,n}? Findet m bis n Elemente, so wenig wie mglich. Anker ^ Findet den Zeilenbeginn (auer innerhalb einer Zeichenklasse []. $ Findet das Zeilenende. \< Findet einen Wortanfang. \> Findet ein Wortende. \b Findet entweder Wortanfang oder Wortende. \B Findet weder Wortanfang noch Wortende. \A \' Der Beginn des Suchstrings. \z \` Das Ende des Suchstrings. Gruppen (.) Klammern markieren eine Gruppe, einen Teil des Suchbegris. Der so markierte Teilstring kann bei Ersetzungsvorgngen als Variable verwendet werden. Gruppen knnen verschach telt werden. (?<some name>.) (?'some name'.) (?(some name) .) Benennung von Gruppen. \gn \g{n} Die nte Gruppe (d.h. eingeklammerte Gruppe). Die zweite Form hat Vorteile, weil n auch grer als 9 werden kann. Wenn n' negauve ist, warden die Gruppen nach rckwrts gezhlt, sodass \g2 die vorletze gefundene Gruppe ist. \g{something} \k<something> Findet die mit something benannte Gruppe. \1 \2... Ersetzung: \1 ndet die ersten angegeben Gruppe. Beispiel: ([Cc][Aa][Ss][Ee]) ndet alle denkbaren Schreibweisen von Case. Ein RegexAusdruck kann mehrere Untergruppen \2, \3 usw. haben. Verbesserung der Lesbarkeit (:.) Eine Gruppierung, zur Erleichterung der Lesbar keit. (?#...) Kommentar. Comments. Eventuell gemeinsam mit dem xModizierer ein guter Ansatz zur Erleichterung der Lesbarkeit. nderungen der Suchregeln \Q Behandelt Zeichen wrtlich bis zum Aureten von \E \E Beendet die wrtliche Betriebsart. Beispiel: "\Q\*+\Ea+" ndet "\*+aaaa". (?:flags-not-flags ...) (?:flags-not- flags:...) Deniert Bedingungen (setzt oder lscht Flags) fr eine Suche: i schreibweisenunabhgnig (default: o) m ^ und $ nden eingebeuete Zeilenunbrche. s Punkt ndet Zeilenumbruch. x ignoriert Spaces sofern sie nicht mit Backslash eingeleitet werden (default: o) Alternierungskonstrukte | Findet einen von mehreren opuonalen Suchbe grien. Beispiel: eins|zwei|drei ndet entweder "eins", "zwei" oder "drei". Der Vergleich ndet von links nach rechts stau. Mit (?:) kann auch ein leerer String als Alternauve angegeben werden. \K Lscht den bereits gefundenen Text exakt an diesem Punkt. Beispiel: Suche nach Apfel\Kbaum ndet zwar Apfelbaum schrnkt aber das Gesuchte auf baum ein. Ersetzungen \a,\e,\f,\n,\r,\t,\v Setzt das entsprechende Steuerzeichen ein, also BEL, ESC, FF, LF, CR, TAB und VT. \Ccharacter" \xnn \x{nnnn} Das Steuerzeichen, das durch Isolierung der 6 niederwerugen Bit entsteht, wird eingefgt. Beispielsweise stehen \C1, \CA and \Ca fr das Steuerzeichen SOH 0x01. nnnn erfordert Unicode Kodierung. \l Nchstes Zeichen als Kleinbuchstaben ausge ben. \L Alle nchsten Zeichen werden bis zum Aureten eines \E als Kleinbuchstaben ausgeben. \u Nchstes Zeichen als Grobuchstaben ausge ben. \U Alle nchsten Zeichen werden bis zum Aureten eines \E als Grobuchstaben ausgeben. \E Beendet die erzwungene Schreibeweise, die durch \L oder \U eingeleitet wurden. $& $MATCH ${^MATCH} Der gesamte gefundene Text. $` $PREMATCH ${^PREMATCH} Der Text zwischen der vorigen und der aktuellen bereinsummung oder . wenn es die erste bereinsummung ist, der Text vor der berein summung. $" $POSTMATCH ${$POSTMATCH} Der Text nach der aktuellen bereinsummung. $LAST_SUBMATCH_RESULT $^N Der Text, mit der der letzte Suchbegri berein gesummt hat. $+ $LAST_PAREN_MATCH Der Text, mit der der letzte Suchbegri im Suchmuster bereingesummt hat. $$ Das Dollarzeichen wird zurckgegeben. $n ${n} \n Der Text, der mit dem nten Suchbegri bereingesummt hat.. $+{name} Der Text, der mit dem mit name benannten Suchbegri bereingesummt hat.. Download Webversion http://d.pcnews.at/ins/ pcn/139/002500/ RegularExpressions.docx
PCNEWS139 Juni 2014 26 C L U B D E V . N E T
PowerShell Kurz-Referenz Franz Fiala Argumente Die Argumente zu einer Funkuon sind in der $args Variablen. Man kann auf diese Argumente in einer hnlichen Schleife durchlaufen wie diese: foreach ($i in $args) {$i} Der Zugri auf jedes einzelne Argument erfolgt ber den Index, beginnend bei 0. $args[0] Das letzte Element wir ber den Index 1 zugegrien. $args[-1] Bunter Text Um eine Textausgabe bunt zu gestalten, kann man die Vordergrundfar be im Kommando Write-Host ndern. Write-Host "test" -foregroundcolor "green" Write-Host "test" -backgroundcolor "red" Zeilenumbruch Das Zeichen `n bewirkt einen Zeilenumbruch. Write-Host "Zeile 1.`nZeile 2." Inverse Schri Das Kommando Write-Warning schreibt eine Nachricht invers. Write-Warning "Es ist ein Fehler aufgetreten." Kommentare Eine Raute am Beginn eines Textes ist ein Kommentar. # Das ist ein Kommentar und wird nicht ausgefhrt. Texteingabe von der Konsole Fr das Einlesen von Benutzereingaben wird Read-Host verwendet. $a = Read-Host "Bitte einen Namen eingeben" Umfalten einer Skriptzeile Mit dem Backuck kann man eine Zeile in der nchsten Zeile fortset zen. Write-Host ` "Das ist eine Fortsetzung der Zeile" Auch beim Verkeuungsoperator kann eine Zeile umgebrochen werden (sofern das Kommando eine Verkeuung verwendet). Get-ChildItem C:\Scripts | Sort-Object Length Descending Mehrere Kommandos in einer Zeile Mehrere Kommandos in einer Zeile trennt man mit einem Strichpunkt. $a = 1,2,3,4,5; $b = $a[2]; Write-Host $b Vergleiche Kommandos, die Vergleiche enthalten (z.B. Where-Object) benutzen besondere Vergleichoperatoren, die mit einem Bindestrich eingeleitet werden. Ein c unmiuelbar nach dem Bindestrich macht den Vergleich von der Schreibweise (groklein) abhngig. Beispielsweise ist ceq die gro kleinVariante von eq. lt kleiner als (less than) le kleiner oder gleich (less than or equal to) gt grer als (greater than) ge grer oder gleich (greater than or equal to) eq gleich (equal to) ne ungleich (not equal to) like wie (like), erlaubt Wildcards notlike nicht wie (not like), erlaubt Wildcards Lesen einer Textdatei Das Kommando Get-Content liest den Text aus einer Datei in eine Variable. $a = Get-Content C:\Scripts\Test.txt Jede Zeile ist ein Element im Array $a. Jede Zeile kann ber einen Index erreicht werden. Erste Zeile im Array $a: $a[0] Letzte Zeile im Array $a $a[-1] Die Anzahl der Zeilen, Wrter und Zeichen in einer Textdatei besum men. Get-Content c:\scripts\test.txt | Measure-Object -line -word -character
Schreiben einer Textdatei Um eine Variable in eine Textdatei zu schreiben, benutzt man das Out- FileKommando. Get-Process | Out-File C:\Scripts\Test.txt Um einen Text an eine bestehende Datei anzuhngen, muss der Parameter append verwendet werden. Get-Process | Out-File C:\Test.txt append Man kann auch die aus DOS bekannten Parameter zur Umlenkung verwenden (> schreiben, >> anhngen). Get-Process > C:\Scripts\Test.txt Eine andere Opuon erlaubt die Speicherung als CSVDatei (Comma Separated Value). Get-Process | Export-CSV C:\Test.csv Ausdruck Die Ausgabe an den Drucker erfolgt mit dem Kommando Out- Printer: Get-Process | Out-Printer Bedingte Anweisungen Eine if Anweisung schaut etwa so aus: $a = "wei" if ($a -eq "red") {" Die Farbe ist rot."} elseif ($a -eq "wei") {" Die Farbe ist wei."} else {" Die Farbe ist blau."} Mit switch vereinfacht sich eine Mehrfachentscheidung: $a = 2 switch ($a) { 1 {"Die Farbe ist rot."} 2 {"Die Farbe ist blau."} 3 {"Die Farbe ist grn."} 4 {"Die Farbe ist gelb."} default {"Es ist eine andere Farbe."} } For und For EachSchleifen Um Vorgnge zu wiederholen, benutzt man for oder foreach Schleifen. for ($a = 1; $a -le 10; $a++) {$a} foreach ($i in get-childitem c:\scripts) {$i.extension} DoLoopSchleifen Schleifen mit Abfrage am Ende: $a = 1 do {$a; $a++} while ($a -lt 10)
$a = 1 do {$a; $a++} until ($a gt 10) COMObjekt erzeugen Die folgenden Zeilen nen Excel und schalten es ein. $a = New-Object -comobject ` "Excel.Application" $a.Visible = $True .NETObjekt erzeugen Eine Instanz des DotNetObjekts system.Net.DNS erzeugen und die gewnschte Methode resolve aufrufen. [system.Net.DNS]::resolve("207.46.198.30") Eine ObjektReferenz eines DotNetFrameworkObjekts erzeugen. $a = new-object ` -type system.diagnostics.eventlog ` -argumentlist system Eigenschaen auswhlen Um mit besummten Eigenschaen einer Sammlung zu arbeiten oder diese anzuzeigen, leitet man das Objekt an das Kommando Select- Object weiter: Get-Process | Select-Object Name, Company Daten sorueren Sorueren nach der Eigenscha ID: Get-Process | Sort-Object ID nderung der Soruerrichtung Get-Process | Sort-Object ID descending Nach mehreren Eigenschaen sorueren Get-Process | Sort-Object ProcessName, ID WMI Ein WMIObjekt nen, um Informauonen ber den Computer zu bekommen Get-WMIObject Win32_BIOS Wenn die gewnschte Klasse nicht im Namensraum cimv2 ist, muss der Parameter -namespace verwendet werden: Get-WMIObject SystemRestore ` -namespace root\default Wenn es sich um einen anderen Computer handelt, muss der Parame ter computername verwendet werden: Get-WMIObject Win32_BIOS ` computername atl-ws-01 Mit dem Parameter -query kann die Ausgabe eingeschrnkt werden. Get-WMIObject -query ` "Select * From Win32_Service ` Where State = 'Stopped'"
Acuve Directory Um das Programm an einen Acuve Directory Account zu binden, muss der LDAPProvder benutzt werden. $a = [adsi] "LDAP://cn=kenmyer, ` ou=Finance, dc=fabrikam, dc=com" Alle Objekte in einer OU aufzulisten, ist etwas komplizierter. Man bindet das Programm an die OU und benutzt dann die Methode PSBase_GetChildren(). $objOU = [ADSI]` "LDAP://ou=Finance,dc=fabrikam,dc=com" $users = $objOU.PSBase.Get_Children() $users | Select-Object displayName Lokale User Um das Programm an einen lokalen User zu binden, benutzt man den WinNT provider: $a = [adsi] "WinNT://atl-ws-01/kenmyer" $a.FullName Hilfe Fr jedes Kommando kann man mit Get-Help und dem Parameter full eine ausfhrliche Informauon erhalten. Get-Help Get-Process full Anzeige von Beispielen Get-Help Get-Process examples Alle Kommandos erfhrt man mit Get-Command. Get-Command Alle AliasNamen erfhrt man mit dem Kommendo Get-Alias: Get-Alias SicherheitsEinstellungen Um Skripts aus der PowerShell ausfhren zu knnen, mssen die Sicherheitseinstellungen gendert werden, weil PowerShell in der Anfangseinstellung nur signierte Skripts ausfhrt. Um auch lokal verfasste Skripts ausfhren zu knnen, die signiert oder auch unsig niert sein knnen, benutzt man folgendes Kommando: Set-ExecutionPolicy RemoteSigned Objekt untersuchen Um Informauonen ber ein Objekt zu erhalten, legt man zuerst eine Instanz des Objekts an und leitet das Objekt an das Kommando Get Member weiter. Beispielsweise erhlt man mit dem folgenden Kommando alle Eigenschaen und Methoden der aktuellen Ar beitsumgebung. Get-Process | Get-Member Konsolenfenster lschen Um den Inhalt des Kommandofensters zu lschen, benutzt man das Kommando ClearHost oder dessen Alias cls. Copy & Paste Mit WindowsX> PowerShell nen. Das Eigenschasfenster durch einen Mausklick auf das Symbol links oben nen. In der DialogBox Opons den QuickEdit Mode auswhlen und auf OK klicken. Um einen Text zu kopieren, diesen Im Konsolenfenster markieren und auf Enter klicken. Um einen Text in der Zwischenablage einzufgen, auf die rechte Maustaste klicken. Skript ausfhren Um ein Skript auszufhren, gibt man den vollen Pfad ein: C:\Scripts\Test.ps1 Wenn der Pfad Spaces enthlt, muss die Zeile mit Anfhrungszeichen eingeschlossen werden. &"C:\Scripts\My Scripts\test.ps1" Von auerhalb der Windows PowerShell, etwa aus einer DisolgBox cmd.exe, ru man PowerShell auf und bergibt den Pfad als Parame ter: powershell.exe noexit C:\Scripts\Test.ps1 Mit dem Parameter noexit wird sichergestellt, dass das Fenster auch nach Ausfhrung des Skripts oen bleibt. Mehr Informauonen hp://technet.microso.com/enus/scriptcenter/dd742419.aspx. hp://technet.microso.com/dede/library/cc196356.aspx Windows PowerShell Language Specicauon hp://www.microso.com/enus/download/details.aspx?id=36389 Dieses Dokument steht auch als WordDatei in einer etwas lngeren Variante bei der WebVersion dieses Arukels zur Verfgung. Download Webversion http://d.pcnews.at/ins/pcn/139/002600/ PowerShell Kurz.docx
27 Juni 2014 PCNEWS139 C L U B M O B I L E . A T
Jetzt entsteht natrlich jede Menge Erklrungs bedarf. Schon wieder ein One? Vor einem Jahr wurde man noch zum Unterschied zwischen One X, One X+ und One belehrt und jetzt das zur vlligen Verwirrung. Das ist leider nicht unrich ug. Darum wird man zwecks Dierenzierung das aktuellste Flaggschi von HTC meist mit dem Zusatz 2014 oder M8 nden. Das Krzel M8 ist eigentlich nur eine fortlaufende Modellbezeich nung, so trug der Vorgnger den internen Code namen M7. Doch was ist neu? Ist es einfach nur wieder etwas grer und schneller, werden sich viele fragen. Nun zumindest laut HTC wurden ber 100 Verbesserungen durchgefhrt. Mit Sieges pltzen in der Vergangenheit, kann das wohl nur erneute Spitzenplatzierungen bringen. Und noch etwas hat HTC spitzenmig gemacht: Es wurde am 28.Mrz vorgestellt und am gleichen Tag begann der Verkauf, ab 4.April war es fast berall verfgbar. Andere Hersteller zeigen ihre Modelle im Februar beim Mobile World Con gress in Barcelona her und dann darf der End kunde frustrierende Monate lang warten, bis er es im Laden kaufen kann. Hlle HTC bleibt seiner DesignLinie treu (zum Glck) und gibt seinem Flaggschi wieder einen Alumi niumUnibody. Obwohl aus einem Stck heraus gefrst, gibt es keine unangenehme Kante. Schner kann man Metall fr die Hand gar nicht formen. Trotz AluminiumUnibody gibt es kei nerlei Empfangsprobleme und auch durchge fhrte Tests ergeben tadellose Empfangsstrken und bertragungsgeschwindigkeiten, da HTC die Antennen nach auen in Kunststostreifen gelegt hat. Das Gehuse ist zwar nicht wasser dicht, aber Schutzklasse IPX3 (temporres Spritzwasser) geht sich aus. Zur Auswahl stehen die Farben Grau mit gebrsteter Oberche (Gunmetal Gray) und die als glau gehaltenen Ausfhrungen Silber (Glacial Silver) und Gold (Amber Gold). Bei der Gelegenheit sei erwhnt, dass HTC neuerweise auch eine Schutzhlle mitliefert. Das ist jedoch noch nicht das in Krze erhltli che HTC Dot View Cover (Bild 1). Front Der Front bleibt im Wesentlichen das 5 Display, welches nach wie vor in FullHD aust und keine Wnsche oen lsst, ja sogar ganz nebenbei einen neue Rekord in Sachen Reaku onszeit aufstellt. In einem Test wurden lediglich 46ms (Millisekunden) Latenz gemessen. Zur Erklrung: unter 50ms ist ungefhr gleichbedeu tend mit scheinbar unantastbaren unter 9,5s beim 100mSprint. Selbst das ReunaDisplay des iPhone 5, tummelt bei 75ms herum (Bild 2). Der mit Gorilla Glas geschtzte Touchscreen lsst sich zudem brigens auch problemlos mit Hand schuhen bedienen! Und dann sind da noch die StereoLautsprecher (mit BenachrichugungsLED im oberen Schutz giuer), die dem One sowieso das wahre Allein stellungsmerkmal verleihen. Sound Kein Smartphone kann hier dem One nur ann hernd das Wasser reichen. Der so genannte BoomSound wird auch ohne BeatsAudioLogo seinem Namen gerecht. Laut HTC blasen noch mal 25% mehr Volumen aus den Stereolautspre chern, meine Vergleichsmessung ergaben (mit +6db) sogar 1,5x mehr Lautstrke als beim Vor gnger, bei nicht schwchelnder Qualitt zu sammen mit dem absolut brillanten Bildschirm hat man mehr oder weniger das Kinoerlebnis immer mit dabei. Wenn der Hersteller auch andere Eigenschaen hervorgehoben haben will, dies ist die unangefochtene Strke des One. Kameras Obwohl die Ultrapixelkamera mit ihren 4 MP quasi die alte blieb, macht das One M8 nun trotzdem wesentlich bessere Bilder als der Vor gnger. Man kann behaupten, HTC hat bei der Kamera bei der Ausung gespart, bei der restli chen Ausstauung aber kann man von einem wahren Erguss sprechen. Wobei von den vielen Features, wahrscheinlich fr den ambiuonierten Hobbyknipser, eventuell der manuelle Modus das Highlight ist. Fr Smartphones unblich, ist hier bei allem Denkbaren die Automauk zu de akuvieren und manuell zu steuern. Sogar Ver schlusszeiten und Focus sind einstellbar. Und das nicht einmal kompliziert. Die Bedienung hierzu kann uneingeschrnkt als durchdacht bezeichnet werden (Bild 3). Die am strksten beworbene Neuheit, war die zweite (eigentlich driue) Kamera. Neben der Hauptkamera auf der Rckseite ist nun also noch eine weitere platziert. Mit rund 2 MP sam melt sie bers geschossene Bild verteilt die Enuernungen, weshalb sie des eren auch als Tiefensensor bezeichnet wird. Mit diesen Infor mauonen kann der Nutzer im Nachhinein den Das neue HTC One (M8) Andreas Prochazka Bild 1: Dot View Cover Bild 2: DisplayLatenz Bild 3: Manueller Modus
28 PCNEWS139 Juni 2014 C L U B M O B I L E . A T
Fokus auf ein beliebiges Objekt setzen und die Soware schr alles in dieser Ebene, der Rest wird unscharf (Bild 4). Dieser neue Gag wird dann Ufocus genannt und gibt den Fotografen ein Werkzeug in die Hand, Akzente seinen Vor stellungen gem zu setzen. Die Realisierung ist jedoch noch etwas verbesserungswrdig. So sind die Grenzen teilweise nicht exakt genug und der UnschrfeEekt ist eher zu stark, je doch nicht jusuerbar. Je nach Mouv liefern aber anhand der 3D Informauonen die sogenannten Verfremdungs eekte (Skizze, Zoom, Cartoon, Frben) eben falls nicht zu verachtende Ergebnisse (Bild 5). So kann das gewnschte Objekte durch Auswhlen hervorgehoben werden, indem es in Farbe bleibt und der Rest (blicherweise der Hinter grund) wird z.B. schwarzwei oder skizziert dargestellt. Weiterst amsant, mehr aber auch nicht, ist ferner der verfgbare 3DEekt durch Kippen des Telefons. Einziger Wermutstropfen ist, dass diese Technik mit dem opuschen Bild stabilisator ber Kreuz gekommen ist und dieser deshalb kurzerhand weggelassen wurde. Ein DualFarbBlitz sorgt nicht nur fr ausrei chendes Zusatzlicht, sondern auch fr wrmere Farben, was vor allem Portrts zu Gute kommen soll und die zuletzt bereits integrierte Funkuon namens Zoe ist der Kamera selbstverstndlich auch erhalten geblieben (siehe PCNEWS 135, Seite 8). Ansonsten ist noch die rekordverdchuge kurze Auslsezeit zu erwhnen und gemessene 16 Bilder pro Sekunde in der Serienaufnahme sind ebenfalls aussagekrig genug. Die Frontkamera motzt HTC auf 5MP auf und erreicht damit die absurde Situauon, dass diese nun mehr Ausung, als die eigentliche Haupt kamera hat und somit ist sie auch die derzeit beste Frontkamera am Markt. Mit ihrem Weit winkel macht sie nicht nur gute Selbstaufnah men im DualModus knipst man hinten und vorne gleichzeiug die Posiuon des Frontkame rabildes schiebt man im Hauptkamerabild ein fach hin wo man will. Leistung Als Herz dient der Vierkernprozessor Snapdra gon 801 von Qualcomm, den HTC hierzulande mit 2,3 GHz arbeiten lsst. Im HighPerformance Mode, der letztlich auch unter Entwicklerein stellungen akuviert werden kann, erreichte das One fr die Konkurrenz unangenehm gute BenchmarkWerte (Bild 6), bis sich herausge stellte, dass das Gert Testprogramme erkennt und die Drossel voll aufmachte. Man kann das als Schummelei bezeichnen oder aber auch als sehr clever. Dass HTC beim Managen von Per formance und Energie seine Hausaufgaben ge macht hat, zeigt die Praxis. Das One lu in jeder Situauon immer wie geschmiert und trotz dem kommt es mit dem nicht berdimensio nierten 2600mAhAkku bei halbwegs typischem SmartphoneGebrauch rund eineinhalb bis zwei einhalb Tage aus. Traumwerte, wenn man be denkt, welch heies Eisen man in Hnden hlt. Auch laut diversen Tests liegt die Laufzeit des neuen HTC Flaggschies derzeit ganz vorne im Vergleich (Bild 7). HardcoreNutzer knnen gerne sogar den extremen Sparmodus einstel len und so zwei Wochen ohne Stromquelle auf Expediuon gehen, sofern sie dann auf Mulume dia und Spiel verzichten knnen. Wenn es dann endlich wirklich Zeit wird, eine Steckdose aufzusuchen, gibt es auch hier Posiu ves zu vermerken. Das neue One wird mit einem 1,5ALadegert ausgeliefert. Gute Kopfrechner knnen es bereits erahnen: somit ist eine Vollla dung in nur 1 3/4 Stunden mglich. Angeblich wird es in Laufe des Jahres noch eine Verbesse rung um 10 Minuten miuels eines 1,67 A Netzteils geben. Ob dies noch Sinn macht, mge jeder fr sich entscheiden, wenn es dann soweit ist. Bedienung HTC Sense, so der Name des UI (User Interface) des Herstellers, ist bei der Version 6.0 angelangt und die wesentlichste Neuerung ist sicher Launch Motion. Mit dieser entgegenkommen den Verbesserung ist es nicht mehr notwendig, den Hauptschalter zum Aufwecken des Telefons aufzusuchen, auch wenn dieser gut greimar ist und eine knackigen Druckpunkt aufweist. Stau dessen nimmt man es in die Hand und uppt zum Beispiel zwei Mal auf das Display um es Aufzu wecken oder man wischt gleich einfach nach oben um es zu Entsperren. Eventuell eingestell te Sicherheitsabfragen (wie PIN, Passwort, Mus ter oder Gesichtserkennung) bleiben natrlich dennoch aufrecht und selbstverstndlich lassen sich auf Wunsch diese Launch Mouon Gesten auch deakuvieren. Auch ein Kameraschnellstart wurde organisiert. Einfach das Handy in querformaug (Landscape) in die Hand nehmen und die Lautstrkentaste drcken. Schon startet das One zur Kamera durch und ist aufnahmebereit. Schneller geht es derzeit nicht (Bild 8). HTC verabschiedete sich jedoch von den unte ren Hardwaretasten fr Home und Zurck. Jene sind dann im Screen eingeblendet, dafr praku scherweise zustzlich wieder mit der Taste Letzte Apps. Diese nderung sorgte anfangs fr Emp rung, ist aber in der Praxis kaum der Rede wert. Am Homescreen sind die Tasten transparent eingeblendet und stren nicht, lediglich bei der Kamera muss man sie mit einen Tipp wieder herholen und in den anderen Apps sind sie im mer verfgbar. Mangels Sensortasten am unte ren Rand ergibt sich sogar der Vorteil, dass man nun das Phone halbwegs problemlos weiterrei chen kann, ohne versehentlich die gewnschte Anzeige zu verlassen. Verbessert wurde das bereits bekannte Blink feed, welches News und Social Network auf einen Bildschirm zusammenzieht. Blinkfeed hat mehr Anhnger als man glauben sollte, so wird es sogar bald in Google Playstore verfgbar sein. Sonsges Ansonsten ist alles an Bord was man braucht (oder auch nicht): Bewegungssensor, Licht sensor, Annherungssensor und sogar Barome ter, ebenso AGPS inklusive GLONASS und Kom pass. Schon seltener geworden und auch noch vorhanden ist ein UKWRadio und in IRSender (Infrarot). Letzteren spricht man ber HTC Sense TV an. Das ist eine gelungen Kombinauon aus EPG (Electronic Program Guide, also Elektronischer Programmfhrer) und Fernbedienung. Sense TV kennt nahezu alle Gerte, sogar die UPC Media box und sollten alle Stricke reien ist sie lernf hig und kann sogar als Fernauslser fr eine Spiegelreexkamera dienen. WLAN 802.11a/b/g/n/ac (2.4 & 5 GHz, Miracast, DLNA), NFC und Bluetooth sind heutzutage selbstverstndlich, genauso wie das nen und Bearbeiten von OceDokumenten. Ungewhn licher ist da eher Fitbit, eine Art Akuvittstra cker mit dem das neue One nun auch kooperie ren kann. Fazit Das One M8 ist vermutlich das wohlgeformteste Stck Metall auf Erden mit dem man telefonie ren kann und das noch dazu sehr lange und sehr gut. Wenn man den schnellsten Bildschirm, die schnellste Kamera, die beste Akkulaufzeit, den besten Sound oder einfach das schnste Design sucht, kommt man am neuen HTC One nicht vorbei. Bild 4: UFocus Bild 5: Verfremdungseekte Bild 6 Bild 7 Bild 8
Juni 2014 PCNEWS139 29 C L U B C O M P U T E R . A T
Lena Doppel Lena Doppel ist Digital Strategist bei catx exhibiuons & media und Fonda Interacuve. Von 20062012 war sie Univ.Ass. fr Medientechnologien an der Univer sitt fr angewandte Kunst Wien. Sie spricht, bert, coacht und schult in den Bereichen Webdesign, OnlineMarkeung & Digitale Strategie und Social Media Redakuonsarbeit. Mag. Hubert A. Eisl, MBA Technische Geschsfhrung der ELGA GmbH. GF der ELGA GmbH, Mitglied des Vorstandes von IHE Austria; davor bei Unternehmensberatung Accenture (19982004) und ITSV GmbH (ab 2005) tug: Be reichsleiter (20052007 ProgrammManagement und Backoce, ab 2008 Kundenbeziehungs und ProgrammManagement); in der ITSV GmbH u. a. fr die Realisierung des zentralen Pauentenindex, einer Kernkomponente der elektronischen Gesundheitsak te, verantwortlich; Vortragstugkeit Mag. Thomas Geldmacher Kulturpoliuscher Referent im Grnen Parlaments klub. Arbeitsbereiche: Kultur, Kunst; Ausschussbe treuung: Kunstausschuss, Kulturausschuss, Volksan waltschasausschuss; Kontakt bzw. Ansprechpart ner fr Kultur und Kunstangelegenheiten DI Roland Giersig Geschsfhrer und Inhaber von SafeSec e.U. Pro fessioneller iTpfelreiter und Besserwisser. Sicher heitsexperte. OpenSourceEntwickler. Physiker. Jus Student. Fan der direkten Demokraue. Mag. Marna Grom (MVP) Geschsfhrerin atwork Informauon Technology GmbH. Maruna Grom wurde als erste Frau im deutschsprachigen Raum Anfang 2011 von Microso mit dem Most Valuable Professional Award (MVP) fr ihre Experuse rund um Microso Online Services ausgezeichnet und ist damit weltweit eine von weni gen (anfangs acht) ausgezeichneten MVPs fr Oce 365!. Chrisan Haberl Chrisuan ist im Hauptberuf Geschfhrer der Firma HUMANBRAND, die sich mit Markeung in Sozialen Netzwerken beschigt. Er ist Spezialist bei Micro so Technologien, fotograebegeistert und seit 2006 mit ClubComputer verbunden. Ing. Werner Illsinger Prsident ClubComputer. Werner ist in seinem Hauptberuf als Global Business Manager fr den Vertrieb von Microso Produkten an einen der gr ten Kunden von Microso weltweit verantwortlich. In diesem Panel bringt er die Sicht von ClubCompu ter und den Diskussionen unter unseren Mitgliedern ein. Wir sehen uns als Vertreter der Anwender von digitalen Medien Erwin Kaminek Gelernter Radio und Fernsehtechniker, 30 Jahre selbstndig in der Computerkabelkonfekuonierung, 18 Jahre Organisator einer Tourismusplamorm, Buchautor und Herausgeber beim LexisNexis Verlag "Handbuch zur Gstezimmervermietung". Auszeich nungen: 1999 von Microso und der Zeitschri Ge winn fr die Homepagegestaltung www.apartment.at, 1998 Glserner Schuh in Wien, 1999 vom Wirtschasministerium Familien und frauenfreundlichster Betrieb sterreichs. Hobby: Pressereferent beim Wiener Blasmusikverband. Mag. Andreas Krisch Prsident EDRI, Obmann VIBE!AT, Obmann AKVorrat, Geschsfhrer mksult GmbH. Andreas ist Wirt schasinformauker und im Brotberuf Datenschtzer. Seit mehr als zehn Jahren arbeitet er zu Fragen des Datenschutzes in Zusammenhang mit RFID und dem Internet der Dinge. In sterreich bearbeitet er im Rahmen des Vereins fr InternetBenutzer ster reichs (VIBE!AT) eine Reihe netzpoliuscher Themen und setzt sich im Rahmen des AKVorrat sterreich gegen die Vorratsdatenspeicherung ein. Auf europi scher Ebene vertriu er European Digital Rights (EDRi) unter anderem in der Expertengruppe der Europi schen Kommission zum Internet der Dinge und koor diniert dort die Arbeit der Gruppe zum Themenbe reich Datenschutz. Dipl.Ing. Andi Kunar Jahrgang 1960, glcklich verheiratet, Informauk Techie / Marketer / Manager der zum Stressaus gleich seit 2004 als Hobby fotograert. Mit Hang zum TechnikPerfekuonismus und ausgeprgtem Spiel trieb (Spielsachen von Nikon, Visatec, Lastolite,...). Miulerweile ist aus dem Hobby eine Berufung ge worden und Andi ist Inhaber/Geschsfhrer einer IT Firma sowie Berufsfotograf. Dr. Joachim Losehand, M.A.W Spezialist zum Thema Urheberrecht. Wiss. Projektlei ter im Verband der Freien Radios sterreichs (VFR), Wien 2013 Ansprechpartner im Kontaktbro ster reich der Iniuauve Cultural Commons Collecung Society (C3S), Wien 2013; Koordinator Urheberrecht und Konsumentenschutz im Verein fr Internet Benutzer sterreichs (VIBE), Wien 2012; Project lead Science Commons bei creauve commons Austria, Wien 2013. Johannes Loeer Herr Ler ist knapp 35 Jahre in einem internauona len Musikverlag tug, davon 17 Jahre als Geschs fhrer und zustndig fr sterreich, Tschechische Republik, Slowakei, Ungarn, Polen und Russland. Thomas Lohninger Thomas Lohninger engagiert sich fr verschiedenste Netzpoliusche Plamormen. Unter anderem bei AK Vorrat, Netzkinder, Vibe. Besonders am Herzen liegen ihm die Themen der Netzneutralitt sowie die Wahrung der Privatsphre Mag. Erich Moechel Geboren 28. August 1957 in Linz. Mag. Phil in ameri kanischer, deutscher und englischer Literatur 1987 [Uni Wien]. Seit 1983 Medienkriuker und Kulturjour nalist fr den Falter, Radio OE1 sowie den Standard [1989 1996]. Bis 1998 New Media Manager beim Wirtschasblau, die journalisusche Tugkeit verlegte sich in dieser Zeit auf Invesugauvia und vollstndig ins Netz. Regelmige Arukel fr heise.de, quintes senz etc. zu technopoliuschen Themen, von 1999 2006 Ressortleiter des ITNachrichtenkanals future zone.ORF.at. Seit Ende 2006 Senior Reporter fr ORF.at, neue Homebase seit 2010 auf fm4.ORF.at. Regelmige Auriue als Experte in den Radio und TVKanlen des ORF. DI Herbert Paulis FH Campus Wien. Fachbereiche Angewandte Elektro nik, Tech. Mgmt, IT u. Telekommunikauon. Ewar ber 23 Jahre bei der Firma Siemens in der Telekom munikauon tug, davon 15 im Bereich der Telekom munikauonsberwachung und bin jetzt hauptbe ruich Lehrender an der FH Campus Wien DI Erich Pekar ClubComputer.at. Beruicher PCAnwender, Pensio nist "in spe" aus der Telekommunikauonsbranche; Johann Pngntzky Technischer Direktor bei Panasonic 1986 bis 2007. Pensioniert. DI Chrisan Schndorfer Chrisuan Schndorfer ist Lehrer fr Netzwerksicher heit an der HTL Wien 3 Rennweg. Er ist Cisco Academy Koordinator fr sterreich und CCAI fr CCNP Rouung und Security. Max Schrems Max Schrems ist ein sterreichischer Jurist, In sei nem Studium beschigte er sich vorwiegend mit IT Recht und Datenschutz. Im Jahr 2011 verentlichte er eine Monographie ber die rechtliche Lage der Videoberwachung in sterreich. Im Zuge eines Auslandssemesters an der Santa Clara University in Kalifornien traf er auf Vertreter von Facebook, was zur Grndung von europevfacebook.org fhrte. Mag. Albert Steinhauser Abgeordneter zum Nauonalrat, Jusuzsprecher, Die Grnen. Jahrgang 1971 Studium der Rechtswissen schaen Angestellter bei der Gewerkscha der Privatangestellten (2000 2007) seit 2007 Abgeord neter zum Nauonalrat und Jusuzsprecher der Gr nen. Thomas Sulak Geboren 1972 in Niedersterreich, lebt in der Nhe von Wien, ist verheiratet und Vater einer Tochter. Hauptberuich ist er IT Unternehmer, Vortragsred ner & Moderator, Wirtschastrainer & Mentalcoach Nimmt als Kabaremst die technologischen & poliu schen Entwicklungen aufs Korn, Musiker (Klavier, Gitarre, Bass und Drums), Schauspieler (Bhne Weit ra) sowie Privatpilot und Motorradrennfahrer. hup://www.thomassulak.at DI Georg Tsamis Event Organisauon. Vorstandsdirektor ClubCom puter.at Dr. Ulrike Wessely Allgemeinmedizinerin, Homopathie, Wahlrzun. 1979 promoviert, Studienaufenthalt in Mumbai, Seit 1987 in eigener Privatpraxis tug mit Schwerpunkt Homopathie, Diagnosuk und Therapie nach Dr. F.X. Mayr. Lukas Wurz Die Grnen / Arbeiterkammer Wien. Jahrgang 1964 ist Sozialreferent im Grnen Parlamentsklub, AUGE/ UG AKRat in Wien und Vertreter der AUGE/UG im Hauptverband der Sozialversicherungstrger. Paul Zasky Dubblestandart ist eine DubBand aus Wien, die seit 1988 um den Bandleader Paul Zasky besteht. Die Band ist fr ihre Live Sets, die sie als HiEnergy Dub oder 21st Century Dub bezeichnen, bekannt. Seit Miue der 1990er haben sie viele Konzerte in Europa, Kanada und den Vereinigten Staaten gespielt. Neben Ihrer Akuvitt als LiveBand oder BackingBand fr Lee Scratch Perry, Ariup, Dillinger oder Lilien Allen haben sie bisher elf Studioalben, eine Reihe von 12inch oder MaxiCDTontrgern sowie diverse Remixe fr Waldeck oder ElodieO verentlicht. Ihr bisher erfolgreichstes Album ist Return From Planet Dub, welches im Jahr 2009 erschienen ist und mit Lee Scratch Perry und Ariup produziert wurde.
PCNEWS139 Juni 2014 30 C L U B C O M P U T E R . A T
Gesellschaliche Auswirkungen Ist die Festplaenabgabe (Speichermedienabgabe) wirklich g'scheit? Kaum ein Thema erregt die Gemter seit einiger Zeit mehr als die Festplauenabgabe. Die Ver wertungsgesellschaen sehen sie als einzige Mglichkeit den Niedergang der Kreauven in sterreich zu verhindern und einen Tropfen auf den heien Stein um die Verluste der Leerkas seuenvergtung weuzumachen. Die Anwender sehen sie als Anschlag auf die Geldbrse die willkrlich ein Medium "besteuert", das in kei nem Zusammenhang mit tatschlichen Privatko pien steht. Es diskuueren Knstler, Konsumen ten, Verwertungsgesellschaen sowie Poliuker ber das Thema und Auswege aus dem Dilem ma. Moderaon Dr. Joachim Losehand, M.A.W Diskussionsteilnehmer Paul Zasky; Thomas Sulak; Dipl.Ing. Andi Kunar; Johannes Loeer; Mag. Thomas Geldmacher; Ing. Werner Illsinger Social Media aer the Hype Lena Doppel Was VDS, NSA, Social Media und das Digitale Biedermeier verndert haben. Gibt es in Zukun noch Gesche? Erwin Kaminek Geschslokale brauchen einen Unternehmer, aber Unternehmer brauchen immer weniger ein Geschslokal. Die Handelswelt hat sich bereits verndert UND sie wird sich noch weiter vern dern. In Zukun wird es kaum noch Handelsge sche in der derzeiugen Form geben. Der Onli ne Handel hat mitunter Vorteile gegenber Ladengeschen. Der Fachhandel wurde o dazu verwendet sich Beratung zu holen ge kau wurde dann online, oder beim Diskounter. Geschschen sind nicht nur in gut frequen uerten Lagen sehr teuer, ebenso haben die Lohnnebenkosten ein Niveau erreicht, welche sich nur mehr wenige Unternehmer leisten knnen. Allerdings tragen die schlechten Lohn bedingungen bei den Logisukern (Ausbeutungen bei Paketdiensten lt. RTL Doku) wesentlich zum Florieren des Onlinehandels bei. Die Produkuon von Gerten ndet schon lang in Billiglohnln dern stau. Die gesamte Computerbranche aber auch andere Branchen produzieren nur noch in China. Welche Lsungen gibt es? DatenschutzRechtsdurchsetzung Mag. Andreas Krisch DatenschutzRechtsdurchsetzung. Was war, was ist, was wird? Civil Society Informaon Defense Mag. Erich Moechel Seit zwei Jahrzehnten wird die Kommunikauon der Zivilgesellscha von Militrgeheimdiensten systemausch angegrien. Wie man die eigene Kommunikauon durch eine Kombinauon einfa cher Methoden und Techniken gegen diese Angriswelle hrtet und so das berwachungs radar unteriegt. Netzneutralitt und die SaveTheInternet Kampagne Thomas Lohninger Netzneutralitt bezeichnet die wertneutrale Datenbertragung im Internet. Netzneutrale Internetdienstanbieter (englisch internet service provider) senden alle Datenpakete unverndert und in gleicher Qualitt von und an ihre Kun den, unabhngig davon, woher diese stammen, zu welchem Ziel sie transporuert werden sollen, was Inhalt der Pakete ist und welche Anwen dung die Pakete generiert hat hups:// unsernetz.at/netzneutralitaet/, hup:// www.savetheinternet.com/
Sicherheit & Datenschutz Grundlagen der Kryptographie (Verschlsselung) DI Herbert Paulis Verschlsselung funkuoniert im Grunde genom men relauv einfach. Auf einen lesbaren Klartext wird eine Rechenoperauon mit einem Schlssel angewendet und der Klartext wird in einen ver schlsselten Text (Cipher) umgewandelt. Diese Cipher kann nur gelesen werden, wenn man im Besitz des richugen Schlssels ist. Wie das ge nau funkuoniert und was man dabei beachten muss versucht dieser Vortrag zu klren. Europe versus Facebook Max Schrems Wie ein sterreichischer Student auszog um einen Riesen zur Einhaltung Europischer Da tenschutzgesetze zu bringen. EuGH Urteil zur Vorratsdatenspeicherung und die Auswirkungen auf sterreich Mag. Albert Steinhauser Der Schweizer Nauonalrat Balthasar Gluli hat einen Teil seiner Vorratsdaten aus 6 Monaten zur Verfgung gestellt und aus diesen wurde die folgende Visualisierung gebaut. Sie zeigt sehr schn, was ein Staat ber einen Brger wei, wenn die Vorratsdaten aufgezeichnet werden: Der Europische Gerichtshof hat nun entschie den, dass die Speicherung der Vorratsdaten nicht Grundrechtskonform ist. Nun ist wieder der sterreichische OGH am Zug der dies beim EuGH prfen lie. Panel: ELGA Die sterreichische elektronische Gesundheitsakte Segen oder Fluch? Moderaon DI Erich Pekar Diskussionsteilnehmer Mag. Hubert A. Eisl, MBA; DI Herbert Paulis; Lukas Wurz; Dr. Ulrike Wessely NFC Bequemes bezahlen, aber wo bleibt die Sicherheit? DI Roland Giersig Near Field Communicauons (NFC) wurde zuerst bei Kreditkarten, zuletzt bei den sterreichi schen Bankomatkarten eingefhrt. Damit ist das Bezahlen von Kleinbetrgen berhrungslos und ohne Eingabe eines PIN mglich. In dieser Sessi on mchten wir uns ansehen wie das funkuo niert und warum Bequemlichkeit und Sicherheit zwei entgegengesetzte Faktoren sind.
Technik Oce 365 Mag. Marna Grom (MVP) Warum Oce 365 sicherer sein kann, als ein Server vor Ort... Cloud Services sind in aller Munde. Sptestens seit Edward Snowden haben auch viele davor Angst Cloud Dienste zu nutzen, weil Sie unsicher sind. Maruna versucht in die sem Vortrag darauf einzugehen, warum ein Cloud Dienst wie Oce 365 sicherer sein kann als eigene Server im eigenen Rechenzentrum oder Serverraum. Windows & Oce: Tipps & Tricks Chrisan Haberl Windows und Oce: Tipps & Tricks vom Pro fr Pros Digitalfotograe DI Andi Kunar Prakuscher Fotograeworkshop fr ambiuonier te Hobbyfotografen. Jeder Teilnehmer muss seine Kamera und die Bedienungsanleitung dafr mitbringen. In der Kleingruppe wird dann gemeinsam mit einem Berufsfotografen prak usch gemeinsam etwas erarbeitet. Andi wird einige Dinge vorbereiten. Die Gruppe entschei det dann was genau gemacht wird. Powergrid Smartmeter: Realitt und Fikon DI Chrisan Schndorfer Marc Elsberg skizziert in seinem Roman Blackout Morgen ist es zu spt ein Angris szenario auf die ITSicherheit von Smartmetern. In diesem Vortrag wird der Frage nachgegan gen, ob ein deraruges Szenario realittsnahe ist und auch bei uns passieren knnte. Aus Sicht der ITSicherheit, aber auch aus der Perspekuve von Energiebetreibern soll das Thema beleuch tet und diskuuert werden; ein kurzer berblick ber einschlgige gesetzliche Normen rundet das Thema ab.
Juni 2014 PCNEWS139 31 C L U B C O M P U T E R . A T
Akon fr Vortragende DI Georg Tsamis Event Organisauon. Vorstandsdi rektor ClubComputer.at Jeder Vortragende bekommt bei Anmeldung zum Club auf Wunsch 12 Monate Mitgliedscha fr seine Vortragstugkeit graus. Bei Inte resse wenden Sie sich biue an Georg Tsamis. Georg wird auch vor Ort als Ansprechpartner fr unsere Vortragenden zur Verfgung ste hen. Mitgliederwerbeakon Jeder Teilnehmer der sich ent schliet auf unserem ccCamp Mit glied zu werden bekommt fr den Mitgliedsbeitrag von 39 EUR die Mitgliedscha bis Ende 2015. (1,5 Jahre Mitgliedscha zum Preis von einem Jahr). Domainakon Am ccCamp bieten wir unseren Mitgliedern exklusiv die Mglich keit an .at Domains im ersten Jahr graus zu registrieren. Wenn Sie gleich fr 2 Jahre registrieren, dann bieten wir 50% Rabau auf das zweite Jahr (Die Kosten fr 2 Jahre fr Clubmitglieder sind dann nur 9 EUR). Gegenber dem Normalpreis der sterreichischen Registrie rungsstelle NIC.at sparen Sie 81 EUR (siehe hup://www.nic.at/ preise). Passend dazu gibt es den graus Webspace fr Mitglieder der sich z.B. auch ausgezeichnet fr den Betrieb eines eigenen WordPress Blog eignet. Flohmarkt Johann Pngntzky Wir laden alle Teilnehmer des cc Camp'14 ein, entweder: Noch verwendbare elektronische Gerte oder Soware dem Club zu spenden und wir versuchen es am ccCamp unter den Mann/Frau zu bekommen. Was daraus eingenom men wird, wird fr die Finanzierung des ccCamp. Dabei sollte ein zu erzielender Mindestbetrag festge setzt werden. Wird das Teil nicht verkau, dann geht es wieder an den Besitzer zurck; wird es ver kau, dann bekommt der Besitzer des Teils den Mindestbetrag. Der Club erhlt den Dierenzbetrag zum tatschlich bezahlten Betrag. Die Organisauon bernimmt dan kenswerterweise Johann Pngntz ky. Wenn Ihr Teile fr den Floh markt spenden mchtet oder Teile am Flohmarkt verkaufen mchtet, setzt Euch biue mit Johann unter Flohmarkt@ClubComputer.at in Verbindung. KABARETT, IRONIE, SATIRE SULAK! Thomas Sulak Mit seinem authenuschen Vor tragssul, stets aktuellen und zeit geisugen Beispielen aus der wun dersamen Welt der IT und Tele kommunikauon begeistert Thomas Sulak sein Publikum. Weltweit er geben sich Millionen Smartphone Nutzer ihrem Schicksal nicht so Thomas Sulak Er sieht sich als empathischen bersetzer fr IT Fachsprache in verstndliche Wor te. Sogar komplizierte technische Ablufe und Zusammenhnge der Telekommunikauon stellt er ein fach und verstndlich dar. Spiele risch spannt er den Bogen zwi schen Technik und Netzpoliuk mit einer gehrigen Poruon Hu mor. Ein unterhaltsamer Mix aus Fakten, scharfem Blick hinter die Kulissen, persnlichen Theorien und Vorschau in unsere digitale Zukun. Informauon, Unterhal tung, Witz und Ironie sind Speziali tten des NeoKabaremsten und ITPros der ersten Stunde. Mainstream und Hrigkeit sind im gnzlich fremd. Das Auditorium lernt, ohne belehrt zu werden. Es staunt, stellt Verhaltensmuster infrage und erlebt IT zum Angrei fen. Analog von Mensch zu Mensch. Grillfest und Networking Um das unter Tags gelernte noch diskuueren zu knnen, sich mit den Teilnehmern auszutauschen und neue Leute kennen zu Lernen, freuen wir uns, alle Teilnehmer zu einem Sommerfest herzlich einzuladen. Wir freuen uns natrlich auch, wenn am Abend die Familie dazu stoen und miueiern mchte. Bei Schnweuer planen wir ein Grillfest bei Schlechtweuer wird es Wienerschnitzel und eine vegetarische Alternauve geben. Dazu servie ren wir Budweiser vom Fass sowie Wein und alkoholfreie Getrnke.
PCNEWS139 Juni 2014 32 C L U B C O M P U T E R . A T
cccamp Jahresveranstaltung LIZ Raum 1 Raum 2 Zeit Frhstck (Aula) 09:00 Begrung Dr. Marn Weienbck (Direktor HTL Wien 3 Rennweg) Werner Illsinger (Prsident ClubComputer) 09:15 Saalwechsel 09:45 Vorratsdatenspeiche rung Mag. Albert Steinhauser Europe vs. Facebook Max Schrems Gibt es in Zukunft noch Geschfte? Erwin Kaminek 10:00 Kaffeepause (Aula) 11:15 Ist die Festplattenabga be wirklich g'scheit? Paneldiskussion Grundlagen der Kryptographie DI Herbert Paulis Windows & Office Tips & Tricks Christian Haberl 11:30 Mittagspause (Aula) 12:45 ELGA Segen oder Fluch? Paneldiskussion Datenschutz Rechtsdurchsetzung Mag. Andreas Krisch Office 365
Mag. Martina Grom 13:45 Kaffeepause (Aula) 15:00 Civil Society Information Defense Mag. Erich Moechel Powergrid & Smartmeter DI Christian Schndorfer Social Media after the Hype Lena Doppel 15:15 Kaffeepause (Aula) 16:30 NFC Sicherheit? DI Roland Giersig Netzneutralitt Thomas Lohninger Fotoworkshop Andi Kunar 16:45 Saalwechsel 18:00 Wrap Up und Aperitiv (Aula) 18:15 Kabarett Ironie Satire SULAK (Aula) 18:45 Grillfest 20:00
Was? IT und Gesellschaft Sicherheit & Datenschutz Technik Wo? HTL Wien 3R Rennweg 89b 1030 Wien Wann? Samstag 14. Juni 2014 09:00 23:00 Wie anmelden? http://cccamp.at Bis 31.5. kostenlos, danach 20 fr NichtMitglieder Wer?
#Tabelle Spiel $SqlSpielQuery = "SELECT Spiel, Tore FROM Spiele WHERE (((Tore)<>'')) ORDER BY SPIEL" $CommandSpiel = New-Object System.Data.OleDb.OleDbCommand $SqlSpielQuery,$Connection $AdapterSpiel = New-Object System.Data.OleDb.OleDbDataAdapter $CommandSpiel
$ToreA = $Tore.Split(',') for ($j=0; $j -lt $ToreA.Length; $j++) { $TorSchuetze = $ToreA[$j].Trim() if ($Tore.Contains(":")) { #Spielstand wurde mitangegeben $Tore = $Tore.Replace(")","),").Trim(",") $Tore = $Tore.Replace(",,",",") $ToreA = $Tore.Split(',') $regexTorSchuetze = [regex] "(\d\:\d) (.*?) \((.+?)\.\)" $groups = $regexTorSchuetze.Match($TorSchuetze).Groups if ($match.Success) { $Minute = $groups[3].Value $Elfer = $Minute.Contains("E") $Freeekick= $Minute.Contains("F") $Minute = $Minute.Replace("E","") $Minute = $Minute.Replace("F","") TorSpeichern $Spiel $groups[2].Value $Minute $groups[1].Value $Elfer $Freeekick } else { Write-Host " ERROR" -ForegroundColor Red -BackgroundColor White } } else { # ohne Spielstand, nur die Minute und der Name if ($TorSchuetze.Contains("(")) { #enthlt Minute $regexTorSchuetze = [regex] "(.*?) \((.+)\.\)" $groups = $regexTorSchuetze.Match($TorSchuetze).Groups if ($match.Success) { $Torminuten = $groups[2].Value $TorminutenA = $groups[2].Value.Split(' ') for ($k=0; $k -lt $TorminutenA.Count; $k++) { TorSpeichern $Spiel $groups[1].Value $TorminutenA[$k].Replace('.','') "" $false $false } } else { Write-Host " ERROR" -ForegroundColor Red -BackgroundColor White } } else { # nur Torschtzen TorSpeichern $Spiel $ToreA[$j] 999 "" $false $false } } } Write-Host } $AdapterSpieler.Update($DTSpieler) $Connection.Close() ToreTabelleErstellen Der Abschniu #Datenbank stellt die Verbindung zur AccessDatenbank her, die Tabelle Spiel wurde bereits angelegt und daraus werden die Felder Spiel und Tore selekuert und ber den Adapter $AdapterSpiel dem Programm zur Verf gung gestellt. Das Feld Spiel muss auch in der neuen Tabelle Tore enthalten sein, damit zwi schen den Tabellen Spiele und Tore eine Relauon hergestellt werden kann. Die Tabelle Tore wird durch den Adapter $Adap- terSpieler abgebildet (ja, ja, das kommt vom Kopieren, denn hier sollte natrlich $AdapterTore stehen aber durch die bernahme vom vorigen ImportProgramm wurde dieser sinnstrende Fehler in der Bezeichnung der Variablen berse hen). Man sieht, dass die einzelnen Felder ver schiedene Typen aufweisen. Die Auswertung des Feldes Tore ist leider nicht geradlinig, denn man muss zwischen Forma ten unterscheiden, die bei den frhen Spielen verwendet worden sind. Zuerst wird die Zeile an den Beistrichen zerteilt $ToreA = $Tore.Split(','). Wenn der Spielstand einen Doppelpunkt enthlt, war der Spielstand angegeben $Tore.Contains(":") (das sind die jngeren Spiele). Abgesehen von den Zeichenklaubereien, die zeigen, wie man mit besummten wechselnden Umstnden umgehen muss, ist wichug dass die Zeilenauswertung entweder erfolgreich ist oder nicht. Im Erfolgsfall wird in der Hilfsfunkuon TorSpeichern die erfolgreiche Speicherung des Tors ausgegeben. Im Fehlerfall wird aber eine bunte Diagnosezeile ausgegeben. An dieser Stelle sieht man, dass dieses Umwan deln des Textes im ToreFeld mit sehr vielen Schreibfehlern im Originaltext zu kmpfen hat, die man alle erst durch Ediueren beseiugen muss, bis schlielich alle ToreZeilen fehlerfrei gelesen werden. Aus diesen wiederholten Einleseversuchen re suluert auch, dass viele Primrschlsselfelder nicht beim Wert 1 beginnen, wie man eigentlich vermuten wrde sondern bei sehr hohen Wer ten, je nachdem, wie o die eingelesenen Daten wieder gelscht worden sind. Die Primrschls selfelder beginnen nmlich nur beim ersten Versuch beim Wert 1. Wird ein Datensatz ge lscht (oder eben mehrere), dann werden diese Werte nicht wieder vergeben und die Zhlung beginnt bei hheren IDWerten. Mit dem Einlesen der Tore ist es aber leider nicht getan. Jetzt wartet noch Arbeit in der Datenbank, denn die Verfasser der Lnderspiel Berichte haben die SpielerNamen in der Auf stellung und in der Torschtzenliste nicht gleich geschrieben. Stand also in der Aufstellung noch Anton Polster, hat man das in der Torschtzen liste auf Polster verkrzt. Mit der Konsequenz, dass das Programm diesen Umstand in der Form auswertet, dass es sich um zwei verschiedene Spieler handelt. Bei einem konkreten Tor wird der Schtze durch den Spielernamen charakterisiert. Diesen Na men muss man in AktualisierungsAbfragen durch der richugen Wert der ID_Spieler erset zen. Wie man am Beispiel Polster gesehen hat, ist das o kein eindeuuger Vorgang. Glckli cherweise wurden aber die Spieler der frheren Jahre nur mit dem Familiennamen eingetragen, sodass diese Fehler erst in den Spiele der letz ten Jahre aureten.