Fotoshootings mit Schutzkonzept für Fotomodel und Fotograf während der Corona-Pandemie\nAllgemeine Infos zu meinen Fotoshootings\nInfos zu meinen Fotoshootings während der COVID-19-Pandemie.\nKontakt- und Reisebeschränkungen machen in Corona-Zeiten Models und Fotografen das Leben schwer. Workshops werden abgesagt, Shootingreisen können nicht durchgeführt werden und die Auftragszahlen brechen ein. Man kann eigentlich nur warten bis die Pandemie passé ist oder man kann sich aktiv auf die Zeit nach der Pandemie vorbereiten. Konkret gehören unter anderen das aktualisieren der Sedcard bzw. des Portfolios und das aufhübschen seiner Social-Media-Profile dazu. Aber es ist auch Zeit um neue Ideen auszuprobieren, welche man dann nach COVID-19 im professionellen Rahmen anbieten kann.\nFür dies alles benötigt man neue und aktuelle Fotos. Deswegen sind insbesondere in Coronazeiten, Initiativbewerbungen für ein TfP-Fotoshooting bei mir gern gesehen und haben sehr gute Aussicht auf Erfolg.\nDa Fotoshootings zur Zeit nicht konkret in Deutschland verboten sind, sondern nur die Rahmenbedingungen für die zulässigen Kontakte und die notwendigen Schutzmaßnahmen zur Reduzierung der Ansteckungsgefahr behördlich angeordnet sind, können noch Fotoshootings mit Einschränkung durchgeführt werden. Dies gilt leider nicht für Castings und Testshootings mit mehreren Models. Deswegen veranstalte ich während eines Corona-Lockdowns in Berlin keine Castings und Testshootings. In Corona-Zeiten mache ich ausschließlich Fotoshootings mit nur einen Model unter der Beachtung der folgenden Corona Schutzkonzepte.\nIch habe zwei COVID-19 Schutzkonzepte für ein Fotoshooting erstellt. Eines für ein Studio-Fotoshooting und eins für ein Outdoor-Fotoshooting im Freien. Diese beiden Schutzkonzepte werden im folgenden ausführlich beschrieben und erklärt.\nSchutzkonzept für ein Studio-Shooting\nIm Großem und Ganzen besteht das Schutzkonzept für ein Studio-Shooting aus folgenden Punkten:\nReduzierung der anwesenden Personen im Studio auf Fotomodel und Fotograf.\nWissenschaftlich empfohlendes Lüftungskonzept auf Basis von CO2 Messungen.\nNutzung von wirksamen FFP2-Masken bei Unterschreitung des Mindestabstandes von 2 Metern.\nRegelmäßige Desinfektion durch bereitgestelltes Desinfektionsmittel.\nPrüfung einer möglichen Verlagerung des Studio-Shootings in den Outdoorbereich.\nKonkret bedeutet dies für ein Studio-Shooting in der Corona-Krise:\nBegleitpersonen können bei einen Studio-Fotoshooting nicht persönlich anwesend sein. Dies gilt übrigens auch für Visagisten, Assistenten und die vielen weiteren Helfer welche normalerweise bei einen Fotoshooting anwesend sind. Die Anzahl der Anwesenden im Fotostudio ist auf Fotomodel und Fotograf reduziert. Diese Maßnahme ist insbesondere notwendig um die Aerosolkonzentration im Fotostudio so gering wie möglich zu halten.\nFür die evt. Begleitpersonen biete ich alternativ einen Livestream des Shootings über Zoom an, über welchen man dann live am Fotoshooting teilhaben kann. Bei Intresse an einen Livestream muss dies bei der Anmeldung oder Bewerbung angeben werden.\nDa auch keine Visagistin anwesend sein kann muss das Fotomodel schon beim eintreffen im Fotostudio das grundlegende Make-Up und die Frisur haben, so dass ggf. nur noch kleinere Feinheiten durch das Model selbst nachgebessert werden müssen.\nAls einer der hauptsächlichen Ansteckungswege von SARS-CoV-2 (RKI, 2020) gelten in die in der Ausatemluft enthaltenen Aerosole. In geschlossenen Räumen ohne stetige Frischluftzufuhr sind die Aerosole der Ausatemluft besonders bedenklich. Da in der Ausatemluft auch CO2 enthalten ist, kann man durch eine CO2-Messung auf die Aerosol-Konzentration im Studio schließen. Während des Fotoshootings wird die CO2 Konzentration der Raumluft im Fotostudio überwacht und spätestens bei einen Wert von 1.000 ppm wird entsprechend der Empfehlung des Umweltbundesamtes gelüftet. In der Regel wird aber spätestens nach einer Stunde eine kurze Pause gemacht, welche dann auch zum lüften verwendet wird. Bei dieser Vorgehensweise war die CO2 Konzentration im Fotostudio immer deutich unter 800 ppm, was einer sehr guten Belüftung entspricht.\nBei einen Fotoshooting im Studio wird schon aus fototechnischen Gründen der Mindestabstand von 2 Metern normalerweise eingehalten. Während eines Fotoshootings besteht in der Regel ein Abstand von 3 bis 8 Metern zwischen Model und Fotograf, da mit Brennweiten größer 50mm gearbeitet wird. Bei diesen mehr als ausreichenden Abstand sollte das Fotomodel keine Maske tragen. Es kann aber auch kurzfristige Ausnahmesituationen geben bei denen dieser Mindestabstand nicht eingehalten werden kann. In diesen Situationen müssen von Model und Fotograf eine FFP2-Schutzmaske getragen werden.\nNatürlich steht auch Desinfektionsmittel während des Fotoshootings zur Verfügung, mit welchen man die Hände und Oberflächen regelmäßig desinfizieren kann.\nEine der wirkungsvollsten Maßnahmen zur Minimierung der Ansteckungsgefahr ist, das Fotoshooting vom Studio in den Outdoorbereich, also ins Freie zu verlagern. Da mit entsprechenden Mindestabstand im Freien, die Aerosole mit ihren anhaftenden Viren nicht so gefahrenträchtig sind. Sie werden schnell vom Wind verteilt und die Witterung sowie UV-Strahlung traktieren die Viren zusätzlich. Leider kann das Wetter nicht nur für Viren widerlich sein, auch für ein Fotoshooting kann es untauglich sein. Weiterhin gibt es fotografische Themenbereiche welche sich nur sehr schwer oder nicht in der gewünschten Qualität im Freien umsetzen lassen. Deswegen ist ein Fotoshooting im Freien immer nur eine Alternative zum Studio-Fotoshooting, deren mögliche Durchführbarkeit vor jeden Shooting geprüft wird.\nGenerell ist aber eine konkrete Ansteckungsgefahr im Fotostudio nur gegeben, wenn einer der Teilnehmer überhaupt mit SARS-CoV-2 infiziert ist. Die individuelle Ansteckungsgefahr bei einen Studioshooting mit diesen COVID-19 Schutzkonzept liegt bei deutlich unter 1% *), falls einer Teilnehmer hoch-infektiös ist. Hoch-infektiös sind ca. 20% der positiv auf das Corona-Virus getesteten Personen und dies im Regelfall nur wenige Tage.\n*) Die individuelle Ansteckungsgefahr durch mit Viren belastete Aerosole wurde berechnet mit " COVID 19 Aerosol Transmission Risk Calculator " des Max-Plank-Instituts. Berechnungsgrundlage war ein 2 stündiges Fotoshooting mit 2 Personen in einen 50m² Studio mit einmaligen Stoßlüften nach einer Stunde.\nSchutzkonzept für ein Outdoor-Fotoshooting\nIm Wesentlichen besteht das Schutzkonzept für ein Outdoor-Fotoshooting aus folgenden Punkten:\nReduzierung der anwesenden Personen auf das absulute Mininmum.\nMindestabstand von notwendigen Begleitpersonen von 15 Metern zu Model und Fotograf während des gesamten Fotoshootings.\nNutzung von wirksamen FFP2-Masken bei Unterschreitung des Mindestabstandes von 1,5 Metern.\nKonkret bedeutet dies für ein Outdoor-Shooting während der COVID-19-Pandemie:\nDie effektivste Methode zur Minimierung der Ansteckungsgefahr ist aber immer noch, die Teilnehmerzahl auf das absolute Minimum zu reduzieren. Leider kann ich keinen Livestream bei Outdoor-Fotoshootings als Alternative für evt. notwendige Begleitpersonen anbieten. Aber Aufgrund der größeren Bewegungsfreiheit im Freien, besteht für Begleitpersonen die Möglichkeit das Outdoor-Fotoshooting aus größerer Distanz zu beobachten. Für Begleitpersonen gilt ein Mindestabstand von 15 Metern zu Model und Fotograf während des gesamten Fotoshootings im Freien. Natürlich werden nur wenig frequentierte Orte für ein solches Fotoshooting ausgewählt.\nNormalerweise ist ein Abstand von mindestens 3 Metern zwischen Model und Fotograf auch während eines Fotoshootings im Freien gegeben, da mit den gleichen oder sogar größeren Brennweiten wie im Studio gearbeitet wird.\nDie Nutzung von wirksamen FFP2-Masken bei Unterschreitung des Mindestabstandes von 1,5 Metern ist verbindlich. Die regelmäßige Desinfektion durch bereitgestelltes Desinfektionsmittel ist in Coronazeiten auch beim Outdoor-Fotoshooting obligatorisch.\nDie Ansteckungsgefahr im Freien ist laut RKI geringer als in geschlossenen Räumen, wie z.B. Fotostudios, wenn die entsprechenden Abstände eingehalten werden.\nAllgemeines zu meinen Corona-Schutzkonzepten\nDiese beiden COVID-19 Schutzkonzepte für ein Fotoshooting, beruhen auf den behördlichen Anordnungen und den aktuellen wissenschaftlichen Erkenntnissen. Die Teilnehmerdaten eines Fotoshootings werden im obligatorischen Vertrag eines Fotoshootings dokumentiert und sind so für Model und Fotograf bei einer evt. notwendigen Rückverfolgung jederzeit verfügbar. Diese Schutzkonzepte werden während der COVID-19-Pandemie für alle meine Fotoshootings umgesetzt, dies gilt natürlich auch für TfP-Fotoshootings.\nZur Zeit wird das Thema Corona-Schnelltests in den Medien als großer Heilsbringer hochgepusht. Bei genauerer Betrachtung ist dies eher eine Luftnummer, z.B. hat es zum Anfang in Berlin für über 3,76 Millionen Einwohnern nur 16 Testcenter für den kostenlosen staatlichen wöchentlichen Corona-Schnelltest geben. Man kann sich leicht ausrechnen, dass ein solches Angebot völlig unzureichend ist. Insbesondere da für die meisten Testcenter eine online Anmeldung notwendig ist und wer schon mal ein Auto in Berlin angemeldet oder eine Dienstleistung eines der Berliner Bürgerämter benötigt hat, weis was ich meine.\nGenerell müsste ein COVID-19-Schnelltests zeitnah vor dem Fotoshooting erfolgen um überhaupt Sinn zu machen, denn 24 Stunden später kann das Ergebnis schon anders aussehen. Unter diesen Voraussetzungen ist zur Zeit leider keine zukunftsfähige Planung mit einen verpflichteten COVID-19-Schnelltest für ein Fotoshooting möglich.\nDie Alternativen zu den kostenlosen staatlichen Corona-Schnelltest sind die Corona-Selbsttests und die gewerblich angebotenen COVID-19-Schnelltests. Die gewerblich angebotenen Corona-Schnelltests sind in der Regel viel zu teuer und sind insbesondere für TfP-Fotoshootings ein No-Go. Die COVID-19-Selbsttests sind eigentlich eine gute Alternative, sie können zeitnah vor dem Fotoshooting durchgeführt werden und bewegen sich preislich noch im erschwinglichen Rahmen. Leider ist zur Zeit die Nachfrage größer als das Angebot an bezahlbaren Corona-Selbsttests und dadurch ist eine zuverlässige Versorgung nicht gegeben.\nIch werde das Thema COVID-19-Schnelltests und Corona-Selbsttests weiterhin beobachten und ggf. die Schutzkonzepte anpassen wenn diese Tests sich praxisnah integrieren lassen.


Friedensethik / Kirchliche Friedenslehre\nDie kirchliche Friedenslehre ist ein auf lange Sicht angelegter Lernprozess, in dem historische Erfahrungen im Lichte des Evangeliums sowie der kirchlichen Tradition interpretiert werden. Die in diesem Zusammenhang entwickelten Einsichten und Handlungsmuster werden immer wieder überprüft. Sie werden anhand neuer Erfahrungen, wie z.B. nach dem Ende der Blockkonfrontation oder nach dem 11. September 2001, aktualisiert und vertieft. Dabei wird manche zeitbedingte Idee auf ihre angemessenen Maße zurückgeführt. Wir verstehen unsere Arbeit als einen Beitrag zu diesem Lernprozess.\nDie Friedenslehre wendet die in ihr geborgenen Erfahrungen auf die nach Zeit und Ort verschiedenen, ständigem Wechsel unterliegenden Verhältnisse an. Die Friedenslehre der Kirche entsteht nicht als ein ´wissenschaftliches System´, das ein systematisch denkender Kopf ausdenkt und in einem alles umfassenden Lehrbuch niederlegt. Die Friedenslehre der Kirche erwächst geschichtlich aus dem, was das gesellschaftliche Leben an Fragen, insbesondere an Streitfragen aufwirft, und was es an Nöten und Ungerechtigkeiten erzeugt.


Max Giesinger kündigt neues Album an! | barba radio\nMax Giesinger ist wieder da! Nachdem das letzte Max Giesinger-Album "Die Reise" in 2018 Platz zwei der deutschen Albumcharts erreichte, gibt es endlich wieder Nachschub. "Vier" erscheint am 12. November und wird wahrscheinlich auch Max Giesinger-Songs wie "Irgendwann ist jetzt" und "Der letzte Tag" enthalten.\nWir sind sehr gespannt, was Max Giesinger auf "Vier" alles für uns bereithält. Hoffentlich verkürzt uns Max Giesinger die Wartezeit und bringt bis dahin noch die ein oder andere Single raus. Aber mit ganzen vier Singles, die Max Giesinger in diesem Jahr schon rausgebracht hat, können wir uns wirklich nicht beschweren. Vor allem die Piano-Version von "Deine Zweifel" ist ein echtes Highlight.


Ein Öl, das als Haaröl, Hautöl und Conditioner dienen kann, hier kaufen!\nL'Huile by - Öl für Körper, Haut und Nägel\n✔ Starke Nägel\nDas trockene Öl pflegt Nägel, Haar und Haut\n„Ein trockenes Öl?”, höre ich Sie jetzt schon sagen. Ja, das gibt es wirklich. Dieses Öl hat Moleküle, die das Cîme-Team kleiner gemacht hat, um die Absorptionsfähigkeit des Öls zu erhöhen. Dank seiner leichten und flüssigen Textur zieht das Öl schnell in die Haut ein. Sehr einfach in der Anwendung. Verwenden Sie dieses Öl, um Ihre Haut zu nähren, zu regenerieren oder um gespaltene Haarspitzen zu reparieren. Die Zusammensetzung und Kombination der Inhaltsstoffe gewährleistet einen optimalen Effekt für den Körper.\nHagebuttenöl + Sanddornöl + Sesamöl = nährt, hydratisiert und regeneriert die Haut.\nAprikosenkernöl + Dhatelo-Öl + Karottenextrakt = gibt der Haut einen gesunden Schimmer und verbessert den Glanz und die Stärke des Haares.\nDas trockene Öl hat somit nicht nur eine Wirkung, sondern ist multifunktionell. Sie können es verwenden als:\nzur Festigung der Nägel,\nWie funktioniert das Haut- und Haaröl von Cîme?\nDie Anwendung dieses fantastischen trockenen Öls ist in einem einfachen Film dargestellt. So sehen Sie auch sofort das „Produkt im Einsatz“.\nDieses Öl wird einfach mit dem Magnificent Mandarine gemischt für besonders weiche, glänzende Beine. Einfach ein wenig Peelingsalz aus dem Tiegel schütten und ein paar Spritzer Öl in das Peelingsalz geben. Kurz vermischen und auf die Beine auftragen. So bekommen Sie herrlich weiche Beine unter den Sommerkleidern!\nL'Huile by CÎME nach dem Duschen auf die trockene oder leicht feuchte Haut sprühen und einmassieren. Nach dem Sonnenbad nährt und regeneriert das Produkt die Haut und fördert die Gesichtsbräune. Kann auch als Massageöl für einen entspannenden Effekt angewendet werden.\nL'Huile by CÎME in die Handflächen sprühen und in die Hände, Finger, Nägel und Nagelhaut einmassieren. Kann auch an den Füßen und Fersen angewendet werden. Für eine weiche, intensiv durchfeuchtete Haut und gesunde Nägel.\nEin paar Tropfen l'Huile by CÎME ins Badewasser sprühen für einen echten Wellness-Moment.\nL'Huile by CÎME auf die trockenen Haaren sprühen. 15 bis 20 Minuten einwirken lassen und anschließend die Haare waschen. Für intensiv genährtes, gesundes und strahlendes Haar.\nEine kleine Menge l'Huile by CÎME auf die Handfläche sprühen und vorsichtig durch die Haare und hauptsächlich die Spitzen fahren, um diese zu schützen und zum Glänzen zu bringen. Kann auch beim Bürsten angewendet werden. Sprühen Sie hierzu etwas trockenes Öl auf die Bürste.\nEin paar Tropfen l'Huile by CÎME mit Ihrer Tages- oder Nachtpflege (Creme, Maske etc.) mischen für eine intensiv genährte Haut.\nDicaprylyl carbonaat - sesamum indicum (sesam) zaadolie * - capryl caprine triglyceride - prunus armeniaca (abrikoos) kernel olie * - aroma ** -\nhippophae rhamnoides (duindoorn) zaadolie * - prinsepia utilis (dhatelo) zaadolie * - rosa rubiginosa ( rozenbottel) zaadolie * -\ndaucus carota (wortel) wortel extract * - tocopherol - helianthus annuus (zonnebloem) zaadolie * - geraniol - linalool - citral -\nrosmarinus officinalis (rozemarijn) bladuittreksel * - limoneen\nSie bewerten:L'Huile by CÎME - Öl für Körper, Haut und Nägel


Wohnen Archive - Seite 25 von 26 - Schlaunews - Kostenloses Presseportal\nwww.hansetor-immobilien.de Eine Immobilie zu verkaufen kann sich schwierig gestalten. Natürlich möchte der Verkäufer den optimalen Preis erhalten, während der Käufer auch die Kosten für mögliche Umbau- und Modernisierungsmaßnahmen bedenken muss. Das kann die Einigung auf … [ Weiter lesen ]\nFreiraum, Ruhe und günstige Preise – das Bauen und Leben auf dem Land erfreut sich wachsender Beliebtheit. Von der jungen Familie bis zum Senior schätzen viele die frische Luft, das naturnahe Wohnen und die großen … [ Weiter lesen ]\nDas traditionelle Ludwigsburger Immobilienunternehmen Strenger Bauen und Wohnen realisiert am Standort Ditzingen auf einem 1.436 Quadratmeter großen Grundstück, Ecke Privatstraße und Gerlinger Straße, das Neubauprojekt „Ditzingen Cube D“ mit insgesamt 29 Wohneinheiten und einem Ladengeschäft. … [ Weiter lesen ]\nMehr Wohnraumförderung nötig München (15.05.2017) – Bereits das dritte Jahr in Folge verzeichnet die bayerische Wohnungswirtschaft steigende Zahlen beim Wohnungsbau. 2016 wurden von den Mitgliedsunternehmen des VdW Bayern 2.905 Wohnungen fertiggestellt, darunter 2.054 Sozialwohnungen. Insgesamt … [ Weiter lesen ]\nModules Wohnen: bei Bedarf vergrößern oder verkleinern, Ortswechsel kein Problem, Module kommen mit – innovative Zukunft? – von Heiko Brunzel, Bauunternehmer Moderne Nomaden: „Ich ziehe dahin wo ich gebraucht werde, mich weiterentwickeln kann oder weil … [ Weiter lesen ]\nTrendsetter für Wand und Boden


Peugeot bringt ein vielseitiges Dreirad auf die Straße | Mittelstand Nachrichten\nStartseite/Aktuelle Meldungen/Peugeot bringt ein vielseitiges Dreirad auf die Straße\nDie Eigenentwicklung von Peugeot Scooters orientiert sich am Selbstbewusstsein der Automarke. Aufgrund seiner Zulassung als motorisiertes Dreirad kann der Metropolis 400i auch mit einem Autoführerschein gefahren werden.\nHinter der Idee von innovativen Dreirad-Scootern steht der Gedanke, vorsichtigen Menschen die Angst vor wegrutschenden Vorderrädern zu nehmen. Der Vorzug der zweifachen Vorderradführung mit doppelter Reifenaufstandsfläche ist die bessere Übertragung der Brems- und Führungskräfte auf den Asphalt.\nFoto: Peugeot Scooters Deutschland/trd/spp-o\nDreiräder wollen aktiv gefahren werden, in der Schräglagenfreiheit erreichen sie nicht den spielerischen Umgang herkömmlicher Zweiräder. Angetrieben wird der Scooter mit hohem Sitzkomfort für große und kleine Leute von einem wassergekühlten Einzylinder mit 399 cm³ Hubraum, entsprechend 37,2 PS, der 38,1 Nm Drehmoment auf die Hinterachse überträgt. Das Leergewicht liegt bei 256 Kilogramm, mit Pilot schafft das Gefährt mit hohem Federungskomfort eine Höchstgeschwindigkeit von 150 Stundenkilometern. Der Tank fasst 13,5 Liter und erreichte im Test eine Reichweite von 315 Kilometern bei einem Verbrauch von 4,6 Liter auf hundert Kilometern.\nWie sich der neue Metropolis 400i im harten Alltagsbetrieb schlägt, zeigt ein aktueller 10.000 Kilometer Dauertest der Fachzeitschrift Motoretta. Nach Absolvieren der Testdistanz lieferte die standardgemäße Zerlegung den Ingenieuren einen tiefen Blick in das Fahrzeuginnere. Ob Sonnenschein, Regen oder Schnee, die Besatzung und das Dreirad mussten bei jeder Witterung ran. Die Überprüfung bestätigte seine hohe Zuverlässigkeit, im Inneren des Motors war nirgendwo übermäßiger Verschleiß festzustellen. Während der gesamten Testdauer ließ das Fahrzeug die Prüfer nur ein einziges Mal wegen einer durchgebrannten Sicherung im Stich. Auf unebenem Untergrund notierten die Tester einen höheren Körpereinsatz, nötig zum Einlenken und Halten der Linie. Die Verzögerung der Bremsen verlangte nach hoher Handkraft, was die Dosierbarkeit minimierte, aber in Kombination bezüglich der Effizienz aller Bremsen in Ordnung ginge. Pluspunkte gab es für die gute Fahrdynamik, den Wetterschutz – die Frontscheibe ist ohne Werkzeug um 13 Zentimeter zu verstellen sowie das flache Trittbrett für leichten Durchstieg und die komplette Ausstattung. Die Zündung erfolgt ohne Schlüssel per Smart Key und das Helmfach öffnet sich automatisch per Knopfdruck. Trotz vieler bereits vorhandener Stauräume lässt sich die Ladekapazität durch einen zusätzlichen Gepäckträger und Topcase erhöhen. Fazit: Der Metropolis 400i ist ein Multitalent, mit dem man geruhsam die Landschaft genießen, aber auch kraftvoll und dynamisch auf der kurvenreichen Hausstrecke auftrumpfen kann.\nScienlab begleitet BMW mit seinen Testsystemen seit Jahren bei der Entwicklung des elektrischen Antriebs. Seit Ende 2013 fährt der i3 auf der Straße. Die Zukunft der Mobilität ist elektrisch, deshalb erweitert Scienlab mit dem ersten vollelektrischen Serienfahrzeug der BMW Group seinen Fuhrpark.\nKöln - Der sächsische Ministerpräsident Stanislaw Tillich hat am Samstag, den 17. Mai 2014, vor dem Deutschen Hygiene-Museum in Dresden den Startschuss für das "BGW mobil" gegeben. Das "BGW mobil" ist eine bundesweite Initiative der Berufsgenossenschaft für Gesundheitsdienst und Wohlfahrtspflege (BGW) und des Arbeiter-Samariter-Bundes (ASB) Deutschland zum Arbeits- und Gesundheitsschutz…\nAutoführerschein Automarke Dreirad Eigenentwicklung Metropolis 400i Peugeot Peugeot Scooters


THW-LV-BEBBST Kräfteablösung beim Einsatz Moorbrand in Meppen\nKräfteablösung beim Einsatz Moorbrand in Meppen\nGestern kamen THW-Kräfte vom Zugtrupp aus Berlin Pankow vom Einsatz „Moorbrand in Meppen“ zurück. Ihrem Ablöse-Team aus Berlin Friedrichshain-Kreuzberg hatten sie zuvor die Einsatzstelle „Meldekopf“ übergeben.\nDas THW ist auf Anforderung und zur Unterstützung der Bundeswehrfeuerwehr auch mit Hochleistungspumpen zur Wasserförderung beim Moorbrand in Meppen im Einsatz.\nIn der Nacht zu Freitag letzter Woche hatten sich die vier Pankower auf den Weg nach Meppen begeben und betrieben seitdem im Schichtbetrieb gemeinsam mit dem Zugtrupp des THW Stadthagen diesen Meldekopf. In einer Turnhalle mit 400 Schlafplätzen organisierten sie die An- und Abreise der Brandschutzeinheiten aus dem Bundesgebiet, zu dem neben Feuerwehren auch das THW und DRK-Kräfte gehören.\nAls weiteres Ablöseteam bereitet sich nun der Zugtrupp aus Berlin Treptow-Köpenick vor. Eine weitere Führungsstelle erhält gerade Verstärkung durch eine ehrenamtliche Führungskraft des Landesverbandes.\nAus dem Landesverband Berlin, Brandenburg, Sachsen-Anhalt waren bislang 38 THW-Kräfte eingebunden und zurzeit sind es noch 6 THW-Ehrenamtliche. Am vergangenen Donnerstag hatten Berliner THW-Kräfte aus Spandau, Neukölln und Marzahn-Hellersdorf Zelte zusammen gezogen und zügig zum Kräfte-Bereitstellungsraum in Meppen transportiert. Einen 50.000-Liter-Faltbehältersystem brachten THW-Kräfte aus Wittenberge in der Nacht zu Freitag nach Meppen. Der Trupp Mobiler Hochwasserpegel aus Treptow-Köpenick hatte zusätzliche Pegel für die Wasserstandsüberwachung im Einsatzgebiet zur Verfügung gestellt.\nWährend die Einsatzkräfte des THW in Schichtsystemen rund um die Uhr arbeiten, sind die Anwohnerinnen und Anwohner sowie andere Interessierte nicht tatenlos geblieben: Dankschreiben und –Bilder, Hilfsangebote und Unterstützung erreichten die Einsatzkräfte tagtäglich in einem Ausmaß, welches diese selbst überrascht. Das THW ist auf Anforderung und zur Unterstützung der Bundeswehrfeuerwehr nun seit zwei Wochen in Meppen beim Moorbrand im Einsatz.


Audew Auto Staubsauger Handstaubsauger Nass&Trocken Staubsauger 120W 5M Stromkabel – Xaffe\nAudew - Filtereffekt von hepa-filter ist viel höher als andere Produkte, die mit normalem Filter ausrüsten. Der schlauch bricht nicht, nachdem er gebogen und gedehnt wurde。 Guter Sicherheitschutz: Audew Auto Staubsauger rüstet einen fortschrittlichen Chip aus. Außerdem ist HEPA-Filter leicht zu reinigen. Sie können die passende auswählen, um jede Ecke Ihres Autos zu reinigen.\nDrei zubehör inklusive: 1 * brush Mund, 1 *Falten-Attachment, 1 * Soft Long Tube. Es kann nützlich sein für allgemeine Reinigungsaufgaben rund um das Auto, z. Staub, krümel, Getreide, Flüssigkeit usw. Gute material: effizienter motor, lüfterflügel aus Aluminiumlegierung und Turbinenspirale, die gut verarbeitet sind, können die Saugkraft stärken und Geräusch verringen.\nAudew Auto Staubsauger Handstaubsauger Nass&Trocken Staubsauger 120W 5M Stromkabel - Hepa-filter wir verwenden den hEPA-Filter, um unsere Filtrationsrate so hoch wie 99% zu erreichen. Nass-trocken funktion: Der Staubsauger kann nicht nur trockene sondern auch nasse gegenstände saugen. Eva schlauch: eva schlauch von Audew hat gute Qualität. Technische daten: schlauch: eva nennspannung : dc 12v Nennleistung: 120W Kabellänge : 5 m Stromversorgung : Zigarettenanzünder Netz Db:.\nB. Mit dem chip wird der sauger nach langer Betriebszeit oder unter hoher Temperatur die Arbeit aufhören, um Sicherheit zu garantieren.\nBODYMATE - Deshalb geben wir auch auf unsere BODYMATE AB Roller eine Garantie von 3 Jahren. Lieferumfang: AB Roller, Knieauflage. Kaufen sie jetzt risikolos das produkt und erhalten Sie den Kaufpreis innerhalb 30 Tage erstattet, sollten Sie mit unserem Produkt nicht zufrieden sein. 3-jahre garantie fÜr premium qualitÄt: Wir verwenden für die Herstellung unserer Produkte nur hochwertigste Materialien und fertigen unter stringenter Qualitätskontrolle.\nEr trägt damit maßgeblich dazu bei, die Körpermitte zu stärken. Das mitgelieferte Knie-Pad schont dabei das Knie bei den Übungen. Durch die einfache und effiziente Nutzung ist der Bauchmuskeltrainer sowohl für Einsteiger als auch Fortgeschrittene geeignet. Reduziert auf das wesentliche ist das Produkt leicht im Gewicht und kann so flexibel transportiert werden.\nBODYMATE AB Roller Classic Schwarz I Bauchtrainer mit Knieauflage I Bauchroller mit Komfortgriffen I Bauchmuskeltrainer - Er trägt damit maßgeblich dazu bei, die Körpermitte zu stärken. Deshalb geben wir auch auf unsere BODYMATE AB Roller eine Garantie von 3 Jahren. Risikoloser kauf: 30 Tage Geld zurück Garantie. Durch die einfache und effiziente Nutzung ist der Bauchmuskeltrainer sowohl für Einsteiger als auch Fortgeschrittene geeignet.\nSKY LIGHT - Halten sie das messer trocken und sauber mit einem Reinigungstuch nach jedem Gebrauch3. Gewicht: 245g8. Ultrascharfe klinge: der schneidewinkel beträgt 15 grad. Premium-material: das messerklinge ist aus bestem deutschen rostfreien Edel-Klingenstahl geschmiedet, sie ist schnitthaltig, mit der Rockwell-Härte von 56-58, langlebig und schmutzabweisend.\nKüchenmesser Kochmesser Chefmesser 20 cm Allzweckmesser Sehr Scharfe Klinge Rostfreier Stahl Köche Messer zum Schneiden - Er trägt damit maßgeblich dazu bei, die Körpermitte zu stärken. Gesundes training: der bodymate ab roller ermöglicht ein effizientes training des oberkörpers. Griffmaterial: ABS + 430 Edelstahl4. Messer sollten öfters mit einem wetzstahl abgezogen werden, die ihr messer länger scharf hältEnthält1 x 20 cm Kochmesser 1 x Klingenspitzenschutz1 x Verpackungsbox100% Zufriedenheitsgarantie, lebenslange Garantie, probieren Sie es aus Qualitätsprodukt der Marke BODYMATE®.\nNUBWO A2 - Mit großer kapazität der eingebauten Lithium-Batterie ist es mehr langlebig für die Verwendung. Starke kompatibilität der lautsprecher ist kompatibel mit multi-endgeräten, PSP, wie tablet, 5mm-Bluetooth-Geräte usw. Ber den lautsprecher der bluetooth-lautsprecher verfügt über ein eingebautes mikrofon und bietet nicht nur eine Freisprech- und Überspringfunktion, sondern unterstützt auch die Wiedergabe von TF-Karten mit höherer Stereo-Klangqualität.\nDeshalb geben wir auch auf unsere BODYMATE AB Roller eine Garantie von 3 Jahren. Lieferumfang: AB Roller, Knieauflage. Sie werden die warme Umgebung lieben, wenn das Licht in einem Raum hell leuchtet. Die betriebszeit dauert 5 Stunden. Bequem zu bedienen--das symbol des Bluetooth-Lautsprechers wird auf Ihrem Handy angezeigt, wenn es über den Bluetooth-Modus verbunden ist.\nBluetooth Lautsprecher,NUBWO Kabelloser Tragbare Außen-Lautsprecher,Reise/Outdoor/Sport/ Auto Mini Wireless Speaker mit HD Sound und Enhancend Bass,Eingebautem Mikrofon,Patentierter Bass port,Freisprechen,Geringe harmonische Verzerrung,AUX-Line und TF-Kartensteckplatz für iPhone,iPad,Samsung,Laptops und mehrRose Gold - Handfreie Funktion. Und die klinge ist doppelseitig, so dass das Messer geeignet für Rechts- und Linkshänder ist. Der schwerpunkt liegt auf der Bauchmuskulatur und der Muskulatur des Oberkörpers Schulter, Rücken, Arme. Bitte drücken sie den netzschalter, um zum TF- und AUX-Modus zu wechseln. Völlig risikolose bestellung!ein perfektes geschenk für ihre Kinder, Ihre Familien, Ihre Freunde und sich selbst! Qualitätsprodukt der Marke BODYMATE®.\nSie können einfach die wunderbare Musik überall genießen.\nHAVIT I39 Bluetooth Kopfhörer 4.2 Ergonomisch mit Magnetverschluss, IPX5 Wasserdicht Sport Kabellos Headset für Smartphone, iPad oder Bluetooth-Gerät (Schwarz)\nMVPOWER Esstisch Platzsets / Tischsets 6er ,Ritzenhoff & Breker Platzmatten-Set Wasch- und hitzebeständige Anti-Rutsch Esstischmatten für Home Restaurant Office, braun\nTefal E43506 - Mit großer kapazität der eingebauten Lithium-Batterie ist es mehr langlebig für die Verwendung. Starke kompatibilität der lautsprecher ist kompatibel mit multi-endgeräten, wie tablet, PSP, 5mm-Bluetooth-Geräte usw. Tefal steht für intelligente Produkte, die durch einfache Handhabung eine erfolgreiche Anwendung garantieren und das tägliche Leben erleichtern.\nSie können einfach die wunderbare Musik überall genießen. Großartiges design schlanke aluminium-legierung shale ist elegant und modisch. Er trägt damit maßgeblich dazu bei, die Körpermitte zu stärken. Geeignet für alle Herdarten, auch Induktion. Premium-material: das messerklinge ist aus bestem deutschen rostfreien Edel-Klingenstahl geschmiedet, sie ist schnitthaltig, mit der Rockwell-Härte von 56-58, langlebig und schmutzabweisend.\nTefal E43506 Jamie Oliver Pfanne 28 cm, edelstahl - Vielseitig: das kochmesser mit 20 cm länge erleichtert Ihre tägliche Küchenarbeit wie Hacken, Schneiden, Gemüse und Fleisch, Zerteilen von Obst, es ist wirklich ein Allroundmesser. Ergonomischer griff: der griff ist ergonomisch gestaltet, die dreifach vernieteten, so dass das Schneiden viel einfacher ist, rutschfesten Griffschalen geben einen sicheren und komfortablen Halt, optimal geeignet für unterschiedlichen Hände.\nLebenslange garantie: 100% zufrieden oder geld zurÜck garantie, lebenslange Garantie auf Material- und/oder Verarbeitungsmängel, Kauf ohne Risiko. Sie können es in ihre tasche zu stecken und beim Camping oder bei den Outdoor-Aktivitäten mitzubringen. Hochwertiger kristallkalarer sound der drahtlose bluetooth-lautsprecher bietet leistungsstarke Treiber und einen einzigartigen verbesserten Bass.


Tipps zu Visual Extend\nVFX - Tipps und Tricks\nSeit der Übernahme des Frameworks Visual Extend durch die dFPUG c/o ISYS GmbH erstelle ich mehr und mehr Anwendungen mit VFX. Mittlerweile sogar fast ausschließlich, da sich diese Vorgehensweise in vielerlei Hinsicht bewährt hat. Unter anderem durch schnellere Abwicklung und bessere Kalkulierbarkeit von Projekten sowie regelmässigere Lieferung von Updates im Rahmen von Wartungsverträgen mit niedrigerem Aufwand.\nIm Rahmen der praktischen Arbeit sammeln sich eine Vielzahl von kleinen Hilfsroutinen und nützlichen Funktionen. Im gedruckten Handbuch zu VFX 8.0 hatten wir dazu eine Tipps & Tricks-Sammlung von Stefan Zehner veröffentlicht. Das gedruckte Handbuch zu VFX 9.0 wurde aber wesentlich umfangreicher, so daß für Anhänge leider kein Platz mehr war. In diesem Beitrag deshalb eine separate Tipps & Tricks-Sammlung zu VFX 9.0 und früher.\nUnd damit Besucher unserer Website anlässlich der neuen Version VFX 9.5 auch auf dieser Seite etwas neues vorfinden, wurden ein paar Absätze an weiteren kleinen Tipps & Tricks am Ende hinzugefügt. Weitere Tipps und Tricks zu VFX 10.0 folgen in einiger Zeit...\nBestimmt ist es Ihnen auch schon einmal passiert. In der Headerdatei USERDEF.H stehen die benutzerdefinierten Konstanten, die von VFX nicht überschrieben werden wie zum Beispiel:\n#DEFINE INTROFORM_LOC && Startbild für Splash-Formular\n#DEFINE DESKTOP_LOC && Hintergrundbild für den Desktop\nAber nach Änderung der Bildnamen erscheinen weiterhin die alten Bilder. Da hilft auch das mehrfache komplette neu Erstellen des Projektes nichts. Abhilfe schafft hier nur das Löschen aller .FXP-Dateien im PROGRAM-Verzeichnis!\nDas war jetzt wirklich kein neuer Tipp, denn dieser Hinweis und einige weitere kurze Hinweise (wie zum Beispiel „Projektpfad immer richtig setzen“ oder, sehr wichtig!, „OneToMany in 1:n-Relationen nicht auf .T. setzen“) finden sich im Kapitel 16.25 im gedruckten VFX9-Handbuch (Seite 236ff.)!\nDas nur vorab, aber nun lassen Sie uns mit ein paar Hooks beginnen, die jeder ohne Anpassung von VFX-Basisklassen oder Programmen in seine Anwendung integrieren kann. Hooks sind nämlich ein ganz einfacher Weg, um generisches Verhalten in VFX-Projekten zu integrieren, ohne die Basisklassen von VFX zu verändern und damit mögliche Probleme beim automatischen Update auf das nächste Build zu vermeiden.\nGrundlagen von Hooks\nHooks sind eine einfache Möglichkeit, um das Verhalten von Klassen und Formularen von Visual Extend auf den eigenen Bedarf anzupassen, ohne direkt in den Quellcode eingreifen zu müssen. Dadurch entfallen mögliche Probleme bei der Installation neuer Builds oder neuer Versionen des Frameworks, da man keine Codeänderungen nachziehen muß.\nAn diversen Stellen in den Klassen von Visual Extend werden Hooks aufgerufen und in VFXHook.Prg findet sich der Eventhookhandler zum Platzieren der eigenen Funktionen:\nFUNCTION eventhookhandler(tcevent, toobject, toform)\nlcontinue = .T.\nDiesen rudimentären Handler kann man sich beim Erstellen des ersten Hooks auch gleich noch ein wenig anpassen, um die weitere Programmierung von Hooks zu vereinfachen.\ntcEvent = UPPER(ALLTRIM( tcEvent ))\nlcBaseClass = UPPER( .baseclass )\nDamit entfällt bei allen weiteren Hooks das Beachten der exakten Schreibweise des auslösenden Events (z.B. „OnPrint“) für den Hook sowie ggf. der exakten Schreibweise der Basisklasse (z.B. „Textbox“) der aufrufenden Klasse. Außerdem kann man das aktuelle Objekt durch die Änderung einfach mit einem „.“ am Zeilenanfang referenzieren. Noch weiter vereinfachen kann man sich die weitere Hookprogrammierung durch ein geschachteltes CASE-Statement folgender Art:\nCASE INLIST( lcBaseclass, ;\n"TEXTBOX", "COMMANDBUTTON", ;\n"LABEL", "COMBOBOX" )\nAuf der ersten Ebene wird das Ereignis abgefragt und auf der zweiten Ebene die entsprechende Basisklasse. Natürlich könnte man es auch umgekehrt staffeln, aber oft reagiert eine Gruppe von Klassen auf gleiche Art und Weise auf ein Ereignis.\nGut verwenden kann man Hooks für das generelle Einstellen von Eigenschaften von Steuerelementen im Init. Dadurch muss man die Basisklassen nicht anfassen. Zum Beispiel Abschalten des Tabstops für Textboxen und Commandbuttons, Einschalten von Hyperlinks in Editboxen, Abschalten der Größenänderbarkeit von Zeilen und Headern in Grids sowie schönere Darstellung von Containern:\nIF lcbaseclass =="TEXTBOX" AND .readonly\n.tabstop = .F.\nIF lcbaseclass =="COMMANDBUTTON"\n.caption = STRTRAN( .caption, "\_<", "" )\n*-- Achtung: Das schaltet Hotkeys ab...\nCASE lcbaseclass =="EDITBOX"\n.enablehyperlinks = .T.\nCASE lcbaseclass =="GRID"\nCASE lcbaseclass =="CONTAINER"\n.style = 3 && -Themed\nIF UPPER( .name ) != "RECORD"\n.specialeffect = 1 && -sunken\nGerne vergisst man auch mal das Eintragen von wahlweise einem Tooltip-Text oder einem Statusbar-Text, was mit folgenden zwei Zeilen erledigt ist (zumindest sofern nur ein Text von beiden fehlt):\n.tooltiptext = EVL( .tooltiptext , .statusbartext )\n.statusbartext = EVL( .statusbartext, .tooltiptext )\nUnd gerne schalte ich auch mal Elemente temporär ab, ohne alle notwendigen Eigenschaften dafür alle einzeln umzusetzen – es wird einfach die Schriftart auf durchgestrichen geändert und die folgenden Zeilen erledigen den Rest:\nKorrektur von DisplayCount\nBesonders praktisch finde ich außerdem einen Hook für Comboboxen zur Festlegung der Anzahl der angezeigten Zeilen. Dies ist z.B. besonders praktisch im Filterformular für die Anzeige der auswählbaren Felder, denn der Standard von 7 Elementen ist meist nicht ausreichend. Mit der neuen Funktion SYS(2910) kann man die Anzahl der angezeigten Elemente in Auswahllisten einstellen, aber das bezieht sich nicht auf Comboboxen. Gerade im Filterformular ist das störend, da dort in der aktuellen Version von VFX nicht mit der Tastatur gescrollt werden kann, da direkt in das Wertfeld gesprungen wird. Dies kann man im Formular hardcodiert einstellen:\nthisform.grdExpressions.colFields.cmbFields.DisplayCount = lnitem+1\nOder man setzt global über einen Hook die Anzahl der angezeigten Einträge z.B. von 7 auf 15 hoch. Wesentlich höher sollte man den Wert nicht setzen, da sonst die Combobox nach oben oder unten aus dem Bildschirm wandert.\nCASE lcbaseclass =="COMBOBOX"\nIF .DisplayCount = 0\n.DisplayCount = 15\nWenn der Wert höher als die Anzahl der anzuzeigenden Elemente sein sollte, stört dies nicht weiter. Man kann DisplayCount bei einer Combobox mit 10 Elementen auch auf 99 setzen, ohne das Fehler auftreten oder mehr als die 10 vorhandenen Elemente gezeigt würden.\nDefaultfarben für benötigte Felder\nKomplizierter werden die Hookdefinitionen natürlich, sobald es sich um die Einstellung von Eigenschaften handelt, die nicht schon in der Basisklasse vorhanden sind, sondern erst ab einer bestimmten Subklasse in der Vererbungshierarchie. Da muß man natürlich erstmal prüfen, ob die Eigenschaft überhaupt vorhanden ist, um Fehlermeldungen zu vermeiden. Ein Beispiel dafür wäre die zentrale Einstellung der Farben von Steuerelementen für benötigte Felder (.crequiredfields) in Visual Extend ab der Version 9.0 statt individuell Einstellung in jeder Maske wie folgt:\nIF tcevent="INIT" AND lcbaseclass="FORM" AND ;\npemstatus( toobject, "crequiredfieldfailureprops", 5)\n.crequiredfieldfailureprops = ;\nEVL(.crequiredfieldfailureprops , ;\n.crequiredfieldinitprops = ;\nMan beachte insbesondere die Verwendung der Funktion EVL, um zu vermeiden, das im Formular bereits vorhandene abweichende Definitionen überschrieben werden. EVL eignet sich auch besonders für die Festlegung von Defaultwerten für übergebene Parameter in Methoden und Funktionen. Aufwändiger zu schreiben aber im Ablauf evtl. performanter wäre eine IF-ENDIF-Prüfung auf EMPTY().\nChildformulare aus Childgrids aufrufen\nAber lösen wir doch einmal ein kompliziertes Problem! Ich möchte z.B. gerne aus Childgrids in einem VFX-cOneToMany-Formular auf Doppelklick oder Returntaste korrespondierende Childformulare aufrufen. Sofern ich über den Parent/Child-Builder die entsprechenden Child-Formulare verknüpft habe, müsste ich nur die Eintragsnummer übergeben und mehr wäre nicht zu tun. Wenn, ja wenn, die VFX-OnKeyEnter-Methode des VFX-Childgrids denn genauso aufgerufen werden würde, wie dies in den normalen VFX-Grids passiert. Dies ist nur leider nicht der Fall! Wollte ich es auf die abwärtskompatible Art von VFX tun, müsste ich nunmehr in sämtliche Textboxen entsprechenden Aufrufcode platzieren. Das ist für die Builder einfach, da die einfach die Vorlage aus der VFXCODE.DBF kopieren, aber manuell ist das doch etwas zu aufwändig – insbesondere bei der Pflege, wenn weitere Spalten hinzukommen. Man könnte das leicht bei einer neuen Spalte vergessen…\nDeshalb nehmen wir lieber die neue BINDEVENT-Funktion von Visual FoxPro und platzieren diese in einem Hook. Allerdings möchten wir die Funktionalität nicht unbedingt bei jedem Childgrid, weshalb wir die Eigenschaft TAG mit irgendeinem Wert belegen (in diesem Fall die Klausel „ONMORE“). Das sieht dann wie folgt aus:\nIF tcevent="INIT" AND lcbaseclass="GRID" ;\nAND UPPER(.class) = "CCHILDGRID" ;\nAND "ONMORE" $ UPPER(.tag )\nFOR lnCounter = 1 TO.ColumnCount\n"KeyPress", toObject, "onkeyenter")\n"DblClick", toObject, "onkeyenter")\nUnd schon leiten sämtliche Textboxen der markierten Childgrids Ihre Keypress und DblClick-Events an die OnKeyEnter-Methode des Childgrids weiter. Statt an OnKeyEnter kann man es natürlich auch an die Methode DblClick binden, das ist Geschmackssache außer das die Grid.DblClick-Methode natürlich auch direkt durch den Anwender aufrufbar wäre.\nIn der Methode DblClick or OnKeyEnter müssen wir unbedingt eine LPARAMETER-Anweisung mit einbauen, damit das gebundene Ereignis auch empfangen werden kann! Desweiteren wollen wir für den Fall der Returntaste den Tastendruck mit CLEAR TYPEAHEAD verwenden und unsere eigene Funktion aufrufen wie folgt:\nTHISFORM.OnMore( <n> )\nDas ist jetzt allerdings eine etwas sehr minimalistische Variante. Leider bietet das VFX-Childgrid noch keine leere Methode mitsamt Hook für diesen Fall an (was aber verbessert werden wird), so dass wir an dieser Stelle ohnehin keinen Hook einsetzen können. Also müssen wir in jedem Childgrid die entsprechende Methode ausprogrammieren wie folgt:\nIF THISFORM.nformstatus=0 or THIS.ReadOnly\nIF ( THISFORM.nformstatus=0 OR THIS.ReadOnly )\nAND NOT EOF( THIS.RecordSource )\nTHISFORM.OnMore( 1 )\nDas Childformular wird nur aufgerufen, wenn die Maske nicht im Bearbeitenmodus ist bzw. wenn das Childgrid ohnehin Readonly ist und wenn ausserdem überhaupt Daten im Childgrid vorhanden sind. Im Beispiel wird die OnMore-Methode mit dem Parameter 1 aufgerufen. In einer separaten Methode am Childgrid könnte man das natürlich auch generisch ausformulieren und den Parameter ebenfalls aus der Eigenschaft .Tag oder einer zusätzlich definierten Eigenschaft auslesen. Aber zumindest bis hierhin hat uns ein einfacher Hook gebracht.\nOnMore-Funktionen auf Shortcut-Menü\nWo wir gerade beim Wiederverwenden von OnMore-Funktionen sind, noch ein anderes kleines Beispiel. Die Auswahlmaske für Zusatzfunktionen auf der Funktionstaste F6 ist zwar sehr hilfreich, aber manche mögen es gerne moderner und hätten Zusatzfunktionen gerne auf der rechten Maustaste, auch wenn man den OnMore-Dialog etwas modernisieren kann (z.B. Borderstyle=Fixed Dialog, Closable=.T., Maske größer). Nachfolgend deshalb eine Funktion die auf Formularebene (Objektreferenz ToForm) die alle OnMore-Funktionen als Rechtsklick-Menü zur Verfügung stellt:\nLOCAL lnCount, lcCmd, lnMax\nlnMax = TOFORM.onmore( -1, @laArray)\nIF lnMax > 0\nDEFINE POPUP onmore SHORTCUT RELATIVE ;\nFOR lnCounter = 1 to lnMax\nDEFINE BAR lnCounter OF onmore ;\nPROMPT laArray [lnCounter,1] ;\nMESSAGE laArray [lnCounter,2]\nlcCmd = "ON SELECTION BAR lnCounter" + ;\n"OF onmore =_screen.activeform.onmore(" + ;\nACTIVATE POPUP onmore\nDieses Beispiel basiert allerdings darauf, dass die OnMore-Methode bei Übergabe von -1 als Aufrufparameter als Rückgabewert die Anzahl der verfügbaren Funktionen liefert und im zweiten Parameter per Referenz das Array zur Verfügung stellt. Dies macht es derzeit leider noch etwas problematisch, dieses Beispiel zusammen mit dem Parent/Child-Builder einzusetzen.\nHinweis: Bestimmte Einträge in der OnMore-Methode kann man mit einer Abfrage auf den Übergabeparameterwert -1 klammern und somit nicht zur Verfügung stellen, wenn die Rechtsklickfunktion das Array abholt. Dann muß man allerdings mit einer Zählvariablen a la lnCounter=lnCounter+1 arbeiten und diese als Offset im Array benutzen, statt feste Arraydimensionen. Dies sollte man aber sowieso tun, weil man dann problemlos die Reihenfolge von Einträgen ändern kann (steht übrigens auch auf unserer Wunschliste…).\nZusätzlich ist es sinnvoll, das Rightclick-Event von Labels und Container an den Parent weiterzuleiten sowie von Pages an den Parent.Parent.Rightclick bzw. direkt an Thisform.Rightclick, damit bei diesen Elementen ebenfalls das Rechtsklickmenü des Formulars zur Verfügung steht.\nStandardberichte nicht immer als Standard\nKommen wir zu einem weiteren ganz anders gelagerten Beispiel: Wenn man in der Eigenschaft .cReportName eines beliebigen VFX-Datenformulars einen Standardbericht einträgt, wird dieser IMMER verwendet und als Liste ausgedruckt. Damit steht die Selbsterstellungsmöglichkeit von Listen leider nicht mehr zur Verfügung. Manchmal möchte man aber gerne beides haben, einen Standardbericht und den VFX-Listendesigner.\nJetzt könnte man in der OnPrint-Methode einfach folgendes schreiben:\nWenn die Suchseite aktiv ist, erscheint daraufhin der Standard-VFX-Listendesigner. Auf allen anderen Seiten hingegen wird direkt der Standardbericht für das Formular gedruckt. Das verstehen sogar einfache Anwender. Damit hätten wir eine erste schnelle Lösung.\nNur für Entwickler ist das eigentlich nicht ganz so toll. Denn leider müsste man diesen Code in sämtliche Formulare in die OnPrint-Methode kopieren, welche einen Standardbericht zur Verfügung stellen sollen. Dies wäre für die Wartung sehr ärgerlich, insbesondere wenn man auf die zusätzliche Idee kommt, dass man auf den normalen Bearbeitungsseiten mit dem Standardbericht nur den aktuellen Datensatz ausdrucken möchte (z.B. Bestellung, Rechnung usw.).\nDeshalb lösen wir das Problem über einen selbstdefinierten Hook, der auf das Ereignis OnPrint bzw. OnPostPrint lauert. Sie müssen allerdings am Ende der OnPostPrint-Methode der cDataForm-Klasse noch folgenden Hookaufruf einfügen:\n*-- Ergänzung cDataForm.OnPrint: OnPostPrint-Hook\nluhookvalue = THISFORM.oneventhook(;\nIn einem zukünftigen Build von Visual Extend wird dieser weitere Hook bereitstehen. Schauen Sie also erst nach, ob die obigen Zeilen in Ihrer Version nicht ohnehin enthalten sind. Falls nicht, ist das Hinzufügen kein Problem, da es in einem weiteren Build ja sowieso dazukommen wird…\nUnd hier der Quellcode für den eigentlichen Hook, der die gesamte Arbeit für uns übernimmt. Sofern in der VFX-Standardeigenschaft .cReportName ein Vorlagebericht definiert ist, wird dieser von Einzelseiten aus für den aktuellen Satz gedruckt; in der Übersicht hingegen steht weiterhin der VFX-Listendesigner zur Verfügung. Benötige Eigenschaften werden notfalls schnell zum laufenden Formular addiert:\nCASE lcBaseclass == "FORM" AND ;\n( tcevent == "ONPRINT" or ;\ntcevent == "ONPOSTPRINT" )\n*-- Ausführung wenn man drucken darf und kann\nIF NOT .lCanPrint OR .lEmpty\nlcontinue = .F.\nIF tcevent == "ONPRINT"\n*-- Erster Eventaufruf\n*-- Fehlende Eigenschaften anlegen\nIF NOT Pemstatus( toObject, "cPrintReportName", 5)\n.addproperty( "cPrintReportName", .creportname )\nIF NOT Pemstatus( toObject, "cPrintFilterSave", 5)\n.addproperty( "cPrintFilterSave", FILTER() )\n*-- Druck aus Übersicht\n*-- Defaultreport abschalten\nIF .pgfpageframe.activepage = .npagelist\nIF NOT EMPTY( .creportname )\n.cPrintReportName = .creportname\n.creportname = ""\n*-- Druck aus Default\n*-- Filter und ggf. Defaultreport setzen\nIF NOT EMPTY( .cPrintReportName )\n.creportname = .cPrintReportName\n.cPrintFilterSave = FILTER()\nlnRecno = STR(RECNO())\nSET FILTER TO RECNO() = &lnRecno\nELSE && tcevent == "ONPOSTPRINT"\n*-- Nach Druck aus Übersicht\n*-- Defaultreport wiederherstellen\n*-- Nach Druck aus Detail\n*-- Filter wiederherstellen\nIF EMPTY( .cPrintFilterSave )\nlcFilter = .cPrintFilterSave\n.cPrintFilterSave = ""\nWie Sie sehen, kann man mit einem etwas komplexeren aber immer noch nicht wirklich komplizierten Hook das Standardverhalten einer mit Visual Extend generierten Anwendung in ganz erheblichem Maße anpassen! Kopieren Sie einfach den obigen Code in Ihren Eventhandler und schon können auch Sie diese Funktionalität verwenden.\nComboboxen sind in Visual FoxPro stellenweise etwas trickreich. Als Vorgabe ist der Style=1 (Dropdown Combo) voreingestellt, der sowohl die Auswahl eines Wertes aus einer aufklappenden Liste oder die Neueingabe eines Wertes ermöglicht. Neu eingegebene Werte aber müssen dann in die Auswahlliste transferiert werden, damit sie bei der nächsten Anzeige des Elements auch noch sichtbar sind. Und wenn man den Style=2 (Dropdown List) einstellt, kann der Anwender nur noch Auswählen, was die Combobox unfreiwillig in ein Pflichtfeld wandelt, welches nie wieder ohne Wert sein kann, sofern man nicht in sämtlichen Listen einen Leerwert zusätzlich definiert, was sehr unpraktisch sein kann.\nDeshalb wollen wir im Rechtsklickmenü der Combobox für diesen Fall eine zusätzliche Möglichkeit anbieten, den Wert zurückzusetzen. Dafür müssen wir in die Methode Rightclick der Basisklasse. Unser Fall macht natürlich nur bei Style=2 einen Sinn. Zusätzlich sollte aber eine selbstdefinierte Eigenschaft (hier lResetValue) abgefragt werden, da die Funktionalität bei Pflichtfeldern z.B. unerwünscht wäre.\nNach DEFINE BAR 5 / ON SELECTION BAR 5 fügen wir in der Rightclick-Methode folgenden Code ein:\nIF .style = 2 AND ;\n.lresetvalue = .T. AND ;\nNOT EMPTY(.Value ) AND ;\nNOT thisform.lempty AND ;\nDEFINE BAR 6 OF shortcut PROMPT "\_-"\nDEFINE BAR 7 OF shortcut PROMPT "Reset Value"\nON SELECTION BAR 5 OF shortcut ;\nON SELECTION BAR 7 OF shortcut ;\nUnd in die neue Methode Resetvalue an der Comboboxbasisklasse kommt dann folgender Codeabschnitt:\n.DisplayValue = ""\nWenn man sich im Gotfocus-Event in einer Eigenschaft den DisplayValue beim Betreten des Feldes in einer Eigenschaft merkt, kann man alternativ oder zusätzlich das zurücksetzen auf den ursprünglichen Wert anbieten.\nMit ein bißchen leider noch fehlender Verfeinerungsarbeit kann man den ersten Aufruf natürlich wiederum in einen Hook einbauen, der auf Combobx.Rightclick reagiert und statt einer Methode eine Funktion aufruft. Den zusätzlichen Schalter würde man aber vermutlich trotzdem benötigen.\nOrt aus Postleitzahl vorbelegen\nSoviel erstmal zu Hooks. Kommen wir zu einem weiteren typischen Beispiel, welches in praxisnahen Anwendungen immer wieder vorkommt. Wenn der Anwender eine Postleitzahl eintippt, kann man in vielen Fällen daraus problemlos den entsprechenden Ort ableiten ohne dass der Anwender diesen nochmals tippfehlerbehaftet eintippen müsste oder wirklich separate Steuertabellen benötigt werden. IntelliSense oder eine Combobox helfen dabei aber nicht wirklich weiter. Deshalb platziere ich im Valid-Ereignis der PLZ-Textbox folgenden Code:\nIF NOT EMPTY(.value )\nIF EMPTY( .Value )\nlcValue = getcityforzip( ;\n<adressen.land>, THIS.Value )\n.value = lcValue\nBei Eingabe einer Postleitzahl wird damit mit nachfolgender Funktion nach anderen Datensätzen gesucht, die als PLZ oder als Postfach-PLZ bereits die gleiche PLZ verwenden und einen Ortseintrag haben. Alle anzupassenden Werte stehen in eckigen Klammern.\nLPARAMETERS tcCountry, tcZip\nLOCAL lnSelect, lcReturn, lcAlias\ntcCountry = ALLTRIM( tcCountry )\nif EMPTY( tcCountry )\ntcCountry = <"Deutschland">\ntcZip = ALLTRIM( tcZip )\nIF NOT EMPTY( tcCountry ) AND NOT EMPTY( tcZip )\nlcAlias = "findcity4zip"\nUSE <adressen> ALIAS ( lcAlias ) ;\nIN 0 AGAIN SHARED\nLOCATE FOR <land> = tcCountry AND ;\n<plz> = tcZip AND ;\nNOT EMPTY( <ort> )\nlcReturn = <ort>\nLOCATE FOR <land> = tcCountry AND :\n<plz_pf> = tcZip AND ;\nNOT EMPTY( <postfach> )\nlcReturn = <postfach>\nlcReturn = ALLTRIM( lcReturn )\nDaraus könnte man natürlich auch einen vollständig parametrisierten Funktionsaufruf machen, der im Valid der PLZ-Textbox (oder PLZ-Postfach-Textbox) leicht aufgerufen werden kann. Das wäre allerdings für das Verständnis des Ablaufs wenig hilfreich. Ansonsten benötigt die obige Funktion das Framework VFX nicht sondern kann generell eingesetzt werden.\nVFX-PDF-Installation ohne Internet\nZurück zu VFX und zum Thema Berichte: Um die PDF-Ausgabe von Visual Extend auch bei Anwendern installieren zu können, die keinen Internetzugang haben, so dass die automatische Installation nicht funktioniert, gibt es einfache Möglichkeit. Man kann in das Verzeichnis von SYS(2023), normalerweise C:\_Dokumente und Einstellungen\_<Username>\_Lokale Einstellungen\_Temp, einfach die entsprechende Installationsdatei von Ghostscript unter ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/gs814/gs814w32.exe kopieren. Sofern die Datei dort vorhanden ist, wird seitens VFX der automatische Internetdownload gar nicht erst versucht. Dies beschleunigt natürlich die Installation auch wenn ein Internetzugang tatsächlich verfügbar wäre.\nPS: Sofern Sie Ihre VFX-Version lange nicht aktualisiert haben, sollten Sie diesen Pfad in der VFXSYS.DBF im Feld install_gs überprüfen und ggf. mit obiger Angabe aktualisieren!\nSofern ein unterstützer Faxtreiber vorhanden ist, kann man mit folgendem Pseudocode aus VFX heraus einen Bericht an eine Faxnummer versenden:\nloFax = NEWOBJECT("cFax")\nDabei wird für FritzFax ein temporärer Registry-Eintrag mit der Telefonnummer erzeugt und WinFax wird per OLE angesteuert, damit die jeweilige Faxsoftware nicht erneut in einem Dialog nach der Empfängernummer fragt.\nSofern die PDF-Unterstützung konfiguriert ist, können Sie auch einen Bericht per eMail versenden. Leider muss man da etwas mehr wissen als beim reinen Faxversand. Hier ebenfalls nur Pseudocode für das Prinzip und die Ausführung innerhalb von VFX:\nlcreportname = <berichtsdatei>+".frx"\nloEmail = CreateObject("CEmail")\nDO Form vfxEmailDetails WITH ,,loEmail to oEmailDetails\nlcEmail = oEmailDetails.cEmail\nlcSubject = oEmailDetails.cSubject\nlcText = oEmailDetails.cText\nlcCCRecipient = oEmailDetails.cCCRecipient\nlcBCCRecipient = oEmailDetails.cBCCRecipient\nlcFor =  && ggf. Bericht filtern..\n*-- Berichtserstellung und Versand\nlcFileName = ForceExt(lcreportname, "pdf")\nloEmail.AddAttachment(lcAlias, lcFileName, lcreportname, lcFor)\nloEmail.send_email_report(lcEmail, lcSubject, lcText, lcCCRecipient, lcBCCRecipient)\nSET DEFAULT TO (lcDefault)\nWeitere Details zur Umsetzung finden Sie in der Methode OnPrint in der Klasse cDataForm.\nKomprimieren der VFX-Messagetabelle\nSofern man in einer Anwendung nur einsprachig oder mit wenigen Sprachen arbeitet, und seine Projekt-Entwicklungsumgebung sichern oder versenden möchte, empfiehlt sich das Komprimieren der VFXMSG.DBF, da diese eine nicht unbeträchtliche Größe hat. Am einfachsten löscht man den Inhalt der nicht benötigten Sprachspalten mit einem einfachen Replace-Befehl a la\nREPLACE ALL esp with "", fre with "", ;\nita with "", bul with "", ;\ngre with "", cze with "", ;\nnl with "" , por with "", ;\nru with "" , fin with "", pl with ""\nund führt danach ein PACK MEMO aus. Bei der Installation eines neuen Builds von VFX werden neue Messagetexte natürlich wieder für alle Sprachspalten übernommen und man muss die entsprechenden Befehle erneut absetzen.\nWeglassen von VFX-Komponenten\nWas man unter VFX vor einer Auslieferung der eigentlichen Anwendung tun kann, um Speicherplatz einzusparen, aber gelegentlich gerne vergisst:\nZAPen der VFXLOG.DBF, denn der Kunde soll ja nicht alle unsere Fehlereinträge vom Testen sehen. Außerdem wächst die Datei bei Einschaltung der kompletten Protokollierung (siehe VFX Application Wizard/Builder) recht schnell an!\nZAPen des AuditTrails in VFXAUDIT.DBF, sofern dieses über den VFX AuditTrigger-Wizard eingeschaltet wurde. Den Anwender interessieren unsere Testdatenänderungen eher weniger. Ohne Verwendung des Audit-Trails kann man die Tabelle auch ganz weglassen.\nZAPen der VFXUSERLOG.DBF, da das Protokoll der Useranmeldungen bei der Auslieferung ebenfalls leer sein sollte.\nZAPen der VFXRES.DBF, da die bisherigen Voreinstellungen nicht mit ausgeliefert zu werden brauchen.\nWeglassen von VFXHELP.DBF, da diese nur in der Entwicklungsumgebung benötigt werden.\nWeglassen von VFXMSG.DBF, sofern keine Laufzeitlokalisierung verwendet wird. In letzterem Falle sollte die Tabelle inkludiert und nicht separat mitgeliefert werden.\nWeglassen von VFXPATH.DBF und ausschliessen der Formulare VFXCLIEN und VFXPATH, sofern man nicht mit Mandanten arbeitet.\nWeglassen von VFXREP.DBF, VFXRTEMP.DBF und VFXRTYPE.DBF, sofern man nicht mit der Klasse CRSELECTION zur Berichtsauswahl aus VFXREP.VCX arbeitet.\nSofern man die Listendefinitionen nicht verwendet, kann man die Tabellen VFXPDEF und VFXPLIST sowie das Formular VFXPLIST ausschliessen. Der Menüpunkt „Extras->Verwaltung von Auswahllisten“ ist natürlich zu löschen. Bringt aber nicht viel Platzersparnis.\nSofern man die Toolbox nicht verwendet, kann man die Tabellen VFXTOOLBOX und VFXTOOLTYPE sowie 6 Formulare beginnend mit VFXTOOL* und die dazugehörige Klassenbibliothek ausschließen. Der Menüpunkt „Extras->Werkzeugkasten“ ist natürlich zu löschen.\nSofern man die Fernwartung nicht verwenden möchte, kann man die Memofelder in Datensätzen mit dem Typ RADMIN in VFXINTERNFILES.DBF löschen.\nSofern man keine Aktivierungsschlüssel verwenden möchte, kann man die Formulare VFXREGISTER UND VFXREQUESTREPLACEMENTKEY ausschliessen.\nSofern man den neuen Berichtsgenerator von VFP 9.0 nicht verwendet, kann man die Berichts-Apps weglassen sowie die Klassenbibliotheken _FRXCURSOR und _REPORTLISTENER ausschliessen\nSofern man keine Client/Server-Anwendung erstellt und auch nicht mit CursorAdaptor-Klassen arbeitet (auch nicht auf VFP-Tabellen), könnte man darüber hinaus einige Formulare ausschliessen (vfxclientdataaccess, vfxcreateconnstr, vfxdun, vfxgetdbconnection, vfxservers, vfxsqlstr,\nDa es aber sehr häufig vorkommt, dass man zu einem späteren Zeitpunkt doch wieder entsprechende Funktionalitäten in der Anwendung aktivieren möchte, empfehlen wir einfach das Zappen bzw. Weglassen der oben aufgeführten Tabellen.\nInstallation von VFX-Anwendungen\nMit dem RuntimeInstaller der dFPUG kann man die Laufzeitumgebung für Visual FoxPro problemlos installieren. Dazu kommen dann noch die lokalisierten Applikationen für Berichtsausgabe, Vorschau und Bearbeitung. Damit wäre alles bis auf die eigentliche Anwendung und die Mitlieferung der VFX.FLL soweit vorbereitet, aber sofern man alle Möglichkeiten von Visual Extend in seiner Applikation verwendet, kommen dann doch noch ein paar weitere Dateien hinzu:\nTreeView - MSComctl.ocx (v6.0 SP6) für Treeview-Formulare\nImageList - MSComctl.ocx (v6.0 SP6) (Microsoft Windows Common Controls 6.0) für z.B. die Favoritenanzeige\nMonth View - MSComct2.ocx (v6.0 SP6) für die Kalenderanzeige in Datumsfeldern\nSOAP - mssoap30.dll (v3.0) für die Verarbeitung von XML\nMSMAPI.ocx (es sollte jede Version gehen) für die Mailansteuerung\nMSCHRT20.ocx für die Businessgrafiken\nDiese Dateien sind zwar meist auf den Kundenrechnern vorhanden, aber dessen kann man sich nicht sicher sein und kommt deshalb um eine entsprechende Installationsroutine nicht herum.\nZusatzdateien für Hilfeaufruf\nSofern man mit dem VFX Help Wizard seine Helpcontext-Ids in allen Formularen gesetzt und aus der generierten und gefüllten VFXHELP.DBF eine Hilfedatei über den HelpWorkshop erstellt hat, liegt zwar eine schön .CHM-Datei vor, aber leider benötigt die generierte Anwendung noch die Dateien Foxhhelp9.exe und foxhhelpps9.dll (gleiches gilt für die Version 8), um die Hilfe aufrufen zu können. Da unter Windows XP der Suchen-Dialog nicht automatisch alle Verzeichnisse durchsucht, schauen Sie am besten direkt unter „C:\_Programme\_ Gemeinsame Dateien\_ Microsoft Shared\_ VFP“ nach zwecks Mitlieferung. Dort finden sich übrigens auch die verschiedenen Runtimebibliotheken und die gdiplus.dll. Bitte beachten Sie, dass die beiden Dateien entsprechend registriert werden müssen (regsvr32 foxhhelpps9.dll bzw. foxhhelp9.exe /regserver).\nSofern man Anwendern Berichte für die Bearbeitung freischalten oder aktualisierte Berichte ohne Gesamtauslieferung der kompilierten Anwendung versenden möchte, muß man die Berichtsdateien in der Projektdatei via rechte Maustaste exkludieren. Zumindest aus meiner Sicht „leider“ werden von Visual FoxPro Berichte defaultmäßig mit in die EXE einbezogen und blähen diese wahnsinnig auf. Ausserdem ist keine Änderung durch den Anwender mehr möglich. Am Stück ändern kann man das mit folgenden zwei Zeilen:\nreplace all exlude with .T. for type = "R"\nDas Verfahren kann man natürlich mit entsprechend anderer FOR-Klausel auch auf alle anderen Arten von Einträgen in Projektdateien anwenden und es ist nicht spezifisch für Visual Extend.\nIn Metadateien suchen\nUnd das gilt natürlich für alle weiteren FoxPro-Metadateien wie Formulare (.scx), Berichte (.frx), Menüs (.mnx) und so weiter, da es ja auch alles nur DBF-Tabellen sind. Um zum Beispiel einen vom Projekt als fehlerhaft gemeldeten Eintrag zu suchen, braucht man nur mit USE die Projektdatei öffnen und mit GOTO auf den entsprechenden Datensatz gehen.\noder bestimmte Wertbelegungen zu ändern. Elemente mit bestimmten Werten in Eigenschaften hingegen sucht man am besten wie folgt:\nbrowse for '<Eigenschaft>="<Wertanfang>' $ properties\nSofern man Klassen umbenennt und über das Codereferenztool nach weiterem Vorkommen des alten Namens zwecks Auffinden von abgeleiteten Klassen sucht, wird man um das Hacken der Metadateien von VFP nicht herumkommen. Im Codereferenztool findet man die Klasse nämlich, aber im Eigenschaftsfenster wird witzigerweise der neue Name angezeigt, obwohl im Namensfeld der Metatabelle immer noch der ursprüngliche Klassenname drinsteht!\nVFX-INI-Datei und VFX-Splash\nZwecks Erhalt des Microsoft-Logos „Verified for Windows XP“ war es notwendig verschiedene Speicherpfade von Dateien zu ändern, so auch der INI-Datei von Visual Extend. Diese findet man nunmehr unter „C:\_Dokumente und Einstellungen\_ All Users\_ Anwendungsdaten\_ dFPUG\_ Visual Extend\_ 9.0“ (oder natürlich 9.5).\nDort kann man übrigens unter [VFX] mit dem Eintrag SPLASHSCREEN=NO den Startbildschirm von VFX für die Entwicklungsumgebung einfach abschalten – nur falls es jemanden stören sollte.\nArbeiten mit Terminalserver\nIn der Visual FoxPro Hilfe findet man eine kurze Erläuterung der SYS-Funktion SYS(602), die den Bildschirmaufbau unter Terminalservern beschleunigen kann. Dort wird darauf hingewiesen, dass man das Vorhandensein einer Terminalserver-Instanz auf dem aktuellen Rechner über OS(10) feststellen kann. Leider sagt einem diese Funktion nicht, ob die aktuelle Anwendung auch tatsächlich in einer Terminalserver-Session läuft. Deshalb empfehlen wir die Verwendung der Windows-Funktion GetSystemMetrics im Hauptprogramm (vfxmain.prg) wie folgt:\nIF GetSystemMetrics(4096) != 0\n*-- ggf. hier: SYS(3050,1 bzw 2, <reduzierter Speicherbedarf)\n*-- für weniger Speicherbedarf der Anwendung unter Terminalserver\nAuf dem Terminalserver gibt es darüber hinaus noch eine weitere Problematik. Anwender können sich von einer Session abmelden, ohne die laufende Anwendung zu beenden. Diese läuft dann sprichwörtlich ewig weiter und verhindert exklusiven Zugriff auf Tabellen auch zu nachtschlafender Zeit. Da es natürlich unhöflich ist, so einen Task dann einfach zu beenden, sollte die Anwendung selbst dafür Sorge tragen - und zwar mit Hilfe eines Timers in der Anwendung, der diese z.B. nach einer Stunde Leerlauf zwangsbeendet.\nEin Timer ist leicht an das globale Programmobjekt addiert. Aber so einen Timer muss man natürlich immer wieder zurücksetzen, wenn der Anwender aktiv ist. Dafür bietet sich die VFX-Funktion oneventhookhandler an, die ja fortwährend durchlaufen wird. Damit mir aber nicht meine Entwicklungsumgebung beendet wird, wollte ich dabei den _VFP.StartMode abfragen. Das führt bei einem Aufruf am Anfang des Eventhookhandlers aber plötzlich zu einem OLE-Fehler bei diversen Anwendern! Deshalb die Empfehlung, das in ein seltener aufgerufenes Event zu verschieben und die Version-Funktion zu verwenden wie folgt:\nIF TYPE("goprogram")="O" AND NOT ISNULL(goprogram) AND VERSION(2)=0\n*_vfp.StartMode != 0\nDie entsprechende Methode muss man sich natürlich noch anlegen, die den Timer jeweils zurücksetzt...\nWenn Visual FoxPro in einem SQL-Statement eine benötigte Tabelle nicht findet, erscheint ein Dateiauswahldialog, in welchem der Anwender wahllos irgendeine Tabelle auswählen oder über einen Button sogar versehentlich löschen kann. Von diesem Dialog fühlen sich nicht nur die meisten Anwender schlicht überfordert, sondern auch Administratoren halten so einen Dialog z.B. auf einem Terminalserver für eher unglücklich.\nZum Glück gibt es dafür die neue SET-Funktion SET TABLEPROMPT OFF. Statt dem Dialog erhält man eine handfeste Fehlermeldung und kann die Anwendung leidlich sauber beenden, statt in eine völlig unberechenbare Situation einer vom Anwender willkürlich ausgewählten Tabelle mit einer Vielzahl von möglichen Folgefehlern zu stolpern.\nIm englischen Hilfstext wird es zwar nicht klar gesagt, aber SET TABLEPROMPT ist scoped, d.h. dieser Befehl muss in jeder Datasession neu gesetzt werden. Dies kann man in VFX vor 9.5 in der Funktion formsetup in dem Programm applfunc.prg tun. Ab VFX 9.5 gibt es dafür ganz einfach die Eigenschaft lTableprompt am Applikationsobjekt.\nManchmal dauert der Aufbau eines Formulars im Netzwerk einfach zu lange, weil man vielleicht sehr viele Tabellen öffnen und für diverse Grids positionieren muß. Dabei kommt einem dann der Screen-Refresh heftig in den Weg, da dieser beim Aufbau der Maske möglicherweise mehrfach aufgerufen wird. Marcia Akins und Andy Kramek haben mir dafür nachfolgende Funktion zur Verfügung gestellt, die ich gerne kurz vorstellen möchte.\nStatt dem möglicherweise vielfach verschachtelten Aufruf der Lockscreen-Funktion von Visual FoxPro kann man die Windows-Funktion LockWindowUpdate verwenden, um ein Screen-Refresh ganz abzuschalten. Die Funktion muß man in seinem Hauptprogramm (vfxmain.prg) einmal wie folgt deklarieren:\nIn das Init des jeweiligen Formulars kommt der folgende Aufruf:\nThisform.ReallyLockScreen( .T. )\nUnd in das Activate des jeweiligen Formulars kommen folgende Zeilen:\nIF NOT EMPTY( DODEFAULT())\nThisform.ReallyLockScreen( .F. )\nUnd jetzt müssen wir nur noch die Methode ReallyLockScreen in unserer Formularbasisklasse (cform in vfxobj.vcx oder cdataform in vfxform.vcx) anlegen und mit folgendem Inhalt füllen:\nDas lässt sich natürlich in jedes Formular oder jede Formularbasisklasse einbauen und ist nicht VFX-spezifisch. Aber es funktioniert sehr gut, auch wenn es sich nur für wirklich aufwändige Formulare lohnt.\nImmer wieder kommt es vor, dass ein Anwender einem einmal eine Tabelle schicken soll und dabei mit den Endungen durcheinander kommt, oder dass ein Anwender Daten unbedingt in Excel haben möchte, aber mit der Bedienung der Anwendung nicht hinreichend klar kommt. Für diese Anwender bzw. diese Fälle platziere ich gerne auf die Schnelle einen kleinen Excel-Button auf dem Formular mit folgendem Code im Click-Event:\nLOCAL lnRecno, lnSelect, lcAlias\nlcAlias = EVL( tcAlias, thisform.cworkalias )\n_vfp.datatoclip( lcAlias, , 3)\nWAIT WINDOW "Records copied to clipboard and Excel opened, insert data with CTRL+V." NOWAIT\nIF lnRecno > 0 AND lnRecno <= RECCOUNT()\nEinmal draufklicken und im bereits gestarteten Excel die Daten einfügen, fertig. Den Text für das WAIT WINDOWS muss man noch anpassen oder dafür die weiter unten erwähnte Funktion GETSOUND verwenden. Die Funktion ShellExecute muss natürlich im Hauptprogramm definiert worden sein. Falls dies nicht der Fall sein sollte, folgende Zeilen einkopieren für die sehr praktische Funktion:\nDamit der Button auch schön aussieht und sich im Resizer richtig verhält, stellen wir schnell noch ein paar Eigenschaften wie folgt ein:\nCaption = Excel\nComment = <NORESIZE>\nPicture = bitmap\_xls.bmp\nPictureMargin = 2\nPicturePosition = 1\nPictureSpacing = 0\nIn der Refresh-Methode müssen wir nur noch dafür sorgen, dass der Button auch nur in sinnvollen Situationen enabled ist (also nicht beim Bearbeiten oder wenn gar keine Daten vorhanden sind):\nTHIS.Enabled = .nFormStatus=0 AND NOT .lEmpty AND NOT EMPTY( .cworkalias )\nFertig ist der kleine Excel-Export-Button. Einfach auf das Formular kleben, am besten oben rechts neben die integrierte Toolbar, falls vorhanden. Und sofern man nicht die Haupttabelle exportieren möchte, sondern eine andere Tabelle kann man in das Click-Event des Buttons auf der Form einfach DODEFAULT( "<Aliasname>" ) schreiben...\nSounds in Anwendungen\nWindows macht immer so hübsche Töne bei bestimmten Ereignissen. Die wollte ich in meiner Anwendung auch unbedingt haben. Also ein Unterverzeichnis Sounds angelegt und die entsprechenden WAV-Dateien von Windows flugs kopiert. Und dann die nachfolgende Funktion GETSOUND in applfunc.prg eingebaut:\nLPARAMETERS tcCase, tcMessage, tcTitle\nLOCAL lcReturn, lcSetBell\ntcCase = EVL( tcCase, "" )\t\t&& gewünschter Sound\ntcMessage = EVL( tcMessage, "")\t&& optional: anzuzeigender Text\ntcTitle = EVL( tcTitle, "")\t\t&& optional: Titel für Messagebo\nlcSetBell = SET("BELL")\nCASE ".wav" $ tcCase\n* wav-filename already provided...\nlcReturn = tcCase\nCASE tcCase = "login"\nlcReturn = "Windows XP-Anmeldesound.wav"\nCASE tcCase = "logout"\nlcReturn = "Windows XP-Abmeldesound.wav"\nCASE tcCase = "warning"\nlcReturn = "Windows XP-Ping.wav"\nCASE tcCase = "error"\nlcReturn = "Windows XP-Fehler.wav"\nCASE tcCase = "critical"\nlcReturn = "Windows XP-kritischer Fehler.wav"\nCASE tcCase = "message"\nlcReturn = "Windows XP-Hinweis.wav"\nDie Funktion EVL stellt einem netterweise leere Strings bereit, wenn der Parameter gar nicht übergeben wurde. Die Sounds sind in diesem Beispiel natürlich hardcodiert, was man auch generisch über eine Steuertabelle lösen könnte. Alternativ könnte man natürlich die entsprechende Sound-Belegung des aktuellen Windows-Systems abfragen. Aber für eine erste einfach Implementation ist der obige Code völlig ausreichend. Und wahlweise kann man ein anderes .wav-File übergeben, das wir natürlich noch auf Vorhandensein prüfen müssen:\nIF NOT EMPTY( lcReturn ) AND NOT FILE( lcReturn )\nlcReturn = "sounds\_" + lcReturn\nIF NOT FILE( lcReturn )\nUnd dann brauchen wir es nur noch abspielen. Dabei kann man über eine globale Varialbe gs_usesound den Sound auch abschalten. Einfach ein Feld usesound in der vfxsys.dbf anlegen...\nIF NOT EMPTY( lcReturn )\nSET BELL TO (lcReturn)\nIF TYPE("m.gs_usesound")="U" OR m.gs_usesound\nIF lcSetBell = "OFF"\nSofern ein Messagetext übergeben wurde, wird der noch als WAIT WINDOW angezeigt. Gibt es zusätzlich einen Titel für eine Messagebox, wird natürlich stattdessen eine Messagebox angezeigt wie folgt:\nIF NOT EMPTY( tcMessage )\ntcMessage = LEFT( tcMessage, 250)\nIF EMPTY( tcTitle )\nWAIT WIND tcMessage NOWAIT\n=MESSAGEBOX( tcMessage, 16, tcTitle )\nDer eigentliche Aufwand ist nunmehr natürlich, die diversen Nachrichten-Anzeigen in seinem Programm herauszusuchen und um den entsprechenden Sound-Parameter zu erweitern...\nSET-Einstellungen und SYS-Funktionen\nEs gibt eine Vielzahl von SET-Einstellungen und SYS-Funktionen in Visual FoxPro und was wäre eine neue Version ohne weitere SETs und SYSs! Beim Update übersieht man dabei gerne die eine oder andere neue Möglichkeit, insbesondere wenn man beim Update eine oder gar mehrere Versionen von Visual FoxPro überspringt. Deshalb hier ein paar Hinweise auf von VFX nicht explizit ohnehin gesetzte Einstellungen und SYS-Aufrufe, die Sie in Ihrem Hauptprogramm (vfxmain.prg) nachtragen können:\nIn Visual FoxPro 8.0 funktionierte SET TABLEVALIDATE sehr gut. Aber mit Visual FoxPro haben einige Entwickler von fehlerhaften Fehlermeldungen berichtet. Setzen Sie ggf. SET TABLEVALIDATE TO 0, sofern Sie diese Funktionalität nicht explizit benötigen...\nManche Comboboxen enthalten arg viele Einträge und werden Bildschirmfüllen geöffnet. Mit Visual FoxPro 9.0 ist eine einfache Limitierung der Anzahl der angezeigten Einträge in einer Combobox mit der Funktion SYS(2910,<Anzahl>) möglich. Ich setze das in meinen Anwendungen z.B. auf 15.\nNicht neu ist SYS(2450,1 ), damit erst die Anwendung und dann der Pfad nach Komponenten durchsucht wird. Ebenfalls nicht neu ist SET OLEOBJECT OFF, damit bei der Suche nach Objekten nicht erst die ganze Registry durchsucht wird.\nStatt mühselig die verschiedene Themes-Eigenschaften umzuschalten, kann man auch einfach =SYS(2700,0 ) aufrufen, um den XP Themes-Support in der Anwendung pauschal abzuschalten...\nEine Checksumme für einen Datensatz kann man ganz einfach mit SYS(2017) für vor Änderungen zu schützende Tabellen (z.B. Tabellen mit Passwörtern wie VFXUSR) ermitteln.\nUnd noch ein letzter Tipp: Wussten Sie schon, dass man in AutoComplete-Auswahllisten durch das Drücken der Entfernen-Taste bei geöffneter Auswahlliste unerwünschte Einträge einfach wieder entfernen kann?\nNoch mehr Tipps und Tricks zu VFX\nTimeout einer Anwendung\nManchmal ist es störend, wenn Anwender in einem Netzwerk oder auf einem Terminalserver vergessen, die aktuelle Anwendung zu beenden und dann möglicherweise stundenlang oder gar über Nacht oder über das Wochenende mit Ihrer Anwendung auf Tabellen stehenbleiben. Da hilft nur ein selbstgebautes Timeout innerhalb der Anwendung!\nUm einen Timeout einer Anwendung zu erreichen, benötigen wir natürlich einen Timer basierend auf der Klasse ctimer in vfxobj.vcx. In das Time-Event kommt folgender Codeabschnitt:\nFOR lnform = .FORMCOUNT TO 1 STEP - 1\nIF TYPE("_screen.Forms[lnForm]")="O" AND !ISNULL(.FORMS[lnForm])\nDamit wird für sämtliche offenen Masken die Sicherheitsabfrage beim Speichern abgeschaltet und bei Vorhandensein von Änderungen, werden diese verworfen. Jetzt müssen wir nur noch dafür sorgen, dass der Timer auch bei Benutzeraktivitäten zurückgesetzt wird. Das einfachste Verfahren ist dabei ein Bindevent auf Tastendrücke wie folgt:\nBINDEVENT(_SCREEN, "keypress", goprogram, "timeout")\nUnd eine Methode Timeout hilft einem dann beim Zurücksetzen ebendiesen Timers:\nLPARAMETERS tnKeyCode, tnShiftaltctrl\nIF TYPE("m.gs_timeout")="N" AND m.gs_timeout > 0\n.nTimeoutSeconds = 0\nNatürlich gibt es dabei noch einige weitere Tricks, aber die heben wir uns für ein weiteres Build von VFX auf. Grundsätzlich funktioniert das obige Verfahren - man muss nur noch die Timeoutzeit einstellen...\nSounds auch unter Terminalserver ausgeben\nWie weiter oben beschrieben, kann man relativ leicht seine eigene Anwendung um Sound-Ausgabe erweitern. Leider funktioniert das einfache Beispiel unter Terminalserver nicht. Dafür ist stattdessen eine spezielle Windowsfunktion notwendig, die den Mediamanager für die Ausgabe ansteuert und den Sound dann auch wirklich auf dem Client abspielt wie folgt:\nDECLARE INTEGER PLAYSOUND IN WINMM.DLL STRING, INTEGER, INTEGER\n=Playsound( <name der .wav-datei>,0,1)\nDas Declare wird nur einmalig in der Hauptanwendung benötigt und in der erwähnten Soundfunktion kann man stattdessen die Playsound-Funktion aufrufen statt SET BELL umzusetzen und CHR(7) auszugeben.\nBitmaps an Farbtiefe anpassen\nAuf dem Terminalserver unter Windows 2000 ist im Gegensatz zu Windows 2003 die Farbtiefe auf maximal 256 Farben beschränkt, was einem aber möglicherweise auch auf niedrig eingestellten PCs passieren kann. Dies führt dann leider zu einer sehr unschönen Darstellung des normalen VFX XPOpen-Dialogs. Der nachfolgende Code schafft dabei Abhilfe:\nDECLARE INTEGER GetDeviceCaps IN WIN32API INTEGER, INTEGER\nIF GetDeviceCaps(GetDC(_WhToHwnd(_WMainWind())),12) <=8\nDie Auflösung der Darstellung wird über Windows-API-Funktionen ermittelt. Die Bilder des Dialogs werden dann ggf. auf eine 16-Bit-Variante umgestellt und alles sieht wieder schön aus.\nZIP-Funktion direkt aufrufen\nNatürlich kann man die integrierte ZIP-Funktion von VFX ganz schnell direkt aufrufen:\nSET LIBRARY TO VFX.FLL ADDITIVE\nCreateZipArchive(lcPath , lcFileMask, tcArchiveFullPathName, "This.ZIPProgress", ;\nlnCompressionLevel, llRecurseSubfolders, lcPassword)\nAber dann hat man kein Thermometer und keine schöne Anzeige der aus irgendwelchen Gründen nicht eingepackten Dateien. Die bekommt man, in dem man stattdessen die carchive-Klasse von VFX instanziiert, die einen Wrapper für die FLL-Funktion darstellt. Das geht ganz einfach wie folgt:\nloCreateArchive = CREATEOBJECT( "carchive" )\nllOK = loCreateArchive.CreateArchive(;\nlcDirectory, lcFileMask, lcArchiveName,;\nUnd schon hat man ein Thermometer und ggf. eine Anzeige problematischer Dateien. Wenn man die ZIP-Datei verschlüsseln möchte, kann man das z.B. mit der Zuweisung lcPassword = xcrypt( vfxusr.password ) tun, wenn man denn gerade auf dem richtigen Datensatz des Users steht. Oder einfach lcPassword = xcryxpt( gouser.password ) schreiben...


Wenger: Bayern München hat bei Gnabrys Wechsel von Arsenal zu Werder „manipuliert“ | Transfermarkt\n09.10.2019 - 13:54 | Quelle: beIN SPORTS/Transfermarkt | Lesedauer: unter 2 Min.\nWechselte 2016 zu Werder\nWenger über Gnabrys Arsenal-Abgang: „Denke, dass Bayern manipuliert hat“\n5 Millionen Euro bezahlte der SV Werder Bremen am Deadline Day 2016 für die Dienste des heutigen Nationalspielers Serge Gnabry (Foto) an den FC Arsenal. Der damals 21-jährige Außenstürmer verließ die „Gunners“ nach fünf Jahren, um in sein Heimatland zurückzukehren – und endlich den Durchbruch zu schaffen, der ihm in England zuvor verwehrt blieb.\nSchon früh kamen Berichte auf, nach denen sich der FC Bayern München an der Ablöse beteiligt habe, um Gnabry im Jahr darauf selbst zu verpflichten – was letztlich auch geschah. Den Berichten widersprach Weder-Sportchef Frank Baumann vehement. Vereinbarungen mit anderen Klubs gäbe es nicht. Arsène Wenger, damals noch Trainer Arsenals, erzählt retrospektiv eine andere Geschichte.\n„Wir haben für eine sehr lange Zeit versucht, seinen Vertrag zu verlängern“, sagte Wenger im Interview mit dem Sender „beIN SPORTS“. Im Sommer 2016 entschied sich Gnabry nach einer Saison mit nur einem Einsatz in der Premier League bei Leihklub West Bromwich Albion für einen Wechsel in die Bundesliga. „Ich denke, dass Bayern hinter den Kulissen manipuliert (wörtlich: „manipulate“, d. Red.) hat, dass er, wenn er nach Bremen geht, danach zu Bayern gehen würde“, sagte Wenger.\nCommunity Hier über den FC Bayern diskutieren Los geht's! „Er kam von einer sehr schlechten Erfahrung bei West Brom zurück, wo sein Vertrauen zerstört wurde. Ich habe versucht, ihn wieder aufzubauen, weil ich an ihn glaubte“, erklärte Wenger die Situation. Bei Werder gelang Gnabry schließlich der Durchbruch – in 27 Bundesliga-Partien traf er elfmal.\nSeit seinem Wechsel von London nach Bremen schraubte der Flügelstürmer seinen Marktwert von 3 Mio. auf aktuell 60 Mio. Euro – Tendenz steigend. Damit zählt er zu den größten deutschen Marktwert-Gewinnern überhaupt. Darunter auch sein Teamkollege Joshua Kimmich, der seitdem ebenfalls um 57 Mio. Euro zulegen konnte.\nDie größten deutschen Marktwert-Gewinner seit Sommer 2016\n„Er war immer ein sehr talentierter Junge, dem es in manchen Phasen an Selbstvertrauen fehlte, aber wir dachten immer, wir hätten einen Spieler, der viel erreichen könnte.“ Ein Jahr nach seinem Wechsel verließ der Offensivspieler Bremen tatsächlich in Richtung München. Nach eigenen Angaben dank einer Ausstiegsklausel, die dem Vernehmen nach bei 8 Mio. Euro gelegen haben soll.\nAktuelles Bayern München FC Arsenal Gnabry Wenger\n02.10.2019 16:00 Reaktionen zum Spektakel des FC Bayern – Gnabry mit CL-Rekord\nBarca10alex 14.10.2019 - 11:52\n100%ig hat Bayern den Wechsel manipuliert, wie es oft der Fall ist. Genau wie bei Vidal (kam für 35mio obwohl viele Vereine viel mehr geboten haben damals), Benatia (kam für 28Mio, andere hatten mehr geboten), Hummels (kam für 35Mio, andere hatten mehr geboten), Lewandowski (wollte auf einmal nicht mehr verlängern), Goretzka (wollte auf einmal nicht verlängern), Götze (wollte auf einmal unbedingt zu Bayern obwohl ihn alle großen Vereine wollten) und Süle (kam unter Marktwert ohne Grund). Und jetzt haben sie noch Werner unter Druck gesetzt, mit einer lächerlichen AK zu verlängern, um dann deutlich unter MW nach Bayern zu wechseln\nUiuiui, der Aluhelm scheint heute aber sehr eng zu sitzen oder?!\nErklär doch mal, welche Vereine "viel mehr" geboten hatten.\nUnd wie sollen denn die Bayern bitteschön andere Vereine manipulieren?\nVielleicht wollen die Spieler auch einfach zu den Bayern, weil er zum Einen der größte Verein in Deutschland ist und auch international immer noch ein guter Verein mit einem hohem Standing ist?\nWenn Vereine es nicht rechtzeitig schaffen, Verträge mit Leistungsträgern langfristig zu verlängern, ist das doch nicht das Problem des FCB. So lang man den Spieler nicht nur holt um die Konkurrenz zu schwächen, ist das doch völlig legitim.\nHör auf zu träumen und wach auf.\nLuLuLu 11.10.2019 - 10:38\nAchja... Wie sich jetzt alle plötzlich geradestellen wollen.\nWurde Wenger kritisiert weil er Gnabry hat gehen lassen?\nGnabry hätte noch 10 Jahre in London spielen können. Der hätte sich nicht gut entwickelt.\nAuch wenn die Bayern ihre Finger im Spiel hatten. Es war eine Win-Win-Win Situation für Bayern, Bremen und vor allem Gnabry...\nSo sieht es aus. Und bei aller berechtigter Kritik an komischem Bayern-Transfervorgehen, Wenger selbst ist doch immer einer der größten "Manipulatoren" dieses Sports gewesen. Allein seine Mindgames, Spieler und ihre Vereine mit medial geäußertem potenziellen Arsenal-Interesse zu verunsichern, ist doch schon legendär. Dass er sich jetzt von dem Vorwurf reinwaschen möchte, ein starkes Talent nie wirklich berücksichtigt zu haben, ist charakterlich ziemlich schwach.\nExpertewarnt 11.10.2019 - 10:28\ngenau das was ich meine !!\nIch weiß nicht, ob man, was Transfergebahren angeht, als Barca-Anhänger unbedingt auf andere zeigen sollte.\nNur weil er Fan ist darf er doch trotzdem andere kritisieren.\nNichtsdestotrotz ist die manipulationsgeschichte Quatsch.


Algermissen (I / II)\nZur Einzelansicht die Scheibenkreuze anklicken.\nStandort: Im nördlichen Ortsteil, am Teichgelände "Tränke".\nGeschichte: Nach Aussagen einiger Ortseinwohner soll vor dem Kanaldurchstich noch ein dritter Kreuzstein, Nr.116e der Liste, in der Kanallinie gestanden haben, über dessen Verbleib nichts bekannt ist. (Hoffmann 1935)\n• Blume, Hermann - Kreuzsteine in und um Hildesheim, in: Alt-Hildesheim, Heft 13, Braunschweig Juni 1934, S.30\n• Hoffmann, Adolf - Die mittelalterlichen Steinkreuze, Kreuz- und Denksteine in Niedersachsen, 1935, S.6, 36-37\n• Müller / Baumann - Kreuzsteine und Steinkreuze in Niedersachsen, Bremen und Hamburg, 1988, Nr.3725.1+2\n• Müller, Werner - Wegweiser zu den Kreuzsteinen im Landkreis Hildesheim, 2001, S.21\n• recherchiert und bebildert von Hartmut Blaszczyk, Einbeck (Fotos vom 11.07.2009)\nGPS: N 52° 15,433', O 9° 58,267'\nGröße / Material: 79:66:16 / Kalkstein\nGeschichte: Stark verwittertes und beschädigtes Scheibenkreuz. Die Vorderseite zeigt ein erhaben gearbeitetes nasenbesetztes gotisches Kreuz in einem Kreisring. Die Rückseite ist völlig glatt, wahrscheinlich abgetreten. Der Schaft ist nach einer Beschädigung verkürzt wieder hergestellt, er wird rückseitig von zwei Winkeleisen zusammengehalten.\nIm nördlichen Ortsteil, im Teichgelände "Tränke" zusammen mit dem nachstehend erwähnten Scheibenkreuz (3725.2). Herkunft unbekannt. Als Trittplatte vor dem Haus des Nachtwächters aufgefunden, wurde das Scheibenkreuz in der Straße "Vorm Schlage" aufgestellt. Dort stand es lange, bis es von einem Fahrzeug umgefahren wurde und nach Reparatur seinen heutigen Platz im Jahre 1975 erhielt.\nStark angewittertes, beschädigtes und rückseitig völlig glatt abgetretenes Scheibenkreuz. Die Scheibe zeigt vorderseitig erhaben auf vertieftem Grund ein gotisches Nasenkreuz in einem Kreisring. Der einst sehr hohe keilförmige Schaft ist infolge der Beschädigungen beträchtlich verkürzt worden. (Müller / Baumann 1988)\nAuf T.XXVII, 116c ist ein Kreuzstein abgebildet, der dem Hause Nr.37 gegenüber in GroßAlgermissen aufgestellt ist. Die Vorderseite ist leidlich erhalten, die Rückseite jedoch stark abgenutzt, da er viele Jahre als Trittplatte vor dem Nachtwächterhause gelegen hat. [...] (Hoffmann 1935)\nEine sorgfältiger Arbeit zeigt das gotische Scheibenkreuz zu Groß=Algermissen (Abb.3); der Stein, der lange Jahre unbeachtet als "Trittstein" vor dem Gemeindehaus lag, hat am Ostausgang des Ortes einen gesicherten Platz erhalten. [...] (Blume 1934)\n• Müller / Baumann - Kreuzsteine und Steinkreuze in Niedersachsen, Bremen und Hamburg, 1988, Nr.3725.1\nerst kürzlich erfolgte\nGPS: N 52° 15,450', O 9° 58,267'\nGröße / Material: 77:61:16 / Sandstein\nGeschichte: Die Vorderseite zeigt ein erhaben gearbeitetes nasenbesetztes gotisches Kreuz in einem Kreisring. Die Rückseite zeigt ein eingerilltes Tatzenkreuz in einem Kreisring. Die Scheibe sitzt auf einem keilförmigen kurzen Schaft. Offensichtlich hat das Scheibenkreuz eine zeitlang "auf der Nase" gelegen, wie im Rasen ablesbar.\nIm nördlichen Ortsteil, im Teichgelände "Tränke" neben dem zuvor erwähnten Scheibenkreuz (3725.1); einst in der Feldmark. Stark angewittertes und auf beiden Seiten abgetretenes Scheibenkreuz. Die Scheibenfläche zeigt vorn, erhaben auf vertieftem Grund, ein gotisches Nasenkreuz in einem Kreisring, hinten dagegen ein eingerilltes Tatzenkreuz, ebenfalls in einem Kreis. Der keilförmige Schaft hat gefaste Kanten und ist stark verkürzt. (Müller / Baumann 1988)\nEin zweiter Kreuzstein steht im Orte am "Wege nach der Tränke" dem letzten Wohnhause gegenüber rechts am Grabenrande. Er soll einst auch in der Feldmark gestanden haben (T.XXVII, 116d). (Hoffmann 1935)\n[...] Ein zweiter Kreuzstein steht in Algermissen am Wege zu der "Tränke". (Blume 1934)\n• Müller / Baumann - Kreuzsteine und Steinkreuze in Niedersachsen, Bremen und Hamburg, 1988, Nr.3725.2


Maximierung der Beschleunigung - sinnvoll ? - Allgemeine Themen | Elektroauto Forum\nMaximierung der Beschleunigung - sinnvoll ?\nvon novalek » Sa 10. Jun 2017, 12:35\nPolitik läßt die Marktwirtschaft alles regeln - ohne Regeln !\nParallelbetrachtung: jegliche Freigabe der Motorleistungen bei Motorrädern (es gab mal 70 PS als Maximalvorgabe).\nMit gekräselter Stirn lese ich von den elektromobilen Daimler-Entwicklungen - nicht nur dort: In 3 Sekunden auf Tempo 100.\nBei der aktuellen Verkehrsdichte, den vielen orange-rot-Ampel-Konsumenten, den vollgestopften Autobahnen, den SpurHoppern, sicherlich ein Anreiz für die 3-5% der Fahrer, die so etwas brauchen.\nFür Otto-Normalverbraucher, der für die Kopfdrehung von links nach rechts 1,2 Sekunden braucht, sei es als Fußgänger oder auf Vorfahrt achtender Mobilist, ein Horror.\nDie Marktwirtschaft lockt - frohlockt, mit diesen Beschleunigungswerten Käufer zu finden: "Lautlos - Sprintstark".\nRandnotiz: schon ein ZOE läßt manchen Verbrenner-Sprinter am Ampelstart blaß aussehen...\nRe: Maximierung der Beschleunigung - sinnvoll ?\nvon rimshot » Sa 10. Jun 2017, 13:50\nSinnvoll oder nicht: Beschleunigung ist beim E-Antrieb nur ein Abfallprodukt. Wenn das Auto 250km/h fahren soll, benötigt es halt eine gewisse Leistung. Da diese Leistung beim E-Antrieb ab 0 RPM ansteht, beschleunigt das Auto halt auch stark.\nRegistriert: Mo 1. Jun 2015, 14:30\nvon Alex1 » Sa 10. Jun 2017, 14:43\nKorrekt, wenn Du "Leistung" gegen "Drehmoment" ersetzt\nMir reichen die max. 66 kW der Zoe völlig. Sind schon - im Verbund mit dem irre Drehmoment - wesentlich agiler als die gleiche Leistung des A-Klasse-Diesels. Und das bei 50% höherer Masse!\nSinnvoll im Sinne von Effizienz ist eine maximale Beschleunigung auch nicht. In entsprechenden Diagrammen ist zwar der WIrkungsgrad bei 30 kW höher als bei 10 kW, aber im real life fahre ich am besten, wenn ich mit max. 10 kW beschleunige.\n1 ... 16, 17, 18von Ollinord » Fr 14. Aug 2015, 11:43\nDi 25. Aug 2015, 08:47\nWie sinnvoll Stromkosten berechnen?\n1, 2, 3von DeJay58 » Do 12. Mär 2015, 22:15\nDi 17. Mär 2015, 08:49\nZwangsvernetzung für Verkehrsfluss sinnvoll\nvon motion » So 30. Sep 2018, 19:03\nSo 7. Okt 2018, 11:58\nWie sinnvoll Stromspende schnell berechnen?\n1, 2von siggy » So 6. Dez 2015, 11:52\nLetzter Beitrag von yousoom\nMo 20. Aug 2018, 11:59\nMitglieder in diesem Forum: badsoden, E-Ansgar, Meck, tomas-b und 7 Gäste


- 1. Mose 9 (Luther 1912 - mit Apokryphen) und 1. Mose 9 (Luther 1912 - mit Apokryphen)\n1 Und Gott segnete Noah und seine Söhne und sprach: Seid fruchtbar und mehrt euch und erfüllt die Erde. (1. Mose 1.28) 2 Furcht und Schrecken vor euch sei über alle Tiere auf Erden und über alle Vögel unter dem Himmel, über alles, was auf dem Erdboden kriecht, und über alle Fische im Meer; in eure Hände seien sie gegeben. 3 Alles, was sich regt und lebt, das sei eure Speise; wie das grüne Kraut habe ich's euch alles gegeben. (1. Mose 1.29) (Kolosser 2.16) 4 Allein eßt das Fleisch nicht, das noch lebt in seinem Blut. (3. Mose 3.17) 5 Auch will ich eures Leibes Blut rächen und will's an allen Tieren rächen und will des Menschen Leben rächen an einem jeglichen Menschen als dem, der sein Bruder ist. (2. Mose 21.28-29) (1. Mose 4.11) 6 Wer Menschenblut vergießt, des Blut soll auch durch Menschen vergossen werden; denn Gott hat den Menschen zu seinem Bilde gemacht. (2. Mose 21.12) (3. Mose 24.17) (Matthäus 26.52) (Offenbarung 13.10) (1. Mose 1.27) 7 Seid fruchtbar und mehrt euch und regt euch auf Erden, daß euer viel darauf werden.\n20 Noah aber fing an und ward ein Ackermann und pflanzte Weinberge. 21 Und da er von dem Wein trank, ward er trunken und lag in der Hütte aufgedeckt. 22 Da nun Ham, Kanaans Vater, sah seines Vaters Blöße, sagte er's seinen beiden Brüdern draußen. (Sprüche 30.17) (Sirach 3.12) 23 Da nahmen Sem und Japheth ein Kleid und legten es auf ihrer beider Schultern und gingen rücklings hinzu und deckten des Vaters Blöße zu; und ihr Angesicht war abgewandt, daß sie ihres Vater Blöße nicht sahen.


Neue Freizeitkarte Dahner Felsenland | VG Dahner Felsenland\nNeue Freizeitkarte Dahner Felsenland\nMit einer Auflage von 20.000 Exemplaren geht die neue Freizeitkarte für das Dahner Felsenland an den Start. Die Karte in handlichem Taschenbuchformt gibt wertvolle Tipps für die Freizeit- und Urlaubsgestaltung\nund informiert über das attraktive Radwegenetz im Dahner Felsenland. Bürgermeister Michael Zwick und Jacques Noll, Leiter der Tourist-Information Dahner Felsenland, sind sich darin einig, dass sich diese informative und übersichtlich gestaltete Freizeitkarte als optimaler Urlaubsbegleiter eignet. Nicht zu vergessen, ist sie ein weiterer wichtiger Baustein in der positiven Außendarstellung und touristischen Positionierung des Dahner Felsenlands am Markt.\nDie frisch gedruckte Karte im Maßstab 1:80.000 des Pietruska Verlages beinhaltet eine Übersichtskarte des Dahner Felsenlandes mit den angrenzenden Teilregionen der Verbandsgemeinde Hauenstein im Osten und dem Elsass im Süden.\nNeben dem kompletten Radwegenetz der Verbandsgemeinde Dahner Felsenland sind insgesamt 43 Ausflugsziele und Sehenswürdigkeiten, wie die zahlreichen Burgen und Burgruinen diesseits und jenseits der Grenze, verortet. Fehlen dürfen hier nicht die touristischen Einrichtungen mit regionaler und überregionaler Bedeutung, angefangen vom Baumwipfelpfad über das Felsland Badeparadies bis hin zum Besucherbergwerk Eisenerzrgrube. Die Vielzahl der Tipps beinhaltet auch den ein oder anderen Geheimtipp, auch aus den benachbarten Regionen.\nDie Standorte der 30 Aussichtsfelsen und -punkte, welche charakteristisch und einzigartig für das Dahner Felsenland sind, finden sich ebenfalls in der Übersichtskarte wieder.\nZusätzlich sind die Hütten des Pfälzerwald-Vereins, Badeseen, Barfußpfad, Erlebnisspielplätze, Themenwege sowie Hinweise auf die Premiumwege, Radwege und Radtouren, Anreise mit der Bahn ins Dahner Felsenland und vieles mehr aufgeführt.\nAuf der Rückseite der Freizeitkarte befinden sich alle Straßenpläne der Ortsgemeinden des Dahner Felsenlandes mit den entsprechenden Punkten an Sehenswürdigkeiten und Ausflugszielen.\nDie neue Freizeitkarte ist bei der Tourist-Information Dahner Felsenland kostenlos erhältlich bzw. können Sie hier bestellen.


Herausforderungen für Recruiter: IT-Headhunter wollen sich mit Qualität behauten - TecChannel Workshop\n05.10.2014Von Hans Königes\nSie wollen keine Lebenslauf-Makler sein und sind überzeugt, dass sie mit ihrer Qualitätsarbeit reüssieren. Personalberater berichten, wie sie die aktuellen Herausforderungen im Zeichen von Social Media, Fachkräftemangel und Sparwut der Auftraggeber zu meistern gedenken.\nZumindest auf dem Papier läuft es ganz gut für die Headhunter. Schon vor einigen Wochen hatte deren Verband, der BDU (Bundesverband deutscher Unternehmensberater) verkündet, dass man nach einem eher durchwachsenen Jahr 2013 - aber immerhin mit einem Zuwachs von 3,2 Prozent - heuer mit einem Plus von acht Prozent rechne. Der Vorsitzende des BDU-Fachverbandes Personalberatung, Michael Heidelberger, gibt aber auch zu, dass sich der Wettbewerb in der Recruiting-Branche weiter verschärft und dass einige Firmen aufgeben mussten.\nEin Knäuel von Herausforderungen macht das Leben der Headhunter nicht gerade leichter. "Auftraggeber fordern mehr denn je den 100prozentigen Kandidaten" erzählt die erfahrene Münchner Personalberaterin Hildegard Freund. Firmen stellten zunächst hohe Anforderungen, seien sich dann aber intern oft nicht einig. Der Personaler habe andere Vorstellungen vom Kandidaten als ein Fachbereichsleiter. "Der Personaler hat die Unternehmensbrille auf und versucht das Potenzial des Bewerbers für den künftigen Arbeitgeber zu eruieren", kommentiert Freund, der Fachbereichsleiter dagegen wolle, dass es in seinem Bereich vorwärts geht und dafür brauche er den besten Mann für exakt diese Position.\nMichael Fuchs kennt die inhaltlichen Anforderungen wie kaum ein anderer.\nMichael Fuchs ist immer wieder überrascht, wie nebulös manche Auftraggeber ihre Stellenbeschreibungen formulieren, andererseits aber beklagen, nicht die passenden Kandidaten zu finden. Seine erste Aufgabe bestehe stets darin, das Kandidatenprofil zu schärfen, um die Besetzungschance zu erhöhen. Er hat sich auf den SAP-Arbeitsmarkt spezialisiert, hat er doch über 25 Jahre Berufserfahrung in unterschiedlichen Positionen in diesem Umfeld sammeln können. Er hat in Anwenderunternehmen, in großen internationalen SAP- Beratungshäusern und schließlich bei SAP selbst gearbeitet. Dort hat er zuletzt die komplette deutschsprachige SAP-Beratung geleitet und kennt daher die inhaltlichen Anforderungen wie kaum ein anderer.


Nachbarschaftsdialog Fluglärmbelastung - Langenhagen - extra-verlag.de\nRegionLangenhagenkurz gemeldetNachbarschaftsdialog Fluglärmbelastung\n20. August: Stadtforum Fluglärm im Schulzentrum\nLangenhagen. Um den Nachbarschaftsdialog „Fluglärmbelastung in Langenhagen“ zu fördern, findet das öffentliche Stadtforum nach der so genannten Fish-Bowl-Methode ausgerichtet statt. Die Aula des Schulzentrums Langenhagens, wo am Dienstag, 20. August, um 18 Uhr die Veranstaltung beginnt, wird so bestuhlt sein, dass in einem Innenkreis acht Institutionen und Verbände vertreten sein werden. Es handelt sich um die Flughafen Hannover-Langenhagen GmbH, das Niedersächsische Wirtschaftsministerium, die Deutsche Flugsicherung GmbH, TUIFly (als eine der Airlines mit Nachtaktivität), die Kommission zum Schutz gegen Fluglärm, die Interessensgemeinschaft Lärmschutz Südbahn und die Stadt Langenhagen. Alle ihre Vertreter sowie die der politischen Fraktionen des Langenhagener Stadtrates beginnen mit ihren kurzen Beiträgen die etwa für 50 Minuten angesetzte Diskussion.\nMitreden können bei diesem Nachbarschaftsdialog jedoch auch die Personen, die sich im Außenkreis befinden. Wenn sie etwas berichten oder erfragen möchten, steht ihnen dafür ein freier Platz im Innenkreis zur Verfügung.\nNach einer Zusammenfassung der Diskussion und einem Ausblick hinsichtlich des Themas „Lärmbelästigung in Langenhagen“ findet eine Abschlussrunde statt. An diesem Punkt des Abends sollen Anregungen zum weiteren Vorgehen formuliert und idealerweise bereits Vereinbarungen getroffen werden. Das Ende des öffentlichen Stadtforums ist für 20.30 Uhr geplant.\nFluglärm in Langenhagen (26)Nachbarschaftsdialog in Langenhagen (4)


Volants: Der neue Hingucker für die Frau - MOZ.de\nBei einem kleinen Busen mogeln Volants am Dekolleté - wie bei diesem Top von Heine - mehr Fülle dazu. © Foto: dpa\ndpa / 12.02.2018, 07:26 Uhr - Aktualisiert 12.02.2018, 10:36\nHamburg (dpa) Sie sind ein unverzichtbarer Begleiter im Frühjahr und sorgen für einen femininen Twist in der Mode: Volants. Sie finden sich nahezu überall: auf Blusen und Tops, an Röcken, Kleidern oder Hosenbeinen. Selbst Accessoires wie Handtaschen und Gürtel machen den Trend mit.\nAber: Es wirke edel, "wenn sich die Farbe des Volant-Oberteils in dem restlichen Outfit wiederholt. Das geht beispielsweise bei Nadel- oder Kreidestreifen besonders gut: Man wählt für das Oberteil den Ton, den auch die Streifen haben", rät Starley.\nVolant Ines Meyrose Hingucker Katharina Starlay Hosenbein