Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi 2

Автор: sunduk4
Дата сообщения: 07.01.2007 12:07
Wiki
какой грид используешь?
Автор: A_V
Дата сообщения: 07.01.2007 14:31
Jokerjar

Цитата:
Как сделать значок в трее неактивным (чтоб скрывался)

а что значит 'чтоб скрывался'? если просто убрать иконку из трея надо то посредством
ShellAPI это делается также как и добавление - вызываешь Shell_NotifyIcon с константой удаления и указателем на твою NotifyIconData.
Wiki
грид, который DB, отображает данные, хранящиеся в датасете, соответственно из датасета их и надо считывать. если у грида строка выделенна, значит и в датасете текущая запись та же.
a если это вдруг имелся ввиду QuantumGrid - то данные из unbound колонок надо читать из DataController'а
Автор: Wiki
Дата сообщения: 07.01.2007 14:59
sunduk4
использую DBGrid с закладки Data Controls

A_V
Ну что данные из датасета считывать, это понятно. Только вот для этого мне надо хотя бы определить номер выделенной строки DBGridа, в этом собственно у меня проблема и заключается
Автор: A_V
Дата сообщения: 07.01.2007 15:10
Wiki
А Зачем тебе определять номер выделенной строки? Еще раз, датасет ведь уже спозиционирован на текущуюю в гриде позицию. Сразу узнаешь как DataSet.FieldByName('FieldXXX').Value
Или ты неск-ко строк выделяешь в гриде?
Автор: Jokerjar
Дата сообщения: 07.01.2007 15:40
A_V, не, не то. Знаешь, как неактивные значки скрываются за стрелочкой в трее, и увидеть их можно, "развернув" трей? Так как вот такое замутить в Делфи?


Добавлено:
Типо переключать состояния активен/неактивен
Автор: A_V
Дата сообщения: 07.01.2007 17:44
Jokerjar
а.. вот ты о чем )
я просто эту фичу всегда отрубаю..
а вобще хз как такого можно добиться
Автор: Wiki
Дата сообщения: 08.01.2007 03:55
A_V


Цитата:
Датасет ведь уже спозиционирован на текущуюю в гриде позицию

Спасибо, огромное! Очень-очень полезная вещь.
А я даже не знала

Автор: bobaZz
Дата сообщения: 11.01.2007 13:32
Вопрос: почему не работает в чем может быть ошибка?

Код: procedure TfmCreatepers.UpDownClick(Sender: TObject; Button: TUDBtnType);
type
plabel = ^TLabel;
var
lab: ^plabel;
labb: ^plabel;
N: integer;
begin
lab^:=nil;
labb^:=nil;
if ((Sender as TUpDown).Name='ud11') then begin lab:=@lbl11; labb:=@lbl1; end;
if ((Sender as TUpDown).Name='ud12') then begin lab:=@lbl12; labb:=@lbl1; end;
if (Sender as TUpDown).Name='ud13' then begin lab:=@lbl13; labb:=@lbl1; end;
if (Sender as TUpDown).Name='ud21' then begin lab:=@lbl21; labb:=@lbl2; end;
if (Sender as TUpDown).Name='ud22' then begin lab:=@lbl22; labb:=@lbl2; end;
if (Sender as TUpDown).Name='ud23' then begin lab:=@lbl23; labb:=@lbl2; end;
if (Sender as TUpDown).Name='ud31' then begin lab:=@lbl31; labb:=@lbl3; end;
if (Sender as TUpDown).Name='ud32' then begin lab:=@lbl32; labb:=@lbl3; end;
if (Sender as TUpDown).Name='ud33' then begin lab:=@lbl33; labb:=@lbl3; end;
N:=StrToInt(labb^.Caption);
lab^.Caption:=IntToStr(10+(Sender as TUpDown).Position);
if Button=btNext then N:=N-1;
if Button=btPrev then N:=N+1;
end;
Автор: oan42
Дата сообщения: 11.01.2007 15:59
bobaZz
Воспользуйтесь диалоговым отладчиком.

lab^:=nil;
labb^:=nil;

не лучше ли переписать:

lab:=nil;
labb:=nil;
Автор: Mandor Sawall
Дата сообщения: 11.01.2007 16:21
Очень сложно сделал...


Код:
procedure TfmCreatepers.UpDownClick(Sender: TObject; Button: TUDBtnType);
var
lab: TLabel;
labb: TLabel;
N: integer;
begin
lab :=nil;
labb :=nil;
if ((Sender as TUpDown).Name='ud11') then begin lab:=lbl11; labb:=lbl1; end;
if ((Sender as TUpDown).Name='ud12') then begin lab:=lbl12; labb:=lbl1; end;
if (Sender as TUpDown).Name='ud13' then begin lab:=lbl13; labb:=lbl1; end;
if (Sender as TUpDown).Name='ud21' then begin lab:=lbl21; labb:=lbl2; end;
if (Sender as TUpDown).Name='ud22' then begin lab:=lbl22; labb:=lbl2; end;
if (Sender as TUpDown).Name='ud23' then begin lab:=lbl23; labb:=lbl2; end;
if (Sender as TUpDown).Name='ud31' then begin lab:=lbl31; labb:=lbl3; end;
if (Sender as TUpDown).Name='ud32' then begin lab:=lbl32; labb:=lbl3; end;
if (Sender as TUpDown).Name='ud33' then begin lab:=lbl33; labb:=lbl3; end;
N:=StrToInt(labb.Caption);
lab.Caption:=IntToStr(10+(Sender as TUpDown).Position);
if Button=btNext then N:=N-1;
if Button=btPrev then N:=N+1;
end;
Автор: 2Polkan
Дата сообщения: 11.01.2007 16:37
Вопрос такой: надо написать прогу по работе с базой данных. База будет на Access'e, в делфи реализовано через АДО. Но т.к. я никогда раньше этим не занимался, я никак не могу реализовать связь отдельных таблиц по ключевому полю.

прога требуется для приема заказов в фотосалоне. В первой таблице будут показаны сами заказы. Но как запихнуть в эту же таблицу кадровку пленки? Например, напечатать кадры 1, 4, 6, и 20ый - 5 штук.

Как я понял, надо создать вторую таблицу с 41 столбцами (первый - ИД, остальные по номерам кадра). Так вот, если я занес в нее запись, как сделать чтобы она передала в первую таблицу только кол-во кадров?
Автор: afiget
Дата сообщения: 11.01.2007 17:01

Цитата:
Как я понял, надо создать вторую таблицу с 41 столбцами (первый - ИД, остальные по номерам кадра)

Лучше все таки придерживаться 3НФ.
Т.е. завести отдельную таблицу для кадров:
ИД
ИД заказа
№ кадра

Соответсвенно, кол-во через count()
Автор: 2Polkan
Дата сообщения: 11.01.2007 17:38

Цитата:
Лучше все таки придерживаться 3НФ.

а что такое знф? =))

я и хотел сделать двумя таблицами. Но как их связать? Может ссылок накидаете, типа БД для чайников ))
Автор: xy
Дата сообщения: 11.01.2007 18:01
Народ, прога для работы БД (FB2), написанная на BDS2006 нифига не работает под 64-бит Вистой
Подозрение всё-таки на длл-ки типа fbclient, т.к. прога впринципе запускается пока дело до БД не доходит :)

Подскажите где посмотреть инфу по сборке приложений для 64-бит систем?
Автор: DiscoRezzz
Дата сообщения: 11.01.2007 20:33
Подсобите, плиз, если кто знает.
Мне нужно надёжно определить, каким кодером (и его версию) сжат мп3-файл.
Я юзаю Аудио Тул Лайбрери. Дело в том, что в некоторых случаях на те треки которые я сам же и сжимал Lame -ом выдаётся результат FHG или Xing. Что характерно, в хекс-эдиторе текстовой поиск находит и Lame и FHG...
В исходниках ATL как то странно всё это определяется:
-------------------------------------------------------------------
function FGetCBREncoderID: Byte;
begin
{ Guess CBR encoder and get ID }
Result := MPEG_ENCODER_FHG;
if (FFrame.OriginalBit) and
(FFrame.ProtectionBit) then
Result := MPEG_ENCODER_LAME;
if (GetBitRate(FFrame) <= 160) and
(FFrame.ModeID = MPEG_CM_STEREO) then
Result := MPEG_ENCODER_BLADE;
if (FFrame.CopyrightBit) and
(FFrame.OriginalBit) and
(not FFrame.ProtectionBit) then
Result := MPEG_ENCODER_XING;
if (FFrame.Xing) and
(FFrame.OriginalBit) then
Result := MPEG_ENCODER_XING;
if FFrame.LayerID = MPEG_LAYER_II then
Result := MPEG_ENCODER_QDESIGN;
if (FFrame.ModeID = MPEG_CM_DUAL_CHANNEL) and
(FFrame.ProtectionBit) then
Result := MPEG_ENCODER_SHINE;
if Copy(FVendorID, 1, 4) = VENDOR_ID_LAME then
Result := MPEG_ENCODER_LAME;
if Copy(FVendorID, 1, 4) = VENDOR_ID_GOGO_NEW then
Result := MPEG_ENCODER_GOGO;
end;
--------------------------------------------------------------------
Порыл в и-нете, не могу найти, куда кодеки пишут о себе информацию. Может плохо искал...
Если кто сталкивался, помогите чайнику...

Автор: FRALX
Дата сообщения: 11.01.2007 22:34
2Polkan
http://www.cybersecurity.ru/manuals/data/mysql/836.html
Там все есть про 3НФ
Автор: 2Polkan
Дата сообщения: 11.01.2007 23:35
FRALX
прочитал, нихрена не понял... нафиг всё это? какие то кода городов... написано там жутко -_-
Автор: bobaZz
Дата сообщения: 12.01.2007 08:47
Mandor Sawall
Спасибо, помогло.
Автор: RostY
Дата сообщения: 12.01.2007 08:59
2Polkan
сделай, например так:
table1 -- заказы. Поля: ID, Заказчик, тип пленки, тип фоток (размер, глянц/мат) и т.д
table2 -- кадры. Поля: ID, № кадра, количество фоток на кадр

потом количество фоток на заказ делай селектом
select id, sum(kol_fotok) group by id
и по ID связывай з первой таблой
Автор: FRALX
Дата сообщения: 12.01.2007 17:09
2Polkan
http://www.wwwmaster.ru/article.php?nart=21
Автор: JonyBes
Дата сообщения: 12.01.2007 21:05
Проблема с интерфейсом!
Пишу на ДевЭкспрессах+cxImageList1. В dxBarManager делаю кнопки=текст+картинка.
В ВинХР в теме типа луна и.т. картинки отображаются правильно. Если ставишь класическую тему - убожество. Как с этим бороться?
Автор: ZalivkoDenis
Дата сообщения: 15.01.2007 08:29
FRALX, ты особенно не напрягайся с поиском документации... Тут вариант без вариантов. Если человек взялся за разработку БД без всякой теоретической базы (элементарной! без которой вообще к этому вопросу подходить не стоит)

2Polkan
Цитата:
прочитал, нихрена не понял... нафиг всё это? какие то кода городов... написано там жутко -_-

С первого раза не понял -- второй раз прочти, третий и т.д.


Автор: vserd
Дата сообщения: 15.01.2007 12:08
2Polkan

Цитата:
а что такое знф? =))

Третья нормальная форма.
Чем 1НФ отличается от 3НФ и 4НФ читай книжки по проектированию БД. Например Дейта Введение в БД. Можешь взять какой нибудь учебник по SQL, обычно там описаны принципы нормализации данных (помоему в Грабере есть). Книжку лучше прочитать сразу, до того как закодируешь данные. И не только прочитать, но и осознать. Эти ты сэкономишь себе массу времени в дальнешем.
Автор: yuish
Дата сообщения: 15.01.2007 17:59
Кто нить знает как при использовании QImport2Wizard при импорте из dbf (созданы в фоксе 9) правильно импортировался русский язык. При импорте из других файлов (txt, csv и пр) - русский импортит нормально
Автор: YFred
Дата сообщения: 15.01.2007 22:28
Подскажите какое событие генерица при нажатии на дополнительную кнопку компанента TSpeedButton с установленным свойством DropdownMenu?
Автор: oan42
Дата сообщения: 15.01.2007 23:07
yuish
По всей видимости нужно установить
TQImportFieldFormat.CharSet

The CharSet property defines the character set of the field data.
icsNone    save the original character set;
icsAnsi    set the field character set to ANSI;
icsOem    set the field character set to OEM.
Автор: RomanTim
Дата сообщения: 15.01.2007 23:49
YFred
Может все таки не TSpeedButton, а TToolButton со Style = tbsDropDown? У первого вроде как нет DropDownMenu и дополнительной кнопки.
У кнопки и тулбара событий не генерится никаких, у менюшки - OnPopup
Автор: DroN_S
Дата сообщения: 15.01.2007 23:52

Цитата:
дополнительную кнопку компанента TSpeedButton

а что это кнопка такая? первый раз слышу о таком чуде...
Автор: SERGE_BLIZNUK
Дата сообщения: 16.01.2007 06:13
DroN_S
Цитата:
кнопку компанента TSpeedButton
стандартные VCL (в Delphi5? например, закладка Additional - вторая слева - кнопочка с молнией... ;-)))
Автор: Starhan
Дата сообщения: 16.01.2007 06:21

Цитата:
Вопрос такой: надо написать прогу по работе с базой данных. База будет на Access'e, в делфи реализовано через АДО. Но т.к. я никогда раньше этим не занимался, я никак не могу реализовать связь отдельных таблиц по ключевому полю.



Поищи на этом сайте как раз хорошо расписано про бд и дельфи
http://vr-online.ru/

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Событие STFilter(DBGridEh) ???


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.