Форум: "Основная";
Текущий архив: 2004.01.29;
Скачать: [xml.tar.bz2];
ВнизКопирование файла из буфера обмена на диск Найти похожие ветки
← →
Луарвик (2004-01-15 13:35) [0]Надеюсь никто меня не помнит...
Вот что я задумал: юзер копирует файл с рабочего стола, далее нажимает кнопку в моей проге и файл записуеться в папку проги. Делаю следующее:
stream1:=TFileStream.Create(fmOpenRead);
stream1:=TStream.Writebuffer(Buff, 128{Можно и больше:)});
Stream1.Free;
Ничего не выходит. Подскажите плиз!
← →
Тимохов (2004-01-15 13:37) [1]Код полностью, пожалуйста.
Что такое buff?
Кто сраторе помянит, тому глаз вон.
← →
Романов Р.В. (2004-01-15 13:39) [2]Тебе же советовали книжки почитать или Help.
PS: Граждане держите тумблер голова-ж..а в верхнем положении.
← →
Луарвик (2004-01-15 13:49) [3]А-а, по вашему я не знаю че мне читать? Да если б надо было книжки читать, то я б в инете шарил поисковиках. Но нет, я но форум пришел просить помощи у професионалов!
2Тимохов Buff - это переменная типа TClipboard. Знаю что не правильно, но и по другому не выходит.
PS: У меня все на автоматике...
← →
Романов Р.В. (2004-01-15 13:51) [4]
> Но нет, я но форум пришел просить помощи у професионалов!
А профессионалы послали читать книжки.
← →
Луарвик (2004-01-15 13:56) [5]И это по вашему професионально?
← →
Романов Р.В. (2004-01-15 14:01) [6]угу
← →
Луарвик (2004-01-15 14:07) [7]Вот блин, а я надеялся. Придеться искать в google, ту все равно токо языками чесать умеют!
← →
Луарвик (2004-01-15 14:12) [8]2Тимохов вот, все остальное тоже самое...
procedure TForm1.PDJButton1Click(Sender: TObject);
var
Buff:TClipboard;
stream1, stream2: TStream;
begin
try
stream1:=TFileStream.Create(fmOpenRead);
stream1:=TStream.Writebuffer(Buff, 128{Можно и больше:)});
Stream1.Free;
except
Showmessage("Нет такого файла!");
end;
← →
Тимохов (2004-01-15 14:12) [9]Знаешь, если это переменная типа TClipBoard, то я согласен с Романовым. Читай. Подними вчеташний топик, слазь на Msdn, прочти. У тебя обязательно получится. Мы в тебя верим.
"... ту все равно токо языками чесать умеют ... "
Ты, имхо, зря так говоришь. Вчера тебе ответили предельно подробно. Подробнее только написать за тебя код. Сам понимаешь, что это не цель форума писать кому-то код. Цель - обмен информацией в предположении, что целевой получатель информации обладает интеллектом и может копать сам.
← →
Луарвик (2004-01-15 16:58) [10]Ну это опять я. Надею еще не слишком всех достал сложными вопросами. Вощем я работал, искал, читал, пробовал, юзал все подряд и вот что зделал:
............................................
procedure TForm1.PDJButton1Click(Sender: TObject);
var
Buff:array of byte;
stream1: TMemoryStream;
stream2: TFileStream;
begin
stream1:=TMemoryStream.Create;
Stream1.WriteBuffer(buff, 128);
Stream2:=TFileStream.Create("newdata.dat",fmCreate);
Stream2.Write(Stream1, Stream1.Size);
Stream2.Free;
Stream1.Free;
end;
............................................
Но программа продолжает работать не правильно. Во первых создает файл размером 128, а так же создает какой-то левый файл. Вот бы узнать как можно из клипбарда слить все в поток и назначить розмер файла такой какой он в клипе.
← →
Amoeba (2004-01-15 17:01) [11]Все как об стенку горох...
← →
Jel (2004-01-15 17:02) [12]
> Stream1.WriteBuffer(buff, 128);
> Во первых создает файл размером 128
А что должна создавать по-твоему?
← →
Луарвик (2004-01-15 17:07) [13]Вообще то файл должен копироваться из Clipboard в папку программы.
Ну а если конкретно, то создаваться файл идентичный тому который в буфере обмена. > Stream1.WriteBuffer(buff, 128); - это конечно не правильно, заместо "128" должна быть процедура, но какая не знаю:(
← →
Тимохов (2004-01-15 17:09) [14]Грубых ошибок настолько много и отсутствие логики настолько очевидно, что желаю тебе чтобы твоим случаем заинтересовался кто-нибудь из местных педагогов-учителей (их здесь много) - с тобой надо проводить серьезную работу. Жди...
От себя скажу лишь, что
1. Нахождение инфы по строке CF_HDROP в msdn.microsoft.com и ее прочтение обязательно к выполнению.
2. Чтение штатного хелпа по TFileStream обязательно к выполнению.
3. Чтение любого учебника по дельфи обязательно к выполнению.
Чессо слово - обидеть тебя не было моей задачей.
← →
Amoeba (2004-01-15 17:09) [15]Опять "На колу мочало..."
← →
Jel (2004-01-15 17:12) [16]procedure WriteBuffer(const Buffer; Count: Longint);
Writes Count bytes from Buffer onto the stream and advances the current position of the stream by Count bytes.
> заместо "128" должна быть процедура
Ты полагаешь процедура поможет?
← →
Луарвик (2004-01-15 17:15) [17]Я не обижаюсь. У меня 2 учебника по Delphi. В принцепе если здесь плохознание языка представляет интерез для месных психиатров то пожалуй непонятно для чего зделан этот сайт.
Если б еще Amoeba свои 5 коп не вставлял\ла!
← →
Тимохов (2004-01-15 17:17) [18]Луарвик (15.01.04 17:15) [17]
Если будешь грубить, то обещаю, что тебе никто ничего отвечать вообще не будет.
Всего хорошого.
← →
Jel (2004-01-15 17:19) [19]Прислушайся к
> Тимохов © (15.01.04 17:09) [14]
Здесь не плохое знание языка, тут имхо его полное отсутствие плюс маниакальное нежелание изучения.
Вряд ли кто-то будет писать за тебя этот код. Не я точно. :)
← →
Луарвик (2004-01-15 17:19) [20]Ну чего все на меня насели? Может поможе а может и нет. Я ж как раз спрашиваю.
← →
Тимохов (2004-01-15 17:22) [21]Луарвик (15.01.04 17:19) [20]
Тебе же ответили, что делать уже не раз.
Почитай оба своих топика, убери свои обиженные посты от туда. Останется:
1. Что надо делать, чтобы решить проблему.
2. Мнение далеко не ламеров о том, каких знаний тебе не хватает и где их взять.
← →
Луарвик (2004-01-15 17:24) [22]Тимохов создает общее мнение, а остальные потдержуют... Ладно Почитаю еще и попытаю счатья в Королевстве Delphi...
← →
Тимохов (2004-01-15 17:26) [23]Клинический случай...
Виноват, развел тут флейм... больше не повториться.
← →
Jel (2004-01-15 17:28) [24]
> попытаю счатья в Королевстве Delphi...
<offtopic>
ИМХО "Клюква" гаранирована.
</offtopic>
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.01.29;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.007 c