Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.19;
Скачать: CL | DM;

Вниз

Вывод чисел в 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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.02 c
15-1235073067
DmitryG.
2009-02-19 22:51
2009.04.19
UnZip TMemoryStream


15-1234906202
Юрий
2009-02-18 00:30
2009.04.19
С днем рождения ! 18 февраля 2009 среда


2-1235826463
Nazarius
2009-02-28 16:07
2009.04.19
как в memo написать в определенную строчку


2-1236008804
Alexey
2009-03-02 18:46
2009.04.19
Изменение Canvas в TImage с загруженным JPEG


2-1236238837
EWGhack
2009-03-05 10:40
2009.04.19
Хочу написать прогу но незнаю с чего начать