Accueil > > > UPXHELPER V1.1.1
UPXHELPER V1.1.1
Information sur la source
Description
Une interface graphique pour le compresseur d'exécutables UPX téléchargeable ici : http://upx.sourceforge.net/#download Pratique pour les applications portables sur clé USB. Rien de particulier dans le source sinon que je découvre la commande ShellExecute et que je joue avec les conditions if, else, then, else if. Classé chez moi comme micro-projet car ce n'est pas un source énorme. Merci à Michel34, je me suis inspiré de son source THorloge pour la gestion du fichier .ini
Source
- {===============================================================================
- Code Source : BEAUMONT Christophe
- Version : 1.1.1
- Date : 07 Mars 2010
-
- Micro Projet 02 - Un programme qui offre une interface utilisateur au compresseur
- de programmes UPX, pratique pour les applications portables sur clé USB. Il en
- existe un tas mais c'est toujours plus sympa quand c'est fait "maison".
- Ne pas oublier de déclarer "ShellAPI" dans les "Uses" pour l'utilisation de
- ShellExecute ainsi que 'IniFiles' pour la gestion du fichier de configuration.
- ===============================================================================}
- unit f_main;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, ShellAPI, XPMan, ComCtrls, IniFiles;
-
- type
- TUPXHelp = class(TForm)
- LoaderString: TEdit;
- BtnDialog: TButton;
- OpenExe: TOpenDialog;
- XPLook: TXPManifest;
- BtnCompress: TButton;
- BtnDecompress: TButton;
- CompressionBox: TGroupBox;
- CompressionBar: TTrackBar;
- LabTauxCompression: TLabel;
- BruteBox: TCheckBox;
- UBruteBox: TCheckBox;
- OptionsBox: TGroupBox;
- RessourcesBox: TCheckBox;
- ExportsBox: TCheckBox;
- IconesBox: TComboBox;
- RelocsBox: TCheckBox;
- DiversBox: TGroupBox;
- CompatibiliteBox: TCheckBox;
- ForceBox: TCheckBox;
- BackupBox: TCheckBox;
- procedure BtnDialogClick(Sender: TObject);
- procedure CompressionBarChange(Sender: TObject);
- procedure BruteBoxClick(Sender: TObject);
- procedure UBruteBoxClick(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- procedure BtnDecompressClick(Sender: TObject);
- procedure BtnCompressClick(Sender: TObject);
- procedure FormActivate(Sender: TObject);
- procedure FormDestroy(Sender: TObject);
- private
- { Déclarations privées }
- public
- { Déclarations publiques }
- end;
-
- var
- UPXHelp: TUPXHelp;
- UPXPath, INIPath, Parameters : String;
- implementation
-
- {$R *.dfm}
-
- procedure TUPXHelp.BtnCompressClick(Sender: TObject);
- begin
- // On vide le string
- Parameters := '';
-
- //=============================================================================
- // Ici on commence à traiter les options de compression
- //=============================================================================
- // Si "Ultra-Brute" est sélectionné
- if UBruteBox.Checked
- // alors on le déclare en paramètres
- then Parameters := Parameters+' --ultra-brute'
- // Sinon on teste "Brute"
- else if BruteBox.Checked
- // Si "Brute est sélectionné alors on le déclare en paramètres
- then Parameters := Parameters+' --brute'
- // Si aucun des deux n'est coché, on va déclarer le taux de compression
- // Si le taux de compression = 10
- else if CompressionBar.Position = 10
- // alors on déclare --best en paramètres
- then Parameters := Parameters+' --best'
- // Sinon la valeur du taux de compression ( 1 à 9 )
- else Parameters := Parameters+' -'+IntToStr(CompressionBar.Position);
-
- //=============================================================================
- // Ici on continue en traitant les options avancées
- //=============================================================================
- // Si la compression des ressources est sélectionnée
- if RessourcesBox.Checked
- // alors on valide le paramètre
- then Parameters := Parameters+' --compress-resources=1'
- // autrement pas de compression des ressources
- else Parameters := Parameters+' --compress-resources=0';
-
- // Si la compression des exports est sélectionnée
- if ExportsBox.Checked
- // alors on valide le paramètre
- then Parameters := Parameters+' --compress-exports=1'
- // autrement pas de compression des exports
- else Parameters := Parameters+' --compress-exports=0';
-
- // Si l'enlèvement des relocations est sélectionné
- if RelocsBox.Checked
- // alors on valide le paramètre
- then Parameters := Parameters+' --strip-relocs=1'
- // autrement pas d'enlèvement des exports
- else Parameters := Parameters+' --strip-relocs=0';
-
- // On choisit le mode de compression des icônes contenus dans le programme
- Parameters := Parameters+' --compress-icons='+IntToStr(IconesBox.ItemIndex);
-
- //==============================================================================
- // Et enfin les options diverses
- //==============================================================================
- // On vérifie si la compatibilté 8086 est sélectionnée
- if CompatibiliteBox.Checked
- // Si oui, on ajoute le paramètre
- then Parameters := Parameters+' --8086';
- // Doit on forcer la compression ?
- if ForceBox.Checked
- // Si oui alors on ajoute le paramètre
- then Parameters := Parameters+' --force';
- // Et enfin, doit on faire une sauvegarde du programme avant traitement ?
- if BackupBox.Checked
- // Si oui, on ajoute le paramètre pour une sauvegarde
- then Parameters := Parameters+' --backup'
- // Si non, on ne fait pas de sauvegarde du programme et on l'écrase
- else Parameters := Parameters+' --no-backup';
-
- // Et enfin on exécute upx.exe et son armada de paramètres
- ShellExecute(GetDesktopWindow, 'open', PChar(UPXPath), PChar('"'+UPXPath+'"'+Parameters+' '+'"'+LoaderString.Text+'"'), nil, SW_SHOWNORMAL);
- end;
-
- procedure TUPXHelp.BtnDecompressClick(Sender: TObject);
- begin
- // On passe en paramètres la commande pour décompresser
- Parameters := ' -d';
- // Si on a choisit de faire une sauvegarde du fichier compressé
- if BackupBox.Checked then
- begin
- // on indique la sauvegarde en paramètres
- Parameters := Parameters+' --backup';
- end
- else
- // Autrement pas de sauvegarde
- Parameters := Parameters+' --no-backup';
- // Et on exécute upx.exe avec sa ligne de commande en paramètres et le programme cible
- ShellExecute(GetDesktopWindow, 'open', PChar(UPXPath), PChar('"'+UPXPath+'"'+Parameters+' '+'"'+LoaderString.Text+'"'), nil, SW_SHOWNORMAL);
- end;
-
- procedure TUPXHelp.BtnDialogClick(Sender: TObject);
- begin
- // Renvoie true lorsque l'utilisateur effectue une sélection et clique sur OK, et renvoie
- // false lorsque l'utilisateur ferme la boîte de dialogue sans effectuer de sélection.
- if OpenExe.Execute then
- begin
- // On affiche le chemin et le nom du programme sélectionné
- LoaderString.Text := OpenExe.FileName;
- // On active les boutons "Compresser" et "Décompresser" qui étaient désactivés pour éviter
- // de gérer une erreur de fichier non sélectionné.
- BtnCompress.Enabled := True;
- BtnDecompress.Enabled := True;
- end;
- end;
-
- procedure TUPXHelp.BruteBoxClick(Sender: TObject);
- begin
- // Si l'option "Brute" est sélectionnée
- if BruteBox.Checked then
- // alors on déselectionne "Ultra Brute"
- UBruteBox.Checked := False;
- end;
-
- procedure TUPXHelp.UBruteBoxClick(Sender: TObject);
- begin
- // Si l'option "Ultra Brute" est sélectionnée
- if UBruteBox.Checked then
- // alors on déselectionne "Brute"
- BruteBox.Checked := False;
- end;
-
- procedure TUPXHelp.CompressionBarChange(Sender: TObject);
- begin
- // On affiche le taux de compression ( 1 à 10 )
- LabTauxCompression.Caption := IntToStr(CompressionBar.Position);
- end;
-
- procedure TUPXHelp.FormActivate(Sender: TObject);
- var INI : TIniFile;
- begin
- // Create construit un objet TCustomIniFile pour une application et affecte le paramètre FileName
- // à la propriété FileName pour spécifier le nom du fichier ini à utiliser
- INI := TIniFile.Create(INIPath+'UPXHelper.ini');
-
- // On charge une chaîne de caractères (string)
- LoaderString.Text := INI.ReadString('Options','LastFile','');
- // On charge la valeur du taux de compression (Integer), valeur par défaut = 7
- CompressionBar.Position := INI.ReadInteger('Options','Compression',7);
- // On charge l'état du composant (True ou False), valeur par défaut = False
- BruteBox.Checked := INI.ReadBool('Options','Brute',False);
- UBruteBox.Checked := INI.ReadBool('Options','UBrute',False);
- // On charge l'état du composant (True ou False), valeur par défaut = True
- RessourcesBox.Checked := INI.ReadBool('Options','Ressources',True);
- ExportsBox.Checked := INI.ReadBool('Options','Exports',True);
- RelocsBox.Checked := INI.ReadBool('Options','Relocations',True);
- IconesBox.ItemIndex := INI.ReadInteger('Options','Icones',2);
- CompatibiliteBox.Checked := INI.ReadBool('Options','Compatibilite',False);
- ForceBox.Checked := INI.ReadBool('Options','Force',False);
- BackupBox.Checked := INI.ReadBool('Options','Backup',False);
-
- // On libère le fichier .ini
- INI.Free;
- // On n'oublie pas d'activer nos boutons si nous avons un programme déclaré
- if LoaderString.Text <>'' then
- begin
- BtnCompress.Enabled := True;
- BtnDecompress.Enabled := True;
- end
- end;
-
- procedure TUPXHelp.FormCreate(Sender: TObject);
- begin
- // Récupère le chemin d'accés à notre programme
- INIPath := ExtractFilePath(Application.ExeName);
- // et ajoute upx.exe
- UPXPath := INIPath+'upx.exe';
- // Si upx.exe n'est pas dans le répertoire de notre programme
- if not FileExists(UPXPath) then
- // On affiche un avertissement.
- ShowMessage('Upx.exe est absent du répertoire');
- end;
-
- procedure TUPXHelp.FormDestroy(Sender: TObject);
- var INI : TIniFile;
- begin
- // Créé le fichier Ini s'il n'existe pas, on définit aussi le répertoire courant
- // comme chemin sinon le fichier se créé dans le répertoire Windows
- INI := TIniFile.Create(INIPath+'UPXHelper.ini');
-
- // On va écrire le dernier programme sélectionné ainsi que son chemin d'accès (string)
- INI.WriteString('Options','LastFile',LoaderString.Text);
- // La valeur du taux de compression de 1 à 10 (Integer)
- INI.WriteInteger('Options','Compression',CompressionBar.Position);
- // La valeur boléenne du composant (True ou False)
- INI.WriteBool('Options','Brute',BruteBox.Checked);
- INI.WriteBool('Options','UBrute',UBruteBox.Checked);
- INI.WriteBool('Options','Ressources',RessourcesBox.Checked);
- INI.WriteBool('Options','Exports',ExportsBox.Checked);
- INI.WriteBool('Options','Relocations',RelocsBox.Checked);
- INI.WriteInteger('Options','Icones',IconesBox.ItemIndex);
- INI.WriteBool('Options','Compatibilite',CompatibiliteBox.Checked);
- INI.WriteBool('Options','Force',ForceBox.Checked);
- INI.WriteBool('Options','Backup',BackupBox.Checked);
-
- // On libère le fichier .ini
- INI.Free;
- end;
-
- end.
{===============================================================================
Code Source : BEAUMONT Christophe
Version : 1.1.1
Date : 07 Mars 2010
Micro Projet 02 - Un programme qui offre une interface utilisateur au compresseur
de programmes UPX, pratique pour les applications portables sur clé USB. Il en
existe un tas mais c'est toujours plus sympa quand c'est fait "maison".
Ne pas oublier de déclarer "ShellAPI" dans les "Uses" pour l'utilisation de
ShellExecute ainsi que 'IniFiles' pour la gestion du fichier de configuration.
===============================================================================}
unit f_main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ShellAPI, XPMan, ComCtrls, IniFiles;
type
TUPXHelp = class(TForm)
LoaderString: TEdit;
BtnDialog: TButton;
OpenExe: TOpenDialog;
XPLook: TXPManifest;
BtnCompress: TButton;
BtnDecompress: TButton;
CompressionBox: TGroupBox;
CompressionBar: TTrackBar;
LabTauxCompression: TLabel;
BruteBox: TCheckBox;
UBruteBox: TCheckBox;
OptionsBox: TGroupBox;
RessourcesBox: TCheckBox;
ExportsBox: TCheckBox;
IconesBox: TComboBox;
RelocsBox: TCheckBox;
DiversBox: TGroupBox;
CompatibiliteBox: TCheckBox;
ForceBox: TCheckBox;
BackupBox: TCheckBox;
procedure BtnDialogClick(Sender: TObject);
procedure CompressionBarChange(Sender: TObject);
procedure BruteBoxClick(Sender: TObject);
procedure UBruteBoxClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BtnDecompressClick(Sender: TObject);
procedure BtnCompressClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
UPXHelp: TUPXHelp;
UPXPath, INIPath, Parameters : String;
implementation
{$R *.dfm}
procedure TUPXHelp.BtnCompressClick(Sender: TObject);
begin
// On vide le string
Parameters := '';
//=============================================================================
// Ici on commence à traiter les options de compression
//=============================================================================
// Si "Ultra-Brute" est sélectionné
if UBruteBox.Checked
// alors on le déclare en paramètres
then Parameters := Parameters+' --ultra-brute'
// Sinon on teste "Brute"
else if BruteBox.Checked
// Si "Brute est sélectionné alors on le déclare en paramètres
then Parameters := Parameters+' --brute'
// Si aucun des deux n'est coché, on va déclarer le taux de compression
// Si le taux de compression = 10
else if CompressionBar.Position = 10
// alors on déclare --best en paramètres
then Parameters := Parameters+' --best'
// Sinon la valeur du taux de compression ( 1 à 9 )
else Parameters := Parameters+' -'+IntToStr(CompressionBar.Position);
//=============================================================================
// Ici on continue en traitant les options avancées
//=============================================================================
// Si la compression des ressources est sélectionnée
if RessourcesBox.Checked
// alors on valide le paramètre
then Parameters := Parameters+' --compress-resources=1'
// autrement pas de compression des ressources
else Parameters := Parameters+' --compress-resources=0';
// Si la compression des exports est sélectionnée
if ExportsBox.Checked
// alors on valide le paramètre
then Parameters := Parameters+' --compress-exports=1'
// autrement pas de compression des exports
else Parameters := Parameters+' --compress-exports=0';
// Si l'enlèvement des relocations est sélectionné
if RelocsBox.Checked
// alors on valide le paramètre
then Parameters := Parameters+' --strip-relocs=1'
// autrement pas d'enlèvement des exports
else Parameters := Parameters+' --strip-relocs=0';
// On choisit le mode de compression des icônes contenus dans le programme
Parameters := Parameters+' --compress-icons='+IntToStr(IconesBox.ItemIndex);
//==============================================================================
// Et enfin les options diverses
//==============================================================================
// On vérifie si la compatibilté 8086 est sélectionnée
if CompatibiliteBox.Checked
// Si oui, on ajoute le paramètre
then Parameters := Parameters+' --8086';
// Doit on forcer la compression ?
if ForceBox.Checked
// Si oui alors on ajoute le paramètre
then Parameters := Parameters+' --force';
// Et enfin, doit on faire une sauvegarde du programme avant traitement ?
if BackupBox.Checked
// Si oui, on ajoute le paramètre pour une sauvegarde
then Parameters := Parameters+' --backup'
// Si non, on ne fait pas de sauvegarde du programme et on l'écrase
else Parameters := Parameters+' --no-backup';
// Et enfin on exécute upx.exe et son armada de paramètres
ShellExecute(GetDesktopWindow, 'open', PChar(UPXPath), PChar('"'+UPXPath+'"'+Parameters+' '+'"'+LoaderString.Text+'"'), nil, SW_SHOWNORMAL);
end;
procedure TUPXHelp.BtnDecompressClick(Sender: TObject);
begin
// On passe en paramètres la commande pour décompresser
Parameters := ' -d';
// Si on a choisit de faire une sauvegarde du fichier compressé
if BackupBox.Checked then
begin
// on indique la sauvegarde en paramètres
Parameters := Parameters+' --backup';
end
else
// Autrement pas de sauvegarde
Parameters := Parameters+' --no-backup';
// Et on exécute upx.exe avec sa ligne de commande en paramètres et le programme cible
ShellExecute(GetDesktopWindow, 'open', PChar(UPXPath), PChar('"'+UPXPath+'"'+Parameters+' '+'"'+LoaderString.Text+'"'), nil, SW_SHOWNORMAL);
end;
procedure TUPXHelp.BtnDialogClick(Sender: TObject);
begin
// Renvoie true lorsque l'utilisateur effectue une sélection et clique sur OK, et renvoie
// false lorsque l'utilisateur ferme la boîte de dialogue sans effectuer de sélection.
if OpenExe.Execute then
begin
// On affiche le chemin et le nom du programme sélectionné
LoaderString.Text := OpenExe.FileName;
// On active les boutons "Compresser" et "Décompresser" qui étaient désactivés pour éviter
// de gérer une erreur de fichier non sélectionné.
BtnCompress.Enabled := True;
BtnDecompress.Enabled := True;
end;
end;
procedure TUPXHelp.BruteBoxClick(Sender: TObject);
begin
// Si l'option "Brute" est sélectionnée
if BruteBox.Checked then
// alors on déselectionne "Ultra Brute"
UBruteBox.Checked := False;
end;
procedure TUPXHelp.UBruteBoxClick(Sender: TObject);
begin
// Si l'option "Ultra Brute" est sélectionnée
if UBruteBox.Checked then
// alors on déselectionne "Brute"
BruteBox.Checked := False;
end;
procedure TUPXHelp.CompressionBarChange(Sender: TObject);
begin
// On affiche le taux de compression ( 1 à 10 )
LabTauxCompression.Caption := IntToStr(CompressionBar.Position);
end;
procedure TUPXHelp.FormActivate(Sender: TObject);
var INI : TIniFile;
begin
// Create construit un objet TCustomIniFile pour une application et affecte le paramètre FileName
// à la propriété FileName pour spécifier le nom du fichier ini à utiliser
INI := TIniFile.Create(INIPath+'UPXHelper.ini');
// On charge une chaîne de caractères (string)
LoaderString.Text := INI.ReadString('Options','LastFile','');
// On charge la valeur du taux de compression (Integer), valeur par défaut = 7
CompressionBar.Position := INI.ReadInteger('Options','Compression',7);
// On charge l'état du composant (True ou False), valeur par défaut = False
BruteBox.Checked := INI.ReadBool('Options','Brute',False);
UBruteBox.Checked := INI.ReadBool('Options','UBrute',False);
// On charge l'état du composant (True ou False), valeur par défaut = True
RessourcesBox.Checked := INI.ReadBool('Options','Ressources',True);
ExportsBox.Checked := INI.ReadBool('Options','Exports',True);
RelocsBox.Checked := INI.ReadBool('Options','Relocations',True);
IconesBox.ItemIndex := INI.ReadInteger('Options','Icones',2);
CompatibiliteBox.Checked := INI.ReadBool('Options','Compatibilite',False);
ForceBox.Checked := INI.ReadBool('Options','Force',False);
BackupBox.Checked := INI.ReadBool('Options','Backup',False);
// On libère le fichier .ini
INI.Free;
// On n'oublie pas d'activer nos boutons si nous avons un programme déclaré
if LoaderString.Text <>'' then
begin
BtnCompress.Enabled := True;
BtnDecompress.Enabled := True;
end
end;
procedure TUPXHelp.FormCreate(Sender: TObject);
begin
// Récupère le chemin d'accés à notre programme
INIPath := ExtractFilePath(Application.ExeName);
// et ajoute upx.exe
UPXPath := INIPath+'upx.exe';
// Si upx.exe n'est pas dans le répertoire de notre programme
if not FileExists(UPXPath) then
// On affiche un avertissement.
ShowMessage('Upx.exe est absent du répertoire');
end;
procedure TUPXHelp.FormDestroy(Sender: TObject);
var INI : TIniFile;
begin
// Créé le fichier Ini s'il n'existe pas, on définit aussi le répertoire courant
// comme chemin sinon le fichier se créé dans le répertoire Windows
INI := TIniFile.Create(INIPath+'UPXHelper.ini');
// On va écrire le dernier programme sélectionné ainsi que son chemin d'accès (string)
INI.WriteString('Options','LastFile',LoaderString.Text);
// La valeur du taux de compression de 1 à 10 (Integer)
INI.WriteInteger('Options','Compression',CompressionBar.Position);
// La valeur boléenne du composant (True ou False)
INI.WriteBool('Options','Brute',BruteBox.Checked);
INI.WriteBool('Options','UBrute',UBruteBox.Checked);
INI.WriteBool('Options','Ressources',RessourcesBox.Checked);
INI.WriteBool('Options','Exports',ExportsBox.Checked);
INI.WriteBool('Options','Relocations',RelocsBox.Checked);
INI.WriteInteger('Options','Icones',IconesBox.ItemIndex);
INI.WriteBool('Options','Compatibilite',CompatibiliteBox.Checked);
INI.WriteBool('Options','Force',ForceBox.Checked);
INI.WriteBool('Options','Backup',BackupBox.Checked);
// On libère le fichier .ini
INI.Free;
end;
end.
Conclusion
J'ai enfin bien compris l'utilisation des conditions ;)
Historique
- 08 mars 2010 10:16:16 :
- Ajout de la création d'un fichier de sauvegarde des options
- 08 mars 2010 10:32:07 :
- Retrait de 2 fautes d'orthographe
- 08 mars 2010 10:50:11 :
- Manquait un i à Compatibilite dans la sauvegarde
- 08 mars 2010 10:56:06 :
- Oublié de mettre un fichier
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
ShellExecute [ par eric_delphi_man ]
Voici mon programme( Application console) pour lancer automatiquement mon logiciel, et il ne marche pas je ne comprend pas merci de me donner la repon
console et database [ par mouhalc ]
bonjour je reprend un message posté sur le forum je n'ai pas vu la réponse et j'ai le même problème si quelqu'un peut m'aider?Peut-on utiliser les com
Interface utilisateur [ par racing66 ]
Bonjour.voilà je cherche un moyen de créer un système de navigation pour l'utilisateur qui ressemble au système d'emule.Je m'explique, j'aimerais que
Vidéo Media Player [ par Rowan ]
Bonjours à tous,Je possède DELPHI4.Comme puis-je faire pour lancer une vidéo avec le MediaPlayer de windows en mode pleine écran?L'API ShellExecute, n
Compression décompression [ par yafou ]
j'aimerez bien avoir un exemple calire de compression et de decompression de fichier la majorités des exemple sont non fonctionnelle?Merci--____-=YaFo
Interface personalisé Delphi !! [ par kanabis ]
Salut à tous ! Je voudrais savoir comment (ou avec quel(s) composants, je pourrais modifier à 100% l'interface d'une application en Delphi (6 Perso).
Lancer 1 Appli-console au départ d'une Appli Win-Delphi [ par GLBX ]
Lancer une "COMMAND DOS" (ex. Copy X --> Y) : OKMais comment par ex. en cliquant sur un bouton lancer une appli qui a été écrite en (vieux) Pascal
récupérer une entrée en mode console [ par hendrix ]
Bonjour à tousJe cherche à faire un petit programme simple en mode console, je voudrais récupérer le résultat en entrée dans le style suivant:echo "te
ouvrir un fichier nommé dans un DBEdit [ par snoopline ]
BonjourJe souhaiterais utiliser la méthode ShellExecute (ShellApi placé dans use) pour ouvrir un fichier dont le chemin est dans un DBEdit (c:\documen
Applications console et service. [ par kinkey_wizard ]
Rebonsoir tout le monde,Je débute encore un peu (qui a dit beaucoup^^ ?) en Delphi et donc en dehors des applications avec feuilles je ne sais pas fai
|
Derniers Blogs
[WP7] AJOUTER DES IMAGES DANS LA MEDIA LIBRARY D'UN WINDOWS PHONE 7[WP7] AJOUTER DES IMAGES DANS LA MEDIA LIBRARY D'UN WINDOWS PHONE 7 par Audrey
L'émulateur Windows Phone 7, fourni avec la version Beta des outils développeurs n'inclut aucune image dans sa bibliothèque. Pas très pratique de tester son application lorsque l'on souhaite que l'utilisateur puisse choisir une image présente dans le télé...
Cliquez pour lire la suite de l'article par Audrey VIVE LES MOCKS ET LES POCOSVIVE LES MOCKS ET LES POCOS par vLabz
J'observe régulièrement autour de moi de la confusion à propos de ces deux termes et j'aimerais juste rappeler ce qu'ils signifient. Je ne suis bien sûr pas le mieux placé pour faire une leçon mais je vais faire de mon mieux pour mettre en valeur ce q...
Cliquez pour lire la suite de l'article par vLabz [WF4] WORKFLOW AND CUSTOM ACTIVITIES - BEST PRACTICES (4/5)[WF4] WORKFLOW AND CUSTOM ACTIVITIES - BEST PRACTICES (4/5) par JeremyJeanson
Vendredi dernier Microsoft a publié le quatrième épisode des bonnes pratiques pour coder ses activités custom dans WF4 : endpoint.tv - Workflow and Custom Activities - Best Practices (Part 4) . Tout comme pour les précédents épisodes, j'ai pris le temps d...
Cliquez pour lire la suite de l'article par JeremyJeanson DéVELOPPEMENT MOBILE : .NET COMPACT FRAMEWORK & LIMITATIONSDéVELOPPEMENT MOBILE : .NET COMPACT FRAMEWORK & LIMITATIONS par Pi-R
Introduction :
Le développement d'applications mobiles est quelque peu différent du développement d'applications sous Windows. En effet, le développement d'applications mobiles se base sur le .NET Compact Fra...
Cliquez pour lire la suite de l'article par Pi-R IPHONE VERSUS WP7 CODINGIPHONE VERSUS WP7 CODING par Nicolas
Je relais une présentation sur slideshare.net, qui compare le développement sur Iphone et Windows Phone 7, qui ma fait sourire. I phone versus windows phone 7 coding View more presentations from www.donburnett.com. J'aurais bien aimé une comparai...
Cliquez pour lire la suite de l'article par Nicolas
Logiciels
Crystal Report (11)CRYSTAL REPORT (11)Crystal Reports est un outil de reporting souple et puissant, vous pouvez très facilement consult... Cliquez pour télécharger Crystal Report Academy System (12.0.2.0)ACADEMY SYSTEM (12.0.2.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft iPod Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPOD VIDéO CONVERTISSEUR 6 (6.0.3.0419)Xilisoft iPod Vidéo Convertisseur est un outil puissant de conversion d'iPod, facile à utiliser. ... Cliquez pour télécharger Xilisoft iPod Vidéo Convertisseur 6 Xilisoft iPhone Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPHONE VIDéO CONVERTISSEUR 6 (6.0.3.0419)Xilisoft iPhone Vidéo Convertisseur est le meilleur logiciel de conversion iPhone qui peut facile... Cliquez pour télécharger Xilisoft iPhone Vidéo Convertisseur 6 Xilisoft iPad Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPAD VIDéO CONVERTISSEUR 6 (6.0.3.0419)Il s'agit d'un logiciel polyvalent pour convertir les formats vidéo/audio populaires en formats p... Cliquez pour télécharger Xilisoft iPad Vidéo Convertisseur 6
|