Enregistrer un TFilestream apres un transfert

ewertheimer Messages postés 161 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 26 janvier 2009 - 16 nov. 2005 à 20:25
cs_neko Messages postés 135 Date d'inscription jeudi 14 août 2003 Statut Membre Dernière intervention 12 octobre 2006 - 18 nov. 2005 à 15:13
voici mon code:

var
texte : string;
Line, FileName : String;
i, FileSize : integer;
Fs : TFileStream;
begin
with AThread.Connection do
try
texte := ReadLn();
ShowMessage(texte);

except
ShowMessage ('deconnection');
end;
with AThread.Connection do
try
Line := ReadLn(); //Attends une commande de la forme TRANS suivi du nom de fichier
i := Pos(' ',Line);
if (i>0) and (LowerCase(Copy(Line,1,Pred(i)))='trans') then
begin
FileName := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName))
+ Copy(Line,Succ(i),Length(Line)); //Copier nom de fichier
Fs := TFileStream.Create(FileName,fmCreate); //Créer le flux
try
try
FileSize := ReadInteger(); //Lire la taille
ReadStream(Fs,FileSize,False); //Lire le flux

WriteLn('OK'); //Signaler succès


except
WriteLn('ERR'); //Signaler une erreur
end;
finally

FreeAndNil(Fs); //Libérer le flux dans tous les cas
ShowMessage('terminer');
end;


end
else
WriteLn('ERR'); //Commande incomprise
finally
ShowMessage ('fichier reçu ')

end;
end;



l'envoie du fluxx et la breception fonctionne bien mais le probleme c'est que j'aimerais bien enregistrer le flux avec un TSaveDialog avant de le liberer.
Merci d'avance de vos reponses

5 réponses

cs_neko Messages postés 135 Date d'inscription jeudi 14 août 2003 Statut Membre Dernière intervention 12 octobre 2006 1
18 nov. 2005 à 09:17
Ton Filestream est déjà enregistré dans un fichier ( dans le repertoire courrant avec le nom de fichier transmit en début )
Reste qu'a le renommer/bouger

var SHFileOpStruct : TSHFileOpStruct;
begin
FillChar(SHFileOpStruct, SizeOf(SHFileOpStruct),0);
with SHFileOpStruct do begin
wFunc := FO_MOVE;
pFrom := PChar(SourceFile+#0);
pTo := PChar(DestFile+#0);
fFlags := FOF_NOCONFIRMATION or FOF_SILENT;
end;
ShFileOperation(SHFileOpStruct);
end;

bouh
0
ewertheimer Messages postés 161 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 26 janvier 2009
18 nov. 2005 à 10:08
Ils me disent SHFileOpStruct identificateur non declarer faut il que j'ajoute un truc dans les uses.
0
cs_neko Messages postés 135 Date d'inscription jeudi 14 août 2003 Statut Membre Dernière intervention 12 octobre 2006 1
18 nov. 2005 à 10:31
Ouaip ShellAPI

bouh
0
ewertheimer Messages postés 161 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 26 janvier 2009
18 nov. 2005 à 10:51
Maintenant ils me disent que sourceFile et DestFile sont des identificateurs non declare
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_neko Messages postés 135 Date d'inscription jeudi 14 août 2003 Statut Membre Dernière intervention 12 octobre 2006 1
18 nov. 2005 à 15:13
Faut que t'essaye de chercher un peu quand même...
il faut que tu adapte le code que je t'ai donné
là tout est écrit dans l'aide SDK Windows. SourceFile c'est une chaine ( string ) avec ton nom de fichier source ( donc FileName pour toi ) et DestFile le nom du fichier Voulu. Je repondrais plus aux questions sur ce code, sauf choses complexes...
0
Rejoignez-nous