Вопрос № 46587: Здравствуйте
у меня такая вот проблема....
procedure TForm1.Button1Click(Sender: TObject);
var
i : Integer;
begin
for i:=0 to RichEdit1.Lines.Count-1 do
begin
if StrPos(PChar(UpperCase(Edit1.Text)),PChar(...Вопрос № 46632: Здравствуйте!
Есть несколько вопросов:
1. Мне надо чтоб моя программы при запуске была не видна. Пробовал делать form1.hide в onShow формы? не работает.
2. RichEdit -> Когда заполняю его строками последняя строка всегда остаеться ...Вопрос
№ 46647: Уважаемые эксперты!
Такой вот вопрос: Delphi7, создаю новый проект приложения. Добавляю следующие компоненты - Lable1, Label2, Label3 (:TLabel
- стандартные) Button1 (:TButton - тоже стандарт).
В обработчике TForm1.ButtonClick(Sender:TObject...Вопрос № 46649: Допустим у
меня имеется 2 кнопкb, поле edit, и DBGrid. как получить активный урл из int explorer при клике на 1 кнопке и перенести в
поле Edit, а при клике на второй кнопке перенести адрес из Edit в DBGrid?...Вопрос №
46651: Здравствуйте уважаемые эксперты! у меня две базы DBF в одной записи заглавными буквами во-второй начинается
с заглавной остальные строчные.из-за этого у меня не получается их сравнивать.программа на Delphi7. как сделать чтобы базу
переделать так, что...Вопрос № 46653: Доброго времени суток уважаемые эксперты.
Пишу простенькое приложение, с несколькими формами(3), и не знаю как сделать приожение, чтобы при открытии 2й формы - 1я
прекращала свое существование, а при открытии 3й - 2я.
Какие свойства надо проп...Вопрос № 46657: Здравствуйте уважаемые эксперты!
Очень надо рисовать трехмерные графики на Делфи7, уже с неделю ищу что-нибудь по этому поводу - не могу найти, подскажите
плиз, кто знает выход из данной ситуации )...
Вопрос № 46.587
Здравствуйте
у меня такая вот проблема....
procedure TForm1.Button1Click(Sender: TObject);
var
i : Integer;
begin
for i:=0 to RichEdit1.Lines.Count-1 do
begin
if StrPos(PChar(UpperCase(Edit1.Text)),PChar(UpperCase(RichEdit1.Lines[i])))<>nil then
begin
ShowMessage('УРЯЯ !!! Нашло !!!');
end;
end;
end;
проверяю - содержит ли строка RichEdit какуой-то текст Edit,
но если в RichEdit это написать большими буквами то не находит
вроде UpperCase поставил не помогает
Прикол в том, что если Например если в Edit вписать www а в RichEdit WwW то находит,
а если слово кирилицей написать, то не находит ццц - ЦцЦ
Отправлен: 18.06.2006, 17:24
Вопрос задал: source (статус: 1-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Ерёмин Андрей
Здравствуйте, source!
1) Зачем вы используете StrPos()? Можно ведь простой Pos() использовать. В принципе, разницы-то и нет, но вот результат...
Зачем вы туда nil-то прикрутили? Это значение вообще не подходит к результату такой функции. Да и знак меньше "<"
неуместен - номер позиции не может быть отрицательным. Перепишите условие так: "If (...) > 0 Then ...". Это
будет действительно правильно.
2) Эти стандартные функции не работают с русским алфавитом, поэтому нужно написать свои. Подробнее
>> --------- Нет правила без исключений. Правило без исключений - исключение из правил.
Отвечает: Савенко Вадим Иванович
Здравствуйте, source!
Так ведь для русских букв нужно использовать AnsiUpperCase, а UpperCase русских букв не понимает
Ответ отправил: Савенко Вадим Иванович
(статус: 2-ой класс)
Ответ отправлен: 18.06.2006, 17:35 Оценка за ответ: 5
Вопрос
№ 46.632
Здравствуйте!
Есть несколько вопросов:
1. Мне надо чтоб моя программы при запуске была не видна. Пробовал делать form1.hide в onShow формы? не работает.
2. RichEdit -> Когда заполняю его строками последняя строка всегда остаеться пустой. Можно от этой строчки как нибуть
избавиться?
(Если что подробно могу в мини форуме)
3. Как можно выводить в своей программе то что написанно в консоли.
напиример я запустил консольное приложение - мне надо скрыть окно консоли и вывести в RichEdit все что порограмма вернула.
Использую BDS 2006.
Заранее спасибо!
Отправлен: 18.06.2006, 23:31
Вопрос задал: Alexo (статус: Посетитель)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Олекса aka SoW
Здравствуйте, Alexo!
Ваш код не действует потому, что вы прячете форму, хотя она еще не тобразилась на экране. Чтобы окно пряталось при запуске,
нужно в коде проекта дописать несколько строк (см. приложение). Успеха!
Приложение:
--------- Вік живи - вік учись.
Ответ отправил: Олекса aka SoW (статус:
2-ой класс)
Ответ отправлен: 18.06.2006, 23:56
Отвечает: Злоумышленник
Здравствуйте, Alexo!
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.ShowMainForm := false;{Прячем главную форму}
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
--------- Стандарт есть легкоусвояемая форма, маскирующая присутствие или отсутствие содержания.
Ответ отправил: Злоумышленник (статус:
9-ый класс)
Ответ отправлен: 19.06.2006, 00:05 Оценка за ответ: 5 Комментарий
оценки: Спасибо!
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Alexo!
2. По-моему - это особенность отображения всех компонентов из этой серии (TMemo, TRichEdit). Можно попробовать удалять последнюю
строку. Или последний символ:
RichEdit1.SelStart := length(RichEdit1.Text) - 1;
RichEdit1.SelLength := 1;
RichEdit1.ClearSelection;
ну или что-то в этом духе. Может быть, можно сделать и по-другому - я знаю только такой способ.
3. Копайте в сторону FindWindowEx... хотя это скорее про визуальные формы, а не окна консоли. Впрочем, больше ничего посоветовать
все равно не могу.
Отвечает: Евгения
Здравствуйте, Alexo!
2. Это происходит, потому что в конце первой строки стоит перенос на другую строчку. Можно сделать так:
Перед началом использования
RichEdit1.Text:='';
Потом заполнить эту первую строчку отдельно:
Richedit1.lines[0]:='Начало:';
Потом остальные:
for i:=1 to 5 do
RichEdit1.lines.Add(inttostr(i));
Тогда в конце не будет пустой строчки.
Счастливо!
--------- Я не волшебник, я только учусь... А разве кто-то обещал, что будет легко?
Ответ отправила: Евгения (статус:
7-ой класс)
Ответ отправлен: 19.06.2006, 01:09 Оценка за ответ: 5 Комментарий
оценки: спасибо все работает!
Вопрос
№ 46.647
Уважаемые эксперты!
Такой вот вопрос: Delphi7, создаю новый проект приложения. Добавляю следующие компоненты - Lable1, Label2, Label3 (:TLabel
- стандартные) Button1 (:TButton - тоже стандарт).
В обработчике TForm1.ButtonClick(Sender:TObject) пишу см. приложение.
После компиляции при нажатии на Button возникает интересная ситуация с Label.
Если не лень, проверьте сами, это не долго.
Не могу понять почему так получается.
За объяснения заранее благодарен.
Приложение:
Отправлен: 19.06.2006, 06:49
Вопрос задал: Cyrax (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 14)
Отвечает: Савенко Вадим Иванович
Здравствуйте, Cyrax!
Может быть Вы хотели вот это получить?
При нажатии получится строка 'Abcd606162'
Приложение:
Ответ отправил: Савенко Вадим Иванович
(статус: 2-ой класс)
Ответ отправлен: 19.06.2006, 07:28 Оценка за ответ: 4
Отвечает: Маренич Владимир
Здравствуйте, Cyrax!
Даже без проверки можно сразу сказать, что Вы не совсем понимаете назначение функций Chr, Ord и организацию строк в Delphi...
Читайте больше литературы.
Замечания:
1. Ord(60) всегда будет возвращать целое число 60. Т.е. Ord(60) эквивалентно 60. Другими словами абсолютно лишняя конструкция.
2. После st:='Abcd' строка будет иметь длину 4 символа и допустимо обращение к ее символам через индекс от 1 до 4 (st[1]...st[4]).
А у Вас в цикле обращение к 60..62 символам, что должно вызвать исключение (обращение к не выделенной памяти).
Если Вы хотели получить результат '<=>d', то напишите так:
for i:=1 to 3 do st[i]:=Chr(i+59);
Здесь идет замена символов в строке.
Если Вы хотели получить результат 'Abcd<=>', то напишите так:
for i:=60 to 61 do st:=st+Chr(i);
Здесь идет добавление символов в конец строки.
Можно еще так:
SetLength(st, 7); //установка новой длины строки.
for i:=1 to 3 do st[i+4]:=Chr(i+59);
Всега помните, что строка - это миссив символов (char), т.е. похоже на объявление типа:
st: array[1..Length(st)] of char;
функция Length(st) возвращает текущую длину строки st.
Желаю удачи и творческих успехов.
Ответ отправил: Маренич Владимир
(статус: Студент)
Ответ отправлен: 20.06.2006, 11:50 Оценка за ответ: 4
Вопрос
№ 46.649
Допустим у меня имеется 2 кнопкb, поле edit, и DBGrid. как получить активный урл из int explorer при клике на 1 кнопке и
перенести в поле Edit, а при клике на второй кнопке перенести адрес из Edit в DBGrid?
Отправлен: 19.06.2006, 08:32
Вопрос задал: Ghora (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Ghora!
FindNextWnd(здесь 0 либо Application.Handle, 'Microsoft Internet Explorer');
А далее с помощью FindWindowEx() находите элемент для ввода URL на окне IE - хэндл его вы уже видите как получить.
Дерзайте!
Отвечает: chikanok
Здравствуйте, Ghora!
В приложении код модуля совершающий все эти действия,но DbGrid отображает содержимое Базы данных поэтому урл вводиться в
саму базу через запрос!
На форме :Edit1,Button1,Button2,Query1;
То Сухомлин Кирилл Владимирович : Мутная функция!
Приложение:
--------- Главное желание,а там разберёмся!
Ответ отправил: chikanok (статус:
2-ой класс)
Ответ отправлен: 19.06.2006, 23:52
Вопрос
№ 46.651
Здравствуйте уважаемые эксперты! у меня две базы DBF в одной записи заглавными буквами во-второй начинается с заглавной остальные
строчные.из-за этого у меня не получается их сравнивать.программа на Delphi7. как сделать чтобы базу переделать так, чтобы
начинались записи с заглавной а остальные были строчные?спасибо!
Отправлен: 19.06.2006, 08:54
Вопрос задал: Anatolyj (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 9)
Отвечает: Маренич Владимир
Здравствуйте, Anatolyj!
Добавте на TTable (в примере Table1) и настройте ее на таблицу, которую хотите исправить. Дальше вызовите процедуру из приложения.
Не забудьте указать имена полей. Преобразуйте только символьные поля. Numeric, Logical и Date поля преобразовывать не надо.
Удачи.
Приложение:
Ответ отправил: Маренич Владимир
(статус: Студент)
Ответ отправлен: 20.06.2006, 12:04 Оценка за ответ: 5
Вопрос
№ 46.653
Доброго времени суток уважаемые эксперты.
Пишу простенькое приложение, с несколькими формами(3), и не знаю как сделать приожение, чтобы при открытии 2й формы - 1я
прекращала свое существование, а при открытии 3й - 2я.
Какие свойства надо прописывать для этого?
Отправлен: 19.06.2006, 09:12
Вопрос задал: Serpenser (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 5)
Отвечает: Shcherbakov Anton
Здравствуйте, Serpenser!
попытайтесь так: в обработчике onCreate второй формы вы вызываете Form1.Free;
Ответ отправил: Shcherbakov Anton
(статус: 2-ой класс)
Ответ отправлен: 19.06.2006, 09:21
Отвечает: LanK
Здравствуйте, Serpenser!
Уф, один совет другого лучше... :)
Попытаюсь тоже ;) ...
Проблема в том, что Ваша 1ая форма является ГЛАВНОЙ. При её закрытии - закроется ПРИЛОЖЕНИЕ.
Поэтому совет Shcherbakov Anton - верен только для закрытия 2ой и 3ей форм.
Смотрите готовый проект в приложении:
Приложение:
--------- Пусть все будет хорошо! Давайте жить дружно! :) И будет жить еще лучше!
Ответ отправил: LanK (статус: Студент)
Ответ отправлен: 19.06.2006, 11:04
Вопрос
№ 46.657
Здравствуйте уважаемые эксперты! Очень надо рисовать трехмерные графики на Делфи7, уже с неделю ищу что-нибудь по этому поводу
- не могу найти, подскажите плиз, кто знает выход из данной ситуации )
Отправлен: 19.06.2006, 09:23
Вопрос задал: Minor (статус: 2-ой класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 8)
Отвечает: Решетник Д
Здравствуйте, Minor!
Если у Вас есть время разбираться в графических АПИ (вроде DirectX, OpenGL), то можете для первого случая начать с компонента
DelphiX, а во втором закачть очень хорошую доку по сабжу - http://www.pmg.org.ru/nehe/nehe.chm
А лучше всего (если задача не очень сложная, а просто рисовать графики), то НУЖНО рисовать через Windows GDI (на канвасе).
При этом использовать формулы преобразования 3Д в 2Д координаты. - подробно в delphiworld'e - delphiworld.narod.ru
"Существуют стандартные фомулы проецирования:
x` = x*FOV/z + xRes/2
y` = y*FOV/z + yRes/2
x`, y` - координаты искомой точки на плоскости;
x,y,z - координаты исходной точки в пространстве;
xRes,yRes - графическое разрешение экрана;
FOV - угол обзора камеры.
камера находится в (0;0;0), и направлена по оси z, такая камера называется "стандартной".
"
--------- Жизнь коротка, чтобы писать на ассемблере
Ответ отправил: Решетник Д (статус:
8-ой класс)
Ответ отправлен: 19.06.2006, 09:57 Оценка за ответ: 5 Комментарий
оценки: буду пробовать формулы проецирования
Отвечает: Харитонов Дмитрий Валентинович
Здравствуйте, Minor!
В седьмой версии компонента TeeChart вроде есть такая возможность. Могу сслыочку в приват скинуть, по понятным причинам.
Ответ отправил: Харитонов Дмитрий Валентинович
(статус: 2-ой класс)
Ответ отправлен: 19.06.2006, 10:33 Оценка за ответ: 5 Комментарий
оценки: кидай, буду рад )