Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi

Модерирует : ShIvADeSt

ShIvADeSt (20-04-2006 01:53): http://forum.ru-board.com/topic.cgi?forum=33&topic=6679#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

   

SergeBS



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
amsancho
1. Возьми инструмент, какой под рукой найдется и посмотри, сколько ресурсов твоя программа лопает, поскольку в W98 есть ограничения и на количество хэндлов, и на максимум памяти вообще, да и файловая система тоже ограничение имеет. Грубо говоря - захотел файл больше 2 ГБ - обломись, Оперативки - вроде больше 1 Гб и т.п.
2. Может помочь обновление контролов ОС (comctrl-чего-то там) - установи IE с номером побольше - он это сделает. Я например на клиенте лечил именно так. Т.е. формально нужен был всего лишь MDAC 2.7, а по факту начинало работать только после дополнительного накатывания IE5.01 и больше. Хотя программа весит не 20 Мб. Она столько со справочниками ест. И то не сразу. А на W2000/XP все сразу работает.

Всего записей: 272 | Зарегистр. 19-04-2005 | Отправлено: 10:13 28-11-2005
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pinocchio
Цитата:
дефолтная для локального меню

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

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 15:49 28-11-2005
bobsmit

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
amsancho
Пиши в личку или bob_smit@ukr.net, поговорим. Подобная проблемма решается в несколько заходов в зависимости от наличия у тебя времени. Удачи.

Всего записей: 12 | Зарегистр. 17-07-2003 | Отправлено: 18:04 28-11-2005
Pinocchio

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vserd
Не вижу я чего-то никакой связи между компонентом TMenuItem и контролами модуля ActnMenus. Так понимаю что класс TActionManager предназначен для работы визуальных компонентов обеспечивающих поддержку XP стилей и офисных элементов. Акции в этом случае выполняют функцию генераторов соответствующих наборов данных, которые пользователь воспринимает как акции. А способа реализации кода найти немогу.

Всего записей: 683 | Зарегистр. 18-11-2002 | Отправлено: 12:18 29-11-2005 | Исправлено: Pinocchio, 13:12 02-12-2005
Admin CSB

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую всех. У меня такой вопрос: есть программа которая общается с серваком в инете по HTTP протоколу. Методы GET и POST Как можно сделать, чтобы ответ на запрос я мог получать по желанию? Тоесть в некоторых случаях мне нужна возвращаемая страничка, в других - нет.  
Зараенее спасибо за помощь.

----------
Не горюй, все не так плохо, как кажется... Все гораздо хуже....

Всего записей: 505 | Зарегистр. 23-01-2005 | Отправлено: 14:37 30-11-2005
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Admin CSB
Можно ограничить получаемый RANGE в том случае, если сервер это поддерживает.
В заголовке запроса написать, например,

Цитата:
 
Range: bytes=0-10
 

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


----------
... не это главное ...

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 15:29 30-11-2005
Admin CSB

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MrZeRo

Цитата:
А если не поддерживает, можно, получив хоть что-нибудь в ответ, закрыть сокет и дальше не читать, никто ведь не заставляет считывать всю страницу.

Не в курсе как это реализовать применительено к Indy HTTP ???

----------
Не горюй, все не так плохо, как кажется... Все гораздо хуже....

Всего записей: 505 | Зарегистр. 23-01-2005 | Отправлено: 16:09 30-11-2005
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Admin CSB
На Indy HTTP нельзя (без модификации исходных текстов ), только на "чистых" сокетах.

----------
... не это главное ...

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 18:01 30-11-2005
Farkhad



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пишу программу для работы с БД MS SQL. Использую ADO.
 
В общем, мне нужно узнать как загнать connection_string в некую константу, доступ к которой будут иметь все остальные формы приложения.
 
И еще: при запуске приложения должна происходить аутентификация пользователя. После успешной аутентификации хотелось бы тоже загнать все данные пользователя (т.е. есть таблица users с полями id, name, email, phone) в глобальный ассоциативный массив или объект.
 
Не подскажете как это делается (задается глоб. константа, задается глоб. массив)?
 
Спасибо.
 
PS: с Дельфи работал очень мало, но кое-какие понятия имеются.

Всего записей: 731 | Зарегистр. 03-08-2001 | Отправлено: 18:05 30-11-2005
Admin CSB

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MrZeRo

Цитата:
На Indy HTTP нельзя (без модификации исходных текстов  ), только на "чистых" сокетах.

 
Идеи по модификации есть? А так же где почитать про реализацию такой специфической задачи на чистых сокетах?

----------
Не горюй, все не так плохо, как кажется... Все гораздо хуже....

Всего записей: 505 | Зарегистр. 23-01-2005 | Отправлено: 21:06 30-11-2005
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Admin CSB

Цитата:
Идеи по модификации есть?  

Заглянуть в файл IdHTTP.pas. Сам не модифицировал, врать не буду, но по-видимому можно это сделать, там много виртуальных методов, которые можно переопределить в своем наследнике от  TIdCustomHTTP.

Цитата:
А так же где почитать про реализацию такой специфической задачи на чистых сокетах?

Основной источник информации по протоколу HTTP -  на hxxp://www.w3c.org.
А чтобы попроще - взять любой менеджер закачки, например, RegetDX, запустить закачку и посмотреть в журнале, какие запросы он посылает, и сделать то же самое у себя. Или сниффер поставить и выловить запросы на сервер.
 
Компоненты можно брать любые - TClientSocket, TIdTCPClient, ... , какие найдешь.
 
По программированию сокетов - в поставку Delphi (по крайней мере, Delphi 7) входит пример чата, начать с изучения его работы, более подробно - в инете масса примеров.
 
Добавлено:
Farkhad
1. Создать Unit, расположить там эти константы в разделе interface, подключать его к модулям, в которых эта информация нужна.
2. Разместить константы на главной форме приложения в разделе public.
 
Для хранения параметров можно использовать класс TParams из модуля DB.pas.
 
Модуль:

Цитата:
 
unit MyUnit;
interface
var
  MyParams : TParams;
implementation
initialization
  MyParams := TParams.Create(nil);
finalization
  MyParams.Free;
end;
 


----------
... не это главное ...

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 09:34 01-12-2005
Admin CSB

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Еще идеи есть? Или может кто-нибудь знает компонент в котором реализованы такие возможности?
 
Еще вопрос: БД из Access в Interbase конвертировать тяжело? Какие есть для этого компоненты/комбинации компонентов?  
Ситуация такая - есть, грубо говоря, записная книжка в Access, ее нужно сделать сетевой. Вот, думаю написать на Делфе клиента под Интервасю.

----------
Не горюй, все не так плохо, как кажется... Все гораздо хуже....

Всего записей: 505 | Зарегистр. 23-01-2005 | Отправлено: 20:03 01-12-2005
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Admin CSB
Тебя что именно интересует, перенос данных из акцеза в Интер или создание интерфейса. если первое, то создавай точно такую же таблицу (набор таблиц) а потом напиши перебрасыватель, который будет по записи перекидывать (First Next и подобное) Сложного ничего нет, я так сам поступаю. когда задача разовая, минут несколько подожду пока все записи перегоню в нужный мне формат, а потом уже работаю. По части интерфейса, если есть код этой книжки на акцезе, то переделать запросы дело простое, а интерфейс срисуй оттуда же.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:03 02-12-2005
PowerChute



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Farkhad
Давай свое мыло, вышлю кусок исходного текста для подключения через ADO.

Всего записей: 520 | Зарегистр. 13-10-2004 | Отправлено: 06:09 02-12-2005
Admin CSB

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt
Ясно. А какие компоненты использовать для подключения к акцесовскому фалу-базе?

----------
Не горюй, все не так плохо, как кажется... Все гораздо хуже....

Всего записей: 505 | Зарегистр. 23-01-2005 | Отправлено: 09:38 02-12-2005
PVol

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет, спецы!
Может кто подскажет, где взять компоненту Animated Form для Delphi6. Она валялась в инете для Delphi5, но для 6-го не подходит.  
Что она делает: при старте и закрытии программы главная форма не просто появляется и исчезает, а делает это с использованием мультика-последовательности изменений периметра формы случайного вида.
Заранее благодарю
мыло: pvol2@yahoo.com

Всего записей: 53 | Зарегистр. 25-02-2005 | Отправлено: 11:10 02-12-2005
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PVol
Используй AnimateWindow.
Вот на скорую руку набросал:

Цитата:
 
program Project3;
 
uses
  Forms, Windows,
  Unit3 in 'Unit3.pas' {Form3};
 
{$R *.res}
 
begin
  Application.Initialize;
  Application.CreateForm(TForm3, Form3);
  AnimateWindow(Form3.Handle, 1000, AW_HOR_POSITIVE);
  AnimateWindow(Form3.Handle, 1000, AW_HOR_NEGATIVE+AW_HIDE);
  Application.Run;
end.
 


----------
... не это главное ...

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 14:30 02-12-2005 | Исправлено: MrZeRo, 14:49 02-12-2005
YurikGL



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
>Еще вопрос: БД из Access в Interbase конвертировать тяжело? Какие есть для этого  
>компоненты/комбинации компонентов?  
>Ситуация такая - есть, грубо говоря, записная книжка в Access, ее нужно сделать  
>сетевой. Вот, думаю написать на Делфе клиента под Интервасю.
 
Есть IBPump.exe
 
Кроме того, к файлу Access можно и по сети обращаться... причем нескольким пользователям.
 
>Ясно. А какие компоненты использовать для подключения к акцесовскому фалу-базе?
Вкладка ADO

Всего записей: 308 | Зарегистр. 02-09-2004 | Отправлено: 21:46 02-12-2005
chaugi



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Супер ламерский вопрос:
У меня есть форма Form1, а на ней есть элемен TMemo с название memo1. В процессе обработки данных на экран в эту memo1 выводится результат.
 
Скажите пожалуйста, как сделать так, чтобы результаты выводились не друг за другом в строчку, а чтобы в конце как бы нажимался <Enter>???
 
Т.е. при нажатии на кнопку происходит следующее

Цитата:
  for i:=1 to el_sk do
  memo1.Text:=memo1.Text+lok[i].no+' ';

мне нужно, чтобы после каждой итерации в конце нажимался какбы Ентер, чтобы всё выводилось в виде столбика.
Просто в Pascal'e это было writeln, а здесь я не знаю как.
 
Огромное спасибо.
 
Добавлено:
 
И ещё.
Например имеется 25 TEdit елементов с названиями Edit1, Edit2... можно ли как-то при помощи цыкла их значения считывать например в масив , а то вручную запарно всё это делать. Так, чтобы  

Цитата:
for i:=1 to el_sk do
  mas[i]:=StrToInt(******); где ****** это Edit с номером i
 
 

Ещё раз спасибо.

Всего записей: 321 | Зарегистр. 16-03-2002 | Отправлено: 15:39 03-12-2005 | Исправлено: chaugi, 15:48 03-12-2005
Admin CSB

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YurikGL

Цитата:
Кроме того, к файлу Access можно и по сети обращаться... причем нескольким пользователям.

 
Я с акцессом не работал, поэтому не в курсе. Просто в данном случае, когда мы пытаемся запустить с другого компа уже открытый в другом месте файл, ничего не делается...

----------
Не горюй, все не так плохо, как кажется... Все гораздо хуже....

Всего записей: 505 | Зарегистр. 23-01-2005 | Отправлено: 16:09 03-12-2005
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi
ShIvADeSt (20-04-2006 01:53): http://forum.ru-board.com/topic.cgi?forum=33&topic=6679#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru