France Hardware : Forums de discussion
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
22 743 membres enregistrés - 1 887 669 posts - 96 550 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           [JAVA] se connecter sur un port IP distant [new question 07/03/06]
30 connectés(record : 207 le 05 juin 2007 - 05 h 23)

Vous devez vous connecter pour répondre au topic.
Precedent | 1,2,3,4,5,6,7,8,9 | Suivant
[JAVA] se connecter sur un port IP distant [new question 07/03/06]

kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 22 août 2005 - 03 h 52 m 44 s
Reprise du message précédent :

FINI !

Le projet est a : http://khapp.free.fr/tmp/Ticket.zip

Tu peux l importer dans Eclipse (www.eclipse.org)

Voila ce que ca donne :



Le projet sert a recuperer des trames sur un server et les envoyer formattees dans une base de donnes et un fichier de stats CSV.

features
-> un properties pour configurer l application
-> creation d un fichier csv
-> insertion dans une base de donnes
-> systeme de pooling
-> classe principale : TicketControler
-> le script SQL de creation des tables est dans le dossier data (IMPORTANT: le nom des champs doit correspondre au nom des proprietes de l objet Ticket)

NB : le systeme de pooling est tres generique et se situe dans la partie commune. il peut etre reprise dans n importe lequel de vos projet au besoin.

Voila !

Il ne reste plus qu a faire si ca vous tente un jar (option exporter de Eclipse), et faire un .cmd pour lancer l appli / un service si necessaire (cf le wrapper dont ke t ai parle + haut).

Mais pour ca je te laisse faire car ce n est pas de la prog et ca m interesse beaucoup moins :P

EDIT : fait en un apres midi ;)


Message édité 1 fois, la dernière par kha le 22 août 2005 - 03 h 54.


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 22 août 2005 - 08 h 55 m 49 s
merci bien kha!

pas de soucis pour le wrapper ou le jar, faut bien que je fasse un peu qqch qd meme!

Par contre dans eclipe ce que j ai fait:
j ai cree un projet ordinaire j ai tout laisse de base, j ai importer le fichier archive et j ai un truc qui correspond pas trop...:



- je cherche un emploi
ICI


kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 22 août 2005 - 23 h 05 m 35 s
Tu as mal configurer le projet. Verfiie dans els proprietes du projet que ton dossier source soit bien le dossier src, ton dossier de classes soti el dossier bin, et dans les librairies ajoute toutes les librairies du dossier lib.




Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 23 août 2005 - 09 h 38 m 04 s
c bon ca marche j ai pu executer le code.
Par contre il ya un petit soucis...

voila ce que j obtiens ds la base de données:


les données de la durée sont ou a 0, ou tres proche ce qui est purement anormal


Message édité 3 fois, la dernière par Florent42 le 23 août 2005 - 10 h 29.

- je cherche un emploi
ICI


kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 23 août 2005 - 15 h 07 m 47 s
Regarde les logs de sortie de l application : j ai fait expres de sortir plein de log au parsing de la ligne. Regarde ce qui se passe et essaie de naviguer dans le code pour comprendre ou est l erreur.

Moi j ai teste avec les trames que tu m a passe et en fonction du tableau (et d ailleurs, les spec du tableau ne correspondent pas toutes a ce que tu as toi).

Donc la t as une partie a faire, qui est d adapter / debuguer en fonction de ton systeme. je peux pas le faire pour toi.




Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 23 août 2005 - 22 h 20 m 54 s
oki je vais regarder demain matin
j ai deja regarde et compris la declarations des variables....oui je sais c peu, mais faut bien commencer par le debut non ? ;)

par contre qd tu parles des logs, tu parles de ce qui passe dans eclipse qd un ticket arrive c est bien ca?


deuxième petit truc: j ai essaye de creer un jar, en faisant comme tu disais avec export. Dc il se cree correctement, mais qd je le lance ca fait ...rien! Pourtant j ai indiquer de choisir tous les fichiers du projet et j ai mis la bonne classe



- je cherche un emploi
ICI


kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 23 août 2005 - 23 h 17 m 41 s
Pour les logs, c est ce qui se passe dans la console.

Pour le jar, il faut que tu cree ton propre MANIFEST pour specifier la main class.

Dans le jar, in faut mettre dans un dossier META-INF un fichier MANIFEST.MF qui contient :

Main-Class: ticket.TicketController
Class-Path: lib/commons-beanutils.jar lib/commons-lang-2.0.jar lib/commons-logging-api.jar lib/mysql-connector-java-3.1.10-bin.jar

Ensuite cree le jar avec ce fichier meta inf (verifie qu il soit bien correct en ouvrant le jar) et place le JAR a la racine du projet.

Il faut que la structure soit :

    Code     
1. // fait chier ce bug !
2. root
3.  - Ticket.jar
4.  - ticket.properties
5.  - lib
6.     - commons-beanutils.jar
7.     - ...
8.     - ...


Message édité 2 fois, la dernière par kha le 23 août 2005 - 23 h 19.


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 24 août 2005 - 11 h 53 m 54 s
j ai fait une adpatation de ton code

visiblement ca va mieux, il y avait aussi un petit soucis sur les heure des tickets

par contre j arrive pas a creer ce fichier jar

voila ce que j ai fait:




apres je cree mon dossier META-INF, je met mon fichier menifest dedans et le modifie en meme temps en rajoutant la ligne pour les librairies

et le laisse le reste des dossier (src,bin,lib data) dans le meme dossier que ticket.propertie et tickets.jar

qd je lance tickets.jar, je vois ds les processus javaw.exe se lancer ms pendant 1s a peine...



- je cherche un emploi
ICI


kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 24 août 2005 - 19 h 36 m 29 s
Ok alors voila ce que je fais moi :

http://khapp.free.fr/tmp/video.avi (1.5Mo)


Message édité 1 fois, la dernière par kha le 24 août 2005 - 19 h 36.


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 24 août 2005 - 20 h 58 m 21 s
desole d etre encore un peu plus un boulet....ms ni WMP ni divx n arrive a lire la video...



- je cherche un emploi
ICI


kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 24 août 2005 - 22 h 06 m 51 s
fallait le codec de camstasia.

voila : j ai "packete" la video comem ils disent...

http://khapp.free.fr/tmp/video.exe




Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 28 août 2005 - 16 h 10 m 24 s
tout nickel !!!!!

ca marche nickel!

merci bien kha!!!




- je cherche un emploi
ICI


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 02 septembre 2005 - 11 h 50 m 16 s
petite question kha...

Es t il possible de concaténer dans le meme champ l'annee récupéreé sur le systeme, le mois et le jour?
pour ainsi donner un champ date conforme a mysql?

car normalement, il faut déclarer une variable date, qui recupere l annee avec calendar, et qui concatene avec les 2 autre donnees?




- je cherche un emploi
ICI


kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 02 septembre 2005 - 16 h 32 m 06 s
Oui c est possible et c est facile.
En java, il y a un type qui s appelle java.sql.Date et qui peut etre utilise pour entrer la date dasns la BD.

Voila les modifs a apporter :

    Code java    
 1. // buggy forum !
 2. 
 3. TicketDAO :
 4. 
 5.             for (final Iterator i = prop.keySet().iterator(); i.hasNext();)
 6.             {
 7.                 final Object o = prop.get(i.next());
 8.                 param++;
 9.                 if (o == null)
10.                 {
11.                     stmt.setNull(param, Types.NULL);
12.                 }
13.                 else if (o instanceof String)
14.                 {
15.                     stmt.setString(param, o.toString());
16.                 }
17.                 else if (o instanceof Integer)
18.                 {
19.                     stmt.setInt(param, ((Integer) o).intValue());
20.                 }
21.                 else if (o instanceof Date)
22.                 {
23.                     stmt.setDate(param, (Date) o);
24.                 }
25.             }
26. 
27. 
28. Ticket :
29. 
30.     private Date   recordDate;
31.     
32.     /**
33.      * @return Returns the recordDate.
34.      */
35.     public final Date getRecordDate()
36.     {
37.         return recordDate;
38.     }
39. 
40.     /**
41.      * @param pRecordDate The recordDate to set.
42.      */
43.     public final void setRecordDate(Date pRecordDate)
44.     {
45.         recordDate = pRecordDate;
46.     }
47. 
48. 
49. Processor :
50. 
51.         final Ticket t = new Ticket();
52. 
53.         t.setRecordNum(line.getInt(0, 4));
54.         
55.         t.setRecordDay(line.getInt(5, 7));
56.         t.setRecordMonth(line.getInt(8, 10));
57. 
58.         final Calendar c = new GregorianCalendar();
59.         c.set(2005, t.getRecordMonth().intValue() - 1, t.getRecordDay().intValue());
60.         t.setRecordDate(new java.sql.Date(c.getTimeInMillis()));
61. 
62.         final Integer[] recordTime = line.getTimes(11, 17);
63. 




Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 02 septembre 2005 - 23 h 21 m 47 s
fichier ticketdao:

pb avec prop,param++,stmt et param
il faut mettre le code a un endroit particulier ds le code existant?

fichier ticket:

pb avec Date,recordDate


fichier processor:

pb avec calendar,GregorianCalendar et setrecorddate


il y a pas une declaration de date a faire?


Message édité 1 fois, la dernière par Florent42 le 02 septembre 2005 - 23 h 23.

- je cherche un emploi
ICI


Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 03 septembre 2005 - 08 h 25 m 21 s
en fait pour simplifier, il suffirait juste de rajouter un champs dans la base de données qui contiendrait l'annee du ticket...

j ai pas vraiment besoin d un champ qui concatene l'annee,le mois,le jour

un champ genre recordYear qui se mettrait juste a coté de recordMonth et qui serait rempli en recuperant l'annee sur le pc ou il est installe



- je cherche un emploi
ICI


kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 06 septembre 2005 - 05 h 26 m 20 s
Je suis pas sur de comprendre : en fait la solution que je t ai donne utilise le type date en sql, mais si tu as juste besoin d un varchar qui est la simple concatenation de champs c est encore plus simple a faire : suffit de suivre le code java existant pour savoir comment mettre un string dans la bd.

la j aurai certainement plus le temps de venir sur rah / t aider a cause travail + cours le soir donc je laisserai les autres t aider et surtout cherche des infos a propos de java, des examples, ...

Si y en a qui s y connaisse en java ici aussi ils pouraient aider... Le projet Eclipse est deja tout pret a telecharger. (ca a l air que ya que moi qui t aide ici en java... les autres se sont degonfles ? :P)




Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 06 septembre 2005 - 17 h 57 m 39 s
au debut je pensais qu il fallait obligatoirement un champ date dans la table.

Mais finalement en tournant un peu la requete differement, on peut largement simplifier les chose en ajoutant seulement l annee en cours dans un champ de la table.

pour ajouter un champ ds la base, si j ai bien compris ton code, il suffirait de declarer un variable recordYear , et de lui donner la valeur constante 2005.
Le problème va se situer qd l annee va changer

Existe t il une fonction qui puisse récuperer l annee en cours?(sur date systeme)



- je cherche un emploi
ICI


kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 06 septembre 2005 - 18 h 41 m 50 s
new GregorianCalendar().get(Calendar.YEAR);

c est automatiquement intiialise a la date courante.




Florent42
Eh oui cette ville existe...;)

Messages : 2 459
Inscrit le 14/12/03
Ville : Saint-Etienne uniquement(pas de voiture)
Non connecté
  Posté le 06 septembre 2005 - 20 h 44 m 03 s
voila j ai modifie 3 trucs:

dans Tickets.java:

j ai déclaré avec les autres variables (mais juste après recordMonth) une nouvelle variable:

private Integer recordYear;


un peu plus loin j ai ajouté:
/**
* @return Returns the year.
*/
public final Integer getrecordYear()
{
return recordYear;
}

/**
* @param precordYear The year to set.
*/
public final void setrecordYear(final Integer precordYear)
{
recordYear = precordYear;
Log.log("setrecordYear: " + precordYear);
}



dans le fichier processor.java:

j ai rajoute
import java.util.*;


et plus loin:
t.setRecordDay(line.getInt(5, 7));
t.setRecordMonth(line.getInt(8, 10));


final Calendar recordYear = new GregorianCalendar().get(Calendar.YEAR);


normal je pense que c tout ce qu il y a a modifier

pourtant il apprecie pas la variable recordYear dans processor.java
Type mismatch: cannot convert from int to Calendar



- je cherche un emploi
ICI


kha
Google is your best friend

Messages : 1 235
Inscrit le 01/03/02
Ville : Montreal
Non connecté
  Posté le 07 septembre 2005 - 00 h 07 m 01 s
new GregorianCalendar() => renvoi un type Calenda
new GregorianCalendar().get(Calendar.YEAR) => renvoi un int




Precedent | 1,2,3,4,5,6,7,8,9 | Suivant
Page genérée en 1.2971 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL |Actualité ADSL | e-commerce | Commande Au Volant
Creative Commons
Message Boards and Forums Directory