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

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


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

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

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

Выпуск № 184
от 19.07.2005, 17:20

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


Вопрос № 23473: Уважаемые эксперты сногсшибательного портала RUSFAQ!!! Я все еще мучаюсь с FastReport. Я хочу сделать, чтобы в отчете в одном поле показывался текущий день сегодняшней даты, в другом - месяц, а в третьем год. Есть еще дата рождений. Дальше есть е...
Вопрос № 23491: Добрый день! Задавал вопрос о повороте изображения, воспользовался ответом эксперта Denisss. Теперь такой вопрос возник: кнопку нажимаем - все нормально, изображение повернулось на 90 против часовой. Жмем кнопку еще раз - и что это? Поворот обрат...
Вопрос № 23504: Привет! В ListView создается куча Image'ей (что - то типа preview) но когда их много они, етественно, появляются внизу listview и image'и перестают быть видны, так как не появляется долбаная вертикальная прокрутка. Вопрос: как заставить прокрутку поя...
Вопрос № 23508: Подскажите, пожалуйста, почему при переносе полей из одной DataSet в другую в DBGrid, кот. связана со вторым DataSet, высвечиваются данные только последнего перенесенного поля, другие-пустые. Вот код: procedure TForm2.Button1Click(Sen...

Вопрос № 23.473
Уважаемые эксперты сногсшибательного портала RUSFAQ!!!
Я все еще мучаюсь с FastReport. Я хочу сделать, чтобы в отчете в одном поле показывался текущий день сегодняшней даты, в другом - месяц, а в третьем год. Есть еще дата рождений. Дальше есть еще три поля: в одном - нужно чтобы расчитывалось, сколько лет прошло со дня рождения, в другом - месяцев, ну а в третьем дней. Может сталкивались с этим. Подскажите, как пользоваться полями, как сделать, чтобы он это рассчитывал и включал в отчет. И для чего, когда щелкаешь на поле, то в верхней части можешь указать текст, который содержит данное поле или выражение, а в нижней части для чего даны begin и end, что в них писать? Заранее благодарю за ответы.

Приложение:

Отправлен: 14.07.2005, 07:47
Вопрос задал: xXx (статус: 3-ий класс)
Всего ответов отправлено: 1

Отвечает: Denisss
Здравствуйте, xXx!
Можно сделать так: вместо [DayOf(Date)] написать [dToday], а ниже, вместо
begin
<что здесь можно писать>
end

написать:
begin
fToday:= DayOf(Date);
if (fToday = 1) then
dToday:= 'Января'
else
if (fToday = 2) then
dToday:= 'Февраля'
else
... и так далее ...
end

учтите, это всего навсего один из вариантов решения проблемы, а вариантов может быть громадное множество.

ПС:
а разве DayOfDate не дату, либо день недели выдает, а месяц?!
Ответ отправил: Denisss (статус: 10-ый класс)
Отправлен: 14.07.2005, 18:12
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ, попробую. Я ошибся не DayOf, а MonthOf(Date) - выдает цифру 7.


Вопрос № 23.491
Добрый день!
Задавал вопрос о повороте изображения, воспользовался ответом эксперта Denisss. Теперь такой вопрос возник: кнопку нажимаем - все нормально, изображение повернулось на 90 против часовой. Жмем кнопку еще раз - и что это? Поворот обратно - на 90 по часовой. Объясните плиз почему это происходит.
Заранее благодарен.

Приложение:

Отправлен: 14.07.2005, 12:53
Вопрос задал: Kvint (статус: Посетитель)
Всего ответов отправлено: 1

Отвечает: Denisss
Здравствуйте, Kvint!
Ух, извиняюсь, это моя ошибка: дело в том, что поворот происходит не совсем на 90 градусов, Вы присмотритесь повнимательнее, увидите :)
Я исправил процедуру, сам ее проверил, ко всему присмотрелся, вроде теперь все вращается правильно :)

Приложение:

Ответ отправил: Denisss (статус: 10-ый класс)
Отправлен: 14.07.2005, 18:48
Оценка за ответ: 5
Комментарий оценки:
Замечательно


Вопрос № 23.504
Привет! В ListView создается куча Image'ей (что - то типа preview) но когда их много они, етественно, появляются внизу listview и image'и перестают быть видны, так как не появляется долбаная вертикальная прокрутка. Вопрос: как заставить прокрутку появится и позволять прокручивать тучу Image'й в ListView. Заранее Спасибо.
Отправлен: 14.07.2005, 14:56
Вопрос задал: Алексей Петрович Вульфенштейн (статус: Посетитель)
Всего ответов отправлено: 2

Отвечает: Jadd
Здравствуйте, Алексей Петрович Вульфенштейн!
Все создается, все прокручивается. Может ты что-то свое пишешь? Поясни плиз.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Студент)
Отправлен: 14.07.2005, 17:13

Отвечает: Gin

Здравствуйте, Алексей Петрович!

Прокрутка для TListView или TTreeView:

// KEYWORDS: SendMessage, WM_HSCROLL, WM_VSCROLL
// scroll a ListView vertically down
SendMessage(ListView1->Handle, WM_VSCROLL, SB_LINEDOWN, 0);
// scroll a TreeView vertically up
SendMessage(TreeView1->Handle, WM_VSCROLL, SB_LINEUP, 0);
// Другие параметры, которые могут быть посланы.
{
SB_BOTTOM Scrolls to the lower right.
SB_ENDSCROLL Ends scroll.
SB_LINEDOWN Scrolls one line down.
SB_LINEUP Scrolls one line up.
SB_PAGEDOWN Scrolls one page down.
SB_PAGEUP Scrolls one page up.
SB_TOP Scrolls to the upper left.
}

Спрятать/показать горизонтальную или вертикальную полосу прокрутки в TListView:

type
TForm1 = class(TForm)
ListView1: TListView;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
FListViewWndProc: TWndMethod;
procedure ListViewWndProc(var Msg: TMessage);
public
{ Private declarations }
FShowHoriz: Boolean;
FShowVert: Boolean;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ListViewWndProc(var Msg: TMessage);
begin
ShowScrollBar(ListView1.Handle, SB_HORZ, FShowHoriz);
ShowScrollBar(ListView1.Handle, SB_VERT, FShowVert);
FListViewWndProc(Msg); // process message
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
FShowHoriz := True; // show the horiz scrollbar
FShowVert := False; // hide vert scrollbar
FListViewWndProc := ListView1.WindowProc; // save old window proc
ListView1.WindowProc := ListViewWndProc; // subclass
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
ListView1.WindowProc := FListViewWndProc; // restore window proc
FListViewWndProc := nil;
end;

С Уважением, Gin.
Ответ отправил: Gin (статус: Студент)
Отправлен: 15.07.2005, 06:08


Вопрос № 23.508
Подскажите, пожалуйста, почему при переносе полей из одной DataSet в другую
в DBGrid, кот. связана со вторым DataSet, высвечиваются данные только
последнего перенесенного поля, другие-пустые.
Вот код:
procedure TForm2.Button1Click(Sender: TObject);
var
aField:Variant;
i:integer;
begin
aField:=VarArrayCreate([0,TblM.FieldCount-1],VarVariant);
for i:=0 to 3 do //там только 4 поля
aField[i]:=TblM.fields[i].Value;
with FrmMovTowar do
begin
TblUslForOrder.Edit;
TblUslForOrder.Append;
for i:=0 to 3 do
TblUslForOrder.Fields[i].Value:=aField[i];
end;
form2.Close;
end;

Вопрос отправлен: 14.07.2005, 14:19


--------------------------------------------------------------------------------
Отвечает: Кудрявцев Андрей (>>)
Обратите внимание: отвечает начальный эксперт со статусом 3-ий класс!

Здравствуйте, lavir3!
А потому, что ты только последнее поле и запрашиваешь. Нужно добавить цикл по всем записям. Лучший вариант - вызывать эту процедуру (без Form2.Close) и цикле
for j := 1 to Table1.ItemCount
begin
<эта процедура>
Table1.Next
end;


Отправлен: 14.07.2005, 15:39
Вопрос задала: lavir3 (статус: Посетитель)
Всего ответов отправлено: 1

Отвечает: streetcat
Здравствуйте, lavir3!
а чем тебя ответ (который ты присоединил к вопросу, не указав зачем) Кудрявцева Андрея не устраивает? Судя по всему ты уже задавал этот вопрос, и тебе ответили. Так оно и есть: вызывай в цикле. Или ты решил задавать ентот вопрос пока тебе не дадут вразумительный ответ? Таки тебе его уже дали. Удачи ;)
---------
streetcat_x@yahoo.com
Ответ отправил: streetcat (статус: 7-ой класс)
Отправлен: 14.07.2005, 21:04


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

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

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

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

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


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


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


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

В избранное