PDA

View Full Version : سوال: معادل کد سی شارپ در دلفی



khorsandreza
دوشنبه 18 شهریور 1392, 18:47 عصر
سلام
دنبال روشی بودم که بتوانم فایل را از طریق اسکیو سرور انتقال دهم لذا یکی از دوستان در این تاپیک (http://barnamenevis.org/showthread.php?417859-%DA%A9%D9%BE%DB%8C-%DB%8C%DA%A9-%D9%81%D8%A7%DB%8C%D9%84-%D8%AF%D8%B1-%D8%B3%D8%B1%D9%88%D8%B1-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-IP-%D8%A8%D8%A7-%D8%A7%D8%B3%DA%A9%DB%8C%D9%88%D8%A7%D9%84-%D8%B3%D8%B1%D9%88%D8%B1) پست 7 راهنمائی کردند ولی سمت کلاینت را با زبان سی شارپ نوشتن برای کد File.ReadAllByte معادلی در دلفی اطلاعاتی ندارم .
کل کد


SqlCommand cmd = new SqlCommand("SaveFile", connection);
cmd.Parameters.Add("@FileData", File.ReadAllByte("File Path in Client"));
cmd.Parameters.Add("@FileName", "File Name in Client");
connection.Open();
cmd.Execute();
connection.Close();

khorsandreza
سه شنبه 19 شهریور 1392, 09:57 صبح
با سلام
سوال را عوض بکنم کد زیر را که یک sp اسکیو ال سرور هست داریم می خواه با استفاده از دلفی اطلاعاتی را به این sp ارسال کنیم

Create Proc SaveFile
@FileData varbinary(max),
@FileName nvarchar(100)
AS
Begin
Declare @FilePath nvarchar(150)
Set @FilePath = 'Directory Path in Server' + @FileName

Declare @ObjectToken INT
EXEC sp_OACreate 'ADODB.Stream', @ObjectToken OUTPUT
EXEC sp_OASetProperty @ObjectToken, 'Type', 1
EXEC sp_OAMethod @ObjectToken, 'Open'
EXEC sp_OAMethod @ObjectToken, 'Write', NULL, @FileData
EXEC sp_OAMethod @ObjectToken, 'SaveToFile', NULL, @FilePath, 2
EXEC sp_OAMethod @ObjectToken, 'Close'
EXEC sp_OADestroy @ObjectToken
End




من به شکل زیر مینویسم خطا می گیره


procedure TInputForm.RzButton1Click(Sender: TObject);
var FileStrm: TMemoryStream;
begin
inherited;
SPARSHIV.Active := false;
SPARSHIV.Parameters.ParamByName('@FileName').Value := 'e:\FilmArshivTest\11.mp4';
Try
FileStrm := TMemoryStream.Create;
FileStrm.LoadFromFile('F:\FilmArshivTest\11.mp4');
SPARSHIV.Parameters.ParamByName('@FileData').LoadF romStream(FileStrm,ftFmtMemo);
SPARSHIV.ExecProc;
Finally
FileStrm.Free;

End;
end;