Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.021 c
4-1094125421
HeKTO
2004-09-02 15:43
2004.10.10
Проблемы с рисованием на окнах


14-1095543110
GanibalLector
2004-09-19 01:31
2004.10.10
база примаков


1-1096211032
APXi
2004-09-26 19:03
2004.10.10
Фокус MDI формы


1-1095847401
kukuikar
2004-09-22 14:03
2004.10.10
Не работает #9 - табуляция в ListBox


3-1095068655
}|{yk
2004-09-13 13:44
2004.10.10
Array в Firebird




   Наверх