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

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

Автор: STEEL
Дата сообщения: 12.09.2006 11:09
подскажите как проследить address bar в браузерах на д7
Автор: RedPromo
Дата сообщения: 12.09.2006 11:12
mauar
Вот пример

Цитата:

TMform = class (TForm)
procedure WMNCHITTEST(var Msg: TWMNCHitTest); message WM_NCHITTEST;
private
public
end;
Var mForm: TMform;

implementation

procedure TMform.WMNCHITTEST(var Msg: TWMNCHitTest); message WM_NCHITTEST;
begin
inherited;
if (Msg.Result = HTCAPTION) then
begin
if GetAsyncKeyState(VK_LBUTTON)<0 then
begin
Self.AlphaBlendValue:=100;
Self.AlphaBlend:= True;
end
else
Self.AlphaBlend:= False;
end
else
Self.AlphaBlend:= False;
end;

Автор: Sexton
Дата сообщения: 12.09.2006 11:24
OdesitVadim, согласен.
Можно, конечно

var FormatSettings: TFormatSettings;
GetLocaleFormatSettings(LOCALE_USER_DEFAULT, FormatSettings);
if SaveDialog1.Execute then
memo1.Lines.SaveToFile('00000001_' + StringReplace(TimeToStr(Time), FormatSettings.TimeSeparator, '_', rfReplaceAll))

Но DateTimeToString мне больше нравится.
Автор: RomanTim
Дата сообщения: 12.09.2006 12:20
Sexton

Цитата:
Я к тому, что OnMouseDown (именно так, в предыдущем посте я ошибочно указал OnMouseUp) берет координаты непосредственно в момент нажатия. А если получать координаты в OnClick и OnMouseUp, то может произойти позиционирование не на ту ноду, которую хотел пользователь, а на соседнюю, так как мышь уже немного сдвинется, но визуально будет казаться, что программа ошибочно активировала не ту ноду. Вот какую точность я имею в виду.

Тут есть свой минус - если пользователь нажал мышу на одной ноде, а отпустил на другой, то по хорошему все-таки ничего не делать - что бы не было неоднозначности, а OnClick как раз такие вещи и отлавливает, а в принципе - тут кому как больше нравится, я бы появление другого окна вообще только по DblClick делал
Автор: Sexton
Дата сообщения: 12.09.2006 12:40
RomanTim, по DblClick ветка сворачивается/разварачивается. Так что лучше, например, по Ctrl+Click.
Автор: RomanTim
Дата сообщения: 12.09.2006 14:13
Sexton

Цитата:
по DblClick ветка сворачивается/разварачивается. Так что лучше, например, по Ctrl+Click

Я на ElTree обычно деревья делаю - там это выключается, а в обычном оказывается нет... Нет предела совершенству
В общем идей накидали, а человек пусть уже выбирает что ему больше нравится
Автор: relictus
Дата сообщения: 12.09.2006 14:25
Кто объяснит суть хинта:
"[Hint] filter_select.pas(16): Overriding virtual method 'TFFilter.CreateParams' has lower visibility (private) than base class 'TForm' (protected)"

Появляется после внесения в раздел private пр-ры
procedure CreateParams(var Params : TCreateParams); override;
(Delphi7)
Автор: Sexton
Дата сообщения: 12.09.2006 14:39
Английским по белому написано, что метод CreateParams находится в секции protected формы, а в потомке формы TFFilter происходит попытка "понизить" видимость метода до private. Помести CreateParams в protected TFFilter и все пройдет. А можно и просто забить на хинт.
Автор: relictus
Дата сообщения: 12.09.2006 14:55
Sexton
Что написано по-английски, мне совершенно понятно
Меня другое волнует: насколько надо прислушаться к этой подсказке, то бишь критично ли объявление этого метода в привате или же таки засунуть его в протектед? Компилер дело говорит или, как ты говоришь, "забить"?
Автор: Sexton
Дата сообщения: 12.09.2006 15:00
relictus, это же hint, а не warning. Влияет только на логику программы, как я понимаю. Если нет причин прятать этот метод, то почему бы не поместить его на законное место в protected, чтобы логику не нарушать?
Автор: relictus
Дата сообщения: 12.09.2006 15:24
Sexton, вот и мне хотелось бы знать на что влияет сей хинт..... Ну да ладно, помещу в протектед, дабы "логику не нарушать"
Автор: RomanTim
Дата сообщения: 12.09.2006 16:37
relictus
Просто тебя предупреждают, что виртуальная функция, которую потенциальный наследник класса может переопределить, окажется для него недоступной - может ты действительно хочешь так сделать, а может случайно получилось, но внимание твое на это обратили
Автор: Zver1992
Дата сообщения: 12.09.2006 17:25
Как в дельфи, используя регулярные выражения, выдернуть текст между abc'123 и 123<>abc (спец символы, важно!!!)?
Автор: SERGE_BLIZNUK
Дата сообщения: 12.09.2006 18:21
Zver1992

Цитата:
дельфи, используя регулярные выражения, выдернуть текст между abc'123 и 123<>abc

ни чего не понял - между чем и чем выдернуть текст? между abc и 123?
поясните...
для дельфей библиотека есть тут - TRegExpr - Freeware Регулярные Выражения для Delphi (Regular Expressions) Документация есть на Русском, Английском, Немецком, Французском, Испанском и Болгарском...
Автор: Zver1992
Дата сообщения: 12.09.2006 22:16
Так. SERGE_BLIZNUK, спсб за ответ.
А можно ли как нибудь в проект встрить mp3 файл? (чтобы проиграть его потом допустим)
Автор: Vetal303
Дата сообщения: 12.09.2006 23:19
Zver1992
Как понять вставить в проект?
Просто воспроизвести мп3, можно, для этого есть хотя бы тот же TMediaPlayer.
Есть и много других способов.
Автор: wader
Дата сообщения: 13.09.2006 00:22
Zver1992
Помести mp3 файл в ресурсы, а рантайме доставай.
Автор: RostY
Дата сообщения: 13.09.2006 08:56
ПОЗДРАВЛЯЮ ВСЕХ УЧАСТНИКОВ С ДНЕМ ПРОГРАММИСТА (256-Й ДЕНЬ ГОДА) !!!
Автор: dmit000
Дата сообщения: 13.09.2006 09:43
wader

Цитата:
Помести mp3 файл в ресурсы, а рантайме доставай

Подскажи пожалуйсто как и чем это сделать
Автор: ranc
Дата сообщения: 13.09.2006 09:57
RostY

-
Автор: wader
Дата сообщения: 13.09.2006 10:42
dmit000
Как пример можешь посмотреть здесь:
hxxp://www.delphiworld.narod.ru/base/wav_to_exe.html
C mp3 аналогично.

Автор: unfreqient
Дата сообщения: 13.09.2006 12:21
Подскажите как запретить в TreeView перетаскивать некоторые узлы.
На самом деле TcxDBTreeList, но важен принцип.
Автор: dmit000
Дата сообщения: 13.09.2006 14:14
wader

а как можно в файл exe запихать простой файл DBF и соответственно обращатся к нему
говоря это можно сделать. файл DBF просто разорхивируется по указанному пути а после закрытия проги он убивается

Кто знает как это сделать
Автор: wader
Дата сообщения: 13.09.2006 14:37
dmit000
Если собираешься просто сохранить DBF в любую папку,
то точно также добавляешь его в ресурсы, в потом создаешь файл и записываешь в него содержимое ресурса.
Не знаю для чего ты хочешь так сделать, но посмотри в сторону таблиц в памяти.
Их куча уже написана, в том числе и бесплатных. В RXLib есть, классика.
Скорее всего они больше подойдут к твоей задаче.

З.Ы.
Посмотри все таки hxxp://www.delphiworld.narod.ru/_files_.html
Раздел "ресуры". Должно помочь
Автор: Vetal303
Дата сообщения: 13.09.2006 14:52
dmit000
Можно [more=так]

Код: {
const WavFile:array[0..79] of byte=($52, $49, $46, $46, $48, $00, $00, $00, $57, $41, $56, $45, $66, $6D, $74, $20,
    $10, $00, $00, $00, $01, $00, $02, $00, $44, $AC, $00, $00, $10, $B1, $02, $00,
    $04, $00, $10, $00, $64, $61, $74, $61, $08, $00, $00, $00, $CB, $FF, $D1, $FF,
    $EF, $FF, $FD, $FF, $4C, $49, $53, $54, $14, $00, $00, $00, $49, $4E, $46, $4F,
    $49, $41, $52, $54, $07, $00, $00, $00, $64, $65, $66, $6F, $6C, $74, $00, $00);
var f:TFileStream;
begin
f:=TFileStream.Create('defolt.wav',fmCreate);
f.WriteBuffer(WavFile,80);
f.Free;
xxx.LoadFromFile('defolt.wav');
Автор: GTA3
Дата сообщения: 13.09.2006 16:37
может этот вопрос и не сюда относится я не знал просто куда его адресовать
Табуляция это определенное количество пробелов?

мне просто нужно написать определенною программу чтобы она сохраняла текст в определенном формате между словами что бы была табуляция вот и думаю нельзяли вместо табуляции воткнуть пробелы...и не поменяется ли формат от этого
Автор: RedPromo
Дата сообщения: 13.09.2006 16:41
Вобще табуляция это не совсем пробелы ей сооветствует код в хексе энто 09. так что думай.
Автор: Vetal303
Дата сообщения: 13.09.2006 16:59
GTA3
если для формирования сторк то CHR(9)
Автор: GTA3
Дата сообщения: 13.09.2006 17:01
Vetal303
ок попробую поюзать помощь на эту тему


Добавлено:
Vetal303
теперь такой вопрос
вот пишу код
НЕПРЕРЫВНАЯ СТРОКА
memo1.Lines.Text:='TUTDF' +chr(9)+ '1.0r' +chr(9)+ '20050701' +chr(9)+ 'S401BB000001' +chr(9)+ ''+chr(9)+ '' +z+ '' +chr(9)+ 'M3b2gGta' +chr(9)+ 'is a sample comment' +chr(13);


он длинющий
я его хотел разбить так, но ведь после каждой строки надо ставить точку с запятой,
он дает ошибку
memo1.Lines.Text:='TUTDF' +chr(9)+ '1.0r' +
chr(9)+ '20050701' +chr(9)+ 'S401BB000001' +chr(9)+
''+chr(9)+ '' +z+ '' +chr(9)+ 'M3b2gGta' +chr(9)+
'is a sample comment' +chr(13);

с помощью какого средства можно разбить а то неудобно такую длинную строку просматривать
Автор: Bonivur
Дата сообщения: 13.09.2006 20:25
GTA3

Цитата:
теперь такой вопрос
вот пишу код
НЕПРЕРЫВНАЯ СТРОКА

У меня все нормально работает и ошибки не дает. Только я так понимаю z это переменная типа string. Тогда все ОК. У тебя какую ошибку Дельфя пишет?

Добавлено:
unfreqient

Цитата:
Подскажите как запретить в TreeView перетаскивать некоторые узлы.
На самом деле TcxDBTreeList, но важен принцип.


Ставишь свойство DragMode твоего TreeView в dmAutomatic в Object Inspector'е и далее на события OnDragOver и OnDragDrop пишешь следующее:

procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
var
TargetNode,SourceNode:TTreeNode;
begin
TargetNode:=TreeView1.GetNodeAt(X,Y);
if (Sender=Source) and (TargetNode<>nil) then
begin
Accept:=true;
SourceNode:=TreeView1.Selected;
while (TargetNode.Parent<>nil) and (TargetNode<>SourceNode) do
TargetNode:=TargetNode.Parent;
if TargetNode=SourceNode then
Accept:=False;
end
else
Accept:=false;
end;

procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
TargetNode,SourceNode:TTreeNode;
begin
TargetNode:=TreeView1.GetNodeAt(X,Y);
if TargetNode<>nil then
begin
SourceNode:=TreeView1.Selected;
SourceNode.MoveTo(TargetNode,naAddChildFirst);
TargetNode.Expand(False);
TreeView1.Selected:=TargetNode;
end;
end;

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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