eclems
Messages postés104Date d'inscriptionsamedi 23 décembre 2000StatutMembreDernière intervention 9 mai 2013
-
12 nov. 2010 à 22:52
Utilisateur anonyme -
13 nov. 2010 à 10:33
Bonsoirs cheres amis delphiste,
cela fait maintenant un petit moment que je code en delphi ou plutot en pascal on vas dir et la je me demandais si vous pourrier participer avec moi pour m'aider a ce que un socket transfert les fichiers dans un listview avec dossier dans un treeview
j'ai deja ces deux fonction en utilisant : ScktComp
function SendFile( Socket: TCustomWinSocket; FName: string ): boolean;
var
Header : TMsgHeader;
Fs : TFileStream;
S : TMemoryStream;
begin
Result := false;
if FileExists( FName ) then
try
Avant de te lancer tête baisser, réalise un cahier des charges, ai une idée ultra précise de ce que tu veux faire car là tu vas droit dans le mur : Faire une sorte de MSN light est tout sauf quelque chose de facile, crois moi.
Allez on va te filer un coup de main
1)Définir précisément par écrit ce que ton logiciel doit faire : Cahier des charges
2)Réaliser une sorte de prototype en terme d'interface via un logiciel de dessin en commentant les fonctionnalités
3)Se documenter sur le fonctionnement de ce type de messagerie (Chose que tu n'as pas fais à priori car ce genre de logiciel n'utilise pas MySQL mais plutot des protocoles de type SIP, H.323)
4)Se documenter sur le type de serveur que tu peux utiliser (Chose que tu n'as pas fais à priori car des serveurs web qui acceptent des requettes MySQL extérieurs il n'y en a pas des masses pour une simple raison de sécurité évidente)
5)Trouver le serveur
6)Réaliser les composants ou trouver les composants dont tu as besoin
7)Réaliser l'interface.
8)Implémenter le protocole pour initier une session
9)Implémenter le protocole pour tout ce qui est communication (Texte, Fichier, Visio conférence ect ect) genre XMPP
Bref c'est un boulot monstrueux représentant au moins deux ans de travail même pour quelqu'un qui sait coder et qui s'est bien documenté sur le sujet. Et je parle même pas de la sécurité.
Ensuite ta fonction SendFile :
Je vois pas trop ce que tu fous avec ton en-tête par contre utiliser un TMemoryStream est une mauvaise idée en terme d'optimisation et ca risque d'être source de beugue (J'imagine même pas ce qui va se passer quand un utilisateur va essayer d'envoyer un fichier de 100Mo ). Si dans les exemples qui grouillent sur internet on envoit les données par bloques c'est pas pour rien.
Ensuite utilises les balises codes : On arrette pas de le dire. Puis profites en pour indenter ton code et le commenter : le minimum quand on se lance dans un tel projet qui dépasse l'amateurisme c'est de respecter les règles de l'art en terme de code (Chose que tu ne fais pas).
Dans ta procédure SendFileList tu définies Buf qui est l'abréviation de buffer comme un TStringList : tu trouves cela logique ? Ta StringList ne contient aucune données c'est normal ? Tu parles de "listview" et "treeview" hormis le fait que tu codes la partie envoie et non réception qu'est ce qu'une listview et treeview vient foutre la dedans et de quelles listview et treeview tu parles ?
Clément je vais être désagréable : Mais si tu n'es même pas fichu d'utiliser des composants aussi basique laisse tomber, c'est que tu n'as pas le niveau. Et j'espère que tu n'as pas l'intention d'utiliser ce forum pour poser une question à chaque fois que tu as des questions aussi triviales parce que vu le projet, tu as pas finis de solliciter de l'aide.