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

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


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

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

Выпуск № 879
от 26.07.2007, 13:05

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


Вопрос № 95790: Здравствуйте, господа Эксперты! Существует ли возможность настроить DBGrid таким образом, чтобы его ячейки отображали по несколько строк текстовой информации, как в компонентах Memo? Заранее благодарен за ответы...
Вопрос № 95806: Уважаемые эксперты. Как в OpenDialog определить длину выбранного файла? (Delphi 7)....
Вопрос № 95852: Доброго времени суток. Подскажите, как в Delphi сделать одну из кнопок диалогового окна кнопкой по умолчанию?...

Вопрос № 95.790
Здравствуйте, господа Эксперты!

Существует ли возможность настроить DBGrid таким образом, чтобы его ячейки отображали по несколько строк текстовой информации, как в компонентах Memo?

Заранее благодарен за ответы
Отправлен: 20.07.2007, 14:24
Вопрос задал: Delph (статус: 4-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

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

Нет, но могу рекомендовать хорошие и бесплатные компоненты - EhLib 3.6c Russian version. Full source included. (версия сейчас может быть новее)

http://www.ehlib.com

---------
Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Студент)
Ответ отправлен: 20.07.2007, 15:06
Оценка за ответ: 5

Отвечает: Yumark
Здравствуйте, Delph!
попробуй это:
http://delphiworld.narod.ru/base/multiline_dbgrid.html
Ответ отправил: Yumark (статус: 1-ый класс)
Ответ отправлен: 20.07.2007, 15:35
Оценка за ответ: 5

Отвечает: Shveps
Здравствуйте, Delph!
Настроить не удастся. Можно конечно перекрыть процедуру прорисовки ячейки по событию OnDrawCell (что-то типа того, может и по другому называться) рисуя по своей программе. Можно попробовать найти в сети компонент EhLibDBGrid. Он умеет объединять ячейки в одном столбце по общему значению.
---------
Пиво ф топку !!! Водку Тоже !!!
Ответ отправил: Shveps (статус: 3-ий класс)
Ответ отправлен: 22.07.2007, 17:07


Вопрос № 95.806
Уважаемые эксперты. Как в OpenDialog определить длину выбранного файла? (Delphi 7).
Отправлен: 20.07.2007, 17:47
Вопрос задал: Борисов В.В. (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: IrviS
Здравствуйте, Борисов В.В.!procedure TForm1.BitBtn1Click(Sender: TObject);
var
f: file of Byte;
size: Longint;
S: string;
y: Integer;
begin
if OpenDialog1.Execute then
begin
AssignFile(f, OpenDialog1.FileName);
Reset(f);
try
size := FileSize(f);
S := 'File size in bytes: ' + IntToStr(size);
y := 10;
Canvas.TextOut(5, y, S);
y := y + Canvas.TextHeight(S) + 5;
S := 'Seeking halfway into file...';
Canvas.TextOut(5, y, S);

y := y + Canvas.TextHeight(S) + 5;
Seek(f, size div 2);
S := 'Position is now ' + IntToStr(FilePos(f));
Canvas.TextOut(5, y, S);
finally
CloseFile(f);
end;
end;
end;
Ответ отправил: IrviS (статус: 1-ый класс)
Ответ отправлен: 20.07.2007, 17:54

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

Возможно так:
---------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var fSize,hFile:Cardinal;
ofStr:OFSTRUCT;
fName:String;
begin
if(OpenDialog1.Execute) then
begin
fName := OpenDialog1.FileName;
hFile :=OpenFile(PChar(fName),ofStr,OF_READ);
fSize := GetFileSize(hFile,nil);
Label1.Caption := FormatFloat('#.#,# kb',fSize/1024.0);
end;

end;
------------------------
В самом компоненте нет такой функции

---------
Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Студент)
Ответ отправлен: 20.07.2007, 18:04
Оценка за ответ: 5
Комментарий оценки:
Спасибо, Виктор. Исчерпывающе, просто, вполне чётко. Очень квалифицированный ответ

Отвечает: Дмитрий С.
Здравствуйте, Борисов В.В.!
Длину??? Может размер? Есть такая функция FileSize(переменная_типа_файл)
Вот при помощи её можно определить размер файла. А "длину" - впервые слышу 8)
---------
Наши программисты самые программистые программисты!..
Ответ отправил: Дмитрий С. (статус: 3-ий класс)
Ответ отправлен: 20.07.2007, 19:46
Оценка за ответ: 3
Комментарий оценки:
Я рад, что благодаря мне Вы, Дмитрий, узнали что-то новенькое. Всегда приятно, когда из-за нас, недотёп, настоящие профи узнают что-то им ранее неизвестное.
Функцию я обязательно попробую . Просто при открытии OpenDialog можно выбрать вид листинга "Таблица", где одна из колонок как раз РАЗМЕР. Как я понмиаю, не загружая Файл, туда выбирается эта (РАЗМЕР) его характеристика. Вот это я хотел бы зафиксировать, не загружая файл.
A protos о размерах, Вы узнаете много интересного (возможно и о себе), если спросите знакомых девушек, чем пятый размер отличается от первого :-)


Вопрос № 95.852
Доброго времени суток. Подскажите, как в Delphi сделать одну из кнопок диалогового окна кнопкой по умолчанию?
Отправлен: 21.07.2007, 04:18
Вопрос задал: Elpher2006 (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Новак Александер Васильевич
Здравствуйте, Elpher2006!
Создайте кнопку и в её свойствах укажите Dfault=true, это работает только когда активный другой компонент например типа Edit, но не др, Button
Ответ отправил: Новак Александер Васильевич (статус: 1-ый класс)
Ответ отправлен: 21.07.2007, 11:40

Отвечает: din
Здравствуйте, Elpher2006!
Необходимо подключить юнит QDialogs в разделе Uses. Потом у нас заработает презагружаемый вариант функции MessageDlg из справки. По правде совсем не понятно почему это не реализовано в самом юните Dialogs. Внизу пример из справки по Delphi, жирным выделены параметры, которые указывают, какая кнопка должна быть активной по умолчанию:

if MessageDlg('Welcome to my Delphi application. Exit now?',
mtConfirmation, [mbYes, mbNo], 0, mbNo) = mrYes then
begin
MessageDlg('Exiting the Delphi application.', mtInformation,
[mbOk], 0, mbOk);
Close;
end;
end;

Удачи!

---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: din (статус: Практикант)
Ответ отправлен: 21.07.2007, 12:08


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

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

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

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

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


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


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

В избранное