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

Вниз

выравнивание в текстовом файле   Найти похожие ветки 

 
appendix ©   (2004-09-19 13:38) [0]

Подскажите как правильно организовать вывод в файл
из StringGrid. Чтоб также ровно колонки получались.

Сейчас получается так:
     
 1636,038        620,343
 1636,088        660,333        
 0,678        0,323            
 0,029        0,024          
 
кусок процедуры записи в файл:

for i := 0 to StringGrid1.RowCount-1  do
WriteLn(F," " + StringGrid1.Cells[0,i] + "        "+
                StringGrid1.Cells[1,i] + "        "+
                StringGrid1.Cells[2,i] + "        "+
                StringGrid1.Cells[3,i]);

кусок из StringGrid1DrawCell:

s := StringGrid1.Cells[ACol,ARow];
DrawText(StringGrid1.Canvas.Handle,PChar(s),length(s),Rect,DT_Right);
 
В Stringgrid"е колонки такие какие надо - ровные:
 
 1636,038        620,343
 1636,088        660,333        
    0,678          0,323            
    0,029          0,024    

Вот надо, чтоб также красиво в файл записывалось.


 
begin...end ©   (2004-09-19 13:40) [1]

Вместо пробелов вставляй символы табуляции.


 
Anatoly Podgoretsky ©   (2004-09-19 13:57) [2]

StringGrid1.Cells[0,i]:w:d


 
begin...end ©   (2004-09-19 14:00) [3]


> [2] Anatoly Podgoretsky ©   (19.09.04 13:57)

Старый добрый Паскаль сразу вспомнился... :-)))


 
GuAV ©   (2004-09-19 18:35) [4]

formatом ещё можно.


 
Anatoly Podgoretsky ©   (2004-09-19 18:36) [5]

begin...end ©   (19.09.04 14:00) [3]
А чего вспоминаться, как был Паскаль так и остался, не смотря на меркетинговые ухищрения.


 
appendix ©   (2004-09-24 19:31) [6]

Воспользовался format("%15.10s",[StringGrid1.Cells[1,i]]) +...
Всё получилось как надо.
Спасибо за подсказку.

Но так и не понял что такое
StringGrid1.Cells[0,i]:w:d

как этим пользоваться?


 
Defunct ©   (2004-09-24 19:38) [7]

appendix ©   (24.09.04 19:31) [6]

WriteLn(F, StringGrid1.Cells[0,i]:10:15, StringGrid2.Cells[1,i]:10:15);


 
Anatoly Podgoretsky ©   (2004-09-24 19:43) [8]

Для текста d не требуется, это только для чисел с плавающей запятой.


 
GuAV ©   (2004-09-24 19:56) [9]


> Но так и не понял что такое
> StringGrid1.Cells[0,i]:w:d
>
> как этим пользоваться?

WriteLn
или
Str
+
F1


 
appendix ©   (2004-09-25 19:26) [10]

Я пробовал писать
WriteLn(F, StringGrid1.Cells[0,1]:10:15);

но выходила ошибка
illegal type in Write/Writeln Statement

А вот когда я прочитал Str+F1,
то написал
WriteLn(F," ",(StringGrid1.Cells[0,i]):15,
      (StringGrid1.Cells[1,i]):15,
             (StringGrid1.Cells[2,i]):15);
и всё заработало.


 
Anatoly Podgoretsky ©   (2004-09-25 20:04) [11]

appendix ©   (25.09.04 19:26) [10]
Читать надо было две вещи - [8] и справку, в ней все подробно описано.



Страницы: 1 вся ветка

Текущий архив: 2004.10.10;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.043 c
1-1096349594
Mar gel
2004-09-28 09:33
2004.10.10
Подскажите плз, есть динамически формируемые TMenuItem


1-1096012898
AndrewH
2004-09-24 12:01
2004.10.10
Компонент для Crystal Reports 10


1-1096282504
M-Alex
2004-09-27 14:55
2004.10.10
Панель


14-1095680590
X9
2004-09-20 15:43
2004.10.10
SoftIce & XP = Troubles


14-1095837337
Romkin
2004-09-22 11:15
2004.10.10
Первый Прототип Персонального Компьютера