Auch dabei!
Shiny Gengar! :)
Beiträge von Juno
Wir sammeln alle Infos der Bonusepisode von Pokémon Karmesin und Purpur für euch!
Zu der Infoseite von „Die Mo-Mo-Manie“-
-
Vorallem gefällt mir die Protomorphose - eine weitere Möglichkeit mehr zu entdecken! Bin ja wirklich gespannt, ob das auch noch für Rayquaza und evtl. auch andere Pokemon kommt (Die Golems?). Dann natürlich noch den Überflieger - schon dessen "Vorgänger" in Ranger 3 war genial - wie wird das erst auf meinem 3DS-XL sein? Das - und natürlich die Hoennregion, welche mir einfach nur super gefällt - sind die Features die mich wirklich zum Kauf von Alpha Saphir motivieren, und die mir die restliche Zeit zum Vorfreuen bringen :)
#Diancie
#Gengar -
Huhu >.<
Ich verzweifel jetzt seit heute morgen an folgendem Problem:Ich habe eine div, die auf contenteditable gestellt ist.
Jetzt hab ich mit Javascript eine Funktion gewerkelt die den Text a) ausliest, b) bearbeitet c) per JQuery ($("#highE").html(endText); ) wieder in das div schreibt.
Code
Alles anzeigenfunction tuWas() { $(document).ready(function(){ //Cursor save //PROBLEM! //Cursor save end //Hier wird bearbeitet & geschrieben //Cursor reset //PROBLEM! //Cursor reset end }); }
Schön und gut, klappt soweit.
ABER:
Nachdem es geprüft wurde (Alle 1,5 Sekunden oder auf Wunsch per checkbox eben pro onchange) springt der Caret(Blinkendes Cursorteil) zurück auf die Anfangsposition des div.
Ich hatte schon soweit die Idee vor dem Bearbeiten die Cursorposition auszulesen & nach dem Schreiben eben wieder zu setzen.
Dabei ergab sich a) dass es dafür getSelection oder Ranges braucht b) dass die browser im bezug darauf sehrbesch...äh verschieden sind.. und c) dass Google nichts brauchbares geliefert hat.
Auslesen der Position (bzw des Offsets) hab ich per window.getSelection.focusOffset geschafft.
Setzen der Position hab ich nix zustande gebracht.
Ich will es jetzt erstmal soweit bekommen, dass es im FF funktioniert.Und:
Ich weiß, was ich da benutze ist pfui, nicht standardkonform etc.
Aber es muss in einem Div-contenteditable klappen.mfg
NullPointerException -
Es sucht kombinationen per zufallsbewegungen, deswegen kann das schon mal länger dauern.
php ist eben eher nicht die skriptsprache für sowas.
Die Ausführungszeit ist dank der whileschleife unendlich.
edit: Btw, du kannst nachdem du genug kombis hast abbrechen im browser drücken. dann hört das programm auf. -
Du würfelst
DPSO
EPIH
LNRR
OSDE*hust*
dann nimmst du
$b = array(
array("D", "P", "S", "O"),
array("E", "P", "I", "H"),
array("L", "N", "R", "R"),
array("O", "S", "D", "E")
); -
kannst du mir das bitte ein bisschen erklären?
ich bräuchst nämlich mit 16 würfel (4X4 feld) und ich blick bei deinem code da nicht ganz durch
wo gibt man bei dir die wortlist ein?
ist das $usedB mit einem file zu ersetzen oder krieg ich da nur kombinationen die nicht unbedingt deutsch sein müssen?PHP//The letters $boggle = array( array("Y", "W", "D", "E"), array("A", "F", "E", "W"), array("Z", "W", "T", "U"), array("A", "H", "V", "F"), );
Hier die Würfelanzeigen rein.
Ist ja ein 4x4 feld.Du musst nur noch das
ersetzen da
Zitat von Ratchet
das mit der wortliste abgleichen schaff ich schonWenn es das wort gibt muss es true zurückgeben sonst false
-
PHP
Alles anzeigen<?php set_time_limit(0); ignore_user_abort(false); define("DIR_UP", 1); define("DIR_LEFT", 2); define("DIR_RIGHT", 3); define("DIR_DOWN", 4); //The letters $boggle = array( array("Y", "W", "D", "E"), array("A", "F", "E", "W"), array("Z", "W", "T", "U"), array("A", "H", "V", "F"), ); //Get combis function boggle($arr) { $used = array(); while (true) { $usedB = array(); $coord = array(rand(0, 3), rand(0, 3)); $len = rand(3, 16); $t = $arr[$coord[1]][$coord[0]]; $prof = $coord[1].';'.$coord[0].';'; for ($i = 0; $i < $len; $i++) { $d = rand(1, 4); while (!checkBorder($coord, $d, $usedB)) { $d = rand(1, 4); } $usedB[] = $coord; switch ($d) { case DIR_UP: $coord = array($coord[0], $coord[1] - 1); $prof .= 'u'; break; case DIR_DOWN: $coord = array($coord[0], $coord[1] + 1); $prof .= 'd'; break; case DIR_RIGHT: $coord = array($coord[0] + 1, $coord[1]); $prof .= 'r'; break; case DIR_LEFT: $coord = array($coord[0] - 1, $coord[1]); $prof .= 'l'; break; } $t .= $arr[$coord[1]][$coord[0]]; } if (in_array($prof, $used)) continue; $used[] = $prof; if (isAGuiltyWord($t)) { echo $t."<br>\n"; flush(); } } } //Replace with own function isAGuiltyWord($word) { if (rand(0, 1)) return false; return true; } //Check borders function checkBorder($coord, $dir, $used) { switch ($dir) { case DIR_UP: $nc = array($coord[0], $coord[1] - 1); if ($coord[1] == 0) return false; break; case DIR_DOWN: $nc = array($coord[0], $coord[1] + 1); if ($coord[1] == 3) return false; break; case DIR_LEFT: $nc = array($coord[0] - 1, $coord[1]); if ($coord[0] == 0) return false; break; case DIR_RIGHT: $nc = array($coord[0] + 1, $coord[1]); if ($coord[0] == 3) return false; break; } if (in_array($nc, $used)) return false; return true; } boggle($boggle); ?>
Ist zwar mit dem Zufall nicht gerade effizient, und musst nur die wortabgleich funktion verändern
In die pseudomatrix kannst du dann die würfelergebnisse eintragen -
const UNIQUE?An sich ist es aber völlig egal was da drin steht, da du bei Explode eh nur 2 Elemente erzeugen läßt und der Timestamp ja keine Daten außer Ziffern enthält ;)
Btw: dass callCache true zurück gibt, wenn der nichts findet ist ungeschickt, was ist, wenn man true cachen möchte?
Das mit der Konstanten scheint mir auch einfacher, danke^^Das mit explode dachte ich dass es es so macht:
$str = 'a.q.f';
var_dump(explode('.',$str,2)); //array('a', 'qf')laut php -a ist das aber wohl doch nicht so :D
Hm... ich hab für das problem mit dem true schon eine lösung, ich gebe einfach im fehlerfall diesen UNIQUE zurück dann bleibt es bei 2 methoden :D
Das mit dem explode überarbeite ich gerade^^
@edit: fertig. Der Timestamp ist nun eine beliebige anzahl an numerischen zeichen bis zum automatisch eingefügten 'a' (Nicht numerischen zeichen).
Alles danach wird als teil des serialisierten contents gesehen. -
So, ich hatte wohl LW und dabei kam ein Cachesystem heraus.
Erstmal:
Was ist ein "Cachesystem"?
- Ein Cachesystem ist ein System um häufige aufrufe (zb News auslesen) zu "cachen" d.h. statt sie immer wieder zu berechnen einfach einmal zu berechnen, und das ergebnis zu speichern.Was brauche ich?
- Mittlere kentnisse in PHP5 (OOP empfohlen) und ein Server (virtuell oder nicht ist egal) sollten reichen.Warum dateibasiert, und nicht einfach per Datenbank, etc.?
- Weil mir danach war, und es mir einfacher erschienDer Code ist aus einem meiner Projekte gerissen, und somit habe ich alle Abhängigkeiten von meinen anderen klassen auskommentiert und am ende erklärt.
Ich hab die Kommentare mal in klammern noch übersetzt
Ihr braucht btw noch einen ordner cache/ mit schreibrechten (chmod 666)Cache.class.php
PHP<?php /** * A simple caching engine * * @package miunn.default * @author Mewking * @copyright 2011 Miunn * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php> */ define('BASE_DIR', dirname(__FILE__).'/'); define('NOW', time()); class Cache { /** * A unique string which shouldn't be in any var, template etc... (Ein String welcher nicht gecached werden darf) */ const NOT_IN_CACHE = '5ej\x118{(r&A+;dn\0gdp(L\x1b\0=wsasSq{KcOj"\x02MP\x11r\0\x1\0bS-0m\x01tf\x17}Z\'Op\0F\x07\x0c;q+\n[0PTJ'; /** * Checks whether a var is in cache or not (Prueft ob variable im Cache ist) * * @param string $cacheId * @param integer $expire * @return mixed $result */ public static function callCache($cacheId, $expire = 30) { #MiunnCore::typeHint($cacheId, 'string', 'Cache::callCache', 1); #MiunnCore::typeHint($expire, 'numeric', 'Cache::callCache', 2); if ($expire < 0) $expire = 0; $filename = BASE_DIR.'cache/'.$cacheId.'.cache'; if (file_exists($filename)) { $content = file_get_contents($filename); $timestamp = ''; $i = 0; while (true) { if (is_numeric(substr($content, $i, 1))) { $timestamp .= substr($content, $i, 1); } else { $i++; break; } $i++; } $content = substr($content, $i); $minMade = NOW - $expire; if ($timestamp > $minMade) { return unserialize($content); } else { unlink($filename); return self::NOT_IN_CACHE; } } else { return self::NOT_IN_CACHE; } } /** * Writes var to cache * * @param string $cacheId * @param mixed $value */ public static function write($cacheId, $value) { #MiunnCore::typeHint($cacheId, 'string', 'Cache::callCache', 1); $filename = BASE_DIR.'cache/'.$cacheId.'.cache'; file_put_contents($filename, NOW.'a'.serialize($value)); } }?>
Die Usage ist:
PHP<?php require 'Cache.class.php'; $id = 'einzigartigeIDBitteNurZeichenDieAuchInDateinamenKoennen'; if (($news = Cache::callCache($id, 60)) === Cache::NOT_IN_CACHE) { $news = '';//Auslesen von News Cache::write($id, $news); } echo $news; ?>
MiunnCore::typeHint()
prüft auf einen typ und wirft mit exceptions falls es probleme gibt/edit: So, alles angepasst^^
-
Hi, ich bräuchte ein Programm das Mausklicks simuliert, das ganze am besten ohne Bindung an ein spezielles Programm (wie zb iMacros), da ich ein flash-spiel (im firefox, der hat dafür einen eigenen prozess)
manipulierenäääähh... etwas schneller spielen möchte.
Wenn das ganze unter Ubuntu 11.10 laufen würde wäre das perfektDanke
-
Pokemon Ranger 3, mal wieder.
Bin gerade im Lichttempel an Arceus...
Mein Arm schläft gleich von den Kreisen ein...
Schade dass die Downloadmissionen nicht mehr verfügbar sind.
:D -
Ein gutes Forum mit Chat ist heutzutage nicht sehr schwer zu finden.
Man muss nur wenigstens ein bisschen Ahnung von der Materie haben.
Ohne das kann man wirklich nur auf die Anspruchslos-Anbieter zurückgreifen.
Wenn dir hier noch nicht genug genannt wurden dann Google doch nach etwas wie zb: http://www.google.com/search?client=ubuntu&channel=fs&q=forum+ohne+kenntnisse+erstellen&ie=utf-8&oe=utf-8Noch mal zur Übersicht die bisherig genannten:
Und noch eins:
-
Wenn es nur um einen Chat geht, dann ist ein Forum zu viel, da es viele Funktionen bietet (auch das WBBlite), die eigentlich für kleinere Anwender unnötig sind.
Wenn es um einen Chat geht:
http://www.bloochat.com <--Da bekommt man einen Chat, der ohne Anmeldung funktioniert, aber dafür extrem leicht zu handhaben ist
http://admin.mainchat.de/anmelden.html <-- Der ist nicht ganz so anspruchslos, da bekommt man dann aber mehr Möglichkeiten.Wenn du dich mit HTML, FTP und CSS auseinandersetzen willst, dann gibt es vom Gründer von Bisafans Bücher, die das anschaulich erklären (siehe hier: http://www.bisafans.de/a/_helfen.shtml , unterster Abschnitt)
-
Hab ich gerade behoben, danke für die Meldung ;)
das Skript im Spoiler oben ist jetzt auch aktuell. -
Ein Kalender, wenn ihr das Copyright drinlasst dürft ihr ihn auch benutzen :D
Ich weiß das ist nicht die beste Methode, aber es ist eben in 5min aus LW und ner Tastatur entstanden :D
Hat sogar noch ne kleine Notizfunktion ohne DB abbekommen :)
Ich lass es unkommentiert, wenn ihr es erklärt wollt, schickt mir ne PN.
Sollte aber mit ein bisschen PHP-Erfahrung verständlich sein.
Der Teil zur Anzeige ist eben etwas... naja, unverständlich XDPHP
Alles anzeigen<html> <head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> <title>Kalender</title> </head> <body> <?php if (!is_dir("./notices/")) { mkdir("./notices/"); } setlocale(LC_TIME, 'de_DE'); $date = (isset($_REQUEST['d']) && $_REQUEST['d'] <= 2000000000 && $_REQUEST['d'] >= 0) ? $_REQUEST['d'] : time(); $linkOn = '?today'; if (isset($_REQUEST['d']) && $_REQUEST['d'] <= 2000000000 && $_REQUEST['d'] >= 0) { $linkOn = '?d='.$_REQUEST['d']; } $fileDate = mktime(0, 0, 0, date('n', $date), date('j', $date), date('Y', $date)); $time = time(); $compDate = mktime(0, 0, 0, date('n', $time), date('j', $time), date('Y', $time)); $compDate2 = mktime(0, 0, 0, date('n', $date), date('j', $date), date('Y', $date)); if (isset($_POST['noticeText'], $_GET['notices'])) { file_put_contents('./notices/'.$fileDate.'.txt', $_POST['noticeText']); if (isset($_POST['kill'])) { if ($dh = opendir("./notices/")) { while (($file = readdir($dh)) !== false) { if ($file != '.' && $file != '..') @unlink("./notices/".$file); } closedir($dh); } } } $monthDays = date('t', $date); $calendarStart = mktime(0, 0, 0, date('n', $date), 1, date('Y', $date)); $calendarStartDay = date('N', $calendarStart); $calendarEndDay = date('N', mktime(0, 0, 0, date('n', $date), $monthDays, date('Y', $date))); $month = date('M', $date); $switch = date('L', $date); switch ($month) { case('Jan'): $month = 'Januar'; $days = 31; $season = 'Winter'; break; case('Feb'): $month = 'Februar'; $days = ($switch) ? 29 : 28; $season = 'Winter'; break; case('Mar'): $month = 'März'; $days = 31; $season = 'Frühling'; break; case('Apr'): $month = 'April'; $days = 30; $season = 'Frühling'; break; case('May'): $month = 'Mai'; $days = 31; $season = 'Frühling'; break; case('Jun'): $month = 'Juni'; $days = 30; $season = 'Sommer'; break; case('Jul'): $month = 'Juli'; $days = 31; $season = 'Sommer'; break; case('Aug'): $month = 'August'; $days = 31; $season = 'Sommer'; break; case('Sep'): $month = 'September'; $days = 30; $season = 'Herbst'; break; case('Oct'): $month = 'Oktober'; $days = 31; $season = 'Herbst'; break; case('Nov'): $month = 'November'; $days = 30; $season = 'Herbst'; break; case('Dec'): $month = 'Dezember'; $days = 31; $season = 'Winter'; break; } echo 'Es ist: '.date('H:i:s', time()).' Uhr!<br><br>'; ?> <table border="1" style="text-align:center;font-size:14px" cellpadding="10"> <caption> <a style="text-decoration:none;color:black;" href="?d=<?php echo mktime(0, 0, 0, date('n', $date), date('j', $date), date('Y', $date) - 1); ?>"> « </a> <a style="text-decoration:none;color:black;" href="?d=<?php echo mktime(0, 0, 0, date('n', $date) - 1, date('j', $date), date('Y', $date)); ?>"> < </a> <?php if ($compDate2 > $compDate) {echo ' <a href="?today" style="text-decoration:none;color:black;">•</a>';} ?> <?php echo $season.' '.strftime('%Y', $date).', '.$month; ?> <?php if ($compDate2 < $compDate) {echo '<a href="?today" style="text-decoration:none;color:black;">•</a> ';} ?> <a style="text-decoration:none;color:black;" href="?d=<?php echo mktime(0, 0, 0, date('n', $date) + 1, date('j', $date), date('Y', $date)); ?>"> > </a> <a style="text-decoration:none;color:black;" href="?d=<?php echo mktime(0, 0, 0, date('n', $date), date('j', $date), date('Y', $date) + 1); ?>"> » </a> </caption> <thead> <tr> <th> KW </th> <th> Mo </th> <th> Di </th> <th> Mi </th> <th> Do </th> <th> Fr </th> <th> Sa </th> <th> So </th> </tr> </thead> <tbody> <tr> <?php $calendarShowing = 1 - $calendarStartDay; echo '<td><i>KW '.(date('W', strtotime($calendarShowing.' day', $calendarStart))).'</i></td>'; for($i = 1; $i <= 42; $i++) { $calendarShowing = $i - $calendarStartDay; $calendarToday = strtotime($calendarShowing.' day', $calendarStart); $calendarTodayDay = date('j', $calendarToday); if(date('dmY', $date) == date('dmY', $calendarToday)) echo '<td><b>'.$calendarTodayDay.'</b></td>'; elseif($calendarShowing >= 0 && $calendarShowing < $monthDays) echo '<td><a style="text-decoration:none;color:black;" href="?d='.$calendarToday.'">'.$calendarTodayDay.'</a></td>'; else echo '<td><a style="text-decoration:none;color:gray;" href="?d='.$calendarToday.'">'.$calendarTodayDay.'</a></td>'; if(date('N', $calendarToday) == 7 && $i != 42) { echo '</tr><tr><td><i>KW '.(date('W', $calendarToday + 86400)).'</i></td>'; } } ?> </tbody> </table> <br> Notizen zu diesem Datum:<br> <form action="<?php echo $linkOn; ?>¬ices=1" method="post"> <textarea cols="60" rows="9" name="noticeText"><?php if (file_exists('./notices/'.$fileDate.'.txt')) { echo htmlentities(file_get_contents('./notices/'.$fileDate.'.txt')); } ?></textarea> <br> <input type="submit" value="Notizen für diesen Tag aktualisieren"> <br> <input type="checkbox" id="killConf"><input type="submit" onclick="if (!document.getElementById('killConf').checked) return false;if (!confirm('Moechtest du wirklich alle Notizen loeschen?')) return false;if (!confirm('Wirklich? Es erfolgt keine weitere Sicherheitsabfrage!')) return false;" name="kill" value="Alle Notizen entfernen"> </form> <br><hr> © 2011 mewking </body> </html>
@Edit1: Die KW 0 und KW 53 gibt es nun nichtmehr.
@Edit2: Hab mal die Mini-Navigation in der Caption verbessert, sodass die Sprünge genauer werdenIch empfange nur konstruktive Kritik :P
-
da wurden ein paar werte wegelassen .
ist da überall auch richtig "null" eingestellt ?
vllt. war es auch nur ein temporärer fehler ;) ?
und was für einen header? es gibt nicht gerade wenige...
mfg mewking