Archive for the 'flex' Category

puścić coś w tle

Chcę móc uruchomić proces w tle za pomocą przeglądarki. Docelowo wszystko będzie działać na linkuksie, ale do testów przydałoby się to mieć u siebie. W linkuksie wiem.

costam &

uruchamia proces w tle, potem fajnie mogę sobie zarządzać

jobs

. Ale ja chcę w Windows. Windows Vista, żeby nie było niedomówień. Wywołanie komendy przez exec działa, ale czeka na zakończenie, a nie o to chodzi. Proces ma działać długo, a ja tylko chcę monitorować jego stan, a nie zamulać Firefoksa.

exec("start /b c:/sciezka_do_php/php.exe C:/sciezka_do_skryptu_procesu/bgproces.php > test.txt");

Próbowałem też uruchomić jakiś batch (costam.bat), który z kolei miałby uruchomić skrypt PHP, ale to też nie zadziałało – cały czas przeglądarka czekała na zakończenie całego procesu. Rozwiązanie jest takie, że w PHP na Windows trzeba użyć klasy COM, czyli windowsowych mechanizmów OLE (Object Linking and Embedding). Wygląda to tak:

< ?php
/*
 * skrypt do uruchomienia w tle skryptTla.php
 */
$fname = 'c:/log.html'; 
for($i=0; $i&lt;10; $i++){
	sleep(1);
	file_put_contents($fname, date('H:i:s') . '<br/>', FILE_APPEND);
}
file_put_contents($fname, '<hr />', FILE_APPEND);
?>
< ?php
/**
 * skrypt widziany przez przeglądarkę
 */
echo "uruchamiam " . date('H:i:s ');
 
  if(isset($_SERVER['PWD']))
  {
  	// $cmd = '....';
    $nullResult = "php $cmd > /dev/null &";
  }else{
    $cmd = 'sciezka_do_php/php.exe sciezkaSkryptuDoUruchomieniaWTle/skryptTla.php';
    $ws = new COM("WScript.Shell");
    $oExec = $ws->Run($cmd, 0, false);
  }
 
echo " koniec " . date('H:i:s ');
echo " OK ";
 
 
?>
No Tag

spot PO spotem PiS?

Polityka polska bywa ciekawa. Rzadko uważam ruchy medialno-marketingowe poszczególnych partii za jakoś szczególnie błyskotliwe, owszem lubię nastawienie do świata i ludzi prezentowane przez PO, uwielbiam happeningi Palikota, ale dziś dla odmiany bardzo pozytywnie zaskoczył mnie team Kurski-Kamiński. Mają się onie zwrócić do p. Dolniaka, szefa sztabu PO, o pozwolenie na wykorzystanie całego spotu PO z poprzednich wyborów jako reklamy wyborczej PiS. Przedstawienie obietnic PO w charakterze pokerowego ‘sprawdzam’ uznaję za dobry, odważny i fajny ruch. Nie ma w nim zwykłej zjadliwości, przynajmniej w warstwie bezpośredniego komunikatu. Domyślam się oczywiście, że czai się tam syczące, nawet mimo braku odpowiednich spółgłosek, “a nie mówiłem?”, ale jest przestrzeń do własnej interpretacji, a to już oznacza pewien szacunek dla samodzielnego rozumu odbiorcy.

Odpowiedź p. Dolniaka, złapanego przez Brygidę Grysiak z TVN24 w Sejmie, była zachowawcza i bez humoru. Moim zdaniem, jedyna prawidłowa odpowiedź to “tak, oczywiście”… Gdyby z kolei Platforma zgłosiła dla tzw. fair play spot PiS z wyborów przez PiS wygranych, byłaby to nieco paranoiczna, ale przynajmniej oryginalna, kampania wyborcza. Jedni i drudzy mieli podobny czas do dyspozycji.

Natomiast zaprezentowany przez PO spot jest… tani. Dobrze przynajmniej, że trzyma pozytywny klimat i nikogo nie atakuje. Koncepcyjnie, realizacyjnie — tani. Ale tak obiecali…

No Tag

Niełamiąca spacja we Flashu, czyli tęsknota za   

Tu uśmiechną się wszyscy, którzy flasha uważają głównie za przyczynę buszujących po stronach www reklam. Nie wiem jak tam nowe narzędzia w FP10, ale dotąd rzeczywiście o obsłudze &nbsp; (non-breaking space) w polu tekstowym deweloper Flash mógł pomarzyć. Nadal może, ale okazało się (Marcin okazał), że ów deweloper może skorzystać z fantastycznej możliwości wstawienia &#0160; zamiast niezłomnej spacji. Co to jest &#0160;? Ano też spacja i też niezłomna. Tylko taka z czcionki – wystarczy otworzyć w windowsie Tablicę Znaków, piąty znak za małym “z”. Jeden kruczek, o którym trzeba pamiętać przy zaszywaniu podzestawu znaków, to że ten znak trzeba dołączyć. Kopiuj-wklej z Tablicy Znaków zadziała tu doskonale, bo z klawiatury ten akurat glif nie jest łatwy do wywołania.

Potem, żeby oszczędzić ręcznej redakcji tekstów, przyda się wyrażenie regularne do automatycznej podmiany zawieszek. O tym, w jakim języku zawieszki są błędem, a w jakim nie, nie będę tu pisał. Brzydkie są i z puchy im wali. A oto lekarstwo:

// zakładam, że oryginalny tekst do wstawienia mamy w zmiennej tekst1
var tekst1:String = 'wąska kolumna przeniesie o do następnej linii';
// ewentualna eksterminacja htmlowych marzeń, czyli zamiana &nbsp; na spacje
var tekst2:String = tekst1.replace('&nbsp;', " ");	
// do rzeczy, czyli zamiana spacji po pojedynczych znakach otoczonych odstępami na niezłomną spację 
var tekst3:String = tekst2.replace(/\s+(\S)\s+(\S)/g, " $1&#0160;$2");			
// w tekst3 pojawi się: 'wąska kolumna przeniesie o&#0160;do następnej linii'
// a na ekranie, zamiast &#0160; &mdash; niełamiąca spacja.
No Tag

« Previous PageNext Page »