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

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


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 1055
от 05.02.2008, 12:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 440, Экспертов: 59
В номере:Вопросов: 3, Ответов: 9

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 120876: Преведствую Вас уважаемые эксперты.......помогите пожалуйста, очень срочно надо решить одну маленькую проблемку. Есть форма, на ней лежит ListBox1, RichEdit1, Edit1, у программы принцип работы как CheMax rus..........вот тока всё не в одном файле...
Вопрос № 120952: Здарвствуйте, уважаемые эксперты. Помнится в C++ есть функуция вывода точки прямо на экран. А можно ли в Delphi рисованть непосредственно на экране? И если да, то как?...
Вопрос № 120954: B Edit1 находится произвольная Фраза. В text.txt имеется неизвестное кол-во строк вида Слово1 = Слово2 Задача: По щелчку на Button1 произвести замену всех слов Фразы, соответствующих Слову1 на Слово2 соответственно. При этом заменяются не...

Вопрос № 120.876
Преведствую Вас уважаемые эксперты.......помогите пожалуйста, очень срочно надо решить одну маленькую проблемку.
Есть форма, на ней лежит ListBox1, RichEdit1, Edit1, у программы принцип работы как CheMax rus..........вот тока всё не в одном файле, а в файлах *.rtf которые лежад, там же где и программа, но в отдельной папке.
Как мне на RichEdit1 отобразить содержимое этих *.rtf файлов, просто не могу понять, как прописать путь к папке в которой они лежад.

Заранее пасиба

Приложение:

Отправлен: 30.01.2008, 16:53
Вопрос задал: Sefiros (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: BlackRaider
Здравствуйте, Sefiros!

Что касается пути...
то если они директорий лежит в тойже папке что и ехе шник то поможет:

CurrentPath := ExtractFileDir(Application.ExeName);
path_log:=CurrentPath+'LOG';

получается в итоге что если прога лежит на С в папке 111 то в path_log будет
C:111LOG

далее этот путь в richedit.

Ответ отправил: BlackRaider (статус: 2-ой класс)
Ответ отправлен: 30.01.2008, 17:00

Отвечает: Drbear
Здравствуйте, Sefiros!

1 - ExtractFileDir(Application.ExeName) + 'Ваша папка' + 'Ваш файл.rtf'

2 - ExtractFileDir(ParamStr(0)) + 'Ваша папка' + 'Ваш файл.rtf'
Ответ отправил: Drbear (статус: 6-ой класс)
Ответ отправлен: 30.01.2008, 17:37

Отвечает: Marked One
Здравствуйте, Sefiros!
Действуйте так:
ExtractFilePath(paramstr(0))+'RTF_Files';
Эта конструкция вернет адрес папки RTF_Files, которая находится в папке с вашей программой.

Приложение:

Ответ отправил: Marked One (статус: 3-ий класс)
Ответ отправлен: 30.01.2008, 20:05

Отвечает: Genia007
Здравствуйте, Sefiros!
Попробуйте следующий код, должен работать правильно.
RichEdit1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0))+'имя папкиимя файла');
Ответ отправил: Genia007 (статус: 5-ый класс)
Ответ отправлен: 01.02.2008, 12:26


Вопрос № 120.952
Здарвствуйте, уважаемые эксперты. Помнится в C++ есть функуция вывода точки прямо на экран. А можно ли в Delphi рисованть непосредственно на экране? И если да, то как?
Отправлен: 31.01.2008, 00:17
Вопрос задал: Хукаленко Дмитрий (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Raptor3
Здравствуйте, Хукаленко Дмитрий!

Вот нашел в своем старом коде -функция выводит текст прямо на "экран"

Приложение:

---------
Программист - это человек который решает проблему, о которой вы не знаете, способом который вы не понимаете

Ответ отправил: Raptor3 (статус: 4-ый класс)
Ответ отправлен: 31.01.2008, 06:16
Оценка за ответ: 4

Отвечает: Marked One
Здравствуйте, Хукаленко Дмитрий!
С экраном можно работать почти как с Canvas'ом.
1) Нужно получить глобальный контекст рисования.
2) И работать с ним.
В приложении код рисующий прямоугольник 100x100 в верхнем левом углу экрана.
Функции почти такие же, как у Canvas'а, но первый параметр - хэндл контекста рисования. То есть вместо функции TCanvas.Rectangle(X1, Y1, X2, Y2: Integer) надо использовать function Rectangle(DC: HDC; X1, Y1, X2, Y2: Integer): BOOL, где DC - хэндл контекста рисования.

Приложение:

Ответ отправил: Marked One (статус: 3-ий класс)
Ответ отправлен: 31.01.2008, 20:57
Оценка за ответ: 4

Отвечает: Genia007
Здравствуйте, Хукаленко Дмитрий!
Рисовать можно на чём угодно, хоть на любой форме, нужно только получить хэндл этой формы или экрана.
Вот процедура, которая рисует прямо на эране кружки и выводит надписи.
procedure TForm1.Timer2Timer(Sender: TObject);
var
hdcDesk: THandle;
Brush: TBrush;
X, Y: Integer;
begin
hdcDesk := GetWindowDC(GetDesktopWindow);
Brush := TBrush.Create;
Brush.Color := clRed;
SelectObject(hdcDesk, Brush.Handle);
X := Random(Screen.Width);
Y := Random(Screen.Height);
Ellipse(hdcDesk, X - 10, Y - 10,
X + 10, Y + 10);
Brush.Style :=bsClear;
TextOut(hdcDesk,x+30,y+30,'Это я!',6);
ReleaseDC(hdcDesk, GetDesktopWindow);
Brush.Free;
end;
Ответ отправил: Genia007 (статус: 5-ый класс)
Ответ отправлен: 01.02.2008, 12:25
Оценка за ответ: 4


Вопрос № 120.954
B Edit1 находится произвольная Фраза. В text.txt имеется неизвестное кол-во строк вида
Слово1 = Слово2
Задача:
По щелчку на Button1 произвести замену всех слов Фразы, соответствующих Слову1 на Слово2 соответственно. При этом заменяются не только слова соотв. первой строке, а любой из имеющихся строк в text.txt. В Edit2 вывести число замен.
И ещё: как заставить MaskEdit принимать только буквы и знаки препинания. На второй вопрос отвечать отдельно.
Отправлен: 31.01.2008, 01:10
Вопрос задала: Екатерина Ходеева (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Николай Владимирович / Н.В.
Здравствуйте, Екатерина Ходеева!
Первая программа в приложении.

Удачи!

Приложение:

Ответ отправил: Николай Владимирович / Н.В. (статус: Специалист)
Ответ отправлен: 31.01.2008, 07:25
Оценка за ответ: 5
Комментарий оценки:
Спасибо огромнейшее за как всегда, правильный ответ! И что особенно приятно, от моего любимого эксперта!

Отвечает: Coupler
Здравствуйте, Екатерина Ходеева!
Можно обработать событие OnKeyPress и самим определить, какие клавиши можно вводить:

procedure TForm1.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
begin
case key of
'a'..'z': ;
'A'..'Z': ;
'А'..'я': ;
'.', ',', ':', ';', '!', '?': ; //ничего не делаем, если клавиши "подходят"
#8: ;
else key := #0;
end;
end;
Ответ отправил: Coupler (статус: Практикант)
Ответ отправлен: 31.01.2008, 09:30
Оценка за ответ: 5
Комментарий оценки:
Спасибо большое за ответ! Я то думала, что это настаивается где-то в настройках, а всё оказалось намного проще!


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

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

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

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.70 от 17.01.2008
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное