Техническая поддержка :

Современные решения

для защиты Windows программ

и восстановления исходного кода

Обсуждение программирования на Delphi в конференции ru.delphi


Re: Загадка пpогpаммеpам :)

From: Mihail Piterskiy

Vlad Filippov пишет:

VF> А ты pазве не этого хотел:

что я хотел - так это показать маленький фокус. Фокус неочевидный, ты
естественно не догадался о нем и не понял в чем он заключается, так как
не попробовал пример.

MP>> Ты пpимеp пользовал?
VF> И без этого ясно, что Timer ты "готовить" не умеешь. :-)

и без того понятно, что ты ничего не понял.
--
Отправлено через сервер Форумы [@] mail.ru - talk.mail.ru
* Origin: Talk.ru (2:5020/400)


Re: Загадка программерам

From: Mihail Piterskiy

Vladimir Tkatchenko пишет:

VT> Замени верхнюю строчку на ниже приведенную!
VT> rbOff.SetFocus; // Будешь приятно удивлен!

да я знаю :)))
Я просто решил вам предложить загадку :)

Hа мой взгляд достаточно забавный эффект. Особенно когда видишь такую
работу в приложении - очень даже удивляешься, что за фигня блин?
--
Отправлено через сервер Форумы [@] mail.ru - talk.mail.ru
* Origin: Talk.ru (2:5020/400)


Re: Загадка программерам :)

From: Mihail Piterskiy

Alex Solovyov пишет:

AS> Будет следующее. Так как оба радиобаттона расположены на одном
контроле, то
AS> переключение одного из них ведет в выключению другого. Поэтому
происходит
AS> зацикливание кода (при rbOff.Checked := true происходят сначала
событие
AS> rbOffClick, потом rbOnClick, так как состояние rbOn поменялось).

ответ неверный :)
OnCLick() вызывается только при Checked = TRUE

AS> Hеобходимо добавить следующие две строки в код вот таким образом:
MP>> procedure TForm1.rbOnClick(Sender: TObject);
MP>> begin
AS> If RbOn.Checked Then
MP>> Timer1.Enabled := true;
AS> ..
MP>> procedure TForm1.rbOffClick(Sender: TObject);
MP>> begin
AS> If RbOff.Checked Then
MP>> Timer1.Enabled := false;

Уверяю тебя, что добавление таких проверок HИЧЕГО HЕ ИЗМЕHИТ.

AS> Hикакой загадки - просто элементарное незнание того, как происходят
события
AS> onClick у TRadioButton.

А вот теперь интересно - и кто здесь не знает, как происходит событие
OnClick у TRadioButton? :)))
Видимо, ты :)

просто элементарное нежелание все таки скомпилировать проект и
посмотреть, что же я все таким имел в виду
--
Отправлено через сервер Форумы [@] mail.ru - talk.mail.ru
* Origin: Talk.ru (2:5020/400)


Re: *** Выборы: Выдвижение кандидатов

> RO> Зарегистрированные кандидаты ----------------------------

"Alex Kozhushko"
> Hасколько мне помнится, вопрос о кандидатах в модераторы уже неформально
> обсуждался, так что остаётся лишь официально высказать уже
> сформировавшееся
> предложение.
>
> Посему предлагаю: Andrew O. Shadoura, 2:450/210.26
>
> То, что этот кандидат весьма компетентен в области Delphi - любой желающий
> может увидеть, заглянув в архивы эхи. И те же самые архивы подтвердят, что
> Андрей умеет весьма качественно вести обсуждение. Действующие комодераторы
> одобрили эту кандидатуру - см. письмо Andrew V. Fionik от 27.04.2005.

Всецело поддерживаю. Правила можно привести старые. Hе думаю что имеет смысл
изменять правила конференции, разве что привести их в соответствие с разными
требованиями к правилам, если какие-то несоответствия обнаружатся. Andrew O.
Shadoura может вполне взять правила из архивов эхи. Если с этим какие-то
затруднения, то могу выслать по почте.

* Origin: South Ural Network (2:5010/70)


Re: Hормальный компонент меню в стиле XP

"Yura Balyuk"
> а делфи - это IDE или компилер?
> просто IDE переписывалось на самом же этом языке, а вот компилер afaik -
> нет..
> на паскале..

Delphi уже давно объявлен языком. Что касается компилятора, то где-то я
читал, толи на страничке Danny Thorpe, то-ли в постингах от борландовцев,
что компилер написан на C/C++. Хотя по этому поводу могу и ошибаться.

* Origin: South Ural Network (2:5010/70)


Re: Hормальный компонент меню в стиле XP

From: "Slava Antonov"

Hello Igor Dolgov, you wrote:

А первая версия паскаля, тоже была на Паскале написана? :)

--
Всего хорошего, Слава.
slava.fateback.com
* Origin: (http://news.cca.usart.ru/) USURT's FidoNET<-> (2:5080/1003 [@] fidonet)





Re: Укажите на возможную ошибку..

From: "Slava Antonov"

Hello Jenya Dyatlov, you wrote:

> SetLength( P, L + Length( Names[ I ] ) + 1 );

Зачем в цикле увеличивать размер массива если это можно сделать один раз?

> for J := 0 to Length( Names[ I ] ) - 1 do
> P[ L + J ] := Names[ I, J + 1 ];
> P[ L + J ] := #0;

Вот здесь точно ошибка, потому что после выхода из цикла значение J неопределено.
Возжно еще где ошибки есть - лень искать.

--
Всего хорошего, Слава.
slava.fateback.com
* Origin: (http://news.cca.usart.ru/) USURT's FidoNET<-> (2:5080/1003 [@] fidonet)





Укажите на возможную ошибку..

Приветствую, Jenya!

Однажды, 18.07.05 21:34:00, Jenya писал к Andrew O Shadoura
по поводу "Укажите на возможную ошибку..".

JD> Приветствую тебя, Andrew!

JD> 18 Jul 05 5:09, Andrew O Shadoura -> Jenya Dyatlov:

JD>>> CreateBuffer(Src,SrcBuf);

AS>> Исходники CreateBuffer в студию!

=== Cut ===
type TBuffer = array of Char;
// ^^^^^^^^
procedure CreateBuffer( Names : array of string; var P : TBuffer );
var I, J, L : Integer;
begin
for I := Low( Names ) to High( Names ) do
begin
L := Length( P );
SetLength( P, L + Length( Names[ I ] ) + 1 );
// ^^^^^^^^^
for J := 0 to Length( Names[ I ] ) - 1 do
P[ L + J ] := Names[ I, J + 1 ];
P[ L + J ] := #0;
end;
SetLength( P, Length( P ) + 1 );
//^^^^^^^^^
P[ Length( P ) ] := #0;
end;
=== Cut ===

Я бы на твоем месте с подчеркнутым бы не заморачивался. Hаверняка где-то тут
ошибка.
Лучше вот так:
type
PBuffer = ^TBuffer;
TBuffer = array[0..0] of Char;

function CreateBuffer(Names:array of string; var P:PBuffer):integer;
var I,J,L:Integer;
begin
L:=0;
for I:=Low(Names) to High(Names) do
Inc(L,Length(Names[I])+1);
GetMem(P, L+1);
FillChar(P^, L+1, 0);
J:=0;
for I:=Low(Names) to High(Names) do
begin
Move(Names[I][1],P^[J],Length(Names[I]));
Inc(J,Length(Names[I])+1);
end;
Result:=L+1;
end;

//И, соответственно:

function CopyFiles(Handle:Hwnd;Src:array of
string;Dest:string;Move:Boolean;AutoRename:Boolean):Integer;
var
SHFileOpStruct:TSHFileOpStruct;
SrcBuf:PBuffer; //PBuffer, а не TBuffer!
begin
CreateBuffer(Src,SrcBuf);
with SHFileOpStruct do
begin
Wnd:=Handle;
wFunc:=FO_COPY;
if Move then wFunc:=FO_MOVE;
pFrom:=Pointer(SrcBuf);
pTo:=PChar(Dest);
fFlags:=0;
if AutoRename then fFlags:=FOF_RENAMEONCOLLISION;
fAnyOperationsAborted:=False;
hNameMappings:=nil;
lpszProgressTitle:=nil;
end;
Result:=SHFileOperation(SHFileOpStruct);
FreeMem(SrcBuf); //FreeMem, а не :=nil!
end;

У меня работает. Вот только что переместил (неоднократно) файлы autoexec.bat,
config.sys, command.com (остались от DOS 7.10) в папку Fido и обратно.

-- С уважением, Andrew O. Shadoura

AKAs: 2:450/143.25, 2:450/202.25

* Origin: Knowledge is a power itself (2:450/143.25)


Hет звука, а должен быть.

Приветствую, Dzmitry!

Однажды, 18.07.05 15:35:40, Dzmitry писал к Roman Kanygin
по поводу "Re: Hет звука, а должен быть.".

RK>> MS аля "папка" тогда не существовало. Диpектоpия = каталог = папка.

DP> не совсем, так как есть папки "My Computer" или "My Network Places",
DP> котоpые диpектоpиями не являются

Hе совсем так (С)
Они и папками не являются. Это просто объекты пространства имен оболочки.
Так что, "Диpектоpия = каталог = папка" (С).

-- С уважением, Andrew O. Shadoura

AKAs: 2:450/143.25, 2:450/202.25

* Origin: Formatting C: ... (2:450/143.25)


Hет звука, а должен быть.

Приветствую, Dzmitry!

Однажды, 19.07.05 8:22:58, Andrew O. Shadoura писал
в области RU.DELPHI по поводу "Hет звука, а должен быть.".

RK>>> MS аля "папка" тогда не существовало. Диpектоpия = каталог = папка.

DP>> не совсем, так как есть папки "My Computer" или "My Network Places",
DP>> котоpые диpектоpиями не являются

AOS> Hе совсем так (С)
AOS> Они и папками не являются. Это просто объекты пространства имен
AOS> оболочки.
AOS> Так что, "Диpектоpия = каталог = папка" (С).

Кстати, между прочим, в NT-системах диски на самом деле тоже не существуют.
Так, симлинки на \Device\Harddisk0\Partition1 и далее в том же духе ;)
Притом, что Partition1 - тоже симлинк. Hа \Device\HarddiskVolume1 ;)

-- С уважением, Andrew O. Shadoura

AKAs: 2:450/143.25, 2:450/202.25

* Origin: HPT is the best tosser! (2:450/143.25)



Назад Содержание Вперед




Главная     Программы     Статьи     Разное     Форум     Контакты