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

» Вопросы по Delphi (до версии 2009) - часть 5

Автор: Frodo_Torbins
Дата сообщения: 07.12.2009 21:50
snike555
Невозможно. psa1974 и delover вам об этом уже несколько постов подряд пишут.
Автор: EugeneBoss3
Дата сообщения: 08.12.2009 02:20
psa1974
Все понял, исправлюсь
Автор: andrewtishkin
Дата сообщения: 08.12.2009 02:56

Цитата:
так же как и момент вставки дискеты в флоппик, т.е никак.

Ха, а чем же плохо сообщение WM_DEVICECHANGE для отслеживания поялвения CD/DVD-диска? Или это уже неактуально для новых ОС?..
Автор: delover
Дата сообщения: 08.12.2009 06:29
snike555
Вы, простите (из аськи немного слэнг вылез), из чего Вы хотите извлечь тип? Вырианты:
1) Идентификатор типа.
2) Идентификатор переменной объявленного типа.

Вот варианты ответов:
1) ShowMessage(PTypeInfo(TForm1.ClassInfo).Name);
2) ShowMessage(PTypeInfo(Form1.ClassInfo).Name);

В результате мы будем иметь только замену Form1.ClassName. Или PTypeInfo(TypeInfo(Integer)).Name. Функцию TypeInfo можно применять только с идентификатором типа, идентификатор переменной не является идентификатором типа. Любая переменная может быть равна NIL. Но принято что:

Form1 := nil;
if not (Form1 is TForm1) then
raise Exception.Create('неправильный паскаль для оператора is');

центральным инструментом логики ООП можно считать операторы AS и IS. Мне кажется Вы немного отвлеклись от их логики и хотите противореия.

наилучшие пожелания
Автор: Delta RuBoard
Дата сообщения: 08.12.2009 07:25
Q_Q попробывал сделать процедуру при создании формы с кодом примерно следующим

Код: repeat
i:=i+1;
memo1.text := memo1.text + '1';
sleep(100);
untill i<5;
Автор: snike555
Дата сообщения: 08.12.2009 07:58
Delta RuBoard
http://www.weblibrary.biz/delphi/control/repeat
untill i<5; - тут наоборот условие
Кстати i не забудь явно объявить
Автор: greenpc
Дата сообщения: 08.12.2009 08:46
andrewtishkin
WM_DEVICECHANGE не работает при выключеном авторане
Автор: Delta RuBoard
Дата сообщения: 08.12.2009 08:47
да с обьявлением все нормально.. про условие не знал... еще вопрос такой sleep(1000) как я понял это задержка в 1 секнду. спать будет вся прога или же оно будет работать в фоне? ну тоесть если я сделаю sleep(10000000) то программа начнет работу после слипа, или она начнет работать, но слип будет спать в фоне?
Автор: snike555
Дата сообщения: 08.12.2009 09:28
Delta RuBoard


Цитата:
ну тоесть если я сделаю sleep(10000000) то программа начнет работу после слипа, или она начнет работать, но слип будет спать в фоне?


Полностью программа будет спать, начнет работать после слипа.
Автор: EugeneBoss3
Дата сообщения: 08.12.2009 09:45
Delta RuBoard
в твоем примере цикл зависнит (не объявлен начальное значение i ) или сразу же завершится, т.к. условие выхода True 1<5
[more]
Правильней было бы так:
i:= 0;
repeat
i:=i+1;
memo1.text := memo1.text + '1';
sleep(100);
untill i=4; // условие завершения цикла 4<5
[/more]
Автор: mdid
Дата сообщения: 08.12.2009 15:18
так ща соберусь с мыслями и попробую оформить то что мне надо..
в общем есть TChart..у него как бы всплывающая подсказка(сверху) на сколько я понял формируется по Series2.AddBar(val,fld,clGreen); по второму параметру...можно ли как то сделать по первому?
просто сдалал запрос движения товара по месяцам и первый параметр это количество... второй - месяц...и вверху вместо количества показывается месяц...который там наф не надо
Автор: John_White
Дата сообщения: 08.12.2009 15:47
Уважаемые...
Не могу скомпилить проект.
Вот соуры:
http://slil.ru/28312721
Предположительно версия 2002 (7.0)
Помогите выявить ошибки.
Автор: psa1974
Дата сообщения: 08.12.2009 16:46
John_White
В проекте используются сторонние модули UJDragDrop, ThemeMgr. Если их убрать, а также убрать в классе TForm1 следующие поля и методы:
FileDropSource: TUJFileDropSource;
ThemeManager1: TThemeManager;
procedure FileDropSourceStartDrag(const Shift: TShiftState; var BeginDrag: Boolean);
procedure FileDropSourceDragDrop(const Effects: TDropEffects; const DragRes: TDropResult);
то проект компилируется (при этом программа лишается драгендропа). Насчет работает или нет - не проверял

Автор: John_White
Дата сообщения: 08.12.2009 17:40
psa1974
а зачем убирать?
там помойму нарушена структура проекта
я не могу понять сам.
На дрэгэнддроп навешано много.
Автор: data man
Дата сообщения: 08.12.2009 17:57
John_White

Цитата:
Предположительно версия 2002 (7.0)
Помогите выявить ошибки.

А твою версию Delphi или сообщения компилятора об ошибках - угадывать ?

Цитата:
а зачем убирать?

Ну а как кто-то другой может скомпилировать этот проект, не имея всех этих модулей ?
Автор: John_White
Дата сообщения: 08.12.2009 18:02
data man

Цитата:
А твою версию Delphi или сообщения компилятора об ошибках - угадывать ?

уважаемый у меня 7.0

Цитата:
Ну а как кто-то другой может скомпилировать этот проект, не имея всех этих модулей ?

Могу дать готовую версию этого проекта.
У меня цель стоит сначала добиться что этот проект 3 летней давности а потом если получится обьединить с другим.
Буду благодарен если окажите помочь с компиляцией проекта.
Автор: data man
Дата сообщения: 08.12.2009 18:35
John_White

Ошибки при компиляции ?
Например, в модуле View.pas используются dxCore и dxButtons, хотя ничего из этих модулей не используется.
И что выдает компилятор ?
Автор: psa1974
Дата сообщения: 08.12.2009 18:45
John_White
Дай обозначенные модули - UJDragDrop, ThemeMgr (а они, кстати, могут потянуть за собой другие модули, поскольку могут входить в состав соотв. библиотек), тогда будем вести беседу про компиляцию проекта в целом. Без этих модулей никто не сможет собрать проект и предугадать, где же там ругается компилятор.
Автор: John_White
Дата сообщения: 08.12.2009 18:50
data man
при попытки скомпилировать проект пишет что не найдены два класса:
TUJFileDropSource
TThemeManager
если эти ошибки игнорировать то текщая ошибка имеет вид
[Fatal Error] Mainfrm.pas(7): File not found: 'UJDragDrop.dcu'



Добавлено:
psa1974
Сама прога (исходники в папке проги после установки):
http://sourceforge.net/projects/innounp/files/GUI/IsUnp%20Explorer%201.0/IsUnp10setup.exe/download
Автор: Frodo_Torbins
Дата сообщения: 08.12.2009 19:00
John_White
Нужные вам компоненты легко находятся через гугл:
http://www.torry.net/authorsmore.php?id=2859
http://www.soft-gems.net/index.php?option=com_content&task=view&id=17&Itemid=33
Автор: John_White
Дата сообщения: 08.12.2009 19:22
Frodo_Torbins
Подключил к проекту оба соурса
но пишет:
[Fatal Error] ISUnp.dpr(6): Unit Themes was compiled with a different version of UxTheme.BP_PUSHBUTTON
видимо в оригинале писали под другой версией
Автор: snike555
Дата сообщения: 08.12.2009 20:06
John_White
А все компоненты в сурсах? Просто если все в сурсах, то так ругаться не должен, как выход искать нужные компоненты в сурсах и пересобирать.
Автор: John_White
Дата сообщения: 08.12.2009 20:09
snike555
уважаемый...
я прошу помощи реальной
я написал конкретную ошибку...
По комментам я сделал вывод что проект собирали на делфях 5.
Автор: Delta RuBoard
Дата сообщения: 08.12.2009 20:16
EugeneBoss3
я же написал что с "i" у меня все нормально

snike555

Цитата:
Полностью программа будет спать, начнет работать после слипа.

блин.. я тогда вообще не понимаю как в форм апликейшн сделать программу, которая будет постоянно посылать запрос на прослушку сокета...
ну то есть реализация вот этого куска кода


Код: repeat
//Получаем данные. Процедура работает в блокирующем режиме,
//таким образом следующая строка кода не получит управление,
//пока не поступят данные от клиента.
vsize := recv(s,abuf[0],bufsize,0);
if vsize<=0 then break;
setlength(vbuf,vsize);
lstrcpyn(@vbuf[1],@abuf[0],vsize);
writeln(format('received from cleint: %s',[vbuf]));
until vbuf = 'q';
Автор: snike555
Дата сообщения: 08.12.2009 20:24
Delta RuBoard

Ну ты выдал, изобретаем велосипед?

http://docs.luksian.com/programming/delphi/prsokdelph/
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1021
http://www.realcoding.net/article/view/1833

Если поискать можно простейшие примеры исходников найти по работе с сокетами.
Автор: Frodo_Torbins
Дата сообщения: 08.12.2009 20:26
Delta RuBoard
Еще раз рекомендую вам взглянуть в сторону потоков: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1370 http://www.delphikingdom.com/asp/itemq.asp?mode=1&itemid=115
John_White
Хз, я вообще выкинул из вашего проекта менеджер тем, и все нормально скомпилировалось.
Автор: data man
Дата сообщения: 08.12.2009 20:42
John_White


Цитата:
[Fatal Error] ISUnp.dpr(6): Unit Themes was compiled with a different version of UxTheme.BP_PUSHBUTTON


Судя по этому сообщению, нужно удалить из папки проекта все файлы dcu.
Автор: John_White
Дата сообщения: 08.12.2009 20:46
Frodo_Torbins
у меня пишет что нет файла
[Fatal Error] Mainfrm.pas(7): File not found: 'ThemeMgr.dcu'
опять же
я не знаю как у вас может компилится
вот весь проект:
http://slil.ru/28314637
компилю под делфи 7.0
Автор: psa1974
Дата сообщения: 08.12.2009 21:19
John_White
Во-первых, изначально проект компилировался под Дельфи 5 (легко убедиться, взглянув на последние строки ISUnp.cfg)
Во-вторых, берем в руки модуль ThemeMgr.pas и тщательно и вдумчиво читаем строки с 50 по 53:

Цитата:
{$ifdef COMPILER_7_UP}
ATTENTION! Theme support is already included in this Borland product. Remove the Delphi Gems Theme Manager from your project to compile it correctly!
{$endif COMPILER_7_UP}

Что в переводе на русский означает:

Цитата:
ВНИМАНИЕ! Если у Вас Дельфи 7 и выше, то поддержка тем уже включена в этом продукте Borland. Для корректной сборки удалите Delphi Gems Theme Manager из своего проекта!

Поскольку у тебя Дельфи 7, тебе именно так и следует поступить:
[more=тут - как именно ]
- в файле Mainfrm.pas в предложении uses удалить модуль ThemeMgr, в описании класса TForm1 удалить поле ThemeManager1: TThemeManager;
- в файле Mainfrm.dfm удалить строки

Код: object ThemeManager1: TThemeManager
Left = 296
Top = 88
end
Автор: John_White
Дата сообщения: 08.12.2009 22:24
psa1974
Я всем уже в приват написал спасибо
Все получилось
сижу и думаю:
то ли в универах не то учат, то ли мозги не работают...
вроде знаешь - а как надо хер че получается

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Clipper 5


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