Alexander 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 16.07.2011
					
					
			
					 
					 
					
	
			См. документацию, 4ый пунктЦитата:Если колонки добавляются не в конец, а перемешаны с основными колонками, то необходимо вставлять колонки относительно их порядка сделования друг за другом (DdeTableColumn.Index) в таблице:  Код
// вставить колонку волатильность, чтобы она была 5-ой с начала (нумерация идет с нуля)
// все последующие колонки за волатильностью автоматически перестраивают свой порядковый номер
this.Trader.SecuritiesTable.Columns.Insert(4, DdeSecurityColumns.Volatility); 
 
			
			
			
			
		
 
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					President 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 26.07.2011
					
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
								 
							 | 
						 
					 
			
					 
					 
					
	
			Alexander См. документацию, 4ый пунктЦитата:Если колонки добавляются не в конец, а перемешаны с основными колонками, то необходимо вставлять колонки относительно их порядка сделования друг за другом (DdeTableColumn.Index) в таблице:  Код
// вставить колонку волатильность, чтобы она была 5-ой с начала (нумерация идет с нуля)
// все последующие колонки за волатильностью автоматически перестраивают свой порядковый номер
this.Trader.SecuritiesTable.Columns.Insert(4, DdeSecurityColumns.Volatility); 
   понял что это можно делать вручную. мое предложение заключается в том чтобы это происходило автоматически в момент соединения с Квиком: 1. считываются существующие заголовки колонок у таблиц 2. сравниваются с предопределенными именами колонок 3. по результатам сравнения конфигурится импорт 4. если какие-то колонки не найдены то экспешн в результате - можно будет менять порядок колонок не заботясь о перепрограммировании экспорта - при выходе новых версий больше шанс что не нужно будет квик перенастраивать - по сообщению об ("не найдена колонка XXX в таблице YYY") и можно будет сделать исправление руками в таблице без залезания в документацию (чтобы понять на каком месте она должна быть) или сброса настроек квика (через загрузку wnd-файла) важно что на скорость импорта это не влияет, а на удобство влияет положительно.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Alexander 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 26.07.2011
					
					
			
					 
					 
					
	
			Экспорт будет замедляться, т.к.: 1) если передавать данные по DDE с названием колонок - это намного медленнее работает, описывали документацию; 2) если дополнительно открывать окно редактирования таблицы и считывать данные оттуда - медленнее за счёт дополнительных действий для каждой из колонок.
  Т.е. по сути ненужная функциональность - дополнительные колонки добавляет малая часть пользователей, если поменяли порядок - вставили свои пару методов в код - всё работает. Настройки Квика от версии к версии изменяется не так сильно - самые большие изменения как раз будут в 3.2 final по сравнению с 3.1. До этого изменений было минимум и больше их пока не планируется - всё что хотели - сделали и поддержали.
  Если реализовать передачу заголовок таблиц - будет дополнительное замедление экспорта для всех пользователей ради мнимой пользы для считанных пользователей. Я против.
 
  Если кому есть что возразить - напишите, может я и не прав.
			
			
			
			
		
 
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					EugeneP 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 27.07.2011
					
					
			
					 
					 
					
	
			Ну как я понял речь шла о том, чтобы сначала через DDE вывести названия колонок таблиц, запомнить их, а уже затем стартовать DDE без названий колонок..
			
			
			
			
		
 
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Alexander 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 27.07.2011
					
					
			
					 
					 
					
	
			EugeneP Ну как я понял речь шла о том, чтобы сначала через DDE вывести названия колонок таблиц, запомнить их, а уже затем стартовать DDE без названий колонок..  Я об этом и написал - что для каждой таблицы будет вызываться лишнее действие (для того чтобы узнать где какая колонка) - за счёт этого медленнее.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					EugeneP 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 27.07.2011
					
					
			
					 
					 
					
	
			так замедление будет лишь на "этапе настройки" (пара секунд). А на скорость дальнейшей работы DDE никак не скажется.
			
			
			
			
		
 
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Alexander 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 27.07.2011
					
					
			
					 
					 
					
	
			EugeneP так замедление будет лишь на "этапе настройки" (пара секунд). А на скорость дальнейшей работы DDE никак не скажется.  При каждом старте экспорта DDE будет подниматься дополнительное окно с настройками, его чтение. На этом этапе излишняя как раз работа. Чем текущий вариант не нравится?
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					President 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 28.07.2011
					
					
			
					 
					 
					
	
			Alexander  Чем текущий вариант не нравится?
  да все нравится, [biggrin] но слишком уж много думать и понимать нужно - порог входа в S# и сложность поддержки всего комплекса в связке с квиком повышается.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Mikhail Sukhov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 29.07.2011
					
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
								 
							 | 
						 
					 
			
					 
					 
					
	
			EugeneP Ну как я понял речь шла о том, чтобы сначала через DDE вывести названия колонок таблиц, запомнить их, а уже затем стартовать DDE без названий колонок..  Не, не очень красивое решение. Мне кажется, лучше создать метод IEnumerable<DdeTableColumn> QuikTrader.GetTableColumns(DdeTable), который бы возвращал реальные настройки в Квике. Метод вызывается один раз при старте и только для тех, кто его решил вызвать (тоесть не при каждом перезапуске ДДЕ и не для всех пользователей). Далее, нужно создать метод DdeTableColumnList.Sync(IEnumerable<DdeTableColumn>) который бы синхронизовывал бы колонки. В итоге выглядело бы так: Код
var trader = new QuikTrader();
trader.SecuritiesTable.Columns.Sync(trader.Terminal.GetTableColumns(trader.SecuritiesTable)); 
 Может быть имеет сделать еще метод DdeTable.Sync, который бы внутри себя убирал детали: Код
var trader = new QuikTrader();
trader.SecuritiesTable.Sync();
trader.OrdersTable.Sync(); 
 Теперь вопрос к Президенту. Прочитайте мою подпись и ответьте, вы готовы это сделать сами и нам потом уже дать готовый код для вставки в будущие версии?
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					President 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 29.07.2011
					
					
			
					 
					 
					
	
			Mikhail Sukhov  Теперь вопрос к Президенту. Прочитайте мою подпись и ответьте, вы готовы это сделать сами и нам потом уже дать готовый код для вставки в будущие версии?
  в выходные гляну насколько мне это под силу.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 |