Чтение и вывод сделок из архива Гидры
Atom Ответить
19.05.2012


Здравствуйте!
Я изучаю C# и библиотеку S#, до этого имел дело лишь с Бейсиком и Паскалем в пределах университетского курса. Для самообучения решил написать программу, которая берёт из архива Гидры котировки ценной бумаги и выводит их в таблицу. Проще говоря, решил сделать программу-аналог окна Гидры, которое в исходниках называется "TradesWindow.xaml". В процессе написаня я столкнулся с двумя трудностями:
1)Привязку данных к GridViewColumn удаётся осуществить только с помощью вставки кода DisplayMemberBinding="{Binding Path=Id}" в окно редактора XAML. А как сделать это с помощью средств Visual Studio (в разделе DataContext пусто)?
2)При отладке компилятор пишет:
Ошибка 2 Требуется определение типа или пространства имен, либо признак конца файла
Ошибка 3 Элемент "storage" не существует в текущем контексте.
Ошибка 4 Элемент "security" не существует в текущем контексте.
Ошибка 1 Требуется "}"

Вот исходный код:
Код

namespace Sdelki
{
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Windows;
    using System.Xml.Linq;
    using System.Windows.Forms;

    using Ecng.Common;
    using Ecng.Interop;
    using Ecng.Serialization;
    
    using StockSharp.BusinessEntities;
    using StockSharp.Algo.Storages;
   
    using Microsoft.Win32;
    using MessageBox = Microsoft.Windows.Controls.MessageBox;

    public partial class MainWindow
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        //Указываем путь к базе данных
        private void _Fail_Click(object sender, RoutedEventArgs e)
        {
            var dlg = new FolderBrowserDialog();

            if (!_Baza.Text.IsEmpty())
                dlg.SelectedPath = _Baza.Text;

            if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                _Baza.Text = dlg.SelectedPath;
            }
        }

        //Выводим сделки в таблицу
        private void _Sdelki(object sender, RoutedEventArgs e)
        {

            //Проверяем, указан ли путь к базе данных
            if (_Baza.Text.IsEmpty() || !Directory.Exists(_Baza.Text))
            {
                MessageBox.Show(this, "Неправильный путь.");
                return;
            }

            // Создаем инструмент, который будем выводить в таблицу
            var security = new Security
            {
                Id = "RIU9@RTS",
                Code = "RIU9",
                Name = "RTS-9.09",
                MinStepSize = 5,
                MinStepPrice = 2,
                Exchange = Exchange.Test,
            };

            // Создаём хранилище, через которое будет производиться доступ к тиковой 
            // и котировочной базе данных
            var storage = new TradingStorage(new InMemoryStorage())
            {
                BasePath = _Baza.Text
            };

          //Ошибка 1   
          var tradeStorage = storage.GetTradeStorage(security);

            //Выводим сделки в таблицу
          private void FindedTrades_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
            {

            //Ошибка 3 и Ошибка 4  
            FindedTrades.ItemsSource = storage.GetTradeStorage(security, _Baza.Text)
                      .Load();  
            }
        }
    }
// Ошибка 2
} 

Я понимаю, что у профессиональных программистов мои вопросы вызовут улыбку BigGrin , ибо для них тут нет сложностей. Но я бьюсь над этим второй день и чего только не перепробовал, но увы и ах... Подозреваю, что собака порылась в закрытых полях и свойствам для их чтения. Подскажите, в чём моя ошибка? И скажите пожалуйста, как вставлять код в сообщение так, чтобы он выглядел как в окне редактора Visual Studio?

Теги:


Спасибо:




2 Ответов
Mikhail Sukhov

Фотография
Дата: 19.05.2012
Ответить


Доктор Сальватор Перейти
Я понимаю, что у профессиональных программистов мои вопросы вызовут улыбку BigGrin


Скорее усталость. Выделяйте код тегами. Старайтесь сделать свое сообщение привлекательным для ответов.
Спасибо:

Moadip

Фотография
Дата: 19.05.2012
Ответить


Вот как простой пример.

CS

XAML




А это насчет тегов

Спасибо: Sergey Masyura Alexander Доктор Сальватор


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy