Вопрос № 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 (статус: 1-ый класс)
Ответ отправлен: 20.07.2007, 15:35 Оценка за ответ: 5
Отвечает: Shveps
Здравствуйте, Delph!
Настроить не удастся. Можно конечно перекрыть процедуру прорисовки ячейки по событию OnDrawCell (что-то типа того, может и по другому называться) рисуя по своей программе. Можно попробовать найти в сети компонент EhLibDBGrid. Он умеет объединять ячейки в одном столбце по общему значению.
--------- Пиво ф топку !!! Водку Тоже !!!
Ответ отправил: Shveps (статус: 3-ий класс)
Ответ отправлен: 22.07.2007, 17:07
Вопрос № 95.806
Уважаемые эксперты. Как в OpenDialog определить длину выбранного файла? (Delphi 7).
Отвечает: 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
Отвечает: 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