Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 260
от 09.10.2005, 18:21

Администратор:Калашников О.А.
В рассылке:Подписчиков: 251, Экспертов: 45
В номере:Вопросов: 4, Ответов: 9


Вопрос № 27177: Почему внутри потока (TTHread) не получается узнать размер файла..., выдает какую-то аброкадабру? Подскажите как узнать, может кто сталкивался с такой проблемой....?...
Вопрос № 27184: Можно ли сделать такую вещь: Если вам знакома программа Патишн маджик(для разбивания жёсткого диска на логические и т.д.) то вы наверняка видели что в последних версиях под виндой XP она перезагружает компьютер и использует систему вроди CHKDisk. Как...
Вопрос № 27195: Каким образом можно сделать "бегущие таблетки" своего рода прогрес бар, но не имеющий конца бействия? Примером является: поиск в WinХР, Windows Update, и конечно загрузка WinXP....
Вопрос № 27200: Помогите, плиз! Необходимо сохранить в БД в поле картинку с Image. Не могу определить как передать параметр, т.е. нужно получить типа Q.ParambyName('p1').*:= Image.picture.bitmap Или как-то нужно по другому поступить. ...

Вопрос № 27.177
Почему внутри потока (TTHread) не получается
узнать размер файла..., выдает какую-то аброкадабру?
Подскажите как узнать, может кто сталкивался с такой проблемой....?
Отправлен: 03.10.2005, 20:04
Вопрос задал: Dadaev Zaur (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Delphin
Здравствуйте, Dadaev Zaur!
Ну ты бы хотябы показал как ты береш размер файла!!!
Или написал ошибку!!!

Может ты его не верно узнаеш?

Как ты работаеш с потоком?

Вот пример потока который просто смотрит размер и выводит его в Memo.

Незабудь поставить оценку!!!
И заметь все работает!!!

Приложение:

---------
Обращаться в ICQ: 66550088 (Ally) или E-Mail: delphinster@gmail.com

Ответ отправил: Delphin (статус: Студент)
Отправлен: 03.10.2005, 20:24

Отвечает: sir henry
Здравствуйте, Dadaev Zaur!
А как Вы узнаете размер файла? Приведите процедуру полностью, пожалуйста.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 04.10.2005, 05:25


Вопрос № 27.184
Можно ли сделать такую вещь: Если вам знакома программа Патишн маджик(для разбивания жёсткого диска на логические и т.д.) то вы наверняка видели что в последних версиях под виндой XP она перезагружает компьютер и использует систему вроди CHKDisk. Как это можно сделать(если вообще можно). Заранее благодарен. Night.
Отправлен: 03.10.2005, 22:16
Вопрос задал: Night (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: sir henry
Здравствуйте, Night!
Сделать что?
- Перезагрузить компьютер;
- Написать аналог Chkdsk?
Проще всего перезагрузить компьютер. :)
А вот с собственной проверкой диска баловаться я Вам настоятельно не рекоммендую.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 04.10.2005, 05:28
Оценка за ответ: 3
Комментарий оценки:
1.Желательно поподробнее на тему перезагрузки.
2.Мне нужно использовать этот синий экран. Как его можно получить и как с ним работать?


Вопрос № 27.195
Каким образом можно сделать "бегущие таблетки" своего рода прогрес бар, но не имеющий конца бействия? Примером является: поиск в WinХР, Windows Update, и конечно загрузка WinXP.
Отправлен: 04.10.2005, 00:16
Вопрос задал: Малярчук Андрей (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, Малярчук Андрей!
Делаете цикл. Пока идет процесс (его наличие определяете по его специфике), перерисовываете таблетку на новом месте. Внутри условие, если координаты таблетки достигли края чего-нибудь, то координаты обнуляются, т.е. таблетка вырисовывается в самом начале.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 04.10.2005, 05:32
Оценка за ответ: 4

Отвечает: akaDemik
Здравствуйте, Малярчук Андрей!
Если не хочешь писать это вручную, можно скачать JVCL. Там подобный прогрессбар уже был.
Ответ отправил: akaDemik (статус: 1-ый класс)
Отправлен: 04.10.2005, 10:14

Отвечает: Delphin
Здравствуйте, Малярчук Андрей!
Есть много компонетов. www.Torry.Net.

А если вручную то загрузи картинку и перемещай её каждые x секунд на допустим 2 пикселя. Если положение у края то ставь положение 0.

Смотри кусочек примера :-)

Приложение:

---------
Обращаться в ICQ: 66550088 (Ally) или E-Mail: delphinster@gmail.com

Ответ отправил: Delphin (статус: Студент)
Отправлен: 04.10.2005, 13:40


Вопрос № 27.200
Помогите, плиз! Необходимо сохранить в БД в поле картинку с Image. Не могу определить как передать параметр, т.е. нужно получить типа Q.ParambyName('p1').*:= Image.picture.bitmap
Или как-то нужно по другому поступить.

Отправлен: 04.10.2005, 07:21
Вопрос задала: Npr2 (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Jadd
Здравствуйте, Npr2!
Нет.Такая идея не "проканает". Поле с картинкой в базе данных - BLOB-поле. Просто так туда не пихнуть. Нужно открыть поток (Stream) и связать его с этим полем. А потом писать туда кусками. Вот пример как записать строку в конец BLOB'а:
var
Stream: TStream;
S: string;
begin
with Tasks do
begin

Edit;

if State = dsEdit then
begin
Stream := CreateBlobStream(FieldByName('Notes'), bmReadWrite);
try
Stream.Seek(0, 2); {Seek 0 bytes from the stream's end point}
S := ' This line will be added to the end.';
Stream.Write(PChar(S)^, Length(S));
Post;
finally
Stream.Free;
end;
end;
end;
Пример из хелпа дельфей, кстати.
Удачи.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Практикант)
Отправлен: 04.10.2005, 08:59

Отвечает: Denis Hakimov
Здравствуйте, Npr2!
Попробуйте мой не совсем правильный вариант:

try
{назначаем картинку полю P1}
DataModule2.Table1.FieldByName('P1').Assign(Image1.Picture.Bitmap);
except
else ShowMessage('не могу записать картинку в базу данных');
end;
Ответ отправил: Denis Hakimov (статус: 3-ий класс)
Отправлен: 04.10.2005, 10:54

Отвечает: sir henry
Здравствуйте, Npr2!
Вы хотите загружать картинку в поле средствами SQL-сервера, а не Дельфи?
У Вас какой SQL-сервер?
Как параметр можно передать так:
var
blobvar: TStream; {Поток для рисунка}
Begin
{--- Загрузили рисунок в поток -----}
.....
{Передаем в параметр}
Q.ParamByName('p1').asBlob:=blobvar;
End;
Не гарантировано, что это будет везде работать.
Более универсальный метод:
var B: TBlobStream;
begin
B:=DataSet1.CreateBlobStream(DataSet1.FieldByName('p1') as TBlobField, bmRead);
B.LoadFromFile('c:pict.jpg');
B.Free;
end;
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 05.10.2005, 20:12


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Rambler's Top100 Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Архив рассылки
Отписаться
Вспомнить пароль

В избранное