Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.05 c
2-1236551101
bobby86
2009-03-09 01:25
2009.04.19
Перехват ошибок в Windows XP


15-1235073067
DmitryG.
2009-02-19 22:51
2009.04.19
UnZip TMemoryStream


1-1210091049
Nucer
2008-05-06 20:24
2009.04.19
TThread и OnTerminate


2-1236162484
пикассо
2009-03-04 13:28
2009.04.19
Ошибка ADO?


1-1211299976
nicestep
2008-05-20 20:12
2009.04.19
Параллельный порт. Асинхронная запись/чтение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский