Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C++ Builder / Delphi

Выпуск № 198
от 06.08.2003, 13:50

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 825
Отправлено ответов: 1512
Активность: 183.2 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Дима Мусиенко
Статус: Опытный
Общий рейтинг: 109.36
[Подробней >>]
ART_43
Статус: Доверительный
Общий рейтинг: 124.5
[Подробней >>]
kvINT
Статус: Профессиональный
Общий рейтинг: 104.3
Телефон: (34316)2-31-45
[Подробней >>]
 
Marouder
Статус: Опытный
Общий рейтинг: 139.91
URL: Первый Хабаровский Форум
Телефон: (4212) 21-93-65
[Подробней >>]
baldr
Статус: Профессиональный
Общий рейтинг: 111.98
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
Vdr
Статус: Опытный
Общий рейтинг: 112.27
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 817. Здравствуйте, эксперты !!! 1) Мне нужно из базы выбрать все Urlы, которые начинаются на www, но ни ... (ответов: 4)
Вопрос № 818. Здравствуйте, эксперты !!! 1) Делаю поиск в БД. Если включен переключать, то происходит поиск в базе... (ответов: 6)
Вопрос № 819. Здравствуйте. Вопрос: Как сделать размер Delphi-программ намного меньше, то бишь удалить практически... (ответов: 3)

Вопросов: 3, ответов: 13


 Вопрос № 817


Здравствуйте, эксперты !!!
1) Мне нужно из базы выбрать все Urlы, которые
начинаются на www, но ни чего не находиться, т.е.
набор данных пуст. Может я что-то не то делаю ?
Будьте добры, ткните носом !!!

Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('SELECT * FROM BaseURLBase.db');
Query1.SQL.Add(' WHERE Url LIKE "www"');
Query1.Open;

2) Что нужно сделать чтобы программы писанные на Делфе
нормально отображались при любых разрешения экрана ???
Я пишу программы под 800Х600, но а если эту прогу
запустить под 1024Х768, то это просто ужас, а если
наоборот, то вообще кошмар :-).
Всем заранее спасибо. С уважением SATAN aka NAPALM.



Вопрос отправлен: 01.08.2003, 14:14
Отправитель: SATAN aka NAPALM

[Следующий вопрос >>] [Список вопросов]

Отвечает Дима Мусиенко

Доброе время суток, SATAN aka NAPALM!
А задавай размеры и координаты контролов не в инспекторе объектов, а в RunTime.


Приложение:

Ответ отправлен: 01.08.2003, 15:31
Отправитель: Дима Мусиенко


Отвечает ART_43

Здравствуйте, SATAN aka NAPALM!
1)
Query1.SQL.Add(' WHERE Url LIKE "www%"');
%-любое количество символов
_-один символ
2)Недавно где-то пробегала статья на эту теме. поищи на Мастаке, Королевстве и подобных


Ответ отправлен: 01.08.2003, 15:29
Отправитель: ART_43


Отвечает kvINT

Доброе время суток, SATAN aka NAPALM!
Напиши LIKE 'www%'

Ответ отправлен: 03.08.2003, 09:46
Отправитель: kvINT


Отвечает Marouder

Приветствую Вас, SATAN aka NAPALM!
2. Есть такой объект "Screen". Типа:
if Screen.Width=800 then begin
Form1.Width:=500;
ListView1.Width:=300;
end;

Ответ отправлен: 02.08.2003, 11:15
Отправитель: Marouder


 Вопрос № 818

Здравствуйте, эксперты !!!
1) Делаю поиск в БД. Если включен переключать,
то происходит поиск в базе на основании текста
в редакторе edtCoding, но выдается ошибка на
пареметры (loPartialKey, loCaseinsensitive).
Неужели TQuery таких параметров "не знает" ???
С TTable проблем нет.

If rbCode.Checked
Then
Query1.Locate('Coding', edtCoding.Text, [loPartialKey]);

2) Ни как не могу понять при каких условия
возникает ошибка "List index out of bounds",
вроде так ??? И из Инета принес исходник с такой
ошибкой, да теперь и у меня выскакивать начала.
4) Почему не обрабатываются нажатия кнопок сообщения
Application.MessageBox ??? Я пишу так и ничего.

Application.MessageBox('QQQ', 'WWW', MB_YESNOCANCEL);
If ModalResult = idYes Then ShowMessage('Нажато Да')
Else
If ModalResult = idNo Then ShowMessage('Нажато Нет')
Else
If ModalResult = idCancel Then ShowMessage('Нажата Отмена');

Всем заранее спасибо. С уважением SATAN aka NAPALM.



Вопрос отправлен: 01.08.2003, 14:14
Отправитель: SATAN aka NAPALM

[Следующий вопрос >>] [Список вопросов]

Отвечает baldr

Приветствую Вас, SATAN aka NAPALM!
2) Да, это очень нехорошая ошибка... Слетают индексы. Это иногда происходит, если ты пытаешься редактировать базу из двух программ одновременно. Или на другом компе... У меня она была когда я двумя прогами по сети :) редактировал одну paradox-базу... BDE конкретно глючит. Плохая это ошибка... :(
Я решил ее только использованием SQL-запросов и исключением всех TTable из программы.

Ответ отправлен: 01.08.2003, 16:14
Отправитель: baldr


Отвечает Дима Мусиенко

Приветствую Вас, SATAN aka NAPALM!
4) Нет под рукой дельфи, давно я не пишу на ней :(
могу сильно ошибаться, но
может надо так:


Приложение:

Ответ отправлен: 01.08.2003, 15:35
Отправитель: Дима Мусиенко


Отвечает ART_43

Доброе время суток, SATAN aka NAPALM!
4)
Все обрабатывается. Просто ты берешь ModalResult у своей формы а не у диалога. А правильно будет вот так:
ModalResult1:=Application.MessageBox('QQQ', 'WWW', MB_YESNOCANCEL);
If ModalResult1 = idYes Then ShowMessage('Нажато Да')
Else
If ModalResult1 = idNo Then ShowMessage('Нажато Нет')
Else
If ModalResult1 = idCancel Then ShowMessage('Нажата Отмена');

Ответ отправлен: 01.08.2003, 15:38
Отправитель: ART_43


Отвечает kvINT

Приветствую Вас, SATAN aka NAPALM!
2) Очевидно из перевода - индекс вне границ. Т.е. количество параметров, которые ты пытаешься передать не соответствует объявленному.
4) If ModalResult = mrNo

Ответ отправлен: 03.08.2003, 09:45
Отправитель: kvINT


Отвечает Marouder

Добрый день, SATAN aka NAPALM!
2. List index out of bounds возникает, когда получается неверный ItemIndex для ListBox. Например, элементов 5 (индексы от 0 до 4), а индекс становится равен трем.
4. ModalResult вообще-то относится к форме. Надо писать так:
if Application.MessageBox('QQQ', 'WWW', MB_YESNOCANCEL)=IDYES Then ShowMessage('Нажато Да');
З.Ы. А почему у тебя после второго вопроса четвертый идет?

Ответ отправлен: 02.08.2003, 11:15
Отправитель: Marouder


Отвечает Vdr

Добрый день, SATAN aka NAPALM!
2) помоему это исключение поднимаеться когда есть попытка удаления или редактирования на пустой базе (результат запроса нулевой)


4) во-первых в этой функции вроде 4 параметра
Правильно так: MessageBox(0,"qqq","www",MB_YESNOCANCEL);
во-вторых: попробуй так:
switch(MessageBox(0,"qqq","www",MB_YESNO))
{
case mrYes:ShowMessage('Нажато Да');break;
case mrCancel:ShowMessage('Нажата Отмена');break;
case mrNo:ShowMessage('Нажато Нет');break;
default:
}
Удачи!!!

Ответ отправлен: 02.08.2003, 11:21
Отправитель: Vdr


 Вопрос № 819

Здравствуйте.
Вопрос: Как сделать размер Delphi-программ намного меньше, то бишь удалить практически 90% кода, который лежит там мертвым грузом (например, пустая форма в Delphi5 - 300 кб)?
Также мне сказали, что удалить лишний код из программы можно в С++ Builder'е, а вот каким образом???
Заранее благодарен.



Вопрос отправлен: 03.08.2003, 12:02
Отправитель: NKid

[Следующий вопрос >>] [Список вопросов]

Отвечает Дима Мусиенко

Добрый день, NKid!
Настоятельно рекомендую изучать Win API.
- код программ будет намного меньше
- станет понятна работа win-приложения и др. вещей
- и вообще, программист должен уметь работат с Win API

Ответ отправлен: 05.08.2003, 10:20
Отправитель: Дима Мусиенко


Отвечает baldr

Приветствую Вас, NKid!
Посмотри в настройках проекта - линковать все библиотеки к проекту. Delphi под рукой нет, так что точно не скажу. Но учти, что если ты все-таки используешь VCL-компоненты, то твоя прога будет работать только на тех компах, где установлен Delphi или Builder. Иначе придется все эти библиотеки таскать с прогой. Что, сам понимаешь, исключает твой вопрос. Можно писать на API. Тогда таких проблем не будет. Но на API лучше всего писать на Visual C++. IMHO.

Ответ отправлен: 04.08.2003, 12:00
Отправитель: baldr


Отвечает Marouder

Добрый день, NKid!
Слышал о каких-то библиотеках KOL и MCK, позволяющих уменьшить размер проги даже при использовании форм до 20kb - но сам их не видел.
Еще один вариант - изучать WINAPI.


Ответ отправлен: 04.08.2003, 03:56
Отправитель: Marouder



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (36)
C / C++ (24)
Perl (3)
Builder / Delphi (19)
Pascal (23)
Basic / VBA (12)
Java / JavaScript (12)
PHP (10)
Криптография (9)
WinAPI (14)
Пользователю
Windows 95/98/Me (48)
Windows NT/2000/XP (53)
"Железо" (42)
Поиск информации (28)
Администратору
Windows NT/2000/XP (29)
Linux / Unix (11)
Юристу
Гражданское право (10)
Семейное право (6)
Трудовое право (7)
КоАП (5)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное