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

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


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

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

Выпуск № 957
от 18.10.2007, 08:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 460, Экспертов: 62
В номере:Вопросов: 5, Ответов: 5


Вопрос № 105149: Есть текстовый файл, в каждой строке есть данные, как вытащить данные построчно, или из определенной строки (нужны данные всей строки) для дальнейшей обработки, я использую приложенный код для указания пути к БД (он указан одной строкой), как можно и...
Вопрос № 105193: Здравствуйте! Возник такой вопрос, короче.. нужно както закрыть рисунком весь экран, причем так, чтобы даже окна TOPMOST (поверх всех окон) не были видны. И еще вопросик.. можно ли чужое окно сделать прозрачным? Если да, то как?...
Вопрос № 105208: Подскажите где можно найти литературу по написанию тулбаров для IE 5-6, и где можно узнать, где сохраняются настройки IE...
Вопрос № 105238: Здраствуйте всем! У меня возник вопроса: у меня на форме 2поля для ввиденя текста и одна кнопка. мне нужно чтобу по нажатию ктопки 2 написаные текста совмещались и посылалис на почту *****@yandex.ru ( Возможно такое?) ...
Вопрос № 105251: Добрый день, всем! У меня возник довольно глупый вопрос, но надо как-то выпутываться. Вопрос: Для того, чтобы определить редактируется ли в данное время таблица используется команда If ADOTable.modified then ...... else.... А вот как ...

Вопрос № 105.149
Есть текстовый файл, в каждой строке есть данные, как вытащить данные построчно, или из определенной строки (нужны данные всей строки) для дальнейшей обработки, я использую приложенный код для указания пути к БД (он указан одной строкой), как можно изменить код для решения моей задачи, если нефозможно то как решить проблему

Приложение:

Отправлен: 12.10.2007, 09:45
Вопрос задал: Джапаров Артем Арсенович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: sir henry
Здравствуйте, Джапаров Артем Арсенович!
Если у Вас именно INI-файл, т.е. файл со структурированой информацией, что-то типа:

[PATHS]
pathbase1=Значение параметра 1
pathbase2=значение параметра 2
...
[SECTION2]
...

то Вам нужно использовать класс TIniFile. Вот например:

Var
MyIni: TIniFile;
Begin
MyIni:=TIniFile.Create('base.ini');
puti_base:=MyIni.ReadString('PATHS', 'pathbase1', '');
If puti_base='' Then
ShowMessage('Ая-яй! забыли пути к базе прописать!');
End;

Т.е. Вы можете прочитать произвольный параметр из этого файла, который находится в какой-либо секции. Секции указаны в квадратных скобках.
Если же файл не структурирован, то его необходимо структурировать, как указано выше, иначе из обычного текстового файла Вы можете читать только все строки подряд, пока не дойдёте до нужной.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 12.10.2007, 13:14


Вопрос № 105.193
Здравствуйте! Возник такой вопрос, короче.. нужно както закрыть рисунком весь экран, причем так, чтобы даже окна TOPMOST (поверх всех окон) не были видны.
И еще вопросик.. можно ли чужое окно сделать прозрачным? Если да, то как?
Отправлен: 12.10.2007, 15:16
Вопрос задал: Red Spirit (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 10)

Отвечает: Denisss

Здравствуйте, Red Spirit!

Первую задачу можно решить приблизительно так:
Устанавливаете своему окну TOPMOST [SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOREPOSITION or SWP_NOSIZE);], разворачиваете на весь экран и отрисовываете на нем свой рисунок. Теперь отлавливаете потерю фокуса окна. Также можно отменять установленный TOPMOST других окон, чтобы Ваше всегда оставалось поверх всех.
Например, можно сделать так:

// ApplicationEvents1.OnIdle
procedure TForm1.ApplicationEvents1Idle(Sender: TObject;
  var Done: Boolean);
begin
  if not
(GetForegroundWindow = Handle) then
  begin

    SetWindowPos(GetForegroundWindow, HWND_BOTTOM, 0, 0, 0, 0,
      SWP_NOREPOSITION or SWP_NOSIZE);
    SetForegroundWindow(Handle);
  end;
end;



В приложении находится пример функции, устанавливающей прозрачность любому окну.

Пример использования функции:

// Событие TrackBar1.OnChange
// Диапазон TrackBar установлен от 0 (Min) до 255 (Max)
// Значение по умолчанию (Position) - 255

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  SetTransparency(Handle, TrackBar1.Position);
end;

Удачи!

Приложение:

Ответ отправил: Denisss (статус: Профессионал)
Россия, Москва
----
Ответ отправлен: 12.10.2007, 19:57
Оценка за ответ: 5


Вопрос № 105.208
Подскажите где можно найти литературу по написанию тулбаров для IE 5-6, и где можно узнать, где сохраняются настройки IE
Отправлен: 12.10.2007, 16:29
Вопрос задал: Woodli (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Denisss

Здравствуйте, Woodli!

Можно почитать про создание тулбаров на сайте Microsoft: ссылка (на английском).

Также Вам будет интересна статья про написание панелей (toolbar) IE на Delphi: ссылка.

Про настройки можно почитать в ответах на вопрос № 95707 (настройки хранятся в [HKEY_CURRENT_USERSoftwareMicrosoftInternet Explorer]).

Также несколько полезных настроек IE можно найти в этом собрании статей по IE: ссылка.

В приложении - один из наиболее часто встречающихся примеров создания кнопки в IE средствами Delphi.

Удачи!

Приложение:

Ответ отправил: Denisss (статус: Профессионал)
Россия, Москва
----
Ответ отправлен: 12.10.2007, 18:37
Оценка за ответ: 5
Комментарий оценки:
Спасибо вы очень мне помогли


Вопрос № 105.238
Здраствуйте всем! У меня возник вопроса: у меня на форме 2поля для ввиденя текста и одна кнопка. мне нужно чтобу по нажатию ктопки 2 написаные текста совмещались и посылалис на почту *****@yandex.ru ( Возможно такое?)
Отправлен: 12.10.2007, 19:58
Вопрос задал: Мокроусов Алексей Сергеевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 7)

Отвечает: Gh0stik
Здравствуйте, Мокроусов Алексей Сергеевич!

Для решения данной задачи рекомендую Вам использовать такие компоненты как IdSMTP (вкладка IndyClients) и IdMessage (вкладка IndyMisc).

Соответсвенно код обработчика нажатия кнопки должен быть примерно таким:
procedure TForm1.Button1Click(Sender: TObject);
begin
//заполняем свойства компонента, необходимые для отправки
with IdSMTP1 do
begin
Host:='smtp.mail.ru'; //сервер исходящих сообщений
Port:=2525; //порт
Username:='my_mail'; //логин почтового ящика
Password:='my_password'; //пароль
//аутентификация - если нужна
AuthenticationType:=atLogin
//AuthenticationType:=atNone; // если нет
end;
//создаем само сообщение
with IdMessage1 do
begin
Subject:='Test message'; //тема сообщения
Recipients.EMailAddresses:='mailbox_1@mail.ru,mailbox_2@mail.ru'; //адреса получателей
From.Address:='my_mail@mail.ru'; //адрес отправителя
ListBox1.Items.AddStrings(ListBox2.Items); //строка в которой мы сливаем текст из двух полей в одно
Body:=ListBox1.Items;
end;
// отправляем письмо
try
IdSMTP1.Connect();
if IdSMTP1.Connected then
begin
IdSMTP1.Send(IdMessage1);
IdSMTP1.Disconnect;
end;
except
end;
end;


Полный код программы смотрите в приложении, а полные исходники программы прицепляю к ответу.
Также взгляните на такую статейку.

Good Luck!!!

Приложение:

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.

Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 12.10.2007, 23:47
Оценка за ответ: 4
Комментарий оценки:
спасибки большое, скажите ещё только smtp.mail.ru у яндекса или у маил.ру где найти ? И я просил поля для ввода текста( тоесть edit)


Вопрос № 105.251
Добрый день, всем!
У меня возник довольно глупый вопрос, но надо как-то выпутываться.
Вопрос: Для того, чтобы определить редактируется ли в данное время таблица используется команда
If ADOTable.modified then ...... else....
А вот как определить режим, вставлена ли новая строка в данный момент? (Т.е ADOTable.insert;)
Отправлен: 12.10.2007, 22:22
Вопрос задал: Alex446 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Виктор Пырлик
Здравствуйте, Alex446!

Это в случае, если происходят изменения в таблице, или эти изменения не зафиксированы, например, методом Post.


if(ADOTable1.State in[dsInsert,dsEdit]) then
{выполняем действия если таблица в режиме вставки или редактирования}
if not(ADOTable1.State in[dsInsert,dsEdit]) then
{выполняем действия если таблица НЕ в режиме вставки или редактирования}


---------
Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Практикант)
Ответ отправлен: 12.10.2007, 22:48
Оценка за ответ: 5
Комментарий оценки:
Виктор, спасибо огромное за ответ, действительно все нормально заработало. Иначе мне просто приходилось принудительно переводить таблицу в режим редактирования командой: ADOTable.Edit; а потом ее постить: ADOTable.Post; Теперь все гораздо проще, и самое главное правильнее.


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

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

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

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

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


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


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

В избранное