Форум: "Начинающим";
Текущий архив: 2009.04.19;
Скачать: [xml.tar.bz2];
ВнизВывод чисел в TMemo ровными таблицами Найти похожие ветки
← →
Alik (2009-03-02 22:08) [0]Добрый вечер,
Необходимо выводить шестнадцатиричные числа в TMemo в виде ровной таблицы.
Чтобы столбцы не были корявыми предполагаю, что надо выводить все символы со строго определенной шириной.
Пробую выставлять св-во Memo.Font.Pitch := fpFixed,
но эти подлюги (строчки) уплывают и ровных столбцов не получается!
← →
{RASkov} © (2009-03-02 22:42) [1]шрифт выбери моноширный в мемо. Например Courier New....
← →
Fonts (2009-03-02 22:48) [2]Выбери фонт
Fixedsys
или любой другой моноширинный
http://delphimaster.net/view/2-1233240872/
← →
Fonts (2009-03-02 22:53) [3]> {RASkov} © (02.03.09 22:42) [1]
Автор написАл, что его интересует вывод в Memo, а для дисплея Courier New не является моноширинным. Он моноширинный только для принтера.
← →
{RASkov} © (2009-03-02 22:58) [4]> [3] Fonts (02.03.09 22:53)
Странно.... у меня в CodeEditor"e выбран как раз Courier New...
У тебя какой-то другой Courier New..... ну или у меня.
Но у меня данный шрифт моноширный на экране монитора....
← →
Fonts (2009-03-02 23:01) [5]> {RASkov} © (02.03.09 22:42) [1]
Прошу извинить, погорячился:(
Видимо у меня в программе (которая определяет моноширинные шрифты) какой-то глюк:(
← →
Германн © (2009-03-03 00:24) [6]
> Вывод чисел в TMemo ровными таблицами
А почему бы для такой задачи не заменить TMemo на TStringGrid с выключенной в Options "сеткой"?
TStringGrid больше соответствует "табличному" выводу данных на экран. Да и со шрифтами было бы меньше мороки.
P.S. Хотя я бы сразу выбросил (не в корзину даже, а ещё дальше вьювер HEX-файлов, в котором используется не мноширинный шрифт :)
← →
Игорь Шевченко © (2009-03-03 01:15) [7]
> А почему бы для такой задачи не заменить TMemo на TStringGrid
> с выключенной в Options "сеткой"?
Копировать неудобно
← →
Германн © (2009-03-03 01:19) [8]
> Игорь Шевченко © (03.03.09 01:15) [7]
>
>
Откуда и куда неудобно?
:)
← →
Anatoly Podgoretsky © (2009-03-03 08:47) [9]> Игорь Шевченко (03.03.2009 1:15:07) [7]
Это почему же, наоборот удобнее, можно не строками, а блоками.
← →
Игорь Шевченко © (2009-03-03 10:51) [10]Германн © (03.03.09 01:19) [8]
Anatoly Podgoretsky © (03.03.09 08:47) [9]
Неудобно копировать в clipboard из совокупности ячеек StringGrid-а по сравнению с Memo
← →
Anatoly Podgoretsky © (2009-03-03 11:11) [11]> Игорь Шевченко (03.03.2009 10:51:10) [10]
Наоборот, очень удобно, и даже не подряд
← →
Игорь Шевченко © (2009-03-03 13:28) [12]Anatoly Podgoretsky © (03.03.09 11:11) [11]
А примером поделиться ? Может, я чего не знаю, но у меня не получалось одновременно из нескольких ячеек скопировать текст в clipboard тем же способом, что и из Memo - выделить мышью, нажать Ctrl+Ins или Ctrl+C
← →
Anatoly Podgoretsky © (2009-03-03 13:40) [13]> Игорь Шевченко (03.03.2009 13:28:12) [12]
Так код писать надо.
Свойство goRangeSelect
← →
Игорь Шевченко © (2009-03-03 14:10) [14]
> Так код писать надо.
Вот написал я такой код :)unit main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
I, J: Integer;
begin
for I := 1 to StringGrid1.ColCount do
for J := 1 to StringGrid1.RowCount do
StringGrid1.Cells[I, J] := Format("%d,%d", [I, J]);
end;
end.object Form1: TForm1
Left = 0
Top = 0
Caption = "Form1"
ClientHeight = 280
ClientWidth = 426
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = "Tahoma"
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
DesignSize = (
426
280)
PixelsPerInch = 96
TextHeight = 13
object StringGrid1: TStringGrid
Left = 24
Top = 24
Width = 365
Height = 159
Anchors = [akLeft, akTop, akRight, akBottom]
TabOrder = 0
ExplicitHeight = 165
end
object Memo1: TMemo
Left = 24
Top = 204
Width = 365
Height = 57
Anchors = [akLeft, akRight, akBottom]
Lines.Strings = (
"Memo1")
TabOrder = 1
end
end
Хочу выделить часть ячеек в StringGrid (строку, допустим), нажать Ctrl+Ins, встать на Memo и нажать Shift+Ins, с тем, чтобы в memo попало содержимое выделенных ячеек.
Какой код мне нужно еще писать ? Собственные обработчики нажатия клавиш на StringGrid ?
← →
clickmaker © (2009-03-03 14:18) [15]еще и контекстную менюху придется свою писать )
← →
Anatoly Podgoretsky © (2009-03-03 17:41) [16]> clickmaker (03.03.2009 14:18:15) [15]
Ну хотя бы обработчик для Ctrl+C
← →
Игорь Шевченко © (2009-03-03 20:15) [17]Anatoly Podgoretsky © (03.03.09 17:41) [16]
> Ну хотя бы обработчик для Ctrl+C
И, насколько я понимаю, еще собственно запись в clipboard ?
← →
Anatoly Podgoretsky © (2009-03-03 21:08) [18]> Игорь Шевченко (03.03.2009 20:15:17) [17]
Не еще, а только ее.
← →
Fonts (2009-03-03 21:25) [19]Странно, что такой простой пост (Вывод чисел в TMemo ровными таблицами), вызвал столь "бурную" полемику "МАСТЕРОВ"
:(
← →
Германн © (2009-03-03 21:32) [20]Странно что "МАСТЕРА" полностью исказили суть сабжа заведя дискуссию о проблемах копирования из TStrigGrid.
))))
← →
Fonts (2009-03-03 21:39) [21]> Германн © (03.03.09 21:32) [20]
Дык и я я об том же (только другими словами)
:)
← →
Anatoly Podgoretsky © (2009-03-03 22:22) [22]Ну так умеем.
← →
Германн © (2009-03-04 00:25) [23]
> Anatoly Podgoretsky © (03.03.09 22:22) [22]
>
> Ну так умеем.
>
Кто бы сомневался, но только не я.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.04.19;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.054 c