C# : Renvoyer a une autre ligne/ programme
Résolu/Fermé
Utilisateur anonyme
-
7 juil. 2010 à 13:16
crapoulou Messages postés 28158 Date d'inscription mercredi 28 novembre 2007 Statut Modérateur, Contributeur sécurité Dernière intervention 16 avril 2024 - 2 août 2010 à 20:09
crapoulou Messages postés 28158 Date d'inscription mercredi 28 novembre 2007 Statut Modérateur, Contributeur sécurité Dernière intervention 16 avril 2024 - 2 août 2010 à 20:09
29 réponses
crapoulou
Messages postés
28158
Date d'inscription
mercredi 28 novembre 2007
Statut
Modérateur, Contributeur sécurité
Dernière intervention
16 avril 2024
7 990
7 juil. 2010 à 13:27
7 juil. 2010 à 13:27
Salut,
Essaye quelque chose dans le genre en encapsulant ton code dans des fonctions.
En tout cas, ton code doit prévoir le cas où on ne rentre pas un chiffre, même si tu le dis clairement ! (Faute de frappe, pour tester, ...)
Essaye quelque chose dans le genre en encapsulant ton code dans des fonctions.
En tout cas, ton code doit prévoir le cas où on ne rentre pas un chiffre, même si tu le dis clairement ! (Faute de frappe, pour tester, ...)
private void Dispatch() { int Selection = 0; Console.Write("\n\nVotre choix (TAPEZ UNIQUEMENT UN CHIFFRE): "); Selection = int.TryParse(Console.ReadLine()); switch (_iFunction) { case 1 Console.WriteLine("1"); maFonction1(); break; case 2 Console.WriteLine("2"); maFonction2(); break; case 3 Console.WriteLine("3"); maFonction3(); break; case 4 Console.WriteLine("4"); maFonctionRetourPlusHautDansLeCode(); break; default://autres cas Response.WriteLine("Sélection erronée"); maFonctionRetour(); break; } }
crapoulou
Messages postés
28158
Date d'inscription
mercredi 28 novembre 2007
Statut
Modérateur, Contributeur sécurité
Dernière intervention
16 avril 2024
7 990
7 juil. 2010 à 14:19
7 juil. 2010 à 14:19
Le fonctionnement du switch case :
https://www.microsoft.com/en-us/download/details.aspx?id=55984
Ensuite, quand tu rentre dans le case, tu traites le cas.
Alors tu appelles une fonction plus haut dans le code.
Fais des tests, ça va rentrer tout seul ;-).
https://www.microsoft.com/en-us/download/details.aspx?id=55984
Ensuite, quand tu rentre dans le case, tu traites le cas.
Alors tu appelles une fonction plus haut dans le code.
Fais des tests, ça va rentrer tout seul ;-).
crapoulou
Messages postés
28158
Date d'inscription
mercredi 28 novembre 2007
Statut
Modérateur, Contributeur sécurité
Dernière intervention
16 avril 2024
7 990
7 juil. 2010 à 15:38
7 juil. 2010 à 15:38
Comment ça "comment on utilise" ?
Tu la déclaire ainsi par exemple
Tu la déclaire ainsi par exemple
private String GetParams() //Ou public ou protected { try { String test = Request.QueryString[LineParams.sCREATEUR]; } catch { return "ERREUR"; } return test; }
crapoulou
Messages postés
28158
Date d'inscription
mercredi 28 novembre 2007
Statut
Modérateur, Contributeur sécurité
Dernière intervention
16 avril 2024
7 990
Modifié par crapoulou le 7/07/2010 à 23:27
Modifié par crapoulou le 7/07/2010 à 23:27
Pour plus de flexibilité de ton application, je te conseille de déclarer des constantes pour : nom de la BD, les tables, les champs, ...
public internal class TABLEUSER
{
internal const String COLONNE_PRENOM = "Prenom";
internal const String COLONNE_NOM = "Nom";
}
public internal class TABLES
{
internal const String USER = "User";
}
.......
(Les parenthèses sont facultatives pour la requête.)
/!\ Tu as mis un ';' de trop : pas besoin de le mettre dans la requête /!\
T'as un problème ? Passe sur CCM!
Il n'y a pas de problème sans solution.
public internal class TABLEUSER
{
internal const String COLONNE_PRENOM = "Prenom";
internal const String COLONNE_NOM = "Nom";
}
public internal class TABLES
{
internal const String USER = "User";
}
.......
String sMonNom = "Dupond"; String sMonPrenom = "Paul"; SQLCmd.CommandText = ("INSERT INTO " + TABLES.USER + " (" + TABLEUSER.COLONNE_NOM + ", " + TABLEUSER.COLONNE_PRENOM + ") VALUES ('" + sMonNom + "', ' " + sMonPrenom + "'");
(Les parenthèses sont facultatives pour la requête.)
/!\ Tu as mis un ';' de trop : pas besoin de le mettre dans la requête /!\
T'as un problème ? Passe sur CCM!
Il n'y a pas de problème sans solution.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
Modifié par RaphN le 7/07/2010 à 14:27
Modifié par RaphN le 7/07/2010 à 14:27
Je vais voir ca merci.
Merci
Au fait comment on utilise une fonction ?
Merci
Au fait comment on utilise une fonction ?
Utilisateur anonyme
Modifié par RaphN le 7/07/2010 à 15:45
Modifié par RaphN le 7/07/2010 à 15:45
Ah non excuse moi, j'ai demande comment on utilise une fonction et je savai pa ce que je fesai quand j'ecrivrai. Désolé
A part ca tu connai une commande qui permet d'executer une application externe comme VLC par exemple ? Parce que j'ai cherché deja partout
Merci d'avance
A part ca tu connai une commande qui permet d'executer une application externe comme VLC par exemple ? Parce que j'ai cherché deja partout
Merci d'avance
crapoulou
Messages postés
28158
Date d'inscription
mercredi 28 novembre 2007
Statut
Modérateur, Contributeur sécurité
Dernière intervention
16 avril 2024
7 990
7 juil. 2010 à 15:47
7 juil. 2010 à 15:47
Ah non, désolé.
Utilisateur anonyme
7 juil. 2010 à 15:56
7 juil. 2010 à 15:56
Je sens que je vai devoir me creuser la tete toute le restant de la journee et demain meme
crapoulou
Messages postés
28158
Date d'inscription
mercredi 28 novembre 2007
Statut
Modérateur, Contributeur sécurité
Dernière intervention
16 avril 2024
7 990
7 juil. 2010 à 16:13
7 juil. 2010 à 16:13
Bon courage.
Concernant la question initiale que tu te posais, c'est résolu ?
Concernant la question initiale que tu te posais, c'est résolu ?
Utilisateur anonyme
7 juil. 2010 à 21:38
7 juil. 2010 à 21:38
Oui, tu peu voir le code au final :
Retour: Console.Write("\nVotre choix (TAPEZ UNIQUEMENT UN CHIFFRE): "); int Selection = 0; Selection = int.Parse(Console.ReadLine()); switch (Selection) { case 0: Console.WriteLine("\nFermeture du logiciel..."); goto Fin_logiciel; break; case 1: Console.WriteLine("Lancement du module..."); System.Diagnostics.ProcessStartInfo myInfo = new System.Diagnostics.ProcessStartInfo(); myInfo.FileName = "Add.exe"; myInfo.WorkingDirectory = "bin"; System.Diagnostics.Process.Start(myInfo); goto Fin_logiciel; break; case 2: Console.WriteLine("Lancement du module..."); System.Diagnostics.ProcessStartInfo myInfo2 = new System.Diagnostics.ProcessStartInfo(); myInfo2.FileName = "Add.exe"; myInfo2.WorkingDirectory = "bin"; System.Diagnostics.Process.Start(myInfo2); goto Fin_logiciel; break; case 3: Console.WriteLine("Lancement du module..."); System.Diagnostics.ProcessStartInfo myInfo3 = new System.Diagnostics.ProcessStartInfo(); myInfo3.FileName = "Add.exe"; myInfo3.WorkingDirectory = "bin"; System.Diagnostics.Process.Start(myInfo3); goto Fin_logiciel; break; case 4: Console.WriteLine("Lancement de l'aide..."); System.Diagnostics.ProcessStartInfo myInfo4 = new System.Diagnostics.ProcessStartInfo(); myInfo4.FileName = "Add.exe"; myInfo4.WorkingDirectory = "bin"; System.Diagnostics.Process.Start(myInfo4); goto Fin_logiciel; break; case 5: Console.WriteLine("Affichage des propos du logiciel"); System.Diagnostics.ProcessStartInfo myInfo5 = new System.Diagnostics.ProcessStartInfo(); myInfo5.FileName = "About.exe"; myInfo5.WorkingDirectory = "bin"; System.Diagnostics.Process.Start(myInfo5); goto Fin_logiciel; break; default: Console.WriteLine("Code incorrect.Réessayez"); goto Retour; break; } Fin_logiciel:
crapoulou
Messages postés
28158
Date d'inscription
mercredi 28 novembre 2007
Statut
Modérateur, Contributeur sécurité
Dernière intervention
16 avril 2024
7 990
7 juil. 2010 à 21:40
7 juil. 2010 à 21:40
Selection = int.Parse(Console.ReadLine());
Si tu n'as pas un int, ça va péter ! lol
Fais un TryParse ou mets un bloc try - catch.
Utilisateur anonyme
7 juil. 2010 à 22:39
7 juil. 2010 à 22:39
Attention c pa tout le code la variable int est cite plus haut hors du code comme 0.
J'ai deja un bloc try pour un protocole de connection SQL et un catch pour le debug du SQL.
Je sai pa trop a quoi sert try et catch mais bon.
A part ca je voudrai savoir comment utiliser une variable dans la commande SQL
Exemple :
-J'ai 2 vriables de type string
Je veut remplacer les x et y par les 2 variables.
Merci d'avance pour le renseignement
J'ai deja un bloc try pour un protocole de connection SQL et un catch pour le debug du SQL.
Je sai pa trop a quoi sert try et catch mais bon.
A part ca je voudrai savoir comment utiliser une variable dans la commande SQL
Exemple :
-J'ai 2 vriables de type string
SQLCmd.CommandText = "INSERT INTO User (Nom, Prenom) VALUES ('x', 'y');";
Je veut remplacer les x et y par les 2 variables.
Merci d'avance pour le renseignement
Utilisateur anonyme
7 juil. 2010 à 23:23
7 juil. 2010 à 23:23
Ou dois-je mettre les constantes dans mon code?
La commande que tu m'a donné:
Mon compilateur dit que : -Trop de caractères dans le littéral de caractèrea la fin de la commande
-Saut de ligne dans la constante
Que doi-je faire pour corriger cela?
Ps : tt mon code est dans le bloc "public static void Main(string[] args)"
La commande que tu m'a donné:
SQLCmd.CommandText = ("INSERT INTO " + TABLES.USER + " (" + TABLEUSER.COLONNE_NOM + ", " + TABLEUSER.COLONNE_PRENOM + ") VALUES ('" + sMonNom + "', ' " + sMonPrenom + "'"');
Mon compilateur dit que : -Trop de caractères dans le littéral de caractèrea la fin de la commande
-Saut de ligne dans la constante
Que doi-je faire pour corriger cela?
Ps : tt mon code est dans le bloc "public static void Main(string[] args)"
crapoulou
Messages postés
28158
Date d'inscription
mercredi 28 novembre 2007
Statut
Modérateur, Contributeur sécurité
Dernière intervention
16 avril 2024
7 990
7 juil. 2010 à 23:26
7 juil. 2010 à 23:26
Il y a un quote de trop après le tout dernier guillemet.
******
Essaye de les mettre dans le main, sinon tu les sorts du main.
******
Essaye de les mettre dans le main, sinon tu les sorts du main.
Utilisateur anonyme
7 juil. 2010 à 23:31
7 juil. 2010 à 23:31
Tout est dedans meme le code pour la session SQL, absolument tout.
Pour le quote, il me met le dernier quote et ce qui suit en rose
Pour le quote, il me met le dernier quote et ce qui suit en rose
crapoulou
Messages postés
28158
Date d'inscription
mercredi 28 novembre 2007
Statut
Modérateur, Contributeur sécurité
Dernière intervention
16 avril 2024
7 990
7 juil. 2010 à 23:54
7 juil. 2010 à 23:54
public internal class TABLEUSER
{
internal const String COLONNE_PRENOM = "Prenom";
internal const String COLONNE_NOM = "Nom";
}
public internal class TABLES
{
internal const String USER = "User";
}
Cela servirait a quoi ???
C'est pour les classer si t'en a plein plein !
Sinon, ceci suffit :
{
internal const String COLONNE_PRENOM = "Prenom";
internal const String COLONNE_NOM = "Nom";
}
public internal class TABLES
{
internal const String USER = "User";
}
Cela servirait a quoi ???
C'est pour les classer si t'en a plein plein !
Sinon, ceci suffit :
public const String COLONNE_PRENOM = "Prenom"; public const String COLONNE_NOM = "Nom"; public const String USER = "User";
Utilisateur anonyme
8 juil. 2010 à 00:02
8 juil. 2010 à 00:02
Le probleme, c'est qu'apres ces constantes que je met à quelle part dans le code, le compilateur me sort que des jetons place apres ces constantes sont non valides dans la declaration de membres de la classe.
Que faire?
Que faire?
crapoulou
Messages postés
28158
Date d'inscription
mercredi 28 novembre 2007
Statut
Modérateur, Contributeur sécurité
Dernière intervention
16 avril 2024
7 990
8 juil. 2010 à 00:05
8 juil. 2010 à 00:05
Essaye plutôt comme cet exemple :
Source.
public class ConstTest { class SampleClass { public int x; public int y; public const int c1 = 5; public const int c2 = c1 + 5; public SampleClass(int p1, int p2) { x = p1; y = p2; } } static void Main() { SampleClass mC = new SampleClass(11, 22); Console.WriteLine("x = {0}, y = {1}", mC.x, mC.y); Console.WriteLine("c1 = {0}, c2 = {1}", SampleClass.c1, SampleClass.c2 ); } }
Source.