![]()  | 
	
 
  | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Доброго времени суток!  
		
	
		
		
		
		
		
	
		
		
	
	
	Уважаемые знатоки, подскажите как реализовать след. алгоритм. 1. Вставляю в listbox строки 2. Эти стоки разбиваю на столбцы, так как делается подобие кассового чека. В listboxe всё отображается как надо колонка под колонкой Пицца 1 32 105 Горячие закуски 1 32 105 А теперь вопрос, при печати печатается криво,, колонки съезжаются, кто нить сможет помочь дельным советом?  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Использоаптть моноширинный шрифт, например courier new. 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Luicida Console 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#4  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 Попробовал поиграться со шрифтами, не вышло, но всё равно спасибо! )))  | 
| 
		 
			 
			#5  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Спасибо всем откликнувшимся, разобрался. Вот код если кому то понадобиться! 
		
	
		
		
		
		
		
		
			Код: 
	const
  MAX_TABS = 3;
 tab = Chr(9);
var
  Tabulators: array[0..MAX_TABS] of Integer;
   nazvanie,naz:string;      //Грид2
  count:string;     //Грид2
  price:string;     //Грид2
  volume:string;
  w:integer;
begin
  Tabulators[0] := 110;
  Tabulators[1] := 30;
  Tabulators[2] := 30;
  Tabulators[3] := 30;
  Listbox1.TabWidth := 1;
  SendMessage(ListBox1.Handle, LB_SETTABSTOPS, MAX_TABS, Longint(@Tabulators));
  volume:=string(dbgrideh2.DataSource.DataSet.FieldValues['volume']);
  price:=string(dbgrideh2.DataSource.DataSet.FieldValues['price']);
  nazvanie:=dbgrideh2.DataSource.DataSet.FieldValues['nickname'];
  count:=string(dbgrideh2.DataSource.DataSet.FieldValues['count']);
  begin
  if  length(dbgrideh2.DataSource.DataSet.FieldValues['nickname']) < 30 then
  begin
naz:=PADR(nazvanie,30);
Listbox1.Items.Add(''+naz+''+tab+''+count+''+tab+''+volume+''+tab+''+price+'');
  end;
 end;Последний раз редактировалось Admin, 06.02.2011 в 17:08.  | 
| 
		 
			 
			#6  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Ну наверное можно попроще это сделать, если выставить свойства:  
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	Код: 
	ListBox.TabWidth := 20; ListBox.TabStop := True;  | 
| 
		 
			 
			#7  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Программист потому и программист, чтобы кроме него в его кодах нкто не разобрался 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	![]()  |