avatar
Today is събота
04.09.2010

11.06.2009

Видео уроци за Flex + LearnWithFun

от admin — Категории: ДругиНяма коментари

Бях започнал да публикувам видео уроци за Flex във Video Tutorials и ще продължа да го правя, но с една основна разлика :
Първо ще бъдат качвани на новият сайт ( LearnWithFun ), който ще бъде пуснат в пълна експлоатация в най-скоро време ( до дни ) и ако потръгне добре, ще бъде преместен на собствен домейн.

Може да посетите горепосочения сайт и да разгледате най-различните материали ( които нерпестанно ще нарастват ) и да дадете вашия принос за него.
Видео уроци за Flex : тук може да намерите видео уроците свързани с Flex.

31.05.2009

НОИТ 3

от admin — Категории: ДругиНяма коментари

След националния кръг по Информационни Технологии се оказа, че съм с 5 и 50 за СУ.
Сега остава да излязат и официалните резултати, които ще чакам с нетърпение.

А относно самото съзтезание ще коментирам в отделна публикация ;)

edit : Излязоха резултатите и имаме 5 и 50 със съотборника ми.
Може да видите в коментара към публикацията линк към крайното класиране и към нашия проект.

09.04.2009

Изпити в събота и неделя по математика ( ТУ / СУ )

от admin — Категории: ДругиНяма коментари

Събота – ТУ, а в неделя – СУ.
Стискайте палци, защото предварителните изпити никога не са приятни !
От мен – успех на всички кандидат-студенти в КСК ‘09.

п.с. Дано 10та в СУ да е анализ.

07.04.2009

MMORPG + Flex/Flash Player от Adobe Edge

от admin — Категории: Flex, Flex tips&tricksНяма коментари

Adobe са пуснали интересна статия, свързана с MMORPG игрите и Flex.
СТАТИЯТА
Пише интересни неща и се препоръчва electro-server за сървърното решение на играта.

Лично аз се бях мъчил да напиша подобие на Socket Server, но не е толкова лесно, колкото изглежда, особено ако не се занимаваш с такъв вид програмиране или пък още по-малко с JAVA.
Освен JAVA, за Socket Server може да се ползва и PHP, C++, C#, Python, но за сега повечето готови комерсиални сървари са писани на JAVA.
А за тези, които ще попитат какво е това Socket Server -> това е сървърът, чрез който дадено флаш приложение става „multiplayer“ -> чатове, игри и т.н.
Препратки :
Wiki->Socket Server

02.04.2009

Оправяне на кирилицата с AMFPHP

от admin — Категории: Flex, Flex tips&tricksНяма коментари

Ако сте пробвали да пращатe през Flex нещо на кирилица, ползвайки AMFPHP, със сигурност сте се натъкнали на гаден проблем. Кирилицата не се изобразява!

Всичко се оправя, като в gateway.php в AMF папката на 127ми ред смените

127
$gateway->setCharsetHandler(каквото и да има тук);

със

127
$gateway->setCharsetHandler("iconv", "UTF-8", "UTF-8");

или енкодинг подходящ за вашата база данни.

27.03.2009

AMFPHP + Flex – хубав начин за връзка към PHP

от admin — Категории: Flex, Flex tips&tricksНяма коментари

На скоро ми се наложи да използвам AMF формата, за да прехвърлям данни от Flex към PHP към DataBase и октрих, че с AMFPHP всичко става по-лесно, по-бързо (и като писане и като прехвърляне на данни)
Може да прочетете тук : AMFPHP SITE по-обстойна информация какво представлява.

Ето и прост пример как да си нагласите AMFPHP-то и да тествате :
1.Изтеглете нужните файлове от сайта и разархивирайте.Трябва да имате папка amfphp и вътре services, etc.

2.Сложете цялата папка в директорията на локалния хост.

3.Връзката от FLex към AMFPHP ще се прави чрез gateway.php !

4.Отворете папката services и създайте нов PHP файл със следното съдържание :

<?php
class AMFTestService {
	public function __construct() { 
			define("MySQL_HOST", "localhost"); // server
			define("MySQL_USER", "user"); // user
			define("MySQL_PASS", "pass"); // pass	
			define("MySQL_BASE", "database"); //database
			$db=@mysql_connect(MySQL_HOST, MySQL_USER, MySQL_PASS);  // connectiong
			@mysql_query("set names utf8", $db); // za kirilicata ako prai problemi
			@mysql_select_db(MySQL_BASE); // selektirane na bazata danni
	}
 
	//pomo6tna funkciq, vru6ta masiv ot obekti za po-lesna obrabotka vuv flex
	private function _handleQuery($query)
	{
		$res = mysql_query($query)or die(mysql_error());
		$ret = array();
		while($obj = mysql_fetch_object($res)){  
            $ret[]  = $obj;  
        }
		return $ret;
	}
 
	//funkciqta, koqto se vika ot Flex
	function getSomeInfo()
	{
		$query = "SELECT pole FROM bazadanni";
		return $this->_handleQuery($query);
	}
}
?>

Както виждате това е PHP Class със следните методи :
__construct() -> конструктор метода на класа. В него се прави връзка към базата данни ( препоръчително ). Този метод се изпълнява всеки път когато се вика този клас.

private function _handleQuery($query) -> Функцията обработва заявката и връща масив от обекти, които във Flex директно се слагат във ArrayCollection.
Хубаво е да се използва, ако чрез заявката ще вземете някаква информация без да правите проверки и т.н.

function getSomeInfo() -> Тази функция се вика директно от Flex и връща директно във Flex масивът със обекти от базата данни ! Няма нужда да си цапате ръцете с XML ! Директно викане от Flex и взимане на променливи от Flex.

Следва да настроим клиента!
Създайте си нов Flex проект и сложете следният код, който е добре коментиран :

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
	initialize="init()">
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.collections.ArrayCollection;
 
			// v tazi promenliva zadavame putq do gateway.php failyt, koito sluji za vruzka !
			private var AMFGatewayLocation:String = "http://localhost/amfphp/gateway.php";
 
			//promenlivate gateway 6te sudurja obekt NetConnection,
			//chrez koito shte se osy6testvqva vikaneto i svurzvaneto s AMFPHP
			private var gateway:NetConnection;
 
			// normalen ArrayCollection, koito 6te sluji za DataProvider na DataGrid componenta
			[Bindable]
			private var dp:ArrayCollection;
 
			//init funkciqta, koqto se izvikva pri startirane na prilojenieto
			private function init():void
			{
				gateway = new NetConnection(); // suzdavame nova instanciq na NetConnection()
				gateway.objectEncoding = ObjectEncoding.AMF3; //tuk kazvame objectEncoding-a da e vuv AMF vid. Ne e zaduljitelno, no e preporu4itelno
				gateway.connect(AMFGatewayLocation);	// polzvame metoda connect() s parametur putq do gateway.php
				//vsi4ko e gotovo ! vurzani sme kym AMFPHP-to
			}			
 
			//click event handler na butona
			//izvikvame call metoda na NetConnection obekta
			private function callAMF(e:MouseEvent):void
			{
				gateway.call("AMFTestService.getSomeInfo",
							  new Responder(onResult,onFault));
 
				/*
				 * purviqt parametur e imeto na klasa, posledvan ot to4ka i imeto na funkciqta, koqto iskame da izvikame
				 * vtoriqt parametur predstavlqva nov Responder obekt ili nakratko -> onResult e pri rezultat, onFault e ako e vuzniknala gre6ka
				 * tretiqt parametur ( ne e vuveden ) predstavlqva syotvetno parametrite, koito se pra6tat kym AMFPHP, ako ima takiva
				 Primer :
 
				 ako imame v AMF Class-a funkciq :
 
				 function updateUser($id,$username)
				 {
				 	$query = "UPDATE users SET username ='$username' WHERE id = '$id';
				 	$res = mysql_query($query);
				 	if($res) return true; else return false;
				 }
 
				 to togava call metoda 6te izglejda taka :
				 gateway.call("AMFTestService.getSomeInfo",
							  new Responder(onResult,onFault),
							  idInput.text,
							  userNameInput.text);
				kudeto idInput i userNameInput sa fiktivni poleta
				 */
			}
			// funkciqta, koqto se izpylnqva pri vurnat rezultat ot klasa
			private function onResult(data : Array):void
			{
				dp = new ArrayCollection(data);
				//suzdavame nov ArrayCollection sus vurnatiqt masiv
				//dp-to e vurzano kym DataGrid-a, a dataField poletata nosqt su6tite imena kato imenata na poletata v bazata danni !
				//udobno, nali :)
			}
			//ako vuznikne gre6ka, 6te ni signalizira
			//preporu4vam vi vinagi da polzvate tozi sintaksis na funkciqta za gre6ka :
			private function onFault(fault : Object):void
			{
				Alert.show(fault.description);
			}
		]]>
	</mx:Script>
	<mx:ApplicationControlBar dock="true" width="100%">
		<mx:Button label="Call" click="callAMF(event)" />
	</mx:ApplicationControlBar>
	<mx:DataGrid dataProvider="{dp}" width="100%" height="100%">
		<mx:columns>
			<mx:DataGridColumn dataField="someFieldName"  />
		</mx:columns>
	</mx:DataGrid>
</mx:Application>

Това е всичко за тази публикация. Нататък ще пускам и други хитрини за AMFPHP!

25.02.2009

Прераждането на Quake !

от admin — Категории: Други2 Коментара

Quake Live
Сайтът сам говори за себе си ;) Приятна игра.

21.02.2009

Смърт за IE6

от admin — Категории: Други1 Коментар

Скандинавците имат доста интересен подход за IE6 :
http://blog.wired.com/business/2009/02/norwegian-websi.html
Ако се подхване нещо такова в България ще бъде доста полезно !

18.02.2009

Пращане на дата от Flex към PHP Script

от admin — Категории: Flex, Flex tips&tricks4 Коментара

Най-простият начин :

Да приемем, че скрипта се намира в localhost и се казва script.php.
Flex-a представлява TextInput поле с id myText, бутон със click event -> send(event) и httpservice деклариран по следният начин :

1
2
3
4
5
6
<mx:HTTPService 
id="phpRequest" 
resultFormat="text" 
url="http://localhost/script.php"
result="onResult(event)"
fault="onFault(event)">

Целта е да пратим написаното в myText до PHP.
Имаме следният код :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private function send(e:MouseEvent):void
{
  var sendObject:Object = new Object(); // pravim obekt
  sendObject.textZaPrashtane = myText.text; // pravim promenliva na tozi obekt na ime textZaPrashtane i sus stoinost myText.text
  phpRequest.send(sendObject); // prashtame kym scripta
}
 
private function onResult(e:flash.rpc.ResultEvent):void
{
 Alert.show(e.result.toString());
}
 
private function onFault(e:flash.rpc.FaultEvent):void
{
 // pri greshka
}

И съответният PHP скрипт :

1
2
3
4
<?php
$promenliva = $_POST['textZaPrashtane'];
echo $promenliva;
?>

Ако искате да пращате още неща към PHP-то, начинът е : sendObject.oshteNeshto = „oshte nesheto za prasthane“ и така колкото искате.

13.02.2009

Видео уроци за Flex

от admin — Категории: Flex, Flex tips&tricksНяма коментари

Може да гледате видео уроци правени от мен, свързани с Flex на Video Tutorials .
Надявам се да ви харесва, а ако правя нещо интересно ще го качвам като обяснение и тук.

© 2010 Rado's blog All rights reserved - Wallow theme by TwoBeers Crew - Powered by WordPress - Забавлявайте се!