Вниз
Скачать: 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.041 c
4-1094233172
musk
2004-09-03 21:39
2004.10.10
ширина текста-подсчет


3-1094891730
3APA3A
2004-09-11 12:35
2004.10.10
Очень медленно выполняется запрос.


14-1095432622
reticon
2004-09-17 18:50
2004.10.10
не пущает в домен...


1-1095873161
GanibalLector
2004-09-22 21:12
2004.10.10
CLSIDFromProgID


3-1095249310
stud
2004-09-15 15:55
2004.10.10
опять обновления ibdataset!




   Наверх