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

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


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

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

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

Выпуск № 375
от 04.02.2006, 04:24

Администратор:Калашников О.А.
В рассылке:Подписчиков: 249, Экспертов: 57
В номере:Вопросов: 2, Ответов: 8


Вопрос № 34335: Вопроса два. 1. На форма есть таблица TStringGrid; По-умолчанию в каждой ячейке строка выровнена по левому краю. Как выровнять по правому, по центру? 2. Требуется перенести содержимое в текстовый файл F: TextFile но так, чтобы сохранилось выравни...
Вопрос № 34357: Здравствуйте уважаемые эксперты. У меня есть небольшой вопрос. При выводе стандартного диалога, выводяться кнопки с англ. надписями. Можно ли сделать чтобы в диалоге были русские кнопки "Да", "Нет". Как это реализоват...

Вопрос № 34.335
Вопроса два. 1. На форма есть таблица TStringGrid; По-умолчанию в каждой ячейке строка выровнена по левому краю. Как выровнять по правому, по центру?
2. Требуется перенести содержимое в текстовый файл F: TextFile но так, чтобы сохранилось выравнивание по-столбцам. Я пытался использовать функцию Format:
Const F6: string='%11s %11s %11s %11s %11s ‘;
Var F: TextFile;
Writeln(F,Format(F6,[StrGr.Cells[0,1],StrGr.Cells[0,2],StrGr.Cells[0,3],StrGr.Cells[0,4],StrGr.Cells[0,5]);
Столбцы получаются «кривые».
Отправлен: 29.01.2006, 07:21
Вопрос задал: Виктор Б. (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Schmak
Здравствуйте, Виктор Б.!
2)D приложении привожу пример кода. Сначала находим максимальную по длине строку, запоминаем её длину и прибавляем к ней единицу. Затем выводим полученные результаты в файл. Каждая ячейка будет занимать длину максимальной строки, этим достигается вид столбиков одинаковой ширины. Можно немного усовершенствовать код и получить столбцы разной ширины.

Приложение:

---------
Не всё то Windows, что висит!

Ответ отправил: Schmak (статус: Практикант)
Отправлен: 29.01.2006, 11:08
Оценка за ответ: 4


Вопрос № 34.357
Здравствуйте уважаемые эксперты.
У меня есть небольшой вопрос.

При выводе стандартного диалога, выводяться кнопки с англ. надписями. Можно ли сделать чтобы в диалоге были русские кнопки "Да", "Нет". Как это реализовать?

Использую так... ниже код.

Приложение:

Отправлен: 29.01.2006, 17:05
Вопрос задал: Пепеляев Александр Павлович (статус: Посетитель)
Всего ответов: 7
Мини-форум вопроса >>> (сообщений: 6)

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Пепеляев Александр Павлович!

Попробуйте использовать метод объекта Application:
Application.MessageBox() - кажется так (нет в данный момент под рукой Делфей)

Успехов;)
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 29.01.2006, 17:11
Оценка за ответ: 4
Комментарий оценки:
Точку здесь по моему не надо...

Отвечает: Ерёмин Андрей
Здравствуйте, Пепеляев Александр Павлович!
Да, можно, просто нужно немного исхитриться:

procedure TForm1.Button1Click(Sender: TObject);
var F: TForm; I,Result: Integer;
begin
F:=CreateMessageDialog('Выйти из программы?',mtConfirmation,[mbYes,mbNo]);
for I:=0 to F.ControlCount-1 do
if F.Controls[I].ClassName = 'TButton' then
begin
if (F.Controls[I] as TButton).Caption = '&Yes' then

(F.Controls[I] as TButton).Caption := '&Да';
if (F.Controls[I] as TButton).Caption = '&No' then
(F.Controls[I] as TButton).Caption := '&Нет';
end;
Result:=F.ShowModal;
end;


Для остальных кнопок сделайте по аналогии. Нажатая кнопка будет в переменной Result.
---------
Работа - не волк, а произведение силы на расстояние!
Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 29.01.2006, 17:18
Оценка за ответ: 4

Отвечает: Slava
Здравствуйте, Пепеляев Александр Павлович!
Используйте следующий код:

var otv:word;
begin
otv := MessageBox(handle,PChar('Ваше сообщение'+#13#10), PChar('Заголовок сообщения'), MB_YESNO+MB_DEFBUTTON1+MB_ICONQUESTION);
if otv=IDYES
then ;
if otv=IDNO
then ;
Ответ отправил: Slava (статус: 9-ый класс)
Отправлен: 29.01.2006, 17:18
Оценка за ответ: 5
Комментарий оценки:
Попробовал, получилось...

Отвечает: sir henry
Здравствуйте, Пепеляев Александр Павлович!
Да, можно. Для этого надо использовать диалог винды, а не Дельфи. Вот он:
MessageBox(0, 'Текст сообщения','Текст заголовка', Опции_где_указываются_кнопки_и_иконки);
Какие существуют опции - пожалуйста посмотрите в хелпе, их довольно много.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 29.01.2006, 18:16

Отвечает: nimoid
Здравствуйте, Пепеляев Александр Павлович!
Еще можно так:

case Application.MessageBox('Текст', 'Заголовок', MB_ICONQUESTION + MB_YESNO) of
6: begin {Да}; end;
7: begin {Нет}; end;
end;

или, что равносильно, так:

case Application.MessageBox('Текст',' Заголовок', 36) of
6: begin {Да}; end;
7: begin {Нет}; end;
end;

Для быстрого создания диалоговых окон типа MessageBox и MessageDlg есть удобная утилитка MessagesCreator. Если интересно, можешь качнуть ее здесь - _http://poleznoe.narod.ru/programs/messagescreator/index.htm.
---------
Пишем баги на любые патчи :-]
Ответ отправил: nimoid (статус: 7-ой класс)
Отправлен: 29.01.2006, 18:55

Отвечает: Меркулов Алексей
Здравствуйте, Пепеляев Александр Павлович! Самый простой на мой взгляд вариант
создать форму поместиь на неё две BitBtn (у одной ModalResult=mrOk, у второй mrCancel) см. прилжение

Приложение:

Ответ отправил: Меркулов Алексей (статус: 3-ий класс)
Отправлен: 29.01.2006, 22:53

Отвечает: REFERI
Здравствуйте, Пепеляев Александр Павлович!
Пример:
Диалог-компонент с кнопками Да, Нет, Отмена - естественно надписи можно сделать какие угодно.

Приложение:

---------
Не судите, да не судимы будете...

Ответ отправил: REFERI (статус: Студент)
Отправлен: 30.01.2006, 00:02


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

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

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

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

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


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


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное