CS
VB, VB.NET
ASP.NET,ASP
C, C++
ColdFusion
PHP
Javascript
Delphi
Flash
Java
Graphisme
Irc
Assembleur
C#
Mobilité
SQL
Foxpro
Python
Windev
Snippets
IT Pros
Codes
(37955)
Listes de codes
Toutes
les sources
Les plus
récents
Les
mis à jour
Les plus
populaires
Les plus
populaires du mois
Tout le
niveau 1
(débutant)
Tout le
niveau 2
(initié)
Tout le
niveau 3
(expert)
Toutes les sources avec un
fichierZIP
Les sources
(1147)
Les
mieux notés
Trouver des codes
Trouver un code par mot clé
(Nouveau)
Top des codes
Les Trophées
Top des favoris des membres
Top par catégorie
Auteurs de codes
Les auteurs de sources
Le top des membres
Ajouter une source
Tutoriaux
(37955)
Forums
(1107235)
Vidéos
Livres
(27782)
Outils & Liens
Emploi (CV et Offres)
Services
Téléchargement
Chat
Autres Sites
Divers
Partenaires
Section étudiants
Section pro
Connexion
begin process at 2008 05 16 07:19:57
Derniers blogs
Entity cloner
ZUNE : le Tagging des ...
ZUNE et WMP : Bug sur ...
Virtual Earth : L'impo...
ZUNE : Réinitialiser l...
La suite...
Mini Sondage
Votre navigateur n'utilise pas le javascript, pour
voter aux sondages de ce site, cliquez ici
Derniers logiciels
Ventrilo (3.0.1)
Filezilla (3.0.10 RC1)
Feed Demon (2.7.0.0)
Hex Workshop (5.02)
NVIDIA ForceWare (175....
La suite...
Comparer les prix
Acer Aspire 8920G-934G50Bn (LX.AP30X.031) Ordinateur Portable au meilleur prix
Mes RSS
Une première version ...
J-5 pour le microsoft...
Novell livre l'implém...
"guitar hero iv" perm...
Le chiffre du jour : ...
La suite...
Personnaliser
Stats
1 173 219
membres
61
nouveaux aujourd'hui
13 970
membres club
Divers
Mettre ce site au démarrage
Ajouter ce site à vos favoris
CodeS-SourceS dans votre MSN !
Mes Favoris
Plein Ecran
Connexion
Trouver une ressource
Trouvez une ressource parmi
37 955
codes,
1 107 235
messages d'aide etc...
Recherche:
dans
Tout le site
Codes
Tutoriaux
Forum
Blogs
Livres
RFC
Icones
News .NET
Boutique
[ Dernières recherches ]
Filtre:
Tous les langages
Python
Foxpro
SQL
PDA / PocketPC
C# / C#.NET
Assembleur
IRC
Graphisme
JAVA / J2EE
Flash
Delphi
Javascript / Ajax / DHTML
PHP
ColdFusion
C / C++ / C++.NET
ASP / ASP.NET
Visual Basic, VB6, VB.NET, VB 2005, VB
Tous les codes
.NET uniquement
Exclure .NET
Vous ne trouvez pas de réponse à votre problème ? Alors
posez la question dans le forum
.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
326 commentaire(s) de jesusonline
sur des sources sur tout
CodeS-SourceS
Le :
24/04/2008 15:43:44
Source :
UPLOAD FILE
Il s'agit d'une source ASP.net 1.x, avec ASP.net 2.0 il faut mieux utiliser le contrôle <asp:fileupload qui permet de simplifier la plupart des choses.
Ton code dispose d'une ENORME faille de sécurité. Qu'est-ce qui se passe si j'upload la page "CrashServer.aspx" et que je vais à l'adresse /others/CrashServer.aspx ?
Voici quelques règles de base au sujet de l'upload :
- ne jamais faire confiance à l'utilisateur !
- ne jamais stocker les fichiers avec le nom et extensions proposé par l'utilisateur
- si possible :
- ne pas autoriser tous les types de fichier, valider les données avant de les sauvegarder
- ne pas sauvegarder les données dans un repertoire ayant des droits d'execution.
- le top est de stocker les fichiers dans un dossier non accessible via IIS, puis renvoyer le contenu du fichier via un handler dédié.
Au niveau du code, je te conseille d'utiliser un Path.Combine plutot que de la combinaison de string.
Au lieu de faire de faire un extension.toLower() pour comparer les extensions, tu peux utiliser un String.Compare("EXE", "eXe", StringComparison.InvariantCultureIgnoreCase)
Au lieu de faire un if (s != String.Empty) tu peux utiliser la méthode String.IsNullOrEmpty (peut être pas dispo en .net 1.x)
Le :
15/04/2008 11:48:58
Source :
ICOMPARER GÉNÉRIQUE ET RÉFLEXION
pas besoin de T y'aura de l'inference de type :
Orderer.Sort<IComparable>(l, delegate(Person p){
return p.Name;
}, delegate(Person p){
return p.Age;
});
En fait après reflexion, je pense que tu pourrais remplacer U par IComparable dans la méthode Sort (et supprimer la contrainte where) car tu peux pas avoir une Get<U>[] où U aurait un type différent, donc autant passer par un IComparable directement.
le mot clé params veut dire que tu peux mettre autant d'argument que voulu, ils vont se regrouper dans un tableau automatiquement.
Le :
15/04/2008 11:08:58
Source :
ICOMPARER GÉNÉRIQUE ET RÉFLEXION
On trie d'abord par la premiere propriété puis la seconde propriété. Si les premières propriétés sont égales alors on check la seconde et ainsi de suite donc il est nécessaire de faire le break;
Le :
15/04/2008 10:09:04
Source :
ICOMPARER GÉNÉRIQUE ET RÉFLEXION
oui et non, le marketing chez microsoft c'est du n'importe quoi :)
le compilateur C#3 compile pour la CLR2 donc tu peux utiliser les assemblies du framework 2.0.
Le compilateur C#3 est livré avec .net 3.5 donc aussi avec VS2008, c'est pour ca que VS2008 permet de "compiler" pour .net 2.0, en fait il ne fait que ne pas inclure les assemblies du framework 3.x.
Le framework 3.0 et 3.5 tourne sur la CLR2 également.
Le :
14/04/2008 20:58:20
Source :
ICOMPARER GÉNÉRIQUE ET RÉFLEXION
Arf je suis bête pour le chainage ca va être plus compliqué :) faut le faire dans le delegate ou alors utilisé linq donc C#3
l.Sort(delegate(p1, p2){
int v = p1.Name.compareTo(p2.Age);
if (v == 0)
v = p1.Age.compareTo(p3.Age);
return v;
});
niveau vitesse ce code sera BEAUCOUP plus rapide que ce que tu as fait, la Reflection est extremement couteuse.
Toutes les simplifications de syntaxe que je vois pour ce simple bout de code viennent avec C#3. Tu peux éventuellement avoir un classe static du genre
public static class orderer<T>
{
public delegate U Get<U>(T item) where U : IComparable<U>;
public static void Sort<U>(List<T> l, params Get<U>[] m) where U : IComparable<U>
{
l.Sort(delegate(T item1, T item2)
{
int v = 1;
foreach (Get<U> g in m)
{
v = g(item1).CompareTo(g(item2));
if (v != 0)
break;
}
return v;
});
}
}
Puis utiliser ca ainsi
Sort(l, delegate(Person p){
return p.Name;
}, delegate(Person p){
return p.Age;
});
Avec les lambda expression en C#3
Sort(l, p => p.Name, p => p.Age);
Sauf erreur de ma part, le petit bout de code est équivalent à tout ton code pour trier une liste mis à part qu'il y a aura une vérification à la compil.
L'autre solution est d'utiliser un DataTable/Dataview qui fait déjà tous ce code pour toi !
Le :
14/04/2008 18:39:46
Source :
ICOMPARER GÉNÉRIQUE ET RÉFLEXION
La méthode Sort prend un Comparison<T> qui est un delegate qui a cette signature
delegate int SortComparison<T>(T item1, T item2)
tu peux donc faire
l.Sort(new Comparison<String>(delegate(String s1, String s2){
return s1.CompareTo(s2);
}));
C# 2 permet de simplifier un petit peu :
l.Sort(delegate(String s1, String s2){
return s1.CompareTo(s2);
});
C#3 permet de simplifier encore plus via les lambda expression
l.Sort((s1, s2) => s1.CompareTo(s2));
Tu peux bien sur chainé cet exmple pour avoir un tri sur plusieurs champs
en linq (C#3) ca donne
var q = from p in l
orderby p.Name, p.Age
select p;
q et l étant une List<Person>
Le :
14/04/2008 17:22:14
Source :
ICOMPARER GÉNÉRIQUE ET RÉFLEXION
Après un rapide coup d'oeil. Voici mes remarques :
- Pourquoi ne pas avoir utilisé un Gridview ? C'est son rôle d'afficher une grille de données.
- Je comprend pas pourquoi tu t'es embeté avec de la reflection. La méthode Sort de List<T> prend un delegate qui permet de faire le tri facilement.
myList.Sort((p1, p2) => p1.Name.CompareTo(p2.Name))
et si tu veux chainé.
myList.Sort((p1, p2) => p1.Name.CompareTo(p2.Name)).Sort((p1, p2) => p1.Age.CompareTo(p2.Age));
tu peux aussi utilisé une requête linq ce qui fais encore moins de ligne :)
Ton code est interessant (j'ai pas tout lu) mais tu n'utilises pas .net de la meilleure façon.
Le :
14/04/2008 13:40:12
Source :
UTILISATION DES DATATABLES ET L'AFFICHAGE DU CONTENU DANS UNE PAGE ASPX
Pourquoi construire un HtmlTable de cette façon ? Pourquoi ne pas utiliser un gridview ?
Pour moi c'est plus un exemple de ce qu'il ne faut pas faire plutot que de ce qu'il faut faire.
PS : merci de mettre une description plus complète de ta source
Le :
08/04/2008 01:40:04
Source :
ZIPPER UN REPERTOIRE EN CONSERVANT LA HIERARCHIE DES DOSSIERS
On ne peux pas modifier la response d'un UpdatePanel.
http://blogs.developpeur.org/cyril/archive/2007/05/13/updatepanel-et-pagerequestmanagerparsererrorexception.aspx
Le :
05/04/2008 01:39:10
Source :
ZIPPER UN REPERTOIRE EN CONSERVANT LA HIERARCHIE DES DOSSIERS
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;filename=pouet.pdf");
Et je crois qu'on peut aussi faire un
Response.AddHeader("Content-Length", 1000); // avec la bonne taille du fichier
Ensuite faut envoyer le zip dans le stream de la réponse.
[
Page 1
Page 2
Page 3
Page 4
Page 5
Page 6
Page 7
Page 8
Page 9
Page 10
]
>
>|
Appels d'offres
script extraxction de ...
Budget :
100€
Portage appli Linux su...
Budget : ND
Script verification st...
Budget :
200€
La suite
RSS
Pub
Côté IT
Installation des drive...
Supprimer un module da...
Nettoyer les fichiers ...
Intégration de Reporti...
Automatisation de back...
Installation de WSS V3...
Installation de SQL Se...
Tous les articles IT
CalendriCode
Mai
2008
L
M
M
J
V
S
D
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Codyx le site 100%
snippets
!
[Nouveau]
Codyx, le site des snippets
Boutique
Besoin d'icones ?
Besoin d'icones de qualité professionnelle pour vos sites et applications ? Alors ne cherchez plus, IconShock est la réponse !
IconShock est recommandé par CodeS-SourceS