Archive for the 'flash' Category

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   (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   zamiast niezłomnej spacji. Co to jest  ? 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   na spacje
var tekst2:String = tekst1.replace(' ', " ");	
// 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 $2");			
// w tekst3 pojawi się: 'wąska kolumna przeniesie o do następnej linii'
// a na ekranie, zamiast   — niełamiąca spacja.

formatowanie liczb w actionscript, cz.2

Przyjrzawszy się po raz drugi problemowi, popełniłem poniższą metodę, zastępując poprzednią.
Trochę inne podejście, wszystko objaśnione w kodzie. Dla dobra publicznego publikuję:

		/**
		 * metoda formatuje liczbę z dokładnością zadaną przez @resolution,
		 * oddzielając tysiące znakiem z @thouSep a część ułamkową znakiem
		 * z @decPoint. Na końcu dodaje jednostkę @unit
		 * Np.:
		 * Format.Number(123.456, ' zł', 0.1) zwraca '123,5 zł'
		 * Format.Number(123.456, ' zł', 1) zwraca '123 zł'
		 * Format.Number(123.456, ' m', 10) zwraca '120 m'
		 */
		public static function number(
			v:			Number,
			unit:		String = '',
			resolution:	Number = 1,
			decPoint:	String = ',',
			thouSep:	String = ' '
		):String
		{
			var r:		String = '';
			var rDec:	String = '';
			var rInt:	String = '';
			var i:		int;
			var rIntTmp:String;
			var len: 	int;

			v = Math.round(v / resolution) * resolution;
			r = v.toString();
			// pozycja kropki dziesiętnej
			var decPointPos:int = r.lastIndexOf('.');

			// część całkowita
			if(decPointPos > -1)
				rIntTmp	= r.substr(0, decPointPos);
			else
				rIntTmp = r;

			len	= rIntTmp.length;
			// przepisujemy po 3 cyfry, dodając separator
			while(len > 3){
				rInt = thouSep + rIntTmp.substr(len - 3, len) + rInt;
				rIntTmp = rIntTmp.substr(0, len - 3);
				len = rIntTmp.length;
			}
			rInt = rIntTmp + rInt;

			// część ułamkowa
			if(resolution < 1) {
				// liczba znaków w części ułamkowej powinna być taka jak długość części ułamkowej @resolution
				var decLength = (resolution - Math.floor(resolution)).toString().length - 2;
				// część ułamkowa
				if(decPointPos > -1){
					var x:int = decPointPos + 1 + decLength;
					rDec = r.substring(decPointPos + 1, decPointPos + 1 + decLength);
				}
				// dodajemy zera na końcu, jeśli trzeba
				var zerosCount:int = decLength - rDec.length;
				for(i = 0; i < zerosCount; i++) rDec += '0';
				rDec = decPoint + rDec;
			}
			r = rInt + rDec + unit;
			return r;
		}

zapisywanie kryteriów wyszukiwania mieszkań

Nowinki na noweklucze.pl - zapisywanie kryteriów wyszukiwania mieszkań. Niby to samo jest choćby na nieruchomosci.pl, ale jednak inaczej. Zrobiliśmy tak, że zapisują się nie tylko klasyczne parametry, jak metraż czy cena, ale i rysunki na mapie. Przyda się do kojarzenia kupujących i sprzedających wg bardziej wizualnych kryteriów.

Kolejna nowość to nawigacja na mapie. Pisak jest fajny, ale nawet niektórzy z nas odruchowo oczekiwali pojawienia się ofert na mapie po powiększeniu fragmentu, a bez zaznaczenia go pisakiem. Teraz – póki pisak nie zostanie użyty – mapa sama rysuje zaznaczenie, nieco mniejsze niż sama mapka, po każdym przesunięciu i zoomie.

« Previous PageNext Page »