Posts Tagged ‘développement’

[Android] Yaht!zi

Sunday, February 6th, 2011 @ 4:21 PM

Yaht!zi est un jeu de Yahtzee possédant plusieurs variantes et la possibilité de jouer à plusieurs avec un seul téléphone ! Idéal pour les soirées au café.

Parmi les variantes : Yahtzee, Yahtzee avec bonus, Yatch. Celles-ci possèdent leurs alternatives de Haut en Bas et de Bas en Haut.

Le mode multi-joueurs vous permettra de jouer avec un nombre illimité d’adversaire.

Le jeu vous propose plusieurs styles de dé que vous pourrez choisir à votre guise.

Vous aurez également la possibilité de choisir l’affichage qui vous convient le mieux.

Le rappel des règles et des gains selon les variantes permettront aux nouveaux joueurs de rentrer plus vite dans la partie.

Les High-scores augmenteront l’envie de vous surpasser !

Si vous rencontrez un problème ou désirez une amélioration, n’hésitez pas à vous rendre sur le site bug tracker, il y a certainement une solution !

[VB] Traduction d’une application…

Thursday, January 27th, 2011 @ 12:40 PM

Si comme moi vous devez faire face à l’évolution d’une application codée en VB6 et qu’il vous faut intégrer la gestion de la localisation, voici une petite piste afin d’utiliser un fichier .res et une traduction qui fonctionne…

Tout d’abord il vous faut faire appel aux fonctions suivantes de windows grâce à leurs déclarations :

Option Explicit

Private Declare Function SetThreadLocale Lib "kernel32" (ByVal Locale As Long) As Long
Private Declare Function GetThreadLocale Lib "kernel32" () As Long
Private Declare Function LoadString Lib "user32" Alias "LoadStringA" (ByVal hInstance As Long, ByVal wID As Long, ByVal lpBuffer As String, ByVal nBufferMax As Long) As Long

Ensuite, il vous faut créer une nouvelle fonction permettant d’utiliser LoadString à la place de LoadResString

Public Function vbLoadResString(id As Long) As String
    vbLoadResString = Space(256)
    LoadString App.hInstance, id, vbLoadResString, Len(vbLoadResString)
End Function

Maintenant, vous pouvez déclarer la langue à utiliser via la fonction

SetThreadLocale (&H40C)

Et pour obtenir enfin vos traductions, il ne reste plus qu’à faire appel à la fonction vbLoadResString

MsgBox vbLoadResString(101)

Et voilà, à l’exécution vous aurez une application traduite dans la langue que vous souhaitez.

Source

Pour ceux qui ont besoin de la table des références la voici :

Langue Abréviation Valeur Hexa Valeur Décimale
Afrikaans af 0×0436 1078
Albanian sq 0x041C 1052
Arabic – United Arab Emirates ar-ae 0×3801 14337
Arabic – Bahrain ar-bh 0x3C01 15361
Arabic – Algeria ar-dz 0×1401 5121
Arabic – Egypt ar-eg 0x0C01 3073
Arabic – Iraq ar-iq 0×0801 2049
Arabic – Jordan ar-jo 0x2C01 11265
Arabic – Kuwait ar-kw 0×3401 13313
Arabic – Lebanon ar-lb 0×3001 12289
Arabic – Libya ar-ly 0×1001 4097
Arabic – Morocco ar-ma 0×1801 6145
Arabic – Oman ar-om 0×2001 8193
Arabic – Qatar ar-qa 0×4001 16385
Arabic – Saudi Arabia ar-sa 0×0401 1025
Arabic – Syria ar-sy 0×2801 10241
Arabic – Tunisia ar-tn 0x1C01 7169
Arabic – Yemen ar-ye 0×2401 9217
Armenian hy 0x042B 1067
Azeri – Latin az-az 0x042C 1068
Azeri – Cyrillic az-az 0x082C 2092
Basque eu 0x042D 1069
Belarusian be 0×0423 1059
Bulgarian bg 0×0402 1026
Catalan ca 0×0403 1027
Chinese – China zh-cn 0×0804 2052
Chinese – Hong Kong S.A.R. zh-hk 0x0C04 3076
Chinese – Macau S.A.R zh-mo 0×1404 5124
Chinese – Singapore zh-sg 0×1004 4100
Chinese – Taiwan zh-tw 0×0404 1028
Croatian hr 0x041A 1050
Czech cs 0×0405 1029
Danish da 0×0406 1030
Dutch – The Netherlands nl-nl 0×0413 1043
Dutch – Belgium nl-be 0×0813 2067
English – Australia en-au 0x0C09 3081
English – Belize en-bz 0×2809 10249
English – Canada en-ca 0×1009 4105
English – Carribbean en-cb 0×2409 9225
English – Ireland en-ie 0×1809 6153
English – Jamaica en-jm 0×2009 8201
English – New Zealand en-nz 0×1409 5129
English – Phillippines en-ph 0×3409 13321
English – South Africa en-za 0x1C09 7177
English – Trinidad en-tt 0x2C09 11273
English – United Kingdom en-gb 0×0809 2057
English – United States en-us 0×0409 1033
Estonian et 0×0425 1061
Farsi fa 0×0429 1065
Finnish fi 0x040B 1035
Faroese fo 0×0438 1080
French – France fr-fr 0x040C 1036
French – Belgium fr-be 0x080C 2060
French – Canada fr-ca 0x0C0C 3084
French – Luxembourg fr-lu 0x140C 5132
French – Switzerland fr-ch 0x100C 4108
Gaelic – Ireland gd-ie 0x083C 2108
Gaelic – Scotland gd 0x043C 1084
German – Germany de-de 0×0407 1031
German – Austria de-at 0x0C07 3079
German – Liechtenstein de-li 0×1407 5127
German – Luxembourg de-lu 0×1007 4103
German – Switzerland de-ch 0×0807 2055
Greek el 0×0408 1032
Hebrew he 0x040D 1037
Hindi hi 0×0439 1081
Hungarian hu 0x040E 1038
Icelandic is 0x040F 1039
Indonesian id 0×0421 1057
Italian – Italy it-it 0×0410 1040
Italian – Switzerland it-ch 0×0810 2064
Japanese ja 0×0411 1041
Korean ko 0×0412 1042
Latvian lv 0×0426 1062
Lithuanian lt 0×0427 1063
FYRO Macedonian mk 0x042F 1071
Malay – Malaysia ms-my 0x043E 1086
Malay – Brunei ms-bn 0x083E 2110
Maltese mt 0x043A 1082
Marathi mr 0x044E 1102
Norwegian – Bokmål no-no 0×0414 1044
Norwegian – Nynorsk no-no 0×0814 2068
Polish pl 0×0415 1045
Portuguese – Portugal pt-pt 0×0816 2070
Portuguese – Brazil pt-br 0×0416 1046
Raeto-Romance rm 0×0417 1047
Romanian – Romania ro 0×0418 1048
Romanian – Moldova ro-mo 0×0818 2072
Russian ru 0×0419 1049
Russian – Moldova ru-mo 0×0819 2073
Sanskrit sa 0x044F 1103
Serbian – Cyrillic sr-sp 0x0C1A 3098
Serbian – Latin sr-sp 0x081A 2074
Setsuana tn 0×0432 1074
Slovenian sl 0×0424 1060
Slovak sk 0x041B 1051
Sorbian sb 0x042E 1070
Spanish – Spain es-es 0x0C0A 1034
Spanish – Argentina es-ar 0x2C0A 11274
Spanish – Bolivia es-bo 0x400A 16394
Spanish – Chile es-cl 0x340A 13322
Spanish – Colombia es-co 0x240A 9226
Spanish – Costa Rica es-cr 0x140A 5130
Spanish – Dominican Republic es-do 0x1C0A 7178
Spanish – Ecuador es-ec 0x300A 12298
Spanish – Guatemala es-gt 0x100A 4106
Spanish – Honduras es-hn 0x480A 18442
Spanish – Mexico es-mx 0x080A 2058
Spanish – Nicaragua es-ni 0x4C0A 19466
Spanish – Panama es-pa 0x180A 6154
Spanish – Peru es-pe 0x280A 10250
Spanish – Puerto Rico es-pr 0x500A 20490
Spanish – Paraguay es-py 0x3C0A 15370
Spanish – El Salvador es-sv 0x440A 17418
Spanish – Uruguay es-uy 0x380A 14346
Spanish – Venezuela es-ve 0x200A 8202
Sutu sx 0×0430 1072
Swahili sw 0×0441 1089
Swedish – Sweden sv-se 0x041D 1053
Swedish – Finland sv-fi 0x081D 2077
Tamil ta 0×0449 1097
Tatar tt 0X0444 1092
Thai th 0x041E 1054
Turkish tr 0x041F 1055
Tsonga ts 0×0431 1073
Ukrainian uk 0×0422 1058
Urdu ur 0×0420 1056
Uzbek – Cyrillic uz-uz 0×0843 2115
Uzbek – Latin uz-uz 0×0443 1091
Vietnamese vi 0x042A 1066
Xhosa xh 0×0434 1076
Yiddish yi 0x043D 1085
Zulu zu 0×0435 1077

Récupérer des données JSON en PHP

Friday, December 10th, 2010 @ 9:25 PM

Vous avez besoin de récupérer des données JSON envoyées à votre script PHP…

Alors vous utilisez les $_GET, $_POST, $_REQUEST, mais rien ne fonctionne…

Alors voici votre solution !

<?
$handle = fopen('php://input','r');
$jsonbrut = fgets($handle);
$datas=json_decode($jsonbrut,true);
?>

Et voilà, dans $datas, vous aurez vos données json sous la forme d’un tableau !

C’est tellement simple…

Remplacer la fonction eregi dépréciée dans les nouvelles versions de PHP

Tuesday, November 30th, 2010 @ 7:55 PM

Vous utilisiez la fonction eregi et vous vous êtes rendu compte que celle-ci ne devait plus être utilisée avec php >= 5.3.0

Voici donc un petit exemple de remplacement en utilisant la fonction preg_match.

Voici le code avant :

		if(eregi("<title>(.*)</title>", $Titre, $LTitre)){
			$LTitre=$LTitre[1];
		}else{
			$LTitre='';
		}

Et voici le code maintenant :

		if(preg_match('/<title>(.*)<\/title>/i', $Titre, $LTitre)){
			$LTitre=$LTitre[1];
		}else{
			$LTitre='';
		}

Il s’agit donc d’utiliser maintenant la fonction preg_match et ses délimiteurs qui sont “/”, le “/i”, nous permet de rendre la recherche insensible à la case. N’oubliez pas d’ajouter un “\” devant les “/” qui vous servent pour votre recherche…

[PHP] Heure d’hiver en Europe

Thursday, November 11th, 2010 @ 9:02 PM

La fonction existante dans le langage PHP ne retourne pas forcément le bon résultat, alors, voici une classe qui vous permet, sans utiliser la fonction de PHP, de savoir si la date est basée sur l’heure d’hiver ou non

<?php
/**
*   dateime_timezone_daylight.php
*   Copyright (C) MazeSloup - mazesloup [at] gmail [dot] com
*   http://mazesloup.fr
*   http://blog.mazesloup.fr/index.php/post/2010/11/11/php-heure-dhiver-en-europe
*
*   This program is free software; you can redistribute it and/or modify
*   it under the terms of the GNU General Public License as published by
*   the Free Software Foundation; either version 2 of the License.
*
*   This program is distributed in the hope that it will be useful,
*   but WITHOUT ANY WARRANTY; without even the implied warranty of
*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*   GNU General Public License for more details.
*
*   You should have received a copy of the GNU General Public License
*   along with this program; if not, write to the Free Software
*   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

/*
 * Permet de savoir si une date est en heure d'hiver ou non
 * Utilisation : ms_SummerTimeInEU::isInWinterTime(strtotime('2010/10/31 04:00'));
 * @return bolean True si nous somme en heure d'hiver, false si nous sommes en heure d'été
 */
class ms_SummerTimeInEU{

	static function getDayOfWinterTime($Year){
		return date('z',strtotime(sprintf("last sunday of october %n",$Year)));
	}

	static function getDayOfSummerTime($Year){
		return date('z',strtotime(sprintf("last sunday of march %n",$Year)));
	}	

	static function isInWinterTime($When){
		$NumberDay=date('z',$When);
		if(($NumberDay<self::getDayOfSummerTime(date('y',$When)))||($NumberDay>self::getDayOfWinterTime(date('y',$When)))){
			return true;
		}else{
			if((($NumberDay==self::getDayOfSummerTime(date('y',$When))&&(date('G',$When)<2)))||(($NumberDay==self::getDayOfWinterTime(date('y',$When))&&(date('G',$When)>3)))){
				return true;
			}else{
				return false;
			}
		}
	}
}
?>