Обсуждение программирования на Delphi в конференции ru.delphi
Re: Загадка пpогpаммеpам :)
From: Mihail Piterskiy <piter [@] pechora.org>
Vlad Filippov пишет:
VF> А ты pазве не этого хотел:
что я хотел - так это показать маленький фокус. Фокус неочевидный, ты
естественно не догадался о нем и не понял в чем он заключается, так как
не попробовал пример.
MP>> Ты пpимеp пользовал?
VF> И без этого ясно, что Timer ты "готовить" не умеешь. :-)
и без того понятно, что ты ничего не понял.
--
Отправлено через сервер Форумы [@] mail.ru - talk.mail.ru
* Origin: Talk.ru (2:5020/400)
Re: Загадка программерам
From: Mihail Piterskiy <piter [@] pechora.org>
Vladimir Tkatchenko пишет:
VT> Замени верхнюю строчку на ниже приведенную!
VT> rbOff.SetFocus; // Будешь приятно удивлен!
да я знаю :)))
Я просто решил вам предложить загадку :)
Hа мой взгляд достаточно забавный эффект. Особенно когда видишь такую
работу в приложении - очень даже удивляешься, что за фигня блин?
--
Отправлено через сервер Форумы [@] mail.ru - talk.mail.ru
* Origin: Talk.ru (2:5020/400)
Re: Загадка программерам :)
From: Mihail Piterskiy <piter [@] pechora.org>
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" <alxrie [@] sibmail.ru>
> 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" <Yura.Balyuk [@] p15.f9.n4625.z2.fidonet.org>
> а делфи - это IDE или компилер?
> просто IDE переписывалось на самом же этом языке, а вот компилер afaik -
> нет..
> на паскале..
Delphi уже давно объявлен языком. Что касается компилятора, то где-то я
читал, толи на страничке Danny Thorpe, то-ли в постингах от борландовцев,
что компилер написан на C/C++. Хотя по этому поводу могу и ошибаться.
* Origin: South Ural Network (2:5010/70)
Re: Hормальный компонент меню в стиле XP
From: "Slava Antonov" <deadbeef [@] so.yandex.ru>
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" <deadbeef [@] so.yandex.ru>
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)